:root{--drawer-width:390px;--shell-paper:#f3efe5;--shell-ink:#171a17;--shell-gold:#d99517;--shell-rule:#d7cebc}
.music-drawer button,.music-clef-handle,.school-tab-handle,.resolver-tab-handle{color:inherit;-webkit-appearance:none;appearance:none}
.school-tab-handle{position:fixed;z-index:50;right:0;top:auto;bottom:104px;display:flex;align-items:center;justify-content:center;width:110px;height:56px;padding-right:18px;border:1px solid var(--shell-rule);border-right:0;border-radius:30px 0 0 30px;background:rgba(249,246,238,.99);color:var(--shell-ink);text-decoration:none;box-shadow:-8px 12px 34px rgba(48,40,24,.1);transition:background .2s,transform .2s}
.school-tab-handle:hover{background:#fffaf0;transform:translateX(-3px)}
.school-tab-handle span{font:500 17px/1 Miracle,Georgia,serif;letter-spacing:.015em}
.resolver-tab-handle{position:fixed;z-index:50;right:0;bottom:169px;display:flex;align-items:center;justify-content:center;width:124px;height:56px;padding-right:18px;border:1px solid var(--shell-rule);border-right:0;border-radius:30px 0 0 30px;background:var(--shell-ink);color:#fff;text-decoration:none;box-shadow:-8px 12px 34px rgba(48,40,24,.14);transition:background .2s,transform .2s}
.resolver-tab-handle:hover{background:#282c26;transform:translateX(-3px)}
.resolver-tab-handle span{font:500 17px/1 Miracle,Georgia,serif;letter-spacing:.015em}
@media(max-width:700px){.school-tab-handle{width:96px;height:50px;padding-right:16px;bottom:86px}}
.music-clef-handle{position:fixed;z-index:50;left:0;top:auto;bottom:104px;display:flex;align-items:center;justify-content:center;width:110px;height:56px;padding-left:18px;border:1px solid var(--shell-rule);border-left:0;border-radius:0 30px 30px 0;background:rgba(249,246,238,.99);color:var(--shell-ink);cursor:pointer;box-shadow:8px 12px 34px rgba(48,40,24,.1);transition:left .48s cubic-bezier(.22,1,.36,1),background .2s,transform .2s}
.music-clef-handle:hover{background:#fffaf0;transform:translateX(3px)}.music-clef-handle .menu-handle-label{font:500 17px/1 Miracle,Georgia,serif;letter-spacing:.015em}
body.drawer-open .music-clef-handle{left:var(--drawer-width);background:#fffaf0}
.drawer-veil{position:fixed;z-index:49;inset:0;background:rgba(30,27,20,.18);backdrop-filter:blur(2px);opacity:0;transition:opacity .3s}.drawer-veil.visible{opacity:1}.drawer-veil[hidden]{display:none}
.music-drawer{position:fixed;z-index:51;inset:0 auto 0 0;width:var(--drawer-width);display:flex;flex-direction:column;overflow-y:auto;padding:30px 30px 24px;background:#f8f4ea;color:var(--shell-ink);border-right:1px solid var(--shell-rule);box-shadow:30px 0 80px rgba(43,35,20,.16);transform:translateX(-102%);visibility:hidden;transition:transform .48s cubic-bezier(.22,1,.36,1),visibility 0s linear .48s}
.music-drawer>*{flex-shrink:0}
body.drawer-open .music-drawer{transform:translateX(0);visibility:visible;transition-delay:0s}
.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--shell-rule)}.drawer-header span,.drawer-section-title{display:block;color:#7a7d73;font:700 10px/1 "Segoe UI",sans-serif;letter-spacing:.15em;text-transform:uppercase}.drawer-header strong{display:block;margin-top:8px;font:500 29px/1.05 Miracle,Georgia,serif}.drawer-header button{width:36px;height:36px;border:1px solid var(--shell-rule);border-radius:50%;background:transparent;cursor:pointer;font-size:24px;line-height:1}
.source-tabs{display:flex;margin:25px 0 28px;border-bottom:1px solid var(--shell-rule)}.source-tabs button{flex:1;padding:0 0 12px;border:0;border-bottom:2px solid transparent;background:none;color:#797c73;cursor:pointer;font-weight:650}.source-tabs button.active{border-color:var(--shell-gold);color:var(--shell-ink)}
.drawer-source{min-height:176px}.drawer-source[hidden]{display:none}.drawer-source label:not(.music-choice){display:block;margin-bottom:24px;color:#777a72;font-size:11px}.drawer-source select{display:block;width:100%;margin-top:8px;padding:10px 2px;border:0;border-bottom:1px solid #afa896;background:transparent;color:var(--shell-ink);font-size:15px;font-weight:650;outline:none}.drawer-source select:focus{border-color:var(--shell-gold)}
.drawer-scale-preview{margin:-3px 0 20px;padding-top:14px;border-top:1px solid var(--shell-rule)}.scale-preview-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}.scale-preview-heading strong{font-size:11px}.scale-preview-heading small{color:#85877e;font-size:9px}.mini-staff{position:relative;height:116px;overflow:hidden;border-radius:12px;background:rgba(255,252,245,.54)}.mini-clef{position:absolute;z-index:2;left:8px;top:16px;width:34px;font:52px/1 "Times New Roman",Georgia,serif;color:#20231f}.mini-staff-lines{position:absolute;left:37px;right:8px;top:28px;height:36px;background:repeating-linear-gradient(to bottom,#9d9b91 0 1px,transparent 1px 8px)}.mini-scale-notes{position:absolute;inset:0 5px 0 39px;display:grid;grid-template-columns:repeat(var(--scale-count,8),minmax(0,1fr))}.mini-note{position:relative;min-width:0;border:0;background:none;color:#21241f;cursor:pointer;padding:0}.mini-note-head{position:absolute;z-index:2;left:50%;top:var(--note-y);width:11px;height:8px;border-radius:50%;background:#1c201c;transform:translateX(-50%) rotate(-18deg);transition:transform .15s,background .15s,box-shadow .15s}.mini-note-head:after{content:"";position:absolute;right:0;bottom:4px;width:1px;height:20px;background:#1c201c;transform:rotate(18deg);transform-origin:bottom}.mini-note strong{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);font-size:9px;white-space:nowrap}.mini-fingering{position:absolute;left:50%;bottom:7px;display:flex;gap:2px;transform:translateX(-50%)}.mini-fingering i{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;font:800 8px/1 "Segoe UI",sans-serif;font-style:normal;color:#171a17}.mini-fingering .finger-0{background:#aeb5c3;color:#fff}.mini-note.hard .mini-note-head,.mini-note.hard .mini-note-head:after{background:var(--shell-gold)}.mini-fingering .finger-1{background:#ff655d}.mini-fingering .finger-2{background:#4fd0c1}.mini-fingering .finger-3{background:#f1be43}.mini-note:hover .mini-note-head,.mini-note:focus-visible .mini-note-head,.mini-note.sounding .mini-note-head{background:var(--shell-gold);transform:translateX(-50%) rotate(-18deg) scale(1.25);box-shadow:0 0 14px rgba(217,149,23,.55)}.mini-note:focus-visible{outline:1px solid var(--shell-gold);outline-offset:-2px;border-radius:8px}
.music-choice,.drawer-import{display:flex;align-items:center;width:100%;gap:13px;padding:15px 0;border:0;border-bottom:1px solid var(--shell-rule);background:none;text-align:left;cursor:pointer}.music-choice input{accent-color:var(--shell-gold)}.music-choice span,.drawer-import{color:var(--shell-ink)}.music-choice strong,.music-choice small,.drawer-import strong,.drawer-import small{display:block}.music-choice small,.drawer-import small{margin-top:4px;color:#83857d;font-size:10px}.drawer-import>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid var(--shell-rule);border-radius:50%;font-size:16px}
.mode-picker{padding-top:25px;border-top:1px solid var(--shell-rule)}.mode-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.mode-options input{position:absolute;opacity:0}.mode-options label span{display:block;padding:12px 8px;border:1px solid var(--shell-rule);border-radius:12px;cursor:pointer;transition:.18s}.mode-options strong,.mode-options small{display:block}.mode-options strong{font-size:12px}.mode-options small{margin-top:4px;color:#85877e;font-size:9px}.mode-options input:checked+span{border-color:var(--shell-ink);background:var(--shell-ink);color:#fff}.mode-options input:checked+span small{color:#bec2ba}
.drawer-footer{margin-top:auto;padding-top:24px}.drawer-footer p{min-height:18px;margin:0 0 13px;color:#74776e;font-size:11px}.drawer-footer button{width:100%;padding:16px;border:0;border-radius:999px;background:var(--shell-gold);color:#181a17;cursor:pointer;font-weight:800;box-shadow:0 10px 28px rgba(190,126,12,.22)}.drawer-footer button span{margin-right:8px}
.brand strong{font-size:40px;letter-spacing:.01em}.brand i{font-size:.66em}
.stage-copy{padding-left:34px}
body[data-view-mode="partition"] .stage-copy,body[data-view-mode="partition"] .highway-shell,body[data-view-mode="partition"] .coach-panel{opacity:0;pointer-events:none}
body[data-view-mode="partition"] .score-strip{width:min(1320px,92vw);height:190px;bottom:50%;transform:translate(-50%,50%)}
body[data-view-mode="partition"] .score-strip.sheet-mode{height:min(80vh,860px)}
body[data-view-mode="partition"] .score-strip-clef{left:18px}
body[data-view-mode="instrument"] .stage-copy,body[data-view-mode="instrument"] .highway-shell{opacity:0;pointer-events:none}
body[data-view-mode="instrument"] .hero-instrument{display:block}
body[data-view-mode="instrument"] .score-strip{width:min(1040px,72vw)}
@media(max-width:700px){:root{--drawer-width:min(88vw,370px)}.music-clef-handle{width:96px;height:50px;padding-left:16px;bottom:86px}.resolver-tab-handle{width:106px;height:50px;padding-right:16px;bottom:144px}body.drawer-open .music-clef-handle{left:var(--drawer-width)}.music-drawer{padding:24px 22px 20px}.mode-options{grid-template-columns:1fr}.mode-options label span{display:flex;align-items:center;justify-content:space-between}.mode-options small{margin:0}.drawer-source{min-height:150px}}
.drawer-source .octave-hint{display:block;margin:9px 0 0;padding:9px 11px;border-left:2px solid var(--shell-gold);background:rgba(217,149,23,.08);color:#756c5d;font:500 10px/1.45 "Segoe UI",sans-serif}.drawer-source .octave-hint:empty{display:none}.drawer-source select option:disabled{color:#a7a59e}
