:root{color-scheme:dark;--bg0:#070a12;--bg1:#0b1020;--card:hsla(0,0%,100%,.06);--card2:hsla(0,0%,100%,.08);--stroke:hsla(0,0%,100%,.12);--text:hsla(0,0%,100%,.92);--muted:hsla(0,0%,100%,.66);--muted2:hsla(0,0%,100%,.52);--accent:#7c5cff;--accent2:#2ee6a6;--danger:#ff4d6d;--warning:#ffb84d;--shadow:0 20px 60px rgba(0,0,0,.55);--radius:12px;--radius-sm:8px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--ease-fast:0.15s ease;--ease-med:0.25s ease;--focus-ring:0 0 0 2px var(--accent)}*{box-sizing:border-box}body,html{padding:0;margin:0;height:100%;background:radial-gradient(1200px 600px at 20% 0,rgba(124,92,255,.25),transparent 50%),radial-gradient(900px 500px at 80% 10%,rgba(46,230,166,.18),transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1));color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}a{color:inherit;text-decoration:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}::selection{background:rgba(124,92,255,.35)}.toast-container{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:360px}.toast{padding:12px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:#fff;pointer-events:auto;animation:toastIn .25s ease-out,toastOut .3s ease-in 3.2s;box-shadow:0 8px 24px rgba(0,0,0,.4)}.toast-success{background:#1a7a4c;border:1px solid var(--accent2)}.toast-error{background:#7a1a2e;border:1px solid var(--danger)}.toast-info{background:#1a2e7a;border:1px solid var(--accent)}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:no-preference){.page-enter{animation:fadeIn .2s ease-out}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}