pepperscore 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The address of a lazy chunk the page has already asked for, found by file-name stem. Vite adds a
3
+ * `<link rel="modulepreload">` for it, and browsers list it in resource timing; Vite and native-ESM hosts keep the
4
+ * stem in the hashed name (`PdfOverlay-AbC123.js`). Returns undefined when it cannot be found (another bundler
5
+ * may name chunks `42.js`) and never throws.
6
+ */
7
+ export declare function requestedChunkUrl(stem: string): string | undefined;
8
+ /**
9
+ * `load()`, and if it fails, once more through a cache-busted address of the same chunk. WebKit keeps a failed
10
+ * module preload in its per-process memory cache, so after a network failure a plain `import()` (and a reload) is
11
+ * answered from that failure without any request; a different query string is a different resource and reaches
12
+ * the server. Each attempt gets its own query, because browsers cache a failed module per address.
13
+ *
14
+ * Supported: Vite and native-ESM hosts, where the chunk keeps its name and the variable `import()` stays native.
15
+ * Best effort elsewhere: if the chunk's address cannot be found (Webpack names chunks `42.js`), or the retry fails
16
+ * for any reason, the ORIGINAL error is thrown and the caller shows its usual error. The helper adds no exceptions of
17
+ * its own.
18
+ */
19
+ export declare function importWithRecovery<T>(load: () => Promise<T>, stem: string): Promise<T>;
@@ -2,11 +2,15 @@ import { type PitchColourPaint } from '../pitch-colours';
2
2
  import type { Score, ScoreNote } from '../score';
3
3
  import { type AnnotationSettings } from '../render';
4
4
  /** Attach to the DOM before calling: SVG matrices and glyph boxes require a rendered tree. */
5
- export declare function annotatePage(svg: SVGSVGElement, score: Score, settings: AnnotationSettings, font?: string, aliases?: ReadonlyMap<string, ScoreNote>, tabStaves?: ReadonlySet<string>): void;
5
+ export declare function annotatePage(...args: Parameters<typeof annotatePageSteps>): void;
6
+ /** The same work as annotatePage, paused (`yield`) between events so a large page can be drawn in slices. */
7
+ export declare function annotatePageSteps(svg: SVGSVGElement, score: Score, settings: AnnotationSettings, font?: string, aliases?: ReadonlyMap<string, ScoreNote>, tabStaves?: ReadonlySet<string>): Generator<void>;
6
8
  /** svg2pdf ignores paint-order: retain identical text geometry in each explicit pass. */
7
- export declare function materializePaint(svg: SVGSVGElement, page: {
9
+ export declare function materializePaint(...args: Parameters<typeof materializePaintSteps>): void;
10
+ /** The same work as materializePaint, paused (`yield`) between elements. */
11
+ export declare function materializePaintSteps(svg: SVGSVGElement, page: {
8
12
  width: number;
9
13
  height: number;
10
- }, textWidth: (element: SVGElement, size: number) => number): void;
14
+ }, textWidth: (element: SVGElement, size: number) => number): Generator<void>;
11
15
  /** Inline vector paint: export pages have no reader CSS or host variables. */
12
16
  export declare function paintPitchColours(svg: SVGSVGElement, score: Score, paint: PitchColourPaint, tabStaves?: ReadonlySet<string>): void;
@@ -1,8 +1,11 @@
1
1
  import { type PaperId } from './paper';
2
+ import { type ExportProgress } from './cooperative';
2
3
  type ComposeOptions = {
3
4
  paper: PaperId;
4
5
  title?: string;
6
+ onProgress?: (progress: ExportProgress) => void;
5
7
  };
6
- /** Vector pages in exact physical dimensions. Import this module dynamically from the export UI. */
8
+ /** Vector pages in exact physical dimensions. Import this module dynamically from the export UI.
9
+ * Works in slices, yielding to the page between them; `signal` is checked at every slice. */
7
10
  export declare function composePdf(pages: string[], opts: ComposeOptions, signal: AbortSignal): Promise<Blob>;
8
11
  export {};
