:root{--bg:#f6f5f1;--surface:#fff;--text:#1b1d2a;--muted:#646778;--border:#dddbd3;--accent:#3a5bd9;--accent-text:#fff;--good:#1f8a4c;--bad:#c2412d;--band:#1f8a4c29;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14151d;--surface:#1e202b;--text:#ecebe6;--muted:#9a9cab;--border:#33364a;--accent:#7b93f2;--accent-text:#10121a;--good:#4cc27f;--bad:#f07a63;--band:#4cc27f2e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:480px;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;min-height:100dvh;margin:0 auto;display:flex}h1{margin:16px 0 0;font-size:2rem}.lead{color:var(--muted);margin:0}.tip{margin:0}.fine{color:var(--muted);margin:0;font-size:.85rem}.error{color:var(--bad);margin:0;font-weight:600}button{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:12px;padding:0 20px;font-weight:600}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.settings{gap:12px;display:grid}.settings label{color:var(--muted);gap:4px;font-size:.9rem;display:grid}.settings label.check{color:var(--text);align-items:center;gap:8px;display:flex}.settings input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}select{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);border-radius:10px;padding:0 12px}.bar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.score{font-variant-numeric:tabular-nums;gap:12px;padding-top:8px;font-size:.9rem;font-weight:700;display:flex}.menu-btn{min-height:40px;color:var(--accent);padding:0 14px}.sheet-backdrop{z-index:10;background:#00000073;position:fixed;inset:0}.sheet{z-index:11;background:var(--surface);border:1px solid var(--border);width:100%;max-width:480px;max-height:90dvh;padding:16px 16px max(16px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0;gap:12px;display:grid;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -8px 32px #00000040}@media (width>=600px){.sheet{border-radius:16px;max-width:420px;top:50%;bottom:auto;transform:translate(-50%,-50%)}}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{margin:0;font-size:1.2rem}button.close{width:40px;min-height:40px;padding:0;font-size:1.1rem}.card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;padding:24px 16px}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.75rem}.note{margin:4px 0 12px;font-size:4rem;font-weight:700;line-height:1}.note.hidden{color:var(--muted)}.task{justify-content:center;align-items:center;gap:12px;margin:0;font-size:1.3rem;display:flex}.arrow{flex:none;width:56px;height:56px}.arrow circle{fill:var(--accent)}.arrow path{fill:none;stroke:var(--accent-text);stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:round}.task-text{text-align:left;line-height:1.25}.task-text strong{font-size:1.5rem;display:block}.status{text-align:center;margin:0;font-weight:600}.listening{gap:12px;display:grid}.level{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.level div{background:var(--accent);height:100%;transition:width 60ms linear}.live{text-align:center;font-variant-numeric:tabular-nums;min-height:3.3rem;margin:0;font-size:2.2rem;font-weight:700}.cents{color:var(--muted);font-size:1rem;font-weight:500}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions button{flex:1 1 0}.result{gap:8px;display:grid}.result p{margin:0}.verdict{font-size:1.5rem;font-weight:700}.result.correct .verdict{color:var(--good)}.result.incorrect .verdict{color:var(--bad)}.trace{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;height:auto}.trace-band{fill:var(--band)}.trace-target{stroke:var(--good);stroke-width:1px}.trace-ref{stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 4}.trace-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.trace-label{fill:var(--muted);font-size:11px}.trace-label.target{fill:var(--good);font-weight:700}.question{font-size:1.05rem}.names{grid-template-columns:repeat(7,1fr);gap:4px;margin:4px 0;display:grid}.names button{letter-spacing:-.02em;min-height:48px;padding:0;font-size:.95rem}.names button.tried{text-decoration:line-through}.hint{color:var(--bad);font-weight:600}button.link{color:var(--accent);background:0 0;border:none;min-height:40px;padding:0}.progress{font-variant-numeric:tabular-nums;flex:1;gap:6px;padding-top:8px;font-size:.9rem;font-weight:700;display:grid}.progress-bar{background:var(--border);border-radius:2px;max-width:220px;height:4px;overflow:hidden}.progress-bar div{background:var(--accent);height:100%;transition:width .2s}button.end{width:100%;color:var(--bad);margin-top:12px}.summary h2{margin:0 0 4px;font-size:1rem}.tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.tile p{margin:0}.tile-label{color:var(--muted);font-size:.8rem;line-height:1.3}.tile-value{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.3}.tile-detail{color:var(--muted);font-size:.8rem}.block{gap:8px;display:grid}.meter{gap:4px;display:grid}.meter-head{font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.9rem;display:flex}.meter-track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.meter-track div{background:var(--accent);border-radius:4px;height:100%}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}th,td{text-align:left;white-space:nowrap;padding:8px}th{color:var(--muted);border-bottom:1px solid var(--border);font-weight:600}tbody tr+tr td{border-top:1px solid var(--border)}td.good{color:var(--good)}td.bad{color:var(--bad)}.instrument{color:var(--muted);margin:10px 0 0;font-size:.85rem}
