pepperscore 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -2,5 +2,5 @@
2
2
  @import "@fontsource/poppins/500.css";
3
3
  @import "@fontsource/poppins/600.css";
4
4
  @import "@fontsource/poppins/700.css";
5
- .pepperscore{isolation:isolate;color:#242824;font-synthesis:none;text-align:left;background:#fff;outline:none;flex-direction:column;font-family:Poppins,Arial,sans-serif;line-height:normal;display:flex;position:relative;overflow:hidden;container:pepperscore/inline-size}.pepperscore:focus-visible,.pepperscore .mixer-panel:focus-visible,.pepperscore .instrument-picker-panel:focus-visible,.pepperscore .open-dialog:focus-visible{outline-offset:-2px;outline:2px solid #8fb89a}.pepperscore .bpm-control input:focus-visible{outline-offset:2px;outline:2px solid #8fb89a}.pepperscore[data-ps-height=auto]{height:100%;min-height:480px}.pepperscore[data-ps-height=fill]{height:100%}.pepperscore[data-ps-height=natural]{height:auto}.pepperscore .app-shell{flex:auto;min-height:0}.pepperscore[data-ps-height=natural] .score-viewport{flex:none;height:auto}.pepperscore :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dd,figure,blockquote,hr,fieldset,legend,button,input,select,option,textarea,img,label,output,small,strong,a,table){all:revert}.pepperscore :where(svg){vertical-align:baseline;display:inline}.pepperscore :where([hidden]){display:none}.pepperscore,.pepperscore *{box-sizing:border-box}.pepperscore button,.pepperscore input,.pepperscore textarea,.pepperscore select{font:inherit}.pepperscore button{cursor:pointer}.pepperscore button:disabled{cursor:wait;opacity:.65}.pepperscore .app-shell{padding-bottom:67px;overflow:hidden}.pepperscore .topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf8f0;border-bottom:1px solid #e9e8e4;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 5.3%;display:grid;position:sticky;top:0}.pepperscore .brand{letter-spacing:-.065em;align-items:center;gap:11px;font-size:20px;font-weight:700;display:flex}.pepperscore .brand-mark{color:#486b51;place-items:center;width:29px;height:33px;font-family:Georgia,serif;font-size:31px;font-weight:400;display:grid}.pepperscore .transport{align-items:center;gap:13px;display:flex}.pepperscore .icon-button{color:#657069;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.pepperscore .icon-button:hover,.pepperscore .page-controls button:hover{background:#eeefe9}.pepperscore .play-button{color:#fff;background:#345642;border:0;border-radius:10px;align-items:center;gap:9px;padding:10px 19px;font-size:13px;font-weight:700;display:flex;box-shadow:0 3px 8px #34564224}.pepperscore .play-button:hover{background:#254633}.pepperscore .bpm-control{color:#8c948d;letter-spacing:.1em;align-items:center;gap:8px;margin-left:10px;font-size:10px;font-weight:700;display:flex}.pepperscore .bpm-control input{text-align:center;color:#303c32;appearance:textfield;background:0 0;border:0;border-bottom:1px solid #c9d0c8;outline:none;width:47px;padding:4px 0;font-size:14px;font-weight:700}.pepperscore .bpm-control input::-webkit-inner-spin-button{appearance:none}.pepperscore .top-actions{justify-self:end}.pepperscore .key-hint,.pepperscore .ps-eyebrow{letter-spacing:.18em;color:#879289;font-size:10px;font-weight:700}.pepperscore .mobile-menu{display:none}.pepperscore .reader-head{justify-content:space-between;align-items:flex-end;gap:20px;max-width:1340px;height:165px;margin:auto;padding:37px 56px 22px;display:flex}.pepperscore .reader-head h1{letter-spacing:-.035em;margin:9px 0 5px;font-family:Newsreader,Georgia,serif;font-size:39px;font-weight:400;line-height:1.08}.pepperscore .reader-head p{color:#8f9790;margin:0;font-size:12px}.pepperscore .mode-toggle{background:#f0f0ec;border:1px solid #e5e7e1;border-radius:10px;flex-shrink:0;padding:3px;display:flex}.pepperscore .mode-toggle button{color:#869087;background:0 0;border:0;border-radius:7px;padding:9px 14px;font-size:11px;font-weight:700}.pepperscore .mode-toggle button.is-selected{color:#345642;background:#fff;box-shadow:0 1px 5px #253b2e16}.pepperscore .reader-area{max-width:1260px;margin:0 auto;padding:0 38px;position:relative}.pepperscore .score-viewport{scrollbar-width:thin;scrollbar-color:#d8ddd6 transparent;background:#fff;border:1px solid #e9e9e4;border-radius:15px;min-height:390px;position:relative;overflow:auto;box-shadow:0 12px 46px #5966570a}.pepperscore .score-content{min-height:100%;padding:35px 12px 70px;position:relative}.pepperscore .ps-portrait .score-content{width:100%}.pepperscore .ps-landscape .score-content{align-items:flex-start;width:max-content;min-width:100%;padding:90px 44px;display:flex}.pepperscore .score-system{flex:none;position:relative}.pepperscore .score-system svg{display:block;overflow:visible}.pepperscore .score-system svg .reader-note{transition:filter .12s}.pepperscore .score-system svg .reader-note.is-playing{filter:drop-shadow(0 0 4px #e6aa4f);stroke:#b87218;fill:#b87218}.pepperscore .score-system svg .ps-cursor{filter:drop-shadow(0 0 3px var(--ps-cursor,#2f6fed));stroke:var(--ps-cursor,#2f6fed);fill:var(--ps-cursor,#2f6fed)}.pepperscore .score-system svg .ps-selection{stroke:var(--ps-selection,#2f6a9a);fill:var(--ps-selection,#2f6a9a)}.pepperscore .score-system svg .ps-transposed{stroke:var(--ps-transposed,#d9741c);fill:var(--ps-transposed,#d9741c)}.pepperscore .score-system svg .ps-highlight-layer{pointer-events:none}.pepperscore .score-system svg .ps-measure-highlight{fill:none;stroke:var(--ps-cursor,#2f6fed);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.pepperscore[data-ps-clickable] .score-system svg .reader-note,.pepperscore[data-ps-clickable] .score-system svg .measure{cursor:pointer}.pepperscore .annotation{letter-spacing:.02em;pointer-events:none;font-family:Poppins,Arial,sans-serif}.pepperscore .note-label{font-size:calc(15px * var(--ps-note-name-scale,1));fill:#617262;font-weight:600}.pepperscore .count-label{font-size:calc(13px * var(--ps-count-scale,1));fill:#8a978c}.pepperscore .playback-line{pointer-events:none;z-index:2;background:#cd9743;border-radius:2px;width:2px;transition:left 60ms linear;position:absolute;top:9px;bottom:20px;box-shadow:0 0 0 3px #cd97432b}.pepperscore .part-controls{z-index:4;position:absolute;top:35px;left:5px}.pepperscore .ps-landscape .part-controls{top:90px;left:47px}.pepperscore .part-control{justify-content:center;align-items:center;width:40px;height:36px;display:flex;position:absolute;left:0}.pepperscore .part-icon{color:#597660;font-family:Georgia,serif;font-size:19px}.pepperscore .part-control:hover{background:#f3f5ef;border-radius:8px}.pepperscore .edge-fade{z-index:5;pointer-events:none;position:absolute}.pepperscore .ps-portrait .edge-fade{height:25px;left:39px;right:39px}.pepperscore .ps-portrait .edge-start{background:linear-gradient(#fff,#0000);top:1px}.pepperscore .ps-portrait .edge-end{background:linear-gradient(#0000,#fff);bottom:47px}.pepperscore .ps-landscape .edge-fade{width:30px;top:1px;bottom:47px}.pepperscore .ps-landscape .edge-start{background:linear-gradient(90deg,#fff,#0000);left:39px}.pepperscore .ps-landscape .edge-end{background:linear-gradient(90deg,#0000,#fff);right:39px}.pepperscore .page-controls{color:#9ba49b;letter-spacing:.18em;justify-content:center;align-items:center;gap:18px;height:46px;font-size:10px;font-weight:700;display:flex}.pepperscore .page-controls button{color:#607565;background:0 0;border:1px solid #dfe5dc;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.pepperscore .drawer-handle{z-index:31;color:#4d6353;background:#fff;border:1px solid #e2e8e0;border-bottom:0;border-radius:13px 13px 0 0;justify-content:center;align-items:center;gap:12px;width:220px;height:47px;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -5px 25px #61706416}.pepperscore .handle-grip{background:#b6c4b6;border-radius:2px;width:24px;height:3px}.pepperscore .drawer-handle svg{transition:transform .2s}.pepperscore .drawer-handle.is-open svg{transform:rotate(180deg)}.pepperscore .drawer-backdrop{z-index:29;background:#18231b45;position:absolute;inset:0}.pepperscore .bottom-drawer{z-index:30;background:#fafbf8;border-radius:22px 22px 0 0;width:100%;max-height:min(82%,780px);padding:27px max(5.3%,50cqw - 665px) 24px;transition:transform .28s;position:absolute;bottom:0;left:0;overflow:auto;transform:translateY(105%);box-shadow:0 -20px 70px #1d2b2060}.pepperscore .bottom-drawer.is-open{transform:translateY(0)}.pepperscore .drawer-handle.is-open{opacity:0;pointer-events:none;bottom:min(82%,780px)}.pepperscore .drawer-top{justify-content:space-between;align-items:start;margin-bottom:23px;display:flex}.pepperscore .drawer-top h2{margin:7px 0 0;font-family:Newsreader,Georgia,serif;font-size:29px;font-weight:400}.pepperscore .drawer-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,272px),1fr));gap:15px;display:grid}.pepperscore .drawer-panel{background:#fff;border:1px solid #e5eae2;border-radius:14px;min-width:0;padding:21px}.pepperscore .drawer-panel h3{color:#344c38;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.pepperscore .drawer-panel h3 svg{color:#6b8a6e}.pepperscore .drawer-panel p{color:#8a948a;margin:0 0 19px;font-size:12px;line-height:1.55}.pepperscore .primary-action{color:#fff;background:#365c42;border:0;border-radius:8px;align-items:center;gap:9px;height:37px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex}.pepperscore .primary-action:hover{background:#284c34}.pepperscore .text-action{color:#61806a;background:0 0;border:0;align-items:center;gap:7px;margin-top:15px;padding:2px;font-size:11px;font-weight:700;display:flex}.pepperscore .field-label{color:#536055;justify-content:space-between;margin:22px 0 5px;font-size:11px;font-weight:700;display:flex}.pepperscore .field-label span{color:#87968a;font-weight:500}.pepperscore .ps-range{accent-color:#5f8068;width:100%;height:4px}.pepperscore .ps-switch-row{color:#5d6b61;border-top:1px solid #f0f2ee;justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;display:flex}.pepperscore .ps-switch{background:#d9dfd8;border:0;border-radius:15px;width:29px;height:17px;padding:2px;position:relative}.pepperscore .ps-switch:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px}.pepperscore .ps-switch.is-on{background:#5d8164}.pepperscore .ps-switch.is-on:after{transform:translate(12px)}.pepperscore .abc-panel textarea{resize:vertical;color:#48594b;background:#fdfefc;border:1px solid #e6ebe4;border-radius:8px;outline-color:#7d9c80;width:100%;height:104px;padding:9px 11px;font-family:monospace;font-size:10px;line-height:1.5}.pepperscore .abc-panel .primary-action{margin-top:9px}.pepperscore .drawer-foot{color:#a0aaa0;letter-spacing:.05em;justify-content:space-between;margin-top:20px;font-size:10px;display:flex}.pepperscore .ps-error,.pepperscore .ps-toast{color:#9a482d;background:#fff3ee;border:1px solid #e9c7bb;border-radius:8px;padding:10px 12px;font-size:12px}.pepperscore .ps-error{margin-top:13px}.pepperscore .ps-toast{z-index:50;align-items:center;gap:15px;display:flex;position:absolute;bottom:65px;right:20px}.pepperscore .ps-toast button{color:inherit;background:0 0;border:0;place-items:center;display:grid}.pepperscore .playback-notice{z-index:50;color:#46604d;background:#f2f6f0;border:1px solid #cddbcc;border-radius:8px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:65px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #34564218}.pepperscore .playback-notice-icon{flex:none}.pepperscore .playback-notice button{color:inherit;background:0 0;border:0;flex:none;place-items:center;display:grid}@container pepperscore (width<=850px){.pepperscore .topbar{padding:0 22px}.pepperscore .key-hint{display:none}.pepperscore .mobile-menu{display:grid}.pepperscore .reader-head{padding:30px 26px 20px}.pepperscore .reader-area{padding:0 16px}.pepperscore .ps-portrait .edge-fade{left:17px;right:17px}.pepperscore .ps-landscape .edge-start{left:17px}.pepperscore .ps-landscape .edge-end{right:17px}.pepperscore .bottom-drawer{padding:26px 24px}}@container pepperscore (width<=580px){.pepperscore .topbar{grid-template-columns:1fr auto auto;gap:10px;height:64px;padding:0 14px}.pepperscore .brand{font-size:17px}.pepperscore .brand-mark{width:23px;font-size:25px}.pepperscore .transport{gap:3px}.pepperscore .transport .reset{display:none}.pepperscore .bpm-control{gap:3px;margin-left:4px}.pepperscore .bpm-control input{width:34px}.pepperscore .reader-head{height:auto;min-height:150px;padding:26px 19px 15px;display:block}.pepperscore .reader-head h1{font-size:31px}.pepperscore .mode-toggle{width:max-content;margin-top:17px}.pepperscore .reader-area{padding:0 7px}.pepperscore .score-viewport{min-height:330px}.pepperscore .ps-portrait .edge-fade{left:8px;right:8px}.pepperscore .ps-landscape .edge-start{left:8px}.pepperscore .ps-landscape .edge-end{right:8px}.pepperscore .drawer-foot span{display:none}.pepperscore .bottom-drawer{padding:20px}.pepperscore .page-controls{font-size:9px}}@media (pointer:coarse){.pepperscore .score-viewport{touch-action:none}}.pepperscore .ps-landscape .part-controls{left:5px}.pepperscore .topbar{justify-content:center;height:54px;padding:0 12px;display:flex}.pepperscore .transport{gap:9px}.pepperscore .reader-head{max-width:none;height:126px;padding:21px 22px 15px}.pepperscore .reader-head h1{margin:6px 0 3px;font-size:32px}.pepperscore .reader-area.ps-portrait{max-width:none;padding:0 10px}.pepperscore .ps-portrait .score-content{padding:24px 4px 70px}.pepperscore .ps-portrait .part-controls{top:24px;left:4px}.pepperscore .drawer-handle{width:184px;left:10px;transform:none}@container pepperscore (width<=580px){.pepperscore .topbar{height:50px;padding:0 10px}.pepperscore .transport .stop-button{display:grid}.pepperscore .reader-head{height:auto;min-height:0;padding:17px 14px 12px}.pepperscore .reader-head h1{font-size:27px}.pepperscore .reader-area.ps-portrait{padding:0 6px}.pepperscore .ps-portrait .edge-fade{left:7px;right:7px}.pepperscore .score-viewport{min-height:330px}.pepperscore .drawer-handle{width:178px;left:6px}.pepperscore .page-controls{justify-content:flex-end;gap:8px;padding-right:8px}.pepperscore .page-controls span{display:none}}.pepperscore .score-content{display:block}.pepperscore .score-stage,.pepperscore .score-staves{width:100%;position:relative}.pepperscore .score-meta{text-align:center;padding:0 30px 18px}.pepperscore .score-meta h1{letter-spacing:-.025em;margin:0 0 4px;font-family:Newsreader,Georgia,serif;font-size:30px;font-weight:400;line-height:1.12}.pepperscore .score-meta p{color:#6f776f;margin:3px 0;font-size:12px;line-height:1.45}.pepperscore .score-meta .score-subtitle{color:#4f5850;font-family:Newsreader,Georgia,serif;font-size:18px}.pepperscore .score-meta .score-credit{color:#8b948c;font-size:10px}.pepperscore .ps-portrait .part-controls,.pepperscore .ps-landscape .part-controls{top:0;left:0}.pepperscore .ps-landscape .score-content{width:max-content;min-width:100%;padding:25px 44px 70px;display:block}.pepperscore .ps-landscape .score-stage,.pepperscore .ps-landscape .score-staves{width:max-content}.pepperscore .ps-landscape .score-staves{align-items:flex-start;display:flex}.pepperscore .ps-landscape .score-meta{width:min(900px,100cqw - 120px);min-height:0}@container pepperscore (width<=580px){.pepperscore .score-meta h1{font-size:24px}.pepperscore .score-meta .score-subtitle{font-size:16px}}.pepperscore .topbar{background:#fffffff5}.pepperscore .reader-area,.pepperscore .reader-area.ps-portrait{max-width:none;margin:0;padding:0}.pepperscore .score-viewport{box-shadow:none;border:0;border-radius:0}.pepperscore .ps-portrait .edge-fade{left:0;right:0}.pepperscore .ps-landscape .edge-start{left:0}.pepperscore .ps-landscape .edge-end{right:0}.pepperscore .part-control{transform:translateY(-50%)}.pepperscore .part-icon{object-fit:contain;width:28px;height:28px;display:block}.pepperscore .font-choice{color:#5d6b61;justify-content:space-between;align-items:center;gap:8px;margin-top:17px;font-size:11px;display:flex}.pepperscore .font-toggle{background:#f5f7f3;border:1px solid #e5e9e3;border-radius:8px;gap:2px;padding:2px;display:flex}.pepperscore .font-toggle button{color:#718073;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:10px}.pepperscore .font-toggle button.is-selected{color:#345642;background:#fff;font-weight:700;box-shadow:0 1px 4px #253b2e18}.pepperscore .font-load-progress{z-index:6;pointer-events:none;width:100%;height:2px;margin-bottom:-2px;position:sticky;top:0;left:0;overflow:hidden}.pepperscore .score-content{transform-origin:50% 0;transition:opacity .34s ease-out,transform .5s cubic-bezier(.16,1,.3,1)}.pepperscore .ps-landscape .score-content{transform-origin:0}.pepperscore .score-content.is-painting{opacity:0;transition:opacity .16s ease-in,transform 0s linear .16s;transform:scale(1.06)}.pepperscore .score-loading{z-index:8;color:#738477;letter-spacing:.04em;pointer-events:none;justify-content:center;align-items:center;gap:11px;font-size:12px;display:flex;position:absolute;inset:0}.pepperscore .score-loading-spinner{border:2px solid #dfe8dd;border-top-color:#5d8164;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite ps-score-loading-spin}@keyframes ps-score-loading-spin{to{transform:rotate(360deg)}}.pepperscore .font-load-progress:before{content:"";background:#6f9576;width:30%;height:100%;animation:1.1s ease-in-out infinite ps-font-loading-sweep;display:block}@keyframes ps-font-loading-sweep{0%{transform:translate(-100%)}to{transform:translate(435%)}}@media (prefers-reduced-motion:reduce){.pepperscore .font-load-progress:before{opacity:.65;width:100%;animation:none}.pepperscore .score-content,.pepperscore .score-content.is-painting{transition:none;transform:none}.pepperscore .score-loading-spinner{animation:none}}.pepperscore .app-shell{flex-direction:column;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.pepperscore .topbar{z-index:20;flex:none;position:sticky;top:0}.pepperscore .reader-area,.pepperscore .reader-area.ps-portrait{flex-direction:column;flex:1;min-height:0;display:flex}.pepperscore .score-viewport{flex:1;height:auto;min-height:0}.pepperscore .page-controls{flex:none}.pepperscore .ps-portrait .score-content{flex-direction:column;justify-content:safe center;display:flex}.pepperscore .ps-landscape .score-content{flex-direction:column;justify-content:safe center;min-height:100%;padding-top:24px;padding-bottom:24px;display:flex}.pepperscore .drawer-backdrop{z-index:100}.pepperscore .bottom-drawer{z-index:102}.pepperscore .drawer-handle{z-index:103}.pepperscore .ps-landscape .score-content{grid-template-rows:minmax(min-content,1fr) auto minmax(0,1fr);align-items:start;display:grid}.pepperscore .ps-landscape .score-meta{grid-row:1;align-self:end}.pepperscore .ps-landscape .score-stage{grid-row:2}.pepperscore .ps-landscape .score-content:after{content:"";grid-row:3}.pepperscore .ps-landscape .score-content{height:100%;min-height:0}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-content{width:max(100%,var(--landscape-content-width,100%));height:100%;min-height:0;padding:0;display:block;position:relative}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-content:after{display:none}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-stage{top:calc(50% - var(--landscape-staff-center,70px));position:absolute;left:44px;transform:none}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta{left:44px;bottom:calc(50% + var(--landscape-staff-center,70px) - var(--landscape-meta-offset,35px));padding:0;position:absolute}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta h1{margin-bottom:0;font-size:22px;line-height:1.1}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta p{margin:0;font-size:10px}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-content:has(.chord-symbol) .score-meta{bottom:calc(50% + var(--landscape-staff-center,70px) - 8px)}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-meta{justify-content:center;align-items:baseline;gap:8px;display:flex}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-meta h1{white-space:nowrap;font-size:16px}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-meta p{white-space:nowrap;font-size:9px}@container pepperscore (width<=580px){.pepperscore .transport{align-items:center}.pepperscore .mode-toggle{margin-top:0}}.pepperscore .chord-symbol{font-size:calc(17px * var(--ps-chord-symbol-scale,1));fill:#465549;font-weight:600}.pepperscore .lyric-label{fill:#485449;font-size:11px}.pepperscore .lyric-phrase{font-size:15px}.pepperscore .header-bars-setting{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.pepperscore .header-bars-setting select{color:#345642;letter-spacing:0;background:#fff;border:1px solid #e5e9e3;border-radius:7px;min-width:70px;height:30px;padding:0 6px;font-size:11px}.pepperscore .header-bars-setting.is-disabled{opacity:.55}.pepperscore .header-bars-setting.is-disabled select{cursor:not-allowed}@container pepperscore (width<=580px){.pepperscore .header-bars-setting{letter-spacing:0;gap:3px}.pepperscore .header-bars-setting select{min-width:57px;height:28px;padding:0 3px}}.pepperscore .score-stage .part-controls{width:var(--control-gutter,128px)}.pepperscore .score-stage .part-control{width:calc(var(--control-gutter,128px) - 8px);justify-content:flex-start}.pepperscore .part-name{text-overflow:ellipsis;white-space:nowrap;color:#66766a;min-width:0;font-size:var(--part-font,11px);flex:1;line-height:1.2;overflow:hidden}.pepperscore .ps-portrait .score-system svg{overflow:hidden}.pepperscore .ps-portrait .score-system{contain:paint}.pepperscore .part-control{gap:4px}.pepperscore .instrument-control{width:calc(var(--part-icon,28px) + 4px);height:var(--part-control-height,30px);flex:none;place-items:center;display:grid;position:relative}.pepperscore .staff-eye{width:var(--part-eye,28px);height:var(--part-eye,28px);color:#69816c;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.pepperscore .staff-eye svg{width:calc(var(--part-eye,28px) * .62);height:calc(var(--part-eye,28px) * .62)}.pepperscore .staff-eye:hover,.pepperscore .hidden-staves button:hover{background:#edf3ec}.pepperscore .staff-eye:disabled{opacity:.35;cursor:default}.pepperscore .staff-focus.is-focused{color:#345642;background:#e3ede1}.pepperscore .mixer-visibility-button{width:32px;height:32px}.pepperscore .mixer-visibility-button[aria-pressed=false]{color:#a3ada4}.pepperscore .mixer-visibility-button:disabled{opacity:.35;cursor:default}.pepperscore .hidden-staves{flex-wrap:wrap;justify-content:center;gap:4px;margin:4px 0 10px;display:flex}.pepperscore .hidden-staves button{color:#738075;background:#fff;border:1px solid #e4e9e2;border-radius:6px;align-items:center;gap:4px;max-width:180px;padding:3px 6px;font-size:10px;display:flex}.pepperscore .hidden-staves img{width:16px;height:16px}.pepperscore .hidden-staves span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pepperscore .has-many-staves .score-viewport{touch-action:pan-x pan-y}.pepperscore .reset-staves{margin-top:12px}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape.has-many-staves .score-meta{top:3px;bottom:auto}.pepperscore .inference-row{color:#718073;border-top:0;padding-left:14px}.pepperscore .inference-row input{accent-color:#5d8164;width:14px;height:14px;margin:0}.pepperscore .playback-line{z-index:6;background:#c87925;width:2px;top:0;bottom:0;box-shadow:0 0 0 2px #fff9,0 0 8px #c8792580}.pepperscore .mixer-trigger{color:#486b51;flex:none;width:30px;height:30px}.pepperscore .mixer-backdrop{z-index:110;background:#17271b66;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pepperscore .mixer-panel{background:#fff;border:1px solid #e2e9e0;border-radius:16px;flex-direction:column;width:min(500px,100%);max-height:min(82%,720px);padding:18px 20px 20px;display:flex;overflow:hidden;box-shadow:0 18px 60px #15251a40}.pepperscore .mixer-heading,.pepperscore .mixer-heading>div{align-items:center;gap:9px;display:flex}.pepperscore .mixer-heading{color:#345642;justify-content:space-between}.pepperscore .mixer-heading h2{margin:0;font-size:17px;font-weight:650}.pepperscore .mixer-panel>p{color:#78867a;margin:3px 0 14px;font-size:12px}.pepperscore .mixer-tracks{scrollbar-width:thin;min-height:0;overflow-y:auto}.pepperscore .mixer-track{border-top:1px solid #edf0eb;grid-template-columns:28px minmax(0,1fr) 34px 142px;align-items:center;gap:9px;min-height:49px;padding:7px 2px;display:grid}.pepperscore .mixer-track img{width:24px;height:24px}.pepperscore .mixer-track-name{text-overflow:ellipsis;white-space:nowrap;color:#344439;font-size:12px;overflow:hidden}.pepperscore .mixer-track-name small{color:#88948a;font-size:10px;display:block}.pepperscore .mixer-track select{color:#345642;background:#fff;border:1px solid #dfe6dc;border-radius:7px;width:100%;height:32px;padding:0 6px;font-size:11px}.pepperscore .pitch-panel .pitch-options{flex-wrap:wrap;align-items:end;gap:30px;display:flex}.pepperscore .pitch-panel .pitch-label{color:#536055;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.pepperscore .semitone-control{align-items:center;gap:4px;display:flex}.pepperscore .semitone-control button{color:#3e6047;background:#fff;border:1px solid #dfe6dc;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.pepperscore .semitone-control button:disabled{opacity:.4;cursor:default}.pepperscore .semitone-control output{text-align:center;color:#345642;min-width:95px;font-size:12px;font-weight:700}.pepperscore .semitone-control .pitch-reset{margin-left:5px}.pepperscore .pitch-view{width:max-content}.pepperscore .pitch-view button{min-width:85px}.pepperscore .pitch-panel .pitch-hint{margin:11px 0 0;font-size:11px}.pepperscore .pitch-key-control{align-items:center;gap:6px;display:flex}.pepperscore .pitch-key-readout{text-align:center;color:#345642;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:72px;font-size:12px;font-weight:700}.pepperscore .pitch-key-flip{color:#3e6047;white-space:nowrap;background:#fff;border:1px solid #dfe6dc;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:96px;height:30px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .pitch-key-flip:not(.is-disabled):hover{background:#f2f7f1}@container pepperscore (width<=580px){.pepperscore .pitch-panel .pitch-options{gap:18px}.pepperscore .pitch-view button{min-width:75px}}.pepperscore .score-system svg text{font-family:var(--score-text-font,Poppins,Arial,sans-serif);font-size-adjust:.45}.pepperscore .score-system svg tspan[font-family]{font-size-adjust:none}.pepperscore .score-system svg .verse text{font-size-adjust:none;font-family:Times,Times New Roman,serif}.pepperscore .score-system svg text.annotation{font-family:var(--annotation-font,Poppins,Arial,sans-serif);font-size-adjust:none}.pepperscore .score-system svg[data-music-font=Petaluma][data-text-font=Sans]{--score-text-font:"Petaluma Script",Poppins,Arial,sans-serif;--annotation-font:"Petaluma Script",Poppins,Arial,sans-serif}.pepperscore .score-system svg[data-music-font=Petaluma] :is(.stem,.ledgerLines)>path{stroke-linecap:round}.pepperscore .instrument-control{color:#486b51;background:0 0;border:0;border-radius:7px;padding:0}.pepperscore .instrument-control:hover,.pepperscore .instrument-control:focus-visible{outline-offset:1px;background:#edf3ec;outline:2px solid #c8dcca}.pepperscore .instrument-control img{object-fit:contain;display:block}.pepperscore .header-open-file{color:#486b51;flex:none}.pepperscore .mixer-voice-button{color:#345642;text-align:left;background:#fff;border:1px solid #dfe6dc;border-radius:7px;justify-content:space-between;align-items:center;gap:4px;width:100%;min-height:32px;padding:3px 7px;font-size:11px;display:flex}.pepperscore .mixer-voice-button:hover{background:#f2f7f1}.pepperscore .mixer-volume{color:#78867a;grid-column:2/-1;align-items:center;gap:9px;font-size:11px;display:flex}.pepperscore .mixer-volume input{accent-color:#588366;flex:1;min-width:0}.pepperscore .mixer-volume output{text-align:right;color:#345642;font-variant-numeric:tabular-nums;min-width:34px}.pepperscore .instrument-picker-backdrop{z-index:120;background:#17271b66;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pepperscore .instrument-picker-panel{background:#fff;border:1px solid #e2e9e0;border-radius:16px;flex-direction:column;width:min(680px,100%);max-height:min(88%,760px);padding:19px;display:flex;overflow:hidden;box-shadow:0 18px 60px #15251a40}.pepperscore .instrument-picker-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.pepperscore .instrument-picker-heading h2{color:#345642;margin:0;font-size:17px}.pepperscore .instrument-picker-heading p{color:#78867a;margin:3px 0 0;font-size:12px}.pepperscore .instrument-picker-grid{scrollbar-width:thin;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:2px;display:grid;overflow:auto}.pepperscore .instrument-picker-grid button{color:#3c5040;text-align:center;background:#fff;border:1px solid #e5eae2;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:96px;padding:9px 5px;font-size:11px;line-height:1.2;display:flex}.pepperscore .instrument-picker-grid button:hover,.pepperscore .instrument-picker-grid button:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .instrument-picker-grid button.is-selected{background:#eaf3e9;border-color:#6c9875;box-shadow:inset 0 0 0 1px #6c9875}.pepperscore .instrument-picker-grid img{object-fit:contain;width:42px;height:42px}@container pepperscore (width<=580px){.pepperscore .instrument-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pepperscore .instrument-picker-grid button{min-height:80px;font-size:10px}.pepperscore .instrument-picker-grid img{width:32px;height:32px}}.pepperscore .instrument-family-filters{flex-wrap:wrap;gap:5px;margin:0 0 12px;display:flex}.pepperscore .instrument-family-filters button{color:#5b6d5e;white-space:nowrap;background:#fff;border:1px solid #dde7dc;border-radius:999px;padding:6px 9px;font-size:10px}.pepperscore .instrument-family-filters button:hover,.pepperscore .instrument-family-filters button:focus-visible{background:#f2f7f1}.pepperscore .instrument-family-filters button.is-selected{color:#345642;background:#eaf3e9;border-color:#6c9875;font-weight:700}.pepperscore .instrument-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.pepperscore .instrument-picker-pages{color:#718073;justify-content:center;align-items:center;gap:14px;padding-top:12px;font-size:11px;display:flex}.pepperscore .instrument-picker-pages button{color:#3e6047;background:#fff;border:1px solid #dfe6dc;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.pepperscore .instrument-picker-pages button:hover:not(:disabled){background:#edf3ec}.pepperscore .instrument-picker-pages button:disabled{opacity:.4;cursor:default}@container pepperscore (width<=580px){.pepperscore .instrument-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.pepperscore .instrument-picker-grid button{min-height:72px;padding:5px 2px;font-size:9px}.pepperscore .instrument-picker-grid img{width:28px;height:28px}.pepperscore .instrument-family-filters{gap:4px;margin-bottom:8px}.pepperscore .instrument-family-filters button{padding:5px 7px;font-size:9px}.pepperscore .instrument-picker-pages{padding-top:8px}}.pepperscore[data-ps-short] .instrument-picker-panel{max-height:calc(100% - 16px);padding:10px}.pepperscore[data-ps-short] .instrument-picker-heading{margin-bottom:7px}.pepperscore[data-ps-short] .instrument-family-filters{margin-bottom:6px}.pepperscore[data-ps-short] .instrument-picker-grid button{gap:2px;min-height:53px}.pepperscore[data-ps-short] .instrument-picker-grid img{width:23px;height:23px}.pepperscore[data-ps-short] .instrument-picker-pages{padding-top:5px}.pepperscore .score-stage .part-control{height:var(--part-control-height,36px)}.pepperscore .part-controls .part-icon{width:var(--part-icon,28px);height:var(--part-icon,28px)}.pepperscore .transport>.header-control{display:contents}.pepperscore .header-stave-scale{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-family:Poppins,Arial,sans-serif;font-size:10px;font-weight:700;display:flex}.pepperscore .header-stave-scale-input{accent-color:#5d8164;cursor:pointer;width:88px;height:18px;margin:0}.pepperscore .header-stave-scale-value{color:#345642;letter-spacing:0;text-align:right;font-variant-numeric:tabular-nums;min-width:36px;font-size:11px}.pepperscore .header-more,.pepperscore .header-secondary-panel,.pepperscore .header-secondary-panel>.header-control{display:contents}.pepperscore .header-more-toggle{color:#486b51;display:none}.pepperscore .header-more-toggle.is-open{background:#edf3ec}.pepperscore .mixer-trigger-label{display:none}@container pepperscore (width<=1140px){.pepperscore .header-stave-scale-label,.pepperscore .bpm-control span,.pepperscore .header-bars-setting>span{display:none}.pepperscore .bpm-control{margin-left:0}.pepperscore .header-stave-scale-input{width:64px}}@container pepperscore (width<=900px){.pepperscore .header-stave-scale-input{width:56px}}@container pepperscore (width<=640px){.pepperscore .header-stave-scale-input{width:44px}.pepperscore .topbar .header-bars-setting select{min-width:58px}}.pepperscore .header-transpose{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.pepperscore .header-transpose-controls{align-items:center;gap:3px;display:flex}.pepperscore .header-transpose-controls button,.pepperscore .header-key-flip-button{color:#3e6047;background:#fff;border:1px solid #dfe6dc;border-radius:7px;justify-content:center;align-items:center;height:30px;padding:0;display:inline-flex}.pepperscore .header-transpose-controls button{flex:none;width:30px}.pepperscore .header-transpose-controls button:disabled{opacity:.4;cursor:default}.pepperscore .header-transpose-readout{text-align:center;white-space:nowrap;color:#345642;letter-spacing:0;font-variant-numeric:tabular-nums;flex:none;width:66px;font-size:11px;font-weight:700;overflow:hidden}.pepperscore .header-transpose-label,.pepperscore .header-key-flip-caption,.pepperscore .header-tab-view-caption{display:none}.pepperscore .header-key-flip{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.pepperscore .header-key-flip-button{white-space:nowrap;color:#345642;letter-spacing:0;font-variant-numeric:tabular-nums;flex:none;gap:4px;width:84px;font-size:11px;font-weight:700;overflow:hidden}.pepperscore .header-key-flip-icon,.pepperscore .pitch-key-flip-icon{font-size:14px;line-height:1}.pepperscore .header-key-flip-button.is-disabled,.pepperscore .pitch-key-flip.is-disabled{opacity:.45;cursor:default}.pepperscore .header-transpose-controls button:not(:disabled):hover,.pepperscore .header-key-flip-button:not(.is-disabled):hover{background:#f2f7f1}@container pepperscore (width<=1140px){.pepperscore .header-key-flip-label{display:none}.pepperscore .header-key-flip-button{width:30px}}@container pepperscore (width<=900px){.pepperscore .header-transpose-readout{width:58px;font-size:10px}.pepperscore .header-transpose-controls button{width:28px}}@container pepperscore (width<=760px){.pepperscore .header-more{display:flex}.pepperscore .topbar .header-more-toggle{display:grid}.pepperscore .header-secondary-panel{z-index:40;background:#fff;border:1px solid #e2e9e0;border-radius:12px;flex-direction:column;gap:4px;width:min(340px,100cqw - 16px);padding:10px 12px;font-family:Poppins,Arial,sans-serif;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 12px 36px #15251a2e}.pepperscore .header-more[data-open=true] .header-secondary-panel{display:flex}.pepperscore .header-secondary-panel>.header-control{border-top:1px solid #f0f2ee;justify-content:space-between;align-items:center;min-height:40px;padding:2px 0;display:flex}.pepperscore .header-secondary-panel>.header-control:first-child{border-top:0}.pepperscore .header-secondary-panel .bpm-control{justify-content:space-between;width:100%;margin-left:0}.pepperscore .header-secondary-panel .bpm-control span,.pepperscore .header-secondary-panel .header-stave-scale-label,.pepperscore .header-secondary-panel .header-bars-setting>span{display:inline}.pepperscore .header-secondary-panel .header-bars-setting,.pepperscore .header-secondary-panel .header-stave-scale{justify-content:space-between;width:100%}.pepperscore .header-secondary-panel .header-bars-setting select{min-width:57px}.pepperscore .header-secondary-panel .header-stave-scale-input{flex:1;width:auto;min-width:0}.pepperscore .header-secondary-panel .mixer-trigger{align-items:center;gap:8px;width:auto;height:34px;padding:0 8px;font-size:11px;font-weight:700;display:flex}.pepperscore .header-secondary-panel .mixer-trigger-label{display:inline}.pepperscore .header-secondary-panel .header-control-mixer{justify-content:flex-start}.pepperscore .header-secondary-panel .header-transpose,.pepperscore .header-secondary-panel .header-key-flip{justify-content:space-between;width:100%}.pepperscore .header-secondary-panel .header-transpose-label,.pepperscore .header-secondary-panel .header-key-flip-caption,.pepperscore .header-secondary-panel .header-tab-view-caption{display:inline}.pepperscore .header-secondary-panel .header-tab-view{color:#879289;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:10px;font-weight:700;display:flex}.pepperscore .header-secondary-panel .header-transpose-readout{width:66px;font-size:11px}.pepperscore .header-secondary-panel .header-transpose-controls button{width:34px;height:34px}.pepperscore .header-secondary-panel .header-key-flip-button{width:96px;height:34px}.pepperscore .header-secondary-panel .header-key-flip-label{display:inline}}@container pepperscore (width<=580px){.pepperscore .mixer-panel{padding:15px}.pepperscore .mixer-track{grid-template-columns:24px minmax(0,1fr) 32px 120px;gap:6px}}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-stage{top:max(40px,calc(50% - var(--landscape-staff-center,70px)))}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta{bottom:calc(100% - max(40px,calc(50% - var(--landscape-staff-center,70px))) - var(--landscape-meta-offset,35px))}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape.has-many-staves .score-stage{top:max(30px,calc(50% - var(--landscape-staff-center,70px) + 30px))}.pepperscore .play-button{white-space:nowrap;flex:none;gap:7px;height:38px;padding:0 16px}.pepperscore .header-open-file{color:#345642;white-space:nowrap;background:#fff;border:1px solid #cfdacd;border-radius:10px;align-items:center;gap:6px;height:38px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.pepperscore .header-open-file:hover{background:#f2f7f1;border-color:#b7c8b5}.pepperscore .header-open-file[aria-expanded=true]{background:#edf3ec}.pepperscore .mode-toggle{align-items:stretch;height:38px;padding:2px}.pepperscore .mode-toggle button{justify-content:center;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.pepperscore .mode-toggle-label-short{display:none}.pepperscore .topbar .transport{gap:10px}@container pepperscore (width<=1140px){.pepperscore .topbar .transport{gap:8px}}@container pepperscore (width<=900px){.pepperscore .topbar .transport{gap:5px}.pepperscore .topbar .play-button{padding:0 12px}.pepperscore .topbar .header-open-file{padding:0 10px}.pepperscore .mode-toggle button{min-width:36px;padding:0 6px;font-size:12px}.pepperscore .mode-toggle-label-full{display:none}.pepperscore .mode-toggle-label-short{display:inline}}@container pepperscore (width<=580px){.pepperscore .topbar{padding:0 8px}.pepperscore .topbar .transport{gap:6px}.pepperscore .transport>.header-control>.icon-button,.pepperscore .topbar .header-more-toggle{width:38px;height:38px}}@container pepperscore (width<=360px){.pepperscore .topbar{padding:0 4px}.pepperscore .topbar .transport{gap:3px}.pepperscore .transport>.header-control>.icon-button,.pepperscore .topbar .header-more-toggle{width:36px;height:36px}.pepperscore .play-button,.pepperscore .header-open-file,.pepperscore .mode-toggle{height:36px}.pepperscore .topbar .play-button{gap:4px;padding:0 8px;font-size:12px}.pepperscore .topbar .play-button.is-loading svg{display:none}.pepperscore .topbar .header-open-file{gap:4px;padding:0 7px;font-size:12px}.pepperscore .mode-toggle{padding:1px}.pepperscore .mode-toggle button{min-width:34px;padding:0 4px}}.pepperscore .tab-view-toggle-header{background:#f0f0ec;border:1px solid #e5e7e1;border-radius:10px;flex-shrink:0;align-items:stretch;height:38px;padding:2px;display:flex}.pepperscore .tab-view-toggle-header button{color:#869087;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .tab-view-toggle-header button.is-selected{color:#345642;background:#fff;box-shadow:0 1px 5px #253b2e16}.pepperscore .tab-view-toggle-label-short{display:none}@container pepperscore (width>=761px) and (width<=1260px){.pepperscore .header-tab-view.has-drawer-copy{display:none}}@container pepperscore (width<=1400px){.pepperscore .tab-view-toggle-header button{min-width:36px;padding:0 7px}.pepperscore .tab-view-toggle-label-full{display:none}.pepperscore .tab-view-toggle-label-short{display:inline}}@container pepperscore (width<=760px){.pepperscore .header-secondary-panel .tab-view-toggle-label-full{display:inline}.pepperscore .header-secondary-panel .tab-view-toggle-label-short{display:none}.pepperscore .header-secondary-panel .tab-view-toggle-header button{letter-spacing:normal;padding:0 9px}}.pepperscore .tab-view-choice .tab-view-toggle button{min-width:44px}.pepperscore .ps-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pepperscore .ps-portrait .score-content{padding-bottom:calc(70px + var(--page-tail,0px))}.pepperscore .score-system.is-pending{opacity:.7;background:repeating-linear-gradient(#0000 0 22px,#f3f4ef 22px 23px);border-radius:6px}.pepperscore .score-viewport{overflow-anchor:none}.pepperscore .reader-notices{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:flex;position:absolute;bottom:65px;left:50%;transform:translate(-50%)}.pepperscore .reader-notices>*{pointer-events:auto}.pepperscore .reader-notices .playback-notice{max-width:100%;position:static;transform:none}.pepperscore .large-file-notice,.pepperscore .reopen-banner{color:#46604d;background:#f2f6f0;border:1px solid #cddbcc;border-radius:8px;align-items:center;gap:10px;max-width:100%;padding:10px 12px;font-size:12px;line-height:1.4;display:flex;box-shadow:0 6px 20px #34564218}.pepperscore .large-file-notice-icon,.pepperscore .reopen-banner-icon{flex:none}.pepperscore .large-file-notice-dismiss{color:inherit;background:0 0;border:0;flex:none;place-items:center;display:grid}.pepperscore .reopen-banner{flex-wrap:wrap;row-gap:8px}.pepperscore .reopen-banner-body{flex-direction:column;flex:180px;min-width:0;display:flex}.pepperscore .reopen-banner-text{overflow-wrap:anywhere}.pepperscore .reopen-banner-name{font-weight:600}.pepperscore .reopen-banner-privacy{color:#7d8f80;font-size:11px}.pepperscore .reopen-banner-actions{flex:none;align-items:center;gap:6px;display:flex}.pepperscore .reopen-banner-actions button{color:#46604d;background:#fff;border:1px solid #cddbcc;border-radius:7px;height:30px;padding:0 11px;font-size:11px;font-weight:700}.pepperscore .reopen-banner-actions .reopen-banner-reopen{color:#fff;background:#365c42;border-color:#365c42}.pepperscore .reopen-banner-actions .reopen-banner-reopen:hover{background:#284c34}.pepperscore .reopen-banner-actions .reopen-banner-later:hover,.pepperscore .reopen-banner-actions .reopen-banner-forget:hover{background:#eef3ec}.pepperscore .ps-toast.is-out-of-memory{flex-wrap:wrap;row-gap:8px;max-width:min(460px,100% - 40px)}.pepperscore .ps-toast-text,.pepperscore .ps-error-text{flex:220px;line-height:1.45}.pepperscore .oom-retry-button{color:#fff;background:#9a482d;border:1px solid #9a482d;border-radius:7px;height:30px;padding:0 11px;font-size:11px;font-weight:700}.pepperscore .ps-toast .oom-retry-button{color:#fff;background:#9a482d;border:1px solid #9a482d;align-items:center;display:inline-flex}.pepperscore .oom-retry-button:hover,.pepperscore .ps-toast .oom-retry-button:hover{background:#7f3920}.pepperscore .ps-error .oom-retry-button{margin-top:8px}.pepperscore .ps-error{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pepperscore .forget-last-file{color:#8a6a5e}.pepperscore .score-viewport{scrollbar-gutter:stable}.pepperscore[data-ps-height=natural] .score-viewport{scrollbar-gutter:auto;overflow-y:hidden}.pepperscore .mixer-panel:focus:not(:focus-visible),.pepperscore .instrument-picker-panel:focus:not(:focus-visible){outline:none}.pepperscore .ps-compact-play{z-index:9;color:#fff;background:#345642;border-radius:50%;width:36px;height:36px;position:absolute;top:8px;right:8px;box-shadow:0 3px 8px #34564233}.pepperscore .topbar .ps-compact-play{top:50%;transform:translateY(-50%)}.pepperscore .ps-compact-play:hover{background:#254633}.pepperscore .ps-compact-play.is-loading{opacity:.75}.pepperscore .no-page-controls.ps-portrait .edge-end,.pepperscore .no-page-controls.ps-landscape .edge-fade{bottom:0}.pepperscore .app-shell.no-drawer .ps-toast,.pepperscore .app-shell.no-drawer .reader-notices{bottom:12px}.pepperscore[data-ps-height=natural]{min-height:120px}.pepperscore[data-ps-height=natural] .ps-landscape .score-content{grid-template-rows:auto auto}.pepperscore[data-ps-clock] .score-system svg .reader-note,.pepperscore[data-ps-clock] .score-system svg .measure{cursor:pointer}.pepperscore .drawer-foot{gap:14px}.pepperscore .drawer-licences{color:inherit;text-underline-offset:2px;white-space:nowrap;text-decoration:underline}.pepperscore .drawer-licences:hover{color:#61806a}.pepperscore .annotations-panel{container:ps-annotations/inline-size}.pepperscore .annotation-row{flex-wrap:wrap;gap:8px 10px}.pepperscore .annotation-row .annotation-name{flex:auto;min-width:0}.pepperscore .annotation-row .ps-switch{flex:none}.pepperscore .annotation-row .annotation-size{flex:1 0 100%;order:3;justify-content:space-between}.pepperscore .annotation-size button{letter-spacing:.02em;flex:1 1 0;min-width:0;padding:4px 0;font-size:10px}@container ps-annotations (width>=360px){.pepperscore .annotation-row .annotation-size{flex:none;order:0}.pepperscore .annotation-size button{flex:none;padding:4px 7px}}.pepperscore .count-label.is-subdivision{font-size:calc(13px * var(--ps-subdivision-scale,1))}.pepperscore .topbar .header-open-file{color:#486b51;background:#fff;border:1px solid #dfe5dc;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #34564210}.pepperscore .topbar .header-open-file:hover{background:#f2f7f1;border-color:#b9cdb9}.pepperscore .topbar .header-open-file:focus-visible{outline-offset:2px;border-color:#8fb89a;outline:2px solid #8fb89a}.pepperscore .topbar .header-open-file[aria-expanded=true]{background:#edf3ec;border-color:#8fb89a}.pepperscore .open-dialog-backdrop{z-index:115;background:#17271b66;place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.pepperscore .open-dialog{overscroll-behavior:contain;color:#344c38;background:#fff;border:1px solid #e2e9e0;border-radius:16px;flex-direction:column;width:min(560px,100%);max-height:min(88%,760px);padding:19px 20px 20px;font-family:Poppins,Arial,sans-serif;display:flex;overflow:auto;box-shadow:0 18px 60px #15251a40}.pepperscore .open-dialog-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.pepperscore .open-dialog-title{color:#345642;align-items:center;gap:9px;min-width:0;display:flex}.pepperscore .open-dialog-title-text{margin:0;font-size:17px;font-weight:650}.pepperscore .open-dialog-intro{color:#78867a;margin:3px 0 12px;font-size:12px;line-height:1.5}.pepperscore .open-dialog-formats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 16px;padding:0;list-style:none;display:grid}.pepperscore .open-dialog-format{background:#f8faf7;border:1px solid #e2e8e0;border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:8px 11px;display:flex}.pepperscore .open-dialog-format-name{color:#345642;font-size:12px;font-weight:700}.pepperscore .open-dialog-format-detail{color:#7c8a7e;overflow-wrap:anywhere;font-size:11px}.pepperscore .open-dialog-entry-label{color:#536055;margin:0 0 6px;font-size:11px;font-weight:700;display:block}.pepperscore .open-dialog-dropzone{background:#fdfefc;border:1.5px dashed #c9d8c8;border-radius:12px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.pepperscore .open-dialog-dropzone:focus-within{border-color:#8fb89a;box-shadow:0 0 0 3px #8fb89a2e}.pepperscore .open-dialog-dropzone.is-drag-over{background:#f0f6ef;border-style:solid;border-color:#486b51;box-shadow:0 0 0 4px #486b5124}.pepperscore .open-dialog-abc-input{resize:vertical;color:#3e4f41;background:0 0;border:0;border-radius:12px;outline:none;width:100%;min-height:148px;padding:12px 13px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.55;display:block}.pepperscore .open-dialog-abc-input::placeholder{color:#a9b5aa}.pepperscore .open-dialog-drop-overlay{color:#345642;pointer-events:none;background:#f0f6ef;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.pepperscore .open-dialog-drop-text{font-size:13px;font-weight:700}.pepperscore .open-dialog-spinner{width:22px;height:22px}.pepperscore .open-dialog-tip{color:#78867a;margin:8px 0 0;font-size:11.5px;line-height:1.5}.pepperscore .open-dialog-tip-keys{color:#9aa69b}.pepperscore .open-dialog-message{border-radius:10px;margin:10px 0 0;padding:9px 11px;font-size:12px;line-height:1.45}.pepperscore .open-dialog-message.is-error{color:#9a482d;background:#fff3ee;border:1px solid #e9c7bb}.pepperscore .open-dialog-message.is-hint{color:#6b5a1f;background:#fdf8e9;border:1px solid #eadcae}.pepperscore .open-dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.pepperscore .open-dialog-browse{color:#345642;background:#fff;border:1px solid #dfe5dc;border-radius:10px;align-items:center;gap:8px;height:37px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .open-dialog-browse:hover{background:#f2f7f1;border-color:#b9cdb9}.pepperscore .open-dialog-open-abc{border-radius:10px;height:37px;margin-left:auto;font-size:12px}.pepperscore .open-dialog-open-abc:disabled{cursor:not-allowed;opacity:.45}.pepperscore .open-dialog button:focus-visible{outline-offset:2px;outline:2px solid #8fb89a}.pepperscore .open-dialog-choices{flex-direction:column;min-height:0;display:flex}.pepperscore .open-dialog-choices-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.pepperscore .open-dialog-choices-title{color:#344c38;margin:0;font-size:13px;font-weight:700}.pepperscore .open-dialog-choices-count{color:#87968a;margin-left:6px;font-size:11px;font-weight:500}.pepperscore .open-dialog-choices-back{margin:0}.pepperscore .open-dialog-choices-note{color:#8a948a;margin:0 0 6px;font-size:11px}.pepperscore .open-dialog-choice-list{background:#f8faf7;border:1px solid #e2e8e0;border-radius:12px;flex-direction:column;gap:5px;max-height:320px;margin:0;padding:4px;list-style:none;display:flex;overflow:auto}.pepperscore .open-dialog-choice{color:#344c38;text-align:left;background:#fff;border:1px solid #e2e8e0;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 11px;display:grid}.pepperscore .open-dialog-choice:hover,.pepperscore .open-dialog-choice:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .open-dialog-choice-icon{color:#6b8a6e}.pepperscore .open-dialog-choice-text{flex-direction:column;min-width:0;display:flex}.pepperscore .open-dialog-choice-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.pepperscore .open-dialog-choice-path{color:#87968a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pepperscore .open-dialog-choice-format{color:#486b51;white-space:nowrap;background:#edf3ec;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}@container pepperscore (width<=480px){.pepperscore .open-dialog-backdrop{place-items:start center;padding:10px}.pepperscore .open-dialog{max-height:calc(100% - 20px);padding:15px}.pepperscore .open-dialog-formats{grid-template-columns:1fr 1fr;gap:6px}.pepperscore .open-dialog-format{padding:7px 9px}.pepperscore .open-dialog-abc-input{min-height:120px}.pepperscore .open-dialog-actions>button{flex:auto;justify-content:center}.pepperscore .open-dialog-open-abc{margin-left:0}}@container pepperscore (width<=340px){.pepperscore .open-dialog-formats{grid-template-columns:1fr}}.pepperscore .open-dialog:focus:not(:focus-visible){outline:none}
5
+ .pepperscore{isolation:isolate;color:#242824;font-synthesis:none;text-align:left;background:#fff;outline:none;flex-direction:column;font-family:Poppins,Arial,sans-serif;line-height:normal;display:flex;position:relative;overflow:hidden;container:pepperscore/inline-size}.pepperscore:focus-visible,.pepperscore .mixer-panel:focus-visible,.pepperscore .instrument-picker-panel:focus-visible,.pepperscore .open-dialog:focus-visible{outline-offset:-2px;outline:2px solid #8fb89a}.pepperscore .bpm-control input:focus-visible{outline-offset:2px;outline:2px solid #8fb89a}.pepperscore[data-ps-height=auto]{height:100%;min-height:480px}.pepperscore[data-ps-height=fill]{height:100%}.pepperscore[data-ps-height=natural]{height:auto}.pepperscore .app-shell{flex:auto;min-height:0}.pepperscore[data-ps-height=natural] .score-viewport{flex:none;height:auto}.pepperscore :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dd,figure,blockquote,hr,fieldset,legend,button,input,select,option,textarea,img,label,output,small,strong,a,table){all:revert}.pepperscore :where(svg){vertical-align:baseline;display:inline}.pepperscore :where([hidden]){display:none}.pepperscore,.pepperscore *{box-sizing:border-box}.pepperscore button,.pepperscore input,.pepperscore textarea,.pepperscore select{font:inherit}.pepperscore button{cursor:pointer}.pepperscore button:disabled{cursor:wait;opacity:.65}.pepperscore .app-shell{padding-bottom:67px;overflow:hidden}.pepperscore .topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf8f0;border-bottom:1px solid #e9e8e4;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 5.3%;display:grid;position:sticky;top:0}.pepperscore .brand{letter-spacing:-.065em;align-items:center;gap:11px;font-size:20px;font-weight:700;display:flex}.pepperscore .brand-mark{color:#486b51;place-items:center;width:29px;height:33px;font-family:Georgia,serif;font-size:31px;font-weight:400;display:grid}.pepperscore .transport{align-items:center;gap:13px;display:flex}.pepperscore .icon-button{color:#657069;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.pepperscore .icon-button:hover,.pepperscore .page-controls button:hover{background:#eeefe9}.pepperscore .play-button{color:#fff;background:#345642;border:0;border-radius:10px;align-items:center;gap:9px;padding:10px 19px;font-size:13px;font-weight:700;display:flex;box-shadow:0 3px 8px #34564224}.pepperscore .play-button:hover{background:#254633}.pepperscore .bpm-control{color:#8c948d;letter-spacing:.1em;align-items:center;gap:8px;margin-left:10px;font-size:10px;font-weight:700;display:flex}.pepperscore .bpm-control input{text-align:center;color:#303c32;appearance:textfield;background:0 0;border:0;border-bottom:1px solid #c9d0c8;outline:none;width:47px;padding:4px 0;font-size:14px;font-weight:700}.pepperscore .bpm-control input::-webkit-inner-spin-button{appearance:none}.pepperscore .top-actions{justify-self:end}.pepperscore .key-hint,.pepperscore .ps-eyebrow{letter-spacing:.18em;color:#879289;font-size:10px;font-weight:700}.pepperscore .mobile-menu{display:none}.pepperscore .reader-head{justify-content:space-between;align-items:flex-end;gap:20px;max-width:1340px;height:165px;margin:auto;padding:37px 56px 22px;display:flex}.pepperscore .reader-head h1{letter-spacing:-.035em;margin:9px 0 5px;font-family:Newsreader,Georgia,serif;font-size:39px;font-weight:400;line-height:1.08}.pepperscore .reader-head p{color:#8f9790;margin:0;font-size:12px}.pepperscore .mode-toggle{background:#f0f0ec;border:1px solid #e5e7e1;border-radius:10px;flex-shrink:0;padding:3px;display:flex}.pepperscore .mode-toggle button{color:#869087;background:0 0;border:0;border-radius:7px;padding:9px 14px;font-size:11px;font-weight:700}.pepperscore .mode-toggle button.is-selected{color:#345642;background:#fff;box-shadow:0 1px 5px #253b2e16}.pepperscore .reader-area{max-width:1260px;margin:0 auto;padding:0 38px;position:relative}.pepperscore .score-viewport{scrollbar-width:thin;scrollbar-color:#d8ddd6 transparent;background:#fff;border:1px solid #e9e9e4;border-radius:15px;min-height:390px;position:relative;overflow:auto;box-shadow:0 12px 46px #5966570a}.pepperscore .score-content{min-height:100%;padding:35px 12px 70px;position:relative}.pepperscore .ps-portrait .score-content{width:100%}.pepperscore .ps-landscape .score-content{align-items:flex-start;width:max-content;min-width:100%;padding:90px 44px;display:flex}.pepperscore .score-system{flex:none;position:relative}.pepperscore .score-system svg{display:block;overflow:visible}.pepperscore .score-system svg .reader-note{transition:filter .12s}.pepperscore .score-system svg .reader-note.is-playing{filter:drop-shadow(0 0 4px #e6aa4f);stroke:#b87218;fill:#b87218}.pepperscore .score-system svg .ps-cursor{filter:drop-shadow(0 0 3px var(--ps-cursor,#2f6fed));stroke:var(--ps-cursor,#2f6fed);fill:var(--ps-cursor,#2f6fed)}.pepperscore .score-system svg .ps-selection{stroke:var(--ps-selection,#2f6a9a);fill:var(--ps-selection,#2f6a9a)}.pepperscore .score-system svg .ps-transposed{stroke:var(--ps-transposed,#d9741c);fill:var(--ps-transposed,#d9741c)}.pepperscore .score-system svg .ps-out-of-range{stroke:var(--ps-out-of-range,#c62828);fill:var(--ps-out-of-range,#c62828)}.pepperscore .score-system svg .ps-highlight-layer{pointer-events:none}.pepperscore .score-system svg .ps-measure-highlight{fill:none;stroke:var(--ps-cursor,#2f6fed);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}.pepperscore[data-ps-clickable] .score-system svg .reader-note,.pepperscore[data-ps-clickable] .score-system svg .measure{cursor:pointer}.pepperscore .annotation{letter-spacing:.02em;pointer-events:none;font-family:Poppins,Arial,sans-serif}.pepperscore .note-label{font-size:calc(15px * var(--ps-note-name-scale,1));fill:#617262;font-weight:600}.pepperscore .count-label{font-size:calc(13px * var(--ps-count-scale,1));fill:#8a978c}.pepperscore .playback-line{pointer-events:none;z-index:2;background:#cd9743;border-radius:2px;width:2px;transition:left 60ms linear;position:absolute;top:9px;bottom:20px;box-shadow:0 0 0 3px #cd97432b}.pepperscore .part-controls{z-index:4;position:absolute;top:35px;left:5px}.pepperscore .ps-landscape .part-controls{top:90px;left:47px}.pepperscore .part-control{justify-content:center;align-items:center;width:40px;height:36px;display:flex;position:absolute;left:0}.pepperscore .part-icon{color:#597660;font-family:Georgia,serif;font-size:19px}.pepperscore .part-control:hover{background:#f3f5ef;border-radius:8px}.pepperscore .edge-fade{z-index:5;pointer-events:none;position:absolute}.pepperscore .ps-portrait .edge-fade{height:25px;left:39px;right:39px}.pepperscore .ps-portrait .edge-start{background:linear-gradient(#fff,#0000);top:1px}.pepperscore .ps-portrait .edge-end{background:linear-gradient(#0000,#fff);bottom:47px}.pepperscore .ps-landscape .edge-fade{width:30px;top:1px;bottom:47px}.pepperscore .ps-landscape .edge-start{background:linear-gradient(90deg,#fff,#0000);left:39px}.pepperscore .ps-landscape .edge-end{background:linear-gradient(90deg,#0000,#fff);right:39px}.pepperscore .page-controls{color:#9ba49b;letter-spacing:.18em;justify-content:center;align-items:center;gap:18px;height:46px;font-size:10px;font-weight:700;display:flex}.pepperscore .page-controls button{color:#607565;background:0 0;border:1px solid #dfe5dc;border-radius:8px;place-items:center;width:29px;height:29px;display:grid}.pepperscore .drawer-handle{z-index:31;color:#4d6353;background:#fff;border:1px solid #e2e8e0;border-bottom:0;border-radius:13px 13px 0 0;justify-content:center;align-items:center;gap:12px;width:220px;height:47px;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -5px 25px #61706416}.pepperscore .handle-grip{background:#b6c4b6;border-radius:2px;width:24px;height:3px}.pepperscore .drawer-handle svg{transition:transform .2s}.pepperscore .drawer-handle.is-open svg{transform:rotate(180deg)}.pepperscore .drawer-backdrop{z-index:29;background:#18231b45;position:absolute;inset:0}.pepperscore .bottom-drawer{z-index:30;background:#fafbf8;border-radius:22px 22px 0 0;width:100%;max-height:min(82%,780px);padding:27px max(5.3%,50cqw - 665px) 24px;transition:transform .28s;position:absolute;bottom:0;left:0;overflow:auto;transform:translateY(105%);box-shadow:0 -20px 70px #1d2b2060}.pepperscore .bottom-drawer.is-open{transform:translateY(0)}.pepperscore .drawer-handle.is-open{opacity:0;pointer-events:none;bottom:min(82%,780px)}.pepperscore .drawer-top{justify-content:space-between;align-items:start;margin-bottom:23px;display:flex}.pepperscore .drawer-top h2{margin:7px 0 0;font-family:Newsreader,Georgia,serif;font-size:29px;font-weight:400}.pepperscore .drawer-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,272px),1fr));gap:15px;display:grid}.pepperscore .drawer-panel{background:#fff;border:1px solid #e5eae2;border-radius:14px;min-width:0;padding:21px}.pepperscore .drawer-panel h3{color:#344c38;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.pepperscore .drawer-panel h3 svg{color:#6b8a6e}.pepperscore .drawer-panel p{color:#8a948a;margin:0 0 19px;font-size:12px;line-height:1.55}.pepperscore .primary-action{color:#fff;background:#365c42;border:0;border-radius:8px;align-items:center;gap:9px;height:37px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex}.pepperscore .primary-action:hover{background:#284c34}.pepperscore .text-action{color:#61806a;background:0 0;border:0;align-items:center;gap:7px;margin-top:15px;padding:2px;font-size:11px;font-weight:700;display:flex}.pepperscore .field-label{color:#536055;justify-content:space-between;margin:22px 0 5px;font-size:11px;font-weight:700;display:flex}.pepperscore .field-label span{color:#87968a;font-weight:500}.pepperscore .ps-range{accent-color:#5f8068;width:100%;height:4px}.pepperscore .ps-switch-row{color:#5d6b61;border-top:1px solid #f0f2ee;justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;display:flex}.pepperscore .ps-switch{background:#d9dfd8;border:0;border-radius:15px;width:29px;height:17px;padding:2px;position:relative}.pepperscore .ps-switch:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px}.pepperscore .ps-switch.is-on{background:#5d8164}.pepperscore .ps-switch.is-on:after{transform:translate(12px)}.pepperscore .abc-panel textarea{resize:vertical;color:#48594b;background:#fdfefc;border:1px solid #e6ebe4;border-radius:8px;outline-color:#7d9c80;width:100%;height:104px;padding:9px 11px;font-family:monospace;font-size:10px;line-height:1.5}.pepperscore .abc-panel .primary-action{margin-top:9px}.pepperscore .drawer-foot{color:#a0aaa0;letter-spacing:.05em;justify-content:space-between;margin-top:20px;font-size:10px;display:flex}.pepperscore .ps-error,.pepperscore .ps-toast{color:#9a482d;background:#fff3ee;border:1px solid #e9c7bb;border-radius:8px;padding:10px 12px;font-size:12px}.pepperscore .ps-error{margin-top:13px}.pepperscore .ps-toast{z-index:50;align-items:center;gap:15px;display:flex;position:absolute;bottom:65px;right:20px}.pepperscore .ps-toast button{color:inherit;background:0 0;border:0;place-items:center;display:grid}.pepperscore .playback-notice{z-index:50;color:#46604d;background:#f2f6f0;border:1px solid #cddbcc;border-radius:8px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:65px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #34564218}.pepperscore .playback-notice-icon{flex:none}.pepperscore .playback-notice button{color:inherit;background:0 0;border:0;flex:none;place-items:center;display:grid}@container pepperscore (width<=850px){.pepperscore .topbar{padding:0 22px}.pepperscore .key-hint{display:none}.pepperscore .mobile-menu{display:grid}.pepperscore .reader-head{padding:30px 26px 20px}.pepperscore .reader-area{padding:0 16px}.pepperscore .ps-portrait .edge-fade{left:17px;right:17px}.pepperscore .ps-landscape .edge-start{left:17px}.pepperscore .ps-landscape .edge-end{right:17px}.pepperscore .bottom-drawer{padding:26px 24px}}@container pepperscore (width<=580px){.pepperscore .topbar{grid-template-columns:1fr auto auto;gap:10px;height:64px;padding:0 14px}.pepperscore .brand{font-size:17px}.pepperscore .brand-mark{width:23px;font-size:25px}.pepperscore .transport{gap:3px}.pepperscore .transport .reset{display:none}.pepperscore .bpm-control{gap:3px;margin-left:4px}.pepperscore .bpm-control input{width:34px}.pepperscore .reader-head{height:auto;min-height:150px;padding:26px 19px 15px;display:block}.pepperscore .reader-head h1{font-size:31px}.pepperscore .mode-toggle{width:max-content;margin-top:17px}.pepperscore .reader-area{padding:0 7px}.pepperscore .score-viewport{min-height:330px}.pepperscore .ps-portrait .edge-fade{left:8px;right:8px}.pepperscore .ps-landscape .edge-start{left:8px}.pepperscore .ps-landscape .edge-end{right:8px}.pepperscore .drawer-foot span{display:none}.pepperscore .bottom-drawer{padding:20px}.pepperscore .page-controls{font-size:9px}}@media (pointer:coarse){.pepperscore .score-viewport{touch-action:none}}.pepperscore .ps-landscape .part-controls{left:5px}.pepperscore .topbar{justify-content:center;height:54px;padding:0 12px;display:flex}.pepperscore .transport{gap:9px}.pepperscore .reader-head{max-width:none;height:126px;padding:21px 22px 15px}.pepperscore .reader-head h1{margin:6px 0 3px;font-size:32px}.pepperscore .reader-area.ps-portrait{max-width:none;padding:0 10px}.pepperscore .ps-portrait .score-content{padding:24px 4px 70px}.pepperscore .ps-portrait .part-controls{top:24px;left:4px}.pepperscore .drawer-handle{width:184px;left:10px;transform:none}@container pepperscore (width<=580px){.pepperscore .topbar{height:50px;padding:0 10px}.pepperscore .transport .stop-button{display:grid}.pepperscore .reader-head{height:auto;min-height:0;padding:17px 14px 12px}.pepperscore .reader-head h1{font-size:27px}.pepperscore .reader-area.ps-portrait{padding:0 6px}.pepperscore .ps-portrait .edge-fade{left:7px;right:7px}.pepperscore .score-viewport{min-height:330px}.pepperscore .drawer-handle{width:178px;left:6px}.pepperscore .page-controls{justify-content:flex-end;gap:8px;padding-right:8px}.pepperscore .page-controls span{display:none}}.pepperscore .score-content{display:block}.pepperscore .score-stage,.pepperscore .score-staves{width:100%;position:relative}.pepperscore .score-meta{text-align:center;padding:0 30px 18px}.pepperscore .score-meta h1{letter-spacing:-.025em;margin:0 0 4px;font-family:Newsreader,Georgia,serif;font-size:30px;font-weight:400;line-height:1.12}.pepperscore .score-meta p{color:#6f776f;margin:3px 0;font-size:12px;line-height:1.45}.pepperscore .score-meta .score-subtitle{color:#4f5850;font-family:Newsreader,Georgia,serif;font-size:18px}.pepperscore .score-meta .score-credit{color:#8b948c;font-size:10px}.pepperscore .ps-portrait .part-controls,.pepperscore .ps-landscape .part-controls{top:0;left:0}.pepperscore .ps-landscape .score-content{width:max-content;min-width:100%;padding:25px 44px 70px;display:block}.pepperscore .ps-landscape .score-stage,.pepperscore .ps-landscape .score-staves{width:max-content}.pepperscore .ps-landscape .score-staves{align-items:flex-start;display:flex}.pepperscore .ps-landscape .score-meta{width:min(900px,100cqw - 120px);min-height:0}@container pepperscore (width<=580px){.pepperscore .score-meta h1{font-size:24px}.pepperscore .score-meta .score-subtitle{font-size:16px}}.pepperscore .topbar{background:#fffffff5}.pepperscore .reader-area,.pepperscore .reader-area.ps-portrait{max-width:none;margin:0;padding:0}.pepperscore .score-viewport{box-shadow:none;border:0;border-radius:0}.pepperscore .ps-portrait .edge-fade{left:0;right:0}.pepperscore .ps-landscape .edge-start{left:0}.pepperscore .ps-landscape .edge-end{right:0}.pepperscore .part-control{transform:translateY(-50%)}.pepperscore .part-icon{object-fit:contain;width:28px;height:28px;display:block}.pepperscore .font-choice{color:#5d6b61;justify-content:space-between;align-items:center;gap:8px;margin-top:17px;font-size:11px;display:flex}.pepperscore .font-toggle{background:#f5f7f3;border:1px solid #e5e9e3;border-radius:8px;gap:2px;padding:2px;display:flex}.pepperscore .font-toggle button{color:#718073;background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:10px}.pepperscore .font-toggle button.is-selected{color:#345642;background:#fff;font-weight:700;box-shadow:0 1px 4px #253b2e18}.pepperscore .font-load-progress{z-index:6;pointer-events:none;width:100%;height:2px;margin-bottom:-2px;position:sticky;top:0;left:0;overflow:hidden}.pepperscore .score-content{transform-origin:50% 0;transition:opacity .34s ease-out,transform .5s cubic-bezier(.16,1,.3,1)}.pepperscore .ps-landscape .score-content{transform-origin:0}.pepperscore .score-content.is-painting{opacity:0;transition:opacity .16s ease-in,transform 0s linear .16s;transform:scale(1.06)}.pepperscore .score-loading{z-index:8;color:#738477;letter-spacing:.04em;pointer-events:none;justify-content:center;align-items:center;gap:11px;font-size:12px;display:flex;position:absolute;inset:0}.pepperscore .score-loading-spinner{border:2px solid #dfe8dd;border-top-color:#5d8164;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite ps-score-loading-spin}@keyframes ps-score-loading-spin{to{transform:rotate(360deg)}}.pepperscore .font-load-progress:before{content:"";background:#6f9576;width:30%;height:100%;animation:1.1s ease-in-out infinite ps-font-loading-sweep;display:block}@keyframes ps-font-loading-sweep{0%{transform:translate(-100%)}to{transform:translate(435%)}}@media (prefers-reduced-motion:reduce){.pepperscore .font-load-progress:before{opacity:.65;width:100%;animation:none}.pepperscore .score-content,.pepperscore .score-content.is-painting{transition:none;transform:none}.pepperscore .score-loading-spinner{animation:none}}.pepperscore .app-shell{flex-direction:column;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.pepperscore .topbar{z-index:20;flex:none;position:sticky;top:0}.pepperscore .reader-area,.pepperscore .reader-area.ps-portrait{flex-direction:column;flex:1;min-height:0;display:flex}.pepperscore .score-viewport{flex:1;height:auto;min-height:0}.pepperscore .page-controls{flex:none}.pepperscore .ps-portrait .score-content{flex-direction:column;justify-content:safe center;display:flex}.pepperscore .ps-landscape .score-content{flex-direction:column;justify-content:safe center;min-height:100%;padding-top:24px;padding-bottom:24px;display:flex}.pepperscore .drawer-backdrop{z-index:100}.pepperscore .bottom-drawer{z-index:102}.pepperscore .drawer-handle{z-index:103}.pepperscore .ps-landscape .score-content{grid-template-rows:minmax(min-content,1fr) auto minmax(0,1fr);align-items:start;display:grid}.pepperscore .ps-landscape .score-meta{grid-row:1;align-self:end}.pepperscore .ps-landscape .score-stage{grid-row:2}.pepperscore .ps-landscape .score-content:after{content:"";grid-row:3}.pepperscore .ps-landscape .score-content{height:100%;min-height:0}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-content{width:max(100%,var(--landscape-content-width,100%));height:100%;min-height:0;padding:0;display:block;position:relative}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-content:after{display:none}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-stage{top:calc(50% - var(--landscape-staff-center,70px));position:absolute;left:44px;transform:none}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta{left:44px;bottom:calc(50% + var(--landscape-staff-center,70px) - var(--landscape-meta-offset,35px));padding:0;position:absolute}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta h1{margin-bottom:0;font-size:22px;line-height:1.1}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta p{margin:0;font-size:10px}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-content:has(.chord-symbol) .score-meta{bottom:calc(50% + var(--landscape-staff-center,70px) - 8px)}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-meta{justify-content:center;align-items:baseline;gap:8px;display:flex}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-meta h1{white-space:nowrap;font-size:16px}.pepperscore[data-ps-tiny][data-ps-wide] .ps-landscape .score-meta p{white-space:nowrap;font-size:9px}@container pepperscore (width<=580px){.pepperscore .transport{align-items:center}.pepperscore .mode-toggle{margin-top:0}}.pepperscore .chord-symbol{font-size:calc(17px * var(--ps-chord-symbol-scale,1));fill:#465549;font-weight:600}.pepperscore .lyric-label{fill:#485449;font-size:11px}.pepperscore .lyric-phrase{font-size:15px}.pepperscore .header-bars-setting{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.pepperscore .header-bars-setting select{color:#345642;letter-spacing:0;background:#fff;border:1px solid #e5e9e3;border-radius:7px;min-width:70px;height:30px;padding:0 6px;font-size:11px}.pepperscore .header-bars-setting.is-disabled{opacity:.55}.pepperscore .header-bars-setting.is-disabled select{cursor:not-allowed}@container pepperscore (width<=580px){.pepperscore .header-bars-setting{letter-spacing:0;gap:3px}.pepperscore .header-bars-setting select{min-width:57px;height:28px;padding:0 3px}}.pepperscore .score-stage .part-controls{width:var(--control-gutter,128px)}.pepperscore .score-stage .part-control{width:calc(var(--control-gutter,128px) - 8px);justify-content:flex-start}.pepperscore .part-name{text-overflow:ellipsis;white-space:nowrap;color:#66766a;min-width:0;font-size:var(--part-font,11px);flex:1;line-height:1.2;overflow:hidden}.pepperscore .part-name.is-switched{flex-direction:column;display:flex}.pepperscore .part-name-source,.pepperscore .part-name-target{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pepperscore .part-name-target{color:#345642;font-size:.72em;font-weight:600}.pepperscore .ps-portrait .score-system svg{overflow:hidden}.pepperscore .ps-portrait .score-system{contain:paint}.pepperscore .part-control{gap:4px}.pepperscore .instrument-control{width:calc(var(--part-icon,28px) + 4px);height:var(--part-control-height,30px);flex:none;place-items:center;display:grid;position:relative}.pepperscore .staff-eye{width:var(--part-eye,28px);height:var(--part-eye,28px);color:#69816c;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.pepperscore .staff-eye svg{width:calc(var(--part-eye,28px) * .62);height:calc(var(--part-eye,28px) * .62)}.pepperscore .staff-eye:hover,.pepperscore .hidden-staves button:hover{background:#edf3ec}.pepperscore .staff-eye:disabled{opacity:.35;cursor:default}.pepperscore .staff-focus.is-focused{color:#345642;background:#e3ede1}.pepperscore .mixer-visibility-button{width:32px;height:32px}.pepperscore .mixer-visibility-button[aria-pressed=false]{color:#a3ada4}.pepperscore .mixer-visibility-button:disabled{opacity:.35;cursor:default}.pepperscore .hidden-staves{flex-wrap:wrap;justify-content:center;gap:4px;margin:4px 0 10px;display:flex}.pepperscore .hidden-staves button{color:#738075;background:#fff;border:1px solid #e4e9e2;border-radius:6px;align-items:center;gap:4px;max-width:180px;padding:3px 6px;font-size:10px;display:flex}.pepperscore .hidden-staves img{width:16px;height:16px}.pepperscore .hidden-staves span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pepperscore .has-many-staves .score-viewport{touch-action:pan-x pan-y}.pepperscore .reset-staves{margin-top:12px}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape.has-many-staves .score-meta{top:3px;bottom:auto}.pepperscore .inference-row{color:#718073;border-top:0;padding-left:14px}.pepperscore .inference-row input{accent-color:#5d8164;width:14px;height:14px;margin:0}.pepperscore .playback-line{z-index:6;background:#c87925;width:2px;top:0;bottom:0;box-shadow:0 0 0 2px #fff9,0 0 8px #c8792580}.pepperscore .mixer-trigger{color:#486b51;flex:none;width:30px;height:30px}.pepperscore .mixer-backdrop{z-index:110;background:#17271b66;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pepperscore .mixer-panel{background:#fff;border:1px solid #e2e9e0;border-radius:16px;flex-direction:column;width:min(500px,100%);max-height:min(82%,720px);padding:18px 20px 20px;display:flex;overflow:hidden;box-shadow:0 18px 60px #15251a40}.pepperscore .mixer-heading,.pepperscore .mixer-heading>div{align-items:center;gap:9px;display:flex}.pepperscore .mixer-heading{color:#345642;justify-content:space-between}.pepperscore .mixer-heading h2{margin:0;font-size:17px;font-weight:650}.pepperscore .mixer-panel>p{color:#78867a;margin:3px 0 14px;font-size:12px}.pepperscore .mixer-tracks{scrollbar-width:thin;min-height:0;overflow-y:auto}.pepperscore .mixer-track{border-top:1px solid #edf0eb;grid-template-columns:28px minmax(0,1fr) 34px 142px;align-items:center;gap:9px;min-height:49px;padding:7px 2px;display:grid}.pepperscore .mixer-track img{width:24px;height:24px}.pepperscore .mixer-track-name{text-overflow:ellipsis;white-space:nowrap;color:#344439;font-size:12px;overflow:hidden}.pepperscore .mixer-track-name small{color:#88948a;font-size:10px;display:block}.pepperscore .mixer-track select{color:#345642;background:#fff;border:1px solid #dfe6dc;border-radius:7px;width:100%;height:32px;padding:0 6px;font-size:11px}.pepperscore .pitch-panel .pitch-options{flex-wrap:wrap;align-items:end;gap:30px;display:flex}.pepperscore .pitch-panel .pitch-label{color:#536055;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.pepperscore .semitone-control{align-items:center;gap:4px;display:flex}.pepperscore .semitone-control button{color:#3e6047;background:#fff;border:1px solid #dfe6dc;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.pepperscore .semitone-control button:disabled{opacity:.4;cursor:default}.pepperscore .semitone-control output{text-align:center;color:#345642;min-width:95px;font-size:12px;font-weight:700}.pepperscore .semitone-control .pitch-reset{margin-left:5px}.pepperscore .pitch-view{width:max-content}.pepperscore .pitch-view button{min-width:85px}.pepperscore .pitch-panel .pitch-hint{margin:11px 0 0;font-size:11px}.pepperscore .pitch-key-control{align-items:center;gap:6px;display:flex}.pepperscore .pitch-key-readout{text-align:center;color:#345642;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:72px;font-size:12px;font-weight:700}.pepperscore .pitch-key-flip{color:#3e6047;white-space:nowrap;background:#fff;border:1px solid #dfe6dc;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:96px;height:30px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .pitch-key-flip:not(.is-disabled):hover{background:#f2f7f1}@container pepperscore (width<=580px){.pepperscore .pitch-panel .pitch-options{gap:18px}.pepperscore .pitch-view button{min-width:75px}}.pepperscore .score-system svg text{font-family:var(--score-text-font,Poppins,Arial,sans-serif);font-size-adjust:.45}.pepperscore .score-system svg tspan[font-family]{font-size-adjust:none}.pepperscore .score-system svg .verse text{font-size-adjust:none;font-family:Times,Times New Roman,serif}.pepperscore .score-system svg text.annotation{font-family:var(--annotation-font,Poppins,Arial,sans-serif);font-size-adjust:none}.pepperscore .score-system svg[data-music-font=Petaluma][data-text-font=Sans]{--score-text-font:"Petaluma Script",Poppins,Arial,sans-serif;--annotation-font:"Petaluma Script",Poppins,Arial,sans-serif}.pepperscore .score-system svg[data-music-font=Petaluma] :is(.stem,.ledgerLines)>path{stroke-linecap:round}.pepperscore .instrument-control{color:#486b51;background:0 0;border:0;border-radius:7px;padding:0}.pepperscore .instrument-control:hover,.pepperscore .instrument-control:focus-visible{outline-offset:1px;background:#edf3ec;outline:2px solid #c8dcca}.pepperscore .instrument-control img{object-fit:contain;display:block}.pepperscore .header-open-file{color:#486b51;flex:none}.pepperscore .mixer-voice-button{color:#345642;text-align:left;background:#fff;border:1px solid #dfe6dc;border-radius:7px;justify-content:space-between;align-items:center;gap:4px;width:100%;min-height:32px;padding:3px 7px;font-size:11px;display:flex}.pepperscore .mixer-voice-button:hover{background:#f2f7f1}.pepperscore .mixer-volume{color:#78867a;grid-column:2/-1;align-items:center;gap:9px;font-size:11px;display:flex}.pepperscore .mixer-volume input{accent-color:#588366;flex:1;min-width:0}.pepperscore .mixer-volume output{text-align:right;color:#345642;font-variant-numeric:tabular-nums;min-width:34px}.pepperscore .instrument-picker-backdrop{z-index:120;background:#17271b66;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pepperscore .instrument-picker-panel{background:#fff;border:1px solid #e2e9e0;border-radius:16px;flex-direction:column;width:min(680px,100%);max-height:min(88%,760px);padding:19px;display:flex;overflow:hidden;box-shadow:0 18px 60px #15251a40}.pepperscore .instrument-picker-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.pepperscore .instrument-picker-heading h2{color:#345642;margin:0;font-size:17px}.pepperscore .instrument-picker-heading p{color:#78867a;margin:3px 0 0;font-size:12px}.pepperscore .instrument-picker-grid{scrollbar-width:thin;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:2px;display:grid;overflow:auto}.pepperscore .instrument-picker-grid button{color:#3c5040;text-align:center;background:#fff;border:1px solid #e5eae2;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:96px;padding:9px 5px;font-size:11px;line-height:1.2;display:flex}.pepperscore .instrument-picker-grid button:hover,.pepperscore .instrument-picker-grid button:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .instrument-picker-grid button.is-selected{background:#eaf3e9;border-color:#6c9875;box-shadow:inset 0 0 0 1px #6c9875}.pepperscore .instrument-picker-grid img{object-fit:contain;width:42px;height:42px}@container pepperscore (width<=580px){.pepperscore .instrument-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pepperscore .instrument-picker-grid button{min-height:80px;font-size:10px}.pepperscore .instrument-picker-grid img{width:32px;height:32px}}.pepperscore .instrument-family-filters{flex-wrap:wrap;gap:5px;margin:0 0 12px;display:flex}.pepperscore .instrument-family-filters button{color:#5b6d5e;white-space:nowrap;background:#fff;border:1px solid #dde7dc;border-radius:999px;padding:6px 9px;font-size:10px}.pepperscore .instrument-family-filters button:hover,.pepperscore .instrument-family-filters button:focus-visible{background:#f2f7f1}.pepperscore .instrument-family-filters button.is-selected{color:#345642;background:#eaf3e9;border-color:#6c9875;font-weight:700}.pepperscore .instrument-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.pepperscore .instrument-picker-pages{color:#718073;justify-content:center;align-items:center;gap:14px;padding-top:12px;font-size:11px;display:flex}.pepperscore .instrument-picker-pages button{color:#3e6047;background:#fff;border:1px solid #dfe6dc;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.pepperscore .instrument-picker-pages button:hover:not(:disabled){background:#edf3ec}.pepperscore .instrument-picker-pages button:disabled{opacity:.4;cursor:default}@container pepperscore (width<=580px){.pepperscore .instrument-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.pepperscore .instrument-picker-grid button{min-height:72px;padding:5px 2px;font-size:9px}.pepperscore .instrument-picker-grid img{width:28px;height:28px}.pepperscore .instrument-family-filters{gap:4px;margin-bottom:8px}.pepperscore .instrument-family-filters button{padding:5px 7px;font-size:9px}.pepperscore .instrument-picker-pages{padding-top:8px}}.pepperscore[data-ps-short] .instrument-picker-panel{max-height:calc(100% - 16px);padding:10px}.pepperscore[data-ps-short] .instrument-picker-heading{margin-bottom:7px}.pepperscore[data-ps-short] .instrument-family-filters{margin-bottom:6px}.pepperscore[data-ps-short] .instrument-picker-grid button{gap:2px;min-height:53px}.pepperscore[data-ps-short] .instrument-picker-grid img{width:23px;height:23px}.pepperscore[data-ps-short] .instrument-picker-pages{padding-top:5px}.pepperscore .instrument-picker-sections{align-self:flex-start;margin:0 0 12px}.pepperscore .instrument-picker-sections button{padding:7px 14px;font-size:11px}.pepperscore .instrument-picker-section{flex-direction:column;min-height:0;display:flex}.pepperscore .instrument-chooser{flex-direction:column;gap:12px;min-height:0;font-family:Poppins,Arial,sans-serif;display:flex}.pepperscore .instrument-chooser-options{scrollbar-width:thin;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:2px;display:grid;overflow:auto}.pepperscore .instrument-chooser-option{color:#3c5040;text-align:center;background:#fff;border:1px solid #e5eae2;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:78px;padding:8px 5px;font-size:11px;line-height:1.2;display:flex}.pepperscore .instrument-chooser-option:hover,.pepperscore .instrument-chooser-option:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .instrument-chooser-option.is-selected{background:#eaf3e9;border-color:#6c9875;font-weight:700;box-shadow:inset 0 0 0 1px #6c9875}.pepperscore .instrument-chooser-icon{object-fit:contain;color:#597660;width:34px;height:34px}.pepperscore .instrument-chooser-settings{border-top:1px solid #f0f2ee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding-top:12px;display:flex}.pepperscore .instrument-level button{padding:6px 10px;font-size:11px}.pepperscore .instrument-fit-toggle{color:#5d6b61;align-items:center;gap:9px;font-size:11px;display:flex}.pepperscore .instrument-fit-toggle .ps-switch{flex:none}.pepperscore .instrument-chooser.is-compact{gap:8px}.pepperscore .instrument-chooser.is-compact .instrument-chooser-options{grid-template-columns:1fr;gap:2px}.pepperscore .instrument-chooser.is-compact .instrument-chooser-option{text-align:left;border-color:#0000;flex-direction:row;justify-content:flex-start;gap:9px;min-height:34px;padding:5px 9px;font-size:12px}.pepperscore .instrument-chooser.is-compact .instrument-chooser-icon{width:20px;height:20px}.pepperscore .instrument-chooser.is-compact .instrument-chooser-settings{flex-direction:column;align-items:stretch;padding-top:8px}@container pepperscore (width<=580px){.pepperscore .instrument-chooser-options{gap:5px}.pepperscore .instrument-chooser-option{min-height:64px;padding:5px 2px;font-size:9px}.pepperscore .instrument-chooser-icon{width:26px;height:26px}.pepperscore .instrument-level button{padding:5px 7px;font-size:10px}}.pepperscore[data-ps-short] .instrument-chooser-option{gap:2px;min-height:48px}.pepperscore[data-ps-short] .instrument-chooser-icon{width:22px;height:22px}.pepperscore .score-stage .part-control{height:var(--part-control-height,36px)}.pepperscore .part-controls .part-icon{width:var(--part-icon,28px);height:var(--part-icon,28px)}.pepperscore .transport>.header-control{display:contents}.pepperscore .header-stave-scale{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-family:Poppins,Arial,sans-serif;font-size:10px;font-weight:700;display:flex}.pepperscore .header-stave-scale-input{accent-color:#5d8164;cursor:pointer;width:88px;height:18px;margin:0}.pepperscore .header-stave-scale-value{color:#345642;letter-spacing:0;text-align:right;font-variant-numeric:tabular-nums;min-width:36px;font-size:11px}.pepperscore .header-more,.pepperscore .header-secondary-panel,.pepperscore .header-secondary-panel>.header-control{display:contents}.pepperscore .header-more-toggle{color:#486b51;display:none}.pepperscore .header-more-toggle.is-open{background:#edf3ec}.pepperscore .mixer-trigger-label{display:none}@container pepperscore (width<=1140px){.pepperscore .header-stave-scale-label,.pepperscore .bpm-control span,.pepperscore .header-bars-setting>span{display:none}.pepperscore .bpm-control{margin-left:0}.pepperscore .header-stave-scale-input{width:64px}}@container pepperscore (width<=900px){.pepperscore .header-stave-scale-input{width:56px}}@container pepperscore (width<=640px){.pepperscore .header-stave-scale-input{width:44px}.pepperscore .topbar .header-bars-setting select{min-width:58px}}.pepperscore .header-transpose{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.pepperscore .header-transpose-controls{align-items:center;gap:3px;display:flex}.pepperscore .header-transpose-controls button,.pepperscore .header-key-flip-button{color:#3e6047;background:#fff;border:1px solid #dfe6dc;border-radius:7px;justify-content:center;align-items:center;height:30px;padding:0;display:inline-flex}.pepperscore .header-transpose-controls button{flex:none;width:30px}.pepperscore .header-transpose-controls button:disabled{opacity:.4;cursor:default}.pepperscore .header-transpose-readout{text-align:center;white-space:nowrap;color:#345642;letter-spacing:0;font-variant-numeric:tabular-nums;flex:none;width:66px;font-size:11px;font-weight:700;overflow:hidden}.pepperscore .header-transpose-label,.pepperscore .header-key-flip-caption,.pepperscore .header-tab-view-caption{display:none}.pepperscore .header-key-flip{color:#879289;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.pepperscore .header-key-flip-button{white-space:nowrap;color:#345642;letter-spacing:0;font-variant-numeric:tabular-nums;flex:none;gap:4px;width:84px;font-size:11px;font-weight:700;overflow:hidden}.pepperscore .header-key-flip-icon,.pepperscore .pitch-key-flip-icon{font-size:14px;line-height:1}.pepperscore .header-key-flip-button.is-disabled,.pepperscore .pitch-key-flip.is-disabled{opacity:.45;cursor:default}.pepperscore .header-transpose-controls button:not(:disabled):hover,.pepperscore .header-key-flip-button:not(.is-disabled):hover{background:#f2f7f1}@container pepperscore (width<=1140px){.pepperscore .header-key-flip-label{display:none}.pepperscore .header-key-flip-button{width:30px}}@container pepperscore (width<=900px){.pepperscore .header-transpose-readout{width:58px;font-size:10px}.pepperscore .header-transpose-controls button{width:28px}}@container pepperscore (width<=760px){.pepperscore .header-more{display:flex}.pepperscore .topbar .header-more-toggle{display:grid}.pepperscore .header-secondary-panel{z-index:40;background:#fff;border:1px solid #e2e9e0;border-radius:12px;flex-direction:column;gap:4px;width:min(340px,100cqw - 16px);padding:10px 12px;font-family:Poppins,Arial,sans-serif;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 12px 36px #15251a2e}.pepperscore .header-more[data-open=true] .header-secondary-panel{display:flex}.pepperscore .header-secondary-panel>.header-control{border-top:1px solid #f0f2ee;justify-content:space-between;align-items:center;min-height:40px;padding:2px 0;display:flex}.pepperscore .header-secondary-panel>.header-control:first-child{border-top:0}.pepperscore .header-secondary-panel .bpm-control{justify-content:space-between;width:100%;margin-left:0}.pepperscore .header-secondary-panel .bpm-control span,.pepperscore .header-secondary-panel .header-stave-scale-label,.pepperscore .header-secondary-panel .header-bars-setting>span{display:inline}.pepperscore .header-secondary-panel .header-bars-setting,.pepperscore .header-secondary-panel .header-stave-scale{justify-content:space-between;width:100%}.pepperscore .header-secondary-panel .header-bars-setting select{min-width:57px}.pepperscore .header-secondary-panel .header-stave-scale-input{flex:1;width:auto;min-width:0}.pepperscore .header-secondary-panel .mixer-trigger{align-items:center;gap:8px;width:auto;height:34px;padding:0 8px;font-size:11px;font-weight:700;display:flex}.pepperscore .header-secondary-panel .mixer-trigger-label{display:inline}.pepperscore .header-secondary-panel .header-control-mixer{justify-content:flex-start}.pepperscore .header-secondary-panel .header-transpose,.pepperscore .header-secondary-panel .header-key-flip{justify-content:space-between;width:100%}.pepperscore .header-secondary-panel .header-transpose-label,.pepperscore .header-secondary-panel .header-key-flip-caption,.pepperscore .header-secondary-panel .header-tab-view-caption{display:inline}.pepperscore .header-secondary-panel .header-tab-view{color:#879289;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:10px;font-weight:700;display:flex}.pepperscore .header-secondary-panel .header-transpose-readout{width:66px;font-size:11px}.pepperscore .header-secondary-panel .header-transpose-controls button{width:34px;height:34px}.pepperscore .header-secondary-panel .header-key-flip-button{width:96px;height:34px}.pepperscore .header-secondary-panel .header-key-flip-label{display:inline}}@container pepperscore (width<=580px){.pepperscore .mixer-panel{padding:15px}.pepperscore .mixer-track{grid-template-columns:24px minmax(0,1fr) 32px 120px;gap:6px}}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-stage{top:max(40px,calc(50% - var(--landscape-staff-center,70px)))}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape .score-meta{bottom:calc(100% - max(40px,calc(50% - var(--landscape-staff-center,70px))) - var(--landscape-meta-offset,35px))}.pepperscore[data-ps-short][data-ps-wide] .ps-landscape.has-many-staves .score-stage{top:max(30px,calc(50% - var(--landscape-staff-center,70px) + 30px))}.pepperscore .play-button{white-space:nowrap;flex:none;gap:7px;height:38px;padding:0 16px}.pepperscore .header-open-file{color:#345642;white-space:nowrap;background:#fff;border:1px solid #cfdacd;border-radius:10px;align-items:center;gap:6px;height:38px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.pepperscore .header-open-file:hover{background:#f2f7f1;border-color:#b7c8b5}.pepperscore .header-open-file[aria-expanded=true]{background:#edf3ec}.pepperscore .mode-toggle{align-items:stretch;height:38px;padding:2px}.pepperscore .mode-toggle button{justify-content:center;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.pepperscore .mode-toggle-label-short{display:none}.pepperscore .topbar .transport{gap:10px}@container pepperscore (width<=1140px){.pepperscore .topbar .transport{gap:8px}}@container pepperscore (width<=900px){.pepperscore .topbar .transport{gap:5px}.pepperscore .topbar .play-button{padding:0 12px}.pepperscore .topbar .header-open-file{padding:0 10px}.pepperscore .mode-toggle button{min-width:36px;padding:0 6px;font-size:12px}.pepperscore .mode-toggle-label-full{display:none}.pepperscore .mode-toggle-label-short{display:inline}}@container pepperscore (width<=580px){.pepperscore .topbar{padding:0 8px}.pepperscore .topbar .transport{gap:6px}.pepperscore .transport>.header-control>.icon-button,.pepperscore .topbar .header-more-toggle{width:38px;height:38px}}@container pepperscore (width<=360px){.pepperscore .topbar{padding:0 4px}.pepperscore .topbar .transport{gap:3px}.pepperscore .transport>.header-control>.icon-button,.pepperscore .topbar .header-more-toggle{width:36px;height:36px}.pepperscore .play-button,.pepperscore .header-open-file,.pepperscore .mode-toggle{height:36px}.pepperscore .topbar .play-button{gap:4px;padding:0 8px;font-size:12px}.pepperscore .topbar .play-button.is-loading svg{display:none}.pepperscore .topbar .header-open-file{gap:4px;padding:0 7px;font-size:12px}.pepperscore .mode-toggle{padding:1px}.pepperscore .mode-toggle button{min-width:34px;padding:0 4px}}.pepperscore .tab-view-toggle-header{background:#f0f0ec;border:1px solid #e5e7e1;border-radius:10px;flex-shrink:0;align-items:stretch;height:38px;padding:2px;display:flex}.pepperscore .tab-view-toggle-header button{color:#869087;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .tab-view-toggle-header button.is-selected{color:#345642;background:#fff;box-shadow:0 1px 5px #253b2e16}.pepperscore .tab-view-toggle-label-short{display:none}@container pepperscore (width>=761px) and (width<=1260px){.pepperscore .header-tab-view.has-drawer-copy{display:none}}@container pepperscore (width<=1400px){.pepperscore .tab-view-toggle-header button{min-width:36px;padding:0 7px}.pepperscore .tab-view-toggle-label-full{display:none}.pepperscore .tab-view-toggle-label-short{display:inline}}@container pepperscore (width<=760px){.pepperscore .header-secondary-panel .tab-view-toggle-label-full{display:inline}.pepperscore .header-secondary-panel .tab-view-toggle-label-short{display:none}.pepperscore .header-secondary-panel .tab-view-toggle-header button{letter-spacing:normal;padding:0 9px}}.pepperscore .tab-view-choice .tab-view-toggle button{min-width:44px}.pepperscore .ps-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pepperscore .ps-portrait .score-content{padding-bottom:calc(70px + var(--page-tail,0px))}.pepperscore .score-system.is-pending{opacity:.7;background:repeating-linear-gradient(#0000 0 22px,#f3f4ef 22px 23px);border-radius:6px}.pepperscore .score-viewport{overflow-anchor:none}.pepperscore .reader-notices{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:flex;position:absolute;bottom:65px;left:50%;transform:translate(-50%)}.pepperscore .reader-notices>*{pointer-events:auto}.pepperscore .reader-notices .playback-notice{max-width:100%;position:static;transform:none}.pepperscore .large-file-notice,.pepperscore .reopen-banner{color:#46604d;background:#f2f6f0;border:1px solid #cddbcc;border-radius:8px;align-items:center;gap:10px;max-width:100%;padding:10px 12px;font-size:12px;line-height:1.4;display:flex;box-shadow:0 6px 20px #34564218}.pepperscore .large-file-notice-icon,.pepperscore .reopen-banner-icon{flex:none}.pepperscore .large-file-notice-dismiss{color:inherit;background:0 0;border:0;flex:none;place-items:center;display:grid}.pepperscore .reopen-banner{flex-wrap:wrap;row-gap:8px}.pepperscore .reopen-banner-body{flex-direction:column;flex:180px;min-width:0;display:flex}.pepperscore .reopen-banner-text{overflow-wrap:anywhere}.pepperscore .reopen-banner-name{font-weight:600}.pepperscore .reopen-banner-privacy{color:#7d8f80;font-size:11px}.pepperscore .reopen-banner-actions{flex:none;align-items:center;gap:6px;display:flex}.pepperscore .reopen-banner-actions button{color:#46604d;background:#fff;border:1px solid #cddbcc;border-radius:7px;height:30px;padding:0 11px;font-size:11px;font-weight:700}.pepperscore .reopen-banner-actions .reopen-banner-reopen{color:#fff;background:#365c42;border-color:#365c42}.pepperscore .reopen-banner-actions .reopen-banner-reopen:hover{background:#284c34}.pepperscore .reopen-banner-actions .reopen-banner-later:hover,.pepperscore .reopen-banner-actions .reopen-banner-forget:hover{background:#eef3ec}.pepperscore .ps-toast.is-out-of-memory{flex-wrap:wrap;row-gap:8px;max-width:min(460px,100% - 40px)}.pepperscore .ps-toast-text,.pepperscore .ps-error-text{flex:220px;line-height:1.45}.pepperscore .oom-retry-button{color:#fff;background:#9a482d;border:1px solid #9a482d;border-radius:7px;height:30px;padding:0 11px;font-size:11px;font-weight:700}.pepperscore .ps-toast .oom-retry-button{color:#fff;background:#9a482d;border:1px solid #9a482d;align-items:center;display:inline-flex}.pepperscore .oom-retry-button:hover,.pepperscore .ps-toast .oom-retry-button:hover{background:#7f3920}.pepperscore .ps-error .oom-retry-button{margin-top:8px}.pepperscore .ps-error{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pepperscore .forget-last-file{color:#8a6a5e}.pepperscore .score-viewport{scrollbar-gutter:stable}.pepperscore[data-ps-height=natural] .score-viewport{scrollbar-gutter:auto;overflow-y:hidden}.pepperscore .mixer-panel:focus:not(:focus-visible),.pepperscore .instrument-picker-panel:focus:not(:focus-visible){outline:none}.pepperscore .ps-compact-play{z-index:9;color:#fff;background:#345642;border-radius:50%;width:36px;height:36px;position:absolute;top:8px;right:8px;box-shadow:0 3px 8px #34564233}.pepperscore .topbar .ps-compact-play{top:50%;transform:translateY(-50%)}.pepperscore .ps-compact-play:hover{background:#254633}.pepperscore .ps-compact-play.is-loading{opacity:.75}.pepperscore .ps-corner-controls{z-index:9;gap:8px;display:flex;position:absolute;top:8px;right:8px}.pepperscore .ps-corner-controls.has-compact-play{right:52px}.pepperscore .topbar .ps-corner-controls{top:50%;transform:translateY(-50%)}.pepperscore .instrument-switch{background:#fff;border:1px solid #d7e0d5;border-radius:50%;width:36px;height:36px;box-shadow:0 3px 8px #34564222}.pepperscore .instrument-switch:hover,.pepperscore .instrument-switch.is-open{background:#eef4ec;border-color:#8fb89a}.pepperscore .instrument-switch-icon{object-fit:contain;width:22px;height:22px}.pepperscore .ps-embed-toolbar{background:#fbfaf8;border-top:1px solid #eef0ec;flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:6px 8px;display:flex}.pepperscore .ps-embed-toolbar .ps-compact-play{position:static;transform:none}.pepperscore .instrument-menu{box-sizing:border-box;color:#242824;text-align:left;background:#fff;border:1px solid #e2e8e0;border-radius:12px;outline:none;flex-direction:column;gap:8px;margin:0;padding:10px;font-family:Poppins,Arial,sans-serif;line-height:normal;display:flex;inset:auto;overflow:auto;box-shadow:0 12px 36px #1d2b2033}.pepperscore .instrument-menu .instrument-chooser.is-compact .instrument-chooser-options{grid-template-columns:1fr 1fr;overflow:visible}.pepperscore .instrument-menu-parts{border-bottom:1px solid #f0f2ee;flex-wrap:wrap;gap:4px;padding-bottom:8px;display:flex}.pepperscore .instrument-menu-part{color:#3c5040;background:#fff;border:1px solid #e5eae2;border-radius:16px;align-items:center;gap:7px;min-height:32px;padding:4px 10px;font-size:11px;display:flex}.pepperscore .instrument-menu-part:hover,.pepperscore .instrument-menu-part:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .instrument-menu-part.is-selected{background:#eaf3e9;border-color:#6c9875;font-weight:700}.pepperscore .instrument-menu-part-icon{object-fit:contain;width:18px;height:18px}.pepperscore .no-page-controls.ps-portrait .edge-end,.pepperscore .no-page-controls.ps-landscape .edge-fade{bottom:0}.pepperscore .app-shell.no-drawer .ps-toast,.pepperscore .app-shell.no-drawer .reader-notices{bottom:12px}.pepperscore[data-ps-height=natural]{min-height:120px}.pepperscore[data-ps-height=natural] .ps-landscape .score-content{grid-template-rows:auto auto}.pepperscore[data-ps-clock] .score-system svg .reader-note,.pepperscore[data-ps-clock] .score-system svg .measure{cursor:pointer}.pepperscore .drawer-foot{gap:14px}.pepperscore .drawer-licences{color:inherit;text-underline-offset:2px;white-space:nowrap;text-decoration:underline}.pepperscore .drawer-licences:hover{color:#61806a}.pepperscore .annotations-panel{container:ps-annotations/inline-size}.pepperscore .annotation-row{flex-wrap:wrap;gap:8px 10px}.pepperscore .annotation-row .annotation-name{flex:auto;min-width:0}.pepperscore .annotation-row .ps-switch{flex:none}.pepperscore .annotation-row .annotation-size{flex:1 0 100%;order:3;justify-content:space-between}.pepperscore .annotation-size button{letter-spacing:.02em;flex:1 1 0;min-width:0;padding:4px 0;font-size:10px}@container ps-annotations (width>=360px){.pepperscore .annotation-row .annotation-size{flex:none;order:0}.pepperscore .annotation-size button{flex:none;padding:4px 7px}}.pepperscore .count-label.is-subdivision{font-size:calc(13px * var(--ps-subdivision-scale,1))}.pepperscore .score-system svg .ps-octave-selection{filter:drop-shadow(0 0 1.5px var(--ps-selection,#2f6a9a)) drop-shadow(0 0 3px var(--ps-selection,#2f6a9a))}.pepperscore .octave-tool-entry{flex-wrap:wrap;align-items:center;gap:6px 10px;font-family:Poppins,Arial,sans-serif;display:flex}.pepperscore .octave-tool-entry-drawer{flex-basis:100%;margin-top:16px}.pepperscore .octave-tool-entry-menu{border-top:1px solid #f0f2ee;padding-top:8px}.pepperscore .octave-tool-toggle{color:#3e6047;background:#fff;border:1px solid #dfe6dc;border-radius:8px;min-height:32px;padding:5px 12px;font-size:11px;font-weight:700}.pepperscore .octave-tool-toggle:hover,.pepperscore .octave-tool-toggle:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .octave-tool-toggle.is-selected{color:#fff;background:#365c42;border-color:#365c42}.pepperscore .octave-tool-toggle-compact{border-radius:18px;min-height:36px;box-shadow:0 3px 8px #34564222}.pepperscore .octave-tool-hint{color:#87968a;font-size:11px}.pepperscore .octave-tool-dock{z-index:32;width:max-content;max-width:calc(100% - 16px);position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.pepperscore .app-shell.no-drawer .octave-tool-dock{bottom:12px}.pepperscore .app-shell .octave-tool-dock.is-above-toolbar{bottom:58px}.pepperscore .octave-toolbar{background:#fff;border:1px solid #dfe6dc;border-radius:12px;outline:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:8px 10px;font-family:Poppins,Arial,sans-serif;display:flex;box-shadow:0 8px 28px #1d2b2026}.pepperscore .octave-toolbar:focus-visible{outline-offset:2px;outline:2px solid #8fb89a}.pepperscore .octave-toolbar-status{color:#5d6b61;max-width:260px;font-size:11px}.pepperscore .octave-toolbar-actions{flex-wrap:wrap;gap:6px;display:flex}.pepperscore .octave-toolbar-button{color:#3e6047;white-space:nowrap;background:#fff;border:1px solid #dfe6dc;border-radius:8px;min-height:34px;padding:5px 11px;font-size:12px;font-weight:600}.pepperscore .octave-toolbar-button:hover:not([aria-disabled=true]),.pepperscore .octave-toolbar-button:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .octave-toolbar-button[aria-disabled=true]{cursor:default;opacity:.45}.pepperscore .octave-toolbar-button.is-primary{color:#fff;background:#365c42;border-color:#365c42}.pepperscore .octave-toolbar-button.is-primary:hover{background:#284c34}@container pepperscore (width<=580px){.pepperscore .octave-tool-dock{width:auto;max-width:none;left:8px;right:8px;transform:none}.pepperscore .octave-toolbar{justify-content:stretch}.pepperscore .octave-toolbar-status{text-align:center;flex:1 0 100%;max-width:none}.pepperscore .octave-toolbar-actions{flex:1 0 100%}.pepperscore .octave-toolbar-button{flex:auto;min-height:40px;padding:5px 6px}}.pepperscore .topbar .header-open-file{color:#486b51;background:#fff;border:1px solid #dfe5dc;transition:background .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #34564210}.pepperscore .topbar .header-open-file:hover{background:#f2f7f1;border-color:#b9cdb9}.pepperscore .topbar .header-open-file:focus-visible{outline-offset:2px;border-color:#8fb89a;outline:2px solid #8fb89a}.pepperscore .topbar .header-open-file[aria-expanded=true]{background:#edf3ec;border-color:#8fb89a}.pepperscore .open-dialog-backdrop{z-index:115;background:#17271b66;place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.pepperscore .open-dialog{overscroll-behavior:contain;color:#344c38;background:#fff;border:1px solid #e2e9e0;border-radius:16px;flex-direction:column;width:min(560px,100%);max-height:min(88%,760px);padding:19px 20px 20px;font-family:Poppins,Arial,sans-serif;display:flex;overflow:auto;box-shadow:0 18px 60px #15251a40}.pepperscore .open-dialog-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.pepperscore .open-dialog-title{color:#345642;align-items:center;gap:9px;min-width:0;display:flex}.pepperscore .open-dialog-title-text{margin:0;font-size:17px;font-weight:650}.pepperscore .open-dialog-intro{color:#78867a;margin:3px 0 12px;font-size:12px;line-height:1.5}.pepperscore .open-dialog-formats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 16px;padding:0;list-style:none;display:grid}.pepperscore .open-dialog-format{background:#f8faf7;border:1px solid #e2e8e0;border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:8px 11px;display:flex}.pepperscore .open-dialog-format-name{color:#345642;font-size:12px;font-weight:700}.pepperscore .open-dialog-format-detail{color:#7c8a7e;overflow-wrap:anywhere;font-size:11px}.pepperscore .open-dialog-entry-label{color:#536055;margin:0 0 6px;font-size:11px;font-weight:700;display:block}.pepperscore .open-dialog-dropzone{background:#fdfefc;border:1.5px dashed #c9d8c8;border-radius:12px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.pepperscore .open-dialog-dropzone:focus-within{border-color:#8fb89a;box-shadow:0 0 0 3px #8fb89a2e}.pepperscore .open-dialog-dropzone.is-drag-over{background:#f0f6ef;border-style:solid;border-color:#486b51;box-shadow:0 0 0 4px #486b5124}.pepperscore .open-dialog-abc-input{resize:vertical;color:#3e4f41;background:0 0;border:0;border-radius:12px;outline:none;width:100%;min-height:148px;padding:12px 13px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.55;display:block}.pepperscore .open-dialog-abc-input::placeholder{color:#a9b5aa}.pepperscore .open-dialog-drop-overlay{color:#345642;pointer-events:none;background:#f0f6ef;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.pepperscore .open-dialog-drop-text{font-size:13px;font-weight:700}.pepperscore .open-dialog-spinner{width:22px;height:22px}.pepperscore .open-dialog-tip{color:#78867a;margin:8px 0 0;font-size:11.5px;line-height:1.5}.pepperscore .open-dialog-tip-keys{color:#9aa69b}.pepperscore .open-dialog-message{border-radius:10px;margin:10px 0 0;padding:9px 11px;font-size:12px;line-height:1.45}.pepperscore .open-dialog-message.is-error{color:#9a482d;background:#fff3ee;border:1px solid #e9c7bb}.pepperscore .open-dialog-message.is-hint{color:#6b5a1f;background:#fdf8e9;border:1px solid #eadcae}.pepperscore .open-dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.pepperscore .open-dialog-browse{color:#345642;background:#fff;border:1px solid #dfe5dc;border-radius:10px;align-items:center;gap:8px;height:37px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .open-dialog-browse:hover{background:#f2f7f1;border-color:#b9cdb9}.pepperscore .open-dialog-open-abc{border-radius:10px;height:37px;margin-left:auto;font-size:12px}.pepperscore .open-dialog-open-abc:disabled{cursor:not-allowed;opacity:.45}.pepperscore .open-dialog button:focus-visible{outline-offset:2px;outline:2px solid #8fb89a}.pepperscore .open-dialog-choices{flex-direction:column;min-height:0;display:flex}.pepperscore .open-dialog-choices-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.pepperscore .open-dialog-choices-title{color:#344c38;margin:0;font-size:13px;font-weight:700}.pepperscore .open-dialog-choices-count{color:#87968a;margin-left:6px;font-size:11px;font-weight:500}.pepperscore .open-dialog-choices-back{margin:0}.pepperscore .open-dialog-choices-note{color:#8a948a;margin:0 0 6px;font-size:11px}.pepperscore .open-dialog-choice-list{background:#f8faf7;border:1px solid #e2e8e0;border-radius:12px;flex-direction:column;gap:5px;max-height:320px;margin:0;padding:4px;list-style:none;display:flex;overflow:auto}.pepperscore .open-dialog-choice{color:#344c38;text-align:left;background:#fff;border:1px solid #e2e8e0;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 11px;display:grid}.pepperscore .open-dialog-choice:hover,.pepperscore .open-dialog-choice:focus-visible{background:#f2f7f1;border-color:#8fb89a}.pepperscore .open-dialog-choice-icon{color:#6b8a6e}.pepperscore .open-dialog-choice-text{flex-direction:column;min-width:0;display:flex}.pepperscore .open-dialog-choice-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.pepperscore .open-dialog-choice-path{color:#87968a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pepperscore .open-dialog-choice-format{color:#486b51;white-space:nowrap;background:#edf3ec;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}@container pepperscore (width<=480px){.pepperscore .open-dialog-backdrop{place-items:start center;padding:10px}.pepperscore .open-dialog{max-height:calc(100% - 20px);padding:15px}.pepperscore .open-dialog-formats{grid-template-columns:1fr 1fr;gap:6px}.pepperscore .open-dialog-format{padding:7px 9px}.pepperscore .open-dialog-abc-input{min-height:120px}.pepperscore .open-dialog-actions>button{flex:auto;justify-content:center}.pepperscore .open-dialog-open-abc{margin-left:0}}@container pepperscore (width<=340px){.pepperscore .open-dialog-formats{grid-template-columns:1fr}}.pepperscore .open-dialog:focus:not(:focus-visible){outline:none}
6
6
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pepperscore",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "An embeddable, browser-only music score reader for React: MusicXML, MXL, MIDI, MEI and ABC, engraved by Verovio, with playback.",
5
5
  "license": "MIT AND LGPL-3.0-or-later",
6
6
  "type": "module",
@@ -15,6 +15,11 @@
15
15
  "import": "./dist/audio.js",
16
16
  "default": "./dist/audio.js"
17
17
  },
18
+ "./instruments": {
19
+ "types": "./dist/instruments.d.ts",
20
+ "import": "./dist/instruments.js",
21
+ "default": "./dist/instruments.js"
22
+ },
18
23
  "./style.css": "./dist/style.css",
19
24
  "./package.json": "./package.json"
20
25
  },
