/* D edition craft system · shared across every shipped browser surface. */
:root{--st-ink:#1d3029;--st-muted:#52665b;--st-accent:#173c32;--st-hover:#225944;--st-line:#dce5de;--st-paper:#fafcfa;--st-soft:#edf3ee;--st-danger:#a13e35;--st-ease:cubic-bezier(.22,1,.36,1);--st-radius:10px;--st-space:8px;color-scheme:light}
:where(body){text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
:where(a,button,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--st-accent);outline-offset:3px}
::selection{background:#c8ded0;color:var(--st-accent)}
:where(button,input,select,textarea){font-family:inherit}
:where(input,textarea){caret-color:var(--st-accent)}
:where(input[type=checkbox],input[type=radio]){accent-color:var(--st-accent)}
body.edition-d{font-size:14px;line-height:1.7;--ink:var(--st-ink);--muted:var(--st-muted);--blue:var(--st-accent);--line:var(--st-line);--fg:var(--st-ink)}
body.edition-d button{line-height:1.4;font-weight:500;letter-spacing:0}
body.edition-d .primary{min-height:44px;border-radius:8px;font-weight:600;background:var(--st-accent);padding:11px 20px}
body.edition-d .primary:disabled{opacity:.5}
body.edition-d :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){border:1px solid var(--st-line);border-radius:8px;font-size:14px;min-height:42px;padding:10px 12px;line-height:1.45;box-shadow:none;transition:border-color 140ms,background-color 140ms}
body.edition-d :is(input,select,textarea):focus-visible{outline:2px solid #146b57;outline-offset:2px}
body.edition-d :is(input,textarea)::placeholder{color:#6a7b71;opacity:1}
body.edition-d header{min-height:80px;gap:20px;padding-block:14px}
body.edition-d header .brand{letter-spacing:-.035em;font-size:24px}
body.edition-d .d-nav{gap:24px}
body.edition-d .d-nav button{font-size:13px;min-height:36px;white-space:nowrap}
body.edition-d .d-nav .is-current:after{width:100%;height:2px}
body.edition-d #billing-entry{border:1px solid var(--st-line);background:#fff;border-radius:8px;font-size:12px;padding:8px 12px}
body.edition-d .d-hero{gap:clamp(32px,5vw,88px);min-height:570px;padding:52px 0 60px}
body.edition-d #welcome h2{line-height:1.18;font-size:clamp(44px,4.5vw,72px);letter-spacing:-.035em;margin-bottom:28px;font-weight:650}
body.edition-d .home-lede{font-size:17px;line-height:1.9;max-width:35em}
body.edition-d .d-demo-top{padding-inline:16px}
body.edition-d .d-demo-top strong{font-size:16px;font-weight:600}
body.edition-d .d-file-note,body.edition-d .d-demo-top span,body.edition-d .d-demo-bottom span{font-size:12px;color:var(--st-muted)}
body.edition-d .d-library-tools{padding:20px 0;gap:24px}
body.edition-d .home-recent{padding-top:32px}
body.edition-d .home-recent h3{font-size:20px;font-weight:600;letter-spacing:-.02em}
body.edition-d .home-recent-list>p,body.edition-d #record-list>p{padding:38px 24px;text-align:center;border:1px dashed var(--st-line);border-radius:var(--st-radius);background:#fff;color:var(--st-muted)}
body.edition-d #home-record-list button{padding:20px 0;transition:background-color 140ms}
body.edition-d .d-capabilities{padding-block:36px;gap:40px}
body.edition-d .d-capabilities h3{font-size:19px;line-height:1.4;font-weight:600;margin-bottom:14px}
body.edition-d .d-capabilities p{font-size:14px;line-height:1.9}
body.edition-d .home-foot{padding:28px 0 0;font-size:12px;line-height:1.9;max-width:90ch}
body.edition-d .flow-page{padding-top:28px}
body.edition-d .flow-page>h2{font-size:clamp(28px,2.8vw,40px);letter-spacing:-.03em;line-height:1.25;margin:28px 0 14px;font-weight:600}
body.edition-d .flow-page>p{font-size:14px;line-height:1.85;max-width:75ch}
body.edition-d .flow-steps{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 36px;padding:0;counter-reset:step}
body.edition-d .flow-steps li{font-size:12px;background:none;border:0;border-radius:0;padding:0 0 8px;color:var(--st-muted);border-bottom:2px solid transparent}
body.edition-d .flow-steps li.active{background:none;color:var(--st-accent);border-color:#146b57;font-weight:600}
body.edition-d #new-page{max-width:1000px;margin:auto}
body.edition-d .file-drop{width:100%;min-height:210px;background:#fff;border:1px dashed #a5bcad;border-radius:12px;box-shadow:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:28px 0;padding:36px}
body.edition-d .file-drop>span{width:40px;height:40px;display:grid;place-items:center;font-size:26px;color:var(--st-accent);border-radius:8px;background:var(--st-soft)}
body.edition-d .file-drop b{font-size:17px;font-weight:600}
body.edition-d .file-drop small{font-size:13px;color:var(--st-muted)}
body.edition-d .file-drop.dragging{background:#e8f1eb;border-color:#146b57;outline:2px solid #146b57;outline-offset:3px}
body.edition-d .link-import{margin-top:28px;padding:28px;background:#fff;border:1px solid var(--st-line);border-radius:12px;box-shadow:none}
body.edition-d .link-import-heading{align-items:start;gap:16px}
body.edition-d .link-import-heading b{font-size:16px;font-weight:600}
body.edition-d .link-import-heading small{font-size:13px;line-height:1.8;max-width:64ch;margin-top:6px}
body.edition-d .link-import-heading>span{font-size:11px;color:#335f4d;background:var(--st-soft);padding:3px 8px;border-radius:5px}
body.edition-d .link-import-controls{gap:12px;margin-top:20px}
body.edition-d .source-rights{font-size:12px;line-height:1.8;align-items:start;margin-top:18px}
body.edition-d .source-rights input{margin-top:4px;flex:none;width:16px;height:16px}
body.edition-d .link-import>p{font-size:12px;margin:12px 0 0}
body.edition-d #process-page{max-width:1120px;margin:auto}
body.edition-d #process-name{font-size:15px;font-weight:500;overflow-wrap:anywhere}
body.edition-d .analysis-wave{padding:24px;border:1px solid var(--st-line);border-radius:12px;background:#fff;box-shadow:none;margin:24px 0}
body.edition-d #preview-meta{font-size:13px;margin:16px 0 0;line-height:1.8}
body.edition-d #processing-status{padding:8px 0 24px}
body.edition-d .processing-line{align-items:center;gap:20px;margin-bottom:12px}
body.edition-d #live-stage{font-size:16px;font-weight:600}
body.edition-d #live-percent{font-variant-numeric:tabular-nums;font-size:18px;color:var(--st-accent)}
body.edition-d #live-detail,body.edition-d #live-explanation{font-size:13px;line-height:1.85;max-width:85ch}
body.edition-d .live-stem{padding:14px 0;border-color:var(--st-line);grid-template-columns:100px minmax(120px,1fr) auto;gap:20px}
body.edition-d .live-stem b{font-size:13px}
body.edition-d .live-stem span{font-size:12px;color:var(--st-muted)}
body.edition-d #target-options{padding:28px 0;border-top:1px solid var(--st-line);margin-top:8px}
body.edition-d #target-options h3{font-size:22px;font-weight:600;margin:0 0 24px}
body.edition-d .goal-choices{gap:20px}
body.edition-d .goal-choices>label{padding:24px;border:1px solid var(--st-line);border-radius:10px;background:white;box-shadow:none;text-align:left;align-content:start;min-height:148px}
body.edition-d .goal-choices>label:has(input:checked){border-color:#146b57;background:#edf4ee;box-shadow:inset 0 0 0 1px #146b57}
body.edition-d .goal-choices strong{font-size:17px;font-weight:600;color:var(--st-ink)}
body.edition-d .goal-choices span{font-size:13px;line-height:1.8;color:var(--st-muted)}
body.edition-d #target-stems{border:0;padding:20px 0;margin:20px 0;gap:10px}
body.edition-d #target-stems legend{font-size:13px;font-weight:600;margin-bottom:12px}
body.edition-d #target-stems label{background:white;border:1px solid var(--st-line);padding:10px 14px;border-radius:8px;font-size:13px}
body.edition-d #target-stems label:has(input:checked){background:var(--st-soft);border-color:#a5bcad}
body.edition-d #target-options>p{font-size:12px;line-height:1.85;max-width:85ch;margin:18px 0 24px}
body.edition-d .process-actions{gap:12px;border-top:1px solid var(--st-line);padding-top:24px;flex-wrap:wrap}
body.edition-d .d-storage-summary{padding:20px 0 28px;gap:16px 24px;margin-bottom:20px}
body.edition-d .d-storage-summary h3{font-size:14px;font-weight:600}
body.edition-d .d-storage-summary p{font-size:17px;color:var(--st-accent)}
body.edition-d .d-storage-summary small{font-size:12px;max-width:100ch}
body.edition-d #record-list .record-row{gap:20px;min-height:104px;transition:background-color 140ms}
body.edition-d #record-list [data-record]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;padding:20px 12px 20px 0;border-radius:0}
body.edition-d #record-list [data-record] b{font-size:16px;font-weight:550;letter-spacing:-.01em;overflow-wrap:anywhere}
body.edition-d #record-list [data-record]>span{font-size:14px;font-variant-numeric:tabular-nums;color:var(--st-muted)}
body.edition-d #record-list [data-record] small{grid-column:1/-1;font-size:12px;color:var(--st-muted)}
body.edition-d #record-list [data-record-delete]{border:0;background:none;color:#8a4b40;font-size:12px;min-height:40px;padding:8px 12px}
body.edition-d .workspace-heading{padding:28px 0 20px;margin-bottom:0;gap:20px}
body.edition-d .workspace-heading h2{font-size:clamp(24px,2.5vw,34px);font-weight:600;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
body.edition-d .workspace-heading p{font-size:12px;margin-top:8px}
body.edition-d .workspace-heading nav{gap:12px}
body.edition-d .workspace-heading nav button{min-height:40px;padding:10px 18px;font-size:13px;border-radius:0}
body.edition-d .transport{padding:16px 20px;border-radius:10px;border:1px solid var(--st-line);background:#fff;box-shadow:0 4px 16px -12px #173c322b;gap:16px;margin:12px 0 28px;backdrop-filter:none}
body.edition-d .transport #play{width:42px;height:42px;min-height:42px;background:var(--st-accent);color:white;flex:none}
body.edition-d .transport button,body.edition-d .transport select{font-size:12px;min-height:36px;padding-block:7px}
body.edition-d .transport label{font-size:12px;color:var(--st-muted);gap:8px}
body.edition-d .transport #time{font-size:12px;font-variant-numeric:tabular-nums}
body.edition-d .timeline{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
body.edition-d .track-heading{margin:24px 0 16px}
body.edition-d .track-heading h2{font-size:20px;font-weight:600}
body.edition-d #tracks .track{min-height:98px;padding:18px 20px;gap:20px;border-radius:10px;margin:0 0 10px;border:1px solid transparent;transition:background-color 140ms,border-color 140ms}
body.edition-d #tracks .track.selected{border-color:color-mix(in srgb,var(--track-color) 36%,white)}
body.edition-d #tracks .track-name b{font-size:15px}
body.edition-d #tracks .track-name small{font-size:12px;line-height:1.6;color:var(--st-muted)}
body.edition-d .track-actions{gap:8px}
body.edition-d .track-actions button{font-size:12px;min-height:36px;padding:7px 11px;border-radius:7px}
body.edition-d #score-entry{margin-top:28px;padding:28px 0;border:0;border-top:1px solid var(--st-line);border-radius:0;background:none;box-shadow:none;gap:24px}
body.edition-d #score-entry .section-kicker{display:none}
body.edition-d #score-entry h3{font-size:20px;margin:0 0 10px;font-weight:600}
body.edition-d #score-entry p{font-size:13px;line-height:1.85;max-width:74ch}
body.edition-d .workspace-toolbar{padding:16px 0;border-color:var(--st-line);background:none;box-shadow:none;gap:16px;margin:0 0 24px}
body.edition-d .score-tools{gap:16px}
body.edition-d .score-tools label,body.edition-d .more-actions summary{font-size:12px}
body.edition-d .score-tools button{min-height:36px;font-size:12px;padding:8px 12px}
body.edition-d .paper{border-radius:10px;border:1px solid var(--st-line);box-shadow:none;background:#fff;padding:24px;min-width:0}
body.edition-d .paper-heading{padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid var(--st-line);gap:12px}
body.edition-d .paper-heading h3{font-size:17px;font-weight:600;overflow-wrap:anywhere}
body.edition-d #score-message{border-radius:7px;background:var(--st-soft);color:var(--st-muted);font-size:12px;padding:12px 14px;line-height:1.8}
body.edition-d .note-panel{border:1px solid var(--st-line);border-radius:10px;box-shadow:none;background:#fff;padding:20px}
body.edition-d .note-panel h3{font-size:15px;font-weight:600}
body.edition-d .note{border-radius:7px;border-color:var(--st-line);font-size:12px;padding:10px;min-height:44px;background:#fff}
body.edition-d .note.corrected{border-color:#a7c4b1;background:#f0f6f1}
body.edition-d .more-actions>div,body.edition-d .project-menu>div{background:#fff;border:1px solid var(--st-line);box-shadow:0 12px 32px -16px #173c3240;border-radius:10px;padding:8px;min-width:210px}
body.edition-d .more-actions>div button,body.edition-d .project-menu>div button{width:100%;text-align:left;border:0;border-radius:6px;min-height:38px;font-size:12px}
body.edition-d #exports .export-card{padding:30px 0;gap:20px 32px}
body.edition-d .export-card h4{font-size:20px;font-weight:600;letter-spacing:-.02em}
body.edition-d .export-card p{font-size:13px;line-height:1.85;color:var(--st-muted)}
body.edition-d .export-card .card-buttons,body.edition-d .export-card .export-buttons{gap:10px;flex-wrap:wrap}
body.edition-d .export-card .midi-parts{gap:8px}
body.edition-d .export-card .midi-parts label{padding:7px 10px;background:var(--st-soft);font-size:12px;border:1px solid transparent}
body.edition-d .export-card .midi-parts label:has(input:checked){border-color:#b5cebc}
body.edition-d .roll-bar,body.edition-d .roll-batch,body.edition-d .roll-legend{font-size:12px;gap:10px;padding:12px;border-color:var(--st-line);background:#fff}
body.edition-d .roll-bar button,body.edition-d .roll-batch button{font-size:12px;min-height:34px;padding:6px 10px;border-radius:7px}
body.edition-d .roll-more{border-color:var(--st-line);background:var(--st-soft);border-radius:8px;padding:12px}
body.edition-d .roll-keys{font-size:12px;line-height:1.8;background:var(--st-soft);padding:16px;border-radius:8px;gap:12px}
body.edition-d .roll-guide{position:fixed;inset:auto 24px 24px auto;z-index:50;width:min(440px,calc(100vw - 48px));background:#fff;border:0;border-radius:12px;padding:24px;box-shadow:0 16px 50px #173c3226;max-width:calc(100vw - 48px);max-height:calc(100dvh - 160px);overflow:auto}
body.edition-d .roll-guide-title{font-size:20px;line-height:1.4;color:var(--st-accent)}
body.edition-d .roll-guide-body{font-size:13px;line-height:1.85;color:var(--st-muted)}
body.edition-d .roll-guide-actions{gap:10px;margin-top:20px}
body.edition-d #practice{border:0;border-radius:0;box-shadow:none;padding:12px 0;background:none}
body.edition-d #practice h3{font-size:19px;font-weight:600}
body.edition-d #practice p{font-size:13px;line-height:1.85}
/* One protected-focus modal system for every editor, account and payment action. */
body.edition-d dialog,.st-dialog{border:0;border-radius:12px;background:#fff;color:var(--st-ink);width:min(580px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(100dvh - 64px);padding:32px;box-shadow:0 24px 80px #102b2026;overflow:auto;overscroll-behavior:contain}
body.edition-d dialog::backdrop,.st-dialog::backdrop{background:#142e244d;backdrop-filter:blur(3px)}
body.edition-d dialog h2,.st-dialog h2{font-size:24px;line-height:1.35;letter-spacing:-.025em;font-weight:600;margin:0 0 16px;padding-right:30px;color:var(--st-accent);text-wrap:balance}
body.edition-d dialog p,.st-dialog p{font-size:13px;line-height:1.85;color:var(--st-muted);margin:12px 0 20px;overflow-wrap:anywhere}
body.edition-d dialog label,.st-dialog label{font-size:13px;font-weight:550;line-height:1.6;margin:16px 0 8px}
body.edition-d dialog label>input:not([type=checkbox]):not([type=radio]),body.edition-d dialog label>select,body.edition-d dialog textarea{display:block;width:100%;margin-top:8px}
body.edition-d dialog :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.st-dialog input{min-height:42px;max-width:100%;border-radius:8px;border:1px solid var(--st-line);padding:10px 12px;font:inherit;color:var(--st-ink);background:#fff}
body.edition-d dialog .inline{gap:12px;margin:12px 0;flex-wrap:wrap}
body.edition-d dialog .inline label{flex:1;min-width:120px}
body.edition-d dialog #close{position:absolute;right:16px;top:16px;width:36px;height:36px;min-height:36px;display:grid;place-items:center;padding:0;border:0;background:var(--st-soft);font-size:22px;border-radius:8px;color:var(--st-muted)}
body.edition-d .dialog-error:empty,body.edition-d dialog [role=alert]:empty,body.edition-d .login-error:empty{display:none}
body.edition-d .dialog-error:not(:empty),body.edition-d dialog [role=alert]:not(:empty){margin-top:16px;padding:12px;border-radius:8px;background:#fbefec;color:#9a4235;font-size:13px;line-height:1.8}
body.edition-d #audio-export-result:not(:empty){border-top:1px solid var(--st-line);padding-top:20px;margin:20px 0 0}
body.edition-d #audio-export-result a[download]{min-height:44px;padding:10px 16px;max-width:100%;overflow-wrap:anywhere}
body.edition-d #continue-targets{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:20px 0}
body.edition-d #continue-targets label{margin:0;padding:12px;background:var(--st-soft);border-radius:8px;display:flex;align-items:center;gap:10px}
body.edition-d .candidate{border-color:var(--st-line);border-radius:8px;background:#fff;padding:14px;font-size:13px}
body.edition-d .history-row{padding:16px 0;border-bottom:1px solid var(--st-line);gap:12px;font-size:13px}
body.edition-d .history-row small{font-size:12px}
body.edition-d #billing-dialog{width:min(1040px,calc(100vw - 48px));padding:32px}
body.edition-d .billing-card{max-width:none;width:100%;padding:0;background:none}
body.edition-d .billing-card h2{font-size:28px;padding-right:0}
body.edition-d .billing-now{font-size:26px;line-height:1.4;margin:12px 0;color:var(--st-accent);font-variant-numeric:tabular-nums}
body.edition-d .free-entitlement{background:var(--st-soft);border:0;border-radius:8px;padding:16px 20px;margin:24px 0}
body.edition-d .free-entitlement h3{font-size:14px;margin:0 0 6px}
body.edition-d .free-entitlement p{margin:0;font-size:13px;line-height:1.85}
body.edition-d .billing-buy>h3{font-size:16px;margin:24px 0 0}
body.edition-d .billing-products{gap:16px;margin:20px 0 24px}
body.edition-d .billing-product{padding:22px;min-height:234px;border:1px solid var(--st-line);background:#fff;border-radius:10px;gap:12px}
body.edition-d .billing-product strong{font-size:26px;line-height:1.3;font-weight:550}
body.edition-d .billing-product span{font-size:18px;line-height:1.4}
body.edition-d .billing-product small{font-size:12px;line-height:1.9;color:var(--st-muted)}
body.edition-d .billing-consent{font-size:12px;font-weight:400;display:flex;align-items:start;gap:10px;margin:20px 0 12px}
body.edition-d .billing-consent input{margin-top:4px;width:16px;height:16px;flex:none}
body.edition-d .billing-pay-note{font-size:12px;margin:12px 0 20px}
body.edition-d .billing-redeem{padding:24px 0;margin-top:24px;border-top:1px solid var(--st-line)}
body.edition-d .billing-redeem>div{display:flex;gap:12px;margin-top:8px;align-items:center}
body.edition-d #redeem-code{flex:1;min-width:0;font-size:13px;letter-spacing:.03em}
body.edition-d .billing-actions,.st-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;border-top:1px solid var(--st-line);padding-top:20px;margin-top:24px}
body.edition-d .billing-actions button{font-size:12px;min-height:40px;padding:9px 14px}
body.edition-d .billing-close-account{margin-right:auto;color:#8a4b40}
body.edition-d #refund-dialog,body.edition-d #close-account-dialog{padding:32px;width:min(560px,calc(100vw - 48px))}
body.edition-d #close-account-dialog li{font-size:13px;line-height:1.85;margin:8px 0}
body.edition-d .danger,.st-dialog .danger{background:#a13e35;color:#fff;border:0;min-height:42px;border-radius:8px;padding:10px 16px}
.st-dialog{font:14px/1.7 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}
.st-dialog-actions button{font:inherit;min-height:42px;border:1px solid var(--st-line);border-radius:8px;padding:10px 18px;background:#fff;color:var(--st-ink);cursor:pointer}
.st-dialog-actions .primary{background:var(--st-accent);color:#fff;border-color:var(--st-accent)}
.st-dialog input{width:100%;margin-top:8px}
/* Login overlays the workbench; its opening never changes the page's width. */
body.edition-d.login-panel-open{padding-right:0;overflow:hidden}
body.edition-d.login-panel-open>header,body.edition-d.login-panel-open>.transport{right:0}
body.edition-d #login.login-drawer{inset:0;width:100%;height:100dvh;display:grid;place-items:center;padding:32px;background:#142e244d;border:0;box-shadow:none;overflow:auto;backdrop-filter:blur(3px)}
body.edition-d #login .login-card,body.edition-d #login.login-drawer .login-card{position:relative;width:min(440px,100%);padding:36px;background:#fff;border-radius:12px;box-shadow:0 24px 80px #102b2026;margin:auto;border:0}
body.edition-d #login .login-card h1{font-size:27px;line-height:1.35;letter-spacing:-.025em;font-weight:600;margin:20px 0 12px;padding-right:14px}
body.edition-d #login .login-lede{font-size:14px;line-height:1.8;margin-bottom:24px}
body.edition-d #login .brand-mark{width:34px;height:34px;font-size:18px!important;border-radius:8px}
body.edition-d #login .login-card input{min-height:46px;border-radius:8px;letter-spacing:0}
body.edition-d #login .login-card label{font-size:13px;margin-bottom:8px}
body.edition-d #login .login-card button{min-height:44px;border-radius:8px;font-size:13px;font-weight:600}
body.edition-d #login .login-dismiss{width:36px;height:36px;min-height:36px!important;top:16px;right:16px;margin:0;background:var(--st-soft);font-size:22px!important;border-radius:8px;display:grid;place-items:center;padding:0}
body.edition-d #login .login-legal{border-top:1px solid var(--st-line);margin:24px 0 0;padding-top:20px;font-size:12px;line-height:1.9;text-align:left}
body.edition-d #login .login-legal span{display:block;margin-top:6px}
body.edition-d .cookie-notice{width:min(520px,calc(100vw - 32px));padding:18px 20px;border-radius:10px;box-shadow:0 12px 40px #173c321a;gap:16px;border:0}
body.edition-d .cookie-notice p{font-size:12px;line-height:1.85}
body.edition-d .cookie-notice button{min-height:36px;white-space:nowrap;font-size:12px}
body.edition-d #toast{border-radius:8px;background:#173c32;color:white;font-size:13px;line-height:1.6;box-shadow:0 8px 24px #173c3226;padding:12px 20px}
body.edition-d #workspace.mode-swap :is(.timeline,.workbench,#exports,.workspace-toolbar){animation:none}
body.edition-d details>summary{transition:color 140ms}
body.edition-d details>summary::marker{color:#71897a}
@media(hover:hover) and (pointer:fine){body.edition-d .primary:not(:disabled):hover,.st-dialog-actions .primary:hover{background:var(--st-hover)}body.edition-d .file-drop:hover{background:#f4f8f4;border-color:#146b57}body.edition-d .goal-choices>label:hover{border-color:#a5bcad}body.edition-d #record-list .record-row:hover{background:#f0f5ef}body.edition-d #tracks .track:hover{border-color:color-mix(in srgb,var(--track-color) 28%,white)}body.edition-d .more-actions>div button:hover,body.edition-d .project-menu>div button:hover{background:var(--st-soft)}body.edition-d .danger:hover,.st-dialog .danger:hover{background:#87362f}}
@media(min-width:1600px){body.edition-d main{max-width:1600px}body.edition-d .d-hero{min-height:620px}}
@media(max-width:1180px){body.edition-d header{gap:14px}body.edition-d .d-nav{gap:16px}body.edition-d .track-actions{flex-wrap:wrap}body.edition-d #tracks .track{gap:14px;padding:16px}body.edition-d .billing-product{padding:18px}}
@media(max-width:820px){body.edition-d header{padding-block:12px}body.edition-d .d-hero{gap:32px;min-height:0;padding:36px 0 44px}body.edition-d #welcome h2{font-size:clamp(36px,6vw,52px)}body.edition-d .home-lede{font-size:16px}body.edition-d #billing-dialog{padding:24px}body.edition-d .billing-products{grid-template-columns:1fr}body.edition-d .billing-product{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}body.edition-d .billing-product small{grid-column:1/-1}body.edition-d .goal-choices{grid-template-columns:1fr}body.edition-d .transport{padding:12px;gap:12px}body.edition-d .d-capabilities{gap:24px}body.edition-d .workspace-heading{padding-top:24px}}
@media(max-width:560px){body.edition-d dialog,.st-dialog{padding:24px;max-width:calc(100vw - 24px);width:calc(100vw - 24px);max-height:calc(100dvh - 32px);border-radius:12px}body.edition-d dialog h2,.st-dialog h2{font-size:22px}body.edition-d #login.login-drawer{padding:16px}body.edition-d #login .login-card,body.edition-d #login.login-drawer .login-card{padding:28px 24px}body.edition-d #record-list .record-row{gap:8px}body.edition-d #record-list [data-record] b{font-size:14px}body.edition-d .link-import{padding:20px}body.edition-d .file-drop{min-height:180px;padding:24px}body.edition-d .live-stem{grid-template-columns:72px minmax(60px,1fr);gap:12px}body.edition-d .live-stem span{grid-column:2}body.edition-d .billing-actions{gap:8px}body.edition-d .billing-actions button{flex:1}body.edition-d #tracks .track{padding:14px;gap:12px}body.edition-d .flow-steps{gap:8px 12px;margin-bottom:24px}body.edition-d .flow-steps li{font-size:11px}body.edition-d .analysis-wave{padding:16px}body.edition-d .paper{padding:12px}}
@media(prefers-reduced-motion:reduce){body.edition-d *,body.edition-d *::before,body.edition-d *::after,.st-dialog,.st-dialog::backdrop{animation:none!important;transition:color 120ms,background-color 120ms!important;scroll-behavior:auto!important}}
@media print{body.edition-d .paper{padding:0;border:0;border-radius:0;box-shadow:none}body.edition-d #score-message,body.edition-d #toast,.st-dialog{display:none!important}body.edition-d{font-size:12pt;background:white}}
/* Public reading and purchasing surfaces share the same type, spacing and action rhythm. */
@font-face{font-family:StemTabSora;src:url('/assets/workspace/Sora-Variable.ttf') format('truetype');font-weight:100 800;font-display:swap}
:where(.product-page,.pricing-page,.mac-page) :is(h1,h2){text-wrap:balance}
:where(.product-page,.pricing-page,.mac-page):lang(en) h1,:where(.product-page,.pricing-page,.mac-page):lang(de) h1,:where(.product-page,.pricing-page,.mac-page):lang(fr) h1,:where(.product-page,.pricing-page,.mac-page):lang(es) h1,:where(.product-page,.pricing-page,.mac-page):lang(pt-BR) h1{font-family:StemTabSora,-apple-system,sans-serif;font-weight:550;letter-spacing:-.04em}
:where(.product-page,.pricing-page) .site-header{height:80px;gap:24px}
:where(.product-page,.pricing-page) .site-header nav{flex-wrap:wrap;gap:20px}
:where(.product-page,.pricing-page) .site-header nav a{font-size:13px}
:where(.product-page,.pricing-page) .site-header select{min-height:38px;border-radius:8px;padding:8px 12px;background:#fff}
:where(.product-page,.pricing-page) .primary,:where(.product-page,.pricing-page) .plan a{min-height:44px;border-radius:8px;font-weight:600;font-size:14px;padding:12px 20px}
.product-page .hero{padding-top:64px;padding-bottom:72px;gap:5vw;min-height:600px}
.product-page .hero h1{font-size:clamp(42px,4.1vw,66px);line-height:1.22}
.product-page .lead{font-size:17px;line-height:1.9;margin:28px 0 32px}
.product-page .statement{padding:100px 32px}
.product-page .statement h2{font-size:clamp(30px,3.5vw,48px);line-height:1.3}
.product-page .shot-copy h2{font-size:clamp(28px,3vw,44px);line-height:1.3}
.product-page .shot-copy p{font-size:17px;line-height:1.85}
.product-page :is(.product-shot,.score-shot){margin-bottom:104px}
.product-page .workflow{padding-top:88px;padding-bottom:88px}
.product-page :is(.workflow,.formats) h2{font-size:clamp(30px,3.6vw,50px);line-height:1.3;margin-bottom:36px}
.product-page .workflow li{padding:22px 0;gap:24px}
.product-page .workflow li b{font-size:18px;font-weight:600}
.product-page .workflow li span{font-size:14px;line-height:1.85}
.product-page .formats{padding-top:88px;padding-bottom:88px}
.product-page .formats div span{font-size:17px}
.product-page .formats p{font-size:14px;line-height:1.85}
.product-page .primary:hover{transform:translateY(-1px)}
.product-page .hero .track i{animation:none}
.product-page .hero .playhead{animation-duration:9s}
.pricing-page .pricing-hero{padding-top:64px;padding-bottom:36px}
.pricing-page .pricing-hero h1{font-size:clamp(36px,4vw,60px);line-height:1.25;max-width:19em;margin-bottom:24px}
.pricing-page .pricing-hero p{font-size:17px;line-height:1.85;max-width:64ch}
.pricing-page .plan{padding:30px 24px;border-color:var(--st-line)}
.pricing-page .plan h2{font-size:21px;line-height:1.4;font-weight:600;margin:0 0 10px}
.pricing-page .plan .plan-fit{font-size:13px;line-height:1.85;min-height:58px}
.pricing-page .plan .price{font-size:clamp(30px,2.7vw,42px);font-variant-numeric:tabular-nums;line-height:1.3}
.pricing-page .plan .quota{min-height:80px;margin:20px 0 24px;font-size:14px}
.pricing-page .plan-features{font-size:13px;line-height:1.8}
.pricing-page .plan-features li{padding:10px 0}
.pricing-page .plan a{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}
.pricing-page :is(.rules,.faq){font-size:14px;line-height:1.9}
.pricing-page details{border-bottom:1px solid var(--st-line);padding:16px 0}
.pricing-page details summary{font-weight:550;cursor:pointer;min-height:32px}
.pricing-page details p{max-width:85ch;color:var(--st-muted);font-size:14px;line-height:1.9}
.legal-page{background:var(--st-paper);color:var(--st-ink)}
.legal-page>header{min-height:80px;gap:24px}
.legal-page article{padding:clamp(28px,5vw,64px);border-radius:10px;border-color:var(--st-line)}
.legal-page h1{font-size:clamp(32px,3.5vw,48px);line-height:1.25;font-weight:600;letter-spacing:-.025em;text-wrap:balance}
.legal-page h2{font-size:21px;line-height:1.4;margin-top:40px;margin-bottom:12px}
.legal-page .doc-toc{gap:8px;padding-bottom:24px}
.legal-page .doc-toc a{font-size:12px;min-height:36px;border-radius:7px}
.legal-page p,.legal-page li{line-height:1.9}
.legal-page .support-contact{padding:20px 24px;border-radius:10px}
.payment-page{background:var(--st-paper);color:var(--st-ink);padding:32px}
.payment-page main{padding:36px;border:0;border-radius:12px;box-shadow:0 16px 48px #173c3212}
.payment-page header{font-size:22px;color:var(--st-accent);font-weight:650}
.payment-page h1{font-size:26px;line-height:1.4;letter-spacing:-.025em;margin:28px 0 16px;font-weight:600}
.payment-page #balance{font-size:23px;font-variant-numeric:tabular-nums}
.payment-page :is(#message,p){font-size:14px;line-height:1.9;color:var(--st-muted)}
.payment-page nav{gap:12px;margin-top:28px}
.payment-page :is(a,button){min-height:44px;border-radius:8px;font-size:13px;padding:11px 18px}
.mac-page{background:var(--st-paper);color:var(--st-ink);font:15px/1.75 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}
.mac-page header{height:80px;border-color:var(--st-line)}
.mac-page .hero{gap:48px}
.mac-page main{padding-top:64px}
.mac-page h1{font-size:clamp(36px,4vw,56px);line-height:1.25;letter-spacing:-.03em;color:var(--st-accent)}
.mac-page .intro{font-size:18px;line-height:1.85;color:var(--st-muted)}
.mac-page .download{background:var(--st-accent);border-radius:8px;padding:13px 20px;min-height:48px}
.mac-page .download:hover{background:var(--st-hover)}
.mac-page :is(.metadata,.requirements,details,ol){color:var(--st-muted);font-size:13px;line-height:1.85}
.mac-page figure img{border-radius:10px}
.mac-page .install{border-color:var(--st-line);margin-top:48px}
.mac-page :is(select,button){border-radius:8px;border-color:var(--st-line);font-size:13px;min-height:40px}
/* Private operations UI follows D, keeping charts readable rather than decorative. */
body.admin-ui{--ink:var(--st-ink);--muted:var(--st-muted);--paper:#fff;--wash:var(--st-soft);--line:var(--st-line);--navy:var(--st-accent);--teal:#146b57;--blue:#456ac3;background:var(--st-paper);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;font-size:14px}
.admin-ui>header{background:var(--st-paper);color:var(--st-ink);border-bottom:1px solid var(--st-line);box-shadow:none;padding-block:20px;gap:24px}
.admin-ui>header .brand{color:var(--st-accent);font-weight:600}
.admin-ui>header .brand span{background:var(--st-accent);color:white;box-shadow:none;border-radius:8px}
.admin-ui>header :is(button,select){color:var(--st-ink);background:white;border:1px solid var(--st-line);border-radius:8px;min-height:40px;font-size:13px}
.admin-ui main{padding-block:36px;max-width:1480px}
.admin-ui .panel{background:white;border:1px solid var(--st-line);border-radius:10px;padding:24px;box-shadow:none}
.admin-ui .panel header{background:none;color:var(--st-ink);border:0;box-shadow:none;padding:0;position:static}
.admin-ui .panel h2{font-size:18px;font-weight:600;letter-spacing:-.02em}
.admin-ui .panel p{font-size:13px;line-height:1.85}
.admin-ui .metrics{gap:16px}
.admin-ui .metric{background:white;border:1px solid var(--st-line);border-radius:10px;box-shadow:none;padding:22px}
.admin-ui .metric strong{font-size:28px;line-height:1.35;font-weight:600;font-variant-numeric:tabular-nums}
.admin-ui .metric p,.admin-ui .metric small{font-size:12px;line-height:1.8}
.admin-ui .refund,.admin-ui .failure,.admin-ui .beta-user{padding-block:18px;gap:20px}
.admin-ui .badge{font-size:12px;border-radius:6px;padding:5px 9px}
.admin-ui .day span{font-size:11px}
.admin-ui input{background:#fff;border:1px solid var(--st-line);border-radius:8px;min-height:40px;padding:8px 12px;font:inherit}
.admin-ui .notice{border-radius:12px;background:white;padding:40px;border:1px solid var(--st-line);max-width:720px;margin:48px auto}
.admin-ui .notice h1{font-size:28px;line-height:1.4;letter-spacing:-.025em}
@media(max-width:1050px){.pricing-page .plan{padding:24px 18px}.product-page .hero h1{font-size:clamp(34px,4.4vw,52px)}.product-page .hero{gap:32px}.admin-ui>header{gap:16px}}
@media(max-width:820px){.product-page .hero{padding:48px 24px 60px;min-height:0}.product-page .statement{padding:72px 24px}.product-page :is(.workflow,.formats){padding-top:64px;padding-bottom:64px}.product-page :is(.product-shot,.score-shot){margin-bottom:72px}.pricing-page .pricing-hero{padding-top:40px}.pricing-page .plan .plan-fit{min-height:0}.legal-page>header{min-height:70px}.payment-page{padding:20px}.payment-page main{padding:28px}.mac-page main{padding-top:40px}}
@media(max-width:560px){:where(.product-page,.pricing-page) .site-header{gap:12px;height:auto;min-height:72px;padding:14px 20px}:where(.product-page,.pricing-page) .site-header nav{gap:12px}.legal-page article{padding:28px 20px}.payment-page nav{flex-direction:column}.payment-page nav a,.payment-page nav button{text-align:center}.admin-ui .panel{padding:20px}.admin-ui .refund,.admin-ui .failure{gap:12px}}
@media print{.legal-page article{padding:0;border:0}.legal-page{background:white}}
/* The semantic progress element remains available to assistive technology. */
body.edition-d progress[data-st-wave]{position:absolute;width:1px!important;height:1px!important;clip-path:inset(50%);overflow:hidden}
.st-wave-progress{display:flex;align-items:center;gap:3px;height:34px;width:100%;margin:14px 0 18px}
.st-wave-progress i{flex:1;min-width:1px;border-radius:3px;background:#dfe8e1;transition:background-color 180ms}
.st-wave-progress i.done{background:#146b57}
.st-wave-progress.indeterminate i{background:#146b57;animation:st-wave-wait 900ms ease-in-out infinite alternate}
@keyframes st-wave-wait{from{opacity:.2;transform:scaleY(.6)}to{opacity:.85;transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.st-wave-progress.indeterminate i{animation:none;opacity:.55}}
body.edition-d .file-drop::before,body.edition-d .file-drop::after{display:none}
body.edition-d .file-drop>span{transform:none;box-shadow:none;animation:none}
body.edition-d dialog .st-dialog-close,.st-dialog .st-dialog-close{position:absolute;right:16px;top:16px;width:36px;height:36px;min-height:36px;display:grid;place-items:center;padding:0;border:0;background:var(--st-soft);font-size:22px;line-height:1;border-radius:8px;color:var(--st-muted);cursor:pointer}
body.edition-d .billing-card h2{padding-right:48px}
body.edition-d #billing-dialog h2{font-size:24px;line-height:1.35;margin:0 0 12px}
body.edition-d .billing-product{min-height:210px}
body.edition-d .billing-product strong{font-family:inherit;font-size:18px;font-weight:600}
body.edition-d .billing-product span{font-family:StemTabSora,-apple-system,sans-serif;font-size:27px;font-weight:550;letter-spacing:-.02em}
body.edition-d:lang(en) #welcome h2{font-size:clamp(42px,4vw,64px);line-height:1.2}
body.edition-d .score-view-switch,body.edition-d .view-switch,body.edition-d .score-views,body.edition-d .listening-bar>div,body.edition-d .roll-listen{background:var(--st-soft);border-color:var(--st-line);border-radius:8px;box-shadow:none}
body.edition-d [data-view],body.edition-d .roll-bar button,body.edition-d .listening-bar button{color:var(--st-ink);box-shadow:none}
body.edition-d [data-view].active,body.edition-d [data-view][aria-pressed=true],body.edition-d .roll-bar .active{background:white;color:var(--st-accent);box-shadow:0 1px 3px #173c3212}
body.edition-d #jump-notes{color:#146b57}
body.edition-d .transport #play{box-shadow:none}
body.edition-d dialog .candidate{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;min-height:58px;margin:8px 0;border:1px solid var(--st-line)}
body.edition-d dialog .candidate button{min-height:36px;font-size:12px;padding:7px 12px}
body.edition-d dialog .candidate button.active{background:#e8f1eb;color:#173c32;border-color:#b5cebc}
body.edition-d dialog :is(#save-note,#save-new,#save-notation,#apply-transpose){position:static;box-shadow:none;margin-top:24px;width:100%}
body.edition-d .roll-guide-actions{position:sticky;bottom:-24px;background:white;padding:16px 0 8px;border-top:1px solid var(--st-line)}
@media(max-width:560px){.st-wave-progress{gap:1px}}
body.edition-d #home-record-list>p{padding:32px 24px;text-align:center;border:1px dashed var(--st-line);border-radius:10px;background:#fff;color:var(--st-muted);font-size:13px}
body.edition-d #error:not([hidden]),body.edition-d #flow-error:not(:empty){padding:16px 20px;border:1px solid #e5c9c1;background:#fbf1ed;color:#8e3f33;border-radius:8px;font-size:13px;line-height:1.85;overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){body.edition-d button:not(:disabled):hover{border-color:#a5bcad}}
.mac-page{min-height:100svh}
.mac-page .download.pending{background:var(--st-soft);color:var(--st-muted);border:1px solid var(--st-line);cursor:default;transform:none}
.mac-page figure{height:auto;max-height:none;overflow:visible;mask:none;clip-path:none;align-self:center}
.mac-page figure img{height:auto;max-height:none;object-fit:contain;mask:none;clip-path:none}
.mac-page footer{border-color:var(--st-line);color:var(--st-muted)}
.mac-page a:not(.download){color:#146b57}
body.edition-d .note b{font-size:13px;font-weight:600}
body.edition-d .note i{position:static;grid-column:2/-1;justify-self:start;font-size:11px;line-height:1.4;font-style:normal;color:#296c4f;letter-spacing:0}
body.edition-d .note small,body.edition-d .note>span{font-size:11.5px;line-height:1.5}
/* Laptop navigation stays available; it moves to a second row rather than disappearing. */
@media(min-width:961px) and (max-width:1200px){body.edition-d header{gap:12px}body.edition-d .d-nav{display:flex;order:8;flex:1 1 calc(100% - 174px);padding-top:4px;gap:24px}body.edition-d .transport{position:sticky;top:var(--d-header-height,80px);z-index:20}}
body.edition-d[data-service-unavailable=true]>:not(.st-service-unavailable){display:none!important}
.st-service-unavailable{min-height:100dvh;display:grid;place-items:center;padding:32px;background:var(--st-paper)}
.st-service-unavailable>div{max-width:480px;width:100%;padding:36px;background:#fff;border-radius:12px;box-shadow:0 16px 48px #173c3212}
.st-service-unavailable h1{font:600 28px/1.35 StemTabSora,-apple-system,sans-serif;letter-spacing:-.03em;color:var(--st-accent);margin:0 0 20px}
.st-service-unavailable p{font-size:14px;line-height:1.9;margin:0 0 28px;color:var(--st-muted)}
/* Muting affects the waveform, never the legibility or availability of the row's controls. */
body.edition-d #tracks .track:has(.include-button:not(.active)),body.edition-d #tracks .track:has(.include-button:not(.active)):hover{opacity:1}
body.edition-d #tracks .track:has(.include-button:not(.active)) .wave canvas{opacity:1;filter:saturate(.6)}
body.edition-d #tracks .track-actions .include-button.active{color:var(--st-accent);background:color-mix(in srgb,var(--track-color) 10%,white);border:1px solid color-mix(in srgb,var(--track-color) 24%,white)}
body.edition-d #tracks .wave{background:color-mix(in srgb,var(--track-color) 5%,white)}
body.edition-d .roll-bar .roll-listen{background:var(--st-soft);border-radius:8px}
body.edition-d .roll-bar .roll-listen button[aria-pressed=true]{background:#fff;color:var(--st-accent);box-shadow:0 1px 3px #173c3212}
/* MusicXML review notices are shown once without clipping the engraving. */
body.edition-d #score-render-notice{white-space:pre-line;font-size:12px;line-height:1.7;color:var(--st-muted);margin:12px 0 20px;overflow-wrap:anywhere}
@media print{
 #score-render-notice{display:block!important;max-width:174mm;margin:0 auto 3mm!important;color:#333!important;font-size:9pt!important;line-height:1.4!important;break-after:avoid}
 #score-render-notice[hidden]{display:none!important}
 body.edition-d .cookie-notice,#wait-pill,#login,.st-service-unavailable{display:none!important}
 #score>div{width:100%!important;height:auto!important;max-width:none!important;break-inside:avoid!important;page-break-inside:avoid!important;break-after:auto!important}
 #score>div:has(svg)~div:has(svg){break-before:page!important}
 #score svg{display:block!important;width:174mm!important;max-width:100%!important;height:auto!important;margin:0 auto!important;overflow:visible!important}
}

/* A visible native selector keeps the full language name, dropdown affordance and
   platform keyboard menu. The former transparent overlay clipped long labels. */
body .language-control{position:relative;display:inline-flex;align-items:center;flex:none;gap:8px;width:auto;min-width:0;height:38px;padding:0 10px;border:1px solid var(--st-line);border-radius:8px;background:#fff;color:var(--st-ink)}
body .language-control .language-icon{position:relative;width:16px;height:16px;flex:0 0 16px;border:1.25px solid currentColor;border-radius:50%;box-sizing:border-box}
body .language-control .language-icon:before{content:"";position:absolute;left:1px;right:1px;top:6px;border-top:1px solid currentColor}
body .language-control .language-icon:after{content:"";position:absolute;inset:1px 4px;border-inline:1px solid currentColor;border-radius:50%}
body .language-control #lang-switch{position:static;inset:auto;opacity:1;appearance:auto;display:block;width:auto;max-width:none;min-width:0;height:36px;min-height:0;margin:0;padding:0 2px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:normal;box-shadow:none;cursor:pointer}
body .language-control #lang-switch:focus-visible{outline:none}
body .language-control:focus-within{outline:2px solid var(--st-accent);outline-offset:3px}
@media(hover:hover) and (pointer:fine){body .language-control:hover{border-color:#829d8c;background:var(--st-paper)}}

body.edition-d .library-read-retry{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-top:12px;padding:7px 14px!important;color:var(--st-accent);background:var(--st-soft);border:1px solid var(--st-line);border-radius:8px;font-size:13px;line-height:1.4}
