:root{--night:#0e191f;--ink:#1d292f;--muted:#6f7d83;--paper:#f8f5ef;--line:#d8d2c7;--gold:#bd8a37;--rose:#b16d5e}*{box-sizing:border-box}body{color:var(--ink);background:#ece9e1;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}.app-shell{grid-template-columns:310px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--night);color:#f6f3eb;padding:28px 23px}.brand{border-bottom:1px solid #314047;align-items:center;gap:11px;padding-bottom:30px;display:flex}.brand-mark{border:1px solid var(--gold);width:37px;height:37px;color:var(--gold);border-radius:50%;place-items:center;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:#94a2a7;margin-top:2px;font-size:.75rem}.eyebrow{letter-spacing:.12em;color:var(--gold);margin:0 0 6px;font-size:.67rem;font-weight:800}.new-project,.project-fields,.engine-card,.saved-projects,.account-card{border-bottom:1px solid #314047;padding:24px 0}.upload-card{color:#eef0e9;cursor:pointer;text-align:center;border:1px dashed #567077;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:130px;display:flex}.upload-card:hover{border-color:var(--gold)}.upload-card input{display:none}.upload-icon{color:var(--gold);font-size:1.6rem;line-height:1}.upload-card small,.muted{color:#a5afb0;font-size:.76rem}.project-fields label,.account-card label{color:#b9c0c0;margin-bottom:12px;font-size:.74rem;display:block}.project-fields input,.project-fields select,.account-card input{color:#f0f2ed;background:#19272d;border:1px solid #45565c;border-radius:6px;width:100%;margin-top:5px;padding:9px 10px;display:block}.field-row{grid-template-columns:1fr 1fr;gap:9px;display:grid}.engine-card strong{font-size:.92rem}.engine-card p{color:#b9c0c0;font-size:.76rem;line-height:1.5}.confidence{color:#b8c3c1;background:#1b2a2f;border-radius:5px;margin-top:11px;padding:7px 9px;font-size:.72rem}.save-button{width:100%}.project-list{gap:6px;margin-top:12px;display:grid}.project-item{text-align:left;color:#dfe7e5;background:#132126;border:1px solid #365058;width:100%;padding:8px 9px;font-size:.74rem}.project-item:hover,.project-item.active{border-color:var(--gold);background:#1b2b2f}.project-item strong,.project-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-item small{color:#a5afb0;margin-top:3px;font-weight:400}.account-email{text-overflow:ellipsis;white-space:nowrap;color:#eef0e9;margin-bottom:10px;font-size:.8rem;display:block;overflow:hidden}.account-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.account-actions button{padding:9px 8px}.workspace{width:100%;max-width:1320px;margin:0 auto;padding:34px}.topbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.topbar h1{margin:0;font-size:1.7rem}.biblical-reference{color:#93651e;margin:6px 0 0;font-style:italic}.actions{gap:9px;display:flex}button{background:var(--gold);color:#20170b;cursor:pointer;border:0;border-radius:6px;padding:10px 14px;font-weight:800}button:disabled{opacity:.45;cursor:not-allowed}button.ghost,button.secondary{color:var(--ink);background:0 0;border:1px solid #acb1aa}.sidebar button.secondary{color:#eef0e9;border-color:#597078}.notice{border-left:3px solid var(--gold);background:#f3ede1;margin-bottom:18px;padding:13px 16px;font-size:.85rem;line-height:1.45}.card{background:var(--paper);border:1px solid var(--line);border-radius:11px;margin-bottom:18px;padding:23px;box-shadow:0 2px 13px #1a252c0a}.section-title{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.section-title h2{margin:0;font-size:1.05rem}.audio-panel canvas{background:#142126;border-radius:7px;width:100%;height:190px;margin:17px 0 10px;display:block}.transport{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.play{border-radius:50%;width:35px;height:35px;padding:0}.transport input{accent-color:var(--gold)}.transport span{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.78rem}.badge{letter-spacing:.08em;color:#9c6516;background:#f4e5c6;border-radius:4px;padding:6px 8px;font-size:.66rem;font-weight:800}.score-meta{color:var(--muted);margin:13px 0;font-size:.8rem}.follow-strip{z-index:5;border-color:#d8c69f;padding:16px 20px;position:sticky;top:10px;box-shadow:0 7px 18px #1a252c1a}.follow-strip .section-title{align-items:center}.follow-strip .section-title>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.follow-lane{background:linear-gradient(90deg,#edf4f1 0,#fdfbf6 25%,#fff9e9 25.2%,#fdfbf6 25.4% 100%);border:1px solid #d8d2c7;border-radius:6px;height:112px;position:relative;overflow:hidden}.follow-lane:before{content:"";z-index:2;background:#bd8a37;width:2px;position:absolute;top:0;bottom:0;left:25%;box-shadow:0 0 0 3px #f5e4b7}.follow-playhead:after{content:"AGORA";color:#93651e;letter-spacing:.08em;z-index:3;font-size:.58rem;font-weight:900;position:absolute;top:4px;left:calc(25% - 16px)}.follow-note{z-index:1;color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#344b52;border:1px solid #55676d;border-radius:4px;min-width:34px;height:25px;padding:3px 5px;font-size:.69rem;transition:left .1s linear,transform .12s,background .12s;position:absolute;overflow:hidden}.follow-note.candidate{background:#b16d5e;border-color:#905144}.follow-note.manual{background:#bd8a37;border-color:#93651e}.follow-note.rest{background:#6f7d83}.follow-note.active{z-index:4;color:#fff9e8;background:#193c35;border:2px solid #f3d37e;transform:scale(1.55);box-shadow:0 0 0 4px #f3d37e77}.follow-scale{color:var(--muted);justify-content:space-between;margin-top:5px;font-size:.67rem;display:flex}.follow-scale strong{color:#93651e;font-size:.65rem}.staff{background:linear-gradient(#fdfbf6,#f6f2e9);padding:24px 20px 18px;position:relative;overflow:auto}.staff-system{min-width:650px;height:123px;margin-bottom:10px;position:relative}.staff-system:last-child{margin-bottom:0}.staff-system:before{content:"";background:var(--ink);height:1px;box-shadow:0 13px var(--ink),0 26px var(--ink),0 39px var(--ink),0 52px var(--ink);position:absolute;top:36px;left:0;right:0}.barline{opacity:.6;background:#4f5b5e;width:1px;height:53px;position:absolute;top:36px}.system-label{color:var(--muted);letter-spacing:.06em;font-size:.66rem;font-weight:800;position:absolute;top:13px;left:0}.staff-notes{z-index:1;height:106px;position:relative}.staff-note{text-align:center;width:25px;position:absolute}.staff-note .head{background:var(--ink);border-radius:50%;width:13px;height:9px;display:inline-block;transform:rotate(-18deg)}.staff-note .stem{background:var(--ink);width:1px;height:39px;position:absolute;top:-32px;right:4px}.staff-note .name{margin-top:6px;font-size:.66rem;font-weight:800;display:block}.staff-note.candidate .head{background:var(--rose)}.staff-note.manual .head{background:var(--gold)}.staff-note.rest{color:#526064}.rest-symbol{font-family:serif;font-size:1.42rem;line-height:1;display:inline-block}.legend{color:var(--muted);gap:18px;margin-top:10px;font-size:.73rem;display:flex}.dot{background:var(--ink);border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.dot.candidate{background:var(--rose)}.dot.manual{background:var(--gold)}.dot.rest{background:#526064}.rhythm-review{padding:20px 23px}.review-help{color:var(--muted);margin:10px 0 0;font-size:.78rem}.validation-badge{letter-spacing:.06em;border-radius:4px;padding:6px 8px;font-size:.66rem;font-weight:800}.validation-badge.valid{color:#236343;background:#dcece3}.validation-badge.invalid{color:#964b3d;background:#f3ddd7}.measure-checks{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.measure-check{border:1px solid var(--line);border-left-width:3px;border-radius:5px;grid-template-columns:auto 1fr;column-gap:7px;min-width:128px;padding:7px 9px;font-size:.72rem;display:grid}.measure-check.valid{border-left-color:#3a8866}.measure-check.invalid{border-left-color:var(--rose)}.measure-check span{color:var(--muted);text-align:right}.measure-check small{color:var(--muted);grid-column:1/-1;margin-top:4px}.staff-note.selectable{cursor:pointer}.staff-note.selectable:focus{outline-offset:3px;border-radius:4px;outline:2px solid #bd8a37}.staff-note.active .head{box-shadow:0 0 0 4px #f2d69a}.staff-note.active .name{color:#93651e}.score-tools{border:1px solid var(--line);background:#f7f3ea;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:9px 0;padding:9px 10px;font-size:.76rem;display:flex}.score-tools>div{color:var(--muted);flex:220px}.score-tools b{color:var(--ink)}.score-tools label{color:var(--muted);align-items:center;gap:5px;display:flex}.score-tools select{color:var(--ink);background:#fff;border:1px solid #cbc6bd;border-radius:4px;padding:5px}.review-grid{grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);align-items:start;gap:16px;display:grid}.score-workspace{min-width:0}.note-inspector{border:1px solid var(--line);border-left:3px solid var(--gold);background:#f7f3ea;border-radius:7px;gap:10px;padding:14px;display:grid;position:sticky;top:18px}.note-inspector label{color:var(--muted);gap:4px;font-size:.74rem;display:grid}.note-inspector input,.note-inspector select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbc6bd;border-radius:4px;padding:7px}.inspector-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.inspector-heading strong{font-size:1.15rem}.inspector-heading span{color:#9c6516;background:#f4e5c6;border-radius:4px;padding:4px 6px;font-size:.68rem;font-weight:800}.inspector-navigation,.inspector-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.inspector-actions button:last-child{grid-column:1/-1}.inspector-confidence{color:var(--muted);margin:0;font-size:.75rem}.measure-review{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.measure-review h3{margin:0;font-size:.96rem}.measure-rail{gap:7px;padding:4px 1px 8px;display:flex;overflow:auto}.measure-card{text-align:left;border:1px solid var(--line);min-width:105px;color:var(--ink);background:#f7f3ea;gap:2px;padding:8px;display:grid}.measure-card span,.measure-card small{color:var(--muted);font-size:.69rem;font-weight:400}.measure-card.invalid{border-color:#b16d5e}.measure-card.active{border-color:#bd8a37;box-shadow:inset 0 0 0 1px #bd8a37}.gap-action{background:#f3ede1;border-left:3px solid #bd8a37;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:.78rem;display:flex}.event-list{border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.event-list summary{cursor:pointer;color:#34454b;font-weight:800}.staff-system.measure-focused{background-color:#fff8e7}.barline.focused{opacity:1;background:#bd8a37;width:2px}.staff-note.in-focused-measure .head{box-shadow:0 0 0 2px #ead3a2}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;margin-top:15px;font-size:.83rem}th{text-align:left;color:var(--muted);letter-spacing:.05em;border-bottom:1px solid var(--line);padding:8px;font-size:.68rem}td{border-bottom:1px solid #e5e0d7;padding:7px}td input,td select{background:#fff;border:1px solid #cbc6bd;border-radius:4px;max-width:115px;padding:6px}.remove{color:#9b4d42;background:0 0;padding:0 5px;font-size:1.25rem}.empty-table{color:var(--muted);padding:14px 0 4px;font-size:.84rem}.desktop-engine{color:#c7d3d1;background:#16262b;border-left:3px solid #597078;gap:3px;margin-top:10px;padding:8px 9px;font-size:.72rem;display:grid}.desktop-engine.ready{border-left-color:#4d9a72}.desktop-engine.offline{border-left-color:#b16d5e}.desktop-engine span{color:#a5afb0;line-height:1.35}.analysis-metrics{color:#dbe3df;background:#1b2a2f;border-left:3px solid #bd8a37;gap:6px;margin-top:10px;padding:9px;font-size:.72rem;line-height:1.35;display:grid}.analysis-metrics span{display:block}.analysis-metrics b{color:#f4d7a0}.analysis-metrics small{color:#aebbb8}.inline-action{color:#f4d7a0;background:0 0;border:1px solid #bd8a37;border-radius:4px;margin-left:4px;padding:3px 6px;font-size:.68rem}.fallback-button{width:100%;margin-top:8px;color:#f4d7a0!important;border-color:#bd8a37!important}.desktop-download{border-bottom:1px solid #314047;padding:24px 0}.desktop-download strong{font-size:.84rem;display:block}.desktop-download p{color:#b9c0c0;margin:7px 0 11px;font-size:.75rem;line-height:1.45}.desktop-download a{color:#f4d7a0;text-align:center;border:1px solid #bd8a37;border-radius:6px;padding:9px 10px;font-size:.75rem;font-weight:800;text-decoration:none;display:block}.desktop-download a:hover{background:#27353a}.desktop-platform{border:1px solid #46575d;border-radius:6px;gap:3px;margin-top:9px;padding:9px 10px;font-size:.75rem;display:grid}.desktop-platform.pending{opacity:.7;background:#16262b}.desktop-platform span{color:#a5afb0;line-height:1.35}.print-document{display:none}@media (max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{padding:22px}.workspace{padding:20px}.topbar{flex-direction:column;align-items:flex-start;gap:15px}.actions{flex-wrap:wrap;width:100%}.review-grid{grid-template-columns:1fr}.note-inspector,.follow-strip{position:static}.follow-strip{padding:14px}.follow-lane{height:96px}.gap-action{flex-direction:column;align-items:flex-start}.gap-action button{width:100%}}@media (prefers-reduced-motion:reduce){.follow-note{transition:none}}@media print{@page{size:A4;margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.app-shell{display:none}.print-document{color:#1d292f;font-family:Inter,ui-sans-serif,system-ui,sans-serif;display:block}.print-cover{color:#f8f5ef;page-break-after:always;background:#10191e;flex-direction:column;justify-content:center;align-items:flex-start;min-height:297mm;padding:37mm 26mm;display:flex}.print-cover p{color:#bd8a37;letter-spacing:.16em;margin:0 0 14mm;font-size:10pt;font-weight:800}.print-cover h1{max-width:150mm;margin:0 0 9mm;font-family:Georgia,serif;font-size:33pt;line-height:1.1}.print-cover strong{color:#d8bd87;font-size:13pt;font-weight:500}.print-cover em{color:#f4ead7;margin-top:18mm;font-family:Georgia,serif;font-size:14pt}.print-cover small{color:#abb7b7;position:absolute;bottom:22mm}.print-production-page{background:#f8f5ef;min-height:297mm;padding:18mm 16mm 20mm;position:relative}.print-production-page header{color:#f8f5ef;letter-spacing:.1em;background:#10191e;justify-content:space-between;align-items:center;height:13mm;margin:-18mm -16mm 13mm;padding:4mm 16mm;font-size:7pt;font-weight:800;display:flex}.print-production-page header span{color:#d8bd87}.print-production-page h1{margin:0;font-family:Georgia,serif;font-size:23pt}.print-reference{color:#93651e;margin:3mm 0 7mm;font-family:Georgia,serif;font-style:italic}.print-metadata{border-top:1px solid #d8d2c7;border-bottom:1px solid #d8d2c7;grid-template-columns:repeat(4,1fr);margin:7mm 0;padding:4mm 0;display:grid}.print-metadata div{border-right:1px solid #d8d2c7;padding:0 4mm}.print-metadata div:first-child{padding-left:0}.print-metadata div:last-child{border:0}.print-metadata b,.print-metadata span{display:block}.print-metadata b{color:#93651e;text-transform:uppercase;letter-spacing:.08em;font-size:7pt}.print-metadata span{margin-top:1mm;font-size:9pt}.print-section{break-inside:avoid}.print-section h2,.print-grid h2{letter-spacing:.08em;text-transform:uppercase;color:#93651e;margin:0 0 3mm;font-size:10pt}.print-section .staff{background:#fff;border:1px solid #d8d2c7;padding:5mm;overflow:visible}.print-section .staff-system{break-inside:avoid;min-width:0}.print-grid{grid-template-columns:1fr 1fr;gap:7mm;margin-top:7mm;display:grid}.print-grid>div{background:#f0ece3;min-height:25mm;padding:4mm}.print-grid p{margin:0 0 2mm;font-size:8pt}.print-production-page footer{color:#6f7d83;border-top:1px solid #d8d2c7;padding-top:3mm;font-size:7pt;position:absolute;bottom:8mm;left:16mm;right:16mm}}@page{size:A4;margin:0}body.printing-partitura-studio .app-shell{display:none!important}body.printing-partitura-studio .print-document{color:#1d292f;background:#fff;width:210mm;min-height:297mm;font-family:Inter,ui-sans-serif,system-ui,sans-serif;display:block!important}@media print{html,body{width:210mm;min-height:297mm;background:#fff!important;margin:0!important}body .app-shell{display:none!important}body .print-document{visibility:visible!important;width:210mm!important;min-height:297mm!important;display:block!important}}
