:root{--ink:#1b1b1f;--muted:#5a5a66;--paper:#fcfcf9;--accent:#0b5cad;--accent-ink:#fff;--line:#d6d6de;--note:#fff4d6;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:18px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--ink:#ececf1;--muted:#a9a9b6;--paper:#16161a;--accent:#6cb0ff;--accent-ink:#0d1520;--line:#3a3a44;--note:#3b3218}}body{background:var(--paper);margin:0}main{max-width:40rem;margin:0 auto;padding:1.5rem 1rem 4rem}h1{margin:0 0 1rem;font-size:1.5rem}h2{font-size:1.15rem}button{font:inherit;border:1px solid var(--line);min-height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:.5rem;margin:.25rem .4rem .25rem 0;padding:.4rem 1rem}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.link{color:var(--accent);border:none;min-height:auto;text-decoration:underline}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input,select{font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:.4rem;padding:.4rem}form input{box-sizing:border-box;width:100%;margin:.25rem 0;display:block}fieldset{border:1px solid var(--line);border-radius:.5rem;margin:1rem 0}.choice{margin-right:1rem}.bar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.target{margin:.5rem 0;font-size:2rem}.cue,.label,small{color:var(--muted)}.notice{background:var(--note);border-radius:.5rem;padding:.5rem .75rem}.recording{color:#b3261e;font-weight:600}.recording:before{content:"● "}.choices button{min-width:4rem;font-size:1.25rem}.tones button{min-height:2.25rem;font-size:.85rem}.dialog{border:2px solid var(--accent);border-radius:.75rem;margin:1rem 0;padding:1rem}.dev{background:var(--paper);border:1px dashed var(--muted);max-width:18rem;padding:.5rem;font-size:.8rem;position:fixed;bottom:.5rem;right:.5rem}.dev label{margin:.25rem 0;display:block}.progress,.summary{padding-left:1.2rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}fieldset.tones,fieldset.signals,fieldset.choices{border:none;margin:.5rem 0;padding:0}
