/* Jazzmusics practice room: shared responsive design, version 29. */
:root{--studio-accent:#8ce0c0;--studio-dark:#101b1a;--studio-border:#31443f;--studio-muted:#b3c5bc}
html{scroll-padding-top:24px}body{font-family:var(--sans,system-ui);color:var(--ink,#f4f2e9)}
body:not(.error-page){background:var(--bg,#14121a)}
:focus-visible{outline:3px solid var(--teal,#58c2c9);outline-offset:4px}button,a,input,select{touch-action:manipulation}button,select{min-height:38px}button{cursor:pointer}a{text-underline-offset:4px}p{line-height:1.65}.intro{max-width:72ch}.wrap{max-width:1240px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;padding:12px 20px;background:#fff;color:#111}.skip-link:focus{top:16px}
.studio-home h1{font-family:var(--serif,Georgia);font-size:clamp(44px,5.6vw,76px);line-height:1.06;letter-spacing:-.045em;font-weight:500;max-width:16ch;margin:20px 0}.studio-home h1 em{color:var(--teal);font-weight:400}.studio-home h2{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.025em;line-height:1.15}.studio-home h3{font-size:24px;line-height:1.25}
.studio-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:52px;align-items:center;padding:70px 0 58px}.hero-copy{font-size:18px;max-width:46ch;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:28px 0}.studio-primary{display:inline-flex;gap:22px;align-items:center;background:#8ce0c0;color:#102d24!important;border:1px solid #8ce0c0;border-radius:8px;padding:14px 20px;font-weight:700;text-decoration:none}.studio-primary:hover{background:#aff3d9}.studio-secondary{color:var(--ink);font-size:14px}.hero-facts{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.hero-facts span:before{content:'✓';margin-right:6px;color:var(--teal)}
.hero-score{display:block;transform:rotate(1deg);background:var(--studio-dark);color:#f3f0dc!important;border:1px solid var(--studio-border);border-radius:18px;padding:28px;text-decoration:none;box-shadow:0 24px 64px #0002}.hero-score:hover{transform:rotate(0)}.score-top,.score-bottom,.score-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.score-top{font:10px var(--mono,monospace);letter-spacing:.12em;color:#b3c5bc}.hero-score h2{color:#f3f0dc!important;font-size:34px;margin:35px 0}.score-chords{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.score-chords div{border:1px solid #3a5049;border-radius:9px;padding:14px 10px;display:flex;flex-direction:column;gap:10px}.score-chords b{font:28px var(--serif,Georgia);color:#8ce0c0}.score-chords small{color:#b3c5bc}.score-chords span{font:10px var(--mono,monospace);white-space:nowrap}.score-line{border-bottom:1px solid #31443f;padding:22px 0;font-size:12px;color:#b3c5bc}.score-line>span:first-child{color:#e8bd72;font-family:var(--mono,monospace)}.score-bottom{padding-top:22px;font-size:13px}.score-bottom small{font-size:11px;color:#b3c5bc}.play-disc{border-radius:50%;background:#8ce0c0;color:#132b23;width:40px;height:40px;display:grid;place-items:center}
.studio-home section{padding:48px 0;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.section-heading a{font-size:13px;color:var(--teal)}.path-grid,.exercise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.path-card{display:flex;flex-direction:column;gap:18px;padding:27px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface)}.path-card p,.tool-card p{margin:0;color:var(--muted);font-size:15px}.path-card:hover,.tool-card:hover{border-color:var(--teal)}.lesson-tag{font:10px var(--mono,monospace);letter-spacing:.1em;color:var(--teal)}.card-link{font-size:13px;margin-top:auto;color:var(--teal)}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tool-card{display:flex;align-items:start;gap:22px;padding:25px;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.tool-card>span{font:14px var(--mono);color:var(--teal)}.tool-card>b{margin-left:auto}.tool-card h3{margin:0 0 8px}.daily-session{display:grid;grid-template-columns:1fr 1fr;gap:60px}.daily-session p{color:var(--muted);margin:18px 0}.daily-session ol{list-style:none;padding:0}.daily-session li{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.daily-session li b{color:var(--teal);white-space:nowrap;font:13px var(--mono)}
.search-box{display:flex;gap:15px;align-items:center;border:1px solid var(--line);background:var(--surface);padding:15px 20px;border-radius:10px;margin-top:22px}.search-box input{width:100%;border:0;background:transparent;color:var(--ink);font:16px var(--sans,system-ui);padding:4px}.search-box input:focus{outline:none}.search-box:focus-within{outline:2px solid var(--teal)}#search-status{font-size:12px;color:var(--muted)}.search-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}.search-results a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px}.search-results a:hover{border-color:var(--teal)}
.page-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.studio-button{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:9px 13px;font:13px var(--sans,system-ui)}.studio-button:hover{border-color:var(--teal)}.studio-button[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}.learning-plan{padding:28px 0!important}.learning-plan h2{font-size:28px}.exercise{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.exercise-num{font:12px var(--mono);color:var(--teal)}.exercise h3{margin:12px 0;font-size:20px}.exercise p{font-size:14px;color:var(--muted)}.exercise-check{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;color:var(--ink)}.exercise-check input{accent-color:var(--teal);width:18px;height:18px}.coach-note{padding:16px 20px;border-left:3px solid var(--teal);background:var(--surface);font-size:14px;margin-top:16px;color:var(--muted)}
.practice-desk{margin:18px 0;padding:18px;background:var(--bg2);border:1px solid var(--line);border-radius:10px}.desk-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.desk-controls label{display:flex;gap:8px;align-items:center;font-size:12px}.desk-controls input[type=number]{width:68px;padding:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px}.desk-controls input[type=range]{width:90px;accent-color:var(--teal)}.desk-controls input[type=checkbox]{accent-color:var(--teal)}.desk-footer{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.desk-footer output{font:20px var(--mono);color:var(--ink)}.desk-status{min-height:1.5em;font-size:12px;color:var(--teal);margin:10px 0 0}.session-notes{display:block;width:100%;box-sizing:border-box;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;margin:12px 0;font:14px var(--sans)}.trainer{border-radius:16px!important}.trainer .play{min-height:46px}.trainer svg{max-width:100%;height:auto}.error-page{background:#101b1a;color:#f3f0dc;margin:0;min-height:100vh;display:grid;place-items:center;padding:24px}.error-page h1{font:clamp(36px,6vw,70px) Georgia}.error-page a:not(.studio-primary){color:#8ce0c0}.error-page p{max-width:50ch}
@media(max-width:850px){.studio-hero{grid-template-columns:1fr;gap:32px;padding:35px 0}.studio-home h1{max-width:20ch}.hero-score{transform:none;max-width:600px}.path-grid,.exercise-grid{grid-template-columns:1fr}.daily-session{grid-template-columns:1fr;gap:15px}.tool-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.studio-home section{padding:32px 0}.search-results{grid-template-columns:1fr}.hero-score h2{font-size:30px}.learning-plan .section-heading .lesson-tag{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}}
/* Allow grid children to shrink on narrow phones. */
.studio-hero>*{min-width:0}.score-top{flex-wrap:wrap}.score-chords{grid-template-columns:repeat(3,minmax(0,1fr))}.score-chords b{font-size:clamp(21px,3vw,28px)}.score-chords span{white-space:normal;line-height:1.6}.hero-score{box-sizing:border-box}.studio-home h1{overflow-wrap:normal}
@media(max-width:400px){.studio-home h1{font-size:40px}.hero-score{padding:20px}.score-chords div{padding:12px 6px}.hero-facts{gap:12px}.studio-hero{grid-template-columns:minmax(0,1fr)}}
/* Inner pages: a readable lesson around the interactive instrument. */
.lesson-page .phead{padding:42px 0 28px;border-bottom:0;max-width:1050px}.lesson-page .phead h1{font-size:clamp(34px,4.3vw,60px);line-height:1.12;letter-spacing:-.035em;max-width:23ch}.lesson-page .phead .intro{font-size:17px;line-height:1.8;max-width:80ch}.lesson-page .kicker{color:var(--teal)}
.lesson-nav{display:flex!important;align-items:center;justify-content:flex-start!important;gap:8px!important;overflow-x:auto;padding:12px 0!important;margin:0 0 30px!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative!important;white-space:nowrap;scrollbar-width:thin}.lesson-nav>span{font:10px var(--mono,monospace);letter-spacing:.12em;color:var(--muted);padding-right:12px}.lesson-nav a{font:12px var(--sans,system-ui);padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);max-width:28ch;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.lesson-nav a:hover{border-color:var(--teal);color:var(--teal)}
.lesson-page section>h2{font-size:clamp(25px,3vw,36px);line-height:1.25;letter-spacing:-.02em}.lesson-page .trainer{border:1px solid var(--line);box-shadow:0 8px 40px #00000009;padding:24px}.lesson-page .tcard{border-radius:12px}.lesson-page .tcard.focus{border-color:var(--teal)}.lesson-page .tnote{font-family:var(--sans,system-ui);font-size:13px;line-height:1.65;color:var(--muted)}
.deep-lesson{padding:36px 0}.deep-lesson p{max-width:76ch;font-size:16px;color:var(--muted)}.deep-lesson strong{color:var(--ink)}.lesson-lead{font-size:19px!important}.lesson-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0}.lesson-columns article{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.deep-lesson h3{font-size:23px;line-height:1.25;margin:0 0 14px}.comparison-note{padding:25px 28px;border-left:3px solid var(--teal);background:var(--surface);margin:24px 0}.comparison-note a{color:var(--teal);text-decoration:underline}.instrument-note{padding:22px 0}.deep-lesson caption{text-align:left;font:13px var(--sans,system-ui);color:var(--muted);padding:14px 0;white-space:normal}.deep-lesson th{text-align:left}.lesson-page .prose{max-width:82ch}
@media(max-width:700px){.lesson-columns{grid-template-columns:minmax(0,1fr);gap:12px}.lesson-page .phead{padding-top:28px}.lesson-page .trainer{padding:12px}.lesson-nav{margin-bottom:22px!important}.lesson-columns article,.comparison-note{padding:20px}.lesson-page .phead .intro{font-size:16px}.deep-lesson p{font-size:15px}}
/* Home, volume 02: editorial record-sleeve design. */
.home-page{--home-paper:#f4f1e7;--home-ink:#203831;--home-green:#243e34;--home-gold:#e9bb64}.home-page .wrap{max-width:1280px}.home-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:70px 0 64px}.home-editorial>*{min-width:0}.home-v2 h1{font-size:clamp(42px,5.4vw,76px);max-width:14ch;line-height:1.07!important;letter-spacing:-.045em!important}.home-v2 .eyebrow{font-size:10px;letter-spacing:.17em}.home-v2 h1 em{color:var(--teal)}.home-v2 .hero-copy{max-width:39ch}.home-promise{font:12px var(--mono,monospace);color:var(--muted);margin-top:24px}.home-v2 .studio-primary{background:var(--home-gold);border-color:var(--home-gold);color:#26342b!important;border-radius:5px;min-height:48px;box-sizing:border-box}.home-v2 .studio-primary:hover{background:#f4cc85}.record-cover{background:#c9d6b9;color:#24392c;padding:24px;border:1px solid #71856c;border-radius:3px;box-shadow:14px 16px 0 #0000000c;transform:rotate(2deg);overflow:hidden}.record-label{display:flex;justify-content:space-between;gap:12px;font:9px var(--mono,monospace);letter-spacing:.12em;border-bottom:1px solid #73876c;padding-bottom:14px}.record-art{height:285px;position:relative;display:grid;place-items:center;overflow:hidden;margin:20px 0}.record-disc{width:310px;height:310px;flex-shrink:0;border-radius:50%;background:repeating-radial-gradient(circle at center,#243b31 0px,#243b31 3px,#354d40 4px,#243b31 5px);display:grid;place-items:center;transform:rotate(-18deg)}.record-centre{width:146px;height:146px;border-radius:50%;background:#eac276;color:#22352b;display:flex;flex-direction:column;align-items:center;justify-content:center;font:29px/0.72 Georgia}.record-centre i{font-size:43px}.record-sticker{position:absolute;right:3px;bottom:6px;background:#ed7756;color:#22352b;width:88px;height:88px;border-radius:50%;display:grid;place-content:center;font:700 13px/1.15 var(--sans,system-ui);text-align:center;transform:rotate(12deg);border:1px solid #a3452f}.record-caption{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #73876c;padding-top:18px}.record-caption p{font:30px/1.1 var(--serif,Georgia);margin:0 0 14px;letter-spacing:-.02em}.record-caption small{font:11px var(--mono,monospace)}.record-play{width:48px;height:48px;display:grid;place-items:center;border:1px solid #24392c;border-radius:50%;color:#24392c;font-size:24px}.record-play:hover{background:#24392c;color:#c9d6b9}.home-strip{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font:12px var(--mono,monospace)}.home-strip span:before{content:'✦';color:var(--teal);margin-right:12px}.home-v2 section{padding:64px 0}.session-finder{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.session-finder>div>p:not(.eyebrow){color:var(--muted);max-width:42ch}.session-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;border:1px solid var(--line);padding:28px;border-radius:12px;background:var(--surface)}.session-picker label{font:12px var(--mono,monospace);align-self:center}.session-picker select{width:100%;min-width:0;padding:12px 30px 12px 12px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;font:14px var(--sans,system-ui)}.session-picker p,.session-picker>a,.session-picker noscript{grid-column:1/-1}.session-picker p{font-size:14px;min-height:3.2em}.session-picker>a{justify-content:center}.home-v2 .path-card{padding:20px;gap:16px;text-decoration:none;border-radius:8px}.home-v2 .path-card h3{margin:0}.path-art{height:150px;border-radius:4px;background:#c9d6b9;color:#24392c;display:flex;align-items:center;justify-content:center;gap:15px;overflow:hidden}.path-art>span{font:45px var(--serif,Georgia)}.lesson-sand .path-art{background:#ead8b2;color:#51462e}.lesson-rose .path-art{background:#dfb6a8;color:#51392f}.note-stairs span:nth-child(2){transform:translateY(-12px)}.note-stairs span:nth-child(3){transform:translateY(-24px)}.note-stairs span:nth-child(4){transform:translateY(-36px)}.note-stairs{padding-top:25px;box-sizing:border-box}.sound-bars{gap:9px}.sound-bars i{display:block;width:8px;border-radius:6px;background:#734b3e}.search-suggestions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.search-suggestions a{padding:7px 13px;border-radius:30px;border:1px solid var(--line);font-size:12px;color:var(--muted)}.search-suggestions a:hover{color:var(--ink);border-color:var(--teal)}.home-v2 .tool-card{border-radius:4px}.home-v2 .tool-card>span{font-size:22px}.home-ritual{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--home-green);color:#f4f1e7;padding:42px!important;border:0!important;border-radius:8px;margin:20px 0}.home-ritual h2{color:#f4f1e7!important}.home-ritual .eyebrow{color:#c9d6b9}.home-ritual>div>p:not(.eyebrow){color:#c5d1c7;font-size:16px;margin:22px 0;max-width:38ch}.home-ritual ol{list-style:none;padding:0;margin:0}.home-ritual li{display:flex;gap:20px;padding:23px 0;border-bottom:1px solid #587062}.home-ritual li:first-child{padding-top:0}.home-ritual li>span{font:12px var(--mono,monospace);color:#eac276;padding-top:5px}.home-ritual h3{font-size:21px;margin:0 0 7px}.home-ritual li p{font-size:14px;color:#c5d1c7;margin:0}.home-faq{max-width:850px}.home-faq details{border-bottom:1px solid var(--line);padding:18px 0}.home-faq summary{font-size:17px;cursor:pointer;line-height:1.5}.home-faq details p{color:var(--muted);font-size:15px;max-width:70ch}.home-faq a{color:var(--teal);text-decoration:underline}
html[data-theme="light"] .home-page{background:var(--home-paper)}html[data-theme="light"] .home-page{--bg:#f4f1e7;--surface:#faf8f1;--ink:#203831;--muted:#5e695f;--line:#d7dacd;--teal:#416653}html[data-theme="light"] .home-v2 h1,html[data-theme="light"] .home-v2 h2{color:#203831}html[data-theme="light"] .home-ritual h2{color:#f4f1e7}
@media(max-width:900px){.home-editorial{gap:35px}.session-finder{gap:32px}.home-ritual{gap:32px}.home-v2 h1{font-size:52px}.record-art{height:240px}.record-disc{width:265px;height:265px}.record-caption p{font-size:26px}}
@media(max-width:700px){.home-editorial{grid-template-columns:minmax(0,1fr);padding:32px 0 45px;gap:32px}.home-v2 h1{font-size:clamp(41px,10vw,64px);max-width:17ch}.record-cover{transform:none;max-width:500px;width:100%;box-sizing:border-box;box-shadow:6px 7px 0 #0000000c}.record-art{height:245px}.home-strip{flex-wrap:wrap;gap:12px;font-size:10px}.session-finder,.home-ritual{grid-template-columns:minmax(0,1fr);gap:25px}.home-v2 section{padding:38px 0}.home-ritual{padding:25px!important}.session-picker{padding:20px;grid-template-columns:minmax(0,1fr);gap:10px}.session-picker select{margin-bottom:8px}.home-v2 .hero-actions{gap:18px}.record-label{font-size:8px}.home-v2 .section-heading{gap:14px}.home-v2 .section-heading>p{margin:0;color:var(--muted)}.home-v2 .path-grid{grid-template-columns:minmax(0,1fr)}}
/* Keep note labels from intercepting taps; make keyboard focus unmistakable. */
svg.piano text{pointer-events:none}svg.piano [data-midi]{cursor:pointer;touch-action:manipulation}svg.piano [data-midi]:focus-visible{outline:none;stroke:#ed7756!important;stroke-width:4px;filter:brightness(1.2)}svg.piano [data-midi]:active{filter:brightness(1.35)}
/* Practice instruments: usable at desk and phone sizes. */
.instrument-workbench{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:16px;margin:12px 0}.instrument-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.instrument-badge{font:10px var(--mono,monospace);letter-spacing:.14em;color:var(--teal)}.instrument-tools button{font-size:11px}.instrument-scroll{overflow-x:auto;padding:10px 4px 8px;scrollbar-width:thin;border-radius:8px;background:var(--bg2);overscroll-behavior-x:contain}.instrument-scroll>svg{display:block;width:100%;height:auto}.instrument-scroll.instrument-large>svg.piano{min-width:720px}.instrument-scroll.instrument-large>svg.guitar{min-width:1000px}.instrument-scroll.instrument-large>svg.grip{min-width:230px}.instrument-readout{font:12px/1.6 var(--mono,monospace);color:var(--muted);margin:12px 0;min-height:2em}.instrument-scroll svg.piano{filter:drop-shadow(0 5px 3px #0002)}.instrument-scroll svg.guitar{background:linear-gradient(95deg,#5d3c2920,#bb92642a,#5d3c2920);border-radius:8px}.instrument-scroll svg.guitar .gn{cursor:pointer}.instrument-scroll svg.guitar .gn:hover circle{stroke:var(--coral);stroke-width:3px}.finger-guide{border-top:1px solid var(--line);padding-top:12px}.finger-guide summary{display:list-item;cursor:pointer;color:var(--ink);font-size:13px}.finger-guide summary>span{color:var(--muted);font-size:11px;margin-left:10px}.finger-guide-body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:22px 0 5px}.hand-illustration{color:var(--teal);align-self:start;padding-top:12px}.hand-illustration svg{width:100%;overflow:visible}.finger-guide h4{font-size:17px;margin:0 0 8px}.finger-guide p{font:13px/1.65 var(--sans,system-ui);color:var(--muted);margin:8px 0}.finger-options,.finger-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.finger-options button{border:1px solid var(--line);border-radius:50px;min-width:40px;min-height:40px;background:var(--surface);color:var(--ink);padding:8px 12px}.finger-options button[aria-pressed=true]{background:var(--teal);color:var(--bg);border-color:var(--teal)}.finger-mark{font:bold 13px var(--mono,monospace);fill:var(--coral);paint-order:stroke;stroke:var(--surface);stroke-width:4px;pointer-events:none}.finger-actions button{font-size:11px}.vdiag .instrument-workbench{padding:8px}.vdiag .finger-guide-body{grid-template-columns:1fr}.vdiag .hand-illustration{max-width:120px}.vdiag .instrument-tools{flex-wrap:wrap}
@media(max-width:600px){.instrument-workbench{padding:10px}.finger-guide-body{grid-template-columns:minmax(0,1fr);gap:8px}.hand-illustration{max-width:135px;margin:auto}.instrument-scroll>svg.piano{min-width:480px}.instrument-scroll>svg.guitar{min-width:620px}.instrument-readout{font-size:11px}.instrument-tools{margin-bottom:8px}}
/* Thumb-friendly transport and grouped controls. */
.trainer-control-deck{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.trainer-control-group{min-width:0;margin:0;padding:0;border:0}.trainer-control-group legend{font:12px var(--sans,system-ui);color:var(--muted);margin-bottom:9px}.trainer-control-group .toggle{display:flex;width:100%;box-sizing:border-box}.trainer-control-group .toggle button{flex:1;min-width:0;white-space:normal;font:600 14px var(--sans,system-ui);min-height:48px;padding:10px 12px}.trainer-transport{grid-column:1/-1;display:flex;align-items:center;gap:24px}.trainer-transport .play{position:static!important;min-height:50px;min-width:155px;flex-shrink:0;margin:0!important}.trainer-transport .tempo{display:flex;flex:1;align-items:center;width:auto;gap:12px;order:initial}.trainer-transport .tempo input{flex:1;min-width:60px;width:auto;margin:0;min-height:44px}.trainer-transport .bpm{white-space:nowrap;min-width:68px;font-size:13px}.trainer .tbar{padding:12px;gap:12px}.trainer .tbar .toggle button{min-height:44px;padding:10px 12px;font:600 13px var(--sans,system-ui)}.trainer .tbar .ibtn{min-height:44px;padding:10px 12px;font:13px var(--sans,system-ui)}.trainer .tbar .grp{min-width:0;flex-wrap:wrap}.trainer-sound-settings{margin:12px 0 20px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.trainer-sound-settings summary{font:14px var(--sans,system-ui);cursor:pointer;min-height:24px;padding:6px 0}.sound-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:16px}.sound-settings-grid label{display:grid;gap:8px;min-width:0;font-size:12px;color:var(--muted)}.sound-settings-grid select{width:100%;min-height:46px;font:14px var(--sans,system-ui);padding:10px 28px 10px 12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:7px}.trainer .desk-controls button,.trainer .desk-controls input[type=number],.trainer .desk-footer button{min-height:44px}.trainer .desk-controls label:has(input[type=checkbox]){min-height:44px}.trainer .desk-controls input[type=checkbox]{width:20px;height:20px}.trainer .desk-controls input[type=range]{min-height:44px}
@media(max-width:700px){.trainer-control-deck{grid-template-columns:minmax(0,1fr);gap:18px}.trainer-control-group .toggle button{font-size:13px;padding:12px 8px;min-height:48px}.trainer-transport{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.trainer-transport .play{width:100%;border-radius:10px}.trainer-transport .tempo{width:100%;box-sizing:border-box;gap:8px}.trainer .play{position:static!important;left:auto;right:auto;bottom:auto;width:100%;margin:0!important;min-height:48px;border-radius:10px}.trainer .tbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.trainer .tbar .grp:has(#notesfilter){width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.trainer #notesfilter{display:flex;width:100%}.trainer #notesfilter button{flex:1;min-width:0;padding:12px 7px;font-size:12px}.trainer .tbar .sp,.trainer .tbar .hint{display:none}.sound-settings-grid{grid-template-columns:minmax(0,1fr);gap:12px}.trainer .tempo input{min-width:30px}.trainer .ctl-label{font-size:10px;letter-spacing:.1em}.trainer .practice-desk{padding:12px}.trainer .desk-controls{gap:12px}.trainer .desk-controls label{font-size:13px}}
.hand-illustration .hand-active{fill:var(--root);stroke:var(--teal);stroke-width:2px}
