*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--cream:#f5ecd7;--red:#c41e3a;--surface:#f5ecd70a;--surface-hover:#f5ecd714;--border:#f5ecd71f;--border-strong:#f5ecd733;--border-red:#c41e3a66;--text-muted:#f5ecd766;--text-dim:#f5ecd799;--font-serif:"Playfair Display", Georgia, serif;--font-mono:"DM Mono", "Courier New", monospace}html{background:var(--bg);color:var(--cream);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;max-width:100vw;font-size:14px;line-height:1.6;overflow-x:hidden}body{background:var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:var(--font-mono);cursor:pointer}input,textarea{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.page-container{max-width:480px;margin:0 auto;padding:0 20px}.page-container--wide{max-width:960px;margin:0 auto;padding:0 24px}.nav{border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.nav-logo{font-family:var(--font-serif);letter-spacing:.08em;color:var(--cream);opacity:.7;text-transform:uppercase;font-size:13px}.phase-badge{letter-spacing:.12em;text-transform:uppercase;color:var(--red);border:.5px solid var(--red);border-radius:2px;padding:3px 10px;font-size:10px}.btn-primary{background:var(--red);width:100%;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cream);cursor:pointer;text-align:center;border:none;border-radius:4px;padding:14px;font-size:11px;transition:opacity .2s;display:block}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{border:.5px solid var(--cream);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cream);cursor:pointer;text-align:center;background:0 0;border-radius:4px;padding:10px 20px;font-size:11px;transition:background .2s;display:inline-block}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-secondary:disabled{opacity:.35;cursor:not-allowed}.btn-danger{border:.5px solid var(--red);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red);cursor:pointer;background:0 0;border-radius:4px;padding:10px 20px;font-size:11px;transition:background .2s;display:inline-block}.btn-danger:hover:not(:disabled){background:#c41e3a1a}.btn-danger:disabled{opacity:.35;cursor:not-allowed}.input{background:var(--surface);border:.5px solid var(--border-strong);width:100%;font-family:var(--font-mono);color:var(--cream);letter-spacing:.06em;border-radius:4px;outline:none;padding:12px 14px;font-size:14px;transition:border-color .2s}.input:focus{border-color:#f5ecd766}.input::placeholder{color:var(--text-muted)}.input-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:10px;display:block}.input-group{margin-bottom:20px}.card{background:var(--surface);border:.5px solid var(--border);border-radius:6px;padding:20px;transition:background .2s}.code-pill{border:.5px solid var(--border-red);letter-spacing:.1em;color:var(--red);background:#c41e3a26;border-radius:3px;padding:2px 8px;font-size:12px;display:inline-block}.countdown-strip{background:#c41e3a14;border:.5px solid #c41e3a4d;border-radius:4px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.countdown-value{color:var(--red);letter-spacing:.08em;font-size:13px}.error-message{color:#e87070;letter-spacing:.02em;background:#c41e3a14;border:.5px solid #c41e3a4d;border-radius:4px;padding:10px 14px;font-size:12px}.success-message{color:var(--cream);background:#f5ecd70a;border:.5px solid #f5ecd733;border-radius:4px;padding:10px 14px;font-size:12px}.modal-overlay{z-index:1000;background:#0a0a0ae0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{border:.5px solid var(--border-strong);background:#111;border-radius:6px;width:100%;max-width:420px;padding:28px 24px}.modal h3{font-family:var(--font-serif);margin-bottom:12px;font-size:20px}.modal p{color:var(--text-dim);margin-bottom:24px;font-size:13px;line-height:1.6}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.duel-row{align-items:stretch;gap:0;display:flex}.duel-card{background:var(--surface);border:.5px solid var(--border);text-align:center;cursor:pointer;border-radius:6px;flex:1;padding:24px 16px;transition:all .2s;position:relative}.duel-card:hover{background:var(--surface-hover);border-color:var(--border-strong)}.duel-card.voted{border-color:var(--red);background:#c41e3a1a}.duel-card-name{font-family:var(--font-serif);color:var(--cream);margin-bottom:6px;font-size:17px;line-height:1.3}.duel-card-desc{color:var(--text-muted);font-size:11px;line-height:1.5}.voted-badge{color:var(--red);border:.5px solid var(--border-red);letter-spacing:.06em;border-radius:2px;padding:1px 5px;font-size:9px;position:absolute;top:10px;right:10px}.duel-vs{font-family:var(--font-serif);color:#f5ecd733;flex-shrink:0;align-items:center;padding:0 12px;font-size:18px;font-style:italic;display:flex}.bracket-slot{background:var(--surface);border:.5px solid var(--border);color:var(--text-dim);border-radius:3px;padding:8px 10px;font-size:11px}.bracket-slot.active-slot{border-color:var(--border-strong);color:var(--cream);background:#f5ecd712}.bracket-slot.winner-slot{border-color:var(--red);color:var(--cream);background:#c41e3a1a}.bracket-slot.tbd{color:#f5ecd733;border-style:dashed;font-style:italic}.admin-stat{background:var(--surface);border:.5px solid #f5ecd71a;border-radius:6px;padding:14px 16px}.admin-stat-value{font-family:var(--font-serif);color:var(--cream);font-size:28px;line-height:1.2}.admin-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:10px}.status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.dot-pending{background:#f5ecd733}.dot-active{background:var(--red)}.dot-done{background:#f5ecd780}.divider{background:var(--border);height:.5px;margin:24px 0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}@media (max-width:420px){.duel-row{flex-direction:column}.duel-vs{justify-content:center;padding:6px 0}.duel-card{padding:18px 14px}}::-webkit-scrollbar-thumb{background:#f5ecd726;border-radius:2px}
