@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#202e3e;background:#ebeff4;font-size:16px;--ink:#17293d;--accent:#134277;--line:#d6dfe9}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;min-height:38px;padding:7px 11px}button:hover{background:#e6ecf3;border-color:#7e9ab9}button:focus-visible,select:focus-visible,input:focus-visible,#score:focus-visible{outline:3px solid #4479b6;outline-offset:3px}button:disabled{opacity:.4;cursor:default}header{height:76px;background:#122132;color:white;display:flex;align-items:center;padding:0 30px;gap:24px}.brand{display:flex;gap:14px;align-items:center}.brand b{font-size:24px;letter-spacing:3px}.mark{font:italic 29px 'Libre Baskerville',serif;color:#83adde}.brand-sub{font-size:12px;letter-spacing:2px;color:#95acc6;border-left:1px solid #3e5672;padding-left:20px}.version{margin-left:auto;font-size:13px;color:#aabdd2}header button{background:transparent;color:white;border-color:#3e5774}.workspace{display:grid;grid-template-columns:224px minmax(500px,1fr) 250px;min-height:calc(100vh - 76px)}aside{padding:28px 22px}.settings{background:#f7f9fb;border-right:1px solid var(--line)}.section-label,.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;color:#527399}.settings h2,.inspector h2{font-family:'Libre Baskerville',serif;font-weight:400;font-size:20px;line-height:1.5;margin:13px 0 26px}.settings label{display:block;font-size:13px;font-weight:600;margin:19px 0 8px}select{border:1px solid #cfd9e5;border-radius:6px;background:white;color:#23354a;padding:10px 8px;max-width:100%;font-size:14px}.settings select{width:100%}.hint{font-size:12px;line-height:1.6;color:#5679a1}.segmented{display:flex;border:1px solid var(--line);padding:3px;border-radius:8px;gap:4px}.segmented button{flex:1;border:0;background:transparent}.segmented .active,button.active{background:#d8e2ee;color:#103662;box-shadow:inset 0 0 0 1px #91abc9}.pair{display:grid;grid-template-columns:65px 1fr;gap:9px}.divider{border-top:1px solid var(--line);margin:24px 0}.staff-setting{display:flex;align-items:center;gap:8px;margin:13px 0;font-size:13px}.staff-setting select{width:90px;margin-left:auto}.wide{width:100%;font-size:13px;margin-top:16px}.side-note{margin-top:35px;border-left:2px solid #6586ac;padding-left:13px}.side-note span{font-size:11px;letter-spacing:1px;color:#54759b}.side-note p{font-size:13px;line-height:1.7;color:#587ba3}main{padding:27px 28px 14px;min-width:0}.document-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}h1{font-size:23px;font-weight:500;margin:8px 0 0;letter-spacing:-.5px}.status{font-size:12px;border:1px solid #ced9e5;border-radius:20px;padding:7px 11px;white-space:nowrap;color:#527399}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:10px 10px 0 0}.duration-group,.tool-group{display:flex;gap:3px;align-items:center}.duration-group button{position:relative;width:42px;height:56px;padding:0;border-color:transparent}.duration-group svg{display:block;width:32px;height:37px;margin:auto}.duration-group kbd{border:0;background:none;font-size:10px;position:absolute;bottom:2px;left:17px}.tool-group{border-left:1px solid var(--line);padding-left:10px}.tool-group button{border-color:transparent;padding:6px 8px}.tool-group select{width:63px;padding:8px 2px}.tool-group kbd{font-size:10px;margin-left:3px}.score-scroll{overflow:auto;padding:24px;background:#dce3ec;max-height:calc(100vh - 315px);min-height:380px;border:1px solid #d2dce7;border-top:0}.paper{background:white;box-shadow:0 4px 15px #17293d0a;min-width:690px;padding:28px 18px 20px}.paper-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.2px;color:#5f82a9;margin:0 15px 25px}.paper h2{font:400 26px 'Libre Baskerville',serif;text-align:center;color:#1d2835;margin:0 0 10px}.paper #paperMode{font:italic 13px 'Libre Baskerville',serif;text-align:center;color:#5e81a8;margin:0 0 24px}#score{position:relative;touch-action:manipulation;cursor:crosshair;width:100%}#score svg{display:block;width:100%;height:auto}.paper-foot{display:flex;justify-content:space-between;font-size:11px;color:#6284ab;padding:15px 10px 0;border-top:1px solid #eaeef3}.transport{display:flex;gap:10px;align-items:center;background:white;padding:14px 18px;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px}.play{background:#173f6d;color:white;border-color:#173f6d;min-width:94px}.play:hover{background:#12345a;color:white}.transport>button:not(.play){border-color:transparent}.tempo{display:flex;gap:3px;align-items:center;font-size:12px;color:#5b7ea6}.tempo input{width:50px;border:0;color:#28384a;font-size:15px;padding:4px}.transport-divider{height:23px;border-left:1px solid var(--line);margin:0 4px}.transport>label{font-size:13px}.transport select{border:0;padding:7px}.audio-label{font-size:10px;color:#7290b3;margin-left:auto}.keyboard-hint{text-align:center;color:#577aa2;font-size:11px;line-height:2.3}.keyboard-hint span{padding:0 8px}kbd{font:11px 'DM Sans',sans-serif;border:1px solid #cfd9e5;border-radius:4px;padding:2px 5px;background:#fafbfc;color:#4f6e92}.inspector{background:#f3f5f8;border-left:1px solid var(--line)}.inspector-card{border-top:1px solid var(--line);padding:20px 0}.card-title{font-size:14px;font-weight:600}.card-title span{display:block;font-size:11px;color:#6f8eb1;font-weight:400;margin-top:6px}.rhythm-row{display:flex;align-items:center;gap:9px;margin-top:15px;font-size:12px}.rhythm-track{height:5px;flex:1;border-radius:8px;background:#dbe2eb;overflow:hidden}.rhythm-track i{height:100%;display:block;background:#55779d}.rhythm-row em{font-size:11px;color:#6989ae;font-style:normal;min-width:35px;text-align:right}.selected-card{min-height:90px}.selected-card #selection{font-size:13px;color:#55779d;margin-top:12px;line-height:1.7}.fux-card{background:#dfe6ee;border-radius:9px;padding:20px;margin-top:14px}.book-icon{display:inline-block;font:italic 30px 'Libre Baskerville',serif;color:#476384}.fux-card h3{font:400 18px/1.5 'Libre Baskerville',serif;margin:12px 0}.fux-card p{font-size:12px;line-height:1.8;color:#55779d}.pending{font-size:10px;line-height:1.5;color:#405a78;display:block;padding-top:10px;border-top:1px solid #c3d0df}.clear{font-size:12px;border:0;background:transparent;color:#6c8cb0;margin-top:20px;width:100%}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#182b40;color:white;box-shadow:0 8px 30px #0002;border-radius:9px;padding:14px 22px;display:none;max-width:90vw;z-index:20;font-size:14px}dialog{border:0;border-radius:15px;padding:32px;max-width:580px;color:#243549;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#10203266}dialog p,dialog dd{font-size:14px;line-height:1.7}dialog dt{font-size:14px;font-weight:700;margin-top:17px}dialog dd{margin:4px 0;color:#507094}.close{float:right;border:0;font-size:23px}.playhead{pointer-events:none}.ghost{pointer-events:none;opacity:.5}@media(min-width:1550px){main{padding:34px 42px}.workspace{grid-template-columns:250px minmax(500px,1fr) 280px}aside{padding:32px 28px}}@media(max-width:1180px){.workspace{grid-template-columns:205px minmax(450px,1fr)}.inspector{grid-column:1/-1;display:flex;gap:25px;padding:20px}.inspector h2,.inspector>.section-label,.fux-card,.inspector>.clear{display:none}.inspector-card{flex:1;border:0;padding:0}.score-scroll{max-height:650px}.status{display:none}.brand-sub{font-size:10px}}@media(max-width:720px){header{padding:0 16px;height:64px}.brand-sub,.version{display:none}header>button{margin-left:auto}.workspace{display:flex;flex-direction:column}.settings{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.settings>.section-label,.settings>h2,.settings>.hint,.settings>.divider,.side-note,.settings>#staves,.settings>.wide{display:none}.settings>label{margin:5px 0;grid-column:1}.settings>select,.settings>.segmented{grid-column:2}.settings>.pair{grid-column:1/-1;grid-template-columns:1fr 1fr}.settings>.pair label{margin:8px 0}main{padding:18px 10px}.document-top{padding:0 8px}h1{font-size:20px}.toolbar{gap:6px;padding:8px}.duration-group button{width:37px}.tool-group{padding-left:5px}.score-scroll{padding:12px;min-height:340px;max-height:560px}.transport{padding:10px;gap:5px;flex-wrap:wrap}.audio-label{display:none}.paper{min-width:690px}.inspector{display:block}.inspector-card{margin-bottom:20px}.keyboard-hint{display:none}}

