/* Portrait instrument academy: large held controls, a readable stave, one task at a time. */
.academy{--academy-paper:#fff9ed;color:var(--ink);max-width:600px;margin:auto}.academy button,.academy select{font:inherit}.academy button{cursor:pointer}.academy button:disabled{cursor:default;opacity:.5}.academy button:focus-visible,.academy select:focus-visible{outline:3px solid #cf971e;outline-offset:3px}.academy-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.academy-top select{min-width:0;max-width:68%;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}.academy-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.academy h2{font-size:24px;line-height:1.2;margin:16px 0 10px}.academy-lesson{line-height:1.55;font-size:14px}.academy-levels{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.academy-levels button{padding:8px 2px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;min-height:52px}.academy-levels b,.academy-levels small{display:block}.academy-levels b{font-size:18px}.academy-levels small{font-size:10px}.academy .selected{background:#ecd39b!important;color:#352510!important;border-color:#98702f!important;box-shadow:inset 0 0 0 1px #98702f}.academy-lesson-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:700;margin:14px 0}.academy-lesson-meta span{background:var(--panel);padding:7px 9px;border:1px solid var(--line);border-radius:20px}.academy-start-actions,.academy-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.academy-start-actions button{min-height:48px}.academy-stage{border-radius:15px;overflow:hidden;background:var(--academy-paper);color:#242c37;border:1px solid #dfcfae;margin-top:12px}.academy-stage-line{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px;background:#202b3e;color:#fff}.academy-stage-line strong{font-size:14px}.academy-stage-line span{font-size:11px;white-space:nowrap}.academy-progress{height:4px;background:#e5d8bd}.academy-progress i{height:4px;width:0;display:block;background:#a57525}.academy-staff{display:block;width:100%;max-height:156px}.academy-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;text-align:center;padding:0 10px}.academy-readout span{font-size:9px;letter-spacing:.07em;color:#6a6358}.academy-readout strong{display:block;font-size:19px;color:#202b3e;letter-spacing:0;margin-top:3px;line-height:1.15;min-height:26px}.academy-fingering{text-align:center;font-size:13px;font-weight:700;margin:10px 4px 0;min-height:20px}.academy-instrument{width:100%;max-height:120px;display:block}.academy-piston{transition:transform .07s}.academy-piston[data-pressed=true]{transform:translateY(6px)}.academy-piston[data-pressed=true] .valve-light{fill:#ffe160;filter:drop-shadow(0 0 5px #f6ad25)}.academy-controls{position:sticky;bottom:-20px;z-index:3;margin:12px -4px 0;padding:12px 4px 8px;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -5px 18px #0001;border-radius:14px 14px 0 0}.academy-valves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.18fr;gap:8px}.academy-valve,.academy-air{min-height:84px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border:2px solid #b8af9f;border-radius:18px;color:#292b32;background:linear-gradient(#fffdf5,#e5dfcf);box-shadow:0 4px 0 #aaa08d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.academy-valve b{font-size:29px}.academy-valve span,.academy-air span{font-size:11px;font-weight:700}.academy-valve small,.academy-air small{font-size:9px;letter-spacing:.08em}.academy-valve[aria-pressed=true]{background:linear-gradient(#fff2ac,#efb43e);border-color:#a56c10;box-shadow:0 1px 0 #8f590e,0 0 15px #f5bd5660;transform:translateY(3px);color:#422b05}.academy-air{background:linear-gradient(#35455e,#1d293c);border-color:#1c2839;color:white;box-shadow:0 4px 0 #101722}.academy-air b{font-size:25px}.academy-air[aria-pressed=true]{background:#48734b;box-shadow:0 1px 0 #29442b;transform:translateY(3px);border-color:#365938}.academy-controls p{font-size:12px;min-height:32px;line-height:1.4;margin:12px 4px 0;color:var(--muted)}.academy-help{margin-top:16px;border-top:1px solid var(--line);padding:15px 0;font-size:12px;line-height:1.6}.academy-help summary{font-weight:700;cursor:pointer;min-height:32px}.academy-help label{display:flex;align-items:center;gap:10px;min-height:44px}.academy-help input[type=range]{width:65%}.academy-help input[type=checkbox]{width:20px;height:20px}.academy-help p{margin:10px 0}.academy-note-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:15px}.academy-note-grid button{border:1px solid var(--line);border-radius:7px;min-height:40px;font-size:12px;color:var(--ink);background:var(--panel)}.academy-next{display:flex;min-height:28px;border-top:1px solid #e6dcc7;justify-content:center;padding:8px;gap:10px}.academy-next:empty{display:none}.academy-next>span{width:32%;text-align:center;font-size:15px;font-weight:700}.academy-next small{display:block;font-size:8px;letter-spacing:.1em;color:#70695b}.academy-next .academy-staff{height:65px}.academy-playing .academy-instrument{max-height:85px}.academy-playing .academy-staff{max-height:145px}.academy-score{font-size:90px;font-weight:800;line-height:1.1;color:#bd8c31;margin:20px 0 0}.academy-score small{font-size:32px}.academy-result{text-align:center}.academy-result-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.academy-result-stats span{background:var(--panel);padding:15px;border:1px solid var(--line);border-radius:12px;font-size:12px}.academy-result-stats strong{display:block;font-size:28px;margin-top:6px}.academy-result p{font-size:14px;margin:10px 0;line-height:1.5}.academy-band-reward{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:20px}.academy-band-reward button{width:100%;margin-top:12px}.academy-home-hero{position:relative;overflow:hidden;min-height:215px;color:#fff!important;background:#1d283b!important}.academy-home-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.academy-home-hero>div{position:relative;padding:25px;background:linear-gradient(90deg,#152032db,transparent)}.academy-home-hero h2{margin:8px 0;color:white;font-size:29px}.academy-home-hero p{color:#f4ead8;margin-bottom:18px}.academy-home-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 24px}.academy-home-meta span{border-radius:10px;text-align:center;background:var(--panel);border:1px solid var(--line);padding:12px 3px;font-size:10px;color:var(--muted)}.academy-home-meta strong{display:block;font-size:24px;color:var(--ink)}.academy-home-title{font-size:21px;margin:0 0 12px}.portrait-shell .academy-home-title{color:white}.academy-instrument-grid{display:grid;gap:8px}.academy-instrument-card{display:flex;align-items:center;gap:12px;text-align:left;min-height:75px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel);color:var(--ink)}.academy-instrument-card>span:nth-child(2){flex:1}.academy-instrument-card strong{display:block;font-size:16px}.academy-instrument-card small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.academy-card-icon{display:grid;place-items:center;background:#b1863425;color:#a37428;width:43px;height:43px;border-radius:10px}.academy-home-note{margin-top:18px}.academy-home-note p{font-size:13px;line-height:1.6;margin-top:12px}
@media(max-width:380px){.academy-top{gap:7px}.academy-top .eyebrow{font-size:9px}.academy-levels{grid-template-columns:repeat(4,minmax(0,1fr))}.academy-valves{gap:5px}.academy-valve,.academy-air{min-height:77px;border-radius:13px}.academy-note-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.academy-readout strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.academy *{transition:none!important}}

.academy-key-guide{font-size:12px;line-height:1.5;margin:10px 0 4px;text-align:center;color:var(--ink)}.academy-key-guide strong{white-space:nowrap}

/* Continuous engraved score: the blue cue follows the same clock as the audio. */
.academy{max-width:760px}.academy-sheet-heading{display:flex;justify-content:space-between;gap:10px;padding:13px 15px 8px;font-size:10px;font-weight:700;letter-spacing:.05em;background:#fffdf7;color:#566172}.academy-sheet-heading>span:last-child{letter-spacing:0;font-size:11px;font-weight:600}.academy-sheet-heading i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#1670d2;margin-right:5px}.academy-score-scroll{overflow-x:auto;overflow-y:hidden;background:#fffdf7;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a9bdd5 #f3f0e9;padding:0 0 5px}.academy-score-scroll:focus-visible{outline:2px solid #1670d2;outline-offset:-2px}.academy-sheet{display:block;max-width:none;min-width:100%;height:184px;overflow:visible}.academy-score-bar rect{fill:transparent}.academy-score-bar[data-current=true] rect{fill:#edf5ff}.academy-score-bar text{fill:#7c8792;font:11px Arial,sans-serif}.academy-score-note{color:#25313f}.academy-note-highlight{fill:#c9e2ff;stroke:#559be9;stroke-width:1;opacity:0}.academy-note-pointer{fill:#1265c4;opacity:0}.academy-score-note[data-current=true]{color:#075fcb}.academy-score-note[data-current=true] .academy-note-highlight,.academy-score-note[data-current=true] .academy-note-pointer{opacity:1}.academy-note-name{fill:currentColor;font:11px Arial,sans-serif}.academy-score-status{font-size:11px!important;line-height:1.45;color:#315071;margin:0!important;padding:9px 14px 12px;background:#fffdf7;border-bottom:1px solid #e4ded1}.academy-stage .academy-readout{padding-top:12px}.academy-playing .academy-stage-line strong{font-size:13px}
@media(prefers-reduced-motion:reduce){.academy-score-scroll{scroll-behavior:auto}}
.academy-result-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.academy-result-stats span{padding:15px 6px;font-size:12px}.academy-result-stats small{display:block;font-size:10px;line-height:1.4;color:var(--muted);margin-top:4px}.academy-result .academy-score-weights{font-size:11px;color:var(--muted)}

.academy-course-nav{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:16px 0 10px}.academy-course-nav label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;min-width:0;flex:1}.academy-course-nav select{width:100%;max-width:100%;padding:11px 9px;border-radius:8px;background:var(--panel);color:var(--ink);border:1px solid var(--line);font-size:12px}.academy-course-nav>span{white-space:nowrap;font-size:11px;color:var(--muted)}.academy-levels{grid-template-columns:repeat(10,minmax(0,1fr))}@media(max-width:560px){.academy-levels{grid-template-columns:repeat(5,minmax(0,1fr))}.academy-course-nav{gap:8px}}