@@ -0,0 +1,23 @@
1
+ /**
2
+ * PDF composition needs a DOM (svg2pdf measures and styles real elements), so it runs on the main thread.
3
+ * To keep the page responsive it works in slices of about SLICE_MS and yields to the event loop between them;
4
+ * every yield is also a cancellation point.
5
+ */
6
+ export declare const SLICE_MS = 25;
7
+ /**
8
+ * Let input, timers, playback and painting run: a plain macrotask. `scheduler.yield` is not used because its
9
+ * continuation is queued ahead of other pending tasks, so timers (the reader's playback clock) can starve.
10
+ */
11
+ export declare function yieldToMain(): Promise<void>;
12
+ /** Throws when aborted; yields when the current slice has used its budget. Call it often: it is cheap. */
13
+ export type Tick = () => Promise<void>;
14
+ export declare function sliceTicker(signal: AbortSignal, budget?: number): Tick;
15
+ /** Steps written as generators (`yield` marks a safe pause) run to completion, or are driven slice by slice. */
16
+ export declare function runSteps(steps: Generator<void>): void;
17
+ export declare function driveSteps(steps: Generator<void>, tick: Tick): Promise<void>;
18
+ /** Where an export is: engraving runs in a worker; annotating and composing run in slices on the page. */
19
+ export type ExportProgress = {
20
+ phase: 'engraving' | 'annotating' | 'composing';
21
+ page: number;
22
+ pages: number;
23
+ };
@@ -1,6 +1,7 @@
1
1
  import type { Score, ScoreNote } from '../score';
2
2
  import { type AnnotationSettings } from '../render';
3
3
  import type { PitchColourPaint } from '../pitch-colours';
4
+ import { type ExportProgress } from './cooperative';
4
5
  import { type PageInput, type PageOptions } from './engrave';
5
6
  /** Immutable Save snapshot: score is already the reader's instrument/transposition view;
6
7
  * input.view is its planStaves view (including hidden staves, spelling and TAB).
@@ -15,5 +16,7 @@ export type ExportRequest = {
15
16
  visiblePartIds?: string[];
16
17
  tabAliases?: ReadonlyMap<string, ScoreNote>;
17
18
  tabStaves?: ReadonlySet<string>;
19
+ onProgress?: (progress: ExportProgress) => void;
18
20
  };
21
+ export type { ExportProgress };
19
22
  export declare function exportScore(request: ExportRequest, signal: AbortSignal): Promise<Blob>;
@@ -5,3 +5,5 @@
5
5
  export declare function flattenViewports(svg: SVGSVGElement): void;
6
6
  /** Ordinary text and music glyphs have different fonts, even within one chord label. */
7
7
  export declare function normalizeText(svg: SVGSVGElement): void;
8
+ /** The same work as normalizeText, paused (`yield`) between text elements. */
9
+ export declare function normalizeTextSteps(svg: SVGSVGElement): Generator<void>;
@@ -0,0 +1,14 @@
1
+ /** About this many elements per svg2pdf call: a few tens of milliseconds, measured on a 30-part page. */
2
+ export declare const SLICE_ELEMENTS = 60;
3
+ /**
4
+ * Split a page into runs of sibling subtrees of at most `limit` elements each, in document order.
5
+ * A subtree that is already small is kept whole; a larger one is descended into, so a dense system
6
+ * (thirty staves in one measure) is cut at staves rather than rendered in one call.
7
+ */
8
+ export declare function planSlices(svg: SVGSVGElement, limit?: number): Element[][];
9
+ /**
10
+ * A copy of the page that holds only `chunks`, each under its original ancestors (so transforms, clips and
11
+ * CSS selectors resolve as they did on the full page), plus the page's shared defs and styles.
12
+ * The chunks are moved out of `svg`, which must therefore not be used for drawing afterwards.
13
+ */
14
+ export declare function sliceShell(svg: SVGSVGElement, chunks: Element[]): SVGSVGElement;
@@ -10,5 +10,7 @@ export interface FingerNote {
10
10
  fixed?: StringFingering;
11
11
  }
12
12
  /** Solve simultaneous voices together, keeping sounding strings occupied and a common hand position.
13
+ * Candidate rank retains the single-note teaching preferences. Shifts cost four
14
+ * ranks plus two per position travelled; opens carry the hand without a shift.
13
15
  * Unsupported events stay unlabelled rather than inventing a pitch or an impossible double stop. */
