:root{--bg:#f5f6f2;--paper:#fff;--ink:#23362f;--muted:#77837c;--line:#e4e9e2;--green:#176d53;--green-light:#eef6ef;--green-mid:#92b6a3;--orange:#d99842;--danger:#b7583d;--shadow:0 3px 20px rgba(30,55,40,.025);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none;background:var(--bg)}*{box-sizing:border-box}body{margin:0;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.43;cursor:not-allowed}button,input,select{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green)}[hidden]{display:none!important}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.site-header{height:91px;padding:0 max(32px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.72);gap:24px}.brand{display:flex;gap:11px;align-items:center}.brand-symbol{height:42px;width:42px;border-radius:13px;background:var(--green);display:grid;place-items:center}.brand-symbol svg{width:29px;height:29px;stroke:#fff;stroke-width:2.7;stroke-linecap:round;fill:none}.brand b{font-size:18px;letter-spacing:3px;display:block}.brand small{display:block;font-size:9px;letter-spacing:2.3px;font-weight:600;margin-top:0}.site-header nav{display:flex;align-items:center;gap:24px;font-size:13px}.nav-current{font-weight:600;position:relative}.nav-current:after{content:"";position:absolute;left:0;right:0;bottom:-35px;height:2px;background:var(--green)}.version{color:var(--muted);font-size:11px}.version i{font-style:normal;margin-left:5px;border:1px solid var(--line);border-radius:5px;padding:1px 5px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:none;color:var(--muted);padding:5px 0;font-size:12px;white-space:nowrap}.text-button:hover:not(:disabled){color:var(--green)}.help-icon{width:18px;height:18px;display:inline-grid;place-items:center;border:1px solid var(--muted);border-radius:50%;font-size:12px}.shell{max-width:1344px;margin:auto;padding:38px 32px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:20px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:500;display:flex;align-items:center;gap:8px}.eyebrow span{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%}h1{font-size:36px;letter-spacing:-1px;line-height:1.3;margin:11px 0 8px;font-weight:650}.heading-dot{color:var(--green);padding-left:5px}.page-heading p{font-size:13px;color:var(--muted);margin:0}.local-badge{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:rgba(255,255,255,.55);padding:11px 16px;border-radius:10px}.local-badge svg{width:24px;height:24px;stroke:var(--green);stroke-width:1.4;fill:none}.local-badge b{display:block;font-weight:500;font-size:11px;letter-spacing:.3px}.local-badge span{font-size:10px;color:var(--muted);display:block;margin-top:2px}.workflow{display:flex;align-items:center;gap:24px;padding:16px 22px;border:1px solid var(--line);background:#fbfcf8;border-radius:12px;margin-bottom:23px}.workflow-step{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px;color:var(--muted)}.workflow-step>span{background:#edf0e9;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums}.workflow-step>b{font-weight:500}.workflow-step.active{color:var(--green)}.workflow-step.active>span{background:var(--green);color:white}.workflow>i{height:1px;background:var(--line);flex:1}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:23px;align-items:start}.main-column,.side-column{display:flex;flex-direction:column;gap:20px;min-width:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.score-card{padding:21px 25px 0}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.overline{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:600}.small{font-size:11px}.small svg{width:16px;height:16px}.exercise-tabs{display:flex;gap:7px;margin:20px 0 26px;flex-wrap:wrap}.exercise-tab{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:#f7f8f5;border-radius:7px;padding:8px 12px;color:var(--muted);font-size:11px;white-space:nowrap}.exercise-tab>span{font-size:10px;opacity:.65;font-variant-numeric:tabular-nums}.exercise-tab.selected{background:var(--green-light);border-color:#cadfd0;color:var(--green);font-weight:600}.exercise-tab:hover:not(:disabled){border-color:#b2cab9}.score-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.score-heading h2{font-size:22px;font-weight:600;letter-spacing:.2px;margin:0}.score-heading p{font-size:11px;color:var(--muted);margin:6px 0 0}.tag{font-size:10px;white-space:nowrap;padding:4px 9px;border:1px solid var(--line);border-radius:5px;color:var(--muted);align-self:flex-start;margin-top:5px}.staff-scroll{overflow-x:auto;overflow-y:hidden;width:100%;margin-top:15px;scrollbar-width:thin;scrollbar-color:#d7e2d9 transparent}.staff-scroll svg{display:block;color:#27352c}.staff-line{stroke:#c7cfc6;stroke-width:.8}.bar-line{stroke:#88968b;stroke-width:.9}.end-bar{stroke-width:2.2}.ledger-line{stroke:currentColor;stroke-width:.85}.time-signature{font-family:Georgia,serif;font-size:22px;font-weight:bold;text-anchor:middle;fill:currentColor}.measure-number{font-size:9px;letter-spacing:1px;fill:#96a292}.note-label{font-size:9px;fill:#8a978a;text-anchor:middle}.note-halo{fill:transparent;transition:fill .15s}.score-note{color:#263e30;cursor:pointer;outline:none}.score-note:hover .note-halo{fill:#f0f5ec}.score-note.is-current{color:var(--green)}.score-note.is-current .note-halo{fill:#e7f2e4}.score-note.is-correct{color:var(--green)}.score-note.is-warning{color:#b77936}.score-note.is-missing{color:#a1aaa2}.score-note:focus-visible .note-halo{stroke:var(--green);stroke-width:1}.accidental{font-size:19px;fill:currentColor}.score-foot{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:10px;margin:0 0 18px}.score-foot #pitch-cue{margin-left:auto;color:var(--green)}.check-label{display:flex;align-items:center;gap:7px;font-size:11px;cursor:pointer}.check-label input{accent-color:var(--green);width:13px;height:13px;margin:0}.mobile-hint{display:none}.transport-zone{margin:0 -25px;background:#fafbf8;border-top:1px solid var(--line);padding:20px 25px 15px}.transport{display:flex;align-items:center;gap:10px}.button{border-radius:9px;border:1px solid transparent;padding:12px 17px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:12px;font-weight:550;line-height:1.3;min-height:44px;white-space:nowrap;transition:background .15s,transform .1s}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--green);color:white;box-shadow:0 3px 8px rgba(23,109,83,.08)}.primary:hover:not(:disabled){background:#125d46}.secondary{background:var(--paper);border-color:#d6dfd5;color:var(--ink)}.secondary:hover:not(:disabled){background:#eef4eb}.stop{border-color:#e6d6cf;color:var(--danger);background:#fff7f2;padding-left:13px;padding-right:13px}.stop-icon{width:9px;height:9px;border-radius:1px;background:currentColor}.beat-indicator{display:flex;align-items:center;gap:5px;margin-left:7px}.beat-indicator span{width:5px;height:5px;border-radius:50%;background:#d8e2d7;transition:transform .1s}.beat-indicator span.active{background:var(--green);transform:scale(1.4)}.transport-time{margin-left:auto;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.status-line{display:flex;align-items:flex-start;gap:7px;margin-top:13px;color:var(--muted);font-size:10px;min-height:16px}.status-light{height:5px;width:5px;min-width:5px;border-radius:50%;background:#97b699;margin-top:5px}.status-line.error{color:var(--danger)}.status-line.error .status-light{background:var(--danger)}.graph-card{padding:22px 25px 0}.graph-card h2,.result-card h2{font-size:18px;letter-spacing:.2px;font-weight:550;margin:6px 0 0}.graph-legend{display:flex;gap:14px;font-size:10px;color:var(--muted);flex-wrap:wrap;justify-content:flex-end}.graph-legend span{display:flex;gap:6px;align-items:center}.graph-legend i{width:12px;height:3px;display:inline-block;border-radius:2px}.target-legend{background:#84aa96}.voice-legend{background:var(--orange)}.graph-wrapper{height:230px;position:relative;margin-top:17px}.graph-wrapper canvas{display:block;height:230px;width:100%}.graph-empty{position:absolute;left:45px;right:0;top:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.91);border-radius:15px;width:max-content;max-width:calc(100% - 50px);padding:13px 23px;margin:auto;pointer-events:none}.wave-small{font-family:Georgia,serif;color:#91ad8e;font-size:26px;line-height:28px}.graph-empty b{font-size:11px;font-weight:500;color:#687b68}.graph-empty>span:last-child{font-size:9px;color:var(--muted)}.graph-bottom{border-top:1px solid #f0f2ec;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;color:var(--muted);font-size:9px}.graph-bottom .text-button{color:var(--green)}.sim-badge{position:absolute;right:0;top:0;border-radius:4px;border:1px solid #ecd7ad;background:#fff8eb;color:#a4792b;font-size:9px;padding:3px 7px}.live-card{padding:21px 21px 0}.live-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.live-heading .overline{font-size:8px;letter-spacing:1px}.live-state{font-size:9px;color:#8a9a8b;white-space:nowrap}.live-state.active{color:var(--green)}.pitch-reading{display:flex;flex-direction:column;align-items:center;padding:24px 0 20px;gap:3px;min-height:131px}.pitch-reading>span:first-child{font-size:54px;line-height:1.2;font-weight:450;letter-spacing:-2px;white-space:nowrap}.pitch-reading>span:last-child{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.2px}.pitch-target{display:flex;align-items:center;justify-content:center;gap:10px;background:#f7f9f5;border-radius:7px;padding:9px;color:var(--muted);font-size:10px}.pitch-target b{color:var(--green);font-size:11px}.tuner{padding:20px 0 17px}.tuner-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);margin-bottom:12px}.tuner-label strong{font-size:13px;font-weight:550;color:var(--ink);font-variant-numeric:tabular-nums}.tuner-track{height:7px;background:#eff1ea;border-radius:6px;position:relative;overflow:visible}.tolerance-band{position:absolute;left:32.5%;width:35%;height:100%;background:#bdd6bc}.tuner-center{position:absolute;left:50%;height:11px;width:1px;top:-2px;background:#688f6d}.tuner-needle{position:absolute;width:3px;height:15px;top:-4px;border-radius:2px;background:var(--green);left:50%;transition:left .07s linear}.tuner-scale{display:flex;justify-content:space-between;margin-top:9px;font-size:8px;color:#9aa597;font-variant-numeric:tabular-nums}.onset-row{display:flex;justify-content:space-between;align-items:center;padding:0 0 18px;font-size:10px;color:var(--muted)}.onset-row b{font-size:11px;color:var(--ink);font-weight:500}.mic-level{display:flex;align-items:center;gap:9px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.level-track{height:4px;flex:1;background:#edf0e9;border-radius:4px;overflow:hidden}.level-track>div{height:100%;width:0;background:#83aa86;transition:width .08s}#level-db{font-size:8px;min-width:48px;text-align:right}.mic-check{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;color:var(--green);font-size:10px;padding:16px 0 18px}.settings-card{padding:21px}.settings-card h2{font-size:14px;font-weight:550;margin:0}.tiny-label{font-size:9px;color:#9ba592}.tempo-header{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.tempo-header>label{font-size:11px;color:#7d877a}.tempo-header b{font-size:27px;font-weight:450;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-1px}.tempo-header>div>span{font-size:9px;color:var(--muted);padding-left:5px}input[type=range]{accent-color:var(--green);height:4px;cursor:pointer;width:100%;margin:17px 0 11px}.range-labels{display:flex;justify-content:space-between;font-size:8px;color:#9ba592;margin-bottom:23px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;color:#7d877a;margin:13px 0}.setting-row select{max-width:163px;min-height:32px;border:1px solid var(--line);border-radius:6px;background:#fafbf8;color:#465844;font-size:10px;padding:5px 22px 5px 8px;cursor:pointer}.metronome-setting{margin:20px 0 7px;color:#53664f}.muted{color:var(--muted)}.small-note{font-size:9px;line-height:1.8;margin:4px 0}.settings-card details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.settings-card summary{font-size:10px;cursor:pointer;display:flex;justify-content:space-between;color:var(--muted);list-style:none}.settings-card summary::-webkit-details-marker{display:none}.settings-card details[open] summary{margin-bottom:16px}.setting-column{display:flex;flex-direction:column;font-size:10px;color:var(--muted);gap:5px;margin:15px 0}.setting-column input[type=number]{border:1px solid var(--line);background:#fafbf8;border-radius:6px;padding:7px;color:var(--ink);width:100%}.practice-tip{padding:10px 23px 4px;color:#91a18e;position:relative}.tip-mark{font-family:Georgia,serif;font-size:44px;line-height:1;position:absolute;top:6px;left:17px;color:#d1ddc9}.practice-tip p{font-size:15px;font-weight:400;line-height:1.9;margin:14px 0 9px;padding-left:15px;letter-spacing:1px}.practice-tip>span:last-child{font-size:9px;padding-left:15px;letter-spacing:.3px}.site-footer{border-top:1px solid var(--line);margin-top:30px;padding:20px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#9aa597;font-size:9px;letter-spacing:.3px}.result-card{padding:24px 25px}.result-source{font-size:10px;color:var(--muted);display:block;margin-top:11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0 18px;gap:12px}.metrics>div{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}.metrics>div:last-child{border-right:0}.metrics span{font-size:9px;color:var(--muted)}.metrics strong{font-size:27px;font-weight:500;letter-spacing:-.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.metrics small{font-size:8px;color:var(--muted)}.result-summary{background:#f3f7ef;border:1px solid #e5eddd;color:#617554;font-size:11px;line-height:1.8;border-radius:8px;padding:12px 15px;margin:15px 0 20px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:10px;white-space:nowrap;text-align:left}th{font-size:9px;color:var(--muted);font-weight:500;padding:10px 7px;border-bottom:1px solid var(--line);background:#fcfdfb}td{border-bottom:1px solid #f1f4ed;padding:10px 7px;color:#56694f;font-variant-numeric:tabular-nums}td:first-child{font-weight:500;color:var(--ink)}.td-warning{color:#b27a36}.td-muted{color:#a1a999}.note-result-tag{font-size:9px;border-radius:4px;padding:3px 6px;display:inline-block;background:#eef5e9;color:#638657}.note-result-tag.warn{background:#fbf3e7;color:#aa7a38}.note-result-tag.missing{background:#f1f2ee;color:#8a9485}.report-note{font-size:9px;color:#97a08e;line-height:1.8;margin:15px 0 0}dialog{width:540px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:18px;padding:25px 30px;color:var(--ink);background:var(--paper);max-height:calc(100dvh - 50px);box-shadow:0 20px 80px #1d382b33}dialog::backdrop{background:#243a2e55;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.icon-button{background:none;border:0;font-size:23px;color:var(--muted);padding:0 4px}.dialog-top+.h2,dialog h2{font-size:21px;font-weight:550;margin:15px 0}dialog h3{font-size:13px;margin:18px 0 5px}dialog p{font-size:12px;line-height:1.95;color:#6b7c65}dialog .button{margin:10px 0}
@media(min-width:1550px){.shell{padding-top:46px}.page-heading{margin-bottom:32px}}@media(max-width:1100px){.site-header{padding:0 25px}.shell{padding:29px 24px 0}.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.score-card{padding-left:19px;padding-right:19px}.transport-zone{margin-left:-19px;margin-right:-19px;padding-left:19px;padding-right:19px}.transport-time{display:none}.button{padding:11px 13px}.score-heading h2{font-size:20px}.graph-card,.result-card{padding-left:19px;padding-right:19px}.graph-legend{gap:8px}.graph-bottom{align-items:flex-start}.live-card,.settings-card{padding-left:18px;padding-right:18px}.metrics{grid-template-columns:repeat(2,1fr);row-gap:20px}.metrics>div:nth-child(2){border-right:0}}@media(max-width:800px){.site-header{height:73px;padding:0 20px}.site-header nav{margin-left:auto}.nav-current{display:none}.version{font-size:10px}.brand b{font-size:16px}.brand small{font-size:7px}.brand-symbol{height:35px;width:35px;border-radius:10px}.shell{padding:26px 18px 0}.page-heading{align-items:flex-start;margin-bottom:23px}.local-badge{display:none}h1{font-size:30px}.eyebrow{font-size:10px}.page-heading p{font-size:12px}.workflow{padding:14px 16px;gap:10px}.workflow-step{gap:6px;font-size:10px}.workflow-step>span{width:23px;height:23px;font-size:9px}.workspace{grid-template-columns:minmax(0,1fr)}.side-column{display:grid;grid-template-columns:1fr 1fr;gap:16px;grid-row:2}.practice-tip{display:none}.transport-time{display:inline;margin-left:auto}.main-column{gap:17px}.graph-wrapper,.graph-wrapper canvas{height:225px}.site-footer{font-size:8px;flex-wrap:wrap;justify-content:flex-start;gap:10px}.site-footer>span:first-child{margin-right:auto}.metrics{grid-template-columns:repeat(4,1fr)}.metrics>div:nth-child(2){border-right:1px solid var(--line)}}@media(max-width:480px){.site-header{padding:0 16px;gap:12px}.brand{gap:8px}.version{font-size:9px}.version i{display:none}.desktop-text{display:none}.shell{padding:23px 13px 0}.eyebrow{font-size:9px;letter-spacing:1.2px}h1{font-size:29px;margin-top:9px}.workflow{padding:12px 10px;gap:6px;margin-bottom:16px;border-radius:10px;justify-content:space-between}.workflow-step{flex-direction:column;font-size:9px;gap:5px}.workflow-step>span{height:21px;width:21px;font-size:8px}.workflow>i{margin-top:-17px}.score-card{padding:17px 16px 0}.overline{font-size:8px;letter-spacing:1.1px}.exercise-tabs{gap:5px;margin-top:16px;margin-bottom:20px}.exercise-tab{font-size:10px;gap:5px;padding:8px}.score-heading{align-items:flex-start}.score-heading h2{font-size:19px}.score-heading p{font-size:10px}.tag{font-size:8px;padding:4px 6px}.staff-scroll{margin-top:12px}.score-foot{gap:10px;font-size:9px}.score-foot #range-text{display:none}.mobile-hint{display:inline;font-size:8px}.score-foot #pitch-cue{font-size:10px}.transport-zone{padding:16px 16px 13px;margin-left:-16px;margin-right:-16px}.transport{gap:8px;flex-wrap:wrap}.button{font-size:11px;padding:11px 13px;min-height:44px}.button svg{width:17px;height:17px}.transport-time{display:none}.beat-indicator{margin-left:auto}.status-line{font-size:9px;line-height:1.8;margin-top:11px}.graph-card,.result-card{padding:19px 16px 0}.graph-card h2,.result-card h2{font-size:17px}.graph-legend{flex-direction:column;font-size:8px;gap:5px}.graph-wrapper,.graph-wrapper canvas{height:210px}.graph-empty{top:45px;left:40px;padding:8px 12px;gap:6px}.graph-empty b{font-size:9px}.graph-empty>span:last-child{font-size:8px}.graph-bottom{font-size:8px;line-height:1.7;padding:10px 0}.graph-bottom .text-button{font-size:9px;gap:4px}.side-column{grid-template-columns:minmax(0,1fr);gap:16px}.live-card{padding:20px 23px 0}.pitch-reading{padding:15px 0;min-height:115px}.pitch-target{max-width:280px;margin:0 auto}.settings-card{padding:22px}.tempo-header{margin-top:20px}.setting-row{font-size:11px}.setting-row select{font-size:11px;min-width:173px}.result-card{padding-bottom:18px}.metrics{grid-template-columns:repeat(2,1fr);row-gap:19px}.metrics>div:nth-child(2){border-right:0}.metrics strong{font-size:28px}.metrics span{font-size:10px}.metrics small{font-size:9px}.result-summary{font-size:10px}.result-card table{font-size:9px}dialog{padding:22px}.site-footer>span:last-child{display:none}.site-footer{font-size:7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* v0.2: real-score bank and microphone diagnostics. */
.bank-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:17px 0 12px;padding:12px 14px;background:#f1f5ed;border-radius:10px}
.bank-heading label{font-size:12px;color:#53654d;display:flex;align-items:center;gap:9px}.bank-heading select{border:1px solid #dce4d7;background:white;border-radius:7px;padding:7px;font:inherit;max-width:190px}.bank-heading>div{display:flex;flex-direction:column;gap:3px;text-align:right;font-size:11px;color:#697760}.bank-heading b{color:#344d38;font-size:13px}
.exercise-tabs{display:flex;flex-wrap:wrap;max-height:150px;overflow:auto;gap:6px}.exercise-tab{flex:none;font-size:11px;padding:8px 11px;white-space:normal;max-width:100%;text-align:left}
.source-details{font-size:11px;color:#71806a;border-top:1px solid #edf0e9;padding:9px 0;margin-top:12px;line-height:1.7}.source-details summary{cursor:pointer;color:#41664f}.source-details p{margin:7px 0}.source-details a{color:#236b53;text-decoration:underline;overflow-wrap:anywhere}.source-links{display:flex;gap:16px;flex-wrap:wrap}
.staff-scroll{max-height:340px;overflow:auto!important;scrollbar-width:thin;overscroll-behavior:contain}.staff-scroll svg{display:block;max-width:none}.tie-line{pointer-events:none;color:#49644e}.score-heading h2{font-size:21px}.score-heading{gap:14px}.score-heading>div{min-width:0}.score-heading .tag{white-space:nowrap}
.audio-path{font-size:11px;line-height:1.65;color:#356950;background:#f0f6ed;border-radius:8px;padding:9px 10px;margin:10px 0 9px;overflow-wrap:anywhere;min-height:34px}.recording-import{padding:7px 0}.environment-note{border:1px solid #e1e7da;background:#f7f9f4;color:#68715f;padding:9px 12px;font-size:11px;line-height:1.7;border-radius:9px;margin:8px 0}
@media(max-width:600px){.bank-heading{align-items:flex-start;gap:10px;padding:10px}.bank-heading>div{font-size:10px}.bank-heading label{gap:5px}.bank-heading select{max-width:150px}.exercise-tabs{max-height:145px}.score-heading{display:block}.score-heading .tag{display:inline-block;margin-top:10px}.score-heading h2{font-size:20px}.staff-scroll{max-height:310px}}

@media(max-width:600px){.bank-heading{flex-wrap:wrap}.bank-heading label{white-space:nowrap;flex-shrink:0}.bank-heading>div{flex:1;min-width:110px;text-align:left}.exercise-tab{color:#62735f}}

/* v0.3 adaptive assessment */
.adaptive-status{font-size:11px;line-height:1.65;padding:9px 11px;border-radius:8px;background:#f0f4ed;color:#4f6554;margin:12px 0;overflow-wrap:anywhere}
.score-hero{display:flex;align-items:center;gap:32px;background:#eef4e9;border:1px solid #d9e5d3;border-radius:14px;padding:22px 26px;margin:18px 0}
.total-score-line{display:flex;align-items:baseline;gap:9px}.total-score-line>strong{font-size:68px;line-height:1.15;font-weight:650;letter-spacing:-3px;color:#31543b}.total-score-line>span{color:#83917d;font-size:15px}.score-hero-copy>strong{font-size:23px;color:#37543c}.score-hero-copy>strong[data-grade="retry"]{color:#a66142}.score-hero-copy>p{font-size:12px;line-height:1.6;color:#61715b;margin:7px 0 0}
.score-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:14px}.score-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.score-breakdown span{font-size:11px;color:#74806d}.score-breakdown strong{font-size:16px;color:#38513d}.score-meter{grid-column:1/-1;height:5px;background:#edf0e9;border-radius:5px;overflow:hidden}.score-meter i{display:block;height:100%;background:#8aad92}
@media(max-width:600px){.score-hero{gap:18px;padding:17px 16px;align-items:flex-start}.total-score-line>strong{font-size:52px}.score-hero-copy>strong{font-size:19px}.score-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.score-hero-copy>p{font-size:11px}.total-score-line>span{font-size:11px}.score-hero-copy{min-width:0}}
