body{--bg:#f4f1fa;--surface:#fff;--ink:#302746;--muted:#61576f;--accent:#6944ac;--tint:#e6ddf3;--line:#cbbfdc;--focus:#6944ac;font-family:Figtree,sans-serif}:root[data-theme=dark] body{--bg:#21182d;--surface:#30213f;--ink:#f5edf9;--muted:#d1bfdc;--accent:#c4a4f2;--tint:#452d59;--line:#76598d;--focus:#c4a4f2}h1{font-family:Barlow,sans-serif;font-size:clamp(2.3rem,5vw,4.5rem);max-width:20ch;line-height:1.03;letter-spacing:-.025em}.music-intro{max-width:64ch;font-size:1.12rem}.rehearsal{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr);margin-top:2rem;gap:2.5rem}.rehearsal form{min-width:0}.rehearsal form>label{font-weight:650;margin:.9rem 0 .3rem}.play-area{align-self:start;background:var(--surface);padding:2rem;min-width:0;border-radius:10px;border-top:2px solid var(--accent)}.play-area h2{margin-top:0}.audio-setting{font-family:Barlow,sans-serif;font-size:clamp(1.6rem,4vw,2.8rem);font-variant-numeric:tabular-nums}.beats{display:flex;gap:.6rem;margin:2rem 0;flex-wrap:wrap}.beats span{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;font-weight:650;background:var(--bg)}.beats span.is-current{background:var(--accent);color:var(--bg)}.lane-1 span.is-current{background:var(--ink);color:var(--surface)}.transport{display:flex;gap:.7rem;flex-wrap:wrap}.play{min-height:56px;padding:.9rem 1.5rem}.chord-result{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Barlow,sans-serif;font-size:1.65rem;line-height:1.6}.own-text{white-space:pre-wrap;overflow-wrap:anywhere}.own-grid{display:grid;gap:.8rem}.music-method,.example{max-width:74ch;margin-top:3rem}.music-method h2,.example h2{margin-top:1.5rem}.music-method p{line-height:1.7}.play-area .actions{margin-top:2rem}.beat-lanes{border-top:1px solid var(--line)}input,textarea,select{font-size:1rem}::selection{background:var(--accent);color:var(--bg)}@media(max-width:760px){.rehearsal{grid-template-columns:1fr;gap:1.2rem}.play-area{padding:1.3rem}.beats{gap:.4rem}.beats span{width:44px;height:44px}.transport button{flex:1 1 auto}.chord-result{font-size:1.35rem}}@media print{h1,.music-intro,.music-method,.example,.transport,.play-area>.hint,#music-status{display:none!important}.rehearsal,.play-area{display:block;padding:0;border:0;background:white;color:black}.play-area *{color:black}.beats span{border-color:black}.beats span.is-current{background:white}.play-area .actions{display:none}}