14
16
  export declare function solveFingerPhrase(chart: StringChart, notes: FingerNote[]): Map<string, StringFingering>;
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: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}
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]{color:var(--ps-pitch-outline,#000000a6)}.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]{color:var(--ps-playback,#b87218);fill:inherit;stroke:inherit;stroke-width:inherit}.pepperscore[data-ps-pitch-colours] .ps-cursor .notehead[data-pitch]{color:var(--ps-cursor,var(--ps-playback,#2f6fed));fill:inherit;stroke:inherit;stroke-width:inherit}.pepperscore[data-ps-pitch-colours] .ps-selection .notehead[data-pitch]{color:var(--ps-selection,#2f6a9a);fill:inherit;stroke:inherit;stroke-width:inherit}.pepperscore[data-ps-pitch-colours] .ps-transposed .notehead[data-pitch]{color:var(--ps-transposed,#d9741c);fill:inherit;stroke:inherit;stroke-width:inherit}.pepperscore[data-ps-pitch-colours] .ps-out-of-range .notehead[data-pitch]{color:var(--ps-out-of-range,#c62828);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.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "An embeddable, browser-only music score reader for React: MusicXML, MXL, MIDI, MEI and ABC, engraved by Verovio, with playback.",
5
5
  "license": "MIT AND LGPL-3.0-or-later",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- {"version":3,"file":"PdfOverlay-BmBGsMkr.js","names":["verovioBaseline","clampBarsPerLine","planStaves","ANNOTATION_SCALE","prepareSnapshot","saved","score","hidden","hiddenPartIds","info","channel","planned","part","PdfOverlay","bars","setBars","useState","busy","setBusy","barsDraft","setBarsDraft","commitBars","number","next","fit","setFit","error","setError","panel","useRef","measure","save","snapshotRef","snapshot","closeRef","onClose","files","verovioBaseUrl","previous","owner","active","onKeyDown","event","items","first","last","controller","request","visible","layout","annotationLayout","metadata","result","engravePages","reduced","line","paper","failure","font","revision","download","maxBars","frame","blob","exportScore","url","anchor","onPaper"],"sources":["../src/components/PdfOverlay.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { ExportRequest } from '../lib/pdf/export';\nimport type { Score } from '../lib/score';\nimport type { PitchColourPaint } from '../lib/pitch-colours';\nimport { verovioBaseline } from '../lib/verovio-runtime';\nimport { annotationLayout, planStaves } from '../lib/render';\nimport { ANNOTATION_SCALE, BARS_PER_LINE_MAX, clampBarsPerLine, type Prefs } from '../lib/prefs';\n\ntype Snapshot = Omit<ExportRequest, 'options'>;\nexport type PdfCapture = { score: Score; prefs: Prefs; hiddenPartIds: string[]; channel: number; pitchColours?: PitchColourPaint };\nasync function prepareSnapshot({ score, prefs: saved, hiddenPartIds, channel, pitchColours }: PdfCapture): Promise<Snapshot> {\n if (!score.document) throw new Error('This score has no engraving document.');\n const hidden = new Set(hiddenPartIds);\n const info = await verovioBaseline(score.document, channel);\n const planned = planStaves(info, score, hidden, { view: saved.tabView, tuning: saved.tabTuning, capo: saved.capo });\n return { score, input: { data: score.document.engravingText, view: { breakEvery: 0, hiddenStaves: planned.hiddenStaves,\n spelling: planned.spelling, chordSymbols: saved.chordSymbols, ...(planned.tabPlan.spec ? { tab: planned.tabPlan.spec } : {}) } },\n visiblePartIds: planned.visibleParts.map(part => part.id), tabAliases: planned.tabAlias, tabStaves: planned.tabStaves, pitchColours,\n annotations: { showNames: saved.names, showCounts: saved.counts, subdivisions: saved.subdivisions,\n showChordSymbols: saved.chordSymbols, inferChordSymbols: saved.inferChordSymbols,\n scale: { names: ANNOTATION_SCALE[saved.namesSize], chordSymbols: ANNOTATION_SCALE[saved.chordSymbolsSize], counts: ANNOTATION_SCALE[saved.countsSize], subdivisions: ANNOTATION_SCALE[saved.subdivisionsSize] } } };\n}\nexport default function PdfOverlay({ paper, onPaper, snapshot, revision, font, verovioBaseUrl, onClose }: {\n paper: Prefs['pdfPaper']; onPaper: (paper: Prefs['pdfPaper']) => void;\n snapshot: () => PdfCapture; revision: unknown; font: string; verovioBaseUrl?: string; onClose: () => void;\n}) {\n const [bars, setBars] = useState(4), [busy, setBusy] = useState(false);\n const [barsDraft, setBarsDraft] = useState('4');\n const commitBars = () => {\n const number = Number(barsDraft);\n const next = barsDraft.trim() && Number.isFinite(number) ? clampBarsPerLine(number) : bars;\n setBars(next); setBarsDraft(String(next));\n return next;\n };\n const [fit, setFit] = useState('Checking fit…'), [error, setError] = useState('');\n const panel = useRef<HTMLElement>(null), measure = useRef<AbortController | null>(null), save = useRef<AbortController | null>(null);\n const snapshotRef = useRef(snapshot); snapshotRef.current = snapshot;\n const closeRef = useRef(onClose); closeRef.current = onClose;\n const files = verovioBaseUrl ? { module: new URL('verovio-module.mjs', new URL(verovioBaseUrl.replace(/\\/?$/, '/'), document.baseURI)).href,\n toolkit: new URL('verovio.mjs', new URL(verovioBaseUrl.replace(/\\/?$/, '/'), document.baseURI)).href } : undefined;\n useEffect(() => {\n const previous = document.activeElement as HTMLElement | null;\n panel.current?.querySelector<HTMLElement>('select')?.focus({ preventScroll: true });\n const owner = panel.current?.closest('.pepperscore');\n return () => {\n measure.current?.abort(); save.current?.abort();\n const active = document.activeElement;\n if (previous?.isConnected && (active === document.body || (active && owner?.contains(active)))) previous.focus({ preventScroll: true });\n };\n }, []);\n const onKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (event.key === 'Escape') { event.preventDefault(); event.stopPropagation(); onClose(); return; }\n if (event.key !== 'Tab') return;\n const items = Array.from(panel.current?.querySelectorAll<HTMLElement>('button:not(:disabled),select:not(:disabled),input:not(:disabled),a[href]') ?? []);\n const first = items[0], last = items.at(-1);\n if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last?.focus(); }\n else if (!event.shiftKey && document.activeElement === last) { event.preventDefault(); first?.focus(); }\n };\n useEffect(() => {\n if (busy) return;\n const controller = new AbortController(); measure.current = controller;\n setFit('Checking fit…');\n void (async () => {\n try {\n const request = await prepareSnapshot(snapshotRef.current());\n controller.signal.throwIfAborted();\n const { engravePages } = await import('../lib/pdf/engrave');\n const visible = request.score.parts.filter(part => !request.visiblePartIds || request.visiblePartIds.includes(part.id));\n const layout = annotationLayout(visible, request.annotations ?? {});\n const metadata = [request.score.title, request.score.subtitle, request.score.composer, ...(request.score.credits ?? [])].filter(Boolean);\n const result = await engravePages({ ...request.input, view: { breakEvery: 0, hiddenStaves: [], chordSymbols: false, ...request.input.view, harmSize: layout.harmSize } },\n { paper, maxBars: bars, font, files, spacingStaff: layout.spacingStaff, annotationRoom: layout.laneHeight, headingMm: metadata.length ? 8 + metadata.length * 4 : 0 }, controller.signal);\n if (controller.signal.aborted) return;\n const reduced = result.lines.filter(line => line.count < bars).length;\n setFit(`${reduced} ${reduced === 1 ? 'line will' : 'lines will'} have fewer than ${bars} bars on ${paper.toUpperCase()}.${result.shrunk ? ' A tall system is reduced to fit the page.' : ''}`);\n } catch (failure) { if (!controller.signal.aborted) setFit(`Fit check unavailable: ${failure instanceof Error ? failure.message : String(failure)}. You can still Save.`); }\n })();\n return () => controller.abort();\n }, [paper, bars, font, verovioBaseUrl, revision, busy]);\n const download = async () => {\n const maxBars = commitBars();\n panel.current?.querySelector<HTMLButtonElement>('.pdf-cancel')?.focus({ preventScroll: true });\n measure.current?.abort();\n const controller = new AbortController(); save.current = controller;\n setBusy(true); setError('');\n try {\n // frameElement belongs to the parent's realm; instanceof against this window's\n // HTMLIFrameElement is false even for a same-origin embed.\n const frame = window.frameElement as HTMLIFrameElement | null;\n if (frame?.hasAttribute('sandbox') && !frame.sandbox.contains('allow-downloads')) throw new Error('Downloads are blocked by this embed. Open the score outside the embed or enable downloads.');\n const request = await prepareSnapshot(snapshotRef.current());\n controller.signal.throwIfAborted();\n const { exportScore } = await import('../lib/pdf/export');\n const blob = await exportScore({ ...request, options: { paper, maxBars, font, files } }, controller.signal);\n controller.signal.throwIfAborted();\n const url = URL.createObjectURL(blob), anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = `${request.score.title?.normalize('NFKD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '') || 'score'}.pdf`;\n document.body.append(anchor);\n try { anchor.click(); } finally { anchor.remove(); window.setTimeout(() => URL.revokeObjectURL(url), 60000); }\n closeRef.current();\n } catch (failure) { if (!controller.signal.aborted) setError(failure instanceof Error ? failure.message : String(failure)); }\n finally { if (!controller.signal.aborted) setBusy(false); }\n };\n return <div className=\"pdf-backdrop\" onMouseDown={event => { if (event.target === event.currentTarget) onClose(); }}>\n <section ref={panel} className=\"pdf-panel\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Export PDF\" aria-busy={busy} onKeyDown={onKeyDown}>\n <h2>Export PDF</h2>\n <label className=\"pdf-field\">Paper size<select className=\"pdf-paper\" value={paper} disabled={busy} onChange={event => onPaper(event.target.value as Prefs['pdfPaper'])}>\n <option value=\"a4\">A4</option><option value=\"a3\">A3</option><option value=\"letter\">Letter</option><option value=\"legal\">Legal</option>\n </select></label>\n <label className=\"pdf-field\">Bars per line<input className=\"pdf-bars\" type=\"number\" min={1} max={BARS_PER_LINE_MAX} value={barsDraft} disabled={busy} onChange={event => setBarsDraft(event.target.value)} onBlur={commitBars}/></label>\n <p className=\"pdf-fit\" role=\"status\">{busy ? 'Building PDF…' : fit}</p>\n {error && <p className=\"pdf-error\" role=\"alert\">{error}</p>}\n <div className=\"pdf-actions\"><button type=\"button\" className=\"pdf-cancel\" onClick={onClose}>Cancel</button>{error && <button type=\"button\" className=\"pdf-reload\" onClick={() => window.history.go(0)}>Reload page</button>}<button type=\"button\" className=\"pdf-save\" disabled={busy} onClick={() => void download()}>Save</button></div>\n </section>\n </div>;\n}\n"],"mappings":";;;;AAUA,eAAeI,EAAgB,EAAE,UAAO,OAAOC,GAAO,kBAAe,YAAS,mBAA+C;CAC3H,IAAI,CAACC,EAAM,UAAU,MAAU,MAAM,uCAAuC;CAC5E,IAAMC,IAAS,IAAI,IAAIC,CAAa,GAC9BC,IAAO,MAAMT,EAAgBM,EAAM,UAAUI,CAAO,GACpDC,IAAUT,EAAWO,GAAMH,GAAOC,GAAQ;EAAE,MAAMF,EAAM;EAAS,QAAQA,EAAM;EAAW,MAAMA,EAAM;CAAK,CAAC;CAClH,OAAO;EAAE;EAAO,OAAO;GAAE,MAAMC,EAAM,SAAS;GAAe,MAAM;IAAE,YAAY;IAAG,cAAcK,EAAQ;IACxG,UAAUA,EAAQ;IAAU,cAAcN,EAAM;IAAc,GAAIM,EAAQ,QAAQ,OAAO,EAAE,KAAKA,EAAQ,QAAQ,KAAK,IAAI,CAAC;GAAG;EAAE;EAC/H,gBAAgBA,EAAQ,aAAa,KAAI,MAAQC,EAAK,EAAE;EAAG,YAAYD,EAAQ;EAAU,WAAWA,EAAQ;EAAW;EACvH,aAAa;GAAE,WAAWN,EAAM;GAAO,YAAYA,EAAM;GAAQ,cAAcA,EAAM;GACnF,kBAAkBA,EAAM;GAAc,mBAAmBA,EAAM;GAC/D,OAAO;IAAE,OAAOF,EAAiBE,EAAM;IAAY,cAAcF,EAAiBE,EAAM;IAAmB,QAAQF,EAAiBE,EAAM;IAAa,cAAcF,EAAiBE,EAAM;GAAkB;EAAE;CAAE;AACxN;AACA,SAAwBQ,EAAW,EAAE,UAAO,YAAS,aAAU,aAAU,SAAM,mBAAgB,cAG5F;CACD,IAAM,CAACC,GAAMC,KAAWC,EAAS,CAAC,GAAG,CAACC,GAAMC,KAAWF,EAAS,EAAK,GAC/D,CAACG,GAAWC,KAAgBJ,EAAS,GAAG,GACxCK,UAAmB;EACvB,IAAMC,IAAS,OAAOH,CAAS,GACzBI,IAAOJ,EAAU,KAAK,KAAK,OAAO,SAASG,CAAM,IAAIrB,EAAiBqB,CAAM,IAAIR;EAEtF,OADAC,EAAQQ,CAAI,GAAGH,EAAa,OAAOG,CAAI,CAAC,GACjCA;CACT,GACM,CAACC,GAAKC,KAAUT,EAAS,eAAe,GAAG,CAACU,GAAOC,KAAYX,EAAS,EAAE,GAC1EY,IAAQC,EAAoB,IAAI,GAAGC,IAAUD,EAA+B,IAAI,GAAGE,IAAOF,EAA+B,IAAI,GAC7HG,IAAcH,EAAOI,CAAQ;CAAG,EAAY,UAAUA;CAC5D,IAAMC,IAAWL,EAAOM,CAAO;CAAG,EAAS,UAAUA;CACrD,IAAMC,IAAQC,IAAiB;EAAE,QAAQ,IAAI,IAAI,sBAAsB,IAAI,IAAIA,EAAe,QAAQ,QAAQ,GAAG,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC;EACrI,SAAS,IAAI,IAAI,eAAe,IAAI,IAAIA,EAAe,QAAQ,QAAQ,GAAG,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC;CAAK,IAAI,KAAA;CAC3G,QAAgB;EACd,IAAMC,IAAW,SAAS;EAC1B,EAAM,SAAS,cAA2B,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,GAAK,CAAC;EAClF,IAAMC,IAAQX,EAAM,SAAS,QAAQ,cAAc;EACnD,aAAa;GACe,AAA1BE,EAAQ,SAAS,MAAM,GAAGC,EAAK,SAAS,MAAM;GAC9C,IAAMS,IAAS,SAAS;GACxB,AAAIF,GAAU,gBAAgBE,MAAW,SAAS,QAASA,KAAUD,GAAO,SAASC,CAAM,MAAKF,EAAS,MAAM,EAAE,eAAe,GAAK,CAAC;EACxI;CACF,GAAG,CAAC,CAAC;CACL,IAAMG,KAAa,MAA4C;EAC7D,IAAIC,EAAM,QAAQ,UAAU;GAAmD,AAAjDA,EAAM,eAAe,GAAGA,EAAM,gBAAgB,GAAGP,EAAQ;GAAG;EAAQ;EAClG,IAAIO,EAAM,QAAQ,OAAO;EACzB,IAAMC,IAAQ,MAAM,KAAKf,EAAM,SAAS,iBAA8B,0EAA0E,KAAK,CAAC,CAAC,GACjJgB,IAAQD,EAAM,IAAIE,IAAOF,EAAM,GAAG,EAAE;EAC1C,AAAID,EAAM,YAAY,SAAS,kBAAkBE,KAASF,EAAM,eAAe,GAAGG,GAAM,MAAM,KACrF,CAACH,EAAM,YAAY,SAAS,kBAAkBG,MAAQH,EAAM,eAAe,GAAGE,GAAO,MAAM;CACtG;CACA,QAAgB;EACd,IAAI3B,GAAM;EACV,IAAM6B,IAAa,IAAI,gBAAgB;EAiBvC,OAjB0C,EAAQ,UAAUA,GAC5DrB,EAAO,eAAe,IAChB,YAAY;GAChB,IAAI;IACF,IAAMsB,IAAU,MAAM3C,EAAgB4B,EAAY,QAAQ,CAAC;IAC3D,EAAW,OAAO,eAAe;IACjC,IAAM,EAAE,oBAAiB,MAAM,OAAO,0BAChCgB,IAAUD,EAAQ,MAAM,MAAM,QAAO,MAAQ,CAACA,EAAQ,kBAAkBA,EAAQ,eAAe,SAASnC,EAAK,EAAE,CAAC,GAChHqC,IAASC,EAAiBF,GAASD,EAAQ,eAAe,CAAC,CAAC,GAC5DI,IAAW;KAACJ,EAAQ,MAAM;KAAOA,EAAQ,MAAM;KAAUA,EAAQ,MAAM;KAAU,GAAIA,EAAQ,MAAM,WAAW,CAAC;IAAE,CAAC,CAAC,OAAO,OAAO,GACjIK,IAAS,MAAMC,EAAa;KAAE,GAAGN,EAAQ;KAAO,MAAM;MAAE,YAAY;MAAG,cAAc,CAAC;MAAG,cAAc;MAAO,GAAGA,EAAQ,MAAM;MAAM,UAAUE,EAAO;KAAS;IAAE,GACrK;KAAE;KAAO,SAASnC;KAAM;KAAM;KAAO,cAAcmC,EAAO;KAAc,gBAAgBA,EAAO;KAAY,WAAWE,EAAS,SAAS,IAAIA,EAAS,SAAS,IAAI;IAAE,GAAGL,EAAW,MAAM;IAC1L,IAAIA,EAAW,OAAO,SAAS;IAC/B,IAAMQ,IAAUF,EAAO,MAAM,QAAO,MAAQG,EAAK,QAAQzC,CAAI,CAAC,CAAC;IAC/D,EAAO,GAAGwC,EAAQ,GAAGA,MAAY,IAAI,cAAc,aAAa,mBAAmBxC,EAAK,WAAW0C,EAAM,YAAY,EAAE,GAAGJ,EAAO,SAAS,+CAA+C,IAAI;GAC/L,SAASK,GAAS;IAAE,AAAKX,EAAW,OAAO,WAASrB,EAAO,0BAA0BgC,aAAmB,QAAQA,EAAQ,UAAU,OAAOA,CAAO,EAAE,sBAAsB;GAAG;EAC7K,EAAA,CAAG,SACUX,EAAW,MAAM;CAChC,GAAG;EAACU;EAAO1C;EAAM4C;EAAMrB;EAAgBsB;EAAU1C;CAAI,CAAC;CACtD,IAAM2C,IAAW,YAAY;EAC3B,IAAMC,IAAUxC,EAAW;EAE3B,AADAO,EAAM,SAAS,cAAiC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,GAAK,CAAC,GAC7FE,EAAQ,SAAS,MAAM;EACvB,IAAMgB,IAAa,IAAI,gBAAgB;EACxB,AAD2B,EAAK,UAAUA,GACzD5B,EAAQ,EAAI,GAAGS,EAAS,EAAE;EAC1B,IAAI;GAGF,IAAMmC,IAAQ,OAAO;GACrB,IAAIA,GAAO,aAAa,SAAS,KAAK,CAACA,EAAM,QAAQ,SAAS,iBAAiB,GAAG,MAAU,MAAM,4FAA4F;GAC9L,IAAMf,IAAU,MAAM3C,EAAgB4B,EAAY,QAAQ,CAAC;GAC3D,EAAW,OAAO,eAAe;GACjC,IAAM,EAAE,mBAAgB,MAAM,OAAO,yBAC/B+B,IAAO,MAAMC,EAAY;IAAE,GAAGjB;IAAS,SAAS;KAAE;KAAO;KAAS;KAAM;IAAM;GAAE,GAAGD,EAAW,MAAM;GAC1G,EAAW,OAAO,eAAe;GACjC,IAAMmB,IAAM,IAAI,gBAAgBF,CAAI,GAAGG,IAAS,SAAS,cAAc,GAAG;GAG1E,AAFA,EAAO,OAAOD,GACd,EAAO,WAAW,GAAGlB,EAAQ,MAAM,OAAO,UAAU,MAAM,CAAC,CAAC,QAAQ,oBAAoB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC,QAAQ,UAAU,EAAE,KAAK,QAAQ,OACvK,SAAS,KAAK,OAAOmB,CAAM;GAC3B,IAAI;IAAE,EAAO,MAAM;GAAG,UAAU;IAAmB,AAAjBA,EAAO,OAAO,GAAG,OAAO,iBAAiB,IAAI,gBAAgBD,CAAG,GAAG,GAAK;GAAG;GAC7G,EAAS,QAAQ;EACnB,SAASR,GAAS;GAAE,AAAKX,EAAW,OAAO,WAASnB,EAAS8B,aAAmB,QAAQA,EAAQ,UAAU,OAAOA,CAAO,CAAC;EAAG,UACpH;GAAE,AAAKX,EAAW,OAAO,WAAS5B,EAAQ,EAAK;EAAG;CAC5D;CACA,OAAO,kBAAC,OAAD;EAAK,WAAU;EAAe,cAAa,MAAS;GAAE,AAAIwB,EAAM,WAAWA,EAAM,iBAAeP,EAAQ;EAAG;EAChH,UAAA,kBAAC,WAAD;GAAS,KAAKP;GAAO,WAAU;GAAY,MAAK;GAAS,cAAW;GAAO,cAAW;GAAa,aAAWX;GAAiB;GAA/H,UAAA;IACE,kBAAC,MAAD,EAAA,UAAI,aAAc,CAAA;IAClB,kBAAC,SAAD;KAAO,WAAU;KAAjB,UAAA,CAA6B,cAAU,kBAAC,UAAD;MAAQ,WAAU;MAAY,OAAOuC;MAAO,UAAUvC;MAAM,WAAU,MAASkD,EAAQzB,EAAM,OAAO,KAA0B;MAA9H,UAAA;OACrC,kBAAC,UAAD;QAAQ,OAAM;QAAK,UAAA;OAAU,CAAA;OAAC,kBAAC,UAAD;QAAQ,OAAM;QAAK,UAAA;OAAU,CAAA;OAAC,kBAAC,UAAD;QAAQ,OAAM;QAAS,UAAA;OAAc,CAAA;OAAC,kBAAC,UAAD;QAAQ,OAAM;QAAQ,UAAA;OAAa,CAAA;MAC/H;KAAQ,CAAA,CAAA;;IAChB,kBAAC,SAAD;KAAO,WAAU;KAAjB,UAAA,CAA6B,iBAAa,kBAAC,SAAD;MAAO,WAAU;MAAW,MAAK;MAAS,KAAK;MAAG,KAAA;MAAwB,OAAOvB;MAAW,UAAUF;MAAM,WAAU,MAASG,EAAasB,EAAM,OAAO,KAAK;MAAG,QAAQrB;KAAY,CAAA,CAAQ;;IACvO,kBAAC,KAAD;KAAG,WAAU;KAAU,MAAK;KAAU,UAAAJ,IAAO,kBAAkBO;IAAO,CAAA;IACrEE,KAAS,kBAAC,KAAD;KAAG,WAAU;KAAY,MAAK;KAAS,UAAAA;IAAS,CAAA;IAC1D,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA;MAA6B,kBAAC,UAAD;OAAQ,MAAK;OAAS,WAAU;OAAa,SAASS;OAAS,UAAA;MAAc,CAAA;MAAET,KAAS,kBAAC,UAAD;OAAQ,MAAK;OAAS,WAAU;OAAa,eAAe,OAAO,QAAQ,GAAG,CAAC;OAAG,UAAA;MAAmB,CAAA;MAAE,kBAAC,UAAD;OAAQ,MAAK;OAAS,WAAU;OAAW,UAAUT;OAAM,eAAe,KAAK2C,EAAS;OAAG,UAAA;MAAY,CAAA;KAAM;;GAClU;;CACN,CAAA;AACP"}