:root{color:#242321;font-synthesis:none;text-rendering:optimizelegibility;--accent:#2467d6;--accent-strong:#174fae;--accent-soft:#e7effd;--ink:#242321;--muted:#6e6b65;--line:#d8d5ce;--panel:#f5f4f1;--paper:#fff;--danger:#b5413d;--focus-ring:0 0 0 3px #2467d638;--score-inline-padding:clamp(1.75rem, 3.67vw, 3.67rem);background:#e8e7e3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow:hidden}button,input{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent}.welcome{place-content:center;min-height:100vh;padding:3rem;display:grid}.welcome h1{letter-spacing:-.045em;max-width:15ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,8vw,7rem);font-weight:500;line-height:.95}.welcome p:last-child{color:#676057;font-size:1.1rem}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:2rem;font-size:.75rem;font-weight:700}.editor{background:#e8e7e3;grid-template-columns:17.5rem minmax(0,1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.editor__instrument-panel{z-index:2;background:var(--panel);scrollbar-color:#bdb9b0 transparent;scrollbar-width:thin;border-right:1px solid #cbc8c1;min-width:0;height:100%;position:relative;overflow:hidden auto;box-shadow:2px 0 12px #26241f12}.instrument-panel{flex-direction:column;min-height:100%;padding:1.2rem .85rem 1rem;display:flex}.instrument-panel__mobile-header{display:none}.instrument-panel__content{flex-direction:column;flex:1;min-height:0;display:flex}.instrument-panel:before{color:#292824;content:"Arrange";letter-spacing:-.035em;margin:0 .55rem 1rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:600;display:block}.instrument-panel nav{min-width:0}.instrument-panel__list{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.instrument-panel__item{color:#403e39;border:1px solid #0000;border-radius:.55rem;grid-template-columns:minmax(0,1fr) auto 1.75rem;align-items:center;min-height:2.65rem;transition:border-color .13s,background-color .13s,color .13s;display:grid;position:relative;overflow:hidden}.instrument-panel__item:before{content:"";background:0 0;border-radius:0 3px 3px 0;width:3px;transition:background-color .13s;position:absolute;top:.48rem;bottom:.48rem;left:0}.instrument-panel__item:hover{color:var(--ink);background:#eceae5}.instrument-panel__item.is-selected{background:var(--accent-soft);color:#153d7e;border-color:#cbd9f2}.instrument-panel__item.is-selected:before{background:var(--accent)}.instrument-panel__selection,.instrument-panel__transposition,.instrument-panel__remove{cursor:pointer;background:0 0;border:0;min-width:0}.instrument-panel__selection{text-align:left;text-overflow:ellipsis;white-space:nowrap;align-self:stretch;padding:.68rem .35rem .68rem .75rem;overflow:hidden}.instrument-panel__item.is-selected .instrument-panel__selection{font-weight:650}.instrument-panel__director{border-bottom-color:#ddd9d2;border-radius:.55rem;grid-template-columns:1fr;margin-bottom:.35rem}.instrument-panel__director .instrument-panel__selection{font-family:Georgia,Times New Roman,serif;font-size:1.05rem}.instrument-panel__transposition{color:#6a6760;letter-spacing:.035em;border-radius:.35rem;min-width:2.35rem;margin:.35rem 0;padding:.28rem .4rem;font-size:.72rem;font-weight:700;line-height:1.2}.instrument-panel__transposition:hover{color:var(--accent-strong);background:#ffffffc7}.instrument-panel__remove{color:#0000;opacity:.42;width:1.75rem;height:2.25rem;padding:0;position:relative;overflow:hidden}.instrument-panel__remove:before,.instrument-panel__remove:after{content:"";background:#625f59;border-radius:1px;width:.8rem;height:1px;position:absolute;top:50%;left:50%}.instrument-panel__remove:before{transform:translate(-50%,-50%)rotate(45deg)}.instrument-panel__remove:after{transform:translate(-50%,-50%)rotate(-45deg)}.instrument-panel__item:hover .instrument-panel__remove,.instrument-panel__remove:focus-visible{opacity:.82}.instrument-panel__remove:hover{opacity:1;background:#f8dddd}.instrument-panel__remove:hover:before,.instrument-panel__remove:hover:after{background:var(--danger)}.instrument-panel__selection:focus-visible,.instrument-panel__transposition:focus-visible,.instrument-panel__remove:focus-visible,.instrument-panel__add input:focus-visible,.instrument-panel__add button:focus-visible{z-index:1;outline:2px solid var(--accent);outline-offset:-2px;box-shadow:var(--focus-ring)}.instrument-panel__add{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 4.5rem;gap:.38rem .5rem;margin-top:auto;padding:1.15rem .55rem .1rem;display:grid}.instrument-panel__add h2{color:#4a4843;letter-spacing:.085em;text-transform:uppercase;grid-column:1/-1;margin:0 0 .25rem;font-size:.73rem;font-weight:750}.instrument-panel__add label{color:#6c6861;font-size:.68rem;font-weight:650}.instrument-panel__add label[for=new-instrument-name]{grid-area:2/1}.instrument-panel__add label[for=new-instrument-transposition-key]{grid-area:2/2}.instrument-panel__add input{background:#fff;border:1px solid #c8c4bc;border-radius:.42rem;outline:none;min-width:0;height:2.2rem;padding:.42rem .58rem;font-size:.8rem;transition:border-color .13s,box-shadow .13s}.instrument-panel__add input[name=name]{grid-area:3/1}.instrument-panel__add input[name=transpositionKey]{grid-area:3/2}.instrument-panel__add input:hover{border-color:#a9a49a}.instrument-panel__add input:focus{border-color:var(--accent)}.instrument-panel__add button[type=submit]{border:1px solid var(--accent-strong);background:var(--accent);color:#fff;cursor:pointer;border-radius:.42rem;grid-area:4/1/auto/-1;height:2.15rem;margin-top:.08rem;font-size:.79rem;font-weight:700;transition:background-color .13s,transform 80ms}.instrument-panel__add button[type=submit]:hover{background:var(--accent-strong)}.instrument-panel__add button[type=submit]:active{transform:translateY(1px)}.editor__score-area{overflow-anchor:none;scrollbar-color:#aaa69d transparent;scrollbar-width:thin;background:radial-gradient(circle at 50% 0,#ffffff6b,#0000 42rem),#e8e7e3;min-width:0;height:100%;padding:.5rem clamp(1.5rem,4vw,3.5rem) clamp(1.5rem,4vw,3.5rem);position:relative;overflow:auto}.editor__save-error{z-index:5;color:#7e2925;background:#fff0ef;border:1px solid #d99a96;border-radius:.5rem;max-width:30rem;margin:0;padding:.8rem 1rem;font-size:.82rem;line-height:1.4;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 6px 24px #4b181524}.score-layout-control{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f4f1f0;border:1px solid #c9c5bc;border-radius:.55rem;gap:.15rem;width:max-content;margin:0 auto .75rem;padding:.2rem;display:flex;position:sticky;top:0;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #2927231a}.score-layout-control button{color:#5f5b54;cursor:pointer;background:0 0;border:0;border-radius:.38rem;padding:.38rem .7rem;font-size:.75rem;font-weight:650}.score-layout-control button[aria-pressed=true]{background:var(--accent);color:#fff}.score-layout-control button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.score{overflow-anchor:none;min-width:48rem;margin:0 auto}.score--continuous,.score-page{background:var(--paper);border:1px solid #d4d0c7;box-shadow:0 1px 2px #2927231a,0 16px 42px #29272321}.score--continuous{width:100%;min-height:calc(100vh - clamp(3rem,8vw,7rem));padding:clamp(2.75rem, 5vw, 5rem) var(--score-inline-padding)}.score--a4{gap:2rem;width:49.625rem;display:grid}.score-page{width:49.625rem;min-height:70.125rem;padding:3.5rem var(--score-inline-padding)}.score-part{color:#151515;position:relative}.score-part+.score-part{margin-top:0}.score-part__title{z-index:1;pointer-events:none;white-space:nowrap;margin:0;font-size:.75rem;font-weight:400;line-height:1;position:absolute;top:calc(.15rem - .5em);left:3rem}.score-staff+.score-staff{margin-top:0}.score-staff__notation{color:#181818;shape-rendering:geometricprecision;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:auto;font-family:Bravura Text,Noto Music,Segoe UI Symbol,Apple Symbols,Georgia,serif;display:block;overflow:visible}.score-staff__line,.score-barline,.score-system__connector,.score-note__ledger-line,.score-note__stem{vector-effect:non-scaling-stroke}.score-system+.score-system{margin-top:1rem}.score-measure__number{fill:#8a867f;font-variant-numeric:tabular-nums;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:600}.score-key-signature{pointer-events:none}.score-measure--placeholder .score-measure__number,.score-measure--placeholder .score-rest{opacity:.44}.score-measure--placeholder .score-barline{opacity:.65}.score-measure__incomplete-tail{fill:#d233331a;pointer-events:none}.score-rest{cursor:pointer;color:#363532;fill:currentColor;transition:color .1s}.score-rest--hovered,.score-rest--selected{color:var(--accent-strong)}.score-rest__extra-flag,.score-rest__dot{vector-effect:non-scaling-stroke}.score-rest__remainder{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:700}.score-position-hover{fill:#2467d612;pointer-events:none}.score-position-hover--final{fill:#2467d61f}.score-note{cursor:pointer;transition:color .1s}.score-note--hovered{color:var(--accent-strong)}.score-note--selected{color:#123f8f}.score-note__selection{fill:#2467d61f;stroke:#2467d6;stroke-width:2.25px;filter:drop-shadow(0 0 2px #1f63d757);vector-effect:non-scaling-stroke}.score-note__strong-tie{color:#363532;vector-effect:non-scaling-stroke}.score-insert-cursor{filter:drop-shadow(0 0 2px #1f63d76b);vector-effect:non-scaling-stroke}.score-selection-marquee{z-index:10;pointer-events:none;background:#2467d617;border:2px solid #2467d6d1;position:fixed;box-shadow:inset 0 0 0 1px #ffffff5c}@media (width<=760px){body{overflow:auto}.editor{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:auto;min-height:100dvh;overflow:visible}.editor__instrument-panel{z-index:3;border-bottom:1px solid #c7c3bb;border-right:0;height:auto;max-height:min(72vh,40rem);position:sticky;top:0;box-shadow:0 3px 14px #26241f1a}.instrument-panel{min-height:auto;padding:0}.instrument-panel:before{display:none}.instrument-panel__mobile-header{z-index:2;background:var(--panel);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:3.45rem;padding:.55rem .7rem;display:grid;position:sticky;top:0}.instrument-panel__mobile-brand{color:#292824;letter-spacing:-.035em;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:600}.instrument-panel__current-view{color:#403e39;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;overflow:hidden}.instrument-panel__current-view-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-right:.45rem;font-size:.68rem;font-weight:700}.instrument-panel__toggle{cursor:pointer;background:#fff;border:1px solid #c8c4bc;border-radius:.48rem;width:2.25rem;height:2.25rem;padding:0;position:relative}.instrument-panel__toggle span:before,.instrument-panel__toggle span:after{content:"";background:#4e4b45;border-radius:2px;width:.55rem;height:2px;transition:transform .13s;position:absolute;top:50%}.instrument-panel__toggle span:before{left:calc(50% - .45rem);transform:translateY(-50%)rotate(40deg)}.instrument-panel__toggle span:after{right:calc(50% - .45rem);transform:translateY(-50%)rotate(-40deg)}.instrument-panel.is-open .instrument-panel__toggle span:before{transform:translateY(-50%)rotate(-40deg)}.instrument-panel.is-open .instrument-panel__toggle span:after{transform:translateY(-50%)rotate(40deg)}.instrument-panel__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--focus-ring)}.instrument-panel__content{padding:0 .7rem .7rem;display:none}.instrument-panel.is-open .instrument-panel__content{display:flex}.instrument-panel__list{grid-template-columns:repeat(2,minmax(0,1fr))}.instrument-panel__director{grid-column:1/-1;margin-bottom:.1rem}.instrument-panel__item{min-height:2.35rem}.instrument-panel__selection{padding-top:.55rem;padding-bottom:.55rem;font-size:.82rem}.instrument-panel__add{margin-top:.65rem;padding:.75rem .35rem 0}.editor__score-area{--score-inline-padding:1.25rem;height:auto;min-height:calc(100dvh - 3.45rem);padding:.75rem}.score,.score--continuous{min-width:34rem}.score--continuous{min-height:calc(100dvh - 6.5rem);padding-block:1.75rem;padding-inline:var(--score-inline-padding)}}@media (width<=440px){.instrument-panel__list{grid-template-columns:1fr}.editor__score-area{--score-inline-padding:1rem;padding:.5rem}.score,.score--continuous{min-width:32rem}.score--continuous{padding-block:1.5rem;padding-inline:var(--score-inline-padding)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@page{size:A4;margin:0}@media print{body{background:#fff;overflow:visible}.editor{background:#fff;height:auto;display:block;overflow:visible}.editor__instrument-panel,.score-layout-control,.editor__save-error,.score-position-hover,.score-measure__incomplete-tail,.score-insert-cursor,.score-note__selection,.score-selection-marquee{display:none}.score-note,.score-note--selected,.score-rest,.score-rest--selected{color:#151515;filter:none}.editor__score-area{background:#fff;height:auto;padding:0;overflow:visible}.score{width:100%;min-width:0;margin:0}.score--a4{width:210mm;display:block}.score--continuous{width:100%;min-height:0;box-shadow:none;border:0;padding:0}.score-page{width:210mm;min-height:297mm;box-shadow:none;break-after:page;page-break-after:always;border:0;padding:15mm 13mm}.score-page:last-child{break-after:auto;page-break-after:auto}}.score-staff{touch-action:manipulation;-webkit-user-select:none;user-select:none}.score-canvas-surface{z-index:2;pointer-events:none;position:fixed}.score-renderer-notice{z-index:3;background:#f5f4f1;border-radius:.3rem;width:fit-content;padding:.4rem .65rem;font-size:.75rem;position:sticky;bottom:0;left:0}@media print{.score-canvas-surface,.score-renderer-notice{display:none}}.score-rendering-control{border-top:1px solid var(--line);color:var(--muted);gap:.4rem;margin-top:1.25rem;padding-top:1rem;font-size:.75rem;font-weight:600;display:grid}.score-rendering-control select{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);font:inherit;cursor:pointer;border-radius:.4rem;padding:.55rem}.score-rendering-control select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
