:root{--portal-fg:#1c1c1f;--portal-fg-soft:rgba(28,28,31,.62);--portal-fg-mute:rgba(28,28,31,.42);--portal-fg-faint:rgba(28,28,31,.22);--portal-bg:#f8f7fb;--portal-card:hsla(0,0%,100%,.78);--portal-card-border:rgba(28,28,31,.06);--portal-card-shadow:0 1px 0 hsla(0,0%,100%,.6) inset,0 1px 1px rgba(28,28,31,.025),0 10px 30px -22px rgba(28,28,31,.12);--portal-accent:#7c3aed;--portal-accent-soft:rgba(124,58,237,.1);--portal-accent-tint:rgba(124,58,237,.2)}.portal-shell{min-height:100vh;position:relative;color:var(--portal-fg);background-color:var(--portal-bg);overflow-x:hidden}.portal-shell:before{content:"";position:fixed;inset:-10% -10% -10% -10%;background:radial-gradient(800px 500px at 8% -10%,rgba(167,139,250,.32),transparent 55%),radial-gradient(700px 500px at 100% 0,rgba(56,189,248,.18),transparent 55%),radial-gradient(900px 600px at 50% 110%,rgba(251,207,232,.22),transparent 55%);filter:blur(20px);z-index:-2;animation:portalFloat 22s ease-in-out infinite alternate}.portal-shell:after{content:"";position:fixed;inset:0;background:radial-gradient(1200px 1200px at 50% 50%,transparent,rgba(248,247,251,.65));z-index:-1;pointer-events:none}@keyframes portalFloat{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-1%,0) scale(1.02)}to{transform:translate3d(-1%,2%,0) scale(1)}}.portal-shell-grain:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");pointer-events:none;mix-blend-mode:overlay;opacity:.5;z-index:-1}.portal-card{background:var(--portal-card);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border:1px solid var(--portal-card-border);border-radius:18px;box-shadow:var(--portal-card-shadow);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}.portal-card--accent{background:linear-gradient(140deg,rgba(167,139,250,.16),rgba(167,139,250,0) 60%),hsla(0,0%,100%,.82);border-color:rgba(124,58,237,.18)}.portal-card--interactive{cursor:pointer}.portal-card--interactive:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 1px 1px rgba(28,28,31,.025),0 14px 36px -20px rgba(28,28,31,.18)}.portal-card--tight{border-radius:14px}.portal-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#25252a,#18181b);color:#fff;border-radius:10px;font-weight:500;font-size:14px;padding:10px 18px;border:1px solid rgba(0,0,0,.4);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 6px 14px -8px rgba(28,28,31,.4);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.portal-btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 10px 20px -10px rgba(28,28,31,.5)}.portal-btn-primary:active{transform:translateY(0)}.portal-btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.portal-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:rgba(28,28,31,.04);color:rgba(28,28,31,.78);border-radius:10px;font-weight:500;font-size:13px;padding:8px 14px;border:1px solid rgba(28,28,31,.06);transition:background .15s ease,color .15s ease,border-color .15s ease}.portal-btn-secondary:hover{background:rgba(28,28,31,.06);color:rgba(28,28,31,.92);border-color:rgba(28,28,31,.1)}.portal-btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,#8b5cf6,#7c3aed);color:#fff;border-radius:10px;font-weight:500;font-size:13px;padding:8px 14px;border:1px solid rgba(85,35,191,.5);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 8px 18px -10px rgba(124,58,237,.6);transition:transform .15s ease,box-shadow .15s ease}.portal-btn-accent:hover{transform:translateY(-1px)}.portal-link-subtle{color:var(--portal-fg-soft);text-decoration:underline;text-decoration-color:rgba(28,28,31,.18);text-underline-offset:3px;transition:color .12s ease,text-decoration-color .12s ease}.portal-link-subtle:hover{color:var(--portal-fg);text-decoration-color:rgba(28,28,31,.55)}.portal-topbar{position:sticky;top:0;z-index:30;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);background:linear-gradient(180deg,rgba(248,247,251,.82),rgba(248,247,251,.55));border-bottom:1px solid rgba(28,28,31,.06)}.portal-input{width:100%;height:46px;padding:0 14px;border-radius:12px;border:1px solid rgba(28,28,31,.1);background:hsla(0,0%,100%,.9);font-size:14.5px;color:var(--portal-fg);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease;outline:none}.portal-input::placeholder{color:rgba(28,28,31,.32)}.portal-input:focus{border-color:rgba(124,58,237,.45);background:#fff;box-shadow:0 0 0 4px rgba(124,58,237,.12)}.portal-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;line-height:1.4;border:1px solid transparent}.portal-chip--emerald{background:rgba(16,185,129,.12);color:#036b51;border-color:rgba(16,185,129,.18)}.portal-chip--sky{background:rgba(56,189,248,.14);color:#075985;border-color:rgba(56,189,248,.22)}.portal-chip--amber{background:rgba(245,158,11,.14);color:#92400e;border-color:rgba(245,158,11,.22)}.portal-chip--rose{background:rgba(244,63,94,.12);color:#9f1239;border-color:rgba(244,63,94,.18)}.portal-chip--violet{background:rgba(124,58,237,.12);color:#5b21b6;border-color:rgba(124,58,237,.2)}.portal-chip--slate{background:rgba(28,28,31,.06);color:rgba(28,28,31,.65);border-color:rgba(28,28,31,.08)}@keyframes portalFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portal-fade-up{animation:portalFadeUp .6s cubic-bezier(.2,.8,.2,1) both}.portal-fade-up-d1{animation-delay:60ms}.portal-fade-up-d2{animation-delay:.14s}.portal-fade-up-d3{animation-delay:.22s}.portal-fade-up-d4{animation-delay:.32s}.portal-divider{height:1px;background:repeating-linear-gradient(90deg,rgba(28,28,31,.1) 0,rgba(28,28,31,.1) 2px,transparent 0,transparent 6px)}