/* Tablet-first practice room; legacy engraving tools remain in the editor. */
:root{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft Yahei',sans-serif;color:#293f37;background:#f3f5f0;--ink:#315b47;--muted:#7b8b7b;--line:#e0e7dc}
[hidden]{display:none!important}body{display:block}body>aside{display:none}main{margin:0 auto;width:100%;max-width:1440px;padding:0 28px}button,select,.file-button{min-height:44px;font-size:14px;border-radius:9px}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #bc9a63;outline-offset:3px}button{touch-action:manipulation}.intro{display:none}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px;border:0;flex:none}.app-identity{display:flex;align-items:center;gap:15px}.app-logo{font:25px 'Noto Serif SC',serif;letter-spacing:4px;color:#315745;white-space:nowrap}.app-location{font-size:12px;color:#8b9b88;padding-left:15px;border-left:1px solid #d9e2d4}.app-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.app-actions button{font-size:13px;padding:8px 15px;background:transparent}.app-actions #open-library{font-size:13px}.app-header .local{font-size:10px;white-space:nowrap}.app-header #mode-practice{display:inline-flex;align-items:center}.practice-mode .app-header #mode-practice{display:none}.app-header #mode-edit{display:none}.practice-mode .app-header #mode-edit{display:inline-flex}
.practice-mode{height:100vh;height:100dvh;overflow:hidden}.practice-mode main{height:100%;display:flex;flex-direction:column;gap:14px;padding-bottom:max(14px,env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top)}.practice-mode .app-header{height:68px;margin-bottom:-7px}.practice-mode .workspace{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 24px #30452b05;border-radius:16px}.score-top{padding:22px 26px}.practice-mode .score-top{padding:19px 26px 0;flex:none}.practice-mode .score-top h2{font-size:29px;letter-spacing:3px;margin:0}.score-top .tag{display:none}.practice-mode .score-actions{display:none}
.unit-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 26px 14px;flex:none}.unit-strip>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.unit-label{font-size:11px;color:#8b9b80}.unit-strip select{min-width:230px;max-width:100%;font-size:15px;border:0;padding:5px 28px 5px 0;min-height:34px;font-weight:500;color:#3e6047}.unit-strip p{font-size:11px;color:#92a085;margin:0;flex-basis:100%}.unit-strip>button{font-size:12px;white-space:nowrap;padding:7px 13px;color:#6b8261;background:#f7f9f3;border-color:#e7ecdf}
.practice-mode .score-meta{flex:none;margin:0 26px;padding:10px 0;gap:20px;font-size:13px}.practice-mode #notation-legend{font-size:11px}.practice-mode #beat-indicator{min-width:90px;font-size:12px;padding:6px 10px;margin-left:auto;background:#edf3e5}.practice-mode .row-nav{display:none}.practice-mode .window-hint{display:none}.practice-mode #score{flex:1;min-height:0;padding:6px 12px 0;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain}.practice-mode #score svg{min-width:0}.practice-mode .score-footer{flex:none;padding:8px 26px;border:0;font-size:11px;min-height:31px}.practice-mode .bottom-note,.practice-mode #notice:empty{display:none}.practice-mode #notice:not(:empty){position:absolute;top:70px;left:50%;transform:translateX(-50%);z-index:6;margin:0;padding:10px 18px;border:1px solid #e1d0ab;background:#fffaf0;border-radius:8px;max-width:80%;font-size:12px;box-shadow:0 3px 12px #343d2110}
.practice-dock{display:none}.practice-mode .practice-dock{display:flex;flex-direction:column;flex:none;height:204px;background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:15px 22px 10px;gap:10px;box-shadow:0 4px 24px #30452b05}.dock-caption{display:grid;grid-template-columns:1fr auto;gap:5px 12px;font-size:13px;position:relative}.dock-caption strong{font-weight:500;color:#576e4e;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dock-caption>span{font-size:12px;color:#8c9a80;font-variant-numeric:tabular-nums}.dock-caption p{font-size:11px;color:#91a083;margin:0}.dock-caption progress{grid-column:1/-1;appearance:none;width:100%;height:3px;border:0;border-radius:2px;background:#edf1e7}.dock-caption progress::-webkit-progress-bar{background:#edf1e7;border-radius:2px}.dock-caption progress::-webkit-progress-value{background:#8ca879;border-radius:2px}.dock-caption progress::-moz-progress-bar{background:#8ca879;border-radius:2px}.dock-actions{display:grid;grid-template-columns:120px 1fr 170px;gap:16px;align-items:center;min-height:54px}.dock-actions>button,.dock-right button{font-size:13px;white-space:nowrap;border:0;background:transparent;padding:8px;color:#7f9075}.dock-right{display:flex;align-items:center;gap:8px;justify-content:flex-end}.dock-right #room-speed{border:1px solid #e2e8dc;border-radius:8px;font-size:12px;color:#617b50;padding:6px 10px}.session-primary-group{display:flex;gap:10px;justify-content:center;align-items:center}.session-primary-group button{font-size:13px;min-height:48px;white-space:nowrap}.session-primary-group .session-primary{min-width:160px;min-height:54px;background:#355f49;border:1px solid #355f49;color:#fff;font-size:16px;letter-spacing:1px;padding:12px 24px;border-radius:11px}.session-primary-group .session-primary:hover{background:#467657}.dock-bottom{display:flex;align-items:center;gap:12px;min-height:38px;flex:1}.dock-bottom span{color:#8b9b80;font-size:11px;flex:1}.dock-bottom audio{height:34px;max-width:380px;flex:1;min-width:150px}.dock-bottom #history-open{margin-left:auto;min-height:36px;padding:5px 9px;border:0;background:transparent;color:#809174;font-size:12px}.outside-unit{opacity:.36}.outside-unit.active{opacity:1}.practice-mode[data-session-phase=recording] .session-primary{background:#a75f4e;border-color:#a75f4e}.practice-mode[data-session-phase=counting] .session-primary{background:#977c4d;border-color:#977c4d}.practice-mode[data-session-phase=saving] .session-primary{opacity:.65}.practice-mode[data-session-phase=recording] .dock-caption strong{color:#a45f4c}.practice-mode[data-session-phase=recording] .score-footer{color:#a45f4c}
.settings-drawer{margin:0 0 0 auto;height:100%;max-height:100dvh;width:440px;max-width:94vw;border-radius:18px 0 0 18px;padding:26px;overflow:auto}.settings-drawer .practice-settings{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin:20px 0;background:transparent;padding:0;border:0}.settings-drawer .practice-settings .mode-switch{display:none}.settings-drawer .practice-settings>label{font-size:14px;justify-content:space-between;min-height:44px}.settings-drawer select{font-size:14px;min-height:44px;max-width:170px;background:#f5f7f0}.settings-drawer input[type=checkbox]{width:20px;height:20px;accent-color:#59784b}.settings-drawer .transport{position:static;display:block;max-width:none;padding:20px 0;border:0;box-shadow:none;background:transparent;margin:0}.settings-drawer .transport>.icon-button,.settings-drawer .transport>.play,.settings-drawer .progress-area,.settings-drawer .loop-box{display:none}.settings-drawer .speed-box{border:0;padding:0;width:100%;gap:14px}.settings-drawer .speed-box label{font-size:14px}.settings-drawer .speed-box output{font-size:13px}.settings-drawer .speed-box input{height:6px;margin:10px 0}.settings-drawer .speed-heading button{font-size:12px;padding:8px}.settings-drawer .practice-workbench{display:none}.auto-review-option{display:flex;gap:12px;align-items:center;font-size:14px;margin:8px 0 24px}.score-context{padding:18px 0;border-top:1px solid var(--line);font-size:13px;color:#7c8f70}.score-context summary{cursor:pointer;min-height:44px}.score-context p{font-size:12px;line-height:1.8}.settings-drawer h2{font-size:25px}.settings-drawer .dialog-heading button{font-size:20px;width:44px;min-height:44px}.settings-drawer #score-source{font-size:13px}
.take-card{padding:15px 0;border-top:1px solid var(--line);display:flex;gap:15px;align-items:center;flex-wrap:wrap}.take-card p{flex:1;min-width:220px;margin:0;line-height:1.8;font-size:13px}.take-card a{font-size:13px;color:#58744b}.take-card button{padding:8px 18px}.take-card button,.take-card a{flex:none}#history-list{max-height:60dvh;overflow:auto}#audio-history{width:740px}.unit-strip{display:none}.practice-mode .unit-strip{display:flex}.score-actions{display:flex;flex-direction:row;align-items:center}.visual-editor{margin-bottom:12px}body:not(.practice-mode) .workspace{margin-bottom:30px}body:not(.practice-mode) #score{overflow:auto}.library-search>button,.library-search .file-button{min-height:44px}.library-card-footer button{min-height:44px;font-size:12px}.library-filter-row select{min-height:44px}.library-heading>button{width:44px;min-height:44px}
@media(min-width:1450px){main{padding-left:40px;padding-right:40px}}
@media(max-width:1050px){main{margin:0 auto;width:100%;padding-left:20px;padding-right:20px}.practice-mode .app-header{height:64px}.app-header .local{display:none}.app-location{font-size:11px}.practice-mode .score-top{padding-top:16px}.practice-mode .score-top h2{font-size:27px}.dock-actions{grid-template-columns:95px 1fr 150px;gap:10px}.session-primary-group{gap:8px}.session-primary-group .session-primary{min-width:145px;padding:10px 18px}.session-primary-group button{padding:8px 12px}.practice-mode .practice-dock{height:200px;padding:13px 17px 9px}}
@media(orientation:portrait) and (min-width:600px){.practice-mode main{gap:16px}.practice-mode .score-top{padding-top:24px}.practice-mode .unit-strip{padding-top:16px;padding-bottom:18px}.practice-mode .practice-dock{height:218px;padding:18px 22px 12px}.session-primary-group{gap:10px}.dock-actions{grid-template-columns:90px 1fr 145px}.session-primary-group .session-primary{min-width:150px}.dock-bottom audio{max-width:330px}.app-location{display:none}}
@media(max-width:720px){main{padding-left:12px;padding-right:12px}.practice-mode main{gap:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.app-header{gap:8px}.app-logo{font-size:21px;letter-spacing:2px}.app-location{display:none}.app-actions{gap:3px}.app-actions button{font-size:12px;padding:7px 10px}.app-header #open-library{font-size:12px}.practice-mode .score-top{padding:14px 18px 0}.practice-mode .score-top h2{font-size:24px}.unit-strip{padding:9px 18px 11px;gap:8px}.unit-label{display:none}.unit-strip select{min-width:0;max-width:240px;font-size:14px}.unit-strip p{font-size:10px}.unit-strip>button{font-size:11px;padding:6px 9px}.practice-mode .score-meta{margin:0 18px;font-size:12px;gap:13px}.practice-mode #notation-legend{display:none}.practice-mode .score-footer{padding:7px 18px;font-size:10px}.practice-mode #score{padding:4px 2px 0}.practice-mode .practice-dock{height:226px;padding:12px}.dock-caption{font-size:12px;gap:4px 8px}.dock-caption p{font-size:10px}.dock-actions{grid-template-columns:54px 1fr 76px;gap:5px}.dock-actions>button{font-size:11px;padding:3px;white-space:normal}.dock-right{flex-direction:column;gap:0}.dock-right button{font-size:11px;min-height:32px;padding:2px}.dock-right #room-speed{font-size:10px;min-height:32px;padding:3px 5px}.session-primary-group{gap:5px;flex-wrap:wrap}.session-primary-group .session-primary{min-width:130px;min-height:50px;font-size:14px;order:2}.session-primary-group button:not(.session-primary){min-height:36px;font-size:11px;padding:5px 9px}.dock-bottom{gap:5px}.dock-bottom span{display:none}.dock-bottom audio{min-width:100px;width:100%;height:34px}.dock-bottom #history-open{font-size:11px;white-space:nowrap;padding:4px}.settings-drawer{padding:22px;width:420px}.practice-mode .app-header{height:60px}.score-actions button{font-size:11px}.visual-editor{margin:16px 12px}}
@media(max-height:620px) and (orientation:landscape){.practice-mode .app-header{height:48px}.practice-mode .score-top{padding-top:10px}.practice-mode .score-top h2{font-size:22px}.practice-mode .unit-strip{padding-top:3px;padding-bottom:5px}.unit-strip p{display:none}.practice-mode .practice-dock{height:148px;padding:8px 14px;gap:3px}.dock-caption p{display:none}.dock-actions{min-height:45px}.session-primary-group .session-primary{min-height:44px}.dock-bottom{min-height:30px}.dock-bottom audio{height:30px}.practice-mode .score-footer{display:none}.practice-mode .score-meta{padding-top:5px;padding-bottom:5px}.practice-mode main{gap:8px}}
.practice-mode .score-meta #tempo{display:none}
.practice-mode #editor-play{display:none}body:not(.practice-mode) .settings-drawer .practice-workbench{display:block;margin:18px 0;padding:12px}body:not(.practice-mode) .settings-drawer .loop-box{display:block;border:0;padding:16px 0}body:not(.practice-mode) .settings-drawer #recording-details{display:none}
/* A clear current-range chip and a touch-friendly segment picker. */
.practice-mode .unit-strip{padding-top:11px;padding-bottom:13px;align-items:center}.unit-strip>.unit-current{display:flex;align-items:center;flex-wrap:nowrap;gap:18px;min-width:0}.unit-current-button{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 13px 8px 9px;border:1px solid #dce6d4;border-radius:12px;background:#f5f8ef;text-align:left;min-width:270px;box-shadow:0 1px 2px #324b3010}.unit-current-button:hover{background:#edf3e5;border-color:#b9cda9}.unit-current-number{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:9px;background:#e2ebd7;color:#587447;font:500 19px/1 Georgia,serif;flex:none}.unit-current-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.unit-current-copy .unit-eyebrow{font-size:10px;font-weight:400;letter-spacing:.5px;color:#8a9a7e}.unit-current-copy strong{font-size:17px;line-height:1.2;font-weight:500;letter-spacing:.6px;color:#385b42;white-space:nowrap}.unit-current-chevron{margin-left:auto;color:#7c9470;font-size:20px;line-height:1;align-self:center;padding-left:16px}.unit-strip .unit-current>p{flex:none;margin:0;white-space:nowrap;color:#93a187;font-size:11px}.unit-strip>#select-range{background:transparent;border-color:transparent;color:#899a7a}.unit-strip>#select-range:hover{background:#f4f7ed;border-color:#e5ebdd}.unit-picker-dialog{width:800px;max-width:calc(100vw - 36px);padding:26px;border-radius:19px;background:#fcfdf8;max-height:88dvh;overflow:auto}.unit-picker-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.unit-picker-heading h2{font-size:26px;letter-spacing:2px;margin:10px 0 7px}.unit-picker-heading p{margin:0;color:#8c9c7d;font-size:12px}.unit-picker-heading>button{border:0;background:transparent;width:44px;min-height:44px;font-size:18px;color:#8c9c80;padding:5px}.unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:23px 0 20px}.unit-option{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 6px;text-align:left;background:#fffefa;border:1px solid #e0e7d8;border-radius:12px;padding:14px;min-height:113px;box-shadow:0 2px 4px #36512c04}.unit-option:hover{background:#f1f6e9;border-color:#bdcfae}.unit-option-number{font:12px/1.2 Georgia,serif;color:#92a181;grid-column:1;align-self:start;margin-bottom:7px}.unit-option-check{font-size:13px;color:#547647;grid-column:2;justify-self:end;align-self:start}.unit-option strong{font:500 25px/1.2 'Times New Roman',serif;letter-spacing:1px;color:#4b6541;grid-column:1}.unit-option-label{font-size:11px;color:#96a38b;align-self:end;padding-bottom:3px;grid-column:2}.unit-option-meta{grid-column:1/-1;font-size:10px;color:#9aa68d;margin-top:5px;white-space:nowrap}.unit-option[aria-pressed=true]{border-color:#7c9c65;background:#edf4e3;box-shadow:inset 0 0 0 1px #a9c28e}.unit-option[aria-pressed=true] strong{color:#34582f}.unit-option[aria-pressed=true] .unit-option-number{color:#5b7c43}.unit-custom{border-top:1px solid #e3e9db;padding-top:12px;font-size:12px;color:#7a8e6d}.unit-custom summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}.unit-custom summary::before{content:'＋';color:#839775;font-size:16px}.unit-custom[open] summary::before{content:'−'}.unit-custom-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:7px 0 5px;font-size:12px;color:#738867}.unit-custom-controls input{width:58px;min-height:44px;padding:8px;border:1px solid #dbe5d1;border-radius:7px;background:#fff;color:#3b5e37;font:14px system-ui}.unit-custom-controls button{margin-left:auto;min-height:44px;font-size:12px;background:#e8f0df;border-color:#d3e1c5;padding:8px 13px}.unit-custom #unit-picker-error{color:#a26948;font-size:12px;min-height:18px;margin:7px 0 0}.unit-picker-footnote{border-top:1px solid #e3e9db;padding-top:14px;font-size:10px!important;line-height:1.8;margin-bottom:0;color:#9aa68d!important}
@media(max-width:900px){.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-strip>.unit-current{gap:12px}.unit-current-button{min-width:250px}.unit-strip .unit-current>p{font-size:10px}}
@media(max-width:720px){.practice-mode .unit-strip{padding:10px 18px 12px;gap:6px}.unit-strip>.unit-current{flex-direction:column;align-items:flex-start;gap:6px}.unit-current-button{min-width:205px;min-height:59px;padding:7px 10px 7px 7px;gap:10px}.unit-current-number{width:38px;height:38px;font-size:17px}.unit-current-copy strong{font-size:15px}.unit-current-copy .unit-eyebrow{font-size:9px}.unit-current-chevron{font-size:18px;padding-left:6px}.unit-strip .unit-current>p{padding-left:2px;font-size:10px}.unit-strip>#select-range{font-size:11px;padding:6px 4px;min-width:57px;white-space:nowrap}.unit-picker-dialog{max-width:calc(100vw - 24px);padding:20px}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.unit-option{min-height:105px;padding:13px}.unit-option strong{font-size:25px}.unit-picker-heading h2{font-size:23px}.unit-picker-heading .eyebrow{font-size:8px;letter-spacing:2px}.unit-custom-controls{gap:8px}.unit-custom-controls button{width:100%;margin-top:5px}.unit-picker-footnote{font-size:10px!important}}
@media(max-height:620px) and (orientation:landscape){.practice-mode .unit-strip{padding-top:5px;padding-bottom:6px}.unit-current-button{min-height:48px;padding:4px 10px 4px 5px}.unit-current-number{width:34px;height:34px;font-size:16px}.unit-current-copy{gap:2px}.unit-current-copy strong{font-size:15px}.unit-strip .unit-current>p{display:none}.unit-picker-dialog{padding:18px;max-height:94dvh}.unit-grid{margin-top:14px;gap:8px}.unit-option{min-height:90px;padding:10px}}
/* Full-piece performance shares the score, with its own capture settings and history. */
.practice-experience,.performance-summary{display:none}.practice-mode .practice-experience{display:flex;align-items:center;gap:3px;padding:4px;background:#edf1e7;border:1px solid #e1e8d9;border-radius:10px;flex:none}.practice-experience button{border:0;background:transparent;min-height:40px;padding:7px 16px;border-radius:7px;color:#839276;font-size:13px;white-space:nowrap}.practice-experience button[aria-pressed=true]{background:#fffefa;color:#3d6247;box-shadow:0 1px 4px #30492816}.practice-mode .score-top{align-items:center;gap:15px;flex-wrap:wrap}.practice-mode .score-top>div:first-child{min-width:0;flex:1}.practice-mode .score-top h2{overflow-wrap:anywhere}.practice-mode[data-experience=performance] .unit-strip{display:none}.practice-mode[data-experience=performance] .performance-summary{display:flex;flex:none;align-items:center;justify-content:space-between;gap:18px;padding:17px 26px}.performance-summary strong{font-size:14px;font-weight:500;color:#69805d;letter-spacing:.5px}.performance-summary p{font-size:11px;line-height:1.7;color:#96a288;margin:5px 0 0}.performance-options{display:flex;align-items:center;gap:17px;flex:none}.performance-options label{display:flex;align-items:center;gap:7px;min-height:44px;font-size:12px;color:#819573;cursor:pointer}.performance-options input{width:18px;height:18px;accent-color:#577b49}.practice-mode[data-experience=performance] #unit-prev,.practice-mode[data-experience=performance] #unit-next{visibility:hidden}.practice-mode[data-experience=performance] #notation-legend{visibility:hidden}.practice-mode[data-experience=performance] #interaction-hint{visibility:hidden}.practice-mode[data-session-phase=performing] .session-primary{background:#8c7750;border-color:#8c7750}.dock-bottom #whole-review-open,.dock-bottom #return-to-unit{min-height:36px;padding:5px 9px;font-size:12px;border:0;background:#eef4e5;color:#5c7c49;white-space:nowrap}#unit-picker[data-purpose=review] .unit-custom{display:none}.unit-option:disabled{opacity:.45;background:#f5f6f0;cursor:default}.unit-option:disabled:hover{border-color:#e0e7d8}
@media(max-width:900px){.practice-experience button{padding:7px 12px}.performance-options{gap:12px}.performance-summary{padding-left:22px;padding-right:22px}}
@media(max-width:720px){.practice-mode .score-top{gap:10px;padding-bottom:2px}.practice-mode .score-top h2{font-size:23px}.practice-mode .score-top>div:first-child{flex-basis:100%}.practice-experience button{font-size:12px;padding:7px 13px;min-height:38px}.practice-mode[data-experience=performance] .performance-summary{padding:10px 18px;gap:10px;align-items:flex-start;flex-wrap:wrap}.performance-summary strong{font-size:13px}.performance-summary p{font-size:10px;margin-top:3px}.performance-options{gap:17px}.performance-options label{font-size:11px;min-height:36px}.performance-options input{width:18px;height:18px}.dock-bottom #whole-review-open,.dock-bottom #return-to-unit{font-size:10px;padding:4px 6px}}
@media(max-height:620px) and (orientation:landscape){.practice-mode .score-top>div:first-child{flex-basis:auto}.practice-mode .score-top{padding-bottom:0;flex-wrap:nowrap}.practice-experience button{min-height:34px;font-size:11px;padding:4px 12px}.practice-mode[data-experience=performance] .performance-summary{padding-top:5px;padding-bottom:5px}.performance-summary p{display:none}.performance-options label{min-height:32px}}
.practice-mode[data-experience=performance] .performance-summary{padding-top:10px;padding-bottom:10px}
/* Personal feedback stays in a focused sheet so the score remains uncluttered. */
.dock-bottom #notebook-open{border:0;background:transparent;color:#718363;min-height:36px;padding:5px 9px;font-size:12px;white-space:nowrap}
.notebook-dialog{width:640px;max-width:calc(100vw - 28px);max-height:90dvh;padding:26px;overflow:auto;color:#365344;background:#fcfdf8;border:1px solid #dbe4d2;border-radius:18px}.notebook-dialog h2{font-size:25px;margin:7px 0}.notebook-dialog h3{font-size:15px;margin:0 0 9px}.notebook-dialog>p,.notebook-dialog section p{color:#839377;font-size:12px;line-height:1.8}.notebook-dialog section{border-top:1px solid #e1e8d8;margin-top:20px;padding-top:20px}.notebook-buttons{display:flex;flex-wrap:wrap;gap:8px}.notebook-buttons button{font-size:12px;background:#f0f5e9;border-color:#dbe6d0}.notebook-buttons #pin-take{background:transparent;border-style:dashed}.issue-kinds{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.issue-kinds label{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 13px;background:#eef3e7;border-radius:8px;color:#627c50;font-size:13px;cursor:pointer}.issue-kinds input{width:18px;height:18px;accent-color:#55774a}.notebook-mark>label{display:block;font-size:12px;color:#87967b;margin:13px 0 6px}.notebook-mark textarea{display:block;width:100%;min-height:84px;padding:12px;border:1px solid #dce6d2;border-radius:9px;resize:vertical;font:14px/1.7 inherit;color:#365344;background:white;margin-bottom:12px}.notebook-mark .primary{font-size:13px;padding:8px 16px}.notebook-mark #notebook-message{color:#5a7949}.issue-card{border:1px solid #e0e7d8;border-radius:10px;padding:14px;margin:10px 0;background:white}.issue-card strong{font-size:13px;font-weight:500}.issue-card button{min-height:44px;font-size:12px;padding:7px 12px;margin-right:8px;background:#eff4e8;border-color:#dce6d2}.issue-card button:last-child{background:transparent;color:#8b987f}.notebook-dialog #issue-list,.notebook-dialog #resolved-list{font-size:12px;color:#8a987f;line-height:1.8}.notebook-dialog details{margin-top:20px}.notebook-dialog summary{min-height:44px;cursor:pointer;font-size:13px;color:#839276}.notebook-dialog button:disabled{opacity:.45;cursor:default}
@media(max-width:720px){.notebook-dialog{padding:20px;max-height:92dvh}.dock-bottom #notebook-open{font-size:10px;padding:4px 6px}.notebook-buttons button{flex:1 1 40%}.issue-kinds{gap:7px}.issue-kinds label{flex:1;justify-content:center;padding:7px 9px}}
.notebook-mark textarea{height:78px;min-height:78px;font-family:inherit;font-size:14px;line-height:1.6}.notebook-dialog .dialog-heading{position:sticky;top:-26px;background:#fcfdf8;z-index:2;padding-top:8px;padding-bottom:8px}.notebook-dialog section{margin-top:15px;padding-top:15px}.notebook-dialog .notebook-help{margin-bottom:8px}@media(max-width:720px){.notebook-dialog .dialog-heading{top:-20px}}
.dock-bottom #review-choice{max-width:100%;width:auto;min-height:38px;padding:6px 28px 6px 10px;font-size:12px;color:#5b774d;border-color:#dce5d1;background:#f3f7ed}
.notebook-dialog .notebook-mark{border-top:1px solid #e1e8d8;padding-top:12px;margin-top:15px}.notebook-dialog .notebook-mark>summary{font-size:14px;color:#718461}.notebook-dialog .notebook-mark[open]>summary{margin-bottom:10px}
.input-monitor{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 9px;font-size:11px;color:#859379}.input-monitor #mic-check{border:0;background:transparent;font-size:11px;min-height:36px;padding:4px 6px;color:#718667}.input-monitor #input-level-box{display:flex;align-items:center;gap:9px;flex:1;min-width:180px}.input-monitor meter{width:92px;height:12px;accent-color:#63834c}.input-monitor [data-signal=quiet],.input-monitor [data-signal=loud],#take-save-state[data-saved=false]{color:#a66e35}.input-monitor #take-save-state{margin-left:auto}.quick-compare{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.quick-compare button{font-size:12px;min-height:40px;background:#f0f4e8;color:#71815f;padding:6px 12px;border-color:#dfe7d5}.quick-compare button[aria-pressed=true]{background:#dfead4;border-color:#a5bd90;color:#36592d}.quick-compare button:disabled{opacity:.45}.dock-bottom:has(#quick-compare:not([hidden])) #review-choice{font-size:11px}.dock-bottom:has(#quick-compare:not([hidden])){flex-wrap:wrap}@media(max-width:720px){.input-monitor{gap:5px;margin-bottom:5px}.input-monitor #take-save-state{font-size:10px}.quick-compare button{min-height:44px;font-size:11px;padding:6px 9px}}
.practice-dock:has(#quick-compare:not([hidden])) #listen-current,.practice-dock:has(#quick-compare:not([hidden])) #listen-previous{display:none}
/* Let added capture/review rows determine height, keeping every control in view. */
.practice-mode .practice-dock{height:auto;min-height:0}.dock-bottom{flex:none;flex-wrap:wrap}.dock-bottom #listening-label{display:block;flex:1 0 100%;line-height:1.5}.dock-bottom audio{flex:1 1 180px;max-width:none}.dock-bottom #quick-compare{flex:none}.input-monitor{flex:none}
.recording-waveform{flex:none;padding:9px 12px;background:#f2f6ec;border:1px solid #e1e8d7;border-radius:9px}.waveform-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;line-height:1.5;color:#8a997d;margin-bottom:4px}.recording-waveform svg{display:block;width:100%;height:44px;overflow:hidden}.waveform-baseline{stroke:#d5dfca;stroke-width:1}.waveform-shape{stroke:#b7c8a4;stroke-width:3;stroke-linecap:round;fill:none}.waveform-played{stroke:#577b45;stroke-width:3;stroke-linecap:round;fill:none}.waveform-cursor{stroke:#b08a55;stroke-width:1.5}.practice-mode .practice-dock{gap:7px}.input-monitor{margin-bottom:2px}@media(max-height:720px){.recording-waveform{padding:5px 10px}.recording-waveform svg{height:32px}}
.history-filter-label{display:flex;align-items:center;gap:12px;font-size:13px;color:#718667;margin:18px 0 10px}.history-filter-label select{max-width:100%;font-size:13px;background:#f5f8ef}.history-storage{font-size:12px;color:#829473;line-height:1.8}#history-caption{font-size:12px;color:#8b997f;line-height:1.8}.take-card .danger-link{color:#ad674d;background:transparent}.library-search{flex-wrap:wrap}.library-search #library-full-backup{background:#edf3e5;color:#4d7141}.take-card button,.take-card a{min-height:44px;display:inline-flex;align-items:center}.take-card p{flex-basis:100%}
.account-dialog{width:560px;max-width:calc(100vw - 24px);max-height:92dvh;padding:25px;border-radius:16px;overflow:auto;background:#fcfdf8}.account-dialog h2{font-size:25px;margin:8px 0}.account-dialog h3{font-size:16px;margin:16px 0 12px}.account-dialog label{display:flex;flex-direction:column;gap:7px;margin:14px 0;color:#657d59;font-size:13px}.account-dialog input:not([type=checkbox]),.account-dialog select{width:100%;min-height:44px;padding:10px 12px;background:white;border:1px solid #dce5d1;border-radius:8px;font-size:15px;color:#355540}.account-dialog form>button{margin-top:8px;padding:10px 20px}.account-note,.account-dialog section>p{font-size:12px;line-height:1.8;color:#89977d}.account-buttons{display:flex;gap:8px;flex-wrap:wrap}.account-dialog details{border-top:1px solid #e1e7d8;margin-top:20px;padding-top:10px}.account-dialog summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#718363;font-size:13px}.account-dialog #account-message{font-size:13px;line-height:1.8;color:#8a6947;white-space:pre-line}.account-admin-link{display:inline-block;margin-top:12px;font-size:11px;color:#8c9a80}.account-dialog #recovery-code{height:85px;min-height:85px;font:14px/1.6 monospace}.account-dialog .recovery-check{flex-direction:row;align-items:center;min-height:44px}.recovery-check input{width:20px;height:20px}.app-header #account-open{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){.app-header .app-logo{font-size:19px}.app-actions #account-open{font-size:11px;max-width:108px;padding:7px}.account-dialog{padding:20px}.account-buttons button{flex:1 1 45%;font-size:12px}}

.confirmation-dialog{width:430px;max-width:calc(100vw - 28px);padding:26px;border:1px solid #dce5d1;border-radius:15px;background:#fffefa;color:#36533e}.confirmation-dialog h2{font-size:21px;margin:0 0 14px}.confirmation-dialog p{font-size:14px;line-height:1.8;color:#7b8e70}.confirmation-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.confirmation-actions button{min-height:44px;padding:9px 18px;border:1px solid #dce5d1;border-radius:8px;font-size:14px}.confirmation-dialog::backdrop{background:#2e4c3766;backdrop-filter:blur(3px)}
/* Official material is read-only; only the user's annotation layer is editable. */
body[data-score-access=official] .edit-controls,body[data-score-access=official] .structure-tools,body[data-score-access=official] .connection-tools,body[data-score-access=official] .recording-hint,body[data-score-access=official] .edit-hint,body[data-score-access=official] .score-actions{display:none!important}body[data-score-access=official] .technique-heading>strong::after{content:' · 个人标记';color:#8b9d79;font-size:12px;font-weight:400}body[data-score-access=official] .edit-heading>div>strong{font-size:0}body[data-score-access=official] .edit-heading>div>strong::after{content:'官方谱 · 只读，个人标记可编辑';font-size:14px;color:#6e865c}
.admin-authoring{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 15px;padding:14px 18px;background:#edf3e4;border:1px solid #dce6d1;border-radius:10px;font-size:13px;color:#617b50}.admin-authoring strong{margin-right:auto;font-weight:500}.admin-authoring button{font-size:13px;padding:7px 14px}.admin-authoring a{font-size:12px;color:#7f926e}.admin-authoring #admin-draft-status{flex-basis:100%;font-size:12px;line-height:1.7;color:#8c764c}.admin-authoring #admin-draft-status:empty{display:none}
.history-tools,.history-batch,.history-pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.history-tools input[type=search]{flex:1;min-width:180px}.history-tools label,.history-batch label{display:flex;align-items:center;gap:8px;font-size:13px}.history-tools select,.history-tools input[type=search],.history-batch button,.history-pagination button{min-height:44px}.history-batch{padding:10px 12px;border-radius:12px;background:#f3f6ed}.history-batch span{font-size:12px;color:#718667;margin-right:auto}.history-pagination{justify-content:center;font-size:13px}.take-card>input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:#58744b}.take-card p{flex-basis:calc(100% - 42px)}
#audio-history[open]{display:flex;flex-direction:column;height:min(900px,94dvh);max-height:94dvh;overflow:hidden;padding:24px}#audio-history>*{flex-shrink:0}#audio-history #history-list{flex:1 1 auto;min-height:100px;max-height:none;overflow:auto;overscroll-behavior:contain}#audio-history .take-card{position:relative;gap:10px;padding:14px 0}#audio-history .take-card>input[type=checkbox]{position:absolute;left:0;top:17px;margin:0}#audio-history .take-card p{flex-basis:100%;padding-left:34px;min-width:0;box-sizing:border-box}#audio-history .take-card button{font-size:12px;padding:8px 14px}#audio-history .history-pagination{margin:10px 0 0}#audio-history .history-tools{margin:8px 0}#audio-history .history-batch{margin:8px 0}#audio-history #history-caption{margin:6px 0 10px}#audio-history .history-storage{margin:8px 0}#audio-history .history-filter-label{margin:12px 0 0}
@media(max-height:650px){#audio-history[open]{padding:16px}#audio-history .dialog-heading h2{font-size:21px}#audio-history .history-tools input[type=search]{min-width:120px}#audio-history .history-batch{padding:5px 10px}}

.session-primary-group .latest-take-action{background:#e8f0e6;border:1px solid #8ca879;color:#294e37;font-weight:600;min-height:48px;padding:10px 16px;border-radius:11px}.session-primary-group .latest-take-action:hover{background:#dce9d8}
@media(max-width:720px){.session-primary-group .latest-take-action{min-height:42px;padding:7px 10px;font-size:12px}}