@@ -33,6 +38,7 @@
33
38
  "scripts": {
34
39
  "build": "vite build && tsc -p tsconfig.build.json && node scripts/finalize-css.mjs && node scripts/finalize-dist.mjs",
35
40
  "check": "tsc --noEmit -p .",
41
+ "test": "vitest run",
36
42
  "prepack": "npm run build"
37
43
  },
38
44
  "peerDependencies": {
@@ -55,6 +61,7 @@
55
61
  "react-dom": "^19.2.0",
56
62
  "typescript": "^5.9.3",
57
63
  "verovio": "6.3.0",
58
- "vite": "^8.3.1"
64
+ "vite": "^8.3.1",
65
+ "vitest": "^3.0.0"
59
66
  }
60
67
  }
@@ -1,7 +0,0 @@
1
- const e=/<(?:!--[\s\S]*?--|\?[\s\S]*?\?|!\[CDATA\[[\s\S]*?\]\]|!DOCTYPE[^>]*|(\/?)([A-Za-z_][\w.:-]*)((?:\s+[^\s=/>]+(?:\s*=\s*(?:"[^"]*"|'[^']*'))?)*)\s*(\/?))>/g,t=/* @__PURE__ */ new Map;function n(e){let n=t.get(e);return n||(n=RegExp(`\\s${e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`),t.set(e,n)),n}function r(e,t){if(!e.includes(t))return null;let r=n(t).exec(e);return r?r[1]??r[2]??``:null}function i(e,t){return e.replace(n(t),``)}function a(e,t,r){return e.replace(n(t),` ${t}="${r}"`)}const o=e=>e.slice(e.indexOf(`:`)+1),s=e=>r(e,`xml:id`)||``,c=e=>(e||``).split(/\s+/).filter(Boolean),l=e=>e.replace(/^#/,``);function u(t,n){e.lastIndex=0;for(let r=e.exec(t);r;r=e.exec(t))if(r[2]&&n({closing:r[1]===`/`,name:o(r[2]),attributes:r[3]||``,selfClosing:r[4]===`/`,index:r.index,length:r[0].length}))return}function d(e){let t=[],n=[],i=[],a=[],o=[],c=-1,l=!1,d=!1,f=0,p=/* @__PURE__ */ new Set,m=0;return u(e,({closing:e,name:u,attributes:h,selfClosing:g})=>{if(e){a.pop(),u===`staff`&&d?(d=!1,f&&(m=Math.max(m,Math.ceil(f/p.size)))):c>=0&&(u===`staffGrp`&&o.pop(),u===`scoreDef`&&a.length===c&&(c=-1,l=!0));return}if(u===`measure`)t.push(s(h));else if(u===`staff`&&!g)d=!0,f=0,p=/* @__PURE__ */ new Set;else if(u===`verse`&&d)f++,p.add(r(h,`n`)||`1`);else if(u===`scoreDef`&&!l&&c<0)g?l=!0:c=a.length;else if(c>=0){if(u===`staffGrp`)i.push({id:s(h),staves:[]}),g||o.push(i.length-1);else if(u===`staffDef`){let e={n:r(h,`n`)||``,id:s(h)};n.push(e),a.at(-1)===`staffGrp`&&o.length&&i[o.at(-1)].staves.push(e)}}g||a.push(u)}),{measureIds:t,lyricDensity:m,staffDefs:n,groups:i}}const f=/* @__PURE__ */ new Set([`meiHead`,`label`,`labelAbbr`,`sb`,`pb`,`pgHead`,`pgFoot`]);function p(e,t){let n=/* @__PURE__ */ new Set,i=[],a=[],o=0;return u(e,({closing:e,name:l,attributes:u,selfClosing:d})=>{if(e){o?o--:l===`staffGrp`&&a.pop();return}let f=l===`staffGrp`?i.push(0)-1:-1;if(o){let e=s(u);e&&n.add(e),d||o++;return}let p=(l===`staffDef`||l===`staff`)&&t.has(r(u,`n`)||``);if(!p){let e=c(r(u,`staff`));p=e.length>0&&e.every(e=>t.has(e))}if(p){let e=s(u);e&&n.add(e),d||(o=1);return}if(l===`staffDef`)for(let e of a)i[e]++;f>=0&&!d&&a.push(f)}),{removed:n,emptyGroups:new Set(i.flatMap((e,t)=>e?[]:[t]))}}function m(e,t,n=1/0,o=0){let d=new Set(t.hiddenStaves),{removed:m,emptyGroups:h}=d.size?p(e,d):{removed:/* @__PURE__ */ new Set,emptyGroups:/* @__PURE__ */ new Set},g=e=>m.size>0&&c(e).some(e=>m.has(l(e))),_=[],v=[],y=0,b=0,x=0,S=0,C=0,w=-1,T=-1,E=()=>++C>=n,D=t.chordSymbols&&t.harmSize&&t.harmSize!==100?Math.round(t.harmSize):0,O=0;if(u(e,({closing:n,name:u,attributes:p,selfClosing:C,index:k,length:A})=>{b||_.push(e.slice(y,k)),y=k+A;let j=e.slice(k,k+A);if(n){if(b){b--;return}return u===`harm`&&O&&v.at(-1)===`rend`&&(v.pop(),O--,_.push(`</rend>`)),v.pop(),T=-1,_.push(j),u===`measure`&&E()?(w=y,!0):void 0}let M=u===`staffGrp`?x++:-1;if(b){if(d.size){let e=s(p);e&&m.add(e)}C||b++;return}let N=f.has(u)||u===`harm`&&!t.chordSymbols,P=j;if(!N&&d.size){let e=c(r(p,`staff`)),t=e.filter(e=>!d.has(e));N=(u===`staffDef`||u===`staff`)&&d.has(r(p,`n`)||``)||M>=0&&h.has(M)||e.length>0&&!t.length||g(r(p,`startid`))||g(r(p,`endid`)),!N&&t.length!==e.length&&(P=a(P,`staff`,t.join(` `)));let n=r(p,`plist`);if(!N&&n&&g(n)){let e=c(n).filter(e=>!m.has(l(e)));e.length?P=a(P,`plist`,e.join(` `)):N=!0}}if(N){if(d.size){let e=s(p);e&&m.add(e)}C||(b=1);return}if((u===`staffDef`||u===`staffGrp`)&&(P=i(i(P,`label`),`label.abbr`)),u===`measure`&&(t.breakEvery>0&&S>0&&(S+o)%t.breakEvery===0&&(T>=0?_.splice(T,0,`<pb/>`):_.push(`<pb/>`)),S++),(u===`ending`||u===`section`)&&!C?T<0&&(T=_.length):T=-1,_.push(P),!C)v.push(/^<([^\s/>]+)/.exec(j)[1]);else if(u===`measure`&&E())return w=y,!0;if(D&&u===`harm`&&!C){let t=e.indexOf(`</harm>`,y);(t>=0?e.slice(y,t).includes(`<fb`):e.includes(`<fb`,y))||(_.push(`<rend fontsize="${D}%">`),v.push(`rend`),O++)}}),w<0)return _.push(e.slice(y)),_.join(``);for(let e=v.length-1;e>=0;e--)_.push(`</${v[e]}>`);return _.join(``)}const h=[`C`,`D`,`E`,`F`,`G`,`A`,`B`],g={C:0,D:2,E:4,F:5,G:7,A:9,B:11},_=[`Cb`,`Gb`,`Db`,`Ab`,`Eb`,`Bb`,`F`,`C`,`G`,`D`,`A`,`E`,`B`,`F#`,`C#`],v=[`Ab`,`Eb`,`Bb`,`F`,`C`,`G`,`D`,`A`,`E`,`B`,`F#`,`C#`,`G#`,`D#`,`A#`],y=[0,-5,2,-3,4,-1,6,1,-4,3,-2,5],b=[0,7,2,-3,4,-1,6,1,-4,3,-2,5],x=(e,t)=>(e%t+t)%t,S=e=>e>0?`#`.repeat(e):`b`.repeat(-e);function C(e){let t=0;for(let n of e)t+=n===`#`||n===`♯`?1:n===`x`||n===`𝄪`?2:n===`𝄫`?-2:-1;return t}function w(e,t){let n=(t>0?`FCGDAEB`:`BEADGCF`).indexOf(e),r=n<Math.abs(t)?Math.floor((Math.abs(t)-1-n)/7)+1:0;return t>0?r:-r}function T(e,t=`major`){let n=(t===`minor`?v:_)[e+7];if(!n)throw Error(`No key with ${e} fifths`);return{tonic:n,mode:t,fifths:e,scale:h.map(t=>({step:t,alter:w(t,e)}))}}function E(e){let t=e.fifths>0?e.fifths-12:e.fifths<0?e.fifths+12:null;return t===null||Math.abs(t)>7?null:T(t,e.mode)}function D(e,t=`major`,n={}){let r=x(e+(t===`minor`?3:0),12),i=T((n.family===`sharp`?b:y)[r],t);return n.flip?E(i)??i:i}function O(e,t){return{...t,octave:Math.round((e-g[t.step]-t.alter)/12)-1}}const k=(e,t)=>x(g[t.step]+t.alter,12)===x(e,12),A=e=>h.indexOf(e);function j(e,t){let n=x(A(t.step)-A(e),7);return n===1?1:n===6?-1:0}function M(e,t,n={}){let r=x(e,12),i=n.source&&k(r,n.source)?n.source:void 0;if(i&&Math.abs(i.alter)===2&&!n.transposed)return O(e,i);let a=t.scale.find(e=>k(r,e));if(a)return O(e,a);let o=e=>Math.abs(e.alter)<=1&&![`E1`,`B1`,`F-1`,`C-1`].includes(e.step+e.alter);if(t.mode===`minor`){let n=A(t.tonic.charAt(0));for(let i of[5,6]){let a=t.scale[(n+i)%7],o={step:a.step,alter:a.alter+1};if(k(r,o)&&Math.abs(o.alter)<=1)return O(e,o)}}if(i&&o(i)&&n.next!==void 0&&n.next-e>=1&&n.next-e<=2)return O(e,i);let s=Object.entries(g).find(([,e])=>e===r)?.[0];if(s){let r={step:h[(A(s)+1)%7],alter:-1};if((s===`E`||s===`B`)&&t.fifths<=-6&&n.prev!==void 0&&n.next!==void 0){let i=M(n.prev,t),a=M(n.next,t),o=[j(r.step,i),j(r.step,a)];if(o.includes(1)&&o.includes(-1))return O(e,r)}return O(e,{step:s,alter:0})}let c={step:h.find(e=>g[e]===r-1),alter:1},l={step:h.find(e=>g[e]===r+1),alter:-1};return t.fifths>0?O(e,c):t.fifths<0?O(e,l):O(e,r===6?c:l)}function N(e,t){let n=/^([A-G])([#♯b♭x𝄪𝄫]*)(.*)$/s.exec(e);if(!n)return e;let r=/[♯♭]/.test(e),i=(e,n)=>{let i=M(60+g[e]+C(n),t),a=S(i.alter);return i.step+(r?a.replace(/#/g,`♯`).replace(/b/g,`♭`):a)},a=n[3].replace(/\/([A-G])([#♯b♭x𝄪𝄫]*)/g,(e,t,n)=>`/${i(t,n)}`);return i(n[1],n[2])+a}const P=[`C`,`D`,`E`,`F`,`G`,`A`,`B`],F=[0,2,4,5,7,9,11],I=(e,t)=>(e%t+t)%t;function ee(e){let t=/^([+-]?)(dd|d|m|M|P|A|AA)(\d+)$/.exec(e.trim());if(!t)return{diatonic:0,chromatic:0};let n=Number(t[3])-1,r=n%7,i=F[r]+12*Math.floor(n/7),a=(r===0||r===3||r===4?{dd:-2,d:-1,P:0,A:1,AA:2}:{dd:-3,d:-2,m:-1,M:0,A:1,AA:2})[t[2]]??0,o=t[1]===`-`?-1:1;return{diatonic:o*n,chromatic:o*(i+a)}}const te=({diatonic:e,chromatic:t})=>7*t-12*e;function ne(e,t){if(!t.diatonic&&!t.chromatic)return e;let n=P.indexOf(e.step)+t.diatonic,r=P[I(n,7)],i=e.octave+Math.floor(n/7);return{step:r,octave:i,alter:L(e)+t.chromatic-L({step:r,octave:i,alter:0})}}const L=e=>(e.octave+1)*12+F[P.indexOf(e.step)]+e.alter;function re(e){if(e==null)return null;let t=/^\s*(\d+)\s*([sf]?)\s*$/.exec(e);if(!t)return null;let n=Number(t[1]);return t[2]===`f`?-n:n}const R=e=>e>0?`${e}s`:e<0?`${-e}f`:`0`,ie=e=>{let t=e;for(;t>7;)t-=12;for(;t<-7;)t+=12;return t};function ae(e,t,n,r,i){if(t===0){let t=T(ie(e),n);return i?E(t)??t:t}let a=I(7*(e+7*t),12);return D(I(a-(n===`minor`?3:0),12),n,{family:r.profile,flip:i})}function oe(e){let t=[];return e.forEach((n,r)=>{if(n.tiedFrom!==void 0&&t[n.tiedFrom]&&L(t[n.tiedFrom])===n.midi){t.push(t[n.tiedFrom]);return}let i=e=>e&&!e.chord&&!n.chord?e.midi:void 0;t.push(M(n.midi,n.key,{source:n.source,prev:i(e[r-1]),next:i(e[r+1]),transposed:!0}))}),t}const se=(e,t)=>e.scale[P.indexOf(t)]?.alter??0;function ce(e){let t=Array(e.length).fill(!1),n=e.map((e,t)=>t).sort((t,n)=>e[t].onset-e[n].onset||t-n),r=/* @__PURE__ */ new Map;for(let i=0;i<n.length;){let a=i;for(;a<n.length&&Math.abs(e[n[a]].onset-e[n[i]].onset)<1e-6;)a++;let o=[];for(let s of n.slice(i,a)){let{pitch:n,key:i,tieEnd:a,cautionary:c}=e[s],l=`${n.step}${n.octave}`,u=r.get(l)??se(i,n.step);a||(n.alter!==u||c)&&(t[s]=!0,o.push([l,n.alter]))}for(let[e,t]of o)r.set(e,t);i=a}return t}const z=/^([A-G])([#♯b♭x𝄪𝄫]*)/,le=e=>[...e].reduce((e,t)=>e+(t===`#`||t===`♯`?1:t===`x`||t===`𝄪`?2:t===`𝄫`?-2:-1),0);function ue(e,t){let n=(e,n)=>{let r=t.reduce((e,t)=>ne(e,t),{step:e,alter:le(n),octave:4});return r.step+(r.alter>0?`#`.repeat(r.alter):`b`.repeat(-r.alter))},r=z.exec(e);if(!r)return e;let i=e.slice(r[0].length).replace(/\/([A-G])([#♯b♭x𝄪𝄫]*)/g,(e,t,r)=>`/${n(t,r)}`);return n(r[1],r[2])+i}const de=`CDEFGAB`,fe=[0,2,4,5,7,9,11],B={s:1,f:-1,n:0,x:2,ss:2,ff:-2,ts:3,tf:-3,xs:3,sx:3,nf:-1,ns:1,su:1,sd:1,fu:-1,fd:-1,nu:0,nd:0},pe=e=>({1:`s`,[-1]:`f`,0:`n`,2:`x`,[-2]:`ff`})[e]??`n`,me=e=>({1:`s`,[-1]:`f`,0:`n`,2:`ss`,[-2]:`ff`})[e]??`n`;function he(e,t){let n=(t>0?`FCGDAEB`:`BEADGCF`).indexOf(e),r=n<Math.abs(t)?Math.floor((Math.abs(t)-1-n)/7)+1:0;return t>0?r:-r}const ge={maxima:32,long:16,breve:8,1:4,2:2,4:1,8:.5,16:.25,32:.125,64:.0625,128:.03125,256:.015625};function _e(e){return r(e,`grace`)===null?(ge[r(e,`dur`)||``]??0)*(2-1/2**(Number(r(e,`dots`))||0)):0}function ve(e,t,n){let r=RegExp(`\\s${t.replace(`.`,`\\.`)}\\s*=\\s*(?:"[^"]*"|'[^']*')`);return r.test(e)?e.replace(r,` ${t}="${n}"`):e.replace(/\s*(\/?)>$/,` ${t}="${n}"$1>`)}function ye(e,t){return e.replace(RegExp(`\\s${t.replace(`.`,`\\.`)}\\s*=\\s*(?:"[^"]*"|'[^']*')`),``)}const V=[`keysig`,`key.sig`,`key.mode`,`key.pname`,`key.accid`,`key.sig.mixed`],be=e=>V.reduce(ye,e),xe=e=>e.replace(/\s*\/>$/,`>`),Se=e=>`<keySig sig="${R(e.fifths)}"${e.mode===`minor`?` mode="minor"`:``}/>`,Ce=e=>e===`minor`?`minor`:e===`major`?`major`:null,we=/^(?:\s+(?:n|xml:id|keysig|key\.[\w.]+)\s*=\s*(?:"[^"]*"|'[^']*'))*\s*$/;function Te(e,t){return t?!!t.interval||t.concert||t.flip||t.semitones!==0||/\b(?:clef\.)?shape="perc"/.test(e)||Object.values(t.staves).some(e=>e.percussion||(e.keys?.length??0)>1):!1}async function Ee(e,t,n,r=0){return!t||!Te(e,t)?e:De(t.interval?await n(e,{transpose:t.interval,transposeToSoundingPitch:!1}):e,t,r)}function De(e,t,n=0){if(!Te(e,t))return e;let i=te(ee(t.interval)),a=/* @__PURE__ */ new Map;u(e,({closing:e,name:t,attributes:n})=>{if(e||t!==`tie`)return;let i=r(n,`startid`)?.replace(/^#/,``),o=r(n,`endid`)?.replace(/^#/,``);i&&o&&a.set(o,i)});let o=[],s=[],c=[],l=[],d=[],f=[],p=new Set(Object.entries(t.staves).filter(([,e])=>e.percussion).map(([e])=>e)),m=e=>t.staves[e]??{profile:`neutral`,moved:t.semitones!==0},h=e=>!p.has(e)&&(m(e).moved||t.semitones!==0||t.flip||!!t.interval),g=[],_=[],v,y,b,x=0,S=-1,C=``,w=``,T=0,E=[],D=-1,O=0,k=0,A,j,M=()=>E.reduce((e,t)=>e*t,1),P=(e,t,n)=>{let i=re(r(e,t))??(t===`key.sig`?re(r(e,`keysig`)):null);return i===null?null:{fifths:i,mode:Ce(r(e,n))??`major`}};u(e,({closing:t,name:n,attributes:i,selfClosing:u,index:m,length:N})=>{let F=e.slice(m,m+N);if(t){if(_.pop(),b){--x===0&&(b.end=m+N,b=void 0);return}n===`staffDef`&&y?(y.end=m+N,y=void 0):n===`scoreDef`&&v?(v.end=m+N,v=void 0):n===`note`&&A?(A.end=m+N,A=void 0):n===`chord`?(O--,T+=k*M()):n===`tuplet`?E.pop():n===`harm`&&j?(j.textEnd=m,j=void 0):n===`layer`?w=``:n===`staff`&&(C=``);return}if(u||_.push(n),b){u||x++;return}if(j&&(j.nested=!0),n===`scoreDef`){let e={start:m,end:m+N,initial:!o.length,measure:S+1,content:!1,keyRanges:[],tagEdits:[],keys:/* @__PURE__ */ new Map},t=P(i,`key.sig`,`key.mode`);t&&e.keys.set(`*`,t);let n=be(F);n!==F&&e.tagEdits.push({start:m,end:m+N,text:n}),/\s(?!xml:id)[\w.:-]+\s*=/.test(n.replace(/^<[\w:]+/,``).replace(/\sxml:id\s*=\s*"[^"]*"/,``))&&(e.content=!0),o.push(e),u||(v=e);return}if(v&&n===`staffGrp`){if(v.initial)return;we.test(i)||(v.content=!0);return}if(n===`staffDef`){let e=r(i,`n`)||``,t={start:m,end:m+N,n:e,tag:F,selfClosing:u};if(r(i,`clef.shape`)===`perc`&&p.add(e),v){let n=P(i,`key.sig`,`key.mode`);n&&v.keys.set(e,n);let r=be(F);r!==F&&v.tagEdits.push({start:m,end:m+N,text:r}),we.test(i)||(v.content=!0),v.initial&&(s.push(t),e&&!g.includes(e)&&g.push(e))}u||(y=t);return}if(n===`clef`&&y){r(i,`shape`)===`perc`&&p.add(y.n),u&&(y.clefEnd=m+N),v&&(v.content=!0);return}if(n===`keySig`){let e={start:m,end:m+N};u||(b=e,x=1);let t=P(i,`sig`,`mode`);v?(v.keyRanges.push(e),t&&v.keys.set(y?y.n:`*`,t)):C&&f.push(Object.assign(e,{staff:C,measure:S,key:t}));return}if(v){v.content=!0;return}if(n===`measure`){S++,c.push(m);return}if(n===`staff`){C=r(i,`n`)||``;return}if(n===`layer`){w=r(i,`n`)||`1`,T=0,E.length=0,O=0;return}if(!C||!w){n===`harm`&&!u&&(j={textStart:m+N,textEnd:m+N,staff:(r(i,`staff`)||``).split(/\s+/)[0],measure:S,nested:!1},d.push(j));return}if(n===`tuplet`){let e=Number(r(i,`num`))||1,t=Number(r(i,`numbase`))||1;u||E.push(t/e);return}if(n===`chord`){D=T,k=_e(i),u?T+=k*M():O++;return}if(n===`note`){let e=O>0,t=e?D:T;e||(T+=_e(i)*M());let n=(r(i,`pname`)||``).toUpperCase(),o=Number(r(i,`oct`));if(!n||!de.includes(n)||!Number.isFinite(o)||!h(C))return;let s=r(i,`xml:id`)||``,c=r(i,`tie`),d=r(i,`accid`),f=r(i,`accid.ges`);A={start:m,end:m+N,tag:F,selfClosing:u,id:s,staff:C,layer:w,measure:S,onset:t,chord:e,pname:n,oct:o,written:d===null?null:B[d]??null,gestural:f===null?null:B[f]??null,accids:[],tieEnd:a.has(s)||c===`t`||c===`m`,cautionary:!1},l.push(A),u&&(A=void 0);return}if(n===`accid`&&A){let e=r(i,`accid`),t=r(i,`accid.ges`);e!==null&&B[e]!==void 0&&(A.written=B[e]),t!==null&&B[t]!==void 0&&(A.gestural=B[t]),(r(i,`func`)!==null||r(i,`enclose`)!==null)&&(A.cautionary=e!==null),A.accids.push({start:m,end:m+N,attributes:i});return}[`rest`,`space`,`mRest`,`mSpace`,`multiRest`].includes(n)&&O===0&&(T+=(n.startsWith(`m`)?1e3:_e(i))*M())});for(let e of p)g.includes(e)||g.push(e);let F=c.length,I=/* @__PURE__ */ new Map;for(let e of g){if(p.has(e))continue;let t=Array(Math.max(1,F)).fill(void 0),r=m(e).keys;if(r?.length)for(let e=0;e<t.length;e++){let i=[...r].reverse().find(([t])=>t<=e+n)??r[0];t[e]={fifths:i[1],mode:i[2]}}else{let n={fifths:0,mode:`major`},r=/* @__PURE__ */ new Map;for(let n of o){let a=n.keys.get(e)??n.keys.get(`*`);a&&r.set(Math.min(n.measure,t.length-1),{fifths:a.fifths-i,mode:a.mode})}for(let n of f)n.staff===e&&n.key&&r.set(Math.min(n.measure+1,t.length-1),{fifths:n.key.fifths-i,mode:n.key.mode});for(let e=0;e<t.length;e++)n=r.get(e)??n,t[e]=n}I.set(e,t)}let L=/* @__PURE__ */ new Map,R=(e,n)=>{let r=I.get(e)?.[Math.max(0,Math.min(n,F-1))]??{fifths:0,mode:`major`},i=`${e}|${r.fifths}|${r.mode}`,a=L.get(i);return a||(a=ae(r.fifths,t.semitones,r.mode,m(e),t.flip),L.set(i,a)),a},ie=e=>{let t=m(e).shift;return t?{diatonic:t[0],chromatic:t[1]}:void 0},se=(e,t)=>{let n=ie(e);return(I.get(e)?.[Math.max(0,Math.min(t,F-1))]?.fifths??0)+i-(n?te(n):0)},z=/* @__PURE__ */ new Map;for(let e of l){let t=`${e.staff}|${e.measure}`;(z.get(t)??z.set(t,[]).get(t)).push(e)}let le=/* @__PURE__ */ new Map;for(let e of z.values()){let t=/* @__PURE__ */ new Map;for(let n of[...e].sort((e,t)=>e.onset-t.onset)){let e=`${n.pname}${n.oct}`;le.set(n,n.written??n.gestural??t.get(e)??he(n.pname,se(n.staff,n.measure))),n.written!==null&&t.set(e,n.written)}}let ge=/* @__PURE__ */ new Map;for(let e of l){let t=`${e.staff}|${e.layer}`;(ge.get(t)??ge.set(t,[]).get(t)).push(e)}let V=/* @__PURE__ */ new Map,Ee=e=>(e.octave+1)*12+fe[de.indexOf(e.step)]+e.alter;for(let e of ge.values()){let t=new Map(e.map((e,t)=>[e.id,t]));oe(e.map(e=>{let n=ie(e.staff),r={step:e.pname,octave:e.oct,alter:le.get(e)??0},i=n?ne(r,n):r,o=a.get(e.id);return{midi:Ee(i),source:i,key:R(e.staff,e.measure),chord:e.chord,tiedFrom:o===void 0?void 0:t.get(o)}})).forEach((t,n)=>V.set(e[n],t))}let De=new Map(l.map(e=>[e.id,e]));for(let e of l){let t=De.get(a.get(e.id)||``);t&&V.has(t)&&Ee(V.get(t))===Ee(V.get(e))&&V.set(e,V.get(t))}let Oe=/* @__PURE__ */ new Map;for(let e of z.values()){let t=ce(e.map(e=>({pitch:V.get(e),onset:e.onset,key:R(e.staff,e.measure),tieEnd:e.tieEnd,cautionary:e.cautionary})));e.forEach((e,n)=>Oe.set(e,t[n]))}let H=[];for(let e of l){let t=V.get(e),n=Oe.get(e),i=ye(ye(e.tag,`accid`),`accid.ges`);i=ve(ve(i,`pname`,t.step.toLowerCase()),`oct`,String(t.octave)),n||(i=ve(i,`accid.ges`,me(t.alter)));let a=e.accids.find(e=>r(e.attributes,`accid`)!==null)??e.accids[0],o=a?r(a.attributes,`xml:id`):null,s=a&&n?[`func`,`enclose`,`place`].map(e=>[e,r(a.attributes,e)]).filter(([,e])=>e!==null).map(([e,t])=>` ${e}="${t}"`).join(``):``,c=n?`<accid${o?` xml:id="${o}"`:``} accid="${pe(t.alter)}"${s}/>`:``;if(e.selfClosing)H.push({start:e.start,end:e.end,text:c?`${xe(i)}${c}</note>`:i});else{H.push({start:e.start,end:e.start+e.tag.length,text:i+c});for(let t of e.accids)H.push({start:t.start,end:t.end,text:``})}}for(let t of d){if(!h(t.staff)||t.nested||t.textEnd<=t.textStart)continue;let n=e.slice(t.textStart,t.textEnd),[,r,i,a]=/^(\s*)([\s\S]*?)(\s*)$/.exec(n),o=ie(t.staff),s=N(o?ue(i,[o]):i,R(t.staff,Math.max(0,t.measure)));s!==i&&H.push({start:t.textStart,end:t.textEnd,text:r+s+a})}for(let e of f)H.push({start:e.start,end:e.end,text:``});for(let e of o){if(!e.initial&&!e.content){H.push({start:e.start,end:e.end,text:``});continue}H.push(...e.tagEdits);for(let t of e.keyRanges)H.push({start:t.start,end:t.end,text:``})}let U=g.filter(e=>!p.has(e));for(let e of s){if(p.has(e.n)||!U.includes(e.n))continue;let t=Se(R(e.n,0)),n=be(e.tag);if(e.selfClosing){let r=H.findIndex(t=>t.start===e.start&&t.end===e.end);r>=0&&H.splice(r,1),H.push({start:e.start,end:e.end,text:`${xe(n)}${t}</staffDef>`})}else{let n=e.clefEnd??e.start+e.tag.length;H.push({start:n,end:n,text:t})}}for(let e=1;e<F;e++){let t=U.filter(t=>{let n=R(t,e-1),r=R(t,e);return n.fifths!==r.fifths||n.mode!==r.mode});if(!t.length)continue;let n=c[e];H.push({start:n,end:n,text:`<scoreDef><staffGrp>${t.map(t=>`<staffDef n="${t}">${Se(R(t,e))}</staffDef>`).join(``)}</staffGrp></scoreDef>`})}if(!H.length)return e;H.sort((e,t)=>e.start-t.start||e.end-t.end);let ke=[],W=0;for(let t of H)t.start<W||(ke.push(e.slice(W,t.start),t.text),W=t.end);return ke.push(e.slice(W)),ke.join(``)}const Oe=[40,45,50,55,59,64],H=.08,U=1e-9;function ke(e,t={}){let n=t.tuning&&t.tuning.length?t.tuning:Oe,r=Math.max(0,Math.floor(t.capo??0)),i=Math.floor(t.maxFret??22),a=t.octaveFold??!0,o=Math.min(n.length,31),s=Math.max(0,i-r),c=new Int32Array(o);for(let e=0;e<o;e++)c[e]=n[n.length-1-e]+r;let l=Math.max(1,s),u=l+1,d=e=>{for(let t=0;t<o;t++)if(e>=c[t]&&e<=c[t]+s)return!0;return!1},f=e=>{if(Number.isFinite(e)){if(d(e))return 0;if(a)for(let t=1;t<=10;t++){if(d(e+12*t))return 12*t;if(d(e-12*t))return-12*t}}};function p(e,t,n,r){let i=e.length,a=[];if(i===0||i>o)return a;let l=new Int8Array(i),u=new Int8Array(i),d=()=>{let e=99,t=-1,n=0,r=0;for(let a=0;a<i;a++){let i=u[a];r+=l[a],i===0?n++:(i<e&&(e=i),i>t&&(t=i))}let o=t<0,s=1,c=1,d=0;o||(d=t-e,s=Math.max(1,t-3),c=Math.max(1,e),s>c&&(s=c=Math.max(1,e)));let f=i>1?l[i-1]-l[0]+1-i:0,p=-.3*n+.3*Math.max(0,t-12)**2+1*d**1.5+.5*f+.05*r,m=p+H*s;if(a.length===24&&m>=a[23].rank)return;let h={str:l.slice(),fret:u.slice(),open:o,posLo:s,posHi:c,cost:p,rank:m},g=a.length;for(;g>0&&a[g-1].rank>m;)g--;a.splice(g,0,h),a.length>24&&a.pop()},f=(a,p,m,h)=>{if(a===i){d();return}let g=e[a],_=o-(i-a);for(let e=p;e<=_;e++){if(t[a]>=0&&e!==t[a]||r&1<<e)continue;let i=g-c[e];if(i<0||i>s||n[a]>=0&&i!==n[a])continue;let o=m,d=h;i>0&&(i<o&&(o=i),i>d&&(d=i),d-o>(o>=7?5:4))||(l[a]=e,u[a]=i,f(a+1,e+1,o,d))}};return f(0,0,99,-1),a}let m=/* @__PURE__ */ new Map;function h(e,t){let n=String(t);for(let t of e)n+=`,${t.pitch}:${t.fixedT}:${t.fixedFret}`;let r=m.get(n);if(r)return r;let i=e.map((e,t)=>t),a={shapes:[],kept:[]};for(;i.length;){if(i.length<=o){let n=i.map(t=>e[t].pitch),r=i.map(t=>e[t].fixedT),o=i.map(t=>e[t].fixedFret),s=r.some(e=>e>=0),c=i.map(()=>-1),l=[];s&&(l.push([r,o,t]),t&&l.push([r,o,0])),l.push([c,c,t]),t&&l.push([c,c,0]);let u=[];for(let[e,t,r]of l)if(u=p(n,e,t,r),u.length)break;if(u.length){a={shapes:u,kept:i};break}}i=g(e,i)}return m.set(n,a),a}function g(e,t){let n=t.length,r=e=>t.filter((t,n)=>n!==e),i=t=>{let i=t[0],a=1/0;if(t.length>1&&n-1<=o){let o=Array(n-1).fill(-1);for(let n of t){let t=p(r(n).map(t=>e[t].pitch),o,o,0),s=t.length?t[0].rank:1/0;s<a&&(a=s,i=n)}}return r(i)},a=[];for(let r=1;r<n;r++)e[t[r]].pitch===e[t[r-1]].pitch&&a.push(r);if(a.length)return i(a);if(n>2){let r=t.map(t=>(e[t].pitch%12+12)%12),a=[],o=[];for(let e=1;e<n-1;e++)a.push(e),r.some((t,n)=>n!==e&&t===r[e])&&o.push(e);return i(o.length?o:a)}return r(n-1)}let _=e.map(e=>(e.pitches??[]).map(()=>({unplayable:!0}))),v=e.map(e=>{let t=[];return(e.pitches??[]).forEach((n,r)=>{let i=f(n);if(i===void 0)return;let a=n+i,l=-1,u=-1,d=e.fixed?.[r];if(d){let e=Math.floor(d.string)-1,t=d.fret!==void 0&&d.fret!==null&&Number.isFinite(d.fret),n=t?Math.floor(d.fret):a-(c[e]??NaN);e>=0&&e<o&&n>=0&&n<=s&&c[e]+n===a&&(l=e,u=t?n:-1)}t.push({pitch:a,orig:r,shifted:i,fixedT:l,fixedFret:u})}),t.sort((e,t)=>t.pitch-e.pitch||e.orig-t.orig),t.length?t:void 0}),y=new Float64Array(e.length*u),b=new Int32Array(e.length*u),x=new Int32Array(e.length*u),S=new Float64Array(u),C=new Int32Array(u),w=[],T=-1/0,E=0,D=e=>{let t=-1,n=1/0;for(let r=1,i=e*u+1;r<u;r++,i++)y[i]<n&&(n=y[i],t=r);return t},O=t=>{let n=0,r=w.length?D(w.length-1):-1;for(let i=w.length-1;i>=0&&r>=0;i--){let a=w[i];if(a.reach<=t+U)break;if(a.end<=t+U){r=x[i*u+r];continue}let o=a.plan.shapes[b[i*u+r]],s=e[a.event].durations??[];for(let e=0;e<a.plan.kept.length;e++)a.onset+(s[a.notes[a.plan.kept[e]].orig]??0)>t+U&&(n|=1<<o.str[e]);r=x[i*u+r]}return n},k=()=>{if(!w.length)return;let e=D(w.length-1);for(let t=w.length-1;t>=0&&e>=0;t--){let n=w[t],r=n.plan.shapes[b[t*u+e]],i=_[n.event];for(let e=0;e<n.plan.kept.length;e++){let t=n.notes[n.plan.kept[e]],a={string:r.str[e]+1,fret:r.fret[e]};t.shifted&&(a.shifted=t.shifted),i[t.orig]=a}e=x[t*u+e]}w=[]};for(let t=0;t<e.length;t++){let n=v[t];if(!n)continue;let r=e[t],i=Number.isFinite(r.onset)?r.onset:E,a=Math.max(0,i-T);a>=2&&k();let o=h(n,O(i));if(!o.shapes.length)continue;let s=w.length,c=s*u,d=c-u;if(s>0){let e=1+.5*a,t=1.5/e,n=2/e,r=1/0,i=-1;for(let e=1;e<u;e++){S[e]=r,C[e]=i;let t=y[d+e];r+=n,t+n<r&&(r=t+n,i=e)}r=1/0,i=-1;for(let e=u-1;e>=1;e--){let a=S[e],o=C[e];r<a&&(a=r,o=i);let s=y[d+e];r+=n,s+n<r&&(r=s+n,i=e),a+=t,s<=a?(S[e]=s,C[e]=s<1/0?e:-1):(S[e]=a,C[e]=o)}}y.fill(1/0,c,c+u),b.fill(-1,c,c+u),x.fill(-1,c,c+u);let f=o.shapes;for(let e=0;e<f.length;e++){let t=f[e],n=t.open?1:t.posLo,r=t.open?l:t.posHi;for(let i=n;i<=r;i++){let n=t.cost+H*i,r=-1;s>0&&(t.open?(n+=y[d+i],r=i):(n+=S[i],r=C[i])),n<y[c+i]&&(y[c+i]=n,b[c+i]=e,x[c+i]=r)}}let p=r.durations??[],m=0;for(let e of n)m=Math.max(m,p[e.orig]??0);w.push({event:t,plan:o,notes:n,onset:i,end:i+m,reach:Math.max(i+m,w.at(-1)?.reach??-1/0)}),E=i,T=i+m}return k(),_}function W(e,t={}){let n=e.map(()=>({continuation:!1})),r=e.map((e,t)=>t).filter(t=>{let n=e[t];return n.pitch!==null&&Number.isFinite(n.pitch)&&Number.isFinite(n.onset)}).sort((t,n)=>e[t].onset-e[n].onset||t-n),i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=[],s=[],c=e=>e.onset+(Number.isFinite(e.duration)?Math.max(0,e.duration):0);for(let t=0;t<r.length;){let l=e[r[t]].onset,u=t;for(;u<r.length&&Math.abs(e[r[u]].onset-l)<1e-6;)u++;let d=r.slice(t,u);t=u;let f=[];for(let t of d){let r=e[t],o=r.tieStop?a.get(r.pitch):void 0;o&&(i.set(t,o),n[t].continuation=!0,f.push(t),s[o[0]][o[1]]=Math.max(s[o[0]][o[1]],c(r)))}for(let t of f)e[t].tieStart||a.delete(e[t].pitch);for(let t of f)e[t].tieStart&&a.set(e[t].pitch,i.get(t));let p,m=/* @__PURE__ */ new Map;for(let t of d){if(n[t].continuation)continue;let r=e[t],u=r.pitch;p||(p={onset:l,durations:[],pitches:[],fixed:[]},o.push(p),s.push([]));let d=o.length-1,f=m.get(u);f===void 0?(f=p.pitches.length,m.set(u,f),p.pitches.push(u),p.fixed.push(r.fixed),s[d].push(c(r))):(s[d][f]=Math.max(s[d][f],c(r)),p.fixed[f]||(p.fixed[f]=r.fixed)),i.set(t,[d,f]),r.tieStart&&a.set(u,[d,f])}}o.forEach((e,t)=>{e.durations=s[t].map(t=>t-e.onset)});let l=ke(o,t);for(let[e,[t,r]]of i)n[e].result=l[t][r];return n}const Ae={c:0,d:2,e:4,f:5,g:7,a:9,b:11},je={s:1,f:-1,n:0,x:2,ss:2,ff:-2,ts:3,tf:-3,xs:3,sx:3,nf:-1,ns:1,su:1,sd:1,fu:-1,fd:-1,nu:0,nd:0},Me={maxima:32,long:16,breve:8,1:4,2:2,4:1,8:.5,16:.25,32:.125,64:.0625,128:.03125,256:.015625},Ne=/* @__PURE__ */ new Set([`rest`,`space`,`mRest`,`mSpace`,`multiRest`]),Pe=/* @__PURE__ */ new Set([`beam`,`tuplet`]),Fe=/* @__PURE__ */ new Set([`bTrem`,`fTrem`,`ligature`,`choice`,`orig`,`reg`,`sic`,`corr`,`supplied`,`add`,`subst`]),Ie=/* @__PURE__ */ new Set([`harm`,`tempo`,`dir`,`repeatMark`,`fermata`]),Le=/* @__PURE__ */ new Set([`mRpt`,`mRpt2`,`multiRpt`]),Re=/* @__PURE__ */ new Set([...Le,`beatRpt`,`halfmRpt`]),ze=[[`c`],[`c`,`s`],[`d`],[`e`,`f`],[`e`],[`f`],[`f`,`s`],[`g`],[`a`,`f`],[`a`],[`b`,`f`],[`b`]],Be=e=>e.replace(/[&<>"]/g,``),G=(e,t)=>e?` xml:id="${Be(e)}${t}"`:``;function Ve(e,t,n){let i=Number(r(e,`dur.ppq`));if(t&&Number.isFinite(i)&&r(e,`dur.ppq`)!==null)return i/t;let a=Me[r(e,`dur`)||``];return a===void 0?0:a*(2-1/2**(Number(r(e,`dots`))||0))*n.reduce((e,t)=>e*t,1)}const He=(e,t,n)=>{let i=(r(e,`pname`)||``).toLowerCase(),a=Number(r(e,`oct`));if(!(i in Ae)||!Number.isFinite(a)||r(e,`oct`)===null)return null;let o=r(e,`accid.ges`)??t.gestural??r(e,`accid`)??t.written??``;return 12*(a+1)+Ae[i]+(je[o]??0)+n},Ue=e=>typeof e==`number`&&Number.isFinite(e)?Math.max(0,Math.min(24,Math.round(e))):0,We=e=>Array.isArray(e)&&e.length>=1&&e.length<=31&&e.every(e=>Number.isInteger(e)&&e>=0&&e<=127)?e:Oe,Ge=e=>{if(!e.size)return null;let t=Math.max(...e.keys()),n=Array.from({length:t},(n,r)=>e.get(t-r));return n.every(e=>e!==void 0)?n:null};function Ke(e,t){return`<tuning>${[...e].reverse().map((e,n)=>{let r=e+t,[i,a]=ze[(r%12+12)%12];return`<course n="${n+1}" pname="${i}" oct="${Math.floor(r/12)-1}"${a?` accid="${a}"`:``}/>`}).join(``)}</tuning>`}function qe(e,t){let n=new Set(t.generate),i=t.refret??{},a=new Set(t.sounding??[]),o=/* @__PURE__ */ new Set([...n,...Object.keys(i)]),s=new Map([...o].map(e=>[e,[]])),c=/* @__PURE__ */ new Map,l=/* @__PURE__ */ new Set,d=/* @__PURE__ */ new Set,f=/* @__PURE__ */ new Set,p=4,m=4,h=4,g=(e,t)=>{let n=Number(r(e,`${t}count`)),i=Number(r(e,`${t}unit`));n>0&&(m=n),i>0&&(h=i),p=m*4/h},_=0,v=0,y=!1,b=!1,x=null,S=0,C=null,w=0,T=[],E=null,D=!1,O=null,k=0,A=()=>{if(!O)return;let e=c.get(x);if(x in i){let t=Number(r(O.attributes,`tab.course`)),n=Number(r(O.attributes,`tab.fret`)),a=e?.courses?.get(t);O.rec.midi=a!==void 0&&Number.isInteger(n)&&n>=0&&r(O.attributes,`tab.fret`)!==null?a+n+i[x]:null}else O.rec.midi=He(O.attributes,O,e?.semi??0);O=null};return u(e,({closing:e,name:u,attributes:m,selfClosing:j})=>{if(e){if(u===`staffDef`){C?.courses.size&&(C.entry.courses=C.courses),C=null;return}if(u===`measure`){b=!1,_+=v>0&&!y?v:Math.max(v,p);return}if(!x)return;if(k){k--;return}u===`note`?A():u===`chord`||u===`tabGrp`?(E&&!D&&(w+=E.dur),E=null):u===`tuplet`?T.pop():u===`layer`?v=Math.max(v,w):u===`staff`&&--S===0&&(x=null);return}if(u===`scoreDef`){g(m,`meter.`);return}if(u===`meterSig`){g(m,``);return}if(u===`staffDef`){g(m,`meter.`);let e=r(m,`n`)||``;if(o.has(e)){let t=c.get(e),n=Number(r(m,`ppq`)),o=r(m,`trans.semi`),s={ppq:n>0?n:t?.ppq,semi:a.has(e)?0:o===null?t?.semi??0:Number(o)||0,courses:t?.courses};c.set(e,s),e in i&&!j&&(C={entry:s,courses:/* @__PURE__ */ new Map})}return}if(u===`course`&&C){let e=Number(r(m,`n`)),t=He(m,{},0);e>=1&&t!==null&&C.courses.set(e,t);return}if(u===`measure`){b=!0,v=0,y=!1;return}if(u===`tie`&&b){let e=(r(m,`startid`)||``).replace(/^#/,``),t=(r(m,`endid`)||``).replace(/^#/,``);e&&t&&(l.add(e),d.add(t));return}if(u===`staff`&&!x){let e=r(m,`n`)||``;o.has(e)&&!j&&(x=e,S=1);return}if(!x)return;if(k){j||k++;return}if(!j&&u===`staff`){S++;return}let M=s.get(x),N=c.get(x)?.ppq;if(u===`layer`){w=0;return}if(u===`graceGrp`){j||(k=1);return}if(u===`tuplet`){let e=Number(r(m,`num`))||1,t=Number(r(m,`numbase`))||1;j||T.push(t/e);return}if(u===`chord`||u===`tabGrp`){if(D=r(m,`grace`)!==null,D){j||(k=1);return}E={onset:_+w,dur:Ve(m,N,T),notes:[]},M.push(E);let e=r(m,`xml:id`);e&&n.has(x)&&f.add(e),j&&(w+=E.dur,E=null);return}if(u===`note`){if(!E&&r(m,`grace`)!==null){j||(k=1);return}let e=E;e||(e={onset:_+w,dur:Ve(m,N,T),notes:[]},M.push(e),w+=e.dur);let i=r(m,`xml:id`)||``;i&&n.has(x)&&f.add(i);let a=r(m,`tie`)||``,o=Number(r(m,`tab.course`)),s=Number(r(m,`tab.fret`)),c=Number.isInteger(s)&&r(m,`tab.fret`)!==null,l={id:i,midi:null,fixed:t.fixed&&n.has(x)&&Number.isInteger(o)&&o>=1?c?{string:o,fret:s}:{string:o}:void 0,continuation:/[mt]/.test(a),tieStart:/[im]/.test(a),dur:e.dur};e.notes.push(l),O={rec:l,attributes:m,event:e,inChord:!!E},j&&A();return}if(u===`accid`&&O){let e=r(m,`accid`),t=r(m,`accid.ges`);e!==null&&(O.written=e),t!==null&&(O.gestural=t);return}(Ne.has(u)||Re.has(u))&&(u===`mRest`||u===`mSpace`||u===`multiRest`||Le.has(u)?y=!0:w+=u===`halfmRpt`?p/2:u===`beatRpt`?4/h:Ve(m,N,T))}),{staves:s,tieStarts:l,tieEnds:d,info:c,ids:f}}function Je(e,t,n,r,i,a){let o=/* @__PURE__ */ new Map,s=We(i.tuning),c=Ue(i.capo);for(let[l,u]of e){let e=[],d=[];for(let r of u)for(let i of r.notes)e.push(i),d.push({onset:r.onset,duration:i.dur,pitch:i.midi,tieStart:i.tieStart||t.has(i.id),tieStop:i.continuation||n.has(i.id),fixed:a?.get(i.id)??i.fixed});let f=l in(i.refret??{})&&r.get(l)?.courses?Ge(r.get(l).courses):null;W(d,f?{tuning:f,capo:0}:{tuning:s,capo:c}).forEach(({result:t,continuation:n},r)=>{let i=e[r];if(i.continuation=n,t){if(n){i.held=t;return}o.set(i.id,t),a&&i.id&&`string`in t&&!a.has(i.id)&&a.set(i.id,{string:t.string,fret:t.fret})}})}return o}const Ye=e=>[`dur`,`dots`,`dur.ppq`].map(t=>{let n=r(e,t);return n===null?``:` ${t}="${n}"`}).join(``),Xe=(e,t)=>t&&`string`in t?`<note${G(e,``)} tab.course="${t.string}" tab.fret="${t.fret}"/>`:``,Ze=e=>e&&`string`in e?`<note tab.course="${e.string}" tab.fret="${e.fret}" visible="false"/>`:``,K=(e,t,n)=>{let r=RegExp(`(\\s${t.replace(`.`,`\\.`)}\\s*=\\s*)(?:"[^"]*"|'[^']*')`);return r.test(e)?e.replace(r,`$1"${n}"`):e.replace(/\s*(\/?)>$/,` ${t}="${n}"$1>`)};function Qe(e,t,n){let i=new Set(t.generate),a=t.refret??{},o=t.retarget,s=Object.keys(o).length>0;if(!i.size&&!s&&!Object.keys(a).length)return e;let c=i.size||Object.keys(a).length,{staves:l,tieStarts:d,tieEnds:f,info:p,ids:m}=c?qe(e,t):{staves:/* @__PURE__ */ new Map,tieStarts:/* @__PURE__ */ new Set,tieEnds:/* @__PURE__ */ new Set,info:/* @__PURE__ */ new Map,ids:/* @__PURE__ */ new Set},h=c?Je(l,d,f,p,t,n):/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map;for(let e of l.values())for(let t of e)for(let e of t.notes)e.continuation&&g.set(e.id,e.held);let _=We(t.tuning),v=Ke(_,Ue(t.capo)),y=new Set([...i].map(e=>String(100+Number(e)))),b=[],x=0,S=-1,C=!1,w=0,T=null,E=null,D=0,O=0,k=null,A=-1,j=(e,t,n)=>{let r=p.get(e)?.ppq;return`<staffDef${G(t,`-tab`)} n="${100+Number(e)}" lines="${_.length}" notationtype="tab.guitar" keysig="0"${r?` ppq="${r}"`:``}><clef shape="TAB" line="${_.length-1}"/>${v}${n}</staffDef>`};return u(e,({closing:t,name:n,attributes:c,selfClosing:l,index:u,length:d})=>{b.push(e.slice(x,u)),x=u+d;let f=e.slice(u,u+d);if(t?w--:l||w++,!t&&Ie.has(n)&&s){let e=r(c,`staff`);if(e!==null){let t=e.split(/\s+/).filter(Boolean).map(e=>o[e]??e).join(` `);if(t!==e){f=K(f,`staff`,t);let e=r(c,`startid`)?.replace(/^#/,``)??``;e&&m.has(e)&&t.split(` `).every(e=>y.has(e))&&(f=K(f,`startid`,`#${e}-tab`))}}}if(A<0&&n===`staff`&&!t&&!l&&(r(c,`n`)||``)in a)A=w;else if(A>=0&&t&&n===`staff`&&w===A-1)A=-1;else if(A>=0&&n===`note`&&!t){let e=r(c,`xml:id`)||``,t=g.has(e)?g.get(e):h.get(e);t&&`string`in t?f=K(K(f,`tab.course`,String(t.string)),`tab.fret`,String(t.fret)):t&&(f=K(f,`visible`,`false`))}if(b.push(f),n===`scoreDef`&&!t&&!C&&S<0){l?C=!0:S=w;return}if(n===`scoreDef`&&t&&S>=0&&w===S-1){S=-1,C=!0;return}if(S>=0){if(n===`staffDef`&&!t){let e=r(c,`n`)||``;if(!i.has(e))return;let t=r(c,`xml:id`)||``;if(l){b.push(j(e,t,``));return}T={n:e,id:t,meterSig:``,depth:w};return}if(T&&n===`meterSig`&&!t){T.meterSig=f.replace(/\sxml:id\s*=\s*"[^"]*"/,``).replace(/\s*\/?>$/,`/>`);return}T&&n===`staffDef`&&t&&w===T.depth-1&&(b.push(j(T.n,T.id,T.meterSig)),T=null);return}if(!E){if(n===`staff`&&!t&&!l&&i.has(r(c,`n`)||``)){let e=r(c,`n`);E=[`<staff${G(r(c,`xml:id`)||``,`-tab`)} n="${100+Number(e)}">`],D=w,O=0,k=null}return}if(t&&n===`staff`&&w===D-1){E.push(`</staff>`),b.push(E.join(``)),E=null;return}if(O){t?O--:l||O++;return}let p=r(c,`xml:id`)||``;if(t){n===`layer`||Pe.has(n)?E.push(`</${n}>`):n===`chord`&&k&&(k.frets||E.push(Ze(k.held)),E.push(`</tabGrp>`),k=null);return}if(n===`layer`||Pe.has(n)){let e=[`n`,`num`,`numbase`,`num.visible`,`bracket.visible`,`num.format`,`bracket.place`,`num.place`].map(e=>{let t=r(c,e);return t===null?``:` ${e}="${t}"`}).join(``);E.push(`<${n}${G(p,`-tab`)}${e}${l?`/>`:`>`}`);return}if(!Fe.has(n)){if(n===`chord`){if(r(c,`grace`)!==null){l||(O=1);return}E.push(`<tabGrp${G(p,`-tab`)}${Ye(c)}><tabDurSym/>`),l?E.push(`</tabGrp>`):k={frets:0};return}if(n===`note`){if(l||(O=1),k){if(g.has(p)){k.held||(k.held=g.get(p));return}let e=Xe(p?`${p}-tab`:``,h.get(p));e&&k.frets++,E.push(e);return}if(r(c,`grace`)!==null)return;E.push(`<tabGrp${G(p,`-tab`)}${Ye(c)}><tabDurSym/>${g.has(p)?Ze(g.get(p)):Xe(p?`${p}-tabn`:``,h.get(p))}</tabGrp>`);return}if(Ne.has(n)||Re.has(n)){l||(O=1);let e=Re.has(n)?c.replace(/\s+xml:id\s*=\s*(?:"[^"]*"|'[^']*')/,``).trimEnd():Ye(c);E.push(`<${n}${G(p,`-tab`)}${e}/>`);return}l||(O=1)}}),b.push(e.slice(x)),b.join(``)}const $e=e=>`reader-m${e+1}`,et=`(?:[^>"']|"[^"]*"|'[^']*')*`,q=RegExp(`<!--[\\s\\S]*?-->|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|<\\?[\\s\\S]*?\\?>|<(/?)(part|measure|attributes|lyric|slur|wedge|octave-shift|pedal|bracket|dashes|tuplet|glissando|slide|ending|beam)(?=[\\s/>])(${et})>`,`g`),tt=/* @__PURE__ */ new Map;function J(e,t){if(!e.includes(t))return;let n=tt.get(t);n||tt.set(t,n=RegExp(`\\s${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`));let r=n.exec(e);return r?r[1]??r[2]:void 0}const nt=/* @__PURE__ */ new Set([`start`,`up`,`down`,`crescendo`,`diminuendo`]);function rt(e){let t=/<score-partwise[\s>]/.exec(e),n=e.indexOf(`</part-list>`);if(!t||n<0)return;let r=[],i=[],a=/* @__PURE__ */ new Map,o=``,s,c=-1,l=-1,u=0,d=/* @__PURE__ */ new Set,f=0,p=-1;q.lastIndex=n;for(let t=q.exec(e);t;t=q.exec(e)){let n=t[2];if(!n)continue;let m=t[1]===`/`,h=t[3]||``,g=h.endsWith(`/`);if(n===`part`){if(m){if(!s||c>=0)return;s=void 0,p=t.index+t[0].length}else{if(s||g)return;r.length||(o=e.slice(0,t.index)),s={open:t[0],measures:[],attributes:[]},r.push(s),l=-1}continue}if(!s)continue;if(n===`measure`){if(m){if(c<0)return;s.measures.push(c,t.index+t[0].length),c=-1,u&&(f=Math.max(f,Math.ceil(u/Math.max(1,d.size))))}else{if(c>=0)return;l++,u=0,d=/* @__PURE__ */ new Set,g?s.measures.push(t.index,t.index+t[0].length):c=t.index}continue}if(c<0||m)continue;if(n===`attributes`){if(g)continue;let n=e.indexOf(`</attributes>`,t.index);if(n<0)return;let r=n+13;s.attributes.push({measure:l,block:e.slice(t.index,r),leading:!/<note(?=[\s/>])/.test(e.slice(c,t.index))}),q.lastIndex=r;continue}if(n===`lyric`){u++,d.add(J(h,`number`)||`1`);continue}let _;if(n===`beam`){let t=/^\s*(begin|end)\b/.exec(e.slice(q.lastIndex,q.lastIndex+16))?.[1];_=t===`begin`?`open`:t===`end`?`close`:void 0}else{let e=J(h,`type`)||``;_=nt.has(e)?`open`:e===`stop`||n===`ending`&&e===`discontinue`?`close`:void 0}if(!_)continue;let v=`${r.length}:${n}:${n===`ending`?``:J(h,`number`)||`1`}`;if(_===`open`)a.set(v,l);else{let e=a.get(v);e!==void 0&&(a.delete(v),l>e&&i.push({start:e,end:l}))}}if(!r.length||s||c>=0)return;let m=r[0].measures.length/2;if(m)return i.sort((e,t)=>e.start-t.start),{text:e,head:o,tail:e.slice(p),parts:r,measureCount:m,lyricDensity:f,spans:i}}const it=[`divisions`,`key`,`time`,`staves`,`part-symbol`,`instruments`,`clef`,`staff-details`,`transpose`,`for-part`],Y=RegExp(`<(${it.join(`|`)})(?=[\\s/>])(${et})>`,`g`);function at(e,t){let n=/* @__PURE__ */ new Map;for(let{measure:r,block:i}of e.attributes){if(r>=t)break;Y.lastIndex=0;for(let e=Y.exec(i);e;e=Y.exec(i)){let[t,r,a]=e,o=t;if(!a.endsWith(`/`)){let t=i.indexOf(`</${r}>`,Y.lastIndex);if(t<0)continue;o=i.slice(e.index,t+r.length+3),Y.lastIndex=t+r.length+3}let s=J(a,`number`)??(r===`clef`?`1`:void 0);if(s===void 0)for(let e of[...n.keys()])e.startsWith(`${r}#`)&&n.delete(e);n.set(`${r}#${s??``}`,o)}}for(let{measure:r,block:i,leading:a}of e.attributes)if(r===t&&a)for(let[,e]of i.matchAll(/<key(?=[\s/>])((?:[^>"']|"[^"]*"|'[^']*')*)>/g)){let t=J(e,`number`);for(let e of[...n.keys()])e.startsWith(`key#`)&&(t===void 0||e===`key#${t}`||e===`key#`)&&n.delete(e)}if(!n.size)return``;let r=[];for(let e of it)for(let[t,i]of n)t.startsWith(`${e}#`)&&r.push(e===`time`?i.replace(/^<time\b((?:[^>"']|"[^"]*"|'[^']*')*)/,(e,t)=>`<time print-object="no"${t.replace(/\sprint-object\s*=\s*(?:"[^"]*"|'[^']*')/,``)}`):i);return`<attributes>${r.join(``)}</attributes>`}function ot(e,t,n,r){let i=t.measures[n*2],a=t.measures[n*2+1],o=e.text.slice(i,a),s=/^<measure\b(?:[^>"']|"[^"]*"|'[^']*')*>/.exec(o)[0].length,c=o.slice(0,s),l=` id="${$e(n)}"`;return c=/\sid\s*=\s*(?:"[^"]*"|'[^']*')/.test(c)?c.replace(/\sid\s*=\s*(?:"[^"]*"|'[^']*')/,l):c.replace(/\s*(\/?)>$/,`${l}$1>`),c.endsWith(`/>`)?r?`${c.slice(0,-2)}>${r}</measure>`:c:c+r+o.slice(s)}function st(e,t,n){let r=[t>0?e.head.replace(/<credit\b[\s\S]*?<\/credit>/g,``):e.head];for(let i of e.parts){r.push(i.open);let a=Math.min(n,i.measures.length/2);for(let n=t;n<a;n++)r.push(ot(e,i,n,n===t&&t>0?at(i,t):``));r.push(`</part>`)}return r.push(e.tail),r.join(``)}function ct(e,t){let n=t-1;for(let r of e.spans){if(r.start>=t)break;r.end>=t&&(n=Math.min(n,r.start))}return Math.max(0,Math.min(t,16,t-n))}function lt(e,t){let n=t;for(let r of e.spans){if(r.start>=t)break;r.end>=t&&(n=Math.max(n,r.end))}return Math.max(0,Math.min(e.measureCount-t,16,n-t+1))}function ut(e,t,n,r,i){let a=e.measureCount;if(n<=0)return{from:0,to:a,firstSystem:0,endSystem:1,firstPage:1};let o=Math.ceil(a/n),s=Math.max(1,Math.floor(i/Math.max(1,r*n))),c=Math.floor(Math.max(0,Math.min(o-1,t))/s)*s,l=Math.min(o,c+s),u=c*n,d=Math.min(a,l*n),f=ct(e,u),p=d<a?lt(e,d):0,m=u-f,h=f?Math.ceil(u/n)-Math.floor(m/n)+1:1;return{from:m,to:d+p,firstSystem:c,endSystem:l,firstPage:h}}const dt=[`breaks`,`transpose`,`transposeToSoundingPitch`,`xmlIdChecksum`];let ft,pt,mt;function ht(){return pt??=(async()=>{if(!ft)throw Error(`The notation renderer was not told where to load Verovio from.`);let{module:e,toolkit:t}=ft;try{let[n,r]=await Promise.all([import(
2
- /* @vite-ignore */
3
- e),import(
4
- /* @vite-ignore */
5
- t)]);if(typeof n.default!=`function`||typeof r.VerovioToolkit!=`function`||typeof r.enableLogToBuffer!=`function`)throw Error(`not a compatible Verovio build`);return mt={createModule:n.default,Toolkit:r.VerovioToolkit,enableLogToBuffer:r.enableLogToBuffer}}catch(n){throw pt=void 0,new St(`Could not load Verovio from ${e} and ${t}: ${n instanceof Error?n.message:String(n)}`,void 0)}})()}let X,gt;function _t(){if(X)return X;let e=ht().then(e=>e.createModule()).then(e=>(mt.enableLogToBuffer(1,e),gt=e,e)).catch(t=>{throw X===e&&(X=void 0),t});return X=e}const vt=async()=>{let e=await _t();return new mt.Toolkit(e)};let yt,bt,Z;const Q=/* @__PURE__ */ new Map,xt=[];var St=class extends Error{code;constructor(e,t){super(e),this.code=t}};function Ct(e){for(let e of[yt,bt])try{e?.destroy()}catch{}yt=bt=void 0,Z=void 0,e&&(X=void 0,gt=void 0)}async function wt(e){return e===`main`?yt??=await vt():bt??=await vt()}function Tt(){let e=gt;return e?.HEAPU8?.length??e?.wasmMemory?.buffer.byteLength}function Et(e){let t=Q.get(e);if(!t)throw new St(`The score is no longer loaded in the renderer.`,`missing`);return Q.delete(e),Q.set(e,t),t}function $(e,t,n){if(e.resetOptions(),e.setOptions(n),!e.loadData(t))throw Error(`Verovio could not import this score.`)}const Dt={breaks:`none`,inputFrom:`auto`,xmlIdChecksum:!0};async function Ot(e){let t=await vt();try{return $(t,e,Dt),t.getMEI()}finally{try{xt.push(t.getLog()||``)}catch{}try{t.destroy()}catch{}}}async function kt(e,t,n){let r=`${t}-${n}`,i=e.meis.get(r);if(i!==void 0)return e.meis.delete(r),e.meis.set(r,i),i;for(i=await Ot(st(e.index,t,n)),e.meis.set(r,i);e.meis.size>8;)e.meis.delete(e.meis.keys().next().value);return i}async function At(e,t){let n=await vt();try{return $(n,e,{breaks:`none`,xmlIdChecksum:!0,...t}),n.getMEI()}finally{try{xt.push(n.getLog()||``)}catch{}try{n.destroy()}catch{}}}const jt=(e,t,n=0)=>Ee(e,t,At,n);async function Mt(e,t){if(!t)return e.mei;let n=JSON.stringify(t);return e.spelled?.key!==n&&(e.spelled={key:n,mei:await jt(e.mei,t)}),e.spelled.mei}async function Nt(e,t){let n=await Mt(e,t.spelling);if(!t.tab)return n;let r=JSON.stringify([t.spelling??null,t.tab]);return e.tabbed?.key!==r&&(e.tabbed={key:r,mei:Qe(n,t.tab)}),e.tabbed.mei}async function Pt(e,t,n,r){let i=await Ft(e,t,n,r.spelling);if(!r.tab)return i;let a=JSON.stringify([r.spelling??null,r.tab]),o=e.frets.get(a);if(!o)for(o=/* @__PURE__ */ new Map,e.frets.set(a,o);e.frets.size>4;)e.frets.delete(e.frets.keys().next().value);return Qe(i,r.tab,o)}async function Ft(e,t,n,r){let i=await kt(e,t,n);if(!r||!Te(i,r))return i;let a=`${t}-${n}|${JSON.stringify(r)}`,o=e.spelled.get(a);if(o!==void 0)return e.spelled.delete(a),e.spelled.set(a,o),o;for(o=await jt(i,r,t),e.spelled.set(a,o);e.spelled.size>8;)e.spelled.delete(e.spelled.keys().next().value);return o}const It=(e,t)=>Object.fromEntries(t.map(t=>[t,e[t]??null]));async function Lt(e,t,n,r){let i=JSON.stringify([...e,t,It(n,dt)]),a=JSON.stringify(n),o=await wt(`main`);return Z?.loadKey===i?Z.optionsKey!==a&&(Z=void 0,o.resetOptions(),o.setOptions(n),o.redoLayout(),Z={loadKey:i,optionsKey:a}):(Z=void 0,$(o,await r(),n),Z={loadKey:i,optionsKey:a}),o}function Rt(e,t,n){return Math.min(n,Math.max(t*2,Ht(e,t,t*4)+1))}const zt=/\s(?:endid|tstamp2)\s*=\s*"([^"]*)"/g,Bt=/\sxml:id\s*=\s*"([^"]*)"/,Vt=/<measure\b/g;function Ht(e,t,n){let r=[];Vt.lastIndex=0;for(let t=Vt.exec(e);t&&r.length<=n;t=Vt.exec(e))r.push(t.index);let i=/* @__PURE__ */ new Set,a=0;for(let n=0;n+1<r.length;n++){let o=e.slice(r[n],r[n+1]);if(n<t)for(let[,e]of o.matchAll(zt)){let t=/^(\d+)m\+/.exec(e);t?a=Math.max(a,n+Number(t[1])):i.add(e.replace(/^#/,``))}else if(i.size)for(let e of o.match(/<[^>]*\sxml:id\s*=\s*"[^"]*"[^>]*>/g)||[]){let t=Bt.exec(e)?.[1];t&&i.delete(t)&&(a=Math.max(a,n))}if(n>=t&&!i.size)break}return Math.min(n-1,a)}async function Ut(e,t,n){let r=new TextDecoder().decode(t),i=rt(r),a;if(i&&(n||i.parts.length*i.measureCount>=2400)){let{staffDefs:e,groups:t}=d(await Ot(st(i,0,1)));a={kind:`chunked`,index:i,info:{measureIds:Array.from({length:i.measureCount},(e,t)=>$e(t)),lyricDensity:i.lyricDensity,staffDefs:e,groups:t,chunked:!0},meis:/* @__PURE__ */ new Map,spelled:/* @__PURE__ */ new Map,frets:/* @__PURE__ */ new Map}}else{let e=await wt(`main`);Z=void 0,$(e,r,Dt);let t=e.getMEI();a={kind:`whole`,mei:t,info:d(t)}}for(Q.delete(e),Q.set(e,a);Q.size>12;)Q.delete(Q.keys().next().value);return a.info}function Wt(e,t,n){let r=e.renderToSVG(t),i=/<svg\b[^>]*?\sid="([^"]+)"/.exec(r)?.[1];return!i||!/^[\w-]+$/.test(i)?r:r.replace(RegExp(`(?<=[#"-])${i}(?![\\w-])`,`g`),`${i}-c${n}`)}const Gt=(e,t)=>{let n=new Set(t.hiddenStaves);return Math.max(1,e.staffDefs.filter(e=>!n.has(e.n)).length+(t.tab?.generate.length??0))};async function Kt(e){if(e.kind===`import`)return Ut(e.revision,e.bytes,!!e.chunking?.force);if(e.kind===`release`)return Q.delete(e.revision),null;if(e.simulateOom)throw await new Promise(e=>setTimeout(e,300)),RangeError(`Cannot enlarge memory arrays (simulated).`);let t=Et(e.revision);if(e.kind===`probe`){let n=await wt(`probe`);if(t.kind===`chunked`){let r=t.index.measureCount,i=Math.min(r,e.measures*2),a=e.measures>=r?r:i+lt(t.index,i);return $(n,m(await Pt(t,0,a,e.view),e.view),e.options),{svg:Wt(n,1,e.channel),pageCount:n.getPageCount(),measures:a}}let{info:r}=t,i=await Nt(t,e.view),a=e.measures>=r.measureIds.length?r.measureIds.length:Rt(i,e.measures,r.measureIds.length);return $(n,m(i,e.view,a),e.options),{svg:Wt(n,1,e.channel),pageCount:n.getPageCount(),measures:a}}if(t.kind===`whole`){let n=await Lt([e.revision],e.view,e.options,async()=>m(await Nt(t,e.view),e.view)),r=n.getPageCount();return{pageCount:r,pages:e.pages.filter(e=>e>=1&&e<=r).map(t=>({page:t,svg:Wt(n,t,e.channel)}))}}let n=e.view.breakEvery,r=n>0?Math.ceil(t.index.measureCount/n):1,i=/* @__PURE__ */ new Map;for(let a of e.pages){if(a<1||a>r)continue;let o=ut(t.index,a-1,n,Gt(t.info,e.view),e.chunkBudget),s=`${o.from}-${o.to}`;(i.get(s)??i.set(s,{plan:o,pages:[]}).get(s)).pages.push(a)}let a=[];for(let{plan:n,pages:r}of i.values()){let i=await Lt([e.revision,n.from,n.to],e.view,e.options,async()=>m(await Pt(t,n.from,n.to,e.view),e.view,1/0,n.from)),o=i.getPageCount();for(let t of r){let r=n.firstPage+(t-1-n.firstSystem);if(r>o)throw Error(`A score chunk laid out ${o} pages where ${r} were expected.`);a.push({page:t,svg:Wt(i,r,e.channel)})}}return{pageCount:r,pages:a}}function qt(e){if(e instanceof St)return{message:e.message,code:e.code};let t=e instanceof Error?`${e.name}: ${e.message}`:String(e),n=globalThis.WebAssembly?.Exception;return n&&e instanceof n||/out of memory|OOM|Cannot enlarge memory|allocation failed|RangeError/i.test(t)?{message:`This score is too large for the notation renderer on this device (it ran out of memory).`,code:`oom`}:{message:e instanceof Error?e.message:String(e)}}function Jt(e){let t=xt.splice(0).join(``);try{t+=(yt??bt)?.getLog()||``}catch{}if(!t)return;let n=t.split(`
6
- `).filter(Boolean),r=n.filter(e=>e.startsWith(`[Error]`)).length;console.warn(`Verovio ${e}: ${n.length} log message${n.length===1?``:`s`} (${r} error${r===1?``:`s`})${n.length>12?`, first 12`:``}:\n${n.slice(0,12).join(`
7
- `)}`)}const Yt=[],Xt=/* @__PURE__ */ new Map;let Zt=!1;const Qt=e=>self.postMessage(e);async function $t(){let e=Yt.shift();if(!e){Zt=!1;return}if(e.kind!==`import`&&e.kind!==`release`&&e.ticket<(Xt.get(e.channel)??0))Qt({id:e.id,error:`Superseded score render.`,code:`superseded`});else try{let t=await Kt(e);Jt(e.kind),Qt({id:e.id,value:t,heap:Tt()})}catch(t){Jt(e.kind);let{message:n,code:r}=qt(t);r!==`missing`&&Ct(r===`oom`||!(t instanceof Error&&t.message===`Verovio could not import this score.`)),Qt({id:e.id,error:n,code:r,heap:Tt()})}setTimeout(()=>void $t(),0)}self.onmessage=e=>{let t=e.data;if(t.kind===`configure`){ft=t.files;return}(t.kind===`probe`||t.kind===`render`)&&Xt.set(t.channel,Math.max(Xt.get(t.channel)??0,t.ticket)),Yt.push(t),Zt||(Zt=!0,setTimeout(()=>void $t(),0))};