:root{--bg: #0b0b13;--bg-elev: #15151f;--surface: #1d1d2b;--text: #f3f3fa;--text-dim: #a6a6c0;--accent: #6c5ce7;--accent-2: #00d2ff;--danger: #ff5c7c;--success: #2ee6a6;--radius: 16px;--shadow: 0 10px 30px rgba(0, 0, 0, .45);--grad: linear-gradient(135deg, var(--accent), var(--accent-2))}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#1a1a2e,var(--bg));color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.screen{min-height:100%;display:flex;flex-direction:column;gap:24px;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));max-width:560px;margin:0 auto}.brand{text-align:center;margin-top:8vh}.brand h1{font-size:clamp(2rem,9vw,3rem);margin:0;letter-spacing:-.02em}.brand-accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{color:var(--text-dim);margin-top:8px}.card{background:var(--surface);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h2{margin:0 0 12px;font-size:1.1rem}.status-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;color:var(--text-dim)}.status-list b{color:var(--text)}.hint{color:var(--text-dim);font-size:.85rem;margin-top:14px}.error{color:var(--danger)}button{font:inherit;cursor:pointer}.center-screen{justify-content:center;align-items:center;text-align:center}.row{display:flex;gap:10px;align-items:center}.row.center{justify-content:center}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.center{text-align:center}.grow{flex:1;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.12);background:var(--bg-elev);color:var(--text);border-radius:12px;padding:12px 16px;font-weight:600;text-decoration:none;transition:transform .06s ease,filter .15s ease,opacity .15s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;pointer-events:none}.btn--primary{background:var(--grad);border:none;color:#0b0b13}.btn--ghost{background:transparent}.btn--lg{padding:16px 20px;font-size:1.05rem;width:100%}.btn--sm{padding:8px 10px;font-size:.85rem}.btn--icon{padding:8px 10px}.home-actions{display:grid;gap:12px;margin-top:auto}.input,.select{width:100%;background:var(--bg-elev);border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:10px;padding:12px;font:inherit}.input--num{width:92px;text-align:center}.field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0}.field--row{justify-content:flex-start}.card h3{margin:0 0 10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid rgba(255,255,255,.14);background:var(--bg-elev);color:var(--text);border-radius:999px;padding:8px 14px}.chip--on{background:var(--grad);color:#0b0b13;border:none}.chip:disabled{opacity:.35}.pill{background:var(--surface);border-radius:999px;padding:6px 14px;font-weight:600}.pill--dim{color:var(--text-dim)}.tabs{display:flex;gap:6px;overflow-x:auto}.tab{flex:1;background:var(--bg-elev);color:var(--text-dim);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px}.tab--on{color:var(--text);border-color:var(--accent)}.list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.list-row{display:flex;align-items:center;gap:8px;background:var(--bg-elev);border-radius:10px;padding:10px}.flag{color:var(--danger);margin-left:6px}.handoff{display:grid;gap:16px;justify-items:center}.handoff-label{color:var(--text-dim);margin:0}.handoff-name{font-size:clamp(2rem,12vw,3.5rem);margin:0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.mystery{display:grid;gap:12px;justify-items:center;text-align:center}.mystery-disc{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-size:3rem;background:var(--grad);color:#0b0b13;box-shadow:var(--shadow);animation:spin 6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mystery-q{font-weight:600}.warn{color:#ffcf6c;font-size:.85rem}.tl-scroll{overflow-x:auto;padding:10px 2px}.tl-row{display:flex;align-items:stretch;gap:0;min-height:96px}.tl-pair{display:flex;align-items:stretch}.tl-card{min-width:110px;max-width:130px;background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;display:grid;align-content:start;gap:2px}.tl-card--ok{border-color:var(--success);box-shadow:0 0 0 2px #2ee6a666}.tl-card--bad{border-color:var(--danger)}.tl-year{font-size:1.4rem;font-weight:800}.tl-title{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-artist{font-size:.72rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-slot{align-self:center;width:40px;min-width:40px;height:64px;margin:0 2px;border:2px dashed rgba(255,255,255,.25);background:transparent;color:var(--text-dim);border-radius:10px;font-size:1.1rem}.tl-slot--active{border-color:var(--accent-2);color:var(--accent-2);background:#00d2ff1a}.tl-gap{width:8px}.reveal{display:grid;justify-items:center;gap:6px;text-align:center;padding:18px;border-radius:var(--radius);background:var(--surface)}.reveal--ok{box-shadow:inset 0 0 0 2px var(--success)}.reveal--bad{box-shadow:inset 0 0 0 2px var(--danger)}.reveal-badge{font-weight:800;font-size:1.3rem}.reveal--ok .reveal-badge{color:var(--success)}.reveal--bad .reveal-badge{color:var(--danger)}.reveal-cover{width:120px;height:120px;border-radius:12px;object-fit:cover}.reveal-year{font-size:2.4rem;font-weight:900}.reveal-title{font-weight:700}.reveal-artist,.reveal-result{color:var(--text-dim)}.scoreboard{display:grid;gap:8px}.score{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;align-items:center}.score-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-bar{height:8px;background:var(--bg-elev);border-radius:999px;overflow:hidden}.score-fill{display:block;height:100%;background:var(--grad)}.score-num{color:var(--text-dim);font-size:.85rem}.finish{display:grid;gap:16px;justify-items:center}.confetti{font-size:4rem}.standings{list-style:none;padding:0;margin:0;width:100%;display:grid;gap:6px}.standings li{display:flex;justify-content:space-between;background:var(--surface);border-radius:10px;padding:10px 14px}
