:root{--cc-bg: #0a0a12;--cc-surface: #12121f;--cc-surface-raised: #1a1a2e;--cc-text: #e8e8f0;--cc-text-muted: #9a9ab0;--cc-border: #2a2a44;--cc-neon-cyan: #00f0ff;--cc-neon-magenta: #ff00aa;--cc-neon-lime: #b8ff00;--cc-neon-yellow: #ffe600;--cc-error: #ff4466;--cc-faction-red: #ff3355;--cc-faction-orange: #ff8800;--cc-faction-yellow: #ffee00;--cc-faction-green: #33ff88;--cc-faction-blue: #3399ff;--cc-faction-purple: #cc66ff;--cc-radius-sm: 4px;--cc-radius-md: 8px;--cc-radius-lg: 12px;--cc-space-xs: .25rem;--cc-space-sm: .5rem;--cc-space-md: 1rem;--cc-space-lg: 1.5rem;--cc-space-xl: 2rem;--cc-font-display: Courier New, Courier, monospace;--cc-font-body: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--cc-shadow-neon: 0 0 12px rgba(0, 240, 255, .35);--cc-shadow-neon-strong: 0 0 20px rgba(0, 240, 255, .55)}.faction--red{--cc-faction-accent: var(--cc-faction-red)}.faction--orange{--cc-faction-accent: var(--cc-faction-orange)}.faction--yellow{--cc-faction-accent: var(--cc-faction-yellow)}.faction--green{--cc-faction-accent: var(--cc-faction-green)}.faction--blue{--cc-faction-accent: var(--cc-faction-blue)}.faction--purple{--cc-faction-accent: var(--cc-faction-purple)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--cc-bg);color:var(--cc-text);font-family:var(--cc-font-body);line-height:1.45}h1,h2,h3{font-family:var(--cc-font-display);letter-spacing:.04em;text-transform:uppercase}a{color:var(--cc-neon-cyan)}.cc-card{background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:var(--cc-radius-md);padding:var(--cc-space-md);border-left:3px solid var(--cc-faction-accent, var(--cc-neon-cyan));box-shadow:inset 3px 0 12px #00f0ff14}.cc-card.faction--red,.cc-card.faction--orange,.cc-card.faction--yellow,.cc-card.faction--green,.cc-card.faction--blue,.cc-card.faction--purple{box-shadow:var(--cc-shadow-neon)}.cc-btn,.cc-tabs button{min-height:44px;min-width:44px;padding:var(--cc-space-sm) var(--cc-space-md);border-radius:var(--cc-radius-sm);border:1px solid var(--cc-neon-cyan);background:transparent;color:var(--cc-neon-cyan);font-family:var(--cc-font-display);font-size:.85rem;cursor:pointer;text-transform:uppercase}.cc-btn:hover,.cc-tabs button:hover{box-shadow:var(--cc-shadow-neon)}.cc-btn.primary,.cc-tabs button.primary{background:#00f0ff1f}.cc-btn.active,.cc-tabs button.active{box-shadow:var(--cc-shadow-neon-strong);border-color:var(--cc-neon-lime);color:var(--cc-neon-lime)}.cc-tabs{display:flex;gap:var(--cc-space-sm);margin-bottom:var(--cc-space-md);flex-wrap:wrap}.cc-tabs button{flex:1}.cc-input{width:100%;min-height:44px;padding:var(--cc-space-sm) var(--cc-space-md);border-radius:var(--cc-radius-sm);border:1px solid var(--cc-border);background:var(--cc-surface-raised);color:var(--cc-text);font-size:1rem}.cc-input:focus{outline:none;border-color:var(--cc-neon-cyan);box-shadow:var(--cc-shadow-neon)}.cc-error{color:var(--cc-error)}.cc-page{max-width:480px;margin:0 auto;padding:var(--cc-space-md)}.cc-page-wide{max-width:960px;margin:0 auto;padding:var(--cc-space-md)}.cc-modal-backdrop{position:fixed;inset:0;z-index:1000;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:var(--cc-space-md)}.cc-modal-panel{width:min(100%,28rem);max-height:85vh;display:flex;flex-direction:column;background:var(--cc-surface-raised);border:1px solid var(--cc-neon-cyan);border-radius:var(--cc-radius-md);box-shadow:var(--cc-shadow-neon-strong)}.cc-modal-header{display:flex;justify-content:space-between;align-items:center;gap:var(--cc-space-sm);padding:var(--cc-space-md);border-bottom:1px solid var(--cc-border)}.cc-modal-header h2{margin:0;font-size:.95rem}.cc-modal-close{min-width:unset;padding:var(--cc-space-xs) var(--cc-space-sm)}.cc-modal-body{overflow-y:auto;padding:var(--cc-space-md);max-height:70vh}.station-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:var(--cc-space-sm)}.station-card-grid button{padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.leaderboard-expand{margin:var(--cc-space-sm) 0 var(--cc-space-lg)}
