@font-face{font-family:Orbitron;src:url(/fonts/orbitron-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Orbitron;src:url(/fonts/orbitron-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/exo2-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/exo2-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/exo2-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/exo2-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--font-display: "Orbitron", monospace;--font-body: "Exo 2", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--color-bg-deep: #060a07;--color-bg-mid: #0d1f15;--color-bg-high: #122d1f;--color-bg-elevated: #183d28;--color-border-subtle: rgba(34, 197, 94, .08);--color-border-default: rgba(34, 197, 94, .16);--color-border-strong: rgba(34, 197, 94, .32);--color-accent-50: #f0fdf4;--color-accent-100: #dcfce7;--color-accent-200: #bbf7d0;--color-accent-400: #4ade80;--color-accent-500: #22c55e;--color-accent-600: #16a34a;--color-accent-700: #166534;--color-accent-900: #14532d;--color-text-primary: #f0fdf4;--color-text-secondary: #bbf7d0;--color-text-tertiary: #86efac;--color-text-disabled: #4d7c5e;--color-danger-500: #ef4444;--color-danger-bg: rgba(239, 68, 68, .1);--color-warning-500: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-success-500: #22c55e;--color-success-bg: rgba(34, 197, 94, .1);--color-info-500: #3b82f6;--color-info-bg: rgba(59, 130, 246, .1);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(34, 197, 94, .06);--shadow: 0 2px 8px rgba(34, 197, 94, .08);--shadow-lg: 0 8px 24px rgba(34, 197, 94, .12);--shadow-xl: 0 16px 48px rgba(34, 197, 94, .16);--shadow-glow: 0 0 20px rgba(34, 197, 94, .2);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 1000;--z-toast: 2000;--z-tooltip: 3000;--z-overlay: 9000;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-micro: .1s;--duration-default: .2s;--duration-large: .4s;--duration-page: .6s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal;text-rendering:optimizeLegibility}body{height:100%;background:var(--color-bg-deep);color:var(--color-text-primary);font-family:var(--font-body);font-weight:300;font-size:var(--text-base);line-height:1.5;overflow:hidden}#app{width:100%;height:100%;position:relative}a{color:var(--color-accent-400);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit}img,svg{display:block;max-width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}::selection{background:#22c55e4d;color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px;box-shadow:0 0 0 4px #22c55e26}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}@keyframes ripple{to{transform:scale(4);opacity:0}}@keyframes progress-bar{0%{width:100%}to{width:0%}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.anim-fade-in{animation:fade-in var(--duration-default) var(--ease) both}.anim-slide-up{animation:slide-up var(--duration-default) var(--ease) both}.anim-scale-in{animation:scale-in var(--duration-default) var(--ease) both}.anim-shake{animation:shake .32s var(--ease)}.anim-pulse{animation:pulse-subtle 2s ease-in-out infinite}.stagger>*{opacity:0;animation:slide-up var(--duration-default) var(--ease) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:50ms}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.15s}.stagger>*:nth-child(5){animation-delay:.2s}.stagger>*:nth-child(6){animation-delay:.25s}.skeleton{background:linear-gradient(90deg,var(--color-bg-mid) 25%,var(--color-bg-high) 50%,var(--color-bg-mid) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}
