:root{--bg-void: #05070d;--bg-panel: rgba(16, 22, 43, .6);--bg-panel-raised: #131b34;--border-dim: #1d2740;--border-glow: rgba(61, 169, 252, .35);--neon-blue: #3da9fc;--neon-cyan: #4cf3d6;--neon-violet: #8b5cf6;--lock-pink: #ff5c7a;--gold: #f5c542;--text-primary: #eef1ff;--text-dim: #8590bd;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-void);background-image:radial-gradient(circle at 15% -10%,rgba(61,169,252,.14),transparent 40%),radial-gradient(circle at 90% 10%,rgba(139,92,246,.12),transparent 38%),radial-gradient(circle at 50% 100%,rgba(76,243,214,.06),transparent 45%);background-attachment:fixed;background-size:200% 200%;animation:bgDrift 30s ease-in-out infinite;color:var(--text-primary);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}@keyframes bgDrift{0%,to{background-position:0% 0%}50%{background-position:15% 10%}}h1,h2,h3,h4,.display{font-family:var(--font-display);letter-spacing:-.01em;margin:0}.mono{font-family:var(--font-mono)}a{color:var(--neon-blue);text-decoration:none;transition:color .2s var(--ease)}a:hover{color:var(--neon-cyan)}button{font-family:var(--font-body);cursor:pointer}.container{max-width:1080px;margin:0 auto;padding:0 24px}.panel{background:var(--bg-panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-dim);border-radius:16px;transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease)}.panel-interactive:hover{border-color:var(--border-glow);box-shadow:0 0 32px #3da9fc24;transform:translateY(-3px) scale(1.005)}.btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:14px;overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.btn-primary{background:linear-gradient(135deg,var(--neon-blue),var(--neon-violet));color:#05070d}.btn-primary:hover{box-shadow:0 0 34px #3da9fc8c,0 0 70px #8b5cf638;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-lg{padding:15px 30px;font-size:16px;border-radius:12px}.btn-ghost{background:#ffffff05;border-color:var(--border-dim);color:var(--text-primary)}.btn-ghost:hover{border-color:var(--neon-blue);background:#3da9fc0f}.btn-selected{border-color:var(--neon-cyan)!important;box-shadow:0 0 0 1px var(--neon-cyan) inset,0 0 20px #4cf3d640}.btn:disabled{opacity:.5;cursor:default;transform:none!important;box-shadow:none!important}.input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border-dim);background:var(--bg-panel-raised);color:var(--text-primary);font-size:14px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.input:focus{outline:none;border-color:var(--neon-blue);box-shadow:0 0 0 3px #3da9fc26}.input:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:2px}.text-dim{color:var(--text-dim)}.page-fade{animation:pageFadeIn .55s var(--ease) both}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.stagger>*{animation:staggerIn .5s var(--ease) both}.stagger>*:nth-child(1){animation-delay:.05s}.stagger>*:nth-child(2){animation-delay:.12s}.stagger>*:nth-child(3){animation-delay:.19s}.stagger>*:nth-child(4){animation-delay:.26s}.stagger>*:nth-child(5){animation-delay:.33s}@keyframes staggerIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.glow-pulse{animation:glowPulse 4s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.55}50%{opacity:1}}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.16),transparent);transform:skew(-20deg);transition:left .6s var(--ease)}.shimmer:hover:after{left:150%}.skeleton{background:linear-gradient(90deg,var(--bg-panel-raised) 25%,rgba(255,255,255,.06) 37%,var(--bg-panel-raised) 63%);background-size:400% 100%;animation:skeletonWave 1.4s ease infinite;border-radius:10px}@keyframes skeletonWave{0%{background-position:100% 50%}to{background-position:0 50%}}.orb{position:absolute;border-radius:50%;filter:blur(60px);animation:orbFloat 12s ease-in-out infinite;pointer-events:none}@keyframes orbFloat{0%,to{transform:translate(0)}50%{transform:translate(20px,-30px)}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
