pepperscore 0.4.1 → 0.5.0
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/CHANGELOG.md +33 -0
- package/README.md +190 -10
- package/dist/PdfOverlay-BmBGsMkr.js +249 -0
- package/dist/PdfOverlay-BmBGsMkr.js.map +1 -0
- package/dist/THIRD_PARTY_NOTICES.txt +1234 -1
- package/dist/assets/engrave.worker-D334KQnx.js +5 -0
- package/dist/assets/{import.worker-Rop-z7az.js → import.worker-BAr_ZqtQ.js} +2 -2
- package/dist/assets/verovio.worker-C8LY1lw3.js +7 -0
- package/dist/components/DrawerControls.d.ts +7 -0
- package/dist/components/PdfOverlay.d.ts +19 -0
- package/dist/components/PepperScore.d.ts +6 -1
- package/dist/components/PitchColourTile.d.ts +4 -0
- package/dist/components/SkinBar.d.ts +12 -0
- package/dist/engrave-DpVrifuu.js +32 -0
- package/dist/engrave-DpVrifuu.js.map +1 -0
- package/dist/export-BFhuMW8H.js +320 -0
- package/dist/export-BFhuMW8H.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3647 -2701
- package/dist/index.js.map +1 -1
- package/dist/lib/bar-items.d.ts +31 -0
- package/dist/lib/chrome.d.ts +6 -4
- package/dist/lib/file-state.d.ts +1 -0
- package/dist/lib/header-controls.d.ts +2 -2
- package/dist/lib/notation/mei-tab.d.ts +8 -1
- package/dist/lib/notation/mei-view.d.ts +2 -0
- package/dist/lib/notation/musicxml-octave-clef.d.ts +5 -0
- package/dist/lib/pdf/annotations.d.ts +12 -0
- package/dist/lib/pdf/compose.d.ts +8 -0
- package/dist/lib/pdf/engrave.d.ts +29 -0
- package/dist/lib/pdf/export.d.ts +19 -0
- package/dist/lib/pdf/fit.d.ts +2 -0
- package/dist/lib/pdf/fonts.d.ts +3 -0
- package/dist/lib/pdf/normalize.d.ts +7 -0
- package/dist/lib/pdf/paper.d.ts +32 -0
- package/dist/lib/pitch-colours.d.ts +16 -0
- package/dist/lib/prefs.d.ts +7 -2
- package/dist/lib/render.d.ts +52 -0
- package/dist/lib/score.d.ts +6 -0
- package/dist/lib/skin.d.ts +25 -0
- package/dist/lib/tab/string-instruments.d.ts +65 -0
- package/dist/lib/tab/strings/charts.d.ts +29 -0
- package/dist/lib/tab/strings/phrase.d.ts +14 -0
- package/dist/lib/tab/strings/solver.d.ts +29 -0
- package/dist/lib/tab/strings/svg.d.ts +3 -0
- package/dist/lib/tab/tab-parts.d.ts +2 -5
- package/dist/style.css +1 -1
- package/package.json +5 -2
- package/dist/assets/verovio.worker-DBJku5Ng.js +0 -7
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-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}
|
|
5
|
+
.pepperscore{isolation:isolate;color:var(--ps-text,#242824);background:var(--ps-surface,#fff);font-synthesis:none;text-align:left;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:2px solid var(--ps-focus-ring,#8fb89a);outline-offset:-2px}.pepperscore .bpm-control input:focus-visible{outline:2px solid var(--ps-focus-ring,#8fb89a);outline-offset:2px}.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{border-bottom:1px solid var(--ps-border-muted,#e9e8e4);background:var(--ps-surface-raised,#fbfaf8f0);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);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{width:29px;height:33px;color:var(--ps-text-secondary,#486b51);place-items:center;font-family:Georgia,serif;font-size:31px;font-weight:400;display:grid}.pepperscore .transport{align-items:center;gap:13px;display:flex}.pepperscore .icon-button{width:36px;height:36px;color:var(--ps-accent,#657069);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.pepperscore .icon-button:hover,.pepperscore .page-controls button:hover{background:var(--ps-accent-wash,#eeefe9)}.pepperscore .play-button{background:var(--ps-accent,#345642);color:var(--ps-on-accent,#fff);box-shadow:0 3px 8px var(--ps-shadow-a24,#34564224);border:0;border-radius:10px;align-items:center;gap:9px;padding:10px 19px;font-size:13px;font-weight:700;display:flex}.pepperscore .play-button:hover{background:var(--ps-accent-hover,#254633)}.pepperscore .bpm-control{color:var(--ps-text-muted,#8c948d);letter-spacing:.1em;align-items:center;gap:8px;margin-left:10px;font-size:10px;font-weight:700;display:flex}.pepperscore .bpm-control input{border:0;border-bottom:1px solid var(--ps-border,#c9d0c8);text-align:center;width:47px;color:var(--ps-text-secondary,#303c32);appearance:textfield;background:0 0;outline:none;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:var(--ps-text-muted,#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:var(--ps-text-muted,#8f9790);margin:0;font-size:12px}.pepperscore .mode-toggle{background:var(--ps-accent-wash,#f0f0ec);border:1px solid var(--ps-border-muted,#e5e7e1);border-radius:10px;flex-shrink:0;padding:3px;display:flex}.pepperscore .mode-toggle button{color:var(--ps-text-muted,#869087);background:0 0;border:0;border-radius:7px;padding:9px 14px;font-size:11px;font-weight:700}.pepperscore .mode-toggle button.is-selected{background:var(--ps-accent-wash-strong,white);color:var(--ps-accent,#345642);box-shadow:0 1px 5px var(--ps-shadow-a16,#253b2e16)}.pepperscore .reader-area{max-width:1260px;margin:0 auto;padding:0 38px;position:relative}.pepperscore .score-viewport{background:var(--ps-surface,#fff);border:1px solid var(--ps-border-muted,#e9e9e4);min-height:390px;box-shadow:0 12px 46px var(--ps-shadow-a0a,#5966570a);scrollbar-width:thin;scrollbar-color:var(--ps-text-faint,#d8ddd6) transparent;border-radius:15px;position:relative;overflow:auto}.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 var(--ps-playback,#e6aa4f));stroke:var(--ps-playback,#b87218);fill:var(--ps-playback,#b87218)}.pepperscore .score-system svg .ps-cursor{filter:drop-shadow(0 0 3px var(--ps-cursor,var(--ps-playback,#2f6fed)));stroke:var(--ps-cursor,var(--ps-playback,#2f6fed));fill:var(--ps-cursor,var(--ps-playback,#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,var(--ps-playback,#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{background:var(--ps-playback,#cd9743);width:2px;box-shadow:0 0 0 3px var(--ps-playback-a2b,#cd97432b);pointer-events:none;z-index:2;border-radius:2px;transition:left 60ms linear;position:absolute;top:9px;bottom:20px}.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:var(--ps-text-secondary,#597660);font-family:Georgia,serif;font-size:19px}.pepperscore .part-control:hover{background:var(--ps-accent-wash,#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(var(--ps-surface,#fff),transparent);top:1px}.pepperscore .ps-portrait .edge-end{background:linear-gradient(transparent,var(--ps-surface,#fff));bottom:47px}.pepperscore .ps-landscape .edge-fade{width:30px;top:1px;bottom:47px}.pepperscore .ps-landscape .edge-start{background:linear-gradient(90deg,var(--ps-surface,#fff),transparent);left:39px}.pepperscore .ps-landscape .edge-end{background:linear-gradient(90deg,transparent,var(--ps-surface,#fff));right:39px}.pepperscore .page-controls{height:46px;color:var(--ps-text-muted,#9ba49b);letter-spacing:.18em;justify-content:center;align-items:center;gap:18px;font-size:10px;font-weight:700;display:flex}.pepperscore .page-controls button{border:1px solid var(--ps-border,#dfe5dc);width:29px;height:29px;color:var(--ps-accent,#607565);background:0 0;border-radius:8px;place-items:center;display:grid}.pepperscore .drawer-handle{z-index:31;border:1px solid var(--ps-border,#e2e8e0);background:var(--ps-surface,#fff);width:220px;height:47px;box-shadow:0 -5px 25px var(--ps-shadow-a16,#61706416);color:var(--ps-text-secondary,#4d6353);border-bottom:0;border-radius:13px 13px 0 0;justify-content:center;align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.pepperscore .handle-grip{background:var(--ps-accent-wash,#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{background:var(--ps-backdrop,#18231b45);z-index:29;position:absolute;inset:0}.pepperscore .bottom-drawer{z-index:30;background:var(--ps-surface-raised,#fafbf8);width:100%;box-shadow:0 -20px 70px var(--ps-shadow-a60,#1d2b2060);border-radius:22px 22px 0 0;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%)}.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{border:1px solid var(--ps-border-muted,#e5eae2);background:var(--ps-surface,white);border-radius:14px;min-width:0;padding:21px}.pepperscore .drawer-panel h3{color:var(--ps-text-secondary,#344c38);align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.pepperscore .drawer-panel h3 svg{color:var(--ps-text-muted,#6b8a6e)}.pepperscore .drawer-panel p{color:var(--ps-text-muted,#8a948a);margin:0 0 19px;font-size:12px;line-height:1.55}.pepperscore .primary-action{background:var(--ps-accent,#365c42);height:37px;color:var(--ps-on-accent,#fff);border:0;border-radius:8px;align-items:center;gap:9px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex}.pepperscore .primary-action:hover{background:var(--ps-accent-hover,#284c34)}.pepperscore .text-action{color:var(--ps-text-muted,#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:var(--ps-text-secondary,#536055);justify-content:space-between;margin:22px 0 5px;font-size:11px;font-weight:700;display:flex}.pepperscore .field-label span{color:var(--ps-text-muted,#87968a);font-weight:500}.pepperscore .ps-range{width:100%;accent-color:var(--ps-accent,#5f8068);height:4px}.pepperscore .ps-switch-row{border-top:1px solid var(--ps-border-muted,#f0f2ee);color:var(--ps-text-secondary,#5d6b61);justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;display:flex}.pepperscore .ps-switch{background:var(--ps-accent-wash,#d9dfd8);border:0;border-radius:15px;width:29px;height:17px;padding:2px;position:relative}.pepperscore .ps-switch:after{content:"";background:var(--ps-on-accent,white);border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px}.pepperscore .ps-switch.is-on{background:var(--ps-accent,#5d8164)}.pepperscore .ps-switch.is-on:after{transform:translate(12px)}.pepperscore .abc-panel textarea{border:1px solid var(--ps-border-muted,#e6ebe4);background:var(--ps-surface-raised,#fdfefc);resize:vertical;width:100%;height:104px;color:var(--ps-text-secondary,#48594b);outline-color:var(--ps-focus-ring,#7d9c80);border-radius:8px;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:var(--ps-text-muted,#a0aaa0);letter-spacing:.05em;justify-content:space-between;margin-top:20px;font-size:10px;display:flex}.pepperscore .ps-error,.pepperscore .ps-toast{color:var(--ps-danger,#9a482d);background:var(--ps-surface-raised,#fff3ee);border:1px solid var(--ps-border,#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;max-width:calc(100% - 32px);color:var(--ps-text-secondary,#46604d);background:var(--ps-surface-raised,#f2f6f0);border:1px solid var(--ps-border,#cddbcc);box-shadow:0 6px 20px var(--ps-shadow-a18,#34564218);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:65px;left:50%;transform:translate(-50%)}.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:var(--ps-text-secondary,#6f776f);margin:3px 0;font-size:12px;line-height:1.45}.pepperscore .score-meta .score-subtitle{color:var(--ps-text-secondary,#4f5850);font-family:Newsreader,Georgia,serif;font-size:18px}.pepperscore .score-meta .score-credit{color:var(--ps-text-muted,#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:var(--ps-surface,#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:var(--ps-text-secondary,#5d6b61);justify-content:space-between;align-items:center;gap:8px;margin-top:17px;font-size:11px;display:flex}.pepperscore .font-toggle{border:1px solid var(--ps-border-muted,#e5e9e3);background:var(--ps-surface-raised,#f5f7f3);border-radius:8px;gap:2px;padding:2px;display:flex}.pepperscore .font-toggle button{color:var(--ps-text-muted,#718073);background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:10px}.pepperscore .font-toggle button.is-selected{background:var(--ps-accent-wash-strong,white);color:var(--ps-accent,#345642);box-shadow:0 1px 4px var(--ps-shadow-a18,#253b2e18);font-weight:700}.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:var(--ps-text-muted,#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 var(--ps-border,#dfe8dd);border-top-color:var(--ps-border,#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:var(--ps-accent,#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:var(--ps-text-secondary,#485449);font-size:11px}.pepperscore .lyric-phrase{font-size:15px}.pepperscore .header-bars-setting{color:var(--ps-text-muted,#879289);letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.pepperscore .header-bars-setting select{border:1px solid var(--ps-border-muted,#e5e9e3);background:var(--ps-surface,#fff);min-width:70px;height:30px;color:var(--ps-text-secondary,#345642);letter-spacing:0;border-radius:7px;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;min-width:0;color:var(--ps-text-secondary,#66766a);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:var(--ps-text-secondary,#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:var(--ps-text-muted,#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:var(--ps-accent-wash,#edf3ec)}.pepperscore .staff-eye:disabled{opacity:.35;cursor:default}.pepperscore .staff-focus.is-focused{background:var(--ps-accent-wash-strong,#e3ede1);color:var(--ps-accent,#345642)}.pepperscore .mixer-visibility-button{width:32px;height:32px}.pepperscore .mixer-visibility-button[aria-pressed=false]{color:var(--ps-text-muted,#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{border:1px solid var(--ps-border-muted,#e4e9e2);background:var(--ps-surface,#fff);max-width:180px;color:var(--ps-text-muted,#738075);border-radius:6px;align-items:center;gap:4px;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:var(--ps-text-muted,#718073);border-top:0;padding-left:14px}.pepperscore .inference-row input{width:14px;height:14px;accent-color:var(--ps-accent,#5d8164);margin:0}.pepperscore .playback-line{background:var(--ps-playback,#c87925);width:2px;box-shadow:0 0 0 2px var(--ps-playback-a99,#fff9),0 0 8px var(--ps-playback-a80,#c8792580);z-index:6;top:0;bottom:0}.pepperscore .mixer-trigger{width:30px;height:30px;color:var(--ps-text-secondary,#486b51);flex:none}.pepperscore .mixer-backdrop{z-index:110;background:var(--ps-backdrop,#17271b66);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pepperscore .mixer-panel{border:1px solid var(--ps-border,#e2e9e0);background:var(--ps-surface,#fff);width:min(500px,100%);max-height:min(82%,720px);box-shadow:0 18px 60px var(--ps-shadow-a40,#15251a40);border-radius:16px;flex-direction:column;padding:18px 20px 20px;display:flex;overflow:hidden}.pepperscore .mixer-heading,.pepperscore .mixer-heading>div{align-items:center;gap:9px;display:flex}.pepperscore .mixer-heading{color:var(--ps-text-secondary,#345642);justify-content:space-between}.pepperscore .mixer-heading h2{margin:0;font-size:17px;font-weight:650}.pepperscore .mixer-panel>p{color:var(--ps-text-muted,#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 var(--ps-border-muted,#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:var(--ps-text-secondary,#344439);font-size:12px;overflow:hidden}.pepperscore .mixer-track-name small{color:var(--ps-text-muted,#88948a);font-size:10px;display:block}.pepperscore .mixer-track select{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);width:100%;height:32px;color:var(--ps-text-secondary,#345642);border-radius:7px;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:var(--ps-text-secondary,#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{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);width:30px;height:30px;color:var(--ps-accent,#3e6047);border-radius:7px;place-items:center;display:grid}.pepperscore .semitone-control button:disabled{opacity:.4;cursor:default}.pepperscore .semitone-control output{text-align:center;min-width:95px;color:var(--ps-text-secondary,#345642);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;min-width:72px;color:var(--ps-text-secondary,#345642);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700}.pepperscore .pitch-key-flip{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);min-width:96px;height:30px;color:var(--ps-text-secondary,#3e6047);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .pitch-key-flip:not(.is-disabled):hover{background:var(--ps-accent-wash,#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:var(--ps-text-secondary,#486b51);background:0 0;border:0;border-radius:7px;padding:0}.pepperscore .instrument-control:hover,.pepperscore .instrument-control:focus-visible{background:var(--ps-accent-wash,#edf3ec);outline:2px solid var(--ps-focus-ring,#c8dcca);outline-offset:1px}.pepperscore .instrument-control img{object-fit:contain;display:block}.pepperscore .header-open-file{color:var(--ps-text-secondary,#486b51);flex:none}.pepperscore .mixer-voice-button{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);width:100%;min-height:32px;color:var(--ps-accent,#345642);text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:4px;padding:3px 7px;font-size:11px;display:flex}.pepperscore .mixer-voice-button:hover{background:var(--ps-accent-wash,#f2f7f1)}.pepperscore .mixer-volume{color:var(--ps-text-muted,#78867a);grid-column:2/-1;align-items:center;gap:9px;font-size:11px;display:flex}.pepperscore .mixer-volume input{min-width:0;accent-color:var(--ps-accent,#588366);flex:1}.pepperscore .mixer-volume output{text-align:right;min-width:34px;color:var(--ps-text-secondary,#345642);font-variant-numeric:tabular-nums}.pepperscore .instrument-picker-backdrop{z-index:120;background:var(--ps-backdrop,#17271b66);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pepperscore .instrument-picker-panel{border:1px solid var(--ps-border,#e2e9e0);background:var(--ps-surface,#fff);width:min(680px,100%);max-height:min(88%,760px);box-shadow:0 18px 60px var(--ps-shadow-a40,#15251a40);border-radius:16px;flex-direction:column;padding:19px;display:flex;overflow:hidden}.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:var(--ps-text-secondary,#345642);margin:0;font-size:17px}.pepperscore .instrument-picker-heading p{color:var(--ps-text-muted,#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{border:1px solid var(--ps-border-muted,#e5eae2);background:var(--ps-surface,#fff);min-height:96px;color:var(--ps-accent,#3c5040);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:7px;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:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .instrument-picker-grid button.is-selected{background:var(--ps-accent-wash-strong,#eaf3e9);border-color:var(--ps-accent,#6c9875);box-shadow:inset 0 0 0 1px var(--ps-accent,#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{border:1px solid var(--ps-border,#dde7dc);background:var(--ps-surface,#fff);color:var(--ps-accent,#5b6d5e);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:10px}.pepperscore .instrument-family-filters button:hover,.pepperscore .instrument-family-filters button:focus-visible{background:var(--ps-accent-wash,#f2f7f1)}.pepperscore .instrument-family-filters button.is-selected{border-color:var(--ps-accent,#6c9875);background:var(--ps-accent-wash-strong,#eaf3e9);color:var(--ps-accent,#345642);font-weight:700}.pepperscore .instrument-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.pepperscore .instrument-picker-pages{color:var(--ps-text-muted,#718073);justify-content:center;align-items:center;gap:14px;padding-top:12px;font-size:11px;display:flex}.pepperscore .instrument-picker-pages button{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);width:29px;height:29px;color:var(--ps-accent,#3e6047);border-radius:7px;place-items:center;display:grid}.pepperscore .instrument-picker-pages button:hover:not(:disabled){background:var(--ps-accent-wash,#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{border:1px solid var(--ps-border-muted,#e5eae2);background:var(--ps-surface,#fff);min-height:78px;color:var(--ps-text-secondary,#3c5040);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 5px;font-size:11px;line-height:1.2;display:flex}.pepperscore .instrument-chooser-option:hover,.pepperscore .instrument-chooser-option:focus-visible{background:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .instrument-chooser-option.is-selected{background:var(--ps-accent-wash-strong,#eaf3e9);border-color:var(--ps-accent,#6c9875);box-shadow:inset 0 0 0 1px var(--ps-accent,#6c9875);font-weight:700}.pepperscore .instrument-chooser-icon{object-fit:contain;width:34px;height:34px;color:var(--ps-text-secondary,#597660)}.pepperscore .instrument-chooser-settings{border-top:1px solid var(--ps-border-muted,#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:var(--ps-text-secondary,#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:var(--ps-text-muted,#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{width:88px;height:18px;accent-color:var(--ps-accent,#5d8164);cursor:pointer;margin:0}.pepperscore .header-stave-scale-value{min-width:36px;color:var(--ps-text-secondary,#345642);letter-spacing:0;text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.pepperscore .header-more,.pepperscore .header-secondary-panel,.pepperscore .header-secondary-panel>.header-control{display:contents}.pepperscore .header-more-toggle{color:var(--ps-text-secondary,#486b51);display:none}.pepperscore .header-more-toggle.is-open{background:var(--ps-accent-wash,#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:var(--ps-text-muted,#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{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);height:30px;color:var(--ps-accent,#3e6047);border-radius:7px;justify-content:center;align-items:center;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;width:66px;color:var(--ps-text-secondary,#345642);letter-spacing:0;font-variant-numeric:tabular-nums;flex:none;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:var(--ps-text-muted,#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;width:84px;color:var(--ps-accent,#345642);letter-spacing:0;font-variant-numeric:tabular-nums;flex:none;gap:4px;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:var(--ps-accent-wash,#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;border:1px solid var(--ps-border,#e2e9e0);background:var(--ps-surface,#fff);width:min(340px,100cqw - 16px);box-shadow:0 12px 36px var(--ps-shadow-a2e,#15251a2e);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;font-family:Poppins,Arial,sans-serif;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.pepperscore .header-more[data-open=true] .header-secondary-panel{display:flex}.pepperscore .header-secondary-panel>.header-control{border-top:1px solid var(--ps-border-muted,#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{width:100%;color:var(--ps-text-muted,#879289);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:8px;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{border:1px solid var(--ps-border,#cfdacd);background:var(--ps-surface,#fff);height:38px;color:var(--ps-text-secondary,#345642);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.pepperscore .header-open-file:hover{background:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#b7c8b5)}.pepperscore .header-open-file[aria-expanded=true]{background:var(--ps-accent-wash,#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:4px}}@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:var(--ps-accent-wash,#f0f0ec);border:1px solid var(--ps-border-muted,#e5e7e1);border-radius:10px;flex-shrink:0;align-items:stretch;height:38px;padding:2px;display:flex}.pepperscore .tab-view-toggle-header button{color:var(--ps-text-muted,#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{background:var(--ps-accent-wash-strong,white);color:var(--ps-accent,#345642);box-shadow:0 1px 5px var(--ps-shadow-a16,#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{background:repeating-linear-gradient(180deg,transparent 0 22px,var(--ps-accent-wash,#f3f4ef) 22px 23px);opacity:.7;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{max-width:100%;color:var(--ps-text-secondary,#46604d);background:var(--ps-surface-raised,#f2f6f0);border:1px solid var(--ps-border,#cddbcc);box-shadow:0 6px 20px var(--ps-shadow-a18,#34564218);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.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:var(--ps-text-muted,#7d8f80);font-size:11px}.pepperscore .reopen-banner-actions{flex:none;align-items:center;gap:6px;display:flex}.pepperscore .reopen-banner-actions button{border:1px solid var(--ps-border,#cddbcc);background:var(--ps-surface,#fff);height:30px;color:var(--ps-accent,#46604d);border-radius:7px;padding:0 11px;font-size:11px;font-weight:700}.pepperscore .reopen-banner-actions .reopen-banner-reopen{background:var(--ps-accent,#365c42);border-color:var(--ps-border,#365c42);color:var(--ps-on-accent,#fff)}.pepperscore .reopen-banner-actions .reopen-banner-reopen:hover{background:var(--ps-accent-hover,#284c34)}.pepperscore .reopen-banner-actions .reopen-banner-later:hover,.pepperscore .reopen-banner-actions .reopen-banner-forget:hover{background:var(--ps-accent-wash,#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{border:1px solid var(--ps-danger,#9a482d);background:var(--ps-danger,#9a482d);height:30px;color:var(--ps-on-accent,#fff);border-radius:7px;padding:0 11px;font-size:11px;font-weight:700}.pepperscore .ps-toast .oom-retry-button{background:var(--ps-danger,#9a482d);color:var(--ps-on-accent,#fff);border:1px solid var(--ps-danger,#9a482d);align-items:center;display:inline-flex}.pepperscore .oom-retry-button:hover,.pepperscore .ps-toast .oom-retry-button:hover{background:var(--ps-danger,#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:var(--ps-warning,#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;background:var(--ps-accent,#345642);width:36px;height:36px;color:var(--ps-on-accent,#fff);box-shadow:0 3px 8px var(--ps-shadow-a33,#34564233);border-radius:50%;position:absolute;top:8px;right:8px}.pepperscore .topbar .ps-compact-play{top:50%;transform:translateY(-50%)}.pepperscore .ps-compact-play:hover{background:var(--ps-accent-hover,#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:var(--ps-surface,#fff);border:1px solid var(--ps-border,#d7e0d5);width:36px;height:36px;box-shadow:0 3px 8px var(--ps-shadow-a22,#34564222);border-radius:50%}.pepperscore .instrument-switch:hover,.pepperscore .instrument-switch.is-open{background:var(--ps-accent-wash,#eef4ec);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .instrument-switch-icon{object-fit:contain;width:22px;height:22px}.pepperscore .ps-embed-toolbar{border-top:1px solid var(--ps-border-muted,#eef0ec);background:var(--ps-surface-raised,#fbfaf8);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;border:1px solid var(--ps-border,#e2e8e0);background:var(--ps-surface,#fff);color:var(--ps-text,#242824);box-shadow:0 12px 36px var(--ps-shadow-a33,#1d2b2033);text-align:left;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}.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 var(--ps-border-muted,#f0f2ee);flex-wrap:wrap;gap:4px;padding-bottom:8px;display:flex}.pepperscore .instrument-menu-part{border:1px solid var(--ps-border-muted,#e5eae2);background:var(--ps-surface,#fff);min-height:32px;color:var(--ps-text-secondary,#3c5040);border-radius:16px;align-items:center;gap:7px;padding:4px 10px;font-size:11px;display:flex}.pepperscore .instrument-menu-part:hover,.pepperscore .instrument-menu-part:focus-visible{background:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .instrument-menu-part.is-selected{background:var(--ps-accent-wash-strong,#eaf3e9);border-color:var(--ps-accent,#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:var(--ps-text-muted,#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 var(--ps-border-muted,#f0f2ee);padding-top:8px}.pepperscore .octave-tool-toggle{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);min-height:32px;color:var(--ps-text-secondary,#3e6047);border-radius:8px;padding:5px 12px;font-size:11px;font-weight:700}.pepperscore .octave-tool-toggle:hover,.pepperscore .octave-tool-toggle:focus-visible{background:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .octave-tool-toggle.is-selected{background:var(--ps-accent,#365c42);border-color:var(--ps-accent,#365c42);color:var(--ps-on-accent,#fff)}.pepperscore .octave-tool-toggle-compact{min-height:36px;box-shadow:0 3px 8px var(--ps-shadow-a22,#34564222);border-radius:18px}.pepperscore .octave-tool-hint{color:var(--ps-text-muted,#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{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);box-shadow:0 8px 28px var(--ps-shadow-a26,#1d2b2026);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}.pepperscore .octave-toolbar:focus-visible{outline:2px solid var(--ps-focus-ring,#8fb89a);outline-offset:2px}.pepperscore .octave-toolbar-status{color:var(--ps-text-secondary,#5d6b61);max-width:260px;font-size:11px}.pepperscore .octave-toolbar-actions{flex-wrap:wrap;gap:6px;display:flex}.pepperscore .octave-toolbar-button{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);min-height:34px;color:var(--ps-accent,#3e6047);white-space:nowrap;border-radius:8px;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:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .octave-toolbar-button[aria-disabled=true]{cursor:default;opacity:.45}.pepperscore .octave-toolbar-button.is-primary{background:var(--ps-accent,#365c42);border-color:var(--ps-border,#365c42);color:var(--ps-on-accent,#fff)}.pepperscore .octave-toolbar-button.is-primary:hover{background:var(--ps-accent-hover,#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 input[type=range]{color:var(--ps-text-muted,revert);background-color:var(--ps-surface,revert)}.pepperscore button,.pepperscore input[type=checkbox]{color:var(--ps-text,revert)}.pepperscore :where(button,input,select,textarea,a):focus-visible{outline-color:var(--ps-focus-ring,revert)}.pepperscore{--ps-shadow-a24:color-mix(in srgb,var(--ps-shadow) 14.1176%,transparent);--ps-shadow-a0a:color-mix(in srgb,var(--ps-shadow) 3.92157%,transparent);--ps-playback-a2b:color-mix(in srgb,var(--ps-playback) 16.8627%,transparent);--ps-shadow-a16:color-mix(in srgb,var(--ps-shadow) 8.62745%,transparent);--ps-shadow-a60:color-mix(in srgb,var(--ps-shadow) 37.6471%,transparent);--ps-shadow-a18:color-mix(in srgb,var(--ps-shadow) 9.41177%,transparent);--ps-playback-a99:color-mix(in srgb,var(--ps-playback) 60%,transparent);--ps-playback-a80:color-mix(in srgb,var(--ps-playback) 50.1961%,transparent);--ps-shadow-a40:color-mix(in srgb,var(--ps-shadow) 25.098%,transparent);--ps-shadow-a2e:color-mix(in srgb,var(--ps-shadow) 18.0392%,transparent);--ps-shadow-a33:color-mix(in srgb,var(--ps-shadow) 20%,transparent);--ps-shadow-a22:color-mix(in srgb,var(--ps-shadow) 13.3333%,transparent);--ps-shadow-a26:color-mix(in srgb,var(--ps-shadow) 14.902%,transparent);--ps-shadow-a10:color-mix(in srgb,var(--ps-shadow) 6.27451%,transparent);--ps-focus-ring-a2e:color-mix(in srgb,var(--ps-focus-ring) 18.0392%,transparent)}.pepperscore .skin-topbar{height:auto;min-height:54px;padding-block:6px}.pepperscore .skin-bar{flex-wrap:wrap;min-width:0;max-width:100%;font-family:Poppins,Arial,sans-serif}.pepperscore .skin-annotation-toggle[aria-pressed=true]{background:var(--ps-accent-wash-strong,#eaf3e9);color:var(--ps-accent,#345642);box-shadow:inset 0 0 0 1px var(--ps-accent,#345642)}.pepperscore .skin-bar .instrument-switch{flex:none;position:static;transform:none}@container pepperscore (width<=760px){.pepperscore .skin-bar .header-secondary-panel>.header-control{flex-wrap:wrap}.pepperscore .skin-bar .header-secondary-panel{max-height:60cqh;overflow:auto}}.pepperscore .drawer-extra-controls{flex-direction:column;gap:12px;display:flex}.pepperscore .drawer-extra{align-items:center;min-height:36px;display:flex}.pepperscore .drawer-extra .header-stave-scale{flex-wrap:wrap;min-width:0}.pepperscore .drawer-extra .header-stave-scale-input{flex:1;min-width:60px}.pepperscore .drawer-extra .mixer-trigger{align-items:center;gap:8px;width:auto;padding:0 8px;display:flex}.pepperscore .drawer-extra .mixer-trigger-label{display:inline}.pepperscore .skin-playback-toolbar{flex-wrap:wrap;justify-content:flex-start}.pepperscore .skin-playback-toolbar .header-control{align-items:center;display:flex}.pepperscore .skin-playback-toolbar .bpm-control{margin-left:0}.pepperscore .app-shell.has-skin-toolbar:not(.no-drawer){padding-bottom:47px}.pepperscore .app-shell.has-skin-toolbar .octave-tool-dock.is-above-toolbar,.pepperscore .app-shell.has-skin-toolbar .ps-toast,.pepperscore .app-shell.has-skin-toolbar .reader-notices{bottom:calc(var(--ps-bottom-toolbar-h,0px) + 12px)}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=C]{fill:var(--ps-pitch-c);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=C\#]{fill:var(--ps-pitch-c-sharp);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=D]{fill:var(--ps-pitch-d);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=D\#]{fill:var(--ps-pitch-d-sharp);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=E]{fill:var(--ps-pitch-e);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=F]{fill:var(--ps-pitch-f);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=F\#]{fill:var(--ps-pitch-f-sharp);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=G]{fill:var(--ps-pitch-g);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=G\#]{fill:var(--ps-pitch-g-sharp);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=A]{fill:var(--ps-pitch-a);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=A\#]{fill:var(--ps-pitch-a-sharp);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .notehead[data-pitch=B]{fill:var(--ps-pitch-b);stroke:var(--ps-pitch-outline,#000000a6);stroke-width:18px;paint-order:stroke fill}.pepperscore[data-ps-pitch-colours] .is-playing .notehead[data-pitch],.pepperscore[data-ps-pitch-colours] .ps-cursor .notehead[data-pitch],.pepperscore[data-ps-pitch-colours] .ps-selection .notehead[data-pitch],.pepperscore[data-ps-pitch-colours] .ps-transposed .notehead[data-pitch],.pepperscore[data-ps-pitch-colours] .ps-out-of-range .notehead[data-pitch]{fill:inherit;stroke:inherit;stroke-width:inherit}.pepperscore .ps-pitch-colour-tile{background:var(--ps-pitch-c);opacity:.45;width:36px;height:36px;box-shadow:none;border:0;border-radius:7px;flex:none;padding:0}.pepperscore .ps-pitch-colour-tile[aria-pressed=true]{opacity:1;box-shadow:0 0 0 2px var(--ps-accent,#345642)}.pepperscore .ps-pitch-colour-tile svg{width:100%;height:100%}.pepperscore .ps-pitch-colour-tile text{fill:var(--ps-pitch-letter,white);stroke:var(--ps-pitch-letter-outline,#00000059);stroke-width:3px;paint-order:stroke fill;font-family:Poppins,sans-serif;font-size:20px;font-weight:600}.pepperscore .pdf-backdrop{z-index:110;background:var(--ps-backdrop,#15251a66);justify-content:center;align-items:center;padding:12px;font-family:Poppins,Arial,sans-serif;display:flex;position:absolute;inset:0}.pepperscore .pdf-panel{box-sizing:border-box;border:1px solid var(--ps-border,#e2e9e0);background:var(--ps-surface,#fff);width:min(400px,100%);max-height:100%;color:var(--ps-text,#242824);box-shadow:0 18px 60px var(--ps-shadow-a40,#15251a40);border-radius:16px;flex-direction:column;gap:14px;padding:20px;display:flex;overflow:auto}.pepperscore .pdf-panel h2{margin:0;font-size:18px}.pepperscore .pdf-field{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.pepperscore .pdf-field select,.pepperscore .pdf-field input{box-sizing:border-box;border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);width:110px;min-height:38px;color:var(--ps-text,#242824);font:inherit;border-radius:8px;padding:6px}.pepperscore .pdf-fit,.pepperscore .pdf-error{color:var(--ps-text-secondary,#46604d);margin:0;font-size:12px;line-height:1.5}.pepperscore .pdf-error{color:var(--ps-danger,#a32828)}.pepperscore .pdf-actions{justify-content:flex-end;gap:8px;display:flex}.pepperscore .pdf-actions button{border:1px solid var(--ps-border,#dfe6dc);background:var(--ps-surface,#fff);min-height:40px;color:var(--ps-accent,#345642);font:inherit;border-radius:8px;padding:8px 16px;font-size:13px}.pepperscore .drawer-grid:has(>.playback-view-panel){grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.pepperscore .pdf-trigger-icon{display:none}@container pepperscore (width>=761px) and (width<=900px){.pepperscore .topbar:not(.skin-topbar):has(.header-control-pdf) .transport{gap:3px}.pepperscore .topbar:not(.skin-topbar) .pdf-trigger{width:24px}.pepperscore .topbar:not(.skin-topbar) .pdf-trigger-icon{display:block}.pepperscore .topbar:not(.skin-topbar) .pdf-trigger-label{display:none}}.pepperscore .pdf-actions .pdf-save{background:var(--ps-accent,#345642);color:var(--ps-on-accent,#fff);border-color:var(--ps-accent,#345642)}.pepperscore .topbar .header-open-file{border:1px solid var(--ps-border,#dfe5dc);background:var(--ps-surface,#fff);color:var(--ps-accent,#486b51);box-shadow:0 1px 2px var(--ps-shadow-a10,#34564210);transition:background .15s,border-color .15s,box-shadow .15s}.pepperscore .topbar .header-open-file:hover{background:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#b9cdb9)}.pepperscore .topbar .header-open-file:focus-visible{outline:2px solid var(--ps-focus-ring,#8fb89a);outline-offset:2px;border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .topbar .header-open-file[aria-expanded=true]{background:var(--ps-accent-wash,#edf3ec);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .open-dialog-backdrop{z-index:115;background:var(--ps-backdrop,#17271b66);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.pepperscore .open-dialog{overscroll-behavior:contain;border:1px solid var(--ps-border,#e2e9e0);background:var(--ps-surface,#fff);width:min(560px,100%);max-height:min(88%,760px);box-shadow:0 18px 60px var(--ps-shadow-a40,#15251a40);color:var(--ps-text-secondary,#344c38);border-radius:16px;flex-direction:column;padding:19px 20px 20px;font-family:Poppins,Arial,sans-serif;display:flex;overflow:auto}.pepperscore .open-dialog-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.pepperscore .open-dialog-title{color:var(--ps-text-secondary,#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:var(--ps-text-muted,#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{border:1px solid var(--ps-border,#e2e8e0);background:var(--ps-surface-raised,#f8faf7);border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:8px 11px;display:flex}.pepperscore .open-dialog-format-name{color:var(--ps-text-secondary,#345642);font-size:12px;font-weight:700}.pepperscore .open-dialog-format-detail{color:var(--ps-text-muted,#7c8a7e);overflow-wrap:anywhere;font-size:11px}.pepperscore .open-dialog-entry-label{color:var(--ps-text-secondary,#536055);margin:0 0 6px;font-size:11px;font-weight:700;display:block}.pepperscore .open-dialog-dropzone{border:1.5px dashed var(--ps-border,#c9d8c8);background:var(--ps-surface-raised,#fdfefc);border-radius:12px;transition:border-color .15s,background .15s,box-shadow .15s;position:relative}.pepperscore .open-dialog-dropzone:focus-within{border-color:var(--ps-focus-ring,#8fb89a);box-shadow:0 0 0 3px var(--ps-focus-ring-a2e,#8fb89a2e)}.pepperscore .open-dialog-dropzone.is-drag-over{border-color:var(--ps-accent,#486b51);background:var(--ps-accent-wash,#f0f6ef);box-shadow:0 0 0 4px var(--ps-shadow-a24,#486b5124);border-style:solid}.pepperscore .open-dialog-abc-input{resize:vertical;width:100%;min-height:148px;color:var(--ps-text-secondary,#3e4f41);background:0 0;border:0;border-radius:12px;outline:none;padding:12px 13px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.55;display:block}.pepperscore .open-dialog-abc-input::placeholder{color:var(--ps-text-faint,#a9b5aa)}.pepperscore .open-dialog-drop-overlay{background:var(--ps-accent-wash,#f0f6ef);color:var(--ps-text-secondary,#345642);pointer-events:none;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:var(--ps-text-muted,#78867a);margin:8px 0 0;font-size:11.5px;line-height:1.5}.pepperscore .open-dialog-tip-keys{color:var(--ps-text-muted,#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:var(--ps-danger,#9a482d);background:var(--ps-surface-raised,#fff3ee);border:1px solid var(--ps-border,#e9c7bb)}.pepperscore .open-dialog-message.is-hint{color:var(--ps-text-secondary,#6b5a1f);background:var(--ps-surface-raised,#fdf8e9);border:1px solid var(--ps-border,#eadcae)}.pepperscore .open-dialog-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.pepperscore .open-dialog-browse{border:1px solid var(--ps-border,#dfe5dc);background:var(--ps-surface,#fff);height:37px;color:var(--ps-text-secondary,#345642);border-radius:10px;align-items:center;gap:8px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.pepperscore .open-dialog-browse:hover{background:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#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:2px solid var(--ps-focus-ring,#8fb89a);outline-offset:2px}.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:var(--ps-text-secondary,#344c38);margin:0;font-size:13px;font-weight:700}.pepperscore .open-dialog-choices-count{color:var(--ps-text-muted,#87968a);margin-left:6px;font-size:11px;font-weight:500}.pepperscore .open-dialog-choices-back{margin:0}.pepperscore .open-dialog-choices-note{color:var(--ps-text-muted,#8a948a);margin:0 0 6px;font-size:11px}.pepperscore .open-dialog-choice-list{border:1px solid var(--ps-border,#e2e8e0);background:var(--ps-surface-raised,#f8faf7);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{border:1px solid var(--ps-border,#e2e8e0);background:var(--ps-surface,#fff);width:100%;color:var(--ps-text-secondary,#344c38);text-align:left;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;display:grid}.pepperscore .open-dialog-choice:hover,.pepperscore .open-dialog-choice:focus-visible{background:var(--ps-accent-wash,#f2f7f1);border-color:var(--ps-focus-ring,#8fb89a)}.pepperscore .open-dialog-choice-icon{color:var(--ps-text-muted,#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:var(--ps-text-muted,#87968a);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pepperscore .open-dialog-choice-format{background:var(--ps-accent-wash,#edf3ec);color:var(--ps-text-secondary,#486b51);white-space:nowrap;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
|
+
"version": "0.5.0",
|
|
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",
|
|
@@ -50,13 +50,16 @@
|
|
|
50
50
|
"@tonejs/midi": "^2.0.28",
|
|
51
51
|
"abcjs": "^6.7.1",
|
|
52
52
|
"fflate": "^0.8.3",
|
|
53
|
+
"jspdf": "^4.2.1",
|
|
53
54
|
"lucide-react": "^0.468.0",
|
|
54
55
|
"smplr": "^1.0.0",
|
|
55
|
-
"soundfont2": "^0.5.0"
|
|
56
|
+
"soundfont2": "^0.5.0",
|
|
57
|
+
"svg2pdf.js": "^2.9.0"
|
|
56
58
|
},
|
|
57
59
|
"devDependencies": {
|
|
58
60
|
"@types/react": "^19.2.0",
|
|
59
61
|
"@types/react-dom": "^19.2.0",
|
|
62
|
+
"pdf-lib": "^1.17.1",
|
|
60
63
|
"react": "^19.2.0",
|
|
61
64
|
"react-dom": "^19.2.0",
|
|
62
65
|
"typescript": "^5.9.3",
|
|
@@ -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}new TextEncoder,new TextDecoder;const P=e=>{if(!e.startsWith(`n_`))return null;let t=e.replace(/(?:_c\d+)?(?:_s\d+)?$/,``);return t===e?null:t},F=[`C`,`D`,`E`,`F`,`G`,`A`,`B`],I=[0,2,4,5,7,9,11],L=(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=I[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=F.indexOf(e.step)+t.diatonic,r=F[L(n,7)],i=e.octave+Math.floor(n/7);return{step:r,octave:i,alter:R(e)+t.chromatic-R({step:r,octave:i,alter:0})}}const R=e=>(e.octave+1)*12+I[F.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 z=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=L(7*(e+7*t),12);return D(L(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]&&R(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[F.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 le=/^([A-G])([#♯b♭x𝄪𝄫]*)/,ue=e=>[...e].reduce((e,t)=>e+(t===`#`||t===`♯`?1:t===`x`||t===`𝄪`?2:t===`𝄫`?-2:-1),0);function de(e,t){let n=(e,n)=>{let r=t.reduce((e,t)=>ne(e,t),{step:e,alter:ue(n),octave:4});return r.step+(r.alter>0?`#`.repeat(r.alter):`b`.repeat(-r.alter))},r=le.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 fe={treble:[`G`,`2`],bass:[`F`,`4`],alto:[`C`,`3`],tenor:[`C`,`4`],treble8vb:[`G`,`2`,`8`]},pe=[`clef.shape`,`clef.line`,`clef.dis`,`clef.dis.place`];function me(e,t){let[n,r,i]=fe[e];return`<clef${t?` xml:id="${t}"`:``} shape="${n}" line="${r}"${i?` dis="${i}" dis.place="below"`:``}/>`}function he(e,t){if(!/\sclef\.shape\s*=/.test(e))return e;let n=pe.reduce(Se,e);if(!t||!fe[t])return n;let[r,i,a]=fe[t];return n=H(H(n,`clef.shape`,r),`clef.line`,i),a?H(H(n,`clef.dis`,a),`clef.dis.place`,`below`):n}const ge=`CDEFGAB`,_e=[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},ve=e=>({1:`s`,[-1]:`f`,0:`n`,2:`x`,[-2]:`ff`})[e]??`n`,ye=e=>({1:`s`,[-1]:`f`,0:`n`,2:`ss`,[-2]:`ff`})[e]??`n`;function be(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 V={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 xe(e){return r(e,`grace`)===null?(V[r(e,`dur`)||``]??0)*(2-1/2**(Number(r(e,`dots`))||0)):0}function H(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 Se(e,t){return e.replace(RegExp(`\\s${t.replace(`.`,`\\.`)}\\s*=\\s*(?:"[^"]*"|'[^']*')`),``)}const Ce=[`keysig`,`key.sig`,`key.mode`,`key.pname`,`key.accid`,`key.sig.mixed`],we=e=>Ce.reduce(Se,e),Te=e=>e.replace(/\s*\/>$/,`>`),Ee=e=>`<keySig sig="${z(e.fifths)}"${e.mode===`minor`?` mode="minor"`:``}/>`,De=e=>e===`minor`?`minor`:e===`major`?`major`:null,Oe=/^(?:\s+(?:n|xml:id|keysig|key\.[\w.]+)\s*=\s*(?:"[^"]*"|'[^']*'))*\s*$/;function ke(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||!!e.clef||!!e.shift?.[1]||!!e.shift?.[0]||Object.keys(e.octaves??{}).length>0):!1}async function U(e,t,n,r=0){return!t||!ke(e,t)?e:Ae(t.interval?await n(e,{transpose:t.interval,transposeToSoundingPitch:!1}):e,t,r)}function Ae(e,t,n=0){if(!ke(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=>{let t=m(e).shift;return t&&(t[0]||t[1])?{diatonic:t[0],chromatic:t[1]}:void 0},g=e=>!p.has(e)&&(m(e).moved||t.semitones!==0||t.flip||!!t.interval||!!h(e)),_=(e,t)=>{let n=p.has(e)?void 0:m(e).octaves;if(!n)return 0;let r=n[t]===void 0?P(t):null;return(n[t]??(r?n[r]:void 0)??0)/12},v=e=>!p.has(e)&&Object.keys(m(e).octaves??{}).length>0,y=e=>{let t=p.has(e)?void 0:m(e).clef;return t&&fe[t]?t:void 0},b=[],x=[],S=[],C,w,E,D=0,O=-1,k=``,A=``,j=0,M=[],F=-1,I=0,L=0,R,z,ie=()=>M.reduce((e,t)=>e*t,1),se=(e,t,n)=>{let i=re(r(e,t))??(t===`key.sig`?re(r(e,`keysig`)):null);return i===null?null:{fifths:i,mode:De(r(e,n))??`major`}};u(e,({closing:t,name:n,attributes:i,selfClosing:u,index:m,length:h})=>{let _=e.slice(m,m+h);if(t){if(S.pop(),E){--D===0&&(E.end=m+h,E=void 0);return}n===`staffDef`&&w?(w.end=m+h,w=void 0):n===`scoreDef`&&C?(C.end=m+h,C=void 0):n===`note`&&R?(R.end=m+h,R=void 0):n===`chord`?(I--,j+=L*ie()):n===`tuplet`?M.pop():n===`harm`&&z?(z.textEnd=m,z=void 0):n===`layer`?A=``:n===`staff`&&(k=``);return}if(u||S.push(n),E){u||D++;return}if(z&&(z.nested=!0),n===`scoreDef`){let e={start:m,end:m+h,initial:!o.length,measure:O+1,content:!1,keyRanges:[],tagEdits:[],keys:/* @__PURE__ */ new Map},t=se(i,`key.sig`,`key.mode`);t&&e.keys.set(`*`,t);let n=we(_);n!==_&&e.tagEdits.push({start:m,end:m+h,text:n}),/\s(?!xml:id)[\w.:-]+\s*=/.test(n.replace(/^<[\w:]+/,``).replace(/\sxml:id\s*=\s*"[^"]*"/,``))&&(e.content=!0),o.push(e),u||(C=e);return}if(C&&n===`staffGrp`){if(C.initial)return;Oe.test(i)||(C.content=!0);return}if(n===`staffDef`){let e=r(i,`n`)||``,t={start:m,end:m+h,n:e,tag:_,selfClosing:u};if(r(i,`clef.shape`)===`perc`&&p.add(e),C){let n=se(i,`key.sig`,`key.mode`);n&&C.keys.set(e,n);let r=y(e)?he(we(_),C.initial?y(e):void 0):we(_);r!==_&&C.tagEdits.push({start:m,end:m+h,text:r}),Oe.test(i)||(C.content=!0),C.initial&&(s.push(t),e&&!x.includes(e)&&x.push(e))}u||(w=t);return}if(n===`clef`&&w){r(i,`shape`)===`perc`&&p.add(w.n),u&&(w.clefEnd=m+h,w.clef={start:m,end:m+h,id:r(i,`xml:id`)}),C&&(C.content=!0),u&&C&&!C.initial&&y(w.n)&&b.push({start:m,end:m+h,text:``});return}if(n===`keySig`){let e={start:m,end:m+h};u||(E=e,D=1);let t=se(i,`sig`,`mode`);C?(C.keyRanges.push(e),t&&C.keys.set(w?w.n:`*`,t)):k&&f.push(Object.assign(e,{staff:k,measure:O,key:t}));return}if(C){C.content=!0;return}if(n===`measure`){O++,c.push(m);return}if(n===`staff`){k=r(i,`n`)||``;return}if(n===`layer`){A=r(i,`n`)||`1`,j=0,M.length=0,I=0;return}if(!k||!A){n===`harm`&&!u&&(z={textStart:m+h,textEnd:m+h,staff:(r(i,`staff`)||``).split(/\s+/)[0],measure:O,nested:!1},d.push(z));return}if(n===`clef`){y(k)&&u&&b.push({start:m,end:m+h,text:``});return}if(n===`tuplet`){let e=Number(r(i,`num`))||1,t=Number(r(i,`numbase`))||1;u||M.push(t/e);return}if(n===`chord`){F=j,L=xe(i),u?j+=L*ie():I++;return}if(n===`note`){let e=I>0,t=e?F:j;e||(j+=xe(i)*ie());let n=(r(i,`pname`)||``).toUpperCase(),o=Number(r(i,`oct`));if(!n||!ge.includes(n)||!Number.isFinite(o)||!(g(k)||v(k)))return;let s=r(i,`xml:id`)||``,c=r(i,`tie`),d=r(i,`accid`),f=r(i,`accid.ges`);R={start:m,end:m+h,tag:_,selfClosing:u,id:s,staff:k,layer:A,measure:O,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(R),u&&(R=void 0);return}if(n===`accid`&&R){let e=r(i,`accid`),t=r(i,`accid.ges`);e!==null&&B[e]!==void 0&&(R.written=B[e]),t!==null&&B[t]!==void 0&&(R.gestural=B[t]),(r(i,`func`)!==null||r(i,`enclose`)!==null)&&(R.cautionary=e!==null),R.accids.push({start:m,end:m+h,attributes:i});return}[`rest`,`space`,`mRest`,`mSpace`,`multiRest`].includes(n)&&I===0&&(j+=(n.startsWith(`m`)?1e3:xe(i))*ie())});for(let e of p)x.includes(e)||x.push(e);let le=c.length,ue=/* @__PURE__ */ new Map;for(let e of x){if(p.has(e))continue;let t=Array(Math.max(1,le)).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}ue.set(e,t)}let pe=/* @__PURE__ */ new Map,V=(e,n)=>{let r=ue.get(e)?.[Math.max(0,Math.min(n,le-1))]??{fifths:0,mode:`major`},i=`${e}|${r.fifths}|${r.mode}`,a=pe.get(i);return a||(a=ae(r.fifths,t.semitones,r.mode,m(e),t.flip),pe.set(i,a)),a},Ce=(e,t)=>{let n=h(e);return(ue.get(e)?.[Math.max(0,Math.min(t,le-1))]?.fifths??0)+i-(n?te(n):0)},U=/* @__PURE__ */ new Map;for(let e of l){let t=`${e.staff}|${e.measure}`;(U.get(t)??U.set(t,[]).get(t)).push(e)}let Ae=/* @__PURE__ */ new Map;for(let e of U.values()){let t=/* @__PURE__ */ new Map;for(let n of[...e].sort((e,t)=>e.onset-t.onset)){let e=`${n.pname}${n.oct}`;Ae.set(n,n.written??n.gestural??t.get(e)??be(n.pname,Ce(n.staff,n.measure))),n.written!==null&&t.set(e,n.written)}}let je=/* @__PURE__ */ new Map;for(let e of l){let t=`${e.staff}|${e.layer}`;(je.get(t)??je.set(t,[]).get(t)).push(e)}let W=/* @__PURE__ */ new Map,G=e=>(e.octave+1)*12+_e[ge.indexOf(e.step)]+e.alter;for(let e of je.values()){let t=new Map(e.map((e,t)=>[e.id,t])),n=e.map(e=>{let n=h(e.staff),r={step:e.pname,octave:e.oct,alter:Ae.get(e)??0},i=n?ne(r,n):r,o={...i,octave:i.octave+_(e.staff,e.id)},s=a.get(e.id);return{midi:G(o),source:o,key:V(e.staff,e.measure),chord:e.chord,tiedFrom:s===void 0?void 0:t.get(s)}});if(!g(e[0].staff)){n.forEach((t,n)=>W.set(e[n],t.source));continue}oe(n).forEach((t,n)=>W.set(e[n],t))}let Me=new Map(l.map(e=>[e.id,e]));for(let e of l){let t=Me.get(a.get(e.id)||``);t&&W.has(t)&&G(W.get(t))===G(W.get(e))&&W.set(e,W.get(t))}let Ne=/* @__PURE__ */ new Set,Pe=(e,t)=>({...T(0),scale:ge.split(``).map(n=>({step:n,alter:be(n,Ce(e,t))}))});for(let e of U.values()){let t=e[0].staff;if(!y(t)&&!v(t))continue;let n=ce(e.map(e=>({pitch:{step:e.pname,octave:e.oct,alter:Ae.get(e)??0},onset:e.onset,key:Pe(e.staff,e.measure),tieEnd:e.tieEnd})));e.forEach((e,t)=>{e.written!==null&&!e.tieEnd&&!n[t]&&Ne.add(e)})}let Fe=/* @__PURE__ */ new Map;for(let e of U.values()){let t=ce(e.map(e=>({pitch:W.get(e),onset:e.onset,key:V(e.staff,e.measure),tieEnd:e.tieEnd,cautionary:e.cautionary||Ne.has(e)})));e.forEach((e,n)=>Fe.set(e,t[n]))}let K=[];for(let e of l){let t=W.get(e),n=Fe.get(e),i=Se(Se(e.tag,`accid`),`accid.ges`);i=H(H(i,`pname`,t.step.toLowerCase()),`oct`,String(t.octave));let a=Number(r(e.tag,`oct.ges`)??NaN);Number.isFinite(a)&&t.octave!==e.oct&&(i=H(i,`oct.ges`,String(a+t.octave-e.oct))),n||(i=H(i,`accid.ges`,ye(t.alter)));let o=e.accids.find(e=>r(e.attributes,`accid`)!==null)??e.accids[0],s=o?r(o.attributes,`xml:id`):null,c=o&&n?[`func`,`enclose`,`place`].map(e=>[e,r(o.attributes,e)]).filter(([,e])=>e!==null).map(([e,t])=>` ${e}="${t}"`).join(``):``,l=n?`<accid${s?` xml:id="${s}"`:``} accid="${ve(t.alter)}"${c}/>`:``;if(e.selfClosing)K.push({start:e.start,end:e.end,text:l?`${Te(i)}${l}</note>`:i});else{K.push({start:e.start,end:e.start+e.tag.length,text:i+l});for(let t of e.accids)K.push({start:t.start,end:t.end,text:``})}}for(let t of d){if(!g(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=h(t.staff),s=N(o?de(i,[o]):i,V(t.staff,Math.max(0,t.measure)));s!==i&&K.push({start:t.textStart,end:t.textEnd,text:r+s+a})}for(let e of f)K.push({start:e.start,end:e.end,text:``});for(let e of o){if(!e.initial&&!e.content){K.push({start:e.start,end:e.end,text:``});continue}K.push(...e.tagEdits);for(let t of e.keyRanges)K.push({start:t.start,end:t.end,text:``})}let Ie=x.filter(e=>!p.has(e));K.push(...b);for(let e of s){if(p.has(e.n)||!Ie.includes(e.n))continue;let t=Ee(V(e.n,0)),n=y(e.n),r=n?he(we(e.tag),n):we(e.tag),i=n&&!e.clef&&!/\sclef\.shape\s*=/.test(e.tag)?me(n,null):``;if(n&&e.clef&&K.push({start:e.clef.start,end:e.clef.end,text:me(n,e.clef.id)}),e.selfClosing){let n=K.findIndex(t=>t.start===e.start&&t.end===e.end);n>=0&&K.splice(n,1),K.push({start:e.start,end:e.end,text:`${Te(r)}${i}${t}</staffDef>`})}else{let n=e.clefEnd??e.start+e.tag.length;K.push({start:n,end:n,text:i+t})}}for(let e=1;e<le;e++){let t=Ie.filter(t=>{let n=V(t,e-1),r=V(t,e);return n.fifths!==r.fifths||n.mode!==r.mode});if(!t.length)continue;let n=c[e];K.push({start:n,end:n,text:`<scoreDef><staffGrp>${t.map(t=>`<staffDef n="${t}">${Ee(V(t,e))}</staffDef>`).join(``)}</staffGrp></scoreDef>`})}if(!K.length)return e;K.sort((e,t)=>e.start-t.start||e.end-t.end);let Le=[],Re=0;for(let t of K)t.start<Re||(Le.push(e.slice(Re,t.start),t.text),Re=t.end);return Le.push(e.slice(Re)),Le.join(``)}const je=[40,45,50,55,59,64],W=.08,G=1e-9;function Me(e,t={}){let n=t.tuning&&t.tuning.length?t.tuning:je,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+W*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+G)break;if(a.end<=t+G){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+G&&(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+W*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 Ne(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=Me(o,t);for(let[e,[t,r]]of i)n[e].result=l[t][r];return n}const Pe={c:0,d:2,e:4,f:5,g:7,a:9,b:11},Fe={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},K={maxima:32,long:16,breve:8,1:4,2:2,4:1,8:.5,16:.25,32:.125,64:.0625,128:.03125,256:.015625},Ie=/* @__PURE__ */ new Set([`rest`,`space`,`mRest`,`mSpace`,`multiRest`]),Le=/* @__PURE__ */ new Set([`beam`,`tuplet`]),Re=/* @__PURE__ */ new Set([`bTrem`,`fTrem`,`ligature`,`choice`,`orig`,`reg`,`sic`,`corr`,`supplied`,`add`,`subst`]),ze=/* @__PURE__ */ new Set([`harm`,`tempo`,`dir`,`repeatMark`,`fermata`]),Be=/* @__PURE__ */ new Set([`mRpt`,`mRpt2`,`multiRpt`]),Ve=/* @__PURE__ */ new Set([...Be,`beatRpt`,`halfmRpt`]),He=[[`c`],[`c`,`s`],[`d`],[`e`,`f`],[`e`],[`f`],[`f`,`s`],[`g`],[`a`,`f`],[`a`],[`b`,`f`],[`b`]],Ue=e=>e.replace(/[&<>"]/g,``),q=(e,t)=>e?` xml:id="${Ue(e)}${t}"`:``;function We(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=K[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 Ge=(e,t,n)=>{let i=(r(e,`pname`)||``).toLowerCase(),a=Number(r(e,`oct`));if(!(i in Pe)||!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)+Pe[i]+(Fe[o]??0)+n},Ke=e=>typeof e==`number`&&Number.isFinite(e)?Math.max(0,Math.min(24,Math.round(e))):0,qe=e=>Array.isArray(e)&&e.length>=1&&e.length<=31&&e.every(e=>Number.isInteger(e)&&e>=0&&e<=127)?e:je,Je=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 Ye(e,t){return`<tuning>${[...e].reverse().map((e,n)=>{let r=e+t,[i,a]=He[(r%12+12)%12];return`<course n="${n+1}" pname="${i}" oct="${Math.floor(r/12)-1}"${a?` accid="${a}"`:``}/>`}).join(``)}</tuning>`}function Xe(e,t){let n=new Set(t.generate),i=t.refret??{},a=new Set(t.sounding??[]),o=t.switched??{},s=/* @__PURE__ */ new Set([...n,...Object.keys(i)]),c=new Map([...s].map(e=>[e,[]])),l=/* @__PURE__ */ new Map,d=/* @__PURE__ */ new Set,f=/* @__PURE__ */ new Set,p=/* @__PURE__ */ new Set,m=4,h=4,g=4,_=(e,t)=>{let n=Number(r(e,`${t}count`)),i=Number(r(e,`${t}unit`));n>0&&(h=n),i>0&&(g=i),m=h*4/g},v=0,y=0,b=!1,x=!1,S=null,C=0,w=null,T=0,E=[],D=null,O=!1,k=null,A=0,j=()=>{if(!k)return;let e=l.get(S);if(S in i){let t=Number(r(k.attributes,`tab.course`)),n=Number(r(k.attributes,`tab.fret`)),a=e?.courses?.get(t);k.rec.midi=a!==void 0&&Number.isInteger(n)&&n>=0&&r(k.attributes,`tab.fret`)!==null?a+n+i[S]:null}else k.rec.midi=Ge(k.attributes,k,e?.semi??0);k=null};return u(e,({closing:e,name:u,attributes:h,selfClosing:M})=>{if(e){if(u===`staffDef`){w?.courses.size&&(w.entry.courses=w.courses),w=null;return}if(u===`measure`){x=!1,v+=y>0&&!b?y:Math.max(y,m);return}if(!S)return;if(A){A--;return}u===`note`?j():u===`chord`||u===`tabGrp`?(D&&!O&&(T+=D.dur),D=null):u===`tuplet`?E.pop():u===`layer`?y=Math.max(y,T):u===`staff`&&--C===0&&(S=null);return}if(u===`scoreDef`){_(h,`meter.`);return}if(u===`meterSig`){_(h,``);return}if(u===`staffDef`){_(h,`meter.`);let e=r(h,`n`)||``;if(s.has(e)){let t=l.get(e),n=Number(r(h,`ppq`)),s=r(h,`trans.semi`),c={ppq:n>0?n:t?.ppq,semi:e in o?o[e]:a.has(e)?0:s===null?t?.semi??0:Number(s)||0,courses:t?.courses};l.set(e,c),e in i&&!M&&(w={entry:c,courses:/* @__PURE__ */ new Map})}return}if(u===`course`&&w){let e=Number(r(h,`n`)),t=Ge(h,{},0);e>=1&&t!==null&&w.courses.set(e,t);return}if(u===`measure`){x=!0,y=0,b=!1;return}if(u===`tie`&&x){let e=(r(h,`startid`)||``).replace(/^#/,``),t=(r(h,`endid`)||``).replace(/^#/,``);e&&t&&(d.add(e),f.add(t));return}if(u===`staff`&&!S){let e=r(h,`n`)||``;s.has(e)&&!M&&(S=e,C=1);return}if(!S)return;if(A){M||A++;return}if(!M&&u===`staff`){C++;return}let N=c.get(S),P=l.get(S)?.ppq;if(u===`layer`){T=0;return}if(u===`graceGrp`){M||(A=1);return}if(u===`tuplet`){let e=Number(r(h,`num`))||1,t=Number(r(h,`numbase`))||1;M||E.push(t/e);return}if(u===`chord`||u===`tabGrp`){if(O=r(h,`grace`)!==null,O){M||(A=1);return}D={onset:v+T,dur:We(h,P,E),notes:[]},N.push(D);let e=r(h,`xml:id`);e&&n.has(S)&&p.add(e),M&&(T+=D.dur,D=null);return}if(u===`note`){if(!D&&r(h,`grace`)!==null){M||(A=1);return}let e=D;e||(e={onset:v+T,dur:We(h,P,E),notes:[]},N.push(e),T+=e.dur);let i=r(h,`xml:id`)||``;i&&n.has(S)&&p.add(i);let a=r(h,`tie`)||``,o=Number(r(h,`tab.course`)),s=Number(r(h,`tab.fret`)),c=Number.isInteger(s)&&r(h,`tab.fret`)!==null,l={id:i,midi:null,fixed:t.fixed&&n.has(S)&&!t.unfixed?.includes(S)&&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),k={rec:l,attributes:h,event:e,inChord:!!D},M&&j();return}if(u===`accid`&&k){let e=r(h,`accid`),t=r(h,`accid.ges`);e!==null&&(k.written=e),t!==null&&(k.gestural=t);return}(Ie.has(u)||Ve.has(u))&&(u===`mRest`||u===`mSpace`||u===`multiRest`||Be.has(u)?b=!0:T+=u===`halfmRpt`?m/2:u===`beatRpt`?4/g:We(h,P,E))}),{staves:c,tieStarts:d,tieEnds:f,info:l,ids:p}}function Ze(e,t,n,r,i,a){let o=/* @__PURE__ */ new Map,s=qe(i.tuning),c=Ke(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?Je(r.get(l).courses):null;Ne(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 Qe=e=>[`dur`,`dots`,`dur.ppq`].map(t=>{let n=r(e,t);return n===null?``:` ${t}="${n}"`}).join(``),$e=(e,t)=>t&&`string`in t?`<note${q(e,``)} tab.course="${t.string}" tab.fret="${t.fret}"/>`:``,et=e=>e&&`string`in e?`<note tab.course="${e.string}" tab.fret="${e.fret}" visible="false"/>`:``,tt=(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 nt(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?Xe(e,t):{staves:/* @__PURE__ */ new Map,tieStarts:/* @__PURE__ */ new Set,tieEnds:/* @__PURE__ */ new Set,info:/* @__PURE__ */ new Map,ids:/* @__PURE__ */ new Set},h=c?Ze(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 _=qe(t.tuning),v=Ye(_,Ke(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${q(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&&ze.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=tt(f,`staff`,t);let e=r(c,`startid`)?.replace(/^#/,``)??``;e&&m.has(e)&&t.split(` `).every(e=>y.has(e))&&(f=tt(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=tt(tt(f,`tab.course`,String(t.string)),`tab.fret`,String(t.fret)):t&&(f=tt(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${q(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`||Le.has(n)?E.push(`</${n}>`):n===`chord`&&k&&(k.frets||E.push(et(k.held)),E.push(`</tabGrp>`),k=null);return}if(n===`layer`||Le.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}${q(p,`-tab`)}${e}${l?`/>`:`>`}`);return}if(!Re.has(n)){if(n===`chord`){if(r(c,`grace`)!==null){l||(O=1);return}E.push(`<tabGrp${q(p,`-tab`)}${Qe(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=$e(p?`${p}-tab`:``,h.get(p));e&&k.frets++,E.push(e);return}if(r(c,`grace`)!==null)return;E.push(`<tabGrp${q(p,`-tab`)}${Qe(c)}><tabDurSym/>${g.has(p)?et(g.get(p)):$e(p?`${p}-tabn`:``,h.get(p))}</tabGrp>`);return}if(Ie.has(n)||Ve.has(n)){l||(O=1);let e=Ve.has(n)?c.replace(/\s+xml:id\s*=\s*(?:"[^"]*"|'[^']*')/,``).trimEnd():Qe(c);E.push(`<${n}${q(p,`-tab`)}${e}/>`);return}l||(O=1)}}),b.push(e.slice(x)),b.join(``)}const rt=e=>`reader-m${e+1}`,it=`(?:[^>"']|"[^"]*"|'[^']*')*`,J=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/>])(${it})>`,`g`),at=/* @__PURE__ */ new Map;function ot(e,t){if(!e.includes(t))return;let n=at.get(t);n||at.set(t,n=RegExp(`\\s${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`));let r=n.exec(e);return r?r[1]??r[2]:void 0}const st=/* @__PURE__ */ new Set([`start`,`up`,`down`,`crescendo`,`diminuendo`]);function ct(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;J.lastIndex=n;for(let t=J.exec(e);t;t=J.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))}),J.lastIndex=r;continue}if(n===`lyric`){u++,d.add(ot(h,`number`)||`1`);continue}let _;if(n===`beam`){let t=/^\s*(begin|end)\b/.exec(e.slice(J.lastIndex,J.lastIndex+16))?.[1];_=t===`begin`?`open`:t===`end`?`close`:void 0}else{let e=ot(h,`type`)||``;_=st.has(e)?`open`:e===`stop`||n===`ending`&&e===`discontinue`?`close`:void 0}if(!_)continue;let v=`${r.length}:${n}:${n===`ending`?``:ot(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 lt=[`divisions`,`key`,`time`,`staves`,`part-symbol`,`instruments`,`clef`,`staff-details`,`transpose`,`for-part`],Y=RegExp(`<(${lt.join(`|`)})(?=[\\s/>])(${it})>`,`g`);function ut(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=ot(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=ot(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 lt)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 dt(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="${rt(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 ft(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(dt(e,i,n,n===t&&t>0?ut(i,t):``));r.push(`</part>`)}return r.push(e.tail),r.join(``)}function pt(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 mt(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 ht(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=pt(e,u),p=d<a?mt(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 gt=[`breaks`,`transpose`,`transposeToSoundingPitch`,`xmlIdChecksum`];let _t,vt,yt;function bt(){return vt??=(async()=>{if(!_t)throw Error(`The notation renderer was not told where to load Verovio from.`);let{module:e,toolkit:t}=_t;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 yt={createModule:n.default,Toolkit:r.VerovioToolkit,enableLogToBuffer:r.enableLogToBuffer}}catch(n){throw vt=void 0,new Dt(`Could not load Verovio from ${e} and ${t}: ${n instanceof Error?n.message:String(n)}`,void 0)}})()}let X,xt;function St(){if(X)return X;let e=bt().then(e=>e.createModule()).then(e=>(yt.enableLogToBuffer(1,e),xt=e,e)).catch(t=>{throw X===e&&(X=void 0),t});return X=e}const Ct=async()=>{let e=await St();return new yt.Toolkit(e)};let wt,Tt,Z;const Q=/* @__PURE__ */ new Map,Et=[];var Dt=class extends Error{code;constructor(e,t){super(e),this.code=t}};function Ot(e){for(let e of[wt,Tt])try{e?.destroy()}catch{}wt=Tt=void 0,Z=void 0,e&&(X=void 0,xt=void 0)}async function kt(e){return e===`main`?wt??=await Ct():Tt??=await Ct()}function At(){let e=xt;return e?.HEAPU8?.length??e?.wasmMemory?.buffer.byteLength}function jt(e){let t=Q.get(e);if(!t)throw new Dt(`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 Mt={breaks:`none`,inputFrom:`auto`,xmlIdChecksum:!0};async function Nt(e){let t=await Ct();try{return $(t,e,Mt),t.getMEI()}finally{try{Et.push(t.getLog()||``)}catch{}try{t.destroy()}catch{}}}async function Pt(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 Nt(ft(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 Ft(e,t){let n=await Ct();try{return $(n,e,{breaks:`none`,xmlIdChecksum:!0,...t}),n.getMEI()}finally{try{Et.push(n.getLog()||``)}catch{}try{n.destroy()}catch{}}}const It=(e,t,n=0)=>U(e,t,Ft,n);async function Lt(e,t){if(!t)return e.mei;let n=JSON.stringify(t);return e.spelled?.key!==n&&(e.spelled={key:n,mei:await It(e.mei,t)}),e.spelled.mei}async function Rt(e,t){let n=await Lt(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:nt(n,t.tab)}),e.tabbed.mei}async function zt(e,t,n,r){let i=await Bt(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 nt(i,r.tab,o)}async function Bt(e,t,n,r){let i=await Pt(e,t,n);if(!r||!ke(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 It(i,r,t),e.spelled.set(a,o);e.spelled.size>8;)e.spelled.delete(e.spelled.keys().next().value);return o}const Vt=(e,t)=>Object.fromEntries(t.map(t=>[t,e[t]??null]));async function Ht(e,t,n,r){let i=JSON.stringify([...e,t,Vt(n,gt)]),a=JSON.stringify(n),o=await kt(`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 Ut(e,t,n){return Math.min(n,Math.max(t*2,qt(e,t,t*4)+1))}const Wt=/\s(?:endid|tstamp2)\s*=\s*"([^"]*)"/g,Gt=/\sxml:id\s*=\s*"([^"]*)"/,Kt=/<measure\b/g;function qt(e,t,n){let r=[];Kt.lastIndex=0;for(let t=Kt.exec(e);t&&r.length<=n;t=Kt.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(Wt)){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=Gt.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 Jt(e,t,n){let r=new TextDecoder().decode(t),i=ct(r),a;if(i&&(n||i.parts.length*i.measureCount>=2400)){let{staffDefs:e,groups:t}=d(await Nt(ft(i,0,1)));a={kind:`chunked`,index:i,info:{measureIds:Array.from({length:i.measureCount},(e,t)=>rt(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 kt(`main`);Z=void 0,$(e,r,Mt);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 Yt(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 Xt=(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 Zt(e){if(e.kind===`import`)return Jt(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=jt(e.revision);if(e.kind===`probe`){let n=await kt(`probe`);if(t.kind===`chunked`){let r=t.index.measureCount,i=Math.min(r,e.measures*2),a=e.measures>=r?r:i+mt(t.index,i);return $(n,m(await zt(t,0,a,e.view),e.view),e.options),{svg:Yt(n,1,e.channel),pageCount:n.getPageCount(),measures:a}}let{info:r}=t,i=await Rt(t,e.view),a=e.measures>=r.measureIds.length?r.measureIds.length:Ut(i,e.measures,r.measureIds.length);return $(n,m(i,e.view,a),e.options),{svg:Yt(n,1,e.channel),pageCount:n.getPageCount(),measures:a}}if(t.kind===`whole`){let n=await Ht([e.revision],e.view,e.options,async()=>m(await Rt(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:Yt(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=ht(t.index,a-1,n,Xt(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 Ht([e.revision,n.from,n.to],e.view,e.options,async()=>m(await zt(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:Yt(i,r,e.channel)})}}return{pageCount:r,pages:a}}function Qt(e){if(e instanceof Dt)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 $t(e){let t=Et.splice(0).join(``);try{t+=(wt??Tt)?.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 en=[],tn=/* @__PURE__ */ new Map;let nn=!1;const rn=e=>self.postMessage(e);async function an(){let e=en.shift();if(!e){nn=!1;return}if(e.kind!==`import`&&e.kind!==`release`&&e.ticket<(tn.get(e.channel)??0))rn({id:e.id,error:`Superseded score render.`,code:`superseded`});else try{let t=await Zt(e);$t(e.kind),rn({id:e.id,value:t,heap:At()})}catch(t){$t(e.kind);let{message:n,code:r}=Qt(t);r!==`missing`&&Ot(r===`oom`||!(t instanceof Error&&t.message===`Verovio could not import this score.`)),rn({id:e.id,error:n,code:r,heap:At()})}setTimeout(()=>void an(),0)}self.onmessage=e=>{let t=e.data;if(t.kind===`configure`){_t=t.files,St().catch(()=>{});return}(t.kind===`probe`||t.kind===`render`)&&tn.set(t.channel,Math.max(tn.get(t.channel)??0,t.ticket)),en.push(t),nn||(nn=!0,setTimeout(()=>void an(),0))};
|