.vf-ghost{opacity:.45;pointer-events:none}.settings label,.staff-setting,.transport>label{font-size:14px}.selected-card #selection{white-space:pre-line}
.document-actions{display:flex;align-items:center;gap:12px}.audit-button{background:#173f6d;color:white;border-color:#173f6d;font-weight:600;white-space:nowrap}.audit-button:hover{background:#12345a;color:white}.audit-panel{border-top:1px solid var(--line);padding:20px 0}.audit-subtitle{font-size:12px;color:#577aa2;line-height:1.6}.audit-scope{font-size:12px;color:#425d7b}.audit-summary{font-size:14px;line-height:1.5;font-weight:600}.audit-badges{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.audit-badges span{font-size:11px;border-radius:5px;padding:5px 6px;background:#e1e8ef}.audit-badges .error{background:#f7e4e6;color:#ad3441}.audit-badges .warning{background:#f5ecda;color:#926014}.audit-list{max-height:360px;overflow:auto}.audit-issue{display:block;text-align:left;width:100%;margin:7px 0;padding:10px;line-height:1.5;border-left:3px solid #8ba4c1}.audit-issue strong{display:block;font-size:13px;font-weight:500}.audit-issue span{display:block;font-size:11px;color:#5c7fa7;margin-top:3px}.audit-issue.error{border-left-color:#cc3d49}.audit-issue.warning{border-left-color:#bc8b2f}.audit-coverage{font-size:12px;line-height:1.7;color:#587ba3;padding:13px 0}.audit-coverage summary{cursor:pointer;color:#37506d}.audit-stale{font-size:13px;line-height:1.7;background:#f7efd9;padding:12px;border-radius:6px;color:#856928}#auditDialog{width:min(600px,95vw)}#issueSource{font-size:13px;line-height:1.6;border-top:1px solid var(--line);padding-top:13px;color:#53759b}#issueSource a{color:#164275}.source-caption{font-size:12px!important}@media(max-width:1180px){.inspector{flex-wrap:wrap}.audit-panel{flex:1 1 280px;border:0;padding:0}.inspector-card{min-width:180px}.audit-list{max-height:250px}}@media(max-width:720px){.document-top{align-items:flex-start}.document-actions{padding-top:15px}.audit-button{font-size:14px}.audit-panel{border-top:1px solid var(--line);padding-top:20px}}
.staff-block{padding-bottom:10px;border-bottom:1px solid #e2e9f0}.staff-block .staff-setting{margin:12px 0 8px}.voice-species{font-size:12px;width:100%;padding:7px!important}.audit-partial{font-size:10px;letter-spacing:.4px;line-height:1.6;color:#806c3e}.audit-issue.info{border-left-color:#537499}#auditDialog h3{font-size:13px;margin:20px 0 6px;color:#4f6f93;text-transform:uppercase;letter-spacing:1px}#auditDialog p{margin-top:6px}#suggestNotes{margin-top:18px;color:#143d6c}.suggestion{display:block;width:100%;margin:8px 0;font-size:14px;text-align:left}
@media(max-width:720px){.settings>#staves{display:block;grid-column:1/-1}.staff-block{display:inline-block;width:calc(50% - 8px);margin-right:8px;vertical-align:top}}
#accidental{width:180px;max-width:46vw}.tool-group{flex-wrap:wrap}@media(max-width:720px){#modalSettings{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}#modalSettings[hidden]{display:none}#modalSettings label{margin:5px 0}}

#accidentals{display:flex;align-items:center;gap:3px;flex-wrap:wrap}#accidentals button{min-width:34px;padding:4px 8px;font-family:Georgia,serif;font-size:25px;line-height:1.2}#accidentals button[data-accidental=""]{font-family:inherit;font-size:12px}.document-actions #clear{margin:0;width:auto;font-size:13px;white-space:nowrap}.document-actions{flex-wrap:wrap}.score-scroll{overflow-anchor:none}

.toolbar{position:relative;padding-left:66px;align-items:flex-start}.shortcut-label{position:absolute;left:10px;top:74px;font-size:11px;color:#4f6e92}.toolbar button{position:relative;height:56px;margin-bottom:25px}.toolbar button kbd,.duration-group button kbd{position:absolute;top:calc(100% + 6px);bottom:auto;left:50%;transform:translateX(-50%);margin:0;padding:0;border:0;background:none;font:11px 'DM Sans',sans-serif;line-height:15px;white-space:nowrap;color:#3a526d}.tool-group,#accidentals{align-items:flex-start}.toolbar #undo,.toolbar #redo{min-width:75px}.duration-group svg{height:44px;width:34px}.rule-link{font-size:13px;color:#113865;text-decoration:underline;border:0;background:transparent;padding:5px 2px;text-align:left;min-height:32px}.audit-entry{margin-bottom:12px}.audit-entry .audit-issue{margin-bottom:0}#ruleDialog{width:min(900px,95vw);max-width:900px;max-height:90vh;overflow:auto}#ruleDialog h3{font-size:14px;margin:24px 0 8px}.rule-score{overflow-x:auto;border:1px solid #d6dfe9;background:white;border-radius:8px}#ruleSource a{font-size:14px;color:#113865}@media(max-width:720px){.toolbar{padding-left:58px}.shortcut-label{left:6px;top:70px}.toolbar .tool-group{gap:3px}}

/* Cris Américo · blue study workspace */
:root{color:#243e5b;background:#eef5fd;--ink:#203e60;--accent:#2869b0;--line:#d2e1f0}
header{background:#dcecff;color:#214b7b;border-bottom:1px solid #c6dbf2;gap:24px}
.brand{flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.brand-name{color:#204d80;text-decoration:none;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.4px}
.brand-name:hover{text-decoration:underline;text-underline-offset:4px}
.brand-name:focus-visible{outline:3px solid #468ed5;outline-offset:4px;border-radius:3px}
.brand-sub{display:block;color:#4e6f95;border:0;padding:0;font-size:12px;letter-spacing:1.6px}
.version{display:block;margin-left:0;color:#2d5d93;font-size:18px;font-weight:600;white-space:nowrap}
header>button{margin-left:auto;background:#eff7ff;border-color:#b9d1ea;color:#2a5786}
header>button:hover{background:#fff;border-color:#7fadd9}
.settings,.inspector{background:#f5f9ff}
.score-scroll{background:#dceafa;border-color:#cbdff1}
button:hover{background:#e7f1fe;border-color:#8eb8df}
.segmented .active,button.active{background:#d7e9ff;color:#205c9e;box-shadow:inset 0 0 0 1px #8bb7e3}
.play{background:#2b69ad;border-color:#2b69ad;color:white}
.play:hover{background:#21558e;color:white}
.rhythm-track i{background:#6099d2}
.audit-button{background:#187652;border-color:#187652;color:white;box-shadow:none}
.audit-button:hover{background:#125d40;border-color:#125d40;color:white}
.audit-button:focus-visible{outline-color:#49a580}
@media(max-width:720px){header{height:auto;min-height:80px;padding:14px 16px;gap:12px;flex-wrap:wrap}.brand{flex:1 1 190px}.brand-name{font-size:20px}.brand-sub{display:block;font-size:11px;letter-spacing:1px}.version{display:block;font-size:14px;margin-left:auto}.workspace{min-height:calc(100vh - 80px)}}

/* Audit first, with explicit local recognition rather than whole-score approval. */
.inspector>.audit-panel{border-top:0;padding-top:0;margin-bottom:24px}
.audit-subtitle{font-size:12px;line-height:1.65}
.recognized-procedure,.harmony-item{display:block;width:100%;text-align:left;font-size:13px;line-height:1.6;margin:7px 0;padding:9px 10px}
.recognized-procedure.validated{color:#293b46;border-left:3px solid #91a1aa;background:#f4f6f7}
.recognized-procedure.contextual{color:#526a82;border-left:3px solid #9eb1c5}
.audit-harmonies{font-size:13px;line-height:1.65;padding:12px 0;border-top:1px solid var(--line)}
.audit-harmonies summary{cursor:pointer;color:#37506d}.harmony-list{max-height:280px;overflow:auto}
.audit-list,.audit-coverage,.audit-harmonies{overflow-anchor:none}
@media(max-width:1180px){.inspector>.audit-panel{flex-basis:100%;margin-bottom:0}.inspector>.audit-panel .audit-list{max-height:250px}}

.document-actions #exportMusicXML{font-size:13px;font-weight:600;color:#173f6d;border-color:#8ba8c8;white-space:nowrap}.document-actions #exportMusicXML:hover{background:#e6eff9}
