.portal-shell{--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-input-bg:hsla(0,0%,100%,.9);--portal-input-border:rgba(28,28,31,.1);--portal-topbar-bg:linear-gradient(180deg,rgba(248,247,251,.82),rgba(248,247,251,.55));--portal-topbar-border:rgba(28,28,31,.06);--portal-divider:rgba(28,28,31,.1);--portal-accent:#7c3aed;--portal-accent-soft:rgba(124,58,237,.1);--portal-accent-tint:rgba(124,58,237,.2)}.dark.portal-shell,.portal-shell.dark{--portal-fg:#f4f4f7;--portal-fg-soft:rgba(244,244,247,.72);--portal-fg-mute:rgba(244,244,247,.5);--portal-fg-faint:rgba(244,244,247,.28);--portal-bg:#0c0c10;--portal-card:rgba(28,28,35,.72);--portal-card-border:hsla(0,0%,100%,.08);--portal-card-shadow:0 1px 0 hsla(0,0%,100%,.06) inset,0 1px 1px rgba(0,0,0,.3),0 12px 32px -16px rgba(0,0,0,.6);--portal-input-bg:hsla(0,0%,100%,.05);--portal-input-border:hsla(0,0%,100%,.1);--portal-topbar-bg:linear-gradient(180deg,rgba(12,12,16,.86),rgba(12,12,16,.55));--portal-topbar-border:hsla(0,0%,100%,.06);--portal-divider:hsla(0,0%,100%,.1);--portal-accent:#a78bfa;--portal-accent-soft:rgba(167,139,250,.12);--portal-accent-tint:rgba(167,139,250,.24)}html[data-portal-resolved=dark] body{background-color:#0c0c10;color:#f4f4f7}html[data-portal-resolved=light] body{background-color:#f8f7fb;color:#1c1c1f}.portal-shell{min-height:100vh;position:relative;color:var(--portal-fg);background-color:var(--portal-bg);overflow-x:hidden;transition:background-color .2s ease,color .2s ease}.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}.dark.portal-shell:before,.portal-shell.dark:before{background:radial-gradient(800px 500px at 8% -10%,rgba(124,58,237,.38),transparent 55%),radial-gradient(700px 500px at 100% 0,rgba(14,165,233,.22),transparent 55%),radial-gradient(900px 600px at 50% 110%,rgba(217,70,239,.18),transparent 55%);filter:blur(28px)}.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}.dark.portal-shell:after,.portal-shell.dark:after{background:radial-gradient(1200px 1200px at 50% 50%,transparent,rgba(12,12,16,.78))}@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,background-color .2s ease,border-color .2s 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)}.dark .portal-card--accent,.portal-shell.dark .portal-card--accent{background:linear-gradient(140deg,rgba(167,139,250,.22),rgba(167,139,250,0) 60%),rgba(38,30,56,.74);border-color:rgba(167,139,250,.3)}.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)}.dark .portal-card--interactive:hover,.portal-shell.dark .portal-card--interactive:hover{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 1px 1px rgba(0,0,0,.4),0 18px 40px -18px rgba(0,0,0,.7)}.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)}.dark .portal-btn-secondary,.portal-shell.dark .portal-btn-secondary{background:hsla(0,0%,100%,.06);color:rgba(244,244,247,.85);border-color:hsla(0,0%,100%,.08)}.dark .portal-btn-secondary:hover,.portal-shell.dark .portal-btn-secondary:hover{background:hsla(0,0%,100%,.1);color:rgba(244,244,247,.96);border-color:hsla(0,0%,100%,.14)}.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:var(--portal-fg-faint);text-underline-offset:3px;transition:color .12s ease,text-decoration-color .12s ease}.portal-link-subtle:hover{color:var(--portal-fg);text-decoration-color:var(--portal-fg-soft)}.portal-topbar{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);background:var(--portal-topbar-bg);border-bottom:1px solid var(--portal-topbar-border);transition:background .2s ease,border-color .2s ease}.portal-input{width:100%;height:46px;padding-top:0;padding-bottom:0;border-radius:12px;border:1px solid var(--portal-input-border);background:var(--portal-input-bg);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:var(--portal-fg-faint)}.portal-input:focus{border-color:rgba(124,58,237,.45);box-shadow:0 0 0 4px rgba(124,58,237,.12)}.dark .portal-input:focus,.portal-shell.dark .portal-input:focus{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 4px rgba(167,139,250,.14)}.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)}.dark .portal-chip--emerald,.portal-shell.dark .portal-chip--emerald{background:rgba(16,185,129,.18);color:#6ee7b7;border-color:rgba(16,185,129,.32)}.dark .portal-chip--sky,.portal-shell.dark .portal-chip--sky{background:rgba(56,189,248,.18);color:#7dd3fc;border-color:rgba(56,189,248,.32)}.dark .portal-chip--amber,.portal-shell.dark .portal-chip--amber{background:rgba(245,158,11,.2);color:#fcd34d;border-color:rgba(245,158,11,.32)}.dark .portal-chip--rose,.portal-shell.dark .portal-chip--rose{background:rgba(244,63,94,.18);color:#fda4af;border-color:rgba(244,63,94,.32)}.dark .portal-chip--violet,.portal-shell.dark .portal-chip--violet{background:rgba(167,139,250,.2);color:#ddd6fe;border-color:rgba(167,139,250,.34)}.dark .portal-chip--slate,.portal-shell.dark .portal-chip--slate{background:hsla(0,0%,100%,.06);color:rgba(244,244,247,.65);border-color:hsla(0,0%,100%,.1)}@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(to right,var(--portal-divider) 0,var(--portal-divider) 2px,transparent 2px,transparent 6px)}