:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#07090f;color:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 12%,rgba(0,221,255,.13),transparent 28%),radial-gradient(circle at 88% 20%,rgba(247,74,138,.16),transparent 24%),linear-gradient(135deg,#07090f,#10131c 46%,#07090f)}button,input{font:inherit}button{border:0}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 12px}.topbar{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end;margin-bottom:24px}.eyebrow{margin:0 0 8px;color:#58e6ff;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;max-width:720px;font-size:clamp(2.1rem,5vw,5.1rem);line-height:.95;letter-spacing:0}h2{margin:0;font-size:4rem;line-height:1}.status-grid,.breakdown{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px}.status-grid{grid-template-columns:repeat(3,minmax(92px,1fr)) auto}.stat{min-width:92px;padding:12px 16px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.stat span,.guess-form span,.result-row span,.score-row span{display:block;color:#8f9aaa;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.score-row .score-meta{display:grid;gap:2px;justify-content:left;text-align:left}.field-answer{font-size:.85em;line-height:.85rem;padding:0}.field-answer.correct{color:green}.field-answer.incorrect{color:red}.round-score{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0e;border-radius:8px}.round-score span{font-size:.85em;opacity:.6}.round-score strong{font-size:1.4em;font-weight:700;color:#58e6ff}.stat strong{display:block;margin-top:6px;font-size:1.35rem}.settings-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:100%;padding:0 15px;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:#d8e0ea;background:#ffffff0e;font-weight:850;cursor:pointer}.settings-button:hover,.settings-button[aria-expanded=true]{border-color:#58e6ff61;color:#f4f7fb;background:#58e6ff1a}.game-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(360px,1.1fr);gap:18px;align-items:start}.challenge-banner{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:12px 14px;border:1px solid rgba(247,74,138,.18);border-radius:8px;background:#f74a8a11}.challenge-banner strong{color:#ffc6d7}.challenge-banner span,.challenge-result{color:#9aa8ba}.install-toast{position:fixed;right:18px;bottom:18px;z-index:20;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;width:min(420px,calc(100vw - 28px));padding:8 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#090c13eb;box-shadow:0 22px 60px #0000005c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.install-toast .toast-header{padding:16px}.install-toast .section-title{margin-bottom:2px;color:#f4f7fbc7;font-size:.88rem}.install-toast p{margin:0;color:#8f9aaa;font-size:.84rem}.install-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 12px;border-radius:8px;color:#dff8ff;background:#58e6ff1f;border:1px solid rgba(88,230,255,.28);font-size:.86rem;font-weight:800;cursor:pointer}.toast-dismiss{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#9aa8ba;background:#ffffff0e;cursor:pointer;margin-right:16px}.toast-dismiss:hover{color:#f4f7fb;background:#ffffff1a}.settings-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#03050aa8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-panel{position:relative;display:grid;gap:16px;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#090c13f0;box-shadow:0 30px 90px #0000007a;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.settings-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#9aa8ba;background:#ffffff0e;cursor:pointer}.settings-close:hover{color:#f4f7fb;background:#ffffff1a}.settings-header{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.settings-header .section-title{margin-bottom:4px}.settings-header p,.settings-note{margin:0;color:#9aa8ba}.settings-header strong{width:fit-content;padding:8px 12px;border-radius:8px;color:#58e6ff;background:#58e6ff17;white-space:nowrap}.year-controls{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:12px}.year-controls label{display:grid;gap:8px}.year-controls span{color:#8f9aaa;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.year-controls input{width:100%;min-height:46px;padding:0 12px;border:1px solid rgba(255,255,255,.11);border-radius:8px;outline:none;color:#f4f7fb;background:#ffffff0e}.year-controls input:focus{border-color:#58e6ffb8;box-shadow:0 0 0 3px #58e6ff1a}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset-row button{min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.09);border-radius:8px;color:#d8e0ea;background:#ffffff0e;font-weight:800;cursor:pointer}.preset-row button:hover:not(:disabled){border-color:#f74a8a66;background:#f74a8a1a}.preset-row button:disabled,.year-controls input:disabled{cursor:not-allowed;opacity:.48}.settings-note.warning{color:#ffc6d7}.settings-install{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(88,230,255,.16);border-radius:8px;background:#58e6ff0e}.settings-install div{display:grid;gap:3px}.settings-install strong{color:#f4f7fbdb}.settings-install span{color:#9aa8ba;font-size:.88rem}.player-panel,.guess-panel{min-height:420px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#090c13c7;box-shadow:0 24px 80px #00000061;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.player-panel{position:sticky;top:22px;display:grid;align-content:center;gap:24px;overflow:hidden;padding:34px}.player-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(88,230,255,.12),transparent 38%,rgba(247,74,138,.12))}.record-wrap{position:relative;display:grid;place-items:center;width:min(52vw,220px);aspect-ratio:1;margin:0 auto}.record,.pulse-ring{position:absolute;border-radius:50%}.record{display:grid;place-items:center;width:74%;height:74%;color:#f4f7fb;background:repeating-radial-gradient(circle,#141924 0 6px,#0b0f17 7px 11px),#10131c;box-shadow:inset 0 0 0 2px #ffffff14,0 12px 28px #00000059}.record.spinning{animation:spin 3.6s linear infinite}.pulse-ring{width:100%;height:100%;border:1px solid rgba(88,230,255,.35);animation:breathe 2.8s ease-in-out infinite}.waveform{position:relative;z-index:1;display:grid;grid-template-columns:repeat(34,1fr);align-items:center;gap:5px;height:30px}.waveform span{display:block;height:20px;border-radius:4px;background:linear-gradient(180deg,#58e6ff,#f74a8a);opacity:.76;animation:wave 1.1s ease-in-out infinite alternate}.track-mask{position:relative;z-index:1}.track-mask p{margin-bottom:12px;color:#d8e0ea;font-weight:800}.progress-rail{height:8px;overflow:hidden;border-radius:999px;background:#ffffff14}.progress-rail span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#58e6ff,#f74a8a);transition:width .16s ease}.error-text{position:relative;z-index:1;margin:0;color:#ffc6d7;font-size:.92rem}.controls{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.primary,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:8px;color:#061018;background:linear-gradient(135deg,#58e6ff,#f4f7fb);font-weight:900;cursor:pointer;box-shadow:0 14px 38px #58e6ff2e}.primary{padding:0 18px}.primary.wide{width:100%}.primary:disabled{cursor:not-allowed;opacity:.45}.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 14px;border:1px solid rgba(88,230,255,.24);border-radius:8px;color:#dff8ff;background:#58e6ff17;font-weight:850;cursor:pointer}.icon-button{width:46px;color:#f4f7fb;background:#ffffff14;box-shadow:none}.volume-control{display:inline-flex;flex:1 1 160px;align-items:center;gap:8px;min-width:160px;color:#cfd8e5}.volume-control input{width:100%;accent-color:#58e6ff}.guess-panel{padding:26px}.guess-form{display:grid;gap:16px}.guess-form label{display:grid;gap:9px}.guess-form input{width:100%;min-height:54px;padding:0 16px;border:1px solid rgba(255,255,255,.11);border-radius:8px;outline:none;color:#f4f7fb;background:#ffffff0e}.guess-form input:focus{border-color:#58e6ffcc;box-shadow:0 0 0 3px #58e6ff1f}.reveal-panel,.leaderboard,.end-screen{margin-top:22px}.reveal-panel{display:grid;gap:8px}.reveal-score{display:grid;place-items:center;width:64px;height:64px;margin-bottom:4px;border-radius:50%;color:#061018;background:#58e6ff;font-size:1.55rem;font-weight:950}.result-row,.score-row{display:grid;grid-template-columns:88px 98px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0b}.result-row.correct strong{color:#70f3aa}.result-row.wrong strong{color:#ff7c9d}.result-row em,.score-row em{color:#d8e0ea;font-style:normal}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#f4f7fb;font-weight:900}.score-rows{display:grid;gap:8px}.score-row{grid-template-columns:52px 92px 1fr auto}.score-row small,.leaderboard-range{color:#9aa8baad;font-size:.72rem}.leaderboard-range{margin:-6px 0 12px}.muted{color:#9aa8ba}.end-screen{display:grid;gap:18px}.challenge-result{margin:-8px 0 0}.end-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.end-actions span{color:#9aa8ba;font-size:.9rem}.report-song-wrap{position:relative}.report-song-trigger{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;color:#9aa8ba;font-size:.78rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:color .15s}.report-song-trigger:hover,.report-song-trigger[aria-expanded=true]{color:#f74a8a}.report-song-popover{position:absolute;bottom:calc(100% + 8px);left:0;z-index:40;width:min(260px,100%);padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#090c13f7;box-shadow:0 16px 48px #00000080;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.report-song-popover .report-song-heading{margin:0 0 10px;color:#8f9aaa;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.report-song-popover .report-song-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px}.report-song-popover .report-song-list .report-song-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;color:#d8e0ea;font-size:.875rem;cursor:pointer;transition:background .12s}.report-song-popover .report-song-list .report-song-option:hover{background:#ffffff0f}.report-song-popover .report-song-list .report-song-option input[type=checkbox]{width:auto;min-height:auto;accent-color:#f74a8a;cursor:pointer}.report-song-popover .report-song-actions{display:flex;gap:8px}.report-song-popover .report-song-actions .report-song-submit{flex:1;min-height:34px;padding:0 10px;border-radius:6px;border:1px solid rgba(247,74,138,.36);background:#f74a8a1f;color:#ffc6d7;font-size:.82rem;font-weight:800;cursor:pointer;transition:background .12s,opacity .12s}.report-song-popover .report-song-actions .report-song-submit:hover:not(:disabled){background:#f74a8a38}.report-song-popover .report-song-actions .report-song-submit:disabled{opacity:.35;cursor:not-allowed}.report-song-popover .report-song-actions .report-song-cancel{min-height:34px;padding:0 10px;border-radius:6px;border:1px solid rgba(255,255,255,.08);background:#ffffff0b;color:#9aa8ba;font-size:.82rem;cursor:pointer}.report-song-popover .report-song-actions .report-song-cancel:hover{color:#f4f7fb}.report-song-thanks{margin:0;padding:4px 0;color:#70f3aa;font-size:.875rem;font-weight:700;text-align:center}.app-version{padding:18px 0 2px;color:#f4f7fb47;font-size:.76rem;text-align:center}.app-version a{color:#f4f7fb7a;text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{transform:scale(.88);opacity:.25}50%{transform:scale(1);opacity:.72}}@keyframes wave{0%{transform:scaleY(.35)}to{transform:scaleY(1.05)}}@media(max-width:860px){.app-shell{width:min(100% - 22px,680px);padding-top:22px}.topbar,.game-layout{grid-template-columns:1fr}.install-toast .toast-header{padding:16px 0 8px 16px}.install-toast,.settings-install{grid-template-columns:1fr}.install-toast{left:50%;transform:translate(-50%);bottom:12px;width:calc(100vw - 40px)}.install-toast .install-button,.settings-install .install-button{width:100%}.toast-dismiss{position:absolute;top:8px;right:8px;margin-right:0}.status-grid,.breakdown{grid-template-columns:repeat(3,1fr)}.settings-button{min-height:46px;grid-column:1 / -1}.settings-header,.year-controls{grid-template-columns:1fr}.settings-overlay{align-items:end;padding:12px}.settings-panel{max-height:calc(100vh - 24px);padding:18px}.player-panel{position:static;min-height:420px;padding:24px}.guess-panel{min-height:auto;padding:20px}}@media(max-width:520px){h1{font-size:2.45rem}.status-grid,.breakdown,.result-row,.score-row{grid-template-columns:repeat(3,1fr)}.stat{padding:12px}}
