:root{--base-blue: #0052FF;--base-blue-dark: #0040CC;--base-blue-glow: rgba(0, 82, 255, .4);--bg-primary: #0A0A0B;--bg-secondary: #111113;--bg-tertiary: #18181B;--bg-elevated: #1F1F23;--text-primary: #FAFAFA;--text-secondary: #A1A1AA;--text-muted: #52525B;--pixel-green: #22C55E;--pixel-red: #EF4444;--pixel-yellow: #FACC15;--pixel-purple: #A855F7;--grid-line: rgba(255, 255, 255, .03);--grid-dot: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .06);--border-visible: rgba(255, 255, 255, .12);--font-display: "Silkscreen", cursive;--font-mono: "JetBrains Mono", monospace;--nav-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-mono);font-weight:400;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,var(--grid-dot) 1px,transparent 0);background-size:24px 24px;pointer-events:none;z-index:-1}body:after{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 50% 0%,var(--base-blue-glow) 0%,transparent 50%);opacity:.3;pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-visible);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--base-blue);color:#fff}.pixel-text{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase}.mono{font-family:var(--font-mono)}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px var(--base-blue-glow)}50%{box-shadow:0 0 40px var(--base-blue-glow),0 0 60px var(--base-blue-glow)}}@keyframes pixel-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}
