*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-hover: #222222;--border: #2a2a2a;--border-focus: #00ff41;--text-primary: #e0e0e0;--text-secondary: #888888;--text-dim: #555555;--accent: #00ff41;--accent-dim: #00cc33;--accent-glow: rgba(0, 255, 65, .15);--error: #ff4444;--error-dim: #cc3333;--warning: #ffaa00;--success: #00ff41;--info: #4488ff;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Code", "Source Code Pro", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .85rem;--font-size-base: .95rem;--font-size-lg: 1.15rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--radius: 4px;--radius-lg: 8px;--max-width: 900px;--transition: .15s ease}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-mono);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-dim);text-decoration:underline}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}.nav{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 1.5rem;position:sticky;top:0;z-index:100}.nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:56px}.nav-logo{font-size:var(--font-size-lg);font-weight:700;color:var(--accent);text-decoration:none;letter-spacing:-.5px}.nav-logo:hover{text-decoration:none;color:var(--accent)}.nav-logo span{color:var(--text-dim)}.nav-links{display:flex;gap:1.5rem;list-style:none}.nav-links a{color:var(--text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition);padding:.25rem 0}.nav-links a:hover,.nav-links a.active{color:var(--accent);text-decoration:none}.page-header{margin-bottom:2rem}.page-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.page-header p{color:var(--text-secondary);font-size:var(--font-size-sm)}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.card-header{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:.5rem}.form-group input{width:100%;padding:.65rem .85rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);transition:border-color var(--transition);outline:none}.form-group input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.form-group input::placeholder{color:var(--text-dim)}.form-group .field-hint{font-size:var(--font-size-xs);color:var(--text-dim);margin-top:.35rem}.form-group .field-error{font-size:var(--font-size-xs);color:var(--error);margin-top:.35rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--bg-primary)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{border-color:var(--text-secondary);background:var(--bg-hover)}.btn-danger{background:transparent;color:var(--error);border-color:var(--error-dim)}.btn-danger:hover{background:#ff44441a}.btn-full{width:100%}.alert{padding:.85rem 1rem;border-radius:var(--radius);font-size:var(--font-size-sm);margin-bottom:1rem;border:1px solid}.alert-success{background:#00ff4114;border-color:#00ff4140;color:var(--success)}.alert-error{background:#ff444414;border-color:#ff444440;color:var(--error)}.alert-warning{background:#ffaa0014;border-color:#ffaa0040;color:var(--warning)}.alert-info{background:#4488ff14;border-color:#4488ff40;color:var(--info)}.leaderboard-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.leaderboard-table th{text-align:left;padding:.65rem .85rem;color:var(--text-dim);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.leaderboard-table td{padding:.65rem .85rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tr:hover td{background:var(--bg-hover)}.leaderboard-table .rank-cell{width:60px;color:var(--text-dim);font-weight:600}.leaderboard-table .rank-cell.top-1{color:gold}.leaderboard-table .rank-cell.top-2{color:silver}.leaderboard-table .rank-cell.top-3{color:#cd7f32}.leaderboard-table .points-cell{width:100px;text-align:right;color:var(--accent);font-weight:600}.leaderboard-table .player-cell{word-break:break-word}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center}.stat-card .stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--accent);margin-bottom:.25rem}.stat-card .stat-label{font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.tier-breakdown{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.tier-breakdown th{text-align:left;padding:.5rem .75rem;color:var(--text-dim);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.tier-breakdown td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.tier-breakdown tr:last-child td{border-bottom:none}.tier-name{font-weight:600}.tier-1{color:#8c8}.tier-2{color:#8ad}.tier-3{color:#da4}.tier-4{color:#d74}.tier-5{color:#d48}.code-block{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;font-size:var(--font-size-sm);color:var(--accent);overflow-x:auto;word-break:break-all;position:relative;cursor:pointer;transition:border-color var(--transition)}.code-block:hover{border-color:var(--accent-dim)}.code-block .copy-hint{position:absolute;right:.5rem;top:.5rem;font-size:var(--font-size-xs);color:var(--text-dim);transition:color var(--transition)}.code-block:hover .copy-hint{color:var(--text-secondary)}.loading{text-align:center;padding:2rem;color:var(--text-dim);font-size:var(--font-size-sm)}.loading:after{content:"";animation:blink 1s step-end infinite}@keyframes blink{0%,to{content:"_"}50%{content:""}}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-dim);font-size:var(--font-size-sm)}.landing-hero{text-align:center;padding:3rem 0 2rem}.landing-hero h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--accent);margin-bottom:.75rem;letter-spacing:-1px}.landing-hero .subtitle{font-size:var(--font-size-base);color:var(--text-secondary);max-width:600px;margin:0 auto 2rem}.landing-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.how-it-works{margin-top:3rem}.how-it-works h2{font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:1.5rem}.steps{display:grid;gap:1rem}.step{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg)}.step-number{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-glow);border:1px solid var(--accent-dim);border-radius:var(--radius);color:var(--accent);font-weight:700;font-size:var(--font-size-sm)}.step-content h3{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:.25rem}.step-content p{font-size:var(--font-size-sm);color:var(--text-secondary)}.scoring-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);margin-top:.5rem}.scoring-table th,.scoring-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.scoring-table th{color:var(--text-dim);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.scoring-table tr:last-child td{border-bottom:none}.registration-success{max-width:600px}.registration-success .success-title{font-size:var(--font-size-lg);color:var(--accent);margin-bottom:1.5rem;font-weight:700}.credential-row{margin-bottom:1.25rem}.credential-row label{display:block;font-size:var(--font-size-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem}.refresh-indicator{font-size:var(--font-size-xs);color:var(--text-dim);text-align:right;margin-bottom:.5rem}.footer{border-top:1px solid var(--border);padding:1rem 1.5rem;text-align:center;font-size:var(--font-size-xs);color:var(--text-dim)}@media(max-width:640px){.nav-inner{flex-direction:column;height:auto;padding:.75rem 0;gap:.5rem}.nav-links{gap:1rem}.main-content{padding:1.25rem 1rem}.landing-hero h1{font-size:var(--font-size-2xl)}.stats-grid{grid-template-columns:repeat(2,1fr)}.leaderboard-table .player-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
