:root{color:#e9ebf0;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101114;--panel:#17191f;--line:#ffffff0d;--muted:#7f8796;--text:#e9ebf0;--blue:#649cf3;--amber:#e9b163;background:#101114;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button{color:inherit}a{color:inherit;text-decoration:none}button{background:0 0;border:0}input[type=range]{accent-color:#b9c7df;cursor:pointer}button,select,input{transition:background .15s,color .15s,border-color .15s}button:hover{color:#fff}h1,h2,h3,p{margin:0}svg{flex-shrink:0}button svg{vertical-align:middle}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{grid-template-columns:224px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:#141519;flex-direction:column;height:100dvh;padding:31px 17px 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:-1.3px;align-items:center;gap:10px;padding:0 9px;font-family:Manrope,system-ui,sans-serif;font-size:26px;font-weight:750;display:flex}.brand-symbol{color:#e5e8ef;justify-content:center;align-items:center;display:flex}.brand-period{color:var(--blue)}.new-piece{color:#f0f2f6;background:#252931;border:1px solid #ffffff0c;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:41px;margin:32px 0 30px;font-size:12px;font-weight:550;display:flex}.new-piece:hover{background:#303642}.library-heading{color:#747c89;letter-spacing:1.05px;justify-content:space-between;align-items:center;gap:4px;padding:0 9px;font-size:9px;font-weight:600;display:flex}.library-heading>span:first-child{align-items:center;gap:7px;display:flex}.library-heading>span:last-child{color:#8d95a2;letter-spacing:0;font-size:10px}.piece-list{min-height:0;margin-top:13px;overflow:auto}.piece-item{border-radius:8px;margin-bottom:5px;position:relative}.piece-item.selected{background:#242832}.piece-select{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px;display:flex;position:relative}.piece-select>span:nth-child(2){flex:1;min-width:0;display:block}.piece-icon{color:#939cab;background:#ffffff06;border:1px solid #ffffff08;border-radius:5px;justify-content:center;align-items:center;width:31px;height:35px;display:flex}.piece-select strong{white-space:nowrap;text-overflow:ellipsis;max-width:134px;font-size:12px;font-weight:550;display:block;overflow:hidden}.piece-select small{color:#747e91;white-space:nowrap;text-overflow:ellipsis;max-width:134px;margin-top:5px;font-size:10px;display:block;overflow:hidden}.piece-current{background:#82aaf0;border-radius:50%;width:4px;height:4px;position:absolute;top:16px;right:10px}.piece-delete{opacity:0;position:absolute;bottom:3px;right:3px}.piece-item:hover .piece-delete,.piece-item:focus-within .piece-delete{opacity:1}.sidebar-bottom{margin-top:auto;padding:36px 10px 2px}.sidebar-bottom strong{font-size:12px;font-weight:500}.sidebar-bottom p{color:#6e7684;margin:6px 0 18px;font-size:11px;line-height:1.7}.connection{color:#717987;align-items:center;gap:6px;font-size:10px;display:flex}.connection i,.sound-label i,.local-badge i{background:#737b88;border-radius:50%;width:5px;height:5px}.connection i.online,.sound-label i.online{background:#6d9d85}.sidebar-mobile-close,.sidebar-scrim,.mobile-library{display:none!important}.workspace{background:radial-gradient(at 70% 8%,#20232c40,#0000 45%),#101114;min-width:0}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;height:69px;padding:0 39px;display:flex}.breadcrumb{color:#69717f;align-items:center;gap:12px;font-size:11px;display:flex}.topbar-actions{align-items:center;gap:24px;display:flex}.local-badge{letter-spacing:1px;color:#6c7786;align-items:center;gap:6px;font-size:9px;font-weight:500;display:flex}.text-button{color:#aab2c0;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:6px 0;font-size:11px;display:inline-flex}.text-button:hover{color:#e5edf9}.workspace-inner{max-width:1600px;margin:0 auto;padding:35px 39px 20px}.piece-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.eyebrow{color:#7e8898;letter-spacing:1.5px;align-items:center;gap:8px;font-size:9px;font-weight:550;display:flex}.eyebrow i{background:#4d586c;border-radius:50%;width:3px;height:3px}h1{letter-spacing:-1.2px;margin-top:8px;font-family:Manrope,system-ui,sans-serif;font-size:36px;font-weight:600;line-height:1.2}.piece-header p{color:#727d8e;margin-top:11px;font-size:11px;line-height:1.5}.source-actions{align-items:center;gap:8px;padding-top:16px;display:flex}.source-actions>button:not(.icon-button){color:#bdc4d0;background:#1c1f26;border:1px solid #ffffff0c;border-radius:7px;align-items:center;gap:8px;min-height:37px;padding:0 13px;font-size:11px;display:flex}.source-actions .youtube-button{color:#8c95a4;margin-left:2px}.icon-button{color:#858f9f;border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:4px;display:inline-flex}.icon-button.active{color:#d9e6fd}.message{border-radius:7px;align-items:center;gap:10px;min-width:0;margin-bottom:14px;padding:12px 14px;font-size:12px;line-height:1.5;display:flex}.message>span{flex:1}.message.error{color:#f0ad9f;background:#e9755510;border:1px solid #e98d7726}.message.job-message{color:#a8c8f5;background:#6b98db12;border:1px solid #6b98db26}.message .icon-button{flex-shrink:0;margin-left:auto}.player-panel{background:#15171c;border:1px solid #ffffff0d;border-radius:11px;position:relative;box-shadow:0 15px 55px #00000015}.player-toolbar{z-index:5;background:#191c22;border-bottom:1px solid #ffffff08;border-radius:11px 11px 0 0;align-items:center;gap:20px;min-height:79px;padding:16px 20px;display:flex;position:relative}.toolbar-group{min-width:0;position:relative}.control-label{letter-spacing:1.1px;color:#6d7788;margin-bottom:7px;font-size:8px;font-weight:550;display:block}.compact-control{align-items:center;gap:10px;display:flex}.compact-control .icon-button{color:#8f9aaa;width:22px;min-width:22px;height:22px;min-height:22px;font-size:17px}.compact-control output{font-variant-numeric:tabular-nums;text-align:center;min-width:42px;font-size:14px;font-weight:550}.compact-control output small{color:#7e8b9e;margin-left:3px;font-size:10px}.toolbar-divider{background:#ffffff09;width:1px;height:33px;margin:0 2px}.transpose-group select{color:#c2cad7;background:0 0;border:0;max-width:147px;min-height:22px;padding:0 20px 0 0;font-size:11px}.toolbar-spacer{flex:1}.hands-toggle{color:#bac3d2;white-space:nowrap;align-items:center;gap:5px;min-height:22px;padding:0;font-size:11px;display:flex}.hands-toggle>span:nth-last-child(2){margin:0 5px}.hand-dot{background:#a6a9b6;border-radius:2px;flex-shrink:0;width:6px;height:6px;display:inline-block}.hand-dot.left{background:var(--blue)}.hand-dot.right{background:var(--amber)}.hand-dot.unknown{background:#a6a9b6}.hand-dot.off{opacity:.25}.toolbar-volume{color:#728095;align-items:center;gap:9px;display:flex}.toolbar-volume input{accent-color:#94a1b4;width:65px;height:4px}.hands-popover{z-index:10;background:#242a34;border:1px solid #ffffff17;border-radius:9px;min-width:260px;padding:15px;position:absolute;top:54px;left:-55px;box-shadow:0 10px 25px #0007}.popover-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.popover-head strong{font-size:12px;font-weight:500}.hand-row{align-items:center;gap:10px;padding:5px 0;display:flex}.hand-row>span{flex:1;align-items:center;gap:8px;font-size:12px;display:flex}.hand-row .icon-button{background:#ffffff04}.roll-top{background:#14171d;justify-content:space-between;align-items:center;gap:10px;height:47px;padding:0 20px;display:flex}.roll-legend{align-items:center;gap:18px;display:flex}.roll-legend>span{letter-spacing:.8px;color:#778496;align-items:center;gap:6px;font-size:8px;display:flex}.roll-options{align-items:center;gap:17px;min-width:0;display:flex}.subtle-button{color:#7a879b;justify-content:center;align-items:center;gap:5px;min-height:23px;padding:3px 0;font-size:10px;display:inline-flex}.subtle-button.active{color:#b2c8eb}.sound-label{color:#667488;white-space:nowrap;align-items:center;gap:6px;font-size:9px;display:flex}.roll-stage{background:#14171d;height:clamp(290px,46dvh,600px);min-height:290px;position:relative}.piano-canvas{width:100%;height:100%;display:block}.timeline{align-items:center;gap:16px;min-height:42px;padding:23px 22px 7px;display:flex}.timeline-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.timeline-time span{color:#5f6c80;margin-left:5px;font-size:10px;font-weight:400}.timeline-track{flex:1;min-width:20px;position:relative}.timeline input{appearance:none;background:linear-gradient(to right,#a9bcd8 var(--progress),#2b3442 var(--progress));z-index:2;border:0;border-radius:2px;width:100%;height:3px;margin:0;display:block;position:relative}.timeline input::-webkit-slider-thumb{appearance:none;background:#cfdef4;border-radius:50%;width:9px;height:9px}.timeline input::-moz-range-thumb{background:#cfdef4;border:0;border-radius:50%;width:9px;height:9px}.timeline-duration{color:#6d7a8f;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px}.timeline-duration span{color:#536074}.loop-selection{pointer-events:none;z-index:1;background:#79a7ee2b;border-left:1px solid #82adee;border-right:1px solid #82adee;height:9px;position:absolute;top:-3px}.transport-bottom{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:14px 21px 19px;display:grid}.loop-controls{align-items:center;gap:8px;display:flex}.loop-toggle{color:#738198;align-items:center;gap:7px;margin-right:5px;padding:5px 0;font-size:10px;display:flex}.loop-toggle.active{color:#a9c8f7}.loop-point{color:#b9c8df;white-space:nowrap;border:1px solid #ffffff0a;border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:9px;display:flex}.loop-point span{color:#64738a;font-variant-numeric:tabular-nums}.loop-dash{color:#40506a;font-size:10px}.play-controls{align-items:center;gap:17px;display:flex}.play-button{color:#18202d;background:#e4ebf5;border-radius:50%;justify-content:center;align-items:center;min-width:46px;min-height:46px;display:flex;box-shadow:0 0 22px #c8dafa09}.play-button:hover{color:#0f1724;background:#fff}.play-button svg{stroke-width:1.5px}.play-button svg.lucide-play{margin-left:3px}.play-controls>.icon-button{color:#7f90a9}.transport-hint{color:#58677c;justify-self:end;align-items:center;gap:7px;font-size:9px;display:flex}.transport-hint>span{color:#6d7f98;border:1px solid #ffffff0b;border-radius:3px;padding:3px 6px;font-size:8px}.below-player{color:#647189;justify-content:space-between;align-items:center;gap:20px;padding:17px 3px 0;display:flex}.keyboard-settings{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.keyboard-settings>svg{margin-right:2px}.keyboard-settings select{color:#8491a5;background:0 0;border:0;width:86px;min-height:24px;padding:0;font-size:10px}.settings-separator{background:#ffffff0d;width:1px;height:12px;margin:0 7px}.labels-toggle{color:#738197;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex}.labels-toggle input{accent-color:#a4b8d9;width:11px;height:11px;margin:0}.anticipation{color:#72829a;white-space:nowrap;align-items:center;gap:9px;font-size:10px;display:flex}.anticipation input{width:75px;height:3px}.workspace-footer{color:#4f5d72;border-top:1px solid #ffffff06;justify-content:space-between;align-items:center;gap:15px;margin-top:32px;padding-top:17px;font-size:9px;display:flex}.workspace-footer>span{align-items:center;gap:6px;display:flex}.workspace-footer>div{align-items:center;gap:14px;display:flex}.score-preview{color:#15171b;background:#fff;height:100%;padding:20px;overflow:auto}.score-preview>p{color:#a53326;padding-bottom:10px;font-size:12px}.warnings{color:#8d9bad;margin-top:20px;font-size:11px;line-height:1.7}.warnings summary{cursor:pointer;color:#c0a477}.warnings ul{margin:10px 0;padding-left:20px}.note-editor{background:#191e26;border:1px solid #ffffff0a;border-radius:8px;margin-top:18px;padding:14px 17px}.editor-title{align-items:center;gap:13px;margin-bottom:13px;font-size:11px;display:flex}.editor-title strong{font-weight:500}.editor-title .icon-button{margin-left:auto}.editor-controls{align-items:center;gap:20px;display:flex}.editor-controls label{color:#8b99ad;align-items:center;gap:10px;font-size:10px;display:flex}.editor-controls label:first-child{flex:1;min-width:0}.editor-controls select{color:#c3cede;background:#252d39;border:1px solid #ffffff0b;border-radius:5px;max-width:100%;padding:7px 9px;font-size:11px}.editor-controls label:first-child select{width:100%;min-width:0}.import-dialog{color:#e9ebf0;background:#1a1d24;border:1px solid #ffffff12;border-radius:17px;width:calc(100% - 32px);max-width:570px;max-height:calc(100dvh - 32px);padding:28px 30px 23px;box-shadow:0 30px 100px #0008}.import-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080a0fc7}.dialog-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}.dialog-heading .eyebrow{color:#7c8ca5;font-size:9px}.import-dialog h2{letter-spacing:-.9px;font-family:Manrope,system-ui,sans-serif;font-size:27px;font-weight:550;line-height:1.3}.import-tabs{background:#12151b;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;margin:26px 0 20px;padding:4px;display:grid}.import-tabs button{color:#8390a5;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:38px;font-size:11px;display:flex}.dropzone{color:#91a0b6;text-align:center;background:#161b23;border:1px dashed #3b4658;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:195px;padding:25px 18px;display:flex}.dropzone-icon{color:#9bb9e5;background:#252f3e;border-radius:12px;justify-content:center;align-items:center;min-width:52px;min-height:52px;margin-bottom:4px;display:flex}.dropzone strong{overflow-wrap:anywhere;max-width:100%;font-size:13px;font-weight:500}.dropzone>span:last-child{color:#6d7d95;font-size:10px}.dropzone.has-file{border-style:solid;border-color:#6689b54d}.import-formats{justify-content:space-between;gap:12px;margin-top:18px;padding:0 4px;display:flex}.import-formats>span{color:#72839d;align-items:center;gap:6px;font-size:9px;display:flex}.dialog-footer{border-top:1px solid #ffffff0b;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.dialog-footer>span{color:#65778f;align-items:center;gap:5px;font-size:10px;display:flex}.button{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 14px;font-size:11px;font-weight:550;display:inline-flex}.button.danger{color:#fff;background:#b85b55}.youtube-import{margin-bottom:18px}.youtube-import>label,.engine-control>label{color:#96a4b9;margin-bottom:8px;font-size:11px;display:block}.youtube-import input{color:#c9d7ed;background:#151a22;border:1px solid #3b4658;border-radius:7px;width:100%;padding:11px 12px;font-size:12px}.youtube-import p{color:#7788a1;margin-top:9px;font-size:10px;line-height:1.65}.engine-control{justify-content:space-between;align-items:center;gap:15px;margin-top:20px;display:flex}.engine-control>label{margin:0}.engine-control select{color:#c0cfe5;background:#252e3c;border:1px solid #ffffff0e;border-radius:6px;min-width:175px;padding:8px;font-size:11px}.engine-status{color:#7a8da8;margin-top:13px;font-size:10px;line-height:1.65}.engine-status>.subtle-button{margin-left:10px}.import-dialog .message{margin-top:15px;margin-bottom:0}.recorder{text-align:center;flex-direction:column;align-items:center;padding:20px 10px 12px;display:flex}.record-symbol{color:#9dbbe6;background:#2a3443;border-radius:50%;justify-content:center;align-items:center;width:65px;height:65px;margin-bottom:18px;display:flex}.recorder strong{font-size:15px;font-weight:500}.recorder p{color:#8292a9;max-width:340px;margin:10px 15px 20px;font-size:11px;line-height:1.7}.spinning{animation:1.3s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1600px){.workspace-inner{padding-top:42px}.piece-header{margin-bottom:35px}.roll-stage{height:clamp(420px,49dvh,690px)}}@media (width<=1200px){.app-shell{grid-template-columns:194px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.brand{font-size:24px}.topbar{padding:0 27px}.workspace-inner{padding:30px 27px 18px}.player-toolbar{gap:13px;padding:15px 17px}.toolbar-divider{margin:0}.toolbar-volume input{width:46px}.toolbar-volume{gap:6px}.hands-toggle>span:nth-last-child(2){margin:0 3px;font-size:10px}.transpose-group select{max-width:130px;font-size:10px}.transport-hint{display:none}.transport-bottom{grid-template-columns:1fr auto 1fr}.loop-controls{grid-column:1}.play-controls{grid-column:2}.timeline-duration span{display:none}.source-actions{gap:5px}.source-actions>button:not(.icon-button){padding:0 11px}.sidebar-bottom p{font-size:10px}}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.sidebar.is-open{z-index:50;width:230px;height:100dvh;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-mobile-close{position:absolute;top:12px;right:10px;display:flex!important}.sidebar-scrim{z-index:40;background:#0009;position:fixed;inset:0;display:block!important}.mobile-library{margin-left:-6px;margin-right:2px;display:inline-flex!important}.topbar{height:58px}.topbar-actions{gap:16px}.workspace-inner{padding-top:26px}.piece-header{margin-bottom:24px}.roll-stage{height:clamp(300px,48dvh,560px)}.player-toolbar{gap:20px}.transport-hint{display:flex}.toolbar-volume input{width:65px}.piece-select strong,.piece-select small{max-width:150px}}@media (width<=720px){.workspace-inner{padding:23px 17px 17px}.topbar{padding:0 17px}.local-badge{display:none}.piece-header{align-items:flex-start;gap:10px;margin-bottom:21px}h1{font-size:30px}.piece-header p{max-width:360px;font-size:10px}.source-actions{flex-wrap:wrap;justify-content:flex-end;max-width:155px;padding-top:10px}.source-actions>button:not(.icon-button){justify-content:center;min-width:35px;padding:0 8px}.source-actions>button>span{display:none}.source-actions .youtube-button{min-width:30px}.eyebrow{letter-spacing:1px;gap:5px;font-size:8px}.player-toolbar{gap:13px;min-height:75px;padding:13px 14px}.toolbar-volume,.toolbar-spacer{display:none}.toolbar-divider{height:31px}.hands-toggle>span:nth-last-child(2){display:none}.hands-toggle{gap:5px}.hands-toggle svg{margin-left:5px}.fullscreen-button{margin-left:auto}.transpose-group{flex:1}.transpose-group select{width:100%;max-width:140px}.compact-control{gap:4px}.compact-control output{min-width:38px;font-size:13px}.control-label{letter-spacing:.9px;font-size:7px}.roll-top{height:43px;padding:0 13px}.roll-legend{gap:12px}.roll-legend>span{letter-spacing:.5px;font-size:7px}.sound-label{display:none}.roll-options{gap:13px}.roll-stage{height:clamp(300px,48dvh,480px);min-height:300px}.hands-popover{min-width:240px;left:auto;right:-35px}.transport-bottom{grid-template-columns:1fr auto;gap:15px;padding:12px 14px 16px}.transport-hint{display:none}.play-controls{grid-column:2;gap:12px}.play-button{min-width:43px;min-height:43px}.loop-toggle>span{display:none}.loop-toggle{margin-right:2px}.loop-controls{gap:5px}.loop-point{padding:4px;font-size:8px}.loop-point span{font-size:8px}.timeline{gap:13px;padding:18px 15px 6px}.timeline-duration{display:none}.timeline-time{font-size:10px}.timeline-time span{font-size:9px}.below-player{flex-wrap:wrap;gap:12px}.anticipation{margin-left:auto}.labels-toggle{font-size:9px}.workspace-footer{align-items:flex-start;gap:13px;margin-top:24px;font-size:8px}.workspace-footer>span{max-width:230px;line-height:1.5}.workspace-footer>div{flex-wrap:wrap;justify-content:flex-end;gap:10px}.workspace-footer .subtle-button,.workspace-footer a{font-size:9px}.editor-title{flex-wrap:wrap;gap:4px}.editor-title span{order:3;width:100%}.editor-controls{flex-wrap:wrap;gap:12px}.editor-controls label:first-child{flex-basis:100%}.editor-controls label{flex:1}.piece-delete{opacity:1}.piece-delete.icon-button{min-width:22px;min-height:22px}}@media (width<=430px){.workspace-inner{padding-left:10px;padding-right:10px}.topbar{padding:0 12px}.topbar-actions .text-button{font-size:10px}.breadcrumb{gap:7px;font-size:10px}.piece-header{padding:0 3px}.piece-header p{max-width:220px;line-height:1.8}.piece-header .meta-separator{margin:0 5px}.eyebrow{letter-spacing:.7px;font-size:7px}.source-actions{gap:3px;max-width:89px}.source-actions>button:not(.icon-button){min-width:32px;min-height:32px;padding:0 6px}.source-actions .youtube-button{min-width:26px;min-height:28px}.player-toolbar{gap:10px;padding:12px 10px}.toolbar-divider,.fullscreen-button{display:none}.control-label{letter-spacing:.6px}.transpose-group select{max-width:120px}.hands-group{margin-left:auto}.hands-toggle{gap:4px}.roll-top{gap:3px;padding:0 10px}.roll-legend{gap:9px}.roll-options{gap:6px}.roll-options .subtle-button{font-size:9px}.roll-stage{height:325px}.timeline{gap:10px;padding-left:12px;padding-right:12px}.transport-bottom{gap:7px;padding-left:10px;padding-right:10px}.play-controls{gap:7px}.play-controls>.icon-button{min-width:26px}.play-button{min-width:40px;min-height:40px}.loop-controls{gap:4px}.loop-point{gap:3px;font-size:8px}.loop-dash{display:none}.loop-toggle{margin-right:0}.below-player{gap:12px;padding:14px 3px 0}.anticipation{justify-content:flex-end;width:100%;margin-left:0}.keyboard-settings{gap:6px}.keyboard-settings select{width:79px;font-size:9px}.settings-separator{margin:0 3px}.workspace-footer{flex-direction:column;gap:8px}.workspace-footer>span{max-width:100%}.workspace-footer>div{align-self:flex-end}.import-dialog{padding:23px 19px 20px}.import-dialog h2{font-size:23px}.dialog-intro{font-size:11px}.import-tabs{margin-top:22px}.import-tabs button{gap:5px;font-size:10px}.dropzone{min-height:180px;padding:20px 10px}.dropzone strong{font-size:12px}.dropzone>span:last-child{font-size:9px}.dialog-footer{flex-direction:column-reverse;align-items:stretch;gap:14px}.dialog-footer>span{justify-content:center}.engine-control{flex-direction:column;align-items:stretch;gap:8px}.import-formats{gap:6px}.import-formats>span{gap:4px;font-size:8px}.import-formats svg{width:12px}}@media (height<=620px) and (orientation:landscape){.topbar{height:45px}.workspace-inner{padding-top:18px}.piece-header{margin-bottom:17px}h1{font-size:25px}.piece-header p{margin-top:6px}.player-toolbar{min-height:65px;padding-top:10px;padding-bottom:10px}.roll-stage{height:300px;min-height:260px}.roll-top{height:33px}.workspace-footer{margin-top:17px}}@media (pointer:coarse){.icon-button{min-width:36px;min-height:36px}.compact-control .icon-button{min-width:30px;min-height:30px}.new-piece{min-height:44px}.source-actions>button:not(.icon-button){min-height:40px}.hands-toggle{min-height:30px}.loop-toggle,.loop-point{min-height:34px}.keyboard-settings .icon-button{min-width:30px;min-height:30px}.toolbar-volume input,.anticipation input{min-height:18px}.timeline-track:before{content:"";position:absolute;inset:-12px 0}.timeline input{min-height:8px}.import-tabs button,.button{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}.spinning{animation:none}}.tempo-source-button{color:#8b9ab0;font-size:inherit;text-underline-offset:3px;padding:0;-webkit-text-decoration:underline #8b9ab035;text-decoration:underline #8b9ab035}.tempo-editor{color:#8e9db3;background:#1a222e;border:1px solid #ffffff0a;border-radius:7px;flex-wrap:wrap;align-items:center;gap:11px;margin:-7px 0 18px;padding:11px 14px;font-size:11px;display:flex}.tempo-editor input{color:#d7e2f2;background:#111822;border:1px solid #ffffff15;border-radius:4px;width:68px;padding:6px 8px}.tempo-editor .text-button{margin-left:auto}.notation-stale{color:#c4ac83;background:#ab7f2810;border-top:1px solid #b8882a16;border-bottom:1px solid #b8882a16;padding:10px 15px;font-size:10px;line-height:1.6}@media (width>=1001px) and (height<=850px){.workspace-inner{padding-top:23px}.piece-header{margin-bottom:19px}h1{font-size:31px}.piece-header p{margin-top:8px}.player-toolbar{min-height:69px;padding-top:12px;padding-bottom:12px}.roll-top{height:39px}.roll-stage{height:clamp(190px,100dvh - 440px,480px);min-height:190px}.timeline{padding-top:17px}.transport-bottom{padding-top:11px;padding-bottom:15px}.workspace-footer{margin-top:22px}}:fullscreen .app-shell{height:100dvh;min-height:0;display:block}:is(:fullscreen .sidebar,:fullscreen .topbar,:fullscreen .piece-header,:fullscreen .below-player,:fullscreen .workspace-footer,:fullscreen .note-editor,:fullscreen .warnings,:fullscreen .tempo-editor){display:none!important}:fullscreen .workspace{height:100dvh}:fullscreen .workspace-inner{flex-direction:column;max-width:none;height:100%;padding:12px;display:flex}:fullscreen .player-panel{flex-direction:column;flex:1;min-height:0;display:flex}:fullscreen .player-toolbar{flex-shrink:0;min-height:64px;padding-top:10px;padding-bottom:10px}:fullscreen .roll-top{flex-shrink:0;height:33px}:fullscreen .roll-stage{flex:1;height:auto;min-height:80px}:is(:fullscreen .timeline,:fullscreen .transport-bottom){flex-shrink:0}:fullscreen .timeline{padding-top:15px}:fullscreen .transport-bottom{padding-top:10px;padding-bottom:12px}:fullscreen .fullscreen-button{display:inline-flex!important}:fullscreen .message{flex-shrink:0;margin-bottom:8px}:fullscreen .notation-stale{display:none}.piece-title-row{align-items:center;gap:8px;min-width:0;display:flex}.piece-title-row h1{overflow-wrap:anywhere}.piece-title-row .icon-button{color:#65738a;flex-shrink:0;margin-top:8px}.tempo-editor #piece-title{width:min(330px,70vw)}.editor-actions{color:#8393aa;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;font-size:10px;display:flex}.editor-actions>.subtle-button{background:#ffffff03;border:1px solid #ffffff10;border-radius:5px;min-height:33px;padding:7px 9px}.editor-actions .danger-text{color:#d5988a}.inline-field{color:#8b99ad;align-items:center;gap:8px;font-size:10px;display:flex}.inline-field input,.inline-field select,.editor-controls input,.editor-note-picker select,.pages-field input{color:#c3cede;background:#252d39;border:1px solid #ffffff0f;border-radius:5px;max-width:100%;min-height:33px;padding:7px 9px;font-size:11px}.inline-field input{width:100px}.editor-note-picker{color:#8292a9;align-items:center;gap:9px;margin:14px 0;font-size:10px;display:flex}.editor-note-picker label{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.editor-note-picker select{width:100%;min-width:0;max-width:620px}.editor-controls{flex-wrap:wrap;gap:14px}.editor-controls label,.editor-controls label:first-child{flex-direction:column;flex:1;align-items:flex-start;gap:6px;min-width:90px;display:flex}.editor-controls input,.editor-controls select{width:100%;min-height:33px}.editor-tools{color:#8a9bb3;border-top:1px solid #ffffff0b;margin-top:13px;padding-top:13px;font-size:11px}.editor-tools summary,.practice-options summary,.source-comparison summary{cursor:pointer;color:#99abc5}.editor-tools p,.practice-options p,.source-comparison p,.import-preview p{color:#70839f;margin-top:9px;font-size:10px;line-height:1.7}.practice-options,.source-comparison{color:#7c8da7;background:#171d25;border:1px solid #ffffff09;border-radius:7px;margin-top:17px;padding:12px 15px;font-size:10px}.practice-options .editor-actions{margin-bottom:0}.source-comparison audio,.import-preview audio{width:100%;max-width:580px;height:36px;margin:12px 0;display:block}.source-comparison a{color:#aac6ef;margin-top:12px;text-decoration:underline;display:inline-block}.hands-popover{min-width:330px}.hand-volume{flex:0 0 65px;width:65px;min-width:0}.hand-row{gap:8px}.count-in{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650}.import-preview{color:#96a4b9;margin-top:18px;font-size:11px}.import-preview .editor-actions{margin-bottom:0}.pages-field{color:#96a4b9;flex-direction:column;gap:8px;margin-top:18px;font-size:11px;display:flex}.pages-field small{color:#70839f;font-size:10px}.midi-tracks{border:1px solid #ffffff13;border-radius:6px;flex-direction:column;gap:12px;max-height:230px;margin:18px 0 0;padding:13px;display:flex;overflow:auto}.midi-tracks legend{color:#96a4b9;padding:0 5px;font-size:11px}.midi-tracks .labels-toggle{white-space:normal;line-height:1.6}.record-meter{width:200px;height:12px;margin:-6px 0 16px}:is(:fullscreen .practice-options,:fullscreen .source-comparison,:fullscreen .midi-practice){display:none!important}@media (width<=720px){.editor-controls label:first-child{flex-basis:auto}.editor-controls label{min-width:100px}.editor-actions{gap:10px}.editor-note-picker{flex-wrap:wrap}.editor-note-picker label{flex-basis:100%}.editor-title span{line-height:1.6}.hands-popover{min-width:300px;right:-48px}.hand-row>span{min-width:95px;font-size:11px}.hand-volume{flex-basis:56px;width:56px}.piece-title-row{gap:2px}.piece-title-row .icon-button{min-width:25px}.practice-options .inline-field{flex-wrap:wrap}.editor-actions .labels-toggle{white-space:normal;line-height:1.6}}.midi-practice{color:#7c8da7;background:#171d25;border:1px solid #ffffff09;border-radius:7px;margin-top:17px;padding:12px 15px;font-size:10px}.midi-practice summary{cursor:pointer;color:#99abc5}.practice-controls{flex-wrap:wrap;align-items:center;gap:14px;margin:12px 0;display:flex}.practice-controls>label{align-items:center;gap:8px;line-height:1.6;display:flex}.practice-controls select{color:#c3cede;background:#252d39;border:1px solid #ffffff0f;border-radius:5px;min-height:33px;padding:6px 9px}.practice-hands{border:1px solid #ffffff10;border-radius:5px;gap:12px;padding:9px 12px;display:flex}.practice-hands label{align-items:center;gap:5px;display:flex}.practice-hands legend{padding:0 5px;font-size:9px}.midi-practice p{color:#7d90ad;margin-top:8px;line-height:1.7}.practice-feedback strong{color:#bdcde6;font-weight:500}.reference-link{color:#71849f;margin-top:16px;font-size:10px;line-height:1.7}.reference-link a{color:#aac6ef;text-underline-offset:3px;text-decoration:underline}.job-message{flex-wrap:wrap}.job-message .text-button{white-space:normal}.piece-name-field{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.piece-name-field input{color:#d4e0f2;background:#151a22;border:1px solid #3b4658;border-radius:7px;width:100%;min-height:38px;padding:10px 12px;font-size:12px}.audio-measurements{color:#8092ad;flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px;font-size:10px;display:flex}.audio-measurements strong,.audio-measurements output{color:#b5c8e4;font-variant-numeric:tabular-nums;font-weight:500}:fullscreen .audio-diagnostics{display:none!important}.midi-track-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.midi-track-row .inline-field{margin-left:auto}.midi-track-row select{max-width:100%;min-height:36px}.source-side-by-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.source-side-by-side section{color:#273342;background:#fff;border:1px solid #ffffff12;border-radius:6px;min-width:0;overflow:auto}.source-side-by-side h3{background:#edf1f6;padding:12px;font-size:11px}.source-side-by-side iframe{border:0;width:100%;height:600px;min-height:300px;display:block}.source-side-by-side img{width:100%;height:auto;display:block}.source-side-by-side .sheet-preview{max-height:600px;overflow:auto}@media (width<=900px){.source-side-by-side{grid-template-columns:minmax(0,1fr)}.source-side-by-side iframe{height:450px}}@media (pointer:coarse){button:not(.dropzone):not(.piece-select),select,input:not([type=checkbox]):not([type=radio]):not([type=range]){min-width:44px!important;min-height:44px!important}summary,.labels-toggle,.practice-hands label,.practice-controls>label{min-height:44px}summary{padding-top:10px;padding-bottom:10px}.source-comparison a,.reference-link a,.workspace-footer a{align-items:center;min-height:44px;display:inline-flex}input[type=range]{min-height:44px}.timeline input{background:0 0;height:44px}.timeline input::-webkit-slider-runnable-track{background:linear-gradient(to right,#a9bcd8 var(--progress),#2b3442 var(--progress));border-radius:2px;height:4px}.timeline input::-webkit-slider-thumb{width:10px;height:10px;margin-top:-3px}.timeline input::-moz-range-track{background:linear-gradient(to right,#a9bcd8 var(--progress),#2b3442 var(--progress));border-radius:2px;height:4px}.timeline input::-moz-range-thumb{width:10px;height:10px}.roll-top{min-height:44px}.hands-popover{max-width:calc(100vw - 24px)}.hand-row{gap:6px}.hand-row>span{min-width:88px}@media (height<=620px) and (orientation:landscape){:fullscreen .workspace-inner{padding:4px}:fullscreen .player-toolbar{gap:8px;min-height:63px;padding:3px 8px}:fullscreen .control-label{margin-bottom:2px}:fullscreen .roll-top{height:44px;padding:0 8px}:fullscreen .timeline{gap:8px;min-height:44px;padding:0 8px}:fullscreen .transport-bottom{gap:8px;min-height:48px;padding:0 8px 4px}:fullscreen .play-controls{gap:6px}:fullscreen .loop-controls{gap:4px}:fullscreen .transport-hint{display:none}:fullscreen .roll-stage{min-height:80px}}}.learning-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.learning-heading h2{color:#d7e3f5;letter-spacing:-.1px;font-size:14px;font-weight:550}.learning-heading p{margin-top:5px}.learning-badge{color:#8c9db5;white-space:nowrap;border:1px solid #ffffff15;border-radius:20px;padding:5px 8px;font-size:9px}.learning-connect{color:#dae8ff;background:#314563;border-radius:6px;align-items:center;gap:7px;min-height:36px;padding:7px 12px;font-size:11px;display:inline-flex}.learning-meter meter{width:80px;height:12px}.learning-practice p strong{color:#a9bbd4;font-weight:550}.learning-practice .practice-hands{flex-wrap:wrap;margin:0}.learning-practice .message.error{margin:12px 0 0}.learning-status{color:#9bb0d0;background:#1b2331;border-top:1px solid #ffffff0a;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;font-size:11px;display:flex}.learning-status-copy{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.learning-status-title{align-items:center;gap:7px;display:flex}.learning-note-list{flex-wrap:wrap;gap:5px;display:flex}.learning-note{color:#ffe1a6;white-space:nowrap;border:1px solid #e9b16340;border-radius:4px;align-items:center;min-height:25px;padding:3px 7px;font-size:11px;font-weight:600;display:inline-flex}.learning-stop{color:#c3cddd;border:1px solid #ffffff1c;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;min-height:30px;padding:5px 7px;font-size:10px;display:inline-flex}.learning-skip{color:#c7bb9f;text-underline-offset:3px;min-height:30px;font-size:10px;text-decoration:underline}.learning-status-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.learning-unsupported{color:#d6b882;flex-basis:100%;font-size:10px;line-height:1.5}:fullscreen .learning-status{max-height:100px;padding:6px 10px;font-size:10px;overflow:auto}:fullscreen .learning-note{min-height:22px;font-size:10px}:fullscreen .learning-status .text-button{font-size:10px}:fullscreen .learning-status .learning-status-actions{gap:5px}@media (width<=720px){.learning-practice{padding:13px 12px}.learning-heading{align-items:flex-start}.learning-status{align-items:flex-start;padding:8px 10px}.learning-status-copy{gap:7px}.learning-status-actions{flex-direction:column;align-items:flex-end;gap:3px}.learning-practice .practice-controls select{min-width:0;max-width:100%}.learning-practice .practice-controls>label{flex-wrap:wrap}}@media (height<=620px) and (orientation:landscape){:fullscreen .learning-status{max-height:56px;padding:2px 8px}:fullscreen .learning-status-copy{gap:4px 8px}:fullscreen .learning-status .learning-note{min-height:20px;padding:2px 5px}:fullscreen .learning-status-actions{flex-direction:row;align-items:center}:fullscreen .learning-status .learning-stop{font-size:9px}:fullscreen .learning-status .learning-skip{font-size:9px}}.trash-bin{color:#8997ad;border-top:1px solid #ffffff0c;margin:18px 8px 0;padding-top:12px;font-size:10px}.trash-bin summary{cursor:pointer;align-items:center;gap:7px;min-height:30px;display:flex}.trash-bin summary>span{font-variant-numeric:tabular-nums;margin-left:auto}.trash-bin p{color:#74849a;margin:8px 0;font-size:10px;line-height:1.6}.trash-bin ul{max-height:190px;margin:7px 0;padding:0;list-style:none;overflow:auto}.trash-bin li{align-items:center;gap:5px;padding:4px 0;display:flex}.trash-bin li>span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.trash-bin li>div{flex-shrink:0;gap:2px;display:flex}.trash-bin .danger-text{color:#c18b82}.delete-dialog{color:#d4ddeb;background:#1b222e;border:1px solid #4c5669;border-radius:12px;width:calc(100% - 32px);max-width:460px;padding:24px;box-shadow:0 25px 90px #0008}.delete-dialog::backdrop{background:#0009}.delete-dialog .dialog-heading h2{font-size:19px;line-height:1.4}.delete-dialog p{color:#aab8ce;overflow-wrap:anywhere;margin-top:12px;font-size:12px;line-height:1.7}.delete-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:22px;display:flex}:fullscreen .trash-bin{display:none!important}:root{--bg:#0f141d;--panel:#18212f;--line:#a9bdd51f;--muted:#a1aec1;--text:#eaf0f9;--blue:#91b9ff;--amber:#f0bf79;--surface-raised:#202c3e;--surface-input:#111a27;--radius-panel:16px;color:var(--text);background:var(--bg);font-size:14px;line-height:1.5}[hidden]{display:none!important}body{background:var(--bg)}button,input,select,summary{font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #a5c9ff}button:disabled{opacity:.48}summary{cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--blue)}.skip-link{z-index:100;color:#14283f;background:#e5efff;border-radius:9px;align-items:center;min-height:44px;padding:10px 15px;font-size:14px;display:flex;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:none}.app-shell{grid-template-columns:246px minmax(0,1fr)}.sidebar{border-color:var(--line);background:#141c28;padding:30px 16px 20px}.brand{letter-spacing:-1.2px;gap:10px;padding:0 8px;font-size:27px}.brand-logo{filter:none;width:166px;max-width:100%;height:auto;display:block}.brand-symbol{color:#b6d0ff;background:#91b9ff0d;border:1px solid #91b9ff26;border-radius:11px;width:36px;height:36px}.new-piece{color:#d4e4ff;background:#91b9ff15;border-color:#91b9ff35;border-radius:10px;min-height:46px;margin:28px 0 24px;padding:0 14px;font-size:14px;font-weight:600}.new-piece:hover{background:#91b9ff22;border-color:#91b9ff55}.library-heading{color:#a3b1c5;letter-spacing:.055em;padding:0 7px;font-size:12px}.library-heading>span:last-child{color:#a3b1c5;font-size:12px}.library-search{border:1px solid var(--line);background:var(--surface-input);color:#98aac3;border-radius:10px;align-items:center;gap:8px;min-width:0;min-height:44px;margin:14px 3px 4px;padding:0 10px;display:flex}.library-search:focus-within{border-color:#91b9ff80}.library-search input{width:100%;min-width:0;min-height:42px;color:var(--text);background:0 0;border:0;outline:0;padding:7px 0;font-size:13px}.library-search input::placeholder{color:#99a8bd}.piece-list{scrollbar-width:thin;flex:1;margin-top:10px}.piece-item{border:1px solid #0000;border-radius:11px;margin:0 0 6px}.piece-item.selected{background:#26354c;border-color:#91b9ff24}.piece-select{border-radius:10px;gap:10px;min-height:74px;padding:12px 44px 12px 11px}.piece-select:hover{background:#a9c3ed09}.piece-select strong{color:#e0e8f4;max-width:147px;font-size:14px;font-weight:550}.piece-select small{color:#9bacbf;max-width:147px;margin-top:4px;font-size:12px}.piece-icon{color:#a4b5cc;background:#a9c3ed09;border-radius:8px;width:34px;height:38px}.selected .piece-icon{color:#b5d0ff;background:#91b9ff15;border-color:#91b9ff25}.piece-current{background:var(--blue);width:5px;height:5px;top:14px}.piece-delete{background:#182436;bottom:0;right:0}.piece-delete.icon-button{min-width:44px;min-height:44px}.library-empty{color:#a3b3c9;padding:20px 10px;font-size:13px;line-height:1.7}.library-empty strong{color:#d4e2f4;margin-bottom:5px;font-size:14px;display:block}.sidebar-bottom{flex-shrink:0;padding:22px 9px 0}.sidebar-bottom strong{color:#d3dfef;font-size:13px}.sidebar-bottom p{color:#9aaac0;margin-bottom:13px;font-size:12px;line-height:1.65}.privacy-icon{color:#9db3d1;margin-bottom:9px}.connection{color:#a2b1c4;font-size:12px}.workspace{background:radial-gradient(ellipse at 72% 0, #243c5a30, transparent 58%), var(--bg)}.topbar{border-color:var(--line);height:72px;padding:0 36px}.breadcrumb{color:#9aa8bc;gap:10px;font-size:13px}.breadcrumb strong{color:#d2deef;font-weight:500}.breadcrumb svg{color:#7d8da4}.topbar-actions{gap:18px}.local-badge{letter-spacing:.05em;color:#a8b8cd;font-size:12px}.local-badge i{background:#8bc8ac}.workspace-inner{max-width:1520px;padding:30px 36px 26px}.piece-header{align-items:center;gap:24px;margin-bottom:23px}.piece-header>div:first-child{flex:1;min-width:0}.eyebrow{letter-spacing:.075em;color:#a4b4cd;gap:8px;font-size:12px}.eyebrow i{background:#7c91af}h1{letter-spacing:-.9px;margin-top:8px;font-size:clamp(28px,2.6vw,38px);line-height:1.2}.piece-title-row{align-items:center;gap:5px}.piece-title-row h1{min-width:0}.piece-title-row .icon-button{color:#9cb0ce;margin-top:6px}.piece-header p{color:#a2b1c7;overflow-wrap:anywhere;margin-top:10px;font-size:13px;line-height:1.7}.meta-separator{color:#6f819c;margin:0 7px}.tempo-source-button{color:#b9d2f6;text-decoration-color:#91b9ff65}.source-actions{flex-shrink:0;gap:10px;max-width:none;padding-top:0}.source-actions>button:not(.icon-button){color:#c7d5e9;background:#1c2839;border-color:#a9bdd529;border-radius:10px;min-height:44px;padding:0 15px;font-size:14px}.source-actions>button:first-child:not(.icon-button){color:#1d2c43;background:#dce9fb;border-color:#dce9fb;font-weight:600}.source-actions>button:first-child:hover{background:#f0f6ff}.source-actions>button:hover{background:#28384e}.source-actions>button>span{display:inline}.source-actions>.icon-button{min-width:44px;min-height:44px}.icon-button{color:#a4b6d0;border-radius:9px;min-width:40px;min-height:40px;padding:8px}.icon-button:hover{color:#e9f2ff;background:#b5cfff10}.text-button{color:#bbcee9;min-height:40px;padding:8px 4px;font-size:13px}.subtle-button{color:#a6bbd8;gap:7px;min-height:40px;font-size:13px}.button{border-radius:10px;min-height:44px;padding:0 16px;font-size:14px;font-weight:600}.button.primary{color:#172b47;background:#dce9fb}.button.primary:hover{color:#10243e;background:#f0f6ff}.button.danger{background:#a54845}.message{border-radius:11px;gap:12px;padding:12px 16px;font-size:14px;line-height:1.65}.message>span{overflow-wrap:anywhere;min-width:0}.message.error{color:#ffd0bf;background:#a4433020;border-color:#e7a48b50}.message.job-message{color:#c4dcff;background:#80aaf014;border-color:#91b9ff36}.save-menu{z-index:25;position:relative}.save-menu>summary{color:#d3e1f5;background:#1b2738;border:1px solid #a9bdd52b;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 13px;font-size:13px;list-style:none;display:flex}.save-menu>summary::-webkit-details-marker{display:none}.save-menu[open]>summary{background:#293c56;border-color:#91b9ff70}.save-menu>div{background:#1b283b;border:1px solid #9db8dc45;border-radius:13px;width:312px;max-width:calc(100vw - 28px);padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 50px #03071070}.save-menu>div>button,.save-menu>div>a{white-space:normal;text-align:left;color:#d4e1f3;border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px;font-size:13px;display:flex}.save-menu>div>button:hover,.save-menu>div>a:hover{background:#91b9ff14}.save-menu small,.save-menu p{color:#9fb3cf;font-size:12px;line-height:1.5}.save-menu-panel{overscroll-behavior:contain;max-height:calc(100dvh - 100px);overflow-y:auto}.save-menu-panel>p{margin:0 0 5px;padding:8px 10px;font-size:12px}.save-menu-panel>button>span{flex:1;min-width:0}.save-menu-panel strong{color:#e0edff;font-size:14px;font-weight:550;line-height:1.6;display:block}.save-menu-panel strong small{color:#c3dcff;background:#91b9ff15;border-radius:5px;margin-left:5px;padding:1px 5px;font-size:12px;font-weight:400;display:inline-block}.save-menu-panel button>span>span{color:#a9bfdc;margin-top:3px;font-size:12px;line-height:1.5;display:block}.save-menu-panel>button:first-of-type{background:#91b9ff0a}.practice-mode-row{align-items:center;gap:18px;min-width:0;margin-bottom:18px;display:flex}.practice-mode-row>p{color:#a8bdd9;flex:1;min-width:0;font-size:13px;line-height:1.6}.practice-mode-switch{background:#131d2b;border:1px solid #a9bdd522;border-radius:13px;flex:0 420px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;max-width:100%;margin-bottom:0;padding:4px;display:grid}.practice-mode-switch button{white-space:nowrap;color:#aabbcf;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:44px;padding:0 12px;font-size:14px;font-weight:550;display:inline-flex}.practice-mode-switch button[aria-pressed=true]{color:#e4efff;background:#2a3c56;box-shadow:0 2px 7px #02060d20}.practice-mode-switch button:hover{color:#e4efff}.practice-mode-switch button[data-mode=play]{color:#cfe2ff;border-color:#91b9ff45}.practice-mode-switch button[data-mode=play][aria-pressed=true]{color:#182334;background:#dfeaff;border-color:#c6dcff}.practice-mode-switch button[data-mode=play][aria-pressed=true]:hover{color:#182334;background:#f1f6ff}.playing-instructions{color:#b5c9e6;background:#91b9ff08;border:1px solid #91b9ff2b;border-left:2px solid #91b9ff70;border-radius:11px;margin:0 0 16px;padding:12px 16px;font-size:14px;line-height:1.65;display:block}.playing-instructions strong{color:#e1edff;margin-right:5px;font-weight:600}.playing-instructions>svg{color:#b5d2ff;margin-top:3px}.playing-instructions p{overflow-wrap:anywhere;min-width:0}.simplify-actions{justify-content:space-between;align-items:center;gap:16px;min-width:0;margin:0 0 16px;padding:0 2px;display:flex}.simplify-actions p{color:#a9bedc;min-width:0;font-size:13px;line-height:1.6}.simplify-actions .simplify-button{color:#e2efff;background:#294366;border:1px solid #91b9ff55;flex-shrink:0;min-height:44px;font-size:14px}.simplify-actions .simplify-button:hover{background:#355680}.start-guide{background:#91b9ff08;border:1px solid #91b9ff24;border-radius:13px;margin:0 0 20px;padding:15px 18px;display:block}.start-guide-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.start-guide-title>div{min-width:0}.start-guide-title .eyebrow{display:none}.start-guide-title h2{color:#dceafd;font-size:17px;font-weight:550;line-height:1.4}.start-guide-title p{color:#a8bedb;margin-top:3px;font-size:13px;line-height:1.5}.start-guide-title .icon-button{flex-shrink:0;min-width:44px;min-height:44px;margin-top:-4px}.start-guide-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:10px;display:grid}.start-guide-step{color:#a6b8d0;align-items:flex-start;gap:10px;min-width:0;font-size:13px;line-height:1.55;display:flex}.start-guide-step>span:first-child{color:#c0d9ff;border:1px solid #91b9ff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;margin-top:2px;font-size:12px;display:inline-flex}.start-guide-step>svg{color:#b1cefa;margin-top:3px}.start-guide-step strong{color:#d8e5f8;font-size:14px;font-weight:550;display:block}.start-guide-step p,.start-guide-step small{color:#a6b8d0;margin-top:3px;font-size:12px;line-height:1.55;display:block}.start-guide-step button{color:#b5d3ff;text-align:left;min-height:44px}.start-guide>.text-button{gap:7px;min-height:44px;margin-top:5px;padding:5px 0;display:inline-flex}.orientation-hint{display:none}.notice-toast{z-index:60;color:#dcf4e7;background:#213b36;border:1px solid #95c5aa70;border-radius:12px;align-items:center;gap:10px;width:max-content;max-width:min(490px,100vw - 32px);padding:9px 10px 9px 15px;font-size:14px;line-height:1.6;display:flex;position:fixed;bottom:20px;right:24px;box-shadow:0 10px 35px #03071070}.notice-toast>span{overflow-wrap:anywhere;flex:1;min-width:0}.notice-toast>svg{color:#ace0c4}.notice-toast .icon-button{color:#c5e8d6;flex-shrink:0;min-width:44px;min-height:44px}.player-panel{border-radius:var(--radius-panel);background:#151e2b;border-color:#a9bdd52c;min-width:0;box-shadow:0 18px 60px #04091035}.player-toolbar{background:#1c2738;border-color:#a9bdd51c;border-radius:15px 15px 0 0;gap:20px;min-height:92px;padding:14px 20px}.control-label{letter-spacing:.045em;color:#a9b9d0;margin-bottom:5px;font-size:12px;line-height:1.3}.compact-control{gap:5px}.compact-control .icon-button{color:#d4e3f9;background:#172233;border:1px solid #a9bdd52a;width:44px;min-width:44px;height:44px;min-height:44px;font-size:20px}.compact-control .speed-presets{appearance:none;cursor:pointer;text-align:center;font-variant-numeric:tabular-nums;color:#e1ecfc;background-color:#172233;background-image:linear-gradient(45deg,#0000 50%,#adc4e7 50%),linear-gradient(135deg,#adc4e7 50%,#0000 50%);background-position:calc(100% - 9px),calc(100% - 6px);background-repeat:no-repeat;background-size:3px 3px;border:1px solid #a9bdd53b;border-radius:8px;flex:64px;width:64px;min-width:54px;max-width:64px;min-height:44px;padding:0 14px 0 4px;font-size:13px;font-weight:550}.compact-control .speed-presets:hover{background-color:#223650;border-color:#91b9ff70}.toolbar-divider{background:#a9bdd523;height:40px;margin:0}.transpose-group select{color:#dce8f9;background:#172233;border:1px solid #a9bdd52a;border-radius:9px;max-width:170px;min-height:44px;padding:0 26px 0 10px;font-size:13px}.hands-toggle{color:#d0dff4;background:#172233;border:1px solid #a9bdd52a;border-radius:9px;gap:6px;min-height:44px;padding:0 10px;font-size:13px}.hands-toggle>span:nth-last-child(2){font-size:13px}.hands-toggle svg{color:#a4b7d2}.hand-dot{border-radius:3px;width:8px;height:8px}.toolbar-volume{color:#a5b8d3;gap:10px}.toolbar-volume input{width:70px;min-height:36px}.fullscreen-button{min-width:44px;min-height:44px}.hands-popover{background:#22324a;border:1px solid #91b9ff45;border-radius:13px;min-width:330px;max-width:calc(100vw - 24px);padding:16px;top:calc(100% + 12px);left:auto;right:0;box-shadow:0 16px 40px #03071180}.popover-head strong,.hand-row>span{color:#d7e5f8;font-size:14px}.hand-row>span{min-width:100px}.hand-row{gap:7px;padding:6px 0}.hand-row .icon-button{background:#14233855;min-width:44px;min-height:44px}.hand-volume{flex-basis:60px;width:60px;min-height:44px}.roll-top{background:#151e2b;height:auto;min-height:52px;padding:0 20px}.roll-legend{flex-wrap:wrap;gap:18px}.roll-legend>span{letter-spacing:.025em;color:#a7b9d2;gap:7px;font-size:12px}.roll-options{gap:16px}.roll-options .subtle-button{min-height:44px;font-size:13px}.sound-label{color:#9bacc4;font-size:12px}.roll-stage{background:#151e2b;height:clamp(300px,43dvh,600px);min-height:260px}.timeline{gap:15px;min-height:54px;padding:12px 20px 4px}.timeline-time,.timeline-time span,.timeline-duration,.timeline-duration span{color:#a4b6cf;font-size:13px}.timeline-time{color:#e2ebf7}.timeline input{background:0 0;height:28px}.timeline input::-webkit-slider-runnable-track{background:linear-gradient(to right, #b7cef1 var(--progress), #34475f var(--progress));border-radius:3px;height:4px}.timeline input::-webkit-slider-thumb{background:#d4e6ff;width:12px;height:12px;margin-top:-4px}.timeline input::-moz-range-track{background:linear-gradient(to right, #b7cef1 var(--progress), #34475f var(--progress));border-radius:3px;height:4px}.timeline input::-moz-range-thumb{background:#d4e6ff;width:12px;height:12px}.loop-selection{top:calc(50% - 5px)}.transport-bottom{gap:16px;padding:8px 20px 17px}.loop-controls{gap:7px}.loop-toggle{color:#a2b7d4;min-height:44px;margin-right:4px;padding:0 4px;font-size:13px}.loop-point{color:#d6e5fb;border-color:#a9bdd52c;border-radius:8px;gap:6px;min-height:44px;padding:8px 9px;font-size:13px}.loop-point span{color:#a2b8d7;font-size:12px}.loop-dash{color:#8b9fbd}.play-controls{gap:10px}.play-controls>.icon-button{color:#b4c8e3;min-width:44px;min-height:44px}.guide-sound-toggle{color:#d4e3f8;white-space:nowrap;background:#1b2b40;border:1px solid #a9bdd53b;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:0 10px;font-size:13px;display:inline-flex}.guide-sound-toggle:hover{background:#293e59}.guide-sound-toggle[aria-pressed=true]{color:#d7f1e1;background:#2f3e38;border-color:#a8d2b96b}.guide-sound-toggle:disabled{opacity:1;cursor:default}.play-button{background:#e4edfb;min-width:54px;min-height:54px;box-shadow:0 4px 20px #020a1730}.transport-hint{color:#9cafcb;gap:8px;font-size:12px}.transport-hint>span{color:#adc1df;border-color:#a9bdd52a;border-radius:5px;font-size:12px}.below-player{color:#9db0cb;gap:16px;padding:16px 2px 0}.keyboard-settings{gap:9px}.keyboard-settings select{color:#c7d8ef;background:#182537;border:1px solid #a9bdd52a;border-radius:8px;width:auto;min-width:104px;min-height:44px;padding:6px 7px;font-size:13px}.keyboard-settings .icon-button{color:#a8bfdc;min-width:44px;min-height:44px}.labels-toggle{color:#a9bdd7;gap:8px;min-height:44px;font-size:13px}.labels-toggle input{width:16px;height:16px}.settings-separator{background:#a9bdd528;height:20px;margin:0 4px}.anticipation{color:#a5b9d5;gap:10px;font-size:13px}.anticipation input{width:84px;min-height:44px}.anticipation output{color:#c4d5ee;min-width:30px;font-size:13px}.practice-options,.source-comparison,.note-editor,.learning-practice{background:#172230;border:1px solid #a9bdd526;border-radius:13px;padding:15px 18px}.practice-options,.source-comparison,.note-editor{margin-top:18px}.practice-options,.source-comparison,.note-editor,.editor-tools,.inline-field{color:#abbed9;font-size:13px}.practice-options>summary,.source-comparison>summary,.editor-tools>summary{color:#c9dbf5;min-height:30px;font-size:14px}.practice-options p,.source-comparison p,.editor-tools p,.import-preview p,.midi-practice p{color:#a5b7d0;font-size:13px;line-height:1.7}.editor-actions{color:#a6bbd8;gap:10px 16px;font-size:13px}.editor-actions>.subtle-button{border-color:#a9bdd52a;border-radius:8px;min-height:44px;padding:8px 11px;font-size:13px}.editor-actions .button{min-height:44px}.advanced-tools.practice-options{background:#141f2e;border-color:#a9bdd524;padding:4px 16px}.advanced-tools[open]{padding-bottom:16px}.advanced-tools>summary{color:#b9cce7;min-height:44px;padding:10px 0;font-size:14px;line-height:1.6}.advanced-tools>summary::marker{color:#90a9cd}.advanced-tools .editor-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin:12px 0 0;display:flex}.advanced-tools .editor-actions>button{white-space:normal;text-align:left;min-width:44px;max-width:100%;min-height:44px;padding:9px 12px;font-size:13px;line-height:1.5}.inline-field{gap:9px}.inline-field input,.inline-field select,.editor-controls input,.editor-controls select,.editor-note-picker select,.practice-controls select,.pages-field input{background:var(--surface-input);color:#d8e6fa;border:1px solid #a9bdd538;border-radius:8px;min-height:44px;padding:9px 11px;font-size:14px}.editor-controls{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:14px;display:grid}.editor-controls label,.editor-controls label:first-child{color:#adc0da;min-width:0;font-size:13px}.editor-title{gap:12px;font-size:14px}.editor-title span{color:#9fb3cf;font-size:13px}.editor-note-picker,.editor-note-picker label{color:#b0c3df;font-size:13px}.editor-tools{border-color:#a9bdd526;margin-top:17px;padding-top:14px}.tempo-editor{color:#c2d5f1;background:#1b2a40;border-color:#91b9ff36;border-radius:11px;gap:12px;margin:-4px 0 18px;padding:13px 16px;font-size:14px}.tempo-editor input{color:#e6efff;border-color:#91b9ff40;border-radius:8px;min-height:44px;font-size:14px}.tempo-editor>span{color:#a7bcd9;font-size:13px}.notation-stale{color:#f0d4a7;background:#a471211a;border-color:#e9b16330;padding:11px 18px;font-size:13px;line-height:1.6}.warnings{color:#a7bad5;margin-top:18px;font-size:13px}.warnings summary{color:#dec297;min-height:44px;padding:10px 2px;font-size:13px}.warnings ul{margin-top:6px}.warnings li+li{margin-top:8px}.reference-link{color:#a3b8d5;font-size:13px}.reference-link a,.source-comparison a{color:#bdd7ff;align-content:center;min-height:44px;font-size:13px}.source-side-by-side{gap:18px}.source-side-by-side section{border-color:#a9bdd538;border-radius:10px}.source-side-by-side h3{font-size:14px}.audio-measurements{color:#a8bddb;gap:12px 18px;font-size:13px}.audio-support-actions,.audio-support-content{font-size:13px;line-height:1.65}.audio-support-technical,.audio-support-feedback{color:#a6bddc;font-size:13px}.workspace-footer{color:#9bafcd;border-color:#a9bdd51e;gap:18px;margin-top:26px;padding-top:17px;font-size:12px}.workspace-footer .subtle-button,.workspace-footer a{color:#aabfdf;font-size:12px}.workspace-footer>div{flex-wrap:wrap;gap:15px}.learning-practice{background:linear-gradient(115deg,#91b9ff09,#172230);border-color:#91b9ff35;margin:0 0 20px;padding:19px}.learning-heading{align-items:flex-start;gap:16px}.learning-heading h2{color:#e1ecfb;font-size:18px;font-weight:600}.learning-heading p{color:#a9bdd9;margin-top:6px;font-size:13px}.learning-badge{color:#b8cae4;border-color:#a9bdd535;border-radius:20px;padding:6px 10px;font-size:12px}.learning-badge.active{color:#afe5cb;background:#8bc8ac0e;border-color:#8bc8ac55}.learning-steps{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:14px;margin:18px 0 0;padding:0;list-style:none;display:grid}.learning-step{background:#111d2c70;border:1px solid #a9bdd529;border-radius:11px;min-width:0;padding:16px}.learning-step.is-current{background:#91b9ff08;border-color:#91b9ff70}.learning-step.is-ready{border-color:#8bc8ac45}.learning-step-title{color:#d5e5fb;align-items:center;gap:9px;margin:0 0 12px;font-size:14px;font-weight:600;display:flex}.learning-step-number{color:#b9d5ff;background:#91b9ff10;border:1px solid #91b9ff45;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;font-size:13px;display:inline-flex}.learning-source-choice{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.learning-source-choice legend{color:#a9bdd9;margin-bottom:8px;font-size:13px}.learning-source-option{cursor:pointer;color:#b4c8e4;border:1px solid #a9bdd52a;border-radius:9px;align-items:center;gap:9px;min-width:0;min-height:60px;padding:10px 11px;display:flex}.learning-source-option.selected{background:#91b9ff10;border-color:#91b9ff85}.learning-source-option input{flex-shrink:0;width:16px;height:16px;margin:0}.learning-source-option>span{min-width:0}.learning-source-option strong{color:#dceaff;font-size:14px;font-weight:550;display:block}.learning-source-option small{color:#a4b9d6;margin-top:3px;font-size:12px;line-height:1.5;display:block}.learning-connection-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.learning-connect{color:#edf5ff;background:#35547c;border:1px solid #91b9ff45;border-radius:9px;min-height:44px;padding:9px 13px;font-size:14px}.learning-connect:hover{background:#436894}.learning-connection-status,.learning-step-hint,.learning-limits,.learning-input-feedback{color:#acc1df;font-size:13px;line-height:1.65}.learning-midi-port{color:#b6cbe7;flex-direction:column;gap:7px;min-width:0;margin-top:13px;font-size:13px;display:flex}.learning-midi-port select{color:#dbe9ff;background:#111c2c;border:1px solid #a9bdd53c;border-radius:8px;width:100%;max-width:100%;min-height:44px;padding:8px 10px;font-size:13px}.learning-step-hint{margin-top:10px}.learning-practice .practice-controls{gap:12px 18px}.learning-practice .practice-controls>label{font-size:13px}.practice-hands{border:0;flex-wrap:wrap;gap:8px;padding:0;display:flex}.practice-hands legend{color:#a8bdd9;margin-bottom:8px;padding:0;font-size:13px}.practice-hands label{color:#c3d5ef;cursor:pointer;border:1px solid #a9bdd536;border-radius:9px;align-items:center;gap:8px;min-height:44px;padding:8px 11px;font-size:13px;display:inline-flex}.practice-hands label:has(input:checked){color:#e0edff;background:#91b9ff12;border-color:#91b9ff70}.practice-hands input{width:16px;height:16px;margin:0}.learning-wait-toggle{color:#c8dbf5;align-items:flex-start;gap:9px;min-height:44px;font-size:14px;display:flex}.learning-wait-toggle input{width:16px;height:16px;margin-top:4px}.learning-wait-toggle strong{font-size:14px;font-weight:550;display:block}.learning-wait-toggle small{color:#a7bddb;margin-top:4px;font-size:12px;line-height:1.6;display:block}.learning-play-step .button{white-space:normal;width:100%;margin-top:12px}.learning-limits{border-top:1px solid #a9bdd523;margin-top:14px;padding-top:14px}.learning-help{color:#a9bfde;margin-top:10px;font-size:13px}.learning-help>summary{color:#bdd2ef;min-height:44px;padding:10px 0;font-size:13px}.learning-help ul{margin:4px 0 0;padding-left:20px}.learning-help li+li{margin-top:8px}.learning-input-feedback{background:#91b9ff0c;border-radius:8px;flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding:10px 12px;display:flex}.learning-meter{color:#b4cae8;align-items:center;gap:8px;font-size:13px;display:inline-flex}.learning-status{color:#c2d7f6;background:#22344d;border-color:#a9bdd524;gap:15px;padding:12px 18px;font-size:13px}.learning-status.waiting{color:#f6dcaf;background:#3b3020;border-color:#f0bf7945}.learning-status-title{font-size:14px;font-weight:550}.learning-note-list{gap:6px}.learning-note{color:#ffe3b1;border-color:#f0bf7970;border-radius:7px;min-height:31px;padding:4px 9px;font-size:13px}.learning-note.recognized{color:#c0f2d8;background:#9ce1be12;border-color:#9ce1be70}.learning-stop,.learning-skip{border-radius:8px;min-height:44px;padding:8px 10px;font-size:13px}.learning-stop{color:#e0ecfe;border-color:#d5e5ff4a}.learning-skip{color:#f3d5a6}.learning-unsupported{color:#ead0a7;font-size:12px}.import-dialog{width:min(600px,100% - 32px);max-width:600px;max-height:calc(100dvh - 32px);color:var(--text);background:#182334;border-color:#a9bdd540;border-radius:19px;padding:26px;overflow-y:auto}.dialog-heading{gap:16px;margin-bottom:13px}.dialog-heading .eyebrow{color:#abc1df;letter-spacing:.07em;font-size:12px}.dialog-heading .icon-button{min-width:44px;min-height:44px}.import-dialog h2{letter-spacing:-.6px;font-size:29px;line-height:1.25}.dialog-intro{color:#adbed7;margin-top:9px;font-size:14px}.import-tabs{background:#101a29;border:1px solid #a9bdd520;border-radius:11px;gap:4px;margin:23px 0 18px;padding:5px}.import-tabs button{color:#a9bedb;border-radius:7px;min-height:44px;padding:8px;font-size:14px}.import-tabs button[aria-selected=true]{color:#e4efff;background:#2a405e}.dropzone{color:#b8cdeb;background:#121e2e;border-color:#8aaed36b;border-radius:13px;gap:10px;min-height:165px;padding:24px 18px}.dropzone:hover{background:#182b43;border-color:#b0cfff}.dropzone.has-file{background:#91b9ff09;border-color:#91b9ff70}.dropzone.is-dragging{background:#294568;border-style:solid;border-color:#bdd8ff;box-shadow:inset 0 0 0 1px #bdd8ff40}.dropzone-icon{color:#c5ddff;background:#2a4263;border-radius:12px;min-width:50px;min-height:50px;margin-bottom:2px}.dropzone strong{font-size:15px;font-weight:550}.dropzone>span:last-child{color:#a3bad9;font-size:13px;line-height:1.6}.dropzone .dropzone-formats{color:#b5cae8;margin-top:2px;font-size:12px;display:block}.piece-name-field,.import-title{gap:8px;margin:18px 0}.piece-name-field label{color:#d2e1f7;font-size:14px}.piece-name-field label span{color:#b6c7df;margin-left:6px;font-size:12px}.piece-name-field input{color:#e4efff;background:#111c2c;border-color:#a2bdd747;border-radius:9px;min-height:46px;padding:11px 13px;font-size:15px}.piece-name-field small{color:#a9bdd9;font-size:12px;line-height:1.6}.youtube-import>label,.engine-control>label,.pages-field{color:#c3d6f1;font-size:14px}.youtube-import input{color:#e4efff;background:#111c2c;border-color:#a2bdd747;border-radius:9px;min-height:46px;padding:11px 13px;font-size:14px}.youtube-import p,.engine-status,.pages-field small{color:#a3b9d8;font-size:13px;line-height:1.65}.engine-control{gap:12px;margin-top:16px}.engine-control select{color:#d7e7fc;background:#111c2c;border-color:#a2bdd747;border-radius:8px;min-width:190px;max-width:100%;min-height:44px;padding:9px 11px;font-size:13px}.engine-status{margin-top:12px}.audio-source-field{margin:18px 0}.audio-source-field>label{color:#d2e1f7;margin-bottom:8px;font-size:14px;display:block}.audio-source-field>select{color:#e2edfc;background:#111c2c;border:1px solid #a2bdd747;border-radius:9px;width:100%;max-width:100%;min-height:46px;padding:10px 12px;font-size:14px}.audio-source-field>p,.import-advanced .engine-choice{color:#b3c7e3;overflow-wrap:anywhere;margin-top:9px;font-size:13px;line-height:1.65}.audio-source-field[data-audio-source=mixed]>p{color:#e1c69d;background:#dfba7b08;border:1px solid #dfba7b30;border-radius:8px;padding:10px 12px}.import-advanced{color:#aec2df;background:#111b29;border:1px solid #a9bdd52e;border-radius:10px;margin-top:18px;padding:0 14px;font-size:13px}.import-advanced>summary{color:#bfd3f1;min-height:44px;padding:11px 0;font-size:13px}.import-advanced>summary>span{color:#a8bedc;margin-left:9px;font-size:12px;font-weight:400;line-height:1.5}.import-advanced[open]{padding-bottom:14px}.import-advanced .engine-control,.import-advanced .pages-field{margin-top:12px}.import-progress{color:#c5dcfc;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;padding:0;font-size:13px;list-style:none;display:grid}.import-progress>strong,.import-progress h3{color:#dfecff;font-size:14px;font-weight:550;display:block}.import-progress p{color:#a8c1e3;margin-top:6px;font-size:13px;line-height:1.6}.import-progress ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.import-progress li,.import-progress-phase{color:#a5bcd9;border:1px solid #a9bdd52b;border-radius:8px;min-width:0;padding:8px 9px;font-size:12px;line-height:1.5}.import-progress>li{background:#111d2d;align-items:center;gap:8px;display:flex}.import-progress>li>span:first-child{border:1px solid #9abbe34d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}.import-progress>li[aria-current=step]{color:#d8e9ff;background:#91b9ff12;border-color:#91b9ff70}.import-progress>li[data-complete=true]{color:#b1dfc8;border-color:#8bc8ac50}.import-progress li.is-current,.import-progress li.active,.import-progress-phase.is-current{color:#d8e9ff;background:#91b9ff12;border-color:#91b9ff70}.import-progress li.is-ready,.import-progress li.done{color:#b1dfc8;border-color:#8bc8ac50}.youtube-fallback{color:#a9c0df;margin-top:15px;font-size:13px}.youtube-fallback>summary{color:#bfd6f7;min-height:44px;padding:10px 0;font-size:13px}.youtube-fallback .dropzone{min-height:140px}.import-preview{color:#c4d8f4;font-size:14px}.import-preview audio,.source-comparison audio{max-width:none;height:44px}.midi-tracks{border-color:#a9bdd538;border-radius:10px;gap:13px;padding:14px}.midi-tracks legend{color:#c6d9f4;font-size:14px}.midi-track-row{gap:10px}.midi-track-row select{min-height:44px}.import-formats{gap:12px;margin-top:16px}.import-formats>span{color:#a8bedc;font-size:12px}.dialog-footer{border-color:#a9bdd529;gap:14px;margin-top:22px;padding-top:18px}.import-submit-help{color:#b8cae4;overflow-wrap:anywhere;margin:16px 2px 0;font-size:13px;line-height:1.65}.import-submit-help:empty{display:none}.dialog-footer>span{color:#acbfd9;font-size:12px}.recorder{padding:18px 8px}.recorder strong{color:#e0edff;font-size:18px}.recorder p{color:#a7bedc;margin:10px 0 18px;font-size:14px}.record-symbol{color:#c1dafe;background:#2a4263}.record-symbol.recording{color:#ffd0c6;background:#bc6a5e28;box-shadow:0 0 0 8px #bc6a5e0b}.trash-bin{color:#a8bad4;border-color:#a9bdd527;flex-shrink:0;margin:15px 7px 0;padding-top:12px;font-size:12px}.trash-bin summary{min-height:40px;font-size:13px}.trash-bin p{color:#a0b4d0;font-size:12px;line-height:1.65}.trash-bin li{gap:6px;min-width:0;min-height:44px;font-size:12px}.trash-bin .icon-button{min-width:36px;min-height:36px}.trash-entry-actions button{min-height:44px;font-size:12px}.trash-feedback,.trash-count{color:#a8bedb;font-size:12px}.delete-dialog{background:#1a283b;border-color:#a9bdd54d;border-radius:16px;width:min(470px,100% - 28px);max-height:calc(100dvh - 28px);padding:23px;overflow:auto}.delete-dialog p{color:#bccfe9;font-size:14px}.delete-dialog-actions{gap:10px}.pwa-status,.pwa-status p,.pwa-status small,.pwa-actions button{font-size:12px}.pwa-status{color:#a6bad5;background:#141e2b;border-color:#a9bdd522}.pwa-status summary{min-height:40px}.pwa-actions button{color:#d6e6fc;background:#20324b;border-color:#a9bdd53b;border-radius:9px;min-height:44px;padding:9px 13px}.pwa-install-help,.pwa-technical{color:#a6bad5;font-size:12px}@media (width>=1600px){.workspace-inner{padding-top:36px}.roll-stage{height:clamp(360px,47dvh,660px)}}@media (width>=1001px) and (height<=850px){.workspace-inner{padding-top:24px}.piece-header{margin-bottom:18px}.roll-stage{height:clamp(240px,100dvh - 470px,430px);min-height:240px}}@media (width<=1240px){.app-shell{grid-template-columns:224px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.piece-select strong,.piece-select small{max-width:133px}.topbar,.workspace-inner{padding-inline:26px}.player-toolbar{gap:13px;padding-inline:16px}.toolbar-divider,.toolbar-spacer{display:none}.toolbar-volume input{width:48px}.learning-steps{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.learning-play-step{grid-column:1/-1}.learning-play-step .button{width:auto}.transport-hint{display:none}.transport-bottom{grid-template-columns:minmax(0,1fr) auto}}@media (width<=1000px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar.is-open{width:280px;max-width:calc(100vw - 44px);padding-top:30px}.sidebar.is-open .piece-select strong,.sidebar.is-open .piece-select small{max-width:172px}.sidebar-mobile-close{min-width:44px;min-height:44px;top:9px;right:8px}.sidebar-mobile-close+*{min-width:0}.topbar{height:66px}.workspace-inner{padding-top:25px}.piece-header{gap:18px}.player-toolbar{gap:17px}.roll-stage{height:clamp(300px,44dvh,520px)}}@media (width>=761px) and (width<=900px){.player-toolbar{gap:12px}.toolbar-volume,.toolbar-spacer,.toolbar-divider{display:none}}@media (width<=760px){.workspace-inner{padding:22px 18px}.topbar{padding-inline:18px}.piece-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px}.piece-header>div:first-child{flex-basis:100%}.piece-header p{max-width:none;font-size:13px}.source-actions{flex-wrap:wrap;justify-content:flex-start;max-width:none;padding-top:0}.source-actions>button:not(.icon-button){min-width:44px;min-height:44px;padding-inline:13px}.source-actions>button>span{display:inline}.practice-mode-row{flex-direction:column;align-items:stretch;gap:8px}.practice-mode-switch{flex:none;width:100%}.practice-mode-switch button{gap:6px;min-width:0;padding-inline:8px}.eyebrow{font-size:12px}.player-toolbar{gap:11px;padding:12px 14px}.toolbar-volume,.toolbar-spacer{display:none}.transpose-group{flex:1}.transpose-group select{width:100%;max-width:180px}.hands-toggle>span:nth-last-child(2){display:none}.hands-toggle{padding-inline:10px}.fullscreen-button{margin-left:auto;display:inline-flex}.hands-popover{min-width:310px;right:-50px}.roll-top{gap:12px;padding-inline:14px}.roll-legend{gap:11px}.roll-legend>span{font-size:12px}.sound-label{display:none}.roll-options{gap:12px}.roll-options .subtle-button{font-size:13px}.roll-stage{height:350px;min-height:280px}.transport-bottom{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-inline:14px}.loop-toggle>span,.loop-dash{display:none}.play-controls{grid-column:2}.below-player{flex-wrap:wrap;gap:10px 18px}.anticipation{margin-left:auto}.start-guide{padding:15px}.start-guide-steps{gap:14px}.start-guide-step{gap:8px;font-size:12px}.learning-steps{grid-template-columns:minmax(0,1fr)}.learning-play-step{grid-column:auto}.learning-practice{padding:16px}.learning-step{padding:14px}.learning-connection-row{gap:10px}.learning-status{align-items:flex-start;gap:10px;padding:11px 14px}.learning-status-actions{gap:6px}.workspace-footer{align-items:flex-start;font-size:12px}.workspace-footer>span{max-width:none}}@media (width<=560px){.workspace-inner{padding:20px 12px}.topbar{gap:8px;height:auto;min-height:64px;padding:8px 12px}.topbar-actions{gap:8px}.breadcrumb{gap:7px;font-size:12px}.breadcrumb>span,.breadcrumb>svg{display:none}.mobile-library{min-width:44px;min-height:44px;margin:0}.save-menu>summary{padding:0 10px;font-size:13px}.piece-header{padding-inline:2px}h1{letter-spacing:-.6px;font-size:29px}.piece-title-row .icon-button{min-width:38px;min-height:44px;padding:7px}.piece-header .meta-separator{margin-inline:5px}.source-actions{gap:8px;width:100%}.source-actions>button{flex:1}.source-actions>button>span{display:inline}.practice-mode-row{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px}.practice-mode-row>p{padding:0 2px}.practice-mode-switch{width:100%;margin-bottom:0;display:grid}.practice-mode-switch button{gap:5px;min-width:0;padding-inline:6px;font-size:13px}.playing-instructions{padding:10px 12px;font-size:13px;line-height:1.6}.simplify-actions{gap:10px}.simplify-actions p{font-size:12px}.advanced-tools.practice-options{padding:4px 12px}.advanced-tools[open]{padding-bottom:14px}.advanced-tools .editor-actions>button{flex:180px;justify-content:flex-start}.start-guide{padding:14px 15px}.start-guide-title h2{font-size:16px}.start-guide-title p{display:none}.start-guide-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}.start-guide-step{display:block}.start-guide-step>span:first-child{width:23px;height:23px;margin:0 0 4px}.start-guide-step p{margin:0;font-size:0}.start-guide-step strong{font-size:12px;line-height:1.5}.player-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:13px;display:grid}.toolbar-divider{display:none}.tempo-group,.transpose-group{min-width:0}.control-label{letter-spacing:.02em;font-size:12px}.compact-control{gap:4px}.transpose-group select{width:100%;min-width:0;max-width:none;padding-left:8px;font-size:13px}.hands-group{margin:0}.hands-group .control-label{display:none}.hands-toggle{min-width:135px}.hands-toggle>span:nth-last-child(2){font-size:12px;display:inline}.fullscreen-button{grid-column:2;justify-self:end;margin:0;display:inline-flex}.hands-popover{width:310px;min-width:0;max-width:calc(100vw - 50px);padding:12px;left:0;right:auto}.hand-row{gap:5px}.hand-row>span{min-width:86px;font-size:13px}.hand-row .icon-button{min-width:40px;padding:6px}.hand-volume{flex-basis:52px;width:52px}.roll-top{flex-wrap:wrap;gap:0 12px;padding:4px 13px}.roll-legend{gap:10px}.roll-legend>span{letter-spacing:0;font-size:12px}.roll-options{gap:12px;margin-left:auto}.roll-options .subtle-button{font-size:12px}.roll-stage{height:330px;min-height:260px}.timeline{gap:12px;min-height:50px;padding:7px 13px 0}.timeline-duration{display:none}.timeline-time,.timeline-time span{font-size:12px}.transport-bottom{grid-template-columns:minmax(0,1fr);gap:6px;padding:5px 13px 13px}.play-controls{grid-area:1/1;justify-content:center;gap:10px}.loop-controls{grid-area:2/1;justify-content:center;gap:9px}.loop-toggle>span{display:inline}.loop-point{padding-inline:10px;font-size:13px}.loop-point span{font-size:12px}.below-player{padding-top:12px}.keyboard-settings{gap:7px}.keyboard-settings select{min-width:100px;font-size:13px}.keyboard-settings .icon-button{min-width:40px}.labels-toggle{font-size:13px}.anticipation{justify-content:flex-end;width:100%;margin:0;font-size:13px}.practice-options,.source-comparison,.note-editor{padding:13px 14px}.practice-options>summary,.source-comparison>summary{font-size:14px}.editor-note-picker label{flex-direction:column;align-items:flex-start;gap:7px}.editor-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inline-field{flex-wrap:wrap}.learning-heading{flex-wrap:wrap;gap:10px}.learning-heading h2{font-size:17px}.learning-badge{font-size:12px}.learning-practice{padding:14px}.learning-status{flex-direction:column;gap:8px}.learning-status-title{font-size:13px}.learning-status-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:8px;width:100%}.learning-status-actions button{min-height:44px;font-size:12px}.learning-note{font-size:13px}.notice-toast{width:auto;max-width:none;padding-left:12px;font-size:13px;bottom:12px;left:12px;right:12px}.workspace-footer{flex-direction:column;gap:12px}.workspace-footer>div{justify-content:flex-start;align-self:flex-start;gap:14px}.import-dialog{border-radius:16px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:20px 17px}.import-dialog h2{font-size:26px}.dialog-heading{gap:10px}.dialog-heading .eyebrow{font-size:12px}.dialog-intro{font-size:14px}.import-tabs{gap:3px;margin-top:19px;padding:4px}.import-tabs button{gap:6px;padding-inline:5px;font-size:13px}.dropzone{min-height:158px;padding:20px 12px}.dropzone strong{font-size:14px}.dropzone>span:last-child{font-size:12px}.import-formats{flex-wrap:wrap;justify-content:flex-start;gap:10px 15px}.import-formats>span{font-size:12px}.engine-control{flex-direction:column;align-items:stretch;gap:8px}.engine-control select{width:100%;min-width:0}.import-advanced>summary>span{margin:3px 0 0 16px;display:block}.import-progress{gap:6px;padding:0}.import-progress ol{gap:6px}.import-progress li,.import-progress-phase{padding:7px;font-size:12px}.import-progress>li{gap:6px}.dialog-footer{flex-direction:column-reverse;align-items:stretch}.dialog-footer>span{justify-content:center;font-size:12px}.dialog-footer .button{width:100%}.midi-track-row .inline-field{width:100%;margin:0}.midi-track-row select{width:100%;min-width:0}}@media (width<=360px){.practice-mode-switch button>svg,.guide-sound-toggle>span{display:none}.player-toolbar{grid-template-columns:minmax(0,1fr)}.compact-control{max-width:170px}.hands-group,.fullscreen-button{grid-area:3/1}.source-actions>button:not(.icon-button){padding-inline:10px;font-size:13px}}:is(:fullscreen .practice-mode-row,:fullscreen .practice-mode-switch,:fullscreen .start-guide,:fullscreen .playing-instructions,:fullscreen .simplify-actions,:fullscreen .learning-practice,:fullscreen .import-progress,:fullscreen .pwa-status,:fullscreen .notice-toast,:fullscreen .orientation-hint){display:none!important}:fullscreen .workspace-inner{gap:0;min-height:0;padding:10px}:fullscreen .player-panel{border-radius:13px;min-height:0;overflow:visible}:fullscreen .player-toolbar{flex-shrink:0;min-height:78px;padding:9px 16px}:fullscreen .roll-top{flex-shrink:0;height:auto;min-height:44px}:fullscreen .player-panel .roll-stage{flex:1;height:auto;min-height:0}:fullscreen .timeline{flex-shrink:0;min-height:44px;padding:0 16px}:fullscreen .timeline input{min-height:32px}:fullscreen .transport-bottom{flex-shrink:0;min-height:60px;padding:3px 16px 9px}:fullscreen .learning-status{flex-shrink:0;max-height:112px;padding:9px 14px;font-size:13px;overflow:auto;display:flex!important}:fullscreen .learning-status-title{font-size:13px}:fullscreen .learning-note{min-height:28px;padding:3px 8px;font-size:13px}:fullscreen .learning-status .text-button{min-height:44px;font-size:12px}:fullscreen .learning-status-actions{gap:7px}:fullscreen .learning-status-actions button{min-height:44px;font-size:12px}:is(:fullscreen .learning-status .learning-stop,:fullscreen .learning-status .learning-skip){min-height:44px;font-size:12px}@media (height<=620px) and (orientation:landscape){.workspace-inner{padding-top:20px}.piece-header{margin-bottom:20px}.player-toolbar{min-height:80px}:fullscreen .workspace-inner{padding:4px}:fullscreen .player-toolbar{flex-wrap:nowrap;gap:9px;min-height:52px;padding:4px 9px;display:flex}:fullscreen .player-toolbar .control-label{display:none}:is(:fullscreen .toolbar-divider,:fullscreen .toolbar-volume,:fullscreen .toolbar-spacer){display:none}:fullscreen .compact-control{gap:4px}:fullscreen .transpose-group{flex:1}:fullscreen .transpose-group select{width:100%;min-width:0;max-width:175px}:fullscreen .hands-group{margin:0}:fullscreen .hands-toggle{min-width:44px}:fullscreen .hands-toggle>span:nth-last-child(2){font-size:12px;display:inline}:fullscreen .fullscreen-button{min-width:44px;margin-left:auto}:fullscreen .hands-popover{max-height:calc(100dvh - 75px);left:auto;right:-40px;overflow-y:auto}:fullscreen .roll-top{flex-wrap:nowrap;height:44px;min-height:44px;padding:0 10px}:fullscreen .roll-legend{flex-wrap:nowrap;gap:11px}:fullscreen .roll-legend>span{white-space:nowrap;font-size:12px}:fullscreen .roll-options{gap:12px}:fullscreen .sound-label{display:none}:fullscreen .learning-status{flex-direction:row;align-items:center;gap:9px;max-height:72px;padding:4px 10px}:fullscreen .learning-status-copy{gap:4px 9px}:fullscreen .learning-status-title{font-size:12px}:fullscreen .learning-note{min-height:26px;padding:2px 6px;font-size:12px}:fullscreen .learning-status-actions{flex-flow:row;align-items:center;gap:5px;width:auto}:fullscreen .learning-status-actions button{min-height:44px;padding:6px 8px;font-size:12px}:fullscreen .learning-unsupported{font-size:12px}:fullscreen .timeline{gap:10px;min-height:44px;padding:0 10px}:fullscreen .timeline input{min-height:44px}:fullscreen .transport-bottom{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:52px;padding:0 10px 4px;display:grid}:fullscreen .play-controls{grid-area:1/2;gap:8px}:fullscreen .loop-controls{grid-area:1/1;justify-content:flex-start;gap:7px}:fullscreen .loop-toggle>span{display:inline}:fullscreen .play-button{min-width:44px;min-height:44px}:fullscreen .transport-hint{display:none}}@media (pointer:coarse){.icon-button,.keyboard-settings .icon-button,.hand-row .icon-button,.trash-bin .icon-button{min-width:44px;min-height:44px}.practice-options>summary,.source-comparison>summary,.editor-tools>summary,.trash-bin summary,input[type=range]{min-height:44px}}@media (width<=760px) and (orientation:portrait){.orientation-hint{color:#abc0de;background:#91b9ff06;border-left:2px solid #91b9ff66;align-items:flex-start;gap:8px;margin:-3px 0 16px;padding:10px 12px;font-size:12px;line-height:1.6;display:flex}.orientation-hint svg{margin-top:2px}}@media (prefers-reduced-motion:reduce){.practice-mode-switch button,.learning-source-option,.save-menu>summary{transition:none}}.atelier-home{color:var(--text-secondary,#a9aab1);white-space:nowrap;align-items:center;gap:3px;font-size:11px;text-decoration:none;display:inline-flex}.atelier-home:hover{color:var(--text-primary,#f3f3f5)}.browser-import-info{background:#8cb5a00f;border:1px solid #8cb5a040;border-radius:10px;margin:0 0 20px;padding:13px 15px;font-size:12px;line-height:1.55}.browser-import-info strong{color:#dbe8df;font-weight:500}.browser-import-info p{color:#a9abb4;margin:4px 0 0}@media (width<=600px){.atelier-home span{display:none}.atelier-home{padding:8px}.topbar-actions .local-badge{display:none}}.landscape-playbar,.landscape-return{display:none}body:has(.app-shell.is-landscape-player:not(.is-landscape-workshop)){overscroll-behavior:none;overflow:hidden}body:has(.app-shell.is-landscape-player:not(.is-landscape-workshop)) .pwa-status{display:none!important}.app-shell.is-landscape-player:not(.is-landscape-workshop){width:100%;height:100dvh;min-height:0;display:block;overflow:hidden}.app-shell.is-landscape-player:not(.is-landscape-workshop) .workspace{width:100%;height:100%;min-height:0;display:block;overflow:hidden}.app-shell.is-landscape-player:not(.is-landscape-workshop) .workspace-inner{width:100%;max-width:none;height:100%;min-height:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);flex-direction:column;gap:0;margin:0;display:flex;overflow:hidden}.app-shell.is-landscape-player:not(.is-landscape-workshop) .topbar,.app-shell.is-landscape-player:not(.is-landscape-workshop) .workspace-inner>:not(.player-panel):not(.message):not(.sr-only){display:none!important}.app-shell.is-landscape-player:not(.is-landscape-workshop) .player-panel{width:100%;min-width:0;height:auto;min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1 1 0;margin:0;display:flex;overflow:hidden}.app-shell.is-landscape-player:not(.is-landscape-workshop) .player-toolbar,.app-shell.is-landscape-player:not(.is-landscape-workshop) .roll-top,.app-shell.is-landscape-player:not(.is-landscape-workshop) .notation-stale,.app-shell.is-landscape-player:not(.is-landscape-workshop) .timeline,.app-shell.is-landscape-player:not(.is-landscape-workshop) .transport-bottom{display:none!important}.app-shell.is-landscape-player:not(.is-landscape-workshop) .landscape-playbar{background:#182334;flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;min-width:0;min-height:0;padding:3px 8px 0;display:grid}.landscape-piece{min-width:0}.landscape-piece strong,.landscape-piece small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.landscape-piece strong{color:#e4efff;font-size:14px;font-weight:600;line-height:1.4}.landscape-piece small{color:#acbfd9;font-variant-numeric:tabular-nums;margin-top:1px;font-size:12px;line-height:1.4}.landscape-bar-actions{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.app-shell .landscape-bar-actions>button{color:#d7e7fc;width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:none;background:#22344d;border:1px solid #a9bdd52e;border-radius:9px;flex:0 0 44px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex!important}.app-shell .landscape-bar-actions>button:hover{background:#2c4464}.app-shell .landscape-bar-actions>.landscape-free-play{white-space:nowrap;flex:none;width:auto;min-height:44px;padding:8px;font-size:12px;line-height:1.2}.app-shell .landscape-bar-actions>.landscape-play{color:#182334;background:#e4edfb}.app-shell .landscape-bar-actions>.landscape-play:hover{background:#fff}.app-shell .landscape-bar-actions>button[aria-pressed=true]{color:#d7f1e1;background:#30463d;border-color:#b4d6bd70}.app-shell .landscape-bar-actions>.landscape-sound:disabled{opacity:1;cursor:default}.app-shell .landscape-bar-actions>button:focus-visible{outline-offset:-3px}.landscape-progress{appearance:none;color:#91b9ff;accent-color:#91b9ff;background:#304058;border:0;border-radius:0;flex:0 0 2px;grid-column:1/-1;width:calc(100% + 16px);height:2px;min-height:2px;margin:0 -8px;padding:0;display:block;overflow:hidden}.landscape-progress::-webkit-progress-bar{background:#304058}.landscape-progress::-webkit-progress-value{background:#91b9ff}.landscape-progress::-moz-progress-bar{background:#91b9ff}.app-shell.is-landscape-player:not(.is-landscape-workshop) .learning-status{flex-direction:row;flex:none;align-items:center;gap:8px;width:100%;height:56px;min-height:0;max-height:56px;padding:4px 8px;font-size:12px;overflow:hidden;display:flex!important}.app-shell.is-landscape-player .learning-status-copy{white-space:nowrap;scrollbar-width:thin;overscroll-behavior-x:contain;flex-flow:row;flex:1 1 0;align-items:center;gap:10px;min-width:0;height:47px;display:flex;overflow:auto hidden}.app-shell.is-landscape-player .learning-status-copy>*{flex-shrink:0}.app-shell.is-landscape-player .learning-status-title{font-size:12px}.app-shell.is-landscape-player .learning-note-list{flex-wrap:nowrap}.app-shell.is-landscape-player .learning-note{min-height:27px;padding:3px 6px;font-size:12px}.app-shell.is-landscape-player .learning-unsupported{flex-basis:auto;font-size:12px}.app-shell.is-landscape-player .learning-status-actions{flex-flow:row;flex:none;align-items:center;gap:4px;width:auto;display:flex}.app-shell.is-landscape-player .learning-status button{white-space:nowrap;min-width:44px;min-height:44px;padding:6px 8px;font-size:12px}.app-shell.is-landscape-player .learning-status button:focus-visible{outline-offset:-3px}.app-shell.is-landscape-player:not(.is-landscape-workshop) .player-panel .roll-stage{flex:1 1 0;width:100%;min-width:0;height:auto;min-height:0;overflow:hidden}.app-shell.is-landscape-player .piano-canvas{width:100%;min-width:0;height:100%;min-height:0;display:block}.app-shell.is-landscape-player:not(.is-landscape-workshop) .workspace-inner>.message{border-radius:0;flex:0 auto;gap:8px;min-height:0;max-height:min(72px,24dvh);margin:0;padding:4px 8px;font-size:12px;line-height:1.5;overflow:auto}.app-shell.is-landscape-player .message button{min-width:44px;min-height:44px}.app-shell.is-landscape-player .notice-toast,.app-shell:is(.is-landscape-player,.is-landscape-workshop) .sidebar:not(.is-open){display:none!important}.app-shell:is(.is-landscape-player,.is-landscape-workshop) .sidebar.is-open{z-index:40;width:290px;max-width:calc(100vw - 44px);height:100dvh;padding-top:max(24px, env(safe-area-inset-top,0px));padding-left:max(12px, env(safe-area-inset-left,0px));padding-bottom:max(12px, env(safe-area-inset-bottom,0px));overscroll-behavior:contain;position:fixed;inset:0 auto 0 0;overflow-y:auto;display:flex!important}.app-shell:is(.is-landscape-player,.is-landscape-workshop) .sidebar-mobile-close{display:inline-flex!important}.app-shell:is(.is-landscape-player,.is-landscape-workshop) .sidebar-scrim{z-index:30;background:#080e1bcc;width:100%;height:100dvh;position:fixed;inset:0;display:block!important}.app-shell.is-landscape-workshop,.app-shell.is-landscape-workshop .workspace{height:auto;min-height:100dvh;display:block;overflow:visible}.app-shell.is-landscape-workshop .mobile-library{min-width:44px;min-height:44px;display:inline-flex!important}.app-shell.is-landscape-workshop .workspace-inner{max-width:1100px;height:auto;min-height:0;padding:max(8px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(20px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));margin:0 auto;display:block;overflow:visible}.app-shell.is-landscape-workshop .landscape-return{top:env(safe-area-inset-top,0px);z-index:20;background:#101a29;align-items:center;gap:12px;min-height:44px;margin:0 0 18px;padding:0;display:flex;position:sticky;box-shadow:0 6px 12px #101a2940}.app-shell.is-landscape-workshop .landscape-return>span{color:#aebfda;font-size:12px}.app-shell.is-landscape-workshop .landscape-return .button{color:#e3efff;background:#294365;min-height:44px;padding:0 14px;font-size:14px}.app-shell.is-landscape-workshop .player-panel{flex:none;height:auto;display:block;overflow:visible}.app-shell.is-landscape-workshop .player-panel .roll-stage{flex:none;height:300px;min-height:240px}:is(:fullscreen .app-shell.is-landscape-workshop .topbar,:fullscreen .app-shell.is-landscape-workshop .piece-header,:fullscreen .app-shell.is-landscape-workshop .below-player,:fullscreen .app-shell.is-landscape-workshop .workspace-footer,:fullscreen .app-shell.is-landscape-workshop .practice-mode-row){display:flex!important}:fullscreen .app-shell.is-landscape-workshop .practice-mode-switch{display:inline-flex!important}:fullscreen .app-shell.is-landscape-workshop .player-toolbar{flex-wrap:wrap;min-height:80px;padding:12px}:fullscreen .app-shell.is-landscape-workshop .player-toolbar .control-label{display:block}:fullscreen .app-shell.is-landscape-workshop .toolbar-volume{display:flex}:fullscreen .app-shell.is-landscape-workshop :is(.note-editor,.warnings,.tempo-editor,.practice-options,.source-comparison,.midi-practice,.learning-practice,.audio-diagnostics,.start-guide,.trash-bin):not([hidden]){display:block!important}:fullscreen .app-shell.is-landscape-workshop .import-progress{display:grid!important}.app-shell:is(.is-landscape-player,.is-landscape-workshop) [hidden]{display:none!important}@media (prefers-reduced-motion:reduce){.landscape-bar-actions>button{transition:none}}:root[data-theme=mono] :root{color:#ebebeb;--bg:#111;--panel:#191919;--muted:#868686;--text:#ebebeb;--blue:#969696;--amber:#b7b7b7;background:#111}:root[data-theme=mono] input[type=range]{accent-color:#c6c6c6}:root[data-theme=mono] button:hover{color:#fff}:root[data-theme=mono] .brand-symbol{color:#e8e8e8}:root[data-theme=mono] .new-piece{color:#f2f2f2;background:#292929}:root[data-theme=mono] .new-piece:hover{background:#363636}:root[data-theme=mono] .library-heading>span:last-child{color:#949494}:root[data-theme=mono] .piece-item.selected{background:#282828}:root[data-theme=mono] .piece-icon{color:#9b9b9b}:root[data-theme=mono] .connection i,:root[data-theme=mono] .sound-label i,:root[data-theme=mono] .local-badge i{background:#7a7a7a}:root[data-theme=mono] .connection i.online,:root[data-theme=mono] .sound-label i.online{background:#919191}:root[data-theme=mono] .text-button:hover{color:#ececec}:root[data-theme=mono] .source-actions>button:not(.icon-button){color:#c3c3c3;background:#1f1f1f}:root[data-theme=mono] .source-actions .youtube-button{color:#949494}:root[data-theme=mono] .icon-button:hover{color:#e7e7e7}:root[data-theme=mono] .icon-button.active{color:#e5e5e5}:root[data-theme=mono] .message.error{color:#bababa;background:#8b8b8b10;border:1px solid #9f9f9f26}:root[data-theme=mono] .message.job-message{color:#c4c4c4;background:#93939312;border:1px solid #93939326}:root[data-theme=mono] .player-panel{background:#171717}:root[data-theme=mono] .player-toolbar{background:#1c1c1c}:root[data-theme=mono] .compact-control .icon-button{color:#999}:root[data-theme=mono] .compact-control output small{color:#8a8a8a}:root[data-theme=mono] .transpose-group select{color:#c9c9c9}:root[data-theme=mono] .hands-toggle{color:#c2c2c2}:root[data-theme=mono] .hand-dot,:root[data-theme=mono] .hand-dot.unknown{background:#a9a9a9}:root[data-theme=mono] .toolbar-volume input{accent-color:#a0a0a0}:root[data-theme=mono] .hands-popover{background:#292929;box-shadow:0 10px 25px #0007}:root[data-theme=mono] .subtle-button.active{color:#c6c6c6}:root[data-theme=mono] .timeline-time span{color:#6b6b6b}:root[data-theme=mono] .timeline-duration{color:#797979}:root[data-theme=mono] .timeline-duration span{color:#5f5f5f}:root[data-theme=mono] .loop-selection{background:#a2a2a22b;border-left:1px solid #a9a9a9;border-right:1px solid #a9a9a9}:root[data-theme=mono] .loop-point{color:#c6c6c6}:root[data-theme=mono] .play-button{color:#1f1f1f;background:#eaeaea;box-shadow:0 0 22px #d8d8d809}:root[data-theme=mono] .transport-hint>span{color:#7d7d7d}:root[data-theme=mono] .keyboard-settings select{color:#909090}:root[data-theme=mono] .labels-toggle input{accent-color:#b6b6b6}:root[data-theme=mono] .workspace-footer{color:#5c5c5c}:root[data-theme=mono] .score-preview{color:#171717;background:#fff}:root[data-theme=mono] .score-preview>p{color:#4a4a4a}:root[data-theme=mono] .note-editor{background:#1e1e1e}:root[data-theme=mono] .editor-controls label{color:#979797}:root[data-theme=mono] .editor-controls select{color:#cdcdcd;background:#2c2c2c}:root[data-theme=mono] .import-dialog{color:#ebebeb;background:#1d1d1d;box-shadow:0 30px 100px #0008}:root[data-theme=mono] .import-dialog::backdrop{background:#0a0a0ac7}:root[data-theme=mono] .dialog-heading .eyebrow,:root[data-theme=mono] .dialog-intro{color:#8a8a8a}:root[data-theme=mono] .import-tabs{background:#151515}:root[data-theme=mono] .dropzone{color:#9e9e9e;background:#1b1b1b;border:1px dashed #454545}:root[data-theme=mono] .dropzone.has-file{border-color:#8585854d}:root[data-theme=mono] .youtube-import>label,:root[data-theme=mono] .engine-control>label{color:#a3a3a3}:root[data-theme=mono] .youtube-import input{color:#d6d6d6;background:#1a1a1a;border:1px solid #454545}:root[data-theme=mono] .youtube-import p{color:#868686}:root[data-theme=mono] .engine-control select{color:#cdcdcd;background:#2d2d2d}:root[data-theme=mono] .engine-status{color:#8b8b8b}@media (width<=1000px){:root[data-theme=mono] .sidebar-scrim{background:#0009}}:root[data-theme=mono] .tempo-editor{color:#9b9b9b;background:#212121}:root[data-theme=mono] .tempo-editor input{color:#e1e1e1;background:#171717}:root[data-theme=mono] .notation-stale{color:#aeaeae;background:#82828210;border-top:1px solid #8b8b8b16;border-bottom:1px solid #8b8b8b16}:root[data-theme=mono] .editor-actions .danger-text{color:#a4a4a4}:root[data-theme=mono] .inline-field{color:#979797}:root[data-theme=mono] .inline-field input,:root[data-theme=mono] .inline-field select,:root[data-theme=mono] .editor-controls input,:root[data-theme=mono] .editor-note-picker select,:root[data-theme=mono] .pages-field input{color:#cdcdcd;background:#2c2c2c}:root[data-theme=mono] .editor-note-picker{color:#909090}:root[data-theme=mono] .editor-tools{color:#999}:root[data-theme=mono] .editor-tools summary,:root[data-theme=mono] .practice-options summary,:root[data-theme=mono] .source-comparison summary{color:#a9a9a9}:root[data-theme=mono] .editor-tools p,:root[data-theme=mono] .practice-options p,:root[data-theme=mono] .source-comparison p,:root[data-theme=mono] .import-preview p{color:#818181}:root[data-theme=mono] .practice-options,:root[data-theme=mono] .source-comparison{color:#8b8b8b;background:#1c1c1c}:root[data-theme=mono] .source-comparison a{color:#c3c3c3}:root[data-theme=mono] .import-preview,:root[data-theme=mono] .pages-field{color:#a3a3a3}:root[data-theme=mono] .pages-field small{color:#818181}:root[data-theme=mono] .midi-practice{color:#8b8b8b;background:#1c1c1c}:root[data-theme=mono] .midi-practice summary{color:#a9a9a9}:root[data-theme=mono] .practice-controls select{color:#cdcdcd;background:#2c2c2c}:root[data-theme=mono] .midi-practice p{color:#8e8e8e}:root[data-theme=mono] .practice-feedback strong{color:#cbcbcb}:root[data-theme=mono] .reference-link a{color:#c3c3c3}:root[data-theme=mono] .piece-name-field input{color:#dfdfdf;background:#1a1a1a;border:1px solid #454545}:root[data-theme=mono] .audio-measurements strong,:root[data-theme=mono] .audio-measurements output{color:#c6c6c6}:root[data-theme=mono] .source-side-by-side section{color:#323232;background:#fff}:root[data-theme=mono] .source-side-by-side h3{background:#f1f1f1}@media (pointer:coarse){:root[data-theme=mono] .timeline input::-webkit-slider-runnable-track{background:linear-gradient(to right,#bababa var(--progress),#333 var(--progress))}:root[data-theme=mono] .timeline input::-moz-range-track{background:linear-gradient(to right,#bababa var(--progress),#333 var(--progress))}}:root[data-theme=mono] .learning-badge{color:#9b9b9b}:root[data-theme=mono] .learning-connect{color:#e7e7e7;background:#434343}:root[data-theme=mono] .learning-practice p strong{color:#b9b9b9}:root[data-theme=mono] .learning-status{color:#aeaeae;background:#222}:root[data-theme=mono] .learning-note{color:#e3e3e3;border:1px solid #b7b7b740}:root[data-theme=mono] .learning-stop{color:#ccc}:root[data-theme=mono] .trash-bin{color:#969696}:root[data-theme=mono] .trash-bin .danger-text{color:#969696}:root[data-theme=mono] .delete-dialog{color:#dcdcdc;background:#212121;border:1px solid #555;box-shadow:0 25px 90px #0008}:root[data-theme=mono] .delete-dialog::backdrop{background:#0009}:root[data-theme=mono] :root{--bg:#141414;--panel:#202020;--line:#bababa1f;--muted:#adadad;--text:#efefef;--blue:#b6b6b6;--amber:#c4c4c4;--surface-raised:#2b2b2b;--surface-input:#191919}:root[data-theme=mono] button:focus-visible,:root[data-theme=mono] a:focus-visible,:root[data-theme=mono] input:focus-visible,:root[data-theme=mono] select:focus-visible,:root[data-theme=mono] summary:focus-visible{outline:3px solid #c5c5c5}:root[data-theme=mono] .skip-link{color:#252525;background:#eee}:root[data-theme=mono] .sidebar{background:#1b1b1b}:root[data-theme=mono] .brand-symbol{color:#cecece;background:#b6b6b60d;border:1px solid #b6b6b626}:root[data-theme=mono] .new-piece{color:#e3e3e3;background:#b6b6b615;border-color:#b6b6b635}:root[data-theme=mono] .new-piece:hover{background:#b6b6b622;border-color:#b6b6b655}:root[data-theme=mono] .library-heading,:root[data-theme=mono] .library-heading>span:last-child{color:#afafaf}:root[data-theme=mono] .library-search{color:#a8a8a8}:root[data-theme=mono] .piece-select strong{color:#e7e7e7}:root[data-theme=mono] .piece-select small{color:#aaa}:root[data-theme=mono] .piece-icon{color:#b3b3b3;background:#c1c1c109}:root[data-theme=mono] .selected .piece-icon{color:#cecece;background:#b6b6b615;border-color:#b6b6b625}:root[data-theme=mono] .piece-delete{background:#232323}:root[data-theme=mono] .library-empty{color:#b1b1b1}:root[data-theme=mono] .library-empty strong{color:#e0e0e0}:root[data-theme=mono] .sidebar-bottom strong{color:#dedede}:root[data-theme=mono] .sidebar-bottom p{color:#a8a8a8}:root[data-theme=mono] .connection{color:#afafaf}:root[data-theme=mono] .breadcrumb{color:#a6a6a6}:root[data-theme=mono] .breadcrumb strong{color:#ddd}:root[data-theme=mono] .breadcrumb svg{color:#8b8b8b}:root[data-theme=mono] .local-badge{color:#b6b6b6}:root[data-theme=mono] .eyebrow{color:#b2b2b2}:root[data-theme=mono] .piece-title-row .icon-button{color:#aeaeae}:root[data-theme=mono] .piece-header p{color:#afafaf}:root[data-theme=mono] .source-actions>button:not(.icon-button){color:#d3d3d3;background:#272727;border-color:#bababa29}:root[data-theme=mono] .source-actions>button:first-child:hover{background:#f5f5f5}:root[data-theme=mono] .source-actions>button:hover{background:#363636}:root[data-theme=mono] .icon-button{color:#b4b4b4}:root[data-theme=mono] .text-button{color:#ccc}:root[data-theme=mono] .subtle-button{color:#b9b9b9}:root[data-theme=mono] .button.primary{color:#292929;background:#e8e8e8}:root[data-theme=mono] .button.danger{background:#5c5c5c}:root[data-theme=mono] .message.error{color:#d9d9d9;background:#56565620;border-color:#b0b0b050}:root[data-theme=mono] .message.job-message{color:#d9d9d9;background:#a6a6a614;border-color:#b6b6b636}:root[data-theme=mono] .save-menu>summary{color:#dfdfdf;background:#262626;border:1px solid #bababa2b}:root[data-theme=mono] .save-menu[open]>summary{background:#3a3a3a;border-color:#b6b6b670}:root[data-theme=mono] .save-menu>div{background:#272727;border:1px solid #b5b5b545;box-shadow:0 18px 50px #07070770}:root[data-theme=mono] .save-menu>div>button,:root[data-theme=mono] .save-menu>div>a{color:#e0e0e0}:root[data-theme=mono] .save-menu>div>button:hover,:root[data-theme=mono] .save-menu>div>a:hover{background:#b6b6b614}:root[data-theme=mono] .save-menu small,:root[data-theme=mono] .save-menu p{color:#b1b1b1}:root[data-theme=mono] .save-menu-panel strong{color:#ececec}:root[data-theme=mono] .save-menu-panel strong small{color:#d9d9d9;background:#b6b6b615}:root[data-theme=mono] .save-menu-panel button>span>span{color:#bcbcbc}:root[data-theme=mono] .save-menu-panel>button:first-of-type{background:#b6b6b60a}:root[data-theme=mono] .practice-mode-row>p{color:#bbb}:root[data-theme=mono] .practice-mode-switch{background:#1c1c1c;border:1px solid #bababa22}:root[data-theme=mono] .practice-mode-switch button{color:#b9b9b9}:root[data-theme=mono] .practice-mode-switch button[aria-pressed=true]{color:#eee;background:#3a3a3a;box-shadow:0 2px 7px #06060620}:root[data-theme=mono] .practice-mode-switch button[data-mode=play]{color:#e0e0e0;border-color:#b6b6b645}:root[data-theme=mono] .practice-mode-switch button[data-mode=play][aria-pressed=true]{color:#222;background:#e9e9e9;border-color:#dadada}:root[data-theme=mono] .practice-mode-switch button[data-mode=play][aria-pressed=true]:hover{color:#222;background:#f6f6f6}:root[data-theme=mono] .playing-instructions{color:#c7c7c7;background:#b6b6b608;border:1px solid #b6b6b62b;border-left:2px solid #b6b6b670}:root[data-theme=mono] .playing-instructions strong{color:#ececec}:root[data-theme=mono] .playing-instructions>svg{color:#cfcfcf}:root[data-theme=mono] .simplify-actions .simplify-button{color:#ededed;background:#404040;border:1px solid #b6b6b655}:root[data-theme=mono] .simplify-actions .simplify-button:hover{background:#525252}:root[data-theme=mono] .start-guide{background:#b6b6b608;border:1px solid #b6b6b624}:root[data-theme=mono] .start-guide-title h2{color:#e8e8e8}:root[data-theme=mono] .start-guide-title p{color:#bbb}:root[data-theme=mono] .start-guide-step{color:#b6b6b6}:root[data-theme=mono] .start-guide-step>svg{color:#cbcbcb}:root[data-theme=mono] .start-guide-step strong{color:#e4e4e4}:root[data-theme=mono] .start-guide-step p,:root[data-theme=mono] .start-guide-step small{color:#b6b6b6}:root[data-theme=mono] .start-guide-step button{color:#d0d0d0}:root[data-theme=mono] .notice-toast{color:#eee;background:#353535;border:1px solid #b9b9b970;box-shadow:0 10px 35px #07070770}:root[data-theme=mono] .notice-toast>svg{color:#d3d3d3}:root[data-theme=mono] .notice-toast .icon-button{color:#dfdfdf}:root[data-theme=mono] .player-panel{background:#1d1d1d;border-color:#bababa2c;box-shadow:0 18px 60px #08080835}:root[data-theme=mono] .player-toolbar{background:#262626;border-color:#bababa1c}:root[data-theme=mono] .control-label{color:#b7b7b7}:root[data-theme=mono] .compact-control .icon-button{color:#e1e1e1;background:#212121;border:1px solid #bababa2a}:root[data-theme=mono] .compact-control .speed-presets{color:#ebebeb;background-color:#212121;background-image:linear-gradient(45deg,#0000 50%,#c2c2c2 50%),linear-gradient(135deg,#c2c2c2 50%,#0000 50%);border:1px solid #bababa3b}:root[data-theme=mono] .compact-control .speed-presets:hover{background-color:#343434;border-color:#b6b6b670}:root[data-theme=mono] .toolbar-divider{background:#bababa23}:root[data-theme=mono] .transpose-group select{color:#e7e7e7;background:#212121;border:1px solid #bababa2a}:root[data-theme=mono] .hands-toggle{color:#ddd;background:#212121;border:1px solid #bababa2a}:root[data-theme=mono] .hands-toggle svg{color:#b5b5b5}:root[data-theme=mono] .toolbar-volume{color:#b6b6b6}:root[data-theme=mono] .hands-popover{background:#303030;border:1px solid #b6b6b645;box-shadow:0 16px 40px #07070780}:root[data-theme=mono] .popover-head strong,:root[data-theme=mono] .hand-row>span{color:#e3e3e3}:root[data-theme=mono] .roll-top{background:#1d1d1d}:root[data-theme=mono] .roll-legend>span{color:#b7b7b7}:root[data-theme=mono] .roll-stage{background:#1d1d1d}:root[data-theme=mono] .timeline-time,:root[data-theme=mono] .timeline-time span,:root[data-theme=mono] .timeline-duration,:root[data-theme=mono] .timeline-duration span{color:#b4b4b4}:root[data-theme=mono] .timeline-time{color:#eaeaea}:root[data-theme=mono] .timeline input::-webkit-slider-thumb{background:#e4e4e4}:root[data-theme=mono] .timeline input::-moz-range-thumb{background:#e4e4e4}:root[data-theme=mono] .loop-point{color:#e3e3e3;border-color:#bababa2c}:root[data-theme=mono] .play-controls>.icon-button{color:#c6c6c6}:root[data-theme=mono] .guide-sound-toggle{color:#e1e1e1;background:#292929;border:1px solid #bababa3b}:root[data-theme=mono] .guide-sound-toggle:hover{background:#3b3b3b}:root[data-theme=mono] .guide-sound-toggle[aria-pressed=true]{color:#eaeaea;background:#3a3a3a;border-color:#c7c7c76b}:root[data-theme=mono] .play-button{background:#ececec;box-shadow:0 4px 20px #09090930}:root[data-theme=mono] .transport-hint{color:#adadad}:root[data-theme=mono] .transport-hint>span{color:#bfbfbf;border-color:#bababa2a}:root[data-theme=mono] .below-player{color:#aeaeae}:root[data-theme=mono] .keyboard-settings select{color:#d6d6d6;background:#242424;border:1px solid #bababa2a}:root[data-theme=mono] .labels-toggle{color:#bbb}:root[data-theme=mono] .anticipation{color:#b7b7b7}:root[data-theme=mono] .anticipation output{color:#d3d3d3}:root[data-theme=mono] .practice-options,:root[data-theme=mono] .source-comparison,:root[data-theme=mono] .note-editor,:root[data-theme=mono] .learning-practice{background:#212121;border:1px solid #bababa26}:root[data-theme=mono] .practice-options,:root[data-theme=mono] .source-comparison,:root[data-theme=mono] .note-editor,:root[data-theme=mono] .editor-tools,:root[data-theme=mono] .inline-field{color:#bcbcbc}:root[data-theme=mono] .practice-options>summary,:root[data-theme=mono] .source-comparison>summary,:root[data-theme=mono] .editor-tools>summary{color:#d9d9d9}:root[data-theme=mono] .practice-options p,:root[data-theme=mono] .source-comparison p,:root[data-theme=mono] .editor-tools p,:root[data-theme=mono] .import-preview p,:root[data-theme=mono] .midi-practice p{color:#b5b5b5}:root[data-theme=mono] .editor-actions{color:#b9b9b9}:root[data-theme=mono] .editor-actions>.subtle-button{border-color:#bababa2a}:root[data-theme=mono] .advanced-tools.practice-options{background:#1e1e1e;border-color:#bababa24}:root[data-theme=mono] .advanced-tools>summary{color:#cacaca}:root[data-theme=mono] .advanced-tools>summary::marker{color:#a6a6a6}:root[data-theme=mono] .inline-field input,:root[data-theme=mono] .inline-field select,:root[data-theme=mono] .editor-controls input,:root[data-theme=mono] .editor-controls select,:root[data-theme=mono] .editor-note-picker select,:root[data-theme=mono] .practice-controls select,:root[data-theme=mono] .pages-field input{color:#e4e4e4;border:1px solid #bababa38}:root[data-theme=mono] .editor-controls label,:root[data-theme=mono] .editor-controls label:first-child{color:#bebebe}:root[data-theme=mono] .editor-title span{color:#b1b1b1}:root[data-theme=mono] .editor-note-picker,:root[data-theme=mono] .editor-note-picker label{color:#c1c1c1}:root[data-theme=mono] .editor-tools{border-color:#bababa26}:root[data-theme=mono] .tempo-editor{color:#d3d3d3;background:#282828;border-color:#b6b6b636}:root[data-theme=mono] .tempo-editor input{color:#eee;border-color:#b6b6b640}:root[data-theme=mono] .tempo-editor>span{color:#bababa}:root[data-theme=mono] .notation-stale{color:#d7d7d7;background:#7676761a;border-color:#b7b7b730}:root[data-theme=mono] .warnings{color:#b8b8b8}:root[data-theme=mono] .warnings summary{color:#c5c5c5}:root[data-theme=mono] .reference-link{color:#b6b6b6}:root[data-theme=mono] .reference-link a,:root[data-theme=mono] .source-comparison a{color:#d4d4d4}:root[data-theme=mono] .source-side-by-side section{border-color:#bababa38}:root[data-theme=mono] .audio-measurements{color:#bbb}:root[data-theme=mono] .audio-support-technical,:root[data-theme=mono] .audio-support-feedback{color:#bababa}:root[data-theme=mono] .workspace-footer .subtle-button,:root[data-theme=mono] .workspace-footer a{color:#bdbdbd}:root[data-theme=mono] .learning-practice{background:linear-gradient(115deg,#b6b6b609,#212121);border-color:#b6b6b635}:root[data-theme=mono] .learning-heading h2{color:#ebebeb}:root[data-theme=mono] .learning-heading p{color:#bbb}:root[data-theme=mono] .learning-badge{color:#c8c8c8;border-color:#bababa35}:root[data-theme=mono] .learning-badge.active{color:#d8d8d8;background:#b9b9b90e;border-color:#b9b9b955}:root[data-theme=mono] .learning-step{background:#1c1c1c70;border:1px solid #bababa29}:root[data-theme=mono] .learning-step.is-current{background:#b6b6b608;border-color:#b6b6b670}:root[data-theme=mono] .learning-step.is-ready{border-color:#b9b9b945}:root[data-theme=mono] .learning-step-title{color:#e3e3e3}:root[data-theme=mono] .learning-step-number{color:#d2d2d2;background:#b6b6b610;border:1px solid #b6b6b645}:root[data-theme=mono] .learning-source-choice legend{color:#bbb}:root[data-theme=mono] .learning-source-option{color:#c6c6c6;border:1px solid #bababa2a}:root[data-theme=mono] .learning-source-option.selected{background:#b6b6b610;border-color:#b6b6b685}:root[data-theme=mono] .learning-source-option strong{color:#e9e9e9}:root[data-theme=mono] .learning-source-option small{color:#b7b7b7}:root[data-theme=mono] .learning-connect{color:#f4f4f4;background:#505050;border:1px solid #b6b6b645}:root[data-theme=mono] .learning-connect:hover{background:#636363}:root[data-theme=mono] .learning-connection-status,:root[data-theme=mono] .learning-step-hint,:root[data-theme=mono] .learning-limits,:root[data-theme=mono] .learning-input-feedback{color:#bfbfbf}:root[data-theme=mono] .learning-midi-port{color:#c9c9c9}:root[data-theme=mono] .learning-midi-port select{color:#e8e8e8;background:#1b1b1b;border:1px solid #bababa3c}:root[data-theme=mono] .practice-hands legend{color:#bbb}:root[data-theme=mono] .practice-hands label{color:#d3d3d3;border:1px solid #bababa36}:root[data-theme=mono] .practice-hands label:has(input:checked){color:#ececec;background:#b6b6b612;border-color:#b6b6b670}:root[data-theme=mono] .learning-wait-toggle{color:#d9d9d9}:root[data-theme=mono] .learning-wait-toggle small{color:#bababa}:root[data-theme=mono] .learning-limits{border-top:1px solid #bababa23}:root[data-theme=mono] .learning-help{color:#bdbdbd}:root[data-theme=mono] .learning-help>summary{color:#d0d0d0}:root[data-theme=mono] .learning-input-feedback{background:#b6b6b60c}:root[data-theme=mono] .learning-meter{color:#c7c7c7}:root[data-theme=mono] .learning-status{color:#d5d5d5;background:#323232;border-color:#bababa24}:root[data-theme=mono] .learning-status.waiting{color:#dedede;background:#313131;border-color:#c4c4c445}:root[data-theme=mono] .learning-note{color:#e5e5e5;border-color:#c4c4c470}:root[data-theme=mono] .learning-note.recognized{color:#e5e5e5;background:#d0d0d012;border-color:#d0d0d070}:root[data-theme=mono] .learning-stop{color:#ebebeb;border-color:#e3e3e34a}:root[data-theme=mono] .learning-skip{color:#d8d8d8}:root[data-theme=mono] .learning-unsupported{color:#d3d3d3}:root[data-theme=mono] .import-dialog{background:#222;border-color:#bababa40}:root[data-theme=mono] .dialog-heading .eyebrow{color:#bebebe}:root[data-theme=mono] .dialog-intro{color:#bcbcbc}:root[data-theme=mono] .import-tabs{background:#191919;border:1px solid #bababa20}:root[data-theme=mono] .import-tabs button{color:#bcbcbc}:root[data-theme=mono] .import-tabs button[aria-selected=true]{color:#eee;background:#3d3d3d}:root[data-theme=mono] .dropzone{color:#cbcbcb;background:#1d1d1d;border-color:#a9a9a96b}:root[data-theme=mono] .dropzone:hover{background:#292929;border-color:#ccc}:root[data-theme=mono] .dropzone.has-file{background:#b6b6b609;border-color:#b6b6b670}:root[data-theme=mono] .dropzone.is-dragging{background:#424242;border-color:#d5d5d5;box-shadow:inset 0 0 0 1px #d5d5d540}:root[data-theme=mono] .dropzone-icon{color:#dadada;background:#3f3f3f}:root[data-theme=mono] .dropzone>span:last-child{color:#b7b7b7}:root[data-theme=mono] .dropzone .dropzone-formats{color:#c8c8c8}:root[data-theme=mono] .piece-name-field label{color:#dfdfdf}:root[data-theme=mono] .piece-name-field label span{color:#c5c5c5}:root[data-theme=mono] .piece-name-field input{color:#eee;background:#1b1b1b;border-color:#b9b9b947}:root[data-theme=mono] .piece-name-field small{color:#bbb}:root[data-theme=mono] .youtube-import>label,:root[data-theme=mono] .engine-control>label,:root[data-theme=mono] .pages-field{color:#d4d4d4}:root[data-theme=mono] .youtube-import input{color:#eee;background:#1b1b1b;border-color:#b9b9b947}:root[data-theme=mono] .youtube-import p,:root[data-theme=mono] .engine-status,:root[data-theme=mono] .pages-field small{color:#b7b7b7}:root[data-theme=mono] .engine-control select{color:#e5e5e5;background:#1b1b1b;border-color:#b9b9b947}:root[data-theme=mono] .audio-source-field>label{color:#dfdfdf}:root[data-theme=mono] .audio-source-field>select{color:#ececec;background:#1b1b1b;border:1px solid #b9b9b947}:root[data-theme=mono] .audio-source-field>p,:root[data-theme=mono] .import-advanced .engine-choice{color:#c5c5c5}:root[data-theme=mono] .audio-source-field[data-audio-source=mixed]>p{color:#c9c9c9;background:#bdbdbd08;border:1px solid #bdbdbd30}:root[data-theme=mono] .import-advanced{color:silver;background:#1a1a1a;border:1px solid #bababa2e}:root[data-theme=mono] .import-advanced>summary{color:#d1d1d1}:root[data-theme=mono] .import-advanced>summary>span{color:#bbb}:root[data-theme=mono] .import-progress{color:#d9d9d9}:root[data-theme=mono] .import-progress>strong,:root[data-theme=mono] .import-progress h3{color:#ebebeb}:root[data-theme=mono] .import-progress p{color:#bebebe}:root[data-theme=mono] .import-progress li,:root[data-theme=mono] .import-progress-phase{color:#b9b9b9;border:1px solid #bababa2b}:root[data-theme=mono] .import-progress>li{background:#1c1c1c}:root[data-theme=mono] .import-progress>li>span:first-child{border:1px solid #b7b7b74d}:root[data-theme=mono] .import-progress>li[aria-current=step]{color:#e7e7e7;background:#b6b6b612;border-color:#b6b6b670}:root[data-theme=mono] .import-progress>li[data-complete=true]{color:#d4d4d4;border-color:#b9b9b950}:root[data-theme=mono] .import-progress li.is-current,:root[data-theme=mono] .import-progress li.active,:root[data-theme=mono] .import-progress-phase.is-current{color:#e7e7e7;background:#b6b6b612;border-color:#b6b6b670}:root[data-theme=mono] .import-progress li.is-ready,:root[data-theme=mono] .import-progress li.done{color:#d4d4d4;border-color:#b9b9b950}:root[data-theme=mono] .youtube-fallback{color:#bdbdbd}:root[data-theme=mono] .youtube-fallback>summary{color:#d3d3d3}:root[data-theme=mono] .import-preview{color:#d6d6d6}:root[data-theme=mono] .midi-tracks{border-color:#bababa38}:root[data-theme=mono] .midi-tracks legend{color:#d7d7d7}:root[data-theme=mono] .import-formats>span{color:#bbb}:root[data-theme=mono] .dialog-footer{border-color:#bababa29}:root[data-theme=mono] .import-submit-help{color:#c8c8c8}:root[data-theme=mono] .dialog-footer>span{color:#bdbdbd}:root[data-theme=mono] .recorder strong{color:#ececec}:root[data-theme=mono] .recorder p{color:#bbb}:root[data-theme=mono] .record-symbol{color:#d7d7d7;background:#3f3f3f}:root[data-theme=mono] .record-symbol.recording{color:#d9d9d9;background:#7b7b7b28;box-shadow:0 0 0 8px #7b7b7b0b}:root[data-theme=mono] .trash-bin{color:#b8b8b8;border-color:#bababa27}:root[data-theme=mono] .trash-bin p{color:#b2b2b2}:root[data-theme=mono] .trash-feedback,:root[data-theme=mono] .trash-count{color:#bbb}:root[data-theme=mono] .delete-dialog{background:#262626;border-color:#bababa4d}:root[data-theme=mono] .delete-dialog p{color:#cdcdcd}:root[data-theme=mono] .pwa-status{color:#b8b8b8;background:#1d1d1d;border-color:#bababa22}:root[data-theme=mono] .pwa-actions button{color:#e4e4e4;background:#303030;border-color:#bababa3b}:root[data-theme=mono] .pwa-install-help,:root[data-theme=mono] .pwa-technical{color:#b8b8b8}@media (width<=760px) and (orientation:portrait){:root[data-theme=mono] .orientation-hint{color:#bebebe;background:#b6b6b606;border-left:2px solid #b6b6b666}}:root[data-theme=mono] .atelier-home{color:var(--text-secondary,#aaa)}:root[data-theme=mono] .browser-import-info{background:#ababab0f;border:1px solid #ababab40}:root[data-theme=mono] .browser-import-info strong{color:#e5e5e5}:root[data-theme=mono] .browser-import-info p{color:#ababab}:root[data-theme=mono] .app-shell.is-landscape-player:not(.is-landscape-workshop) .landscape-playbar{background:#222}:root[data-theme=mono] .landscape-piece strong{color:#eee}:root[data-theme=mono] .landscape-piece small{color:#bdbdbd}:root[data-theme=mono] .app-shell .landscape-bar-actions>button{color:#e5e5e5;background:#323232;border:1px solid #bababa2e}:root[data-theme=mono] .app-shell .landscape-bar-actions>button:hover{background:#414141}:root[data-theme=mono] .app-shell .landscape-bar-actions>.landscape-play{color:#222;background:#ececec}:root[data-theme=mono] .app-shell .landscape-bar-actions>.landscape-play:hover{background:#fff}:root[data-theme=mono] .app-shell .landscape-bar-actions>button[aria-pressed=true]{color:#eaeaea;background:#414141;border-color:#cdcdcd70}:root[data-theme=mono] .landscape-progress{color:#b6b6b6;accent-color:#b6b6b6;background:#3e3e3e}:root[data-theme=mono] .landscape-progress::-webkit-progress-bar{background:#3e3e3e}:root[data-theme=mono] .landscape-progress::-webkit-progress-value{background:#b6b6b6}:root[data-theme=mono] .landscape-progress::-moz-progress-bar{background:#b6b6b6}:root[data-theme=mono] .app-shell:is(.is-landscape-player,.is-landscape-workshop) .sidebar-scrim{background:#0e0e0ecc}:root[data-theme=mono] .app-shell.is-landscape-workshop .landscape-return{background:#191919;box-shadow:0 6px 12px #19191940}:root[data-theme=mono] .app-shell.is-landscape-workshop .landscape-return>span{color:#bdbdbd}:root[data-theme=mono] .app-shell.is-landscape-workshop .landscape-return .button{color:#eee;background:#404040}:root[data-theme=mono] .pwa-status{color:#acacac;background:#151515}:root[data-theme=mono] .pwa-status summary{color:#c3c3c3}:root[data-theme=mono] .pwa-dot,:root[data-theme=mono] .pwa-dot.ready{background:#a8a8a8}:root[data-theme=mono] .pwa-update-badge{color:#d4d4d4;background:#c9c9c914;border:1px solid #c9c9c92e}:root[data-theme=mono] .pwa-actions button{color:#dedede;background:#262626}:root[data-theme=mono] .pwa-actions .pwa-update-action{color:#f4f4f4;background:#414141;border-color:#818181}:root[data-theme=mono] .pwa-install-help{color:#9d9d9d}:root[data-theme=mono] .pwa-feedback{color:#c4c4c4}:root[data-theme=mono] .pwa-technical summary,:root[data-theme=mono] .pwa-technical p{color:#9e9e9e}:root[data-theme=mono] .audio-support-content>p{color:#b0b0b0}:root[data-theme=mono] .audio-support-actions button{color:#dfdfdf;background:#2d2d2d}:root[data-theme=mono] .audio-technical summary{color:#9f9f9f!important}:root[data-theme=mono] .audio-technical p{color:#9f9f9f}:root[data-theme=mono] .audio-measurements dt{color:#9c9c9c}:root[data-theme=mono] .audio-measurements dd{color:#d2d2d2}:root[data-theme=mono] .trash-bin .trash-count{color:#c1c1c1}:root[data-theme=mono] .trash-bin li>span{color:#cecece}:root[data-theme=mono] .trash-entry-actions button{color:#c1c1c1}:root[data-theme=mono] .trash-bin .trash-feedback{color:#cacaca}:root[data-theme=mono] .trash-bin .trash-feedback.error{color:#bebebe}:root[data-theme=mono] .audio-support-actions button:focus-visible,:root[data-theme=mono] .audio-technical summary:focus-visible,:root[data-theme=mono] .pwa-status summary:focus-visible,:root[data-theme=mono] .pwa-actions button:focus-visible,:root[data-theme=mono] .trash-bin summary:focus-visible,:root[data-theme=mono] .trash-entry-actions button:focus-visible,:root[data-theme=mono] .delete-dialog button:focus-visible{outline:2px solid #b9b9b9}:root[data-theme=mono] .atelier-tabs button{color:#666}:root[data-theme=mono] .atelier-tabs button[aria-selected=true]{color:#fff;box-shadow:0 2px 4px #0001}:root[data-theme=mono] .atelier-tabs button:hover{color:#111}:root[data-theme=mono] .atelier-tabs button[aria-selected=true]:hover{color:#fff}:root[data-theme=mono] .impro-workshop{color:#222}:root[data-theme=mono] .impro-workshop .eyebrow{color:#777}:root[data-theme=mono] .impro-hero h1>span{color:#888}:root[data-theme=mono] .impro-hero-mark{background:repeating-linear-gradient(90deg,#fafafa 0 29px,#eee 30px,#fafafa 31px)}:root[data-theme=mono] .impro-steps>button{color:#888;background:#fff}:root[data-theme=mono] .impro-steps>button.selected{color:#fff}:root[data-theme=mono] .impro-steps>button:hover{border-color:#aaa}:root[data-theme=mono] .impro-step-number{border:1px solid #ddd}:root[data-theme=mono] .impro-steps .selected .impro-step-number{color:#ddd;border-color:#666}:root[data-theme=mono] .impro-local{color:#777}:root[data-theme=mono] .impro-local>span{background:#888}:root[data-theme=mono] .impro-fields label{color:#555}:root[data-theme=mono] .impro-fields label>span{color:#888}:root[data-theme=mono] .impro-fields select{color:#222;background:#fff}:root[data-theme=mono] .impro-generate-row p{color:#777}:root[data-theme=mono] .impro-button{border:1px solid #ccc}:root[data-theme=mono] .impro-button.dark{color:#fff}:root[data-theme=mono] .impro-pending{color:#555}:root[data-theme=mono] .impro-grid-heading p{color:#888}:root[data-theme=mono] .impro-grid-heading strong{color:#222}:root[data-theme=mono] .impro-grid-heading small{color:#888}:root[data-theme=mono] .impro-chord{color:#222;background:#fff}:root[data-theme=mono] .impro-chord:hover{color:#111;border-color:#aaa}:root[data-theme=mono] .impro-chord.selected{border-color:#222;box-shadow:inset 0 0 0 1px #222}:root[data-theme=mono] .impro-chord.sounding{background:#ececec}:root[data-theme=mono] .impro-playing-dot{background:#222}:root[data-theme=mono] .impro-grid-summary{color:#777}:root[data-theme=mono] .impro-next{color:#444}:root[data-theme=mono] .impro-next:hover{color:#000}:root[data-theme=mono] .impro-workshop .impro-lesson p{color:#777}:root[data-theme=mono] .impro-note-chips.left>span{border-bottom:3px solid #919191}:root[data-theme=mono] .impro-note-chips.right>span{border-bottom:3px solid #a1a1a1}:root[data-theme=mono] .impro-teaching-note{color:#777}:root[data-theme=mono] .impro-teaching-note strong{color:#444}:root[data-theme=mono] .impro-mini-label{color:#888}:root[data-theme=mono] .impro-keyboard{background:#eee;border:1px solid #bbb}:root[data-theme=mono] .impro-key.white{color:#888;background:#fff;border-right:1px solid #ccc}:root[data-theme=mono] .impro-key.black{color:#eee;border:1px solid #111}:root[data-theme=mono] .impro-patterns button{color:#666;border:1px solid #ddd}:root[data-theme=mono] .impro-patterns button.selected{color:#fff}:root[data-theme=mono] .impro-phrase>span{border:1px solid #ddd;border-bottom:3px solid #a1a1a1}:root[data-theme=mono] .impro-phrase small{color:#999}:root[data-theme=mono] .impro-phrase em{color:#888}:root[data-theme=mono] .impro-accompaniments>button{color:#444;background:#fff;border:1px solid #ddd}:root[data-theme=mono] .impro-accompaniments>button.selected{border-color:#222;box-shadow:inset 0 0 0 1px #222}:root[data-theme=mono] .impro-accompaniments>button:hover{color:#111;border-color:#999}:root[data-theme=mono] .impro-accompaniments small,:root[data-theme=mono] .impro-practice-heading p,:root[data-theme=mono] .impro-icon{color:#888}:root[data-theme=mono] .impro-icon.selected{color:#222}:root[data-theme=mono] .impro-icon:hover{color:#111}:root[data-theme=mono] .impro-play{color:#fff}:root[data-theme=mono] .impro-play:hover{background:#444}:root[data-theme=mono] .impro-practice-controls{color:#777}:root[data-theme=mono] .impro-practice-controls input[type=range]{accent-color:#444}:root[data-theme=mono] .impro-practice-controls input[type=checkbox]{accent-color:#333}:root[data-theme=mono] .impro-roll{background:#111}:root[data-theme=mono] .impro-timeline input{accent-color:#333}:root[data-theme=mono] .impro-timeline>span,:root[data-theme=mono] .impro-practice-footer>p{color:#888}:root[data-theme=mono] .impro-feedback{color:#444}:root[data-theme=mono] .impro-feedback.error{color:#4e4e4e;background:#fafafa;border-color:#a6a6a6}:root[data-theme=mono] .impro-footer{color:#999}:root[data-theme=mono] .impro-chord-picker button{color:#555;background:#fff}:root[data-theme=mono] .impro-chord-picker button>span{color:#888}:root[data-theme=mono] .impro-chord-picker button:hover{color:#111;border-color:#777}:root[data-theme=mono] .impro-chord-picker button.selected{color:#fff}:root[data-theme=mono] .impro-chord-picker button.selected>span{color:#bbb}:root[data-theme=mono] .impro-view-nav>span{color:#888}:root[data-theme=mono] .impro-history-undo{border:1px solid #ddd}:root[data-theme=mono] .impro-voicing-options>label{color:#444}:root[data-theme=mono] .impro-voicing-options input{accent-color:#333}:root[data-theme=mono] .impro-voicing-notes small{color:#777}:root[data-theme=mono] .impro-workshop .impro-voicing-formula{color:#555}:root[data-theme=mono] .impro-workshop .impro-voicing-wide{color:#616161;background:#f3f3f3;border:1px solid #dedede}:root[data-theme=mono] .impro-voicing-help>summary{color:#666}:root[data-theme=mono] .impro-rhythm-controls>span{color:#333}:root[data-theme=mono] .impro-rhythm-controls button{color:#555;border:1px solid #ccc}:root[data-theme=mono] .impro-rhythm-controls button[aria-pressed=true]{color:#fff;background:#222;border-color:#222}:root[data-theme=mono] .impro-workshop .impro-rhythm-controls p{color:#666}:root[data-theme=mono] .impro-rhythm-guide{background:#fff}:root[data-theme=mono] .impro-rhythm-guide-heading>span,:root[data-theme=mono] .impro-rhythm-axis{color:#777}:root[data-theme=mono] .impro-rhythm-hand-name{color:#444}:root[data-theme=mono] .impro-rhythm-event{background:#919191;border-left:2px solid #5a5a5a}:root[data-theme=mono] .impro-rhythm-hand.right .impro-rhythm-event{background:#a6a6a6;border-color:#5e5e5e}:root[data-theme=mono] .impro-rhythm-hand>p,:root[data-theme=mono] .impro-rhythm-counting{color:#777}:root[data-theme=mono] .impro-rhythm-counting strong{color:#444}:root[data-theme=mono] .impro-mode-heading>span{color:#777}:root[data-theme=mono] .impro-mode-options>button{color:#444;background:#fff;border:1px solid #ddd}:root[data-theme=mono] .impro-mode-options>button:hover{border-color:#888}:root[data-theme=mono] .impro-mode-options>button[aria-pressed=true]{color:#222;border-color:#222;box-shadow:inset 0 0 0 1px #222}:root[data-theme=mono] .impro-mode-number{color:#888}:root[data-theme=mono] .impro-workshop .impro-mode-options p{color:#777}:root[data-theme=mono] .impro-key.target:after{background:#5b5b5b}:root[data-theme=mono] .impro-target-legend{color:#777}:root[data-theme=mono] .impro-target-legend i{background:#5b5b5b}:root[data-theme=mono] .impro-extra-targets{background:#f8f8f8;border:1px solid #ddd}:root[data-theme=mono] .impro-extra-targets>strong{color:#595959}:root[data-theme=mono] .impro-melody-sections>button{color:#777}:root[data-theme=mono] .impro-melody-sections>button[aria-pressed=true]{color:#4e4e4e;background:#f7f7f7;border-color:#838383}:root[data-theme=mono] .impro-melody-sections small{color:#999}:root[data-theme=mono] .impro-phrase-measures>section{border:1px solid #e0e0e0}:root[data-theme=mono] .impro-phrase-measures>section.selected{background:#fbfbfb;border-color:#a0a0a0}:root[data-theme=mono] .impro-phrase-measure-heading{color:#777}:root[data-theme=mono] .impro-phrase-measure-heading strong{color:#444}:root[data-theme=mono] .impro-phrase-measures .impro-phrase>span{background:#fff}:root[data-theme=mono] .impro-phrase-rest{color:#888;border:1px dashed #cacaca}:root[data-theme=mono] .impro-workshop .impro-plan-note{color:#666}:root[data-theme=mono] .impro-study-options{color:#555}:root[data-theme=mono] .impro-study-options input{accent-color:#333}:root[data-theme=mono] .impro-chord-study .impro-chord-picker button:focus-visible{outline:2px solid #727272}:root[data-theme=mono] .impro-chord-study .impro-voicing-notes>span{background:#fff}:root[data-theme=mono] .impro-workshop .impro-step-instruction{color:#444}:root[data-theme=mono] .impro-disclosure,:root[data-theme=mono] .impro-voicing-help{color:#666}:root[data-theme=mono] .impro-disclosure>summary,:root[data-theme=mono] .impro-voicing-help>summary{color:#555}:root[data-theme=mono] .impro-disclosure[open]>summary,:root[data-theme=mono] .impro-voicing-help[open]>summary{color:#222}:root[data-theme=mono] .impro-disclosure>summary:focus-visible,:root[data-theme=mono] .impro-voicing-help>summary:focus-visible{outline:2px solid #727272}:root[data-theme=mono] .impro-workshop .impro-chord-display .impro-mini-label{color:#555}:root[data-theme=mono] .impro-workshop .impro-step-completion p{color:#666}:root[data-theme=mono] .impro-custom-fields label{color:#444}:root[data-theme=mono] .impro-custom-fields input,:root[data-theme=mono] .impro-custom-fields select{color:#222;background:#fff;border:1px solid #ccc}:root[data-theme=mono] .impro-motif-bank{border-top:1px solid #ddd}:root[data-theme=mono] .impro-motif-bank li{border-top:1px solid #eee}:root[data-theme=mono] .impro-motif-bank li>button:last-child,:root[data-theme=mono] .impro-final-motifs span{color:#777}:root[data-theme=mono] .impro-final-motifs li[aria-current=true]{background:#f3f3f3;border-color:#919191}:root[data-theme=mono] .impro-history{color:#333}:root[data-theme=mono] .impro-history-count{color:#888}:root[data-theme=mono] .impro-history-intro{color:#777}:root[data-theme=mono] .impro-history-empty{color:#888}:root[data-theme=mono] .impro-history-entry{background:#fff}:root[data-theme=mono] .impro-history-entry-top strong{color:#333}:root[data-theme=mono] .impro-history-entry-top>p>span{color:#888}:root[data-theme=mono] .impro-history-current{color:#555}:root[data-theme=mono] .impro-history-chords>li{color:#444}:root[data-theme=mono] .impro-history-entry-bottom p{color:#888}:root[data-theme=mono] .impro-history-entry-bottom p:first-child{color:#666}:root[data-theme=mono] .impro-history-resume{color:#444;background:#fff}:root[data-theme=mono] .impro-history-resume:hover{color:#111;border-color:#777}:root[data-theme=mono] .impro-history-save-status{color:#666}:root[data-theme=mono] .impro-history-action{color:#666;background:#fff;border:1px solid #ddd}:root[data-theme=mono] .impro-history-action:hover{color:#222;border-color:#888}:root[data-theme=mono] .impro-history-name-form label{color:#555}:root[data-theme=mono] .impro-history-name-form input{color:#222;background:#fff;border:1px solid #ccc}:root[data-theme=mono] .impro-history-name-form button{color:#666}:root[data-theme=mono] .impro-history-name-form .impro-history-name-save{color:#fff;background:#222;border:1px solid #222}:root[data-theme=mono] .impro-history-action-error{color:#4e4e4e;background:#f9f9f9;border:1px solid #b8b8b8}:root[data-theme=mono]{--bg:#fff;--panel:#f2f2f2;--line:#dedede;--muted:#686868;--text:#171717;--blue:#888;--amber:#888;--surface-raised:#f2f2f2;--surface-input:#fff;--radius-panel:12px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;font-family:DM Sans,system-ui,sans-serif}:root[data-theme=mono] body{background:#fff}:root[data-theme=mono] :is(button,input,select){font-family:inherit}:root[data-theme=mono] :is(button,a,input,select,summary):focus-visible{outline-offset:3px;outline:2px solid #111}:root[data-theme=mono] :is(input[type=range],input[type=checkbox],input[type=radio]){accent-color:#111}:root[data-theme=mono] .skip-link{color:#fff;background:#111;border-radius:100px}:root[data-theme=mono] .app-shell{grid-template-columns:258px minmax(0,1fr)}:root[data-theme=mono] .sidebar{color:#f5f5f5;background:#101010;border-right:1px solid #252525;padding:29px 18px 21px}:root[data-theme=mono] .brand{color:#fff;letter-spacing:-.065em;gap:10px;padding:0 8px;font-family:DM Sans,system-ui,sans-serif;font-size:29px;font-weight:630;line-height:1}:root[data-theme=mono] .brand-symbol{color:#fff;background:#202020;border:1px solid #454545;border-radius:9px;place-items:center;width:37px;height:37px;display:grid}:root[data-theme=mono] .brand-period{color:#fff}:root[data-theme=mono] .new-piece{color:#151515;min-height:48px;box-shadow:none;background:#f5f5f5;border:1px solid #f5f5f5;border-radius:100px;margin:34px 0 31px;font-size:13px;font-weight:610;transition:transform .2s,background .2s}:root[data-theme=mono] .new-piece:hover{color:#111;background:#fff;transform:translateY(-2px)}:root[data-theme=mono] .library-heading,:root[data-theme=mono] .library-heading>span:last-child{color:#a6a6a6;letter-spacing:.12em;font-size:10px;font-weight:640}:root[data-theme=mono] .library-search{color:#aaa;background:#1b1b1b;border:1px solid #363636;border-radius:10px;min-height:42px;margin-top:16px}:root[data-theme=mono] .library-search:focus-within{border-color:#a9a9a9}:root[data-theme=mono] .library-search input{color:#fff;background:0 0;font-size:13px}:root[data-theme=mono] .library-search input::placeholder{color:#8d8d8d}:root[data-theme=mono] .piece-list{margin-top:15px}:root[data-theme=mono] .piece-item{border:1px solid #0000;border-radius:11px}:root[data-theme=mono] .piece-item.selected{background:#272727;border-color:#4a4a4a}:root[data-theme=mono] .piece-select{min-height:70px}:root[data-theme=mono] .piece-select:hover{background:#ffffff0e}:root[data-theme=mono] .piece-select strong{color:#f5f5f5;font-size:13px;font-weight:590}:root[data-theme=mono] .piece-select small{color:#a1a1a1;font-size:11px}:root[data-theme=mono] .piece-icon,:root[data-theme=mono] .selected .piece-icon{color:#f3f3f3;background:#383838;border:1px solid #464646;border-radius:8px}:root[data-theme=mono] .piece-current{background:#fff}:root[data-theme=mono] .piece-delete{color:#bbb;background:#272727}:root[data-theme=mono] .library-empty,:root[data-theme=mono] .library-empty strong{color:#c7c7c7}:root[data-theme=mono] .sidebar-bottom{border-top:1px solid #303030;margin-top:auto;padding:22px 9px 0}:root[data-theme=mono] .privacy-icon{color:#b5b5b5}:root[data-theme=mono] .sidebar-bottom strong{color:#eee;font-weight:570}:root[data-theme=mono] .sidebar-bottom p,:root[data-theme=mono] .connection{color:#999}:root[data-theme=mono] .connection i,:root[data-theme=mono] .connection i.online{background:#d5d5d5}:root[data-theme=mono] .workspace{background:#fff}:root[data-theme=mono] .topbar{background:#fff;border-bottom:1px solid #e6e6e6;height:76px;padding:0 clamp(26px,4.3vw,70px)}:root[data-theme=mono] .breadcrumb{color:#585858;font-size:13px;font-weight:550}:root[data-theme=mono] .breadcrumb strong,:root[data-theme=mono] .breadcrumb svg{color:#242424}:root[data-theme=mono] .atelier-tabs button[aria-selected=true] svg{color:#fff}:root[data-theme=mono] .topbar-actions{gap:20px}:root[data-theme=mono] .atelier-home{color:#595959;font-size:12px}:root[data-theme=mono] .atelier-home:hover{color:#111}:root[data-theme=mono] .local-badge{color:#737373;letter-spacing:.1em;font-size:10px}:root[data-theme=mono] .local-badge i{background:#737373}:root[data-theme=mono] .workspace-inner{max-width:1490px;padding:clamp(32px,3.6vw,58px) clamp(26px,4.3vw,70px) 35px}:root[data-theme=mono] .piece-header{align-items:flex-end;gap:28px;margin-bottom:30px}:root[data-theme=mono] .eyebrow{color:#6d6d6d;letter-spacing:.14em;font-size:10px;font-weight:630}:root[data-theme=mono] .eyebrow i{background:#8e8e8e}:root[data-theme=mono] :is(h1,h2,h3){font-family:DM Sans,system-ui,sans-serif}:root[data-theme=mono] .piece-title-row{gap:8px}:root[data-theme=mono] .piece-title-row h1{color:#111;letter-spacing:-.065em;margin-top:12px;font-size:clamp(37px,3.7vw,60px);font-weight:570;line-height:1.04}:root[data-theme=mono] .piece-title-row .icon-button{margin-top:13px}:root[data-theme=mono] .piece-header p{color:#686868;margin-top:13px;font-size:13px}:root[data-theme=mono] .meta-separator{color:#bbb}:root[data-theme=mono] .tempo-source-button{color:#292929;text-decoration-color:#777}:root[data-theme=mono] .source-actions{gap:8px;padding:0 0 3px}:root[data-theme=mono] .source-actions>button:not(.icon-button){color:#252525;background:#fff;border:1px solid #d7d7d7;border-radius:100px;min-height:44px;padding:0 17px;font-size:12px;font-weight:560;transition:transform .2s,background .2s}:root[data-theme=mono] .source-actions>button:first-child:not(.icon-button){color:#fff;background:#111;border-color:#111}:root[data-theme=mono] .source-actions>button:not(.icon-button):hover{color:#111;background:#f1f1f1;border-color:#111;transform:translateY(-2px)}:root[data-theme=mono] .source-actions>button:first-child:not(.icon-button):hover{color:#fff;background:#333}:root[data-theme=mono] .icon-button{color:#666;border-radius:9px}:root[data-theme=mono] .icon-button:hover{color:#111;background:#efefef}:root[data-theme=mono] :is(.text-button,.subtle-button){color:#373737;font-size:13px}:root[data-theme=mono] :is(.text-button,.subtle-button):hover{color:#000}:root[data-theme=mono] .button{border-radius:100px;font-size:13px}:root[data-theme=mono] .button.primary{color:#fff;background:#111;border:1px solid #111}:root[data-theme=mono] .button.primary:hover{color:#fff;background:#363636}:root[data-theme=mono] .button.danger{color:#fff;background:#222}:root[data-theme=mono] .start-guide{background:#f2f2f2;border:0;border-radius:12px;margin-bottom:24px;padding:25px 28px 22px}:root[data-theme=mono] .start-guide-title .eyebrow{margin-bottom:9px;display:block}:root[data-theme=mono] .start-guide-title h2{color:#111;letter-spacing:-.045em;font-size:clamp(21px,2vw,28px);font-weight:570;line-height:1.12}:root[data-theme=mono] .start-guide-title p{color:#666;margin-top:8px;font-size:13px}:root[data-theme=mono] .start-guide-steps{gap:12px;margin:22px 0 6px}:root[data-theme=mono] .start-guide-step{color:#666;background:#fff;border:1px solid #ddd;border-radius:10px;padding:15px}:root[data-theme=mono] .start-guide-step>span:first-child{color:#111;border:1px solid #bbb}:root[data-theme=mono] .start-guide-step strong{color:#222;font-weight:600}:root[data-theme=mono] .start-guide-step :is(p,small){color:#666}:root[data-theme=mono] .start-guide>.text-button{color:#111;font-weight:610}:root[data-theme=mono] .start-guide>.text-button+.text-button{margin-left:18px}:root[data-theme=mono] .practice-mode-row{gap:22px;margin:0 0 12px}:root[data-theme=mono] .practice-mode-row>p{color:#656565;font-size:13px}:root[data-theme=mono] .practice-mode-switch{background:#f1f1f1;border:1px solid #e3e3e3;border-radius:100px;flex-basis:415px}:root[data-theme=mono] .practice-mode-switch button,:root[data-theme=mono] .practice-mode-switch button[data-mode=play]{color:#5f5f5f;background:0 0;border:0;border-radius:100px;font-size:13px}:root[data-theme=mono] .practice-mode-switch button[aria-pressed=true],:root[data-theme=mono] .practice-mode-switch button[data-mode=play][aria-pressed=true]{color:#fff;box-shadow:none;background:#111}:root[data-theme=mono] .practice-mode-switch button:hover{color:#111}:root[data-theme=mono] .practice-mode-switch button[aria-pressed=true]:hover{color:#fff;background:#333}:root[data-theme=mono] .playing-instructions{color:#666;background:0 0;border:0;margin-bottom:14px;padding:4px 0;font-size:13px}:root[data-theme=mono] .playing-instructions strong{color:#272727;font-weight:610}:root[data-theme=mono] .simplify-actions{margin-bottom:17px}:root[data-theme=mono] .simplify-actions p{color:#686868}:root[data-theme=mono] .simplify-actions .simplify-button{color:#202020;background:#fff;border:1px solid #d5d5d5;border-radius:100px;min-height:41px;font-size:12px}:root[data-theme=mono] .simplify-actions .simplify-button:hover{background:#f0f0f0;border-color:#111}:root[data-theme=mono] .player-panel{--panel:#202020;--line:#ffffff29;--text:#f5f5f5;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111;border:1px solid #303030;border-radius:12px;overflow:visible;box-shadow:0 22px 55px #1112}:root[data-theme=mono] .player-toolbar{background:#171717;border-bottom:1px solid #ffffff1c;border-radius:11px 11px 0 0;min-height:88px;padding:14px 21px}:root[data-theme=mono] .player-panel .control-label{color:#a1a1a1;letter-spacing:.12em;margin-bottom:5px;font-size:10px;font-weight:610}:root[data-theme=mono] .player-panel .icon-button{color:#cacaca}:root[data-theme=mono] .player-panel .icon-button:hover{color:#fff;background:#333}:root[data-theme=mono] .player-panel :is(.compact-control .icon-button,.speed-presets,.hands-toggle){color:#f3f3f3;background-color:#252525;border:1px solid #444;border-radius:8px}:root[data-theme=mono] .player-panel :is(.compact-control .icon-button,.speed-presets,.hands-toggle):hover{background-color:#333;border-color:#888}:root[data-theme=mono] .player-panel .speed-presets{background-image:linear-gradient(45deg,#0000 50%,#ddd 50%),linear-gradient(135deg,#ddd 50%,#0000 50%)}:root[data-theme=mono] .player-panel .toolbar-divider{background:#fff2}:root[data-theme=mono] .player-panel :is(.hands-toggle svg,.toolbar-volume){color:#c2c2c2}:root[data-theme=mono] .player-panel input[type=range]{accent-color:#e2e2e2}:root[data-theme=mono] .hands-popover{background:#252525;border:1px solid #555;border-radius:11px;box-shadow:0 20px 50px #0009}:root[data-theme=mono] :is(.popover-head strong,.hand-row>span){color:#f2f2f2}:root[data-theme=mono] .hand-row .icon-button{background:#333}:root[data-theme=mono] :is(.roll-top,.roll-stage){background:#111}:root[data-theme=mono] .roll-top{border-bottom:1px solid #ffffff12;min-height:53px}:root[data-theme=mono] .roll-legend>span{color:#aaa;letter-spacing:.09em;font-size:10px}:root[data-theme=mono] .player-panel .hand-dot{background:#aaa}:root[data-theme=mono] .player-panel .hand-dot.left{background:#93c5fd}:root[data-theme=mono] .player-panel .hand-dot.right{background:#60a5fa}:root[data-theme=mono] .sound-label{color:#9c9c9c}:root[data-theme=mono] .sound-label i,:root[data-theme=mono] .sound-label i.online{background:#bbb}:root[data-theme=mono] .roll-stage{height:clamp(340px,44dvh,620px)}:root[data-theme=mono] :is(.timeline-time,.timeline-duration){color:#e3e3e3}:root[data-theme=mono] :is(.timeline-time span,.timeline-duration span){color:#9f9f9f}:root[data-theme=mono] .timeline input{background:0 0}:root[data-theme=mono] .timeline input::-webkit-slider-runnable-track{background:linear-gradient(to right, #efefef var(--progress), #484848 var(--progress))}:root[data-theme=mono] .timeline input::-moz-range-track{background:linear-gradient(to right, #efefef var(--progress), #484848 var(--progress))}:root[data-theme=mono] .timeline input::-webkit-slider-thumb{background:#fff}:root[data-theme=mono] .timeline input::-moz-range-thumb{background:#fff}:root[data-theme=mono] .loop-selection{background:#ffffff23;border-color:#bbb}:root[data-theme=mono] .loop-toggle{color:#b8b8b8}:root[data-theme=mono] .loop-toggle.active{color:#fff}:root[data-theme=mono] :is(.loop-point,.guide-sound-toggle){color:#eee;background:#242424;border:1px solid #4b4b4b;border-radius:8px}:root[data-theme=mono] .loop-point span{color:#aaa}:root[data-theme=mono] .loop-dash{color:#777}:root[data-theme=mono] .guide-sound-toggle:hover,:root[data-theme=mono] .guide-sound-toggle[aria-pressed=true]{color:#fff;background:#363636;border-color:#888}:root[data-theme=mono] .play-button{color:#111;box-shadow:none;background:#f6f6f6}:root[data-theme=mono] .play-button:hover{color:#000;background:#fff}:root[data-theme=mono] :is(.transport-hint,.transport-hint>span){color:#aaa}:root[data-theme=mono] .transport-hint>span{border-color:#555}:root[data-theme=mono] :is(.below-player,.keyboard-settings,.anticipation){color:#666}:root[data-theme=mono] .keyboard-settings select{color:#292929;background:#f6f6f6;border:1px solid #d8d8d8;border-radius:8px}:root[data-theme=mono] .keyboard-settings .icon-button{color:#555}:root[data-theme=mono] :is(.labels-toggle,.anticipation output){color:#4f4f4f}:root[data-theme=mono] .settings-separator{background:#ddd}:root[data-theme=mono] .workspace-footer{color:#777;border-color:#dedede}:root[data-theme=mono] :is(.workspace-footer a,.workspace-footer .subtle-button){color:#535353}@media (width<=1160px){:root[data-theme=mono] .piece-header{flex-wrap:wrap;align-items:flex-start}:root[data-theme=mono] .source-actions{flex-wrap:wrap}}@media (width<=1000px){:root[data-theme=mono] .app-shell{grid-template-columns:minmax(0,1fr)}:root[data-theme=mono] .sidebar{box-shadow:18px 0 50px #0004}:root[data-theme=mono] .topbar{padding-inline:22px}:root[data-theme=mono] .workspace-inner{padding:29px 22px 35px}}@media (width<=700px){:root[data-theme=mono] .piece-header{gap:17px;margin-bottom:22px}:root[data-theme=mono] .piece-title-row h1{font-size:clamp(35px,9vw,48px)}:root[data-theme=mono] .source-actions{gap:7px;width:100%}:root[data-theme=mono] .source-actions>button:not(.icon-button){flex:1;justify-content:center;padding-inline:12px}:root[data-theme=mono] .start-guide{padding:18px}:root[data-theme=mono] .start-guide-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}:root[data-theme=mono] .start-guide-step{min-height:86px;padding:10px}:root[data-theme=mono] .practice-mode-row{display:block}:root[data-theme=mono] .practice-mode-switch{width:100%;margin-bottom:10px}:root[data-theme=mono] .player-toolbar,:root[data-theme=mono] .roll-top{padding-inline:14px}:root[data-theme=mono] .roll-stage{height:clamp(300px,46dvh,520px)}}@media (width<=480px){:root[data-theme=mono] .topbar{height:62px;padding-inline:16px}:root[data-theme=mono] .workspace-inner{padding:25px 16px 30px}:root[data-theme=mono] .piece-title-row h1{font-size:37px}:root[data-theme=mono] .source-actions>button:not(.icon-button){min-height:42px;font-size:11px}:root[data-theme=mono] .start-guide-title h2{font-size:23px}:root[data-theme=mono] .roll-legend{gap:9px}:root[data-theme=mono] .roll-legend>span{font-size:9px}}@media (width<=700px) and (orientation:portrait){:root[data-theme=mono] .player-toolbar{flex-wrap:nowrap;gap:6px;min-height:86px;display:flex}:root[data-theme=mono] .player-toolbar .tempo-group{flex:none}:root[data-theme=mono] .player-toolbar .hands-group{margin-left:auto}:root[data-theme=mono] .player-toolbar .fullscreen-button{z-index:6;margin:0;position:absolute;top:calc(100% + 4px);right:6px}:root[data-theme=mono] .roll-top{padding-right:51px}}@media (width<=360px) and (orientation:portrait){:root[data-theme=mono] .player-toolbar .hands-toggle{min-width:0}:root[data-theme=mono] .player-toolbar .hands-toggle>span:nth-last-child(2){display:none}}@media (prefers-reduced-motion:reduce){:root[data-theme=mono] :is(.new-piece,.source-actions>button){transition:none}}:root[data-theme=mono] .impro-key.white.allowed{color:#172554;background:#93c5fd}:root[data-theme=mono] .impro-key.black.allowed{color:#fff;background:#2563eb}:root[data-theme=mono] .impro-key.target:after,:root[data-theme=mono] .impro-target-legend i{background:#2563eb}:root[data-theme=mono] .impro-key.black.target:after{background:#fff}:root[data-theme=mono] .impro-note-chips.left>span{border-bottom-color:#93c5fd}:root[data-theme=mono] .impro-note-chips.right>span{border-bottom-color:#60a5fa}.app-shell .simplify-actions{flex-wrap:wrap;gap:12px}.app-shell .simplify-actions .simplification-choice{flex-direction:column;flex:280px;gap:6px;min-width:0;display:flex}.app-shell .simplification-choice label{flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;display:flex}.app-shell .simplification-choice select{border:1px solid var(--line);background:var(--panel);max-width:100%;min-height:44px;color:var(--text);border-radius:8px;flex:180px;padding:8px 12px}.app-shell .simplification-choice p{margin:0;font-size:13px;line-height:1.6}.app-shell .practice-progression{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.app-shell .progression-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;min-width:0;padding:18px}.app-shell .progression-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.app-shell .progression-heading h2{color:var(--text);margin:0;font-size:16px}.app-shell .progression-heading>span{color:var(--muted);font-size:12px}.app-shell .progression-card p{color:var(--muted);margin:10px 0;font-size:13px;line-height:1.65}.app-shell .progression-field{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;font-size:13px;display:flex}.app-shell .progression-field select{border:1px solid var(--line);background:var(--panel);min-width:0;max-width:100%;min-height:44px;color:var(--text);border-radius:8px;flex:160px;padding:8px 10px}.app-shell .progression-switch{color:var(--text);align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;display:inline-flex}.app-shell .progression-switch input{accent-color:currentColor;flex:none;width:17px;height:17px;margin:2px 0 0}.app-shell .progression-switch:has(input:disabled){opacity:.65}.app-shell .progression-card .text-button{text-align:left;min-height:44px}.app-shell .progression-status{border-left:3px solid var(--text);color:var(--text);grid-column:1/-1;margin:0;padding:12px 16px;font-size:13px;line-height:1.6}.app-shell .memory-player-status{background:var(--panel);color:var(--text);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px 12px;padding:6px 14px;font-size:12px;display:flex}.app-shell .memory-player-status button{min-height:44px;padding:6px 10px}.app-shell .memory-waiting{color:var(--text);padding:6px 14px;font-size:13px}.app-shell .memory-waiting button{min-height:44px;margin-left:8px}.app-shell.is-landscape-player .memory-player-status{flex-wrap:nowrap;min-height:44px;max-height:48px;padding:0 8px;overflow:hidden}.app-shell.is-landscape-player .memory-player-status>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell.is-landscape-player .memory-player-status button{white-space:nowrap;flex:none;font-size:12px}.app-shell.is-landscape-player .memory-waiting{white-space:nowrap;align-items:center;gap:8px;min-height:44px;max-height:48px;padding:0 8px;display:flex;overflow-x:auto}@media (width<=700px){.app-shell .practice-progression{grid-template-columns:minmax(0,1fr)}}
