:root{--ink:#171717;--muted:#706d67;--gold:#c9a227;--dark:#151515;--bg:#f5f3ee;--paper:#fff;--line:#e4e0d8;--mint:#eee9d9;--goldink:#866b18}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button,select{cursor:pointer}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{min-height:44px}select{font-size:16px}header{background:var(--dark);border-bottom:3px solid var(--gold);color:var(--bg)}.header-inner{max-width:1320px;margin:auto;min-height:100px;padding:20px 34px;display:flex;justify-content:space-between;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:25px;font-weight:700;letter-spacing:-1px}.brand-icon{width:43px;height:48px;border:1px solid #c9a22780;border-radius:12px;display:grid;place-items:center;color:#e1bd4e;font:39px Georgia,serif}.brand-sub{display:block;margin-top:4px;font-size:11px;letter-spacing:.35px;color:#c9a227;font-weight:400}.instrument-control{display:flex;align-items:center;gap:17px}.instrument-control label{font-size:10px;letter-spacing:1.5px;color:#c6c0b4}.instrument-control select{width:310px;max-width:100%;border:1px solid #6e6653;background:#24231f;color:#fff;border-radius:9px;padding:13px 34px 13px 14px}.instrument-control option,.instrument-control optgroup{background:#24231f;color:white}main{max-width:1320px;margin:0 auto;padding:40px 34px 24px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:31px}.eyebrow{margin:0;font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--goldink)}h1{font-family:Manrope,Arial,sans-serif;font-size:43px;letter-spacing:-2px;line-height:1.2;font-weight:600;margin:10px 0 11px}.subhead{color:var(--muted);font-size:14px;margin:0;line-height:1.6}.outline-button{border:1px solid #d7d2c7;background:transparent;border-radius:8px;padding:10px 15px;font-size:12px;white-space:nowrap}.outline-button span{font-size:18px;margin-right:5px}.workspace{display:grid;grid-template-columns:244px minmax(0,1fr);align-items:start;gap:23px}.card{background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden}.note-picker{position:sticky;top:20px}.picker-top{padding:22px 20px 17px;border-bottom:1px solid var(--line)}h2{font:700 16px Manrope,Arial,sans-serif;margin:0}.picker-top span{display:block;color:var(--muted);font-size:11px;margin-top:7px}.picker-controls{padding:16px 17px 13px}.picker-controls>label:first-child{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}#note-search{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;min-height:44px}.segments{display:flex;border-radius:8px;background:#f1eee7;padding:3px;margin-top:12px}.segments button{flex:1;min-height:34px;background:transparent;border:0;border-radius:6px;font-size:12px}.segments button[aria-pressed=true]{color:#e1bd4e;background:var(--ink)}.check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);line-height:1.5}.picker-controls .check{margin-top:14px}.check input{accent-color:var(--ink);width:16px;height:16px}.note-list{max-height:465px;overflow:auto;padding:0 17px 8px;scrollbar-width:thin;scrollbar-color:#d5cdbb transparent}.octave-label{font-size:9px;color:var(--muted);letter-spacing:1.5px;margin:14px 0 9px}.note-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.note-button{background:var(--bg);border:1px solid transparent;border-radius:7px;padding:5px 0;font-size:13px;position:relative}.note-button:hover{border-color:var(--gold)}.note-button[aria-pressed=true]{background:var(--ink);color:#e1bd4e}.note-button .has-alt{position:absolute;bottom:3px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:var(--gold)}.picker-foot{padding:16px 17px;margin:0;color:var(--muted);font-size:11px;line-height:1.8;border-top:1px solid var(--line)}.reference{min-width:0}.card-top{padding:23px 27px 19px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.card-top h2{font-size:20px;margin:6px 0 0;letter-spacing:-.5px}.card-top p{margin:5px 0 0;font-size:11px;color:var(--muted)}.tag{font-size:9px;letter-spacing:1px;white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:8px 11px;color:var(--muted)}.note-display{display:grid;grid-template-columns:130px minmax(150px,1fr) 135px;gap:12px;align-items:center;padding:18px 29px;background:linear-gradient(110deg,#fff 60%,#fcfaf4)}.big-note{font:500 55px Georgia,serif;letter-spacing:-2px;margin:8px 0 2px}.big-note sub{font:16px Arial,sans-serif;letter-spacing:0;margin-left:3px;vertical-align:baseline}.note-word>p{font-size:11px;color:var(--muted);margin:8px 0 0;min-height:14px}.staff svg{display:block;width:100%;height:160px;overflow:visible}.concert{border-left:1px solid var(--line);padding-left:22px}.concert strong{display:block;font:27px Georgia,serif;margin:9px 0 6px}.concert p{font-size:11px;color:var(--muted);margin:0}.sound-button{display:flex;gap:7px;align-items:center;background:transparent;border:0;padding:9px 0 0;font-size:11px;font-weight:700;color:var(--goldink)}.sound-button[aria-pressed=true]{color:var(--ink)}.fingering-content{display:grid;grid-template-columns:minmax(260px,1fr) minmax(200px,.8fr);padding:8px 27px 28px;gap:29px}.diagram-area{min-width:0}.diagram{background:#f7f5ef;border:1px solid #e9e4d8;border-radius:13px;padding:16px 12px 12px}.hands{display:flex;justify-content:center;gap:50px}.hand-title{font-size:10px;letter-spacing:1.4px;color:var(--muted);text-align:center;margin:0 0 11px}.holes{display:flex;flex-direction:column;gap:9px}.hole-row{display:flex;align-items:center;gap:9px}.hole-number{width:10px;text-align:center;font-size:10px;color:var(--muted)}.hole{width:30px;height:30px;background:white;border:1.6px solid #b2ada2;border-radius:50%;display:grid;place-items:center;position:relative}.hole.down{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 3px #171717}.hole.down:after{content:'';width:6px;height:6px;background:var(--gold);border-radius:50%}.hole.half{background:linear-gradient(90deg,var(--ink) 50%,white 50%)}.hole.quarter{background:conic-gradient(var(--ink) 0deg 90deg,white 90deg 360deg)}.hole.three-quarter{background:conic-gradient(var(--ink) 0deg 270deg,white 270deg 360deg)}.hole.partial{font-size:8px;color:var(--goldink)}.auxiliary{border-top:1px solid #e3ddce;margin-top:16px;padding-top:11px}.aux-group{display:flex;gap:5px;align-items:flex-start;margin:5px 0;flex-wrap:wrap}.aux-group strong{font-size:9px;font-weight:600;color:var(--muted);width:100%;margin-bottom:3px}.key-chip{border:1px solid #d6c99b;color:#6f5718;background:#f4ecd3;border-radius:5px;font-size:10px;line-height:1.4;padding:5px 7px}.none-keys{font-size:10px;color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;color:var(--muted);justify-content:center;margin:12px 0 0}.legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border:1px solid #aaa59b;border-radius:50%;background:white;display:inline-block}.legend-dot.held{background:var(--ink);border-color:var(--ink)}.reading{padding:10px 0 0}.reading h3{font:600 21px Manrope,Arial,sans-serif;margin:10px 0 10px;letter-spacing:-.5px}.reading>p:not(.eyebrow):not(.source-link){font-size:12px;line-height:1.85;color:var(--muted);margin:0}.key-summary{font-size:11px;line-height:1.8;margin-top:11px;color:var(--ink)}.source-link{font-size:10px;margin-top:16px;line-height:1.6}.source-link a{text-decoration-color:#c9a22799;text-underline-offset:4px;color:var(--muted)}.pitch-tip{font-size:11px;line-height:1.7;padding:11px 12px;background:#eee9d9;border-left:2px solid var(--gold);margin-top:14px;border-radius:0 6px 6px 0}.note-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#faf9f5;border-top:1px solid var(--line);padding:7px 18px}.note-navigation button{border:0;background:transparent;font-size:11px;font-weight:600;padding:8px}.note-navigation button:disabled{opacity:.35;cursor:default}.note-navigation>span{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.alternates-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px}.alternates-heading h2{font-size:20px;letter-spacing:-.5px;margin-top:7px}.alternates-heading>span{font-size:11px;color:var(--muted)}.alternates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.alt-card{padding:21px;background:white;border:1px solid var(--line);border-radius:13px;min-width:0}.alt-card h3{font-size:14px;line-height:1.5;margin:11px 0 7px;font-weight:700}.alt-card>p{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 14px}.pitch-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #dfd2a5;background:#f5efd9;color:#79601b;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:600;line-height:1.5}.pitch-badge.lower{background:#edf1f1;color:#486266;border-color:#d6e1e1}.pitch-badge.facility,.pitch-badge.response,.pitch-badge.varies{background:#f3f1eb;color:#706d67;border-color:var(--line)}.alt-card .diagram{padding:13px 10px}.alt-card .hands{gap:37px}.alt-card .hole{width:23px;height:23px}.alt-card .holes{gap:6px}.alt-card .hole.down:after{width:4px;height:4px}.alt-card .hand-title{font-size:8px;margin-bottom:9px}.alt-card .auxiliary{margin-top:12px}.alt-card .key-chip{font-size:9px;padding:4px 5px}.alt-card .source-link{margin:12px 0 0;font-size:10px}.empty-alternates{grid-column:1/-1;background:#efede7;border:1px dashed #d9d3c5;border-radius:12px;padding:23px 24px}.empty-alternates h3{font-size:13px;margin:0 0 8px}.empty-alternates p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.listen-tip{display:flex;align-items:center;gap:17px;margin-top:22px;padding:19px 23px;background:var(--mint);border:1px solid #e4dcc6;border-radius:12px}.tip-symbol{font:29px Georgia,serif;color:#866b18;width:30px;flex-shrink:0}.listen-tip h3{font-size:12px;margin:0 0 5px}.listen-tip p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.instrument-details{font-size:12px;color:var(--muted);line-height:1.85;margin-top:17px;padding:0 4px}.instrument-details summary{cursor:pointer;font-weight:600;color:var(--ink);min-height:44px;display:flex;align-items:center;gap:7px}.instrument-details summary:before{content:'+';font-size:17px;color:var(--goldink)}.instrument-details[open] summary:before{content:'−'}.instrument-details p{margin:4px 0 12px}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px;border-top:1px solid var(--line);padding-top:16px;font-size:9px;letter-spacing:.5px;color:var(--muted)}.footer-divider{color:var(--gold);margin:0 8px}footer button{padding:8px 0;border:0;background:transparent;font-size:10px;text-decoration:underline;text-underline-offset:4px}dialog{border:1px solid var(--line);border-radius:15px;padding:0;width:min(640px,calc(100% - 28px));max-height:85vh;background:#fff;color:var(--ink)}dialog::backdrop{background:#15151588}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 23px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white}.dialog-head button{border:0;background:#f1eee7;border-radius:50%;width:40px;min-height:40px;font-size:25px}.dialog-content{padding:7px 23px 22px;font-size:13px;line-height:1.9;color:var(--muted)}.dialog-content h3{color:var(--ink);font-size:14px;margin-bottom:7px}.dialog-content li{margin:10px 0}.dialog-content ul{padding-left:18px}.dialog-content a{color:var(--goldink)}.valves{display:flex;justify-content:center;gap:15px;padding:13px 0 21px}.valve{display:flex;flex-direction:column;align-items:center;gap:9px}.valve .hole{width:45px;height:45px}.valve>span{font-size:11px;color:var(--muted)}.valve.down>span{font-weight:700;color:var(--ink)}.partial-label{font-size:10px;color:var(--muted);text-align:center;margin-top:4px}.trigger-chip{display:block;text-align:center;padding:8px;font-size:10px;color:var(--goldink)}.slide-svg{width:100%;height:auto;display:block;max-height:155px}.slide-number{text-align:center;font:38px Georgia,serif;margin:6px 0 10px}.slide-number small{font:11px Arial,sans-serif;color:var(--muted);margin-left:6px}.keyboard-svg{width:100%;height:auto;display:block}.instrument-settings{display:flex;gap:20px;align-items:center;padding:12px 27px;background:#f7f5ef;border-bottom:1px solid var(--line)}.instrument-settings label:not(.check){font-size:11px;color:var(--muted);margin-right:9px}.instrument-settings select{padding:8px;border:1px solid var(--line);border-radius:7px;background:white;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1200px){.note-display{grid-template-columns:145px 1fr 155px;padding:20px 32px}.fingering-content{gap:36px;padding:8px 32px 28px}}
@media(max-width:1000px){.workspace{grid-template-columns:210px minmax(0,1fr);gap:16px}.header-inner,main{padding-left:24px;padding-right:24px}.fingering-content{grid-template-columns:1fr;gap:10px}.reading{padding-top:6px}.reading h3{font-size:18px}.note-display{grid-template-columns:100px minmax(90px,1fr) 120px;padding:17px 22px;gap:8px}.big-note{font-size:44px}.concert{padding-left:15px}.tag{font-size:8px}.card-top{padding:21px}.diagram-area{max-width:430px;width:100%;margin:auto}.alternates{grid-template-columns:1fr 1fr}.alt-card{padding:16px}.instrument-control label{display:none}}
@media(max-width:700px){.header-inner{padding:17px 17px;gap:13px;flex-wrap:wrap}.brand{font-size:23px}.instrument-control{width:100%}.instrument-control label{display:block;width:96px;flex-shrink:0;font-size:9px}.instrument-control select{width:100%;padding:11px;font-size:16px}.brand-icon{height:41px;width:36px;font-size:32px}.brand-sub{font-size:10px}main{padding:26px 14px 18px}.intro{margin-bottom:23px;align-items:center;gap:10px}h1{font-size:34px;letter-spacing:-1.5px}.intro .eyebrow{font-size:8px;letter-spacing:1.2px}.subhead{font-size:12px;max-width:255px;line-height:1.7}.outline-button{font-size:0;padding:8px;width:42px;min-height:42px}.outline-button span{font-size:20px;margin:0}.workspace{grid-template-columns:1fr;gap:17px}.note-picker{position:static;border-radius:11px}.picker-top{display:none}.picker-controls{display:grid;grid-template-columns:minmax(0,1fr) 125px;align-items:center;gap:8px 12px;padding:13px 15px}.picker-controls>label:first-child{grid-column:1/-1;margin:0;font-size:10px}.segments{margin:0}.picker-controls .check{margin:1px 0 0;grid-column:1/-1;font-size:11px}.picker-foot{display:none}.note-list{display:none}.card-top{padding:18px;align-items:center}.card-top h2{font-size:18px}.tag{font-size:7px;padding:7px}.note-display{padding:14px 18px;grid-template-columns:78px minmax(85px,1fr) 105px;gap:3px}.big-note{font-size:39px}.note-word .eyebrow,.concert .eyebrow{font-size:8px;letter-spacing:1px}.note-word>p{font-size:9px}.concert{padding-left:12px}.concert strong{font-size:24px}.concert p{font-size:9px}.staff svg{height:140px}.fingering-content{padding:0 18px 21px;gap:12px}.diagram-area{max-width:100%}.reading{padding-top:2px}.reading h3{margin:7px 0 8px}.reading>p:not(.eyebrow):not(.source-link){font-size:12px}.reading .eyebrow{font-size:9px}.hands{gap:65px}.note-navigation{padding:6px 9px;gap:2px}.note-navigation>span{display:none}.alternates-heading{margin-top:24px}.alternates-heading h2{font-size:19px}.alternates{grid-template-columns:1fr}.alt-card{padding:18px}.alt-card .hands{gap:60px}.alt-card .diagram{padding:14px}.alt-card .hole{width:27px;height:27px}.listen-tip{padding:16px;gap:10px}.listen-tip p{font-size:11px}footer{flex-direction:column;align-items:flex-start;margin-top:20px;gap:3px}.instrument-settings{padding:12px 18px}.instrument-settings select{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.note-button,.outline-button{transition:background .12s,border-color .12s}.primary{animation:appear .2s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media print{body{background:white;font-size:12px}header{background:white;color:black;border-bottom:2px solid #171717}.header-inner{min-height:60px;padding:10px 0}.brand-sub{color:#706d67}.instrument-control,.intro,.note-picker,footer,.note-navigation,.listen-tip,.instrument-details,.source-link,#instrument-settings{display:none!important}main{padding:15px;max-width:100%}.workspace{display:block}.primary,.alt-card{break-inside:avoid}.alternates{grid-template-columns:1fr 1fr}.fingering-content{grid-template-columns:1fr 1fr}.pitch-badge,.hole,.key-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}.alternates-heading{margin-top:20px}.card{border-color:#aaa}}
/* Instrument-specific keywork; all auxiliary keys stay visible. */
.wood-keywork{padding:12px 10px 13px;background:#faf9f5}.keymap-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #e4e0d8;padding:0 3px 8px;color:#706d67;font-size:10px}.expand-keymap{background:white;border:1px solid #d9d2c1;padding:5px 9px;min-height:34px;border-radius:6px;font-size:10px;color:#6f5718;white-space:nowrap}.detailed-keymap{display:block;width:100%;height:auto;max-height:650px;font-family:Arial,sans-serif}.map-key{stroke:#aaa497;stroke-width:1.4;cursor:pointer;outline:none}.map-key.is-held{stroke:#b28e1d;stroke-width:2}.map-key.is-optional:not(.is-held){stroke-dasharray:3 2}.map-key:focus-visible{filter:drop-shadow(0 0 3px #b28e1d);stroke:#9b7510;stroke-width:3}.map-key:hover{stroke:#9b7510;stroke-width:2.6}.map-inset{fill:#f0ede5;stroke:#ded8c9;stroke-width:1}.map-group{font-size:9px;letter-spacing:.65px;fill:#706d67;font-weight:600;stroke:none}.instrument-spine{fill:none;stroke:#d9d4c9;stroke-width:1.2}.instrument-spine path+path{stroke:#e3dfd6;stroke-width:4}.linked-pad{fill:#e1ddd3;stroke:#b7b1a3;stroke-width:1}.linked-pad path{stroke:#a69e8c;stroke-width:1}.hand-divider{stroke:#c8bfad;stroke-dasharray:3 3;stroke-width:1}.keymap-orientation{font-size:10px;color:#706d67;line-height:1.7;text-align:center;margin:5px 0 8px}.keymap-feedback{padding:9px 10px;background:#eee9d9;border-left:2px solid #c9a227;border-radius:0 5px 5px 0;font-size:10px;line-height:1.7;min-height:49px;color:#5b5340;margin:0 0 8px}.keymap-footnote{font-size:9px;line-height:1.8;color:#706d67;text-align:center}.keymap-footnote a{color:#866b18;text-underline-offset:3px}.active-key-list{margin-top:12px;border-top:1px solid #e4e0d8;padding:11px 3px 0;color:#706d67;font-size:10px;line-height:1.7}.active-key-list strong{font-size:8px;letter-spacing:1px}.active-key-list p{margin:5px 0 0}.active-key-list p span{color:#171717}.fingering-content{align-items:start}.reading{position:sticky;top:25px}.alt-card .wood-keywork{padding:10px}.alt-card .keymap-heading{font-size:9px}.alt-card .detailed-keymap{max-height:560px}.alt-card .keymap-feedback{font-size:10px}.alt-card .active-key-list{font-size:10px}#keymap-modal{width:min(650px,calc(100% - 20px));max-height:94vh;max-height:94dvh}#large-keymap{max-width:535px;margin:0 auto;padding:7px 17px}#large-keymap svg{max-height:none}#keymap-modal-note{position:sticky;bottom:0;background:#eee9d9;border-top:1px solid #d9d0b7;margin:0;padding:13px 20px;font-size:12px;line-height:1.8;color:#5b5340}@media(max-width:1000px){.reading{position:static}}@media(max-width:700px){.keymap-heading{font-size:11px}.expand-keymap{font-size:11px;min-height:38px}.detailed-keymap{max-height:none}.keymap-orientation,.keymap-feedback,.active-key-list{font-size:11px}.alt-card .detailed-keymap{max-height:none}.keymap-footnote{font-size:10px}.keymap-feedback{min-height:50px}}@media print{.expand-keymap,.keymap-feedback{display:none}.map-key,.linked-pad{-webkit-print-color-adjust:exact;print-color-adjust:exact}.wood-keywork{break-inside:avoid}.reading{position:static}.detailed-keymap{max-height:480px}.active-key-list{font-size:9px}}
.map-zoom-controls{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #e4e0d8;background:#faf9f5;font-size:11px;color:#706d67}.map-zoom-controls input{flex:1;min-width:60px;margin:0;accent-color:#b49124}.map-zoom-controls output{font-variant-numeric:tabular-nums;min-width:36px}#large-keymap{overflow:auto;max-height:65vh;max-height:65dvh;padding:10px;width:100%}#large-keymap svg{max-width:none;flex-shrink:0;min-width:100%;height:auto}#keymap-modal .dialog-head h2{font-size:16px}
/* Direct manipulation of written staff position and accidental. */
.staff-editor{min-width:0;text-align:center}.staff-editor .staff{border-radius:10px;outline-offset:0;position:relative;user-select:none;-webkit-user-select:none}.staff-editor .staff svg{height:190px;touch-action:none;user-select:none;-webkit-user-select:none;overflow:visible}.note-drag-target{pointer-events:all;cursor:grab}#staff.is-dragging{background:#f7f1df}#staff.is-dragging .note-drag-target{cursor:grabbing}.staff-accidentals{display:flex;align-items:center;justify-content:center;gap:7px;margin:0 0 6px}.staff-accidentals button{width:43px;min-height:42px;border:1px solid #dcd5c6;border-radius:8px;background:white;color:#706d67;font:25px Georgia,serif;padding:4px;line-height:1}.staff-accidentals button[aria-pressed=true]{background:#171717;border-color:#171717;color:#e1bd4e}.staff-accidentals button:disabled{opacity:.3;cursor:default}#staff-help{font-size:10px;line-height:1.7;min-height:17px;margin:0;color:#706d67}.note-display{grid-template-columns:120px minmax(150px,1fr) 135px;align-items:center}.note-display .concert{align-self:center}@media(max-width:1000px){.note-display{grid-template-columns:90px minmax(125px,1fr) 112px;padding:16px 18px}.staff-editor .staff svg{height:190px}#staff-help{font-size:9px}}@media(max-width:700px){.note-display{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px 18px 14px;gap:8px 20px}.note-word{grid-column:1;grid-row:1}.concert{grid-column:2;grid-row:1}.staff-editor{grid-column:1/-1;grid-row:2;border-top:1px solid #e4e0d8;margin-top:8px;padding-top:5px}.staff-editor .staff svg{height:210px}.staff-accidentals button{width:47px;min-height:44px}.big-note{margin:5px 0}.note-word>p{margin-top:5px}.staff-accidentals{margin-top:-2px}#staff-help{font-size:10px}}@media print{.staff-accidentals,#staff-help{display:none}.staff-editor .staff svg{height:170px}}
.trombone-svg{display:block;width:100%;height:auto;margin:14px 0 8px}.slide-caption{font-size:10px;line-height:1.7;color:#706d67;text-align:center;margin:4px 0 12px}.slide-trigger{font-size:9px;letter-spacing:.8px;text-align:center;color:#706d67;padding:7px 8px;border:1px solid #e4e0d8;border-radius:6px;background:#fff}.slide-trigger.engaged{background:#eee9d9;border-color:#d9c78d;color:#795f18;font-weight:700}.trigger-explanation{font-size:10px;line-height:1.75;color:#706d67;background:#eee9d9;border-left:2px solid #c9a227;padding:9px 10px;margin:6px 0 12px}.alt-card .trombone-svg{min-width:0}.alt-card .slide-caption,.alt-card .trigger-explanation{font-size:10px}
.brand-icon{display:block;width:48px;height:48px;flex-shrink:0;border:0;border-radius:10px;object-fit:contain}.valves-tip{height:30px;border-radius:7px}.brand-sub{line-height:1.6}@media(max-width:700px){.brand-icon{width:43px;height:43px}}
.alt-card>p.alternate-target{font-size:12px;font-weight:700;color:#866b18;margin:0 0 9px;line-height:1.5}
/* Install action follows the same native-prompt/help pattern as Rhythm Lens. */
.install-app{border:1px solid #c9a227;border-radius:9px;background:#f5efd9;color:#171717;padding:11px 15px;font-size:12px;font-weight:700;min-height:44px;flex-shrink:0;white-space:nowrap}.header-inner>.brand{order:0}.header-inner>.instrument-control{order:1;min-width:0}.header-inner>.install-app{order:2}.instrument-control select{min-width:0}#offline-status{color:#866b18}.install-help-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.install-help-header h2{font-size:18px}#install-help{width:min(490px,calc(100% - 28px));max-height:85vh;max-height:85dvh;padding:22px}#install-help-close{width:40px;height:40px;min-height:40px;border:1px solid var(--line);border-radius:50%;background:#efece5;font-size:24px;flex-shrink:0}#install-help p,#install-help li{font-size:13px;line-height:1.8}#install-help p{color:var(--muted)}#install-help ul{padding-left:20px}#install-help li{margin:13px 0}.update-notice{position:fixed;z-index:30;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 24px));padding:16px 18px;border:1px solid #c9a227;border-radius:14px;background:#f5efd9;box-shadow:0 7px 35px #17171722;font-size:13px}.update-notice>div{display:flex;gap:10px;margin-top:12px}.update-notice button{padding:8px 14px;border:1px solid #c9a227;border-radius:8px;background:transparent;font-weight:700;min-height:40px;font-size:12px}#update-now{background:#171717;color:white;border-color:#171717}@media(max-width:850px){.header-inner{flex-wrap:wrap;gap:15px}.header-inner>.instrument-control{order:2;width:100%}.header-inner>.install-app{order:1;margin-left:auto}}@media(max-width:380px){.brand{gap:9px;font-size:21px}.brand-icon{width:37px;height:37px}.brand-sub{font-size:9px}.install-app{padding:9px 10px;font-size:11px;min-height:40px}}@media print{.install-app,#offline-status,.update-notice{display:none!important}}

/* Reserve the single-note staff for touch editing, without blocking page scroll elsewhere. */
#staff,#staff *{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#staff{overscroll-behavior:contain;cursor:grab}#staff.is-dragging{cursor:grabbing}
