*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #060b14;--surface-1: #0b1220;--surface-2: #111b2e;--surface-3: #1a2740;--border: #253550;--border-hover: #3a4f6a;--text: #e4edf6;--text-2: #9db0c5;--text-3: #6b83a0;--accent: #0bbda4;--accent-hover: #0fd4b8;--accent-dim: rgba(11, 189, 164, .12);--accent-rim: rgba(11, 189, 164, .22);--gold: #d9a030;--gold-dim: rgba(217, 160, 48, .12);--success: #2ec77a;--error: #e05252;--font-brand: "Orbitron", monospace;--font-ui: "Plus Jakarta Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-default: cubic-bezier(.16, 1, .3, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-fast: .12s;--duration-default: .22s;--duration-enter: .38s;--duration-exit: .2s;--duration-page: .48s;--muted: #9db0c5;--surface: #0b1220}[data-theme=light]{--bg: #f2f7fc;--surface-1: #ffffff;--surface-2: #e4eef8;--surface-3: #d4e6f0;--border: #b4ccde;--border-hover: #7aaac4;--text: #0d1b2c;--text-2: #2c4968;--text-3: #587898;--accent: #0bbda4;--accent-hover: #0fd4b8;--accent-dim: rgba(11, 189, 164, .1);--accent-rim: rgba(11, 189, 164, .25);--gold: #9e6e10;--gold-dim: rgba(158, 110, 16, .12);--success: #1a8a4e;--error: #c03030;--muted: #587898;--surface: #ffffff}[data-theme=light] .glass{background:#f2f7fcd1}html,body,#root{height:100%;width:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.page-no-scroll{overflow:hidden;height:100%}.page-transition-curtain{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:9999;transform:scaleY(0);transform-origin:bottom center;pointer-events:none;will-change:transform}.page-suspense-fallback{width:100vw;height:100vh;background:var(--bg)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.page-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);animation:fadeIn .2s ease both}.page-transition-video{width:100%;height:100%;object-fit:cover}
