*{box-sizing:border-box} :root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233331;background:#eeeee8;font-synthesis:none}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #536B7A;outline-offset:2px}button:disabled{opacity:.38;cursor:default}.masthead{max-width:1192px;margin:auto;padding:25px 28px 21px;display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.17em;color:#54716a;margin:0 0 7px}h1{font-family:Georgia,serif;font-weight:400;font-size:31px;letter-spacing:-.025em;margin:0} .subtitle{font-size:13px;color:#677570;margin:7px 0 0}.quiet{border:1px solid #c2cdc6;background:transparent;border-radius:8px;padding:12px 15px;font-size:13px;min-height:44px}.toolbar{position:sticky;top:0;z-index:5;background:#eeeee8f5;backdrop-filter:blur(12px);border-top:1px solid #d8ded7;border-bottom:1px solid #d3dbd5;padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:25px}.reset,#key{height:50px;border-radius:8px;border:1px solid #c9d5ce;background:#fff;color:#173e3b}.reset{padding:0 17px;font-size:14px}#key{background:#fff;color:#233331;border-color:#c2cdc6;min-width:151px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 12px}#key-name{font-family:Georgia,serif;font-size:25px}.signature{font-size:19px;letter-spacing:1px;white-space:nowrap}.chevron{font-size:15px;color:white}.state{display:flex;flex-direction:column;font-size:12px;color:#53675d;gap:4px;min-width:165px}.offline{font-size:10px;color:#788980}.score-paper{background:white;max-width:1140px;margin:22px auto 0;padding:18px 22px 25px;box-shadow:0 3px 20px #2139310b;border:1px solid #e1e5df;border-radius:3px}main{padding:0 24px 28px}#score{min-height:300px}#score svg{display:block;max-width:100%;height:auto}.footnote{text-align:center;font-size:12px;color:#738078;margin:18px 0}dialog{border:0;border-radius:18px;max-width:min(570px,calc(100vw - 28px));width:570px;padding:27px;color:#233331;box-shadow:0 24px 100px #0a24283d;max-height:calc(100dvh - 36px);overflow:auto}dialog::backdrop{background:#142d3266;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}h2{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0}.close{min-width:44px;height:44px;border:1px solid #d8e1da;background:#f5f6f2;border-radius:50%;font-size:26px}.dialog-hint{font-size:12px;color:#6d7b72;margin:12px 0 22px}h3{font-size:12px;letter-spacing:.02em;font-weight:600;color:#5b6e64;margin:16px 0 9px}.key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.key-choice{min-height:83px;background:#f6f7f3;border:1px solid #d9e1d8;border-radius:10px;position:relative;color:#263c32;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.key-choice .name{font:25px Georgia,serif}.key-choice .signature{font-size:17px;min-height:21px}.key-choice .marker{font-size:10px;min-height:14px;color:#63816e}.key-choice[aria-pressed=true]{border:2px solid #20504a;background:#e7f0e8}.key-choice[aria-pressed=true] .marker{color:#17473d;font-weight:700}.original-row{margin:15px 0}.original-row .key-choice{width:100%;min-height:68px;display:grid;grid-template-columns:1fr 1fr 1fr;padding:0 24px}.original-row .marker{text-align:right}#staging{position:absolute;left:-100000px;top:0;visibility:hidden;pointer-events:none} @media(max-width:850px){.toolbar{gap:16px}.state{min-width:140px}.score-paper{padding:16px 12px}main{padding:0 12px 24px}}@media(max-width:600px){.masthead{padding:20px 17px}h1{font-size:27px}.toolbar{flex-wrap:wrap;gap:6px;padding:9px 12px}.state{width:100%;flex-direction:row;justify-content:center;min-height:16px}.offline:before{content:'· ';padding:0 3px}main{padding:0 6px 20px}.score-paper{margin-top:12px;padding:12px 7px}dialog{padding:21px}.key-choice{min-height:78px}}@media print{@page{margin:10mm}body{background:#fff}.masthead{padding:0 0 10px;max-width:none}.eyebrow,.subtitle,.quiet,.toolbar,.footnote,dialog,#staging{display:none!important}h1{font-size:23px}main{padding:0}.score-paper{margin:0;border:0;box-shadow:none;padding:0;max-width:none}#score svg{break-inside:avoid;max-width:100%}.masthead:after{content:attr(data-print-key);font-size:13px}}
#source-credits{padding:12px 32px 10px;color:#364038}.extra-verses{display:grid;grid-template-columns:1fr 1fr;gap:28px;font-family:Georgia,serif;font-size:15px;line-height:1.7}.extra-verses p,.credit-note{white-space:pre-line}.credit-note{font-size:11px;line-height:1.55;margin:10px 0;color:#5d665e}@media(max-width:700px){#source-credits{padding:8px 18px}.extra-verses{grid-template-columns:1fr;gap:0;font-size:14px}}

#print-pages{display:none}#print-staging{position:absolute;left:-100000px;top:0;visibility:hidden;pointer-events:none}@media print{body.prepared-print>.masthead,body.prepared-print>.toolbar,body.prepared-print>main{display:none!important}body.prepared-print #print-pages{display:block!important}#print-staging{display:none!important}.print-page{position:relative;break-after:page;break-inside:avoid}.print-page svg{display:block;width:100%;height:auto;max-height:270mm}.print-key{position:absolute;top:0;right:0;font-size:11px;margin:0}}

/* Key distance stays secondary to the name and signature. */
.reset{font-size:27px;width:50px;padding:0}.key-choice{min-height:91px}.key-choice .distance{font:11px system-ui,sans-serif;color:#6d7b72;line-height:14px}.original-row .key-choice{min-height:68px}

.title-row{display:flex;align-items:center;gap:18px}#key-name{font-size:22px}.song-choice{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:80px;padding:16px;border:1px solid #c9d5ce;border-radius:10px;background:#f6f7f3;color:#233331}.song-choice span{font-size:14px;color:#54716a}#song-list{display:grid;gap:12px;margin-top:22px}.song-choice strong{font:22px Georgia,serif}

/* Playing view: compact chrome; modal dimensions and print engraving stay unchanged. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.panel-note{font-size:12px;color:#64756c;margin:18px 0 0}
.state:has(.visible-error){position:fixed!important;top:112px;left:12px;right:12px;width:auto!important;height:auto!important;clip-path:none!important;white-space:normal!important;padding:12px!important;background:#fff2da;border:1px solid #b56d2b!important;border-radius:8px;z-index:10}
@media screen{
 .masthead{padding:5px 20px;min-height:54px;gap:12px}
 .song-identity{display:flex;align-items:center;gap:16px;min-width:0}
 .title-row{gap:12px;flex-wrap:wrap;row-gap:0}
 h1{font-size:21px;line-height:1.2;letter-spacing:0}
 .subtitle{font-size:12px;margin:0;line-height:1.3}
 .quiet{min-height:44px;padding:8px 12px;flex-shrink:0}
 .toolbar{padding:4px 12px;gap:0;flex-wrap:nowrap}
 .reset,#key{height:44px;min-height:44px}.reset{width:44px;min-width:44px}
 #key{min-width:151px}
 #key-name{font-size:22px}
 .score-paper{margin-top:6px;padding-top:6px}
 #score{display:flow-root;overflow:hidden}
 #score .screen-first-page{margin-top:calc(-1 * var(--score-trim,0px))}
 .footnote{display:none}
 @media(max-width:850px){.masthead{padding:5px 12px}.title-row{display:block}.subtitle{margin-top:2px}.score-paper{padding-top:6px}}
 @media(max-width:600px){.masthead{gap:8px;padding:4px 8px}.song-identity{gap:8px}h1{font-size:18px}.subtitle{font-size:10px}.quiet{padding:7px 9px}.score-paper{margin-top:4px}.toolbar{padding:4px 6px}}
}

/* Screen score frame; inset line occupies existing padding, never score content. */
:root{
 --score-frame-outer:#4b6e88;
 --score-frame-inner:#7a3e46;
 --score-frame-outer-width:2px;
 --score-frame-inner-width:1px;
 --score-frame-gap:3px;
}
@media screen{
 .score-paper{position:relative;border:var(--score-frame-outer-width) solid var(--score-frame-outer);box-shadow:none}
 .score-paper::after{content:"";position:absolute;inset:var(--score-frame-gap);border:var(--score-frame-inner-width) solid var(--score-frame-inner);border-radius:1px;pointer-events:none}
}

/* Score identity belongs to the framed sheet; app controls stay in one row above it. */
@media screen{
 .masthead{display:block;max-width:none;min-height:0;margin:0;padding:0;position:sticky;top:0;z-index:5}
 .masthead .toolbar{position:static;gap:12px}
 .score-heading{display:flex;align-items:baseline;gap:12px;padding:3px 0 6px}
 .score-heading h1{margin:0}
 .score-heading .subtitle{margin:0}
 @media(max-width:850px){.score-heading{display:block}.score-heading .subtitle{margin-top:2px}}
 @media(max-width:600px){.masthead .quiet{padding:7px 8px}#key{min-width:135px;gap:7px}}
}

#print{width:44px;min-width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#173e3b}

/* Persistent playing controls; reserve their exact height plus the iOS home indicator. */
:root{--footer-viewport-inset:0px;--playing-bar-height:54px;--playing-safe-bottom:env(safe-area-inset-bottom,0px)}
@media screen{
 .masthead{position:fixed;top:auto;bottom:var(--footer-viewport-inset);left:0;right:0;width:100%;z-index:5}
 .masthead .toolbar{padding-bottom:calc(4px + var(--playing-safe-bottom));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
 main{padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 12px)}
 html{scroll-padding-bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 12px)}
 .state:has(.visible-error){top:auto;bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 8px)}
 @media(max-width:600px){
  .masthead .reset{flex:0 0 44px}
  .masthead #key{flex:1;min-width:0;padding:0 3px;flex-direction:column;gap:0}
  .masthead #key-name{font-size:18px;line-height:22px;white-space:nowrap}
  .masthead #key-signature{font-size:12px;line-height:14px}
  .masthead #key .chevron{display:none}
 }
}

/* Utilities left, generous playing targets centered, isolated reset at the right edge. */
@media screen{

 .utility-controls{display:flex;align-items:center;gap:6px;justify-self:start}

 .masthead #reset{justify-self:end;width:44px;min-width:44px}
}

/* Settings and optional navigation controls do not participate in print layout. */
[hidden]{display:none!important}
.unavailable{color:#758078}
.setting-note{font-size:12px;color:#64756c;line-height:1.4;margin:4px 0 10px}
#auto-options{padding:12px 0}#auto-options label{font-size:14px}#speed-value{margin-left:8px}#scroll-speed{display:block;width:100%;height:44px;accent-color:#536B7A}
#navigation-strip{display:flex;align-items:center;justify-content:center;gap:12px;background:#eeeee8;padding:2px 8px 4px;font-size:12px}
@media screen{
 .score-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-items:start;gap:12px}
 .score-heading .subtitle{text-align:right;max-width:220px;justify-self:end;margin:0;overflow-wrap:anywhere}
 .score-heading h1{min-width:0;overflow-wrap:break-word}
 /* Move the safe-area padding to the last row when navigation is enabled. */
 @media(max-width:600px){
  .score-heading{grid-template-columns:minmax(0,1fr) minmax(75px,34%);gap:8px}
  .score-heading .subtitle{font-size:10px;margin:0}

  .masthead #key-name{font-size:0}
  .masthead #key-name::after{content:attr(data-compact);font-size:18px}
 }
}
@media print{#navigation-strip{display:none!important}}

/* Library styles are scoped; the playing toolbar and score stay unchanged. */
#library{max-width:1080px;margin:auto;padding:16px 24px 60px}
.library-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.library-heading h1{font:600 26px system-ui,sans-serif;letter-spacing:-.04em}.library-heading .eyebrow{margin-bottom:3px}
#library input,#library select{font:inherit;border:1px solid #b5c3c5;border-radius:4px;padding:6px 8px;background:white;color:#233331;min-height:44px}
.library-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.library-controls label{display:flex;align-items:center;gap:5px;font-size:12px;min-width:0}.library-controls .search-box{flex:1 1 220px;max-width:420px}#library #library-search{width:100%;font-size:16px}#library select{min-width:0;max-width:100%;font-size:13px}#library-list{width:125px}.list-actions{display:flex;align-items:center;gap:6px;min-width:0}.list-actions label{flex:1;min-width:0}#library .library-controls .quiet{padding:6px 8px;border-radius:4px;font-size:12px;min-height:44px;white-space:nowrap}#order-note{font-size:11px;color:#526560;line-height:1.4}#order-note:empty{display:none}#library-count{font-size:12px;color:#586b67;margin:7px 0 5px}
#library-message:empty{display:none}#library-results{border-top:1px solid #c7d1cf}.library-row{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;border-bottom:1px solid #d1d9d7;background:#fafbf8}.library-row .favorite{border:0;background:transparent;font-size:25px;padding:0;min-width:44px;min-height:48px;color:#365867}.library-row .song-entry{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;background:transparent;text-align:left;padding:13px 8px;color:#233331;min-height:64px;min-width:0}.song-entry strong{font-size:16px;font-weight:600;overflow-wrap:anywhere}.song-meta{font-size:12px;color:#526560;line-height:1.4}.empty-library{padding:20px 4px;color:#526560}#library input:focus-visible,#library select:focus-visible,#library button:focus-visible{outline:2px solid #536b7a;outline-offset:1px}
@media screen{body.library-open>.masthead,body.library-open>#playing-view{display:none!important}body.library-open{padding-bottom:0}}
@media(max-width:600px){#library{padding:12px 14px 40px}.library-heading{align-items:flex-start;flex-wrap:wrap;gap:6px;margin-bottom:8px}.library-heading h1{font-size:24px}.library-controls{gap:6px 8px}.library-controls .search-box{flex-basis:100%;max-width:none}.list-actions{flex:1 1 100%}.list-actions label{flex:1}#library-list{width:0;flex:1}}
@media print{#library{display:none!important}}

@media print{body.library-open>#playing-view{display:none!important}}

.pdf-page{display:block;width:100%;height:auto;margin:0 auto 12px;background:white}#pdf-notice{font-size:13px;color:#536b7a;margin:10px 0}#pdf-notice a{color:inherit;text-decoration:underline}
@media screen{.pdf-score-open .masthead #key,.pdf-score-open #reset{display:none!important}.pdf-score-open .masthead .toolbar{display:flex;justify-content:flex-start}.pdf-score-open #score{margin-top:0!important}.pdf-score-open .footnote{display:none}}
@media print{#pdf-notice{display:none!important}.pdf-print-page img{display:block;max-width:100%;max-height:270mm;margin:0 auto}.pdf-print-page:last-child{break-after:auto}}

/* Screen framing never changes the full-resolution canvas used for PDF printing. */
.pdf-page-frame{position:relative;overflow:hidden;width:100%;margin:0 auto 10px;background:white}
.pdf-page-frame .pdf-page{position:absolute;height:auto;max-width:none;margin:0}

@media screen{.pdf-score-open .score-heading{display:none}.pdf-score-open #pdf-notice{font-size:11px;line-height:1.4;margin:0 0 4px;padding:0}}

/* List editing stays separate from score controls and normal song opening. */
.library-row.reordering{grid-template-columns:44px minmax(0,1fr) 92px;position:relative}.reorder-grip{touch-action:none;cursor:grab;font-size:28px;padding:0;min-width:44px;min-height:48px;user-select:none}.reorder-actions{display:flex;gap:2px}.reorder-actions button{min-width:44px;min-height:44px;padding:0;font-size:21px}.library-row .song-entry:disabled{opacity:1;cursor:default}.library-row.dragging{opacity:.55}.library-row.drop-before{box-shadow:inset 0 3px #536b7a}.library-row.drop-after{box-shadow:inset 0 -3px #536b7a}.reorder-grip:active{cursor:grabbing}

/* Library-only utility treatment: native menus, no boxed dropdowns. */
#library{--library-accent:#536B7A;--library-maroon:#7A3E46;--library-gold:#8A6419;padding-top:12px}
#library .library-heading{margin-bottom:6px}#library .eyebrow{color:var(--library-accent)}
#library .library-controls{gap:2px 10px}
#library .library-controls select{appearance:none;border:0;border-radius:2px;background-color:transparent;color:var(--library-accent);padding:6px 20px 6px 0;font-weight:500;flex:0 1 auto;max-width:250px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23536B7A' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 3px center;background-size:10px 7px}
#library .library-controls select option{color:#233331;background:#fff}
#library .list-actions{gap:6px}#library .list-actions label{flex:0 1 auto}
#library .library-controls .quiet{border:0;background:transparent;color:var(--library-accent);padding:6px;min-height:44px;border-radius:2px}
@media(hover:hover){#library .library-controls .quiet:not(#library-clear):not(#library-source):hover{text-decoration:underline;text-underline-offset:3px}#library .library-controls select:hover{color:#233331}}
#library .library-controls .quiet[aria-pressed=true]{text-decoration:underline;text-underline-offset:3px}
#library-results{border-top-color:var(--library-maroon)}
#library .library-row .favorite{color:#61716F}#library .library-row .favorite[aria-pressed=true]{color:#466879}
#library-count{margin:5px 0 4px}
@media(max-width:600px){#library{padding-top:10px}#library .library-controls{gap:2px 8px}#library .list-actions{flex:0 1 auto;max-width:100%}#library .list-actions label{min-width:0}#library .library-controls select{max-width:calc(100vw - 80px)}#library .list-actions select{max-width:175px}}

/* A unified Library header and side-only score-family frame. */
#library{padding-top:0}
.library-header-panel{display:flow-root;background:#E2E8EC;padding:12px 6px 0}
#library-results{--list-frame-gap:var(--score-frame-gap);position:relative;border-left:var(--score-frame-outer-width) solid var(--score-frame-outer);border-right:var(--score-frame-outer-width) solid var(--score-frame-outer);border-bottom:0;padding-inline:calc(var(--list-frame-gap) + var(--score-frame-inner-width))}
#library-results::before,#library-results::after{content:"";position:absolute;top:0;bottom:0;width:var(--score-frame-inner-width);background:var(--score-frame-inner);pointer-events:none}
#library-results::before{left:var(--list-frame-gap)}#library-results::after{right:var(--list-frame-gap)}
@media(max-width:600px){.library-header-panel{padding-top:10px;padding-inline:4px}#library-results{--list-frame-gap:1px}}

/* Native menus retain touch/keyboard behavior behind compact, labeled icons. */
#library .library-results-tools{display:flex;align-items:center;gap:2px;flex:1 0 auto;justify-content:flex-end;min-height:44px}




#library .library-results-tools #library-count{margin:0 0 0 auto;padding-left:10px;white-space:nowrap}
#library .library-controls{padding-bottom:3px}
@media(max-width:600px){#library .library-controls{gap:0 5px}#library .library-results-tools{flex:1 0 auto;min-width:0}#library .library-results-tools #library-count{padding-left:5px}#library .list-actions{flex:0 1 auto}#library .list-actions select{max-width:145px}}

/* A small overflow affordance replaces the full-width membership column. */
#library .library-row:not(.reordering){grid-template-columns:46px minmax(0,1fr) 32px}
#library .library-row .song-actions{width:44px;min-height:44px;margin-inline:-6px;padding:0;border:0;background:transparent;color:#536B7A;font-size:22px;line-height:1;border-radius:3px}

/* App dialogs use compact interface typography, separate from engraved score text. */
dialog h2{font:600 20px system-ui,sans-serif;line-height:1.35}

/* Compact key labels and single-row playing controls. */
@media screen{
 .masthead #key-name{white-space:nowrap}
 @media(max-width:600px){
  .masthead #key{min-width:76px;flex:1;gap:0;padding:0 2px}.masthead #key-name{font-size:16px;line-height:21px}.masthead #key-name::after{content:none}.masthead #key-signature{font-size:11px;line-height:13px}
 }
}

/* One register control beside Reset; never occupies a second toolbar row. */
@media screen{

 .masthead #octave-toggle{grid-column:3;grid-row:1;width:44px;height:44px;min-width:44px;padding:0;display:flex;align-items:center;justify-content:center}
 .masthead #octave-toggle[hidden]{display:none}
 .masthead #octave-toggle:not([data-state="0"]){background:#e0e8ec;box-shadow:inset 0 -3px #536B7A}
 .masthead #reset{grid-column:4;grid-row:1}
 @media(max-width:600px){
  .masthead #key{min-width:68px}
 }
}

/* MXL size control triggers OSMD layout at every screen width. */
#score-size{display:none}
@media screen{
 body:not(.pdf-score-open) #score-size{display:flex;align-items:center;justify-content:center;justify-self:end;width:44px;height:44px;padding:0;margin-top:2px;color:#536B7A}
}
@media screen and (max-width:600px){
 body:not(.pdf-score-open) .score-heading{row-gap:0}
 body:not(.pdf-score-open) .score-heading h1{grid-row:1 / span 2}
}
@media print{#score-size{display:none!important}}

/* Integrated song views; management and source metadata stay separate. */
.score-actions{grid-column:2;grid-row:2;justify-self:end;display:flex;gap:4px}.score-actions .quiet{width:44px;height:44px;padding:0;margin-top:2px}
#show-lyrics{font-size:25px;color:#536B7A}.score-heading h1{grid-row:1 / span 2}
:root{--lyrics-content-width:780px}
#lyrics-view{--lyrics-bg:#FFFFFF;--lyrics-ink:#1F2A2E;--lyrics-muted:#5C6B70;background:var(--lyrics-bg);color:var(--lyrics-ink);min-height:100dvh;padding:16px max(16px,calc((100% - var(--lyrics-content-width))/2)) 48px;font-family:system-ui,sans-serif}
#lyrics-view.lyrics-dark{--lyrics-bg:#0B0D0E;--lyrics-ink:#F7FAFB;--lyrics-muted:#B8C8CE;color-scheme:dark}
#lyrics-view button{color:var(--lyrics-ink);border-color:var(--lyrics-muted)}#lyrics-view h1{font:600 26px/1.25 system-ui;margin:0}.lyrics-source{color:var(--lyrics-muted);font-size:14px;line-height:1.5}
.lyrics-body{font-size:24px;line-height:1.65}.lyrics-body section{margin-top:28px}.lyrics-body h2{font:600 14px system-ui;color:var(--lyrics-muted);margin:0 0 8px}.lyrics-body p{white-space:pre-line;margin:0;overflow-wrap:break-word}
#lyrics-view[data-size=smallest] .lyrics-body{font-size:17px}#lyrics-view[data-size=small] .lyrics-body{font-size:19px}#lyrics-view[data-size=large] .lyrics-body{font-size:30px}.lyrics-refrain{border-left:3px solid #536B7A;padding-left:16px}.lyrics-notice{font-size:13px;color:var(--lyrics-muted);line-height:1.5}
@media screen{body.lyrics-open .masthead,body.lyrics-open #playing-view{display:none!important}}
@media print{#lyrics-view,.score-actions{display:none!important}}

/* Workspace surrounds follow Home light mode; reading paper stays independent. */
@media screen{
 :root:not([data-library-theme=dark]):has(:is(#lists-view,#files-view,#texts-view):not([hidden])),
 :root:not([data-library-theme=dark]) body:has(:is(#lists-view,#files-view,#texts-view):not([hidden])),
 :root:has(#lyrics-view:not([hidden]):not(.lyrics-dark)),
 body:has(#lyrics-view:not([hidden]):not(.lyrics-dark)),
 #lyrics-view:not(.lyrics-dark){background:#e9eff3}
 #lyrics-view:not(.lyrics-dark) .lyrics-paper{background:var(--lyrics-bg)}
}

/* Quiet Lyrics frame; colors adapt independently of the score theme. */
#lyrics-view{--lyrics-frame-outer:#4B6E88;--lyrics-frame-inner:#7A3E46}
#lyrics-view.lyrics-dark{--lyrics-frame-outer:#6F8A9C;--lyrics-frame-inner:#A58A55}
.lyrics-paper{position:relative;border:2px solid var(--lyrics-frame-outer);border-radius:2px;padding:18px}
.lyrics-paper::after{content:"";position:absolute;inset:3px;border:1px solid var(--lyrics-frame-inner);border-radius:1px;pointer-events:none}
@media(max-width:600px){
 .lyrics-paper{padding:14px 12px}
 #lyrics-view[data-size=medium] .lyrics-body{font-size:22px}
}


.lyrics-icon{width:26px;height:28px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.song-playback{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin-left:6px;border:0;border-radius:7px;background:transparent;color:#536B7A;touch-action:manipulation}
#lyrics-view .song-playback{color:var(--lyrics-ink);border-color:var(--lyrics-muted)}
#playback-message:empty{display:none}#playback-message{position:fixed;top:8px;left:10%;width:80%;z-index:20;background:#fff;color:#733;padding:12px;border:1px solid #733}
@media print{.song-playback,#playback-message{display:none!important}}

/* Compact accompaniment header and one-piece quick-transpose control. */
@media screen{
 .score-heading{grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:start;padding:0 0 3px}
 .score-title-block{min-width:0;grid-column:1;grid-row:1}
 .score-heading .subtitle{text-align:left;max-width:none;justify-self:start;margin:1px 0 0;font-size:11px;line-height:1.3}
 .score-heading .score-actions{grid-column:2;grid-row:1;gap:2px;align-self:start}
 .score-actions .quiet{margin-top:0}
 body:not(.pdf-score-open) .score-paper{padding-top:8px}


 .masthead #key{border:0;border-radius:8px;height:44px}
 .masthead #reset{grid-column:3;grid-row:1;justify-self:end}
 @media(max-width:600px){


  .masthead #key{flex:none}
  .score-heading .subtitle{font-size:10px}
 }
 body.page-navigation #score>.pdf-page-frame:not(.current-page){display:none}
 body.page-navigation #score>.pdf-page-frame.current-page{max-width:var(--pdf-page-fit,100%);margin:0 auto}
}
.return-start{position:fixed;bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 8px);z-index:4;width:44px;height:44px;padding:0;background:#fff;color:#536B7A;box-shadow:0 1px 4px #0002}


@media screen{.score-title-block h1{display:flex;align-items:center;gap:6px}.score-title-block .song-playback{flex:0 0 44px;margin-left:0}}

/* Optional written-key reference; scoped to the existing key dialog. */
.instrument-guidance{margin-top:14px;border-top:1px solid #cbd4d9;padding-top:6px}
#instrument-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;min-height:44px}
#instrument-toggle[aria-expanded=true] span{transform:rotate(90deg)}
#instrument-concert{font-weight:650;margin:10px 0}
.instrument-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid #e1e6e9}
.instrument-row small{display:block;color:#52616a;font-size:.8rem;line-height:1.45;margin-top:3px}
.instrument-written{text-align:right;white-space:nowrap;font-size:1rem}
.instrument-written .signature{display:block;font-size:.85rem;margin-top:3px}
.instrument-note{font-size:.78rem;color:#52616a;line-height:1.4;margin:10px 0 2px}

/* Shared unboxed audio control: retain its full hit area and keyboard ring. */
.song-playback:hover,#lyrics-view .song-playback:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.song-playback:active,#lyrics-view .song-playback:active{background:color-mix(in srgb,currentColor 15%,transparent)}
.song-playback:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.song-playback[aria-label="Pause song"]{color:#365B72}
#lyrics-view .song-playback[aria-label="Pause song"]{color:var(--lyrics-ink)}
#lyrics-view .lyrics-source{margin:6px 0 0}
#lyrics-view .lyrics-body section:first-child{margin-top:16px}
#lyrics-view .lyrics-notice{margin:16px 0 0}
#lyrics-view h1{display:flex;align-items:center;gap:6px}
#lyrics-view h1 .song-playback{flex:0 0 44px;margin-left:0}

@media screen{.score-heading .subtitle,#lyrics-view .lyrics-source{margin-inline-start:var(--title-text-inset,0px)}}

#score-size-options{position:fixed;z-index:30;display:flex;align-items:center;gap:6px;padding:8px;background:#fff;border:1px solid #aebfc8;border-radius:9px;box-shadow:0 3px 12px #172e3b24}
#score-size-options[hidden]{display:none}
#score-size-options button{width:52px;height:52px;padding:0;display:flex;align-items:center;justify-content:center;color:#536B7A;background:transparent;border:1px solid transparent;border-radius:6px}
#score-size-options button[aria-pressed=true]:not(:disabled){background:#e5edf2;border-color:#536B7A;box-shadow:inset 0 0 0 1px #536B7A}
#score-size-options [data-size=compact] svg{width:16px;height:19px}
#score-size-options [data-size=normal] svg{width:23px;height:27px}
#score-size-options [data-size=large] svg{width:30px;height:35px}
@media print{#score-size-options{display:none!important}}

/* Deliberate key selection: a compact control with breathing room, no step slots. */
@media screen{

 .masthead #key{flex:none;width:max-content;min-width:112px;max-width:144px;padding:0 12px;flex-direction:column;gap:0}
 .masthead #key-name{font-size:20px;line-height:24px}
 .masthead #key-signature{font-size:13px;line-height:16px}
 .masthead #key .chevron{display:none}
 @media(max-width:600px){
  .masthead #key-name{font-size:18px;line-height:23px}
 }
}

/* Ensemble guidance stays above the compact manual chooser; details overlay it. */
#key-dialog{width:680px;max-width:calc(100vw - 28px);padding:18px;position:relative}
#key-dialog .dialog-heading{align-items:center}
#ensemble-context{font-size:14px;margin:6px 0}
#key-dialog .dialog-hint{margin:0 0 8px}
.ensemble-tools{display:flex;gap:8px;align-items:stretch}
#ensemble-toggle{flex:1;min-width:0;text-align:left}
#ensemble-summary{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
#key-dialog #instrument-toggle{width:auto;flex:none;display:block}
#key-dialog h3{margin:8px 0 5px}
#ensemble-choices{display:flex;gap:6px}
#ensemble-choices button{flex:1;padding:8px 5px}
#ensemble-choices button[aria-pressed=true]{border-color:#536B7A;background:#e5edf2}
#key-dialog .key-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
#key-dialog .key-choice{min-height:66px}
#key-dialog .key-choice .name{font-size:22px}
#key-dialog .key-choice .signature{font-size:14px;min-height:17px;letter-spacing:0}
#key-dialog .original-row{margin:8px 0}
#key-dialog .original-row .key-choice{min-height:44px}
.ensemble-overlay{position:absolute;z-index:2;inset:70px 12px auto;padding:14px;background:white;border:1px solid #aebfc8;border-radius:10px;box-shadow:0 4px 20px #172e3b35;max-height:calc(100% - 82px);overflow:auto}
.overlay-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:6px}
#ensemble-instruments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
#ensemble-instruments label,.all-instrument-groups{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}
#ensemble-instruments input,.all-instrument-groups input{width:18px;height:18px;accent-color:#536B7A}
#key-dialog .instrument-row{padding:6px 0}
#key-dialog .instrument-written .signature{display:inline;margin-left:8px}
@media(max-width:600px){#key-dialog{padding:14px}#key-dialog .key-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ensemble-tools{gap:4px}.ensemble-tools .quiet{padding:6px 8px}#ensemble-instruments{grid-template-columns:repeat(2,minmax(0,1fr))}#ensemble-choices button{font-size:12px}.ensemble-overlay{inset-inline:6px;padding:10px}#key-dialog .instrument-written .signature{display:block}}
@media print{.ensemble-overlay{display:none!important}}

.mxl-page-frame{display:none}
@media screen{
 body.mxl-page-navigation #score>:not(.mxl-page-frame){display:none!important}
 body.mxl-page-navigation #score>.mxl-page-frame.current-page{display:block}
 body.mxl-page-navigation #score{min-height:0}
 body.mxl-page-navigation #source-credits,body.mxl-page-navigation .footnote{display:none}
 body.mxl-page-navigation #playing-view{padding-bottom:0}
 body.mxl-page-navigation .score-paper{padding-bottom:8px}
 .mxl-page-frame svg{margin:0 auto!important;max-width:100%;display:block}
}
@media print{.mxl-page-frame{display:none!important}}
/* Shared primary identity for Library navigation and the Library heading. */
:root{--primary-blue:#365F7D;--primary-blue-text:#FFFFFF;--primary-blue-hover:color-mix(in srgb,var(--primary-blue),black 8%);--primary-blue-pressed:color-mix(in srgb,var(--primary-blue),black 15%);--primary-blue-disabled:color-mix(in srgb,var(--primary-blue),#687780 20%)}
@media screen{
 #songs{background:var(--primary-blue);color:var(--primary-blue-text);border-color:var(--primary-blue)}
 @media(hover:hover){#songs:not(:disabled):hover{background:var(--primary-blue-hover)}}
 #songs:not(:disabled):active{background:var(--primary-blue-pressed)}
 #songs:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}
 #songs:disabled{opacity:1;background:var(--primary-blue-disabled);border-color:var(--primary-blue-disabled)}
 #library .library-heading{background:var(--primary-blue);color:var(--primary-blue-text);padding:8px 10px;margin:-12px -6px 8px}
 #library .library-heading :is(h1,.eyebrow){color:var(--primary-blue-text)}


 @media(max-width:600px){#library .library-heading{margin-top:-10px;margin-inline:-4px}}
}

@media screen{.score-heading .opening-metadata{display:inline-block;margin-inline-start:1em;font:inherit;color:inherit;font-weight:inherit;max-width:calc(100% - 1em);overflow-wrap:anywhere}}

/* Page position shares Reset's compact end cluster; page mode needs no extra row. */
@media screen{
 .masthead .toolbar-position{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:8px;min-width:0}
 #page-position{font-size:12px;line-height:1.2;color:#53675d;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:4ch;text-align:right}
 .pdf-score-open .toolbar-position{margin-inline-start:auto}
 @media(max-width:600px){
  #page-position{font-size:11px}
 }
 @media(max-width:360px){
  #page-position{font-size:10px}
 }
}

/* One existing Library action, now in the score header with matching touch size. */
@media screen{
 .score-actions #songs{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0}
 .score-actions{flex-wrap:nowrap}
 .score-actions #songs:has(+ #show-lyrics:not([hidden])){margin-inline-end:6px}
 @media(max-width:600px){.score-heading:has(#show-lyrics:not([hidden])){column-gap:0}}
 .pdf-score-open .score-heading{display:contents}
 .pdf-score-open .score-title-block{display:none}
 .pdf-score-open .score-actions{float:right;margin:0 0 4px 8px}
 .pdf-score-open #pdf-notice{min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:3px}
 .pdf-score-open #score{clear:both}
}

/* Compact key/utility cluster; flexible space separates it from Reset/page status. */
@media screen{
 .masthead .toolbar{display:flex;justify-content:space-between;gap:8px;flex-wrap:nowrap}
 .masthead .utility-controls{flex:none;gap:6px}
 .masthead #key{flex:none;width:max-content;min-width:84px;max-width:none;height:44px;padding:0 10px;background:#fff;color:#233331;border:1px solid #c2cdc6;border-radius:8px}
 .masthead #key :is(#key-name,#key-signature){color:inherit}
 .masthead #key:not(:disabled):hover{background:#f5f6f2}
 .masthead #key:not(:disabled):active{background:#e5e9e5}
 .masthead #key:focus-visible{outline:2px solid #536B7A;outline-offset:2px}
 .masthead #key:disabled{opacity:.38}
 .masthead .toolbar-position{margin-inline-start:auto;flex:none}
 @media(max-width:600px){.masthead #key{padding-inline:8px;min-width:80px}}
}

/* Text-first Library discovery; list management and saved ordering remain separate. */
#library .library-results-tools{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-start;gap:0 12px}
#library .library-order{display:flex;align-items:center;gap:2px;flex:none}
#library .library-results-tools .quiet{min-width:44px;min-height:44px;padding:6px 4px;border:0;background:transparent;font-size:13px;color:var(--library-accent)}
#library .library-results-tools .quiet[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:4px}
#library .source-choice{min-width:0;max-width:100%}
#library #library-source{height:44px;max-width:100%;font-size:13px}
#library .library-results-tools #library-count{font-size:12px;margin-inline-start:auto;padding-left:0}
@media(max-width:600px){#library .library-results-tools{gap:0 6px}#library .library-results-tools #library-count{padding-left:0}}

/* Current key and its optional signature share one content-sized line. */
@media screen{
 .masthead #key{flex-direction:row;align-items:center;gap:4px;white-space:nowrap}
 .masthead #key-name{white-space:nowrap}
 .masthead #key-signature{font-size:16px;line-height:24px;letter-spacing:0;white-space:nowrap}
 .masthead #key-signature:empty{display:none}
 @media(max-width:360px){.masthead #key-name{font-size:16px}.masthead #key-signature{font-size:15px}.masthead #key{padding-inline:6px}}
}

/* Balanced outer tracks center page status; intrinsic minima avoid phone collisions. */
@media screen{
 .masthead .toolbar,.pdf-score-open .masthead .toolbar{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);column-gap:12px;align-items:center}
 .masthead .playing-controls{grid-column:1;grid-row:1;display:flex;align-items:center;gap:6px;justify-self:start}
 .masthead .toolbar-position{grid-column:2;grid-row:1;justify-self:center;margin:0;min-width:0}
 .masthead .utility-controls{grid-column:3;grid-row:1;justify-self:end}
 #page-position{text-align:center}
}

/* Compact Settings with optional visual navigation help. */
.tap-help-line{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#53675d;flex-wrap:wrap}
#show-tap-zones{border:0;background:transparent;color:#365F7D;min-height:44px;padding:4px 6px;font:inherit;text-decoration:underline;text-underline-offset:3px}

/* Compact Library: source beside search, one textual control row, no More column. */
#library .library-controls{display:block}
#library .library-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px}
#library .library-search-row .search-box{flex:1 1 200px;max-width:540px}
#library .library-search-row .source-choice{flex:0 1 auto;min-height:44px}
#library .library-results-tools{gap:0 12px;justify-content:flex-start}
#library .library-row:not(.reordering){grid-template-columns:40px minmax(0,1fr) auto}
@media(max-width:600px){#library .library-search-row .search-box{flex-basis:170px}#library .library-results-tools{gap:0 6px}}

#music-import{width:660px;max-height:calc(100dvh - 32px);overflow:hidden}
#music-import[open]{display:flex;flex-direction:column}
#music-import .dialog-heading,#music-import .import-actions{flex-shrink:0}
#music-import .import-body{min-height:0;overflow:auto;padding:2px 4px}
#music-import .import-actions{padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #d8e1da;padding-top:12px}
#music-import label{display:block;margin:10px 0 5px;font-size:14px}
#music-import input:not([type=checkbox]){display:block;width:100%;min-width:0;box-sizing:border-box}
#import-preview{overflow:auto;max-height:38vh;margin-top:12px;background:white;color:#233331}
#import-preview canvas{max-width:100%;height:auto}
#import-preview svg{max-width:100%}
#import-summary{font-size:14px;font-weight:600}
#import-memberships label{display:flex;gap:8px;align-items:center;min-height:44px}
.import-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
body.view-only-score #key,body.view-only-score #reset{display:none}
#import-message:empty{display:none}
@media print{#music-import{display:none!important}}
#music-import input:not([type=checkbox]){min-height:44px;font:16px system-ui,sans-serif;border:1px solid #b8c6cc;border-radius:4px;padding:7px;background:#fff;color:#233331}
#music-import .import-actions button{min-height:44px;padding:8px 12px;border:1px solid #b8c6cc;border-radius:4px;background:#edf2f4;color:#233331;font:14px system-ui,sans-serif}
#music-import button:focus-visible,#music-import input:focus-visible{outline:2px solid #536b7a;outline-offset:2px}
/* Lists is a full local section; song and Library presentation stay independent. */
/* Notes shares the established Lists workspace shell, including responsive gutters. */
#lists-view,#texts-view{max-width:1080px;margin:auto;padding:12px 24px 60px;color:#233331}
.lists-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#365f7d;color:#fff;padding:14px 16px}
.lists-heading h1{font:600 27px system-ui,sans-serif;margin:0;overflow-wrap:anywhere}.lists-heading .eyebrow{font-size:11px;letter-spacing:.12em;margin:0 0 5px}.lists-heading p:last-child{font-size:13px;margin:5px 0 0;color:#e1e9ed}
#lists-view button,#lists-view summary,#list-name-dialog button{min-height:44px;min-width:44px;font:inherit;padding:8px;border:0;background:transparent;color:#365f7d;border-radius:4px;cursor:pointer}
#lists-view .lists-heading button{color:#fff}
#lists-view input:not([type=checkbox]),#lists-view select,#list-name-input{min-height:44px;padding:7px;font:16px system-ui,sans-serif;min-width:0;border:1px solid #b5c3c5;border-radius:4px;background:white;color:#233331}
#lists-view button:focus-visible,#lists-view input:focus-visible,#lists-view select:focus-visible,#lists-view summary:focus-visible,#list-name-dialog :focus-visible{outline:2px solid #536b7a;outline-offset:2px}
#lists-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}#lists-status{font-size:13px}#lists-status:empty{display:none}
#lists-view .list-overview-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;text-align:left;min-height:64px;border-bottom:1px solid #c4cfd3;background:#fafbf8;padding:12px}.list-overview-row strong{overflow-wrap:anywhere;font-weight:400}.list-overview-row span{white-space:nowrap;font-size:13px}
#list-songs{padding:0;margin:8px 0;list-style:none}.list-song-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;border-bottom:1px solid #c4cfd3;background:#fafbf8}
#lists-view .list-song-title{text-align:left;display:flex;flex-direction:column;gap:2px;min-width:0;min-height:56px;color:#233331}.list-song-title strong{font-size:16px;overflow-wrap:anywhere}
.list-song-actions{display:flex;align-items:center}.list-song-actions button{width:44px}.list-song-row.dragging{opacity:.55}.list-song-row.drop-before{box-shadow:inset 0 3px #536b7a}.list-song-row.drop-after{box-shadow:inset 0 -3px #536b7a}
.list-empty{padding:16px 8px}
.list-picker-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:sticky;top:0;background:#eef3f5;padding:8px;z-index:2}.list-picker-controls input[type=search]{flex:1 1 200px;width:100%}.list-picker-controls select{max-width:100%}.list-picker-controls label{display:flex;align-items:center;gap:6px;min-height:44px}.list-picker-controls #list-picker-done{margin-left:auto;font-weight:600}
.list-picker-row{display:flex;gap:12px;align-items:center;min-height:64px;padding:8px;border-bottom:1px solid #c4cfd3}.list-picker-row>span{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.list-picker-row input,#list-picker-favorites{width:22px;height:22px;flex:none;accent-color:#536b7a}.list-picker-row:has(input:disabled){color:#62706f}
#list-name-dialog{width:380px}#list-name-form label{display:block;margin-bottom:6px}#list-name-input{width:100%;box-sizing:border-box}#list-name-error{color:#7a3e46}
@media(max-width:600px){#lists-view,#texts-view{padding:10px 14px 40px}.lists-heading h1{font-size:23px}.list-picker-controls{gap:4px}}
@media print{#lists-view,#list-name-dialog{display:none!important}}

#lists-view{font-family:system-ui,sans-serif}
.lists-heading .eyebrow{color:#e1e9ed}
#lists-view .list-song-title:disabled{opacity:1;color:#62706f}

/* Match radio width, native inline margins and label gap through a shared grid. */

/* Normal list rows prioritize opening music; ordering tools appear only on request. */
.list-song-row.is-reordering{grid-template-columns:44px minmax(0,1fr) 88px}
.list-song-actions{display:grid;grid-template-columns:44px 44px;align-self:start;padding-top:6px}
.list-lyrics-slot{width:44px;height:44px}
.list-control-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.list-level-tools{display:flex;gap:4px}
#lists-view .list-level-tools button{width:44px}
#lists-view .list-level-tools [aria-pressed=true]{background:#dce7ed;box-shadow:inset 0 0 0 1px #536b7a}
#lists-view button:disabled{cursor:default}
#lists-view .list-song-actions button:disabled{opacity:.35}
.list-action-dialog{width:340px;font-family:system-ui,sans-serif}
.list-action-dialog h2{font-size:20px;overflow-wrap:anywhere;margin:0 0 12px}
.list-panel-actions{display:flex;flex-direction:column;gap:4px}
.list-action-dialog button{min-height:44px;padding:8px 12px;text-align:left;font:inherit;border:0;border-radius:4px;background:#eef3f5;color:#365f7d}
.list-action-dialog button[aria-label="Delete list"]{color:#7a3e46;background:transparent}
.list-action-dialog button:focus-visible{outline:2px solid #536b7a;outline-offset:2px}
@media print{.list-action-dialog{display:none!important}}

/* Files manages private imports separately from Library browsing and Lists. */
#files-view{max-width:1080px;margin:auto;padding:12px 24px 60px;color:#233331;font-family:system-ui,sans-serif}
.files-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#365f7d;color:white;padding:14px 16px}
.files-heading h1{font:600 27px system-ui,sans-serif;margin:0}
.files-heading .eyebrow{font-size:11px;letter-spacing:.12em;margin:0 0 5px;color:#e1e9ed}
#files-count{font-size:13px;margin:5px 0 0;color:#e1e9ed}
#files-view button{min-width:44px;min-height:44px;padding:8px;border:0;border-radius:4px;background:transparent;color:#365f7d;font:inherit;cursor:pointer}
#files-view .files-heading button{color:white}
#files-view button:focus-visible{outline:2px solid #536b7a;outline-offset:2px}
#files-view #add-music{margin:12px 0;background:#365f7d;color:white;padding:8px 16px;font-weight:600}
#files-view .file-row.just-added{background:#edf3f5;box-shadow:inset 3px 0 #365f7d}
.files-note,#files-status,.files-empty{font-size:13px}.files-note{color:#53675d;margin:0 0 10px}#files-status:empty{display:none}
.file-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid #c4cfd3;background:#fafbf8}
#files-view .file-entry{display:flex;flex-direction:column;gap:2px;text-align:left;color:#233331;min-width:0}
.file-entry strong{font-size:16px;font-weight:500}.file-entry>*{overflow-wrap:anywhere}.file-name{font-size:12px;color:#53675d}
.file-edit svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
@media(max-width:600px){#files-view{padding:10px 14px 40px}.files-heading h1{font-size:23px}}
@media print{#files-view{display:none!important}}

/* Performance controls relocate as the same accessible buttons at tablet width. */

@media screen{
 /* One intrinsic group reserves real space for metadata and nonshrinking controls. */
 .score-heading .score-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 24px;min-width:0;max-width:100%}
 .score-actions > .quiet{flex:0 0 44px;min-width:44px;min-height:44px}
 .masthead #songs{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;color:var(--primary-blue-text);margin-inline-end:8px}
 body:not(.pdf-score-open) .masthead #score-size{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;margin:0;color:#536B7A}
 .pdf-score-open .masthead #score-size{display:none}
 @media(min-width:601px){.masthead .toolbar{grid-template-columns:1fr auto 1fr}.score-actions #songs{margin:0}}
 @media(max-width:600px){
  .score-heading .score-actions{display:flex;gap:6px;flex-wrap:nowrap}
  .score-heading{grid-template-columns:minmax(0,1fr) auto}
  .masthead #key{min-width:0;padding-inline:4px;gap:2px}
  .masthead #key-name{font-size:16px;line-height:22px}
  .masthead #key-name::after{content:none}
  .masthead #key-signature{font-size:14px;line-height:22px}
 }
 @media(max-width:360px){
  .masthead #key-name{font-size:14px}.masthead #key-signature{font-size:12px}
  .masthead #key{padding-inline:2px}
 }
}
@media print{#original-key-reference{display:none!important}}

#score-size-options button{width:auto;min-width:60px;padding:0 10px;font-size:13px;white-space:nowrap}

/* Same physical action slot as Score, independent of the narrower lyric column. */
#lyrics-view{position:relative}
.lyrics-tools{margin-inline-start:auto}

/* Alternate local PDF remains a view of the structured song. */
#score-pdf-option{border-top:1px solid #ccd2d6;margin-top:4px;padding-top:10px}
@media screen{
 body.pdf-fallback-open .masthead #score-size{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;margin:0;color:#536B7A}
 body.pdf-fallback-open #source-credits{display:none}
}
.playback-tempo-row{display:flex;align-items:center;gap:6px}
.playback-tempo-row>span{margin-right:auto}
.playback-tempo-row button{width:44px;min-height:44px;padding:4px;font-size:22px}
#tempo-value{min-width:78px;text-align:center;font-variant-numeric:tabular-nums}
.playback-tempo-original{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#536B7A}
#tempo-reset{background:none;border:0;color:var(--accent,#4B6E88);min-height:36px;padding:4px 8px;text-decoration:underline}
@media(max-width:360px){body.pdf-fallback-open .masthead #score-size{width:40px;min-width:40px;flex-basis:40px}}

/* Compact score metadata and level key controls. */
@media screen{
 .score-heading .score-actions{flex-wrap:nowrap;gap:6px;align-items:center}
 #score-source{font:400 11px/1.25 system-ui,sans-serif;color:#677570;min-width:0;max-width:230px;margin-inline-end:8px;flex-shrink:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .score-heading .subtitle:empty{display:none}
 .score-heading .opening-metadata{margin-inline-start:0;max-width:100%}
 .masthead #key{min-height:44px;height:44px;flex-direction:row;gap:4px;padding:0 6px}
 .current-key-label{font:400 10px/1 system-ui,sans-serif;color:#53675d}
 .masthead #key-name{font-size:18px;line-height:22px}
 .masthead #key-signature{font-size:14px;line-height:22px}
 .pdf-score-open .current-key-label{display:none}
 @media(max-width:600px){
  .score-heading{grid-template-columns:minmax(0,1fr) auto;gap:4px}
  .score-heading .score-actions{gap:2px}
  #score-source{max-width:100px;text-align:right;font-size:10px}
  .masthead #key-name{font-size:15px}
  .masthead #key{gap:2px;padding-inline:2px}
  .current-key-label{font-size:9px}
 }
 @media(max-width:360px){#score-source{max-width:76px}.masthead #key-name{font-size:14px}.masthead #key-signature{font-size:11px}.masthead #key{gap:1px}}
}
#score-tap-overlay{position:fixed;margin:0;padding:0;border:0;border-radius:4px;max-width:none;max-height:none;overflow:hidden;background:#eef4f8dd;color:#233331;box-shadow:none;touch-action:manipulation}
#score-tap-overlay::backdrop{background:transparent;backdrop-filter:none}
.score-tap-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:var(--tap-upper) 1fr;height:100%;pointer-events:none}
.score-tap-grid>span{display:flex;align-items:center;justify-content:center;border:1px solid #536B7A;background:#e6eff3aa;text-align:center;padding:4px 8px;min-height:0;font-size:clamp(16px,3vw,24px)}
.score-tap-grid>span:nth-child(-n+2){background:#f4eddaaa}
#dismiss-score-taps{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);min-height:44px;max-width:95%;white-space:nowrap;font-size:12px;border:1px solid #536B7A;border-radius:8px;padding:6px 12px;color:#233331;background:white}
@media print{#score-tap-overlay{display:none!important}}

@media screen and (max-width:600px){#score-source{font-size:0;max-width:100px}#score-source::after{content:attr(data-compact);font-size:10px}}


/* Library: one sticky block keeps search, filters and columns aligned at every size. */
#library{padding-inline:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));--library-columns:minmax(0,1fr) 44px}
#library .library-heading{margin:0;background:transparent;color:#233331;padding:10px 4px;flex-wrap:nowrap;gap:8px;min-height:44px}
#library .library-heading :is(h1,.eyebrow){color:#233331}
#library .library-heading h1{font:600 18px/1.2 system-ui,sans-serif;color:inherit;letter-spacing:-.025em;margin:0}
#library .library-heading h1 span{font-size:12px;font-weight:400;color:#536b7a;margin-left:8px;letter-spacing:0}
#library-count{margin:0;white-space:nowrap;font-size:11px}
#library .library-header-panel{position:sticky;top:0;z-index:20;padding:env(safe-area-inset-top) 0 0;background:#edf1f3;box-shadow:0 1px 0 #c2ced3}
#library .library-controls{padding:4px 4px 0}
#library .library-search-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;max-width:588px;gap:0;flex-wrap:nowrap}
#library .library-search-row .search-box{position:relative;display:block;max-width:none;min-width:0}
#library #library-search{border-color:#c2ced3;border-radius:5px;height:44px;padding:8px 44px 8px 10px}
#library-search::-webkit-search-cancel-button{display:none}
#library .library-search-row .quiet{display:flex;align-items:center;justify-content:center;height:44px;width:44px;padding:0;font-size:25px;text-decoration:none}
#library .library-filter-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px}
#library .library-filter-row label{min-width:0;display:block}
#library .library-filter-row select{width:100%;max-width:none;height:44px;padding-left:6px;font-size:13px;text-overflow:ellipsis}
#library .library-column-headings{display:grid;grid-template-columns:var(--library-columns);align-items:center;min-height:44px;border-top:1px solid #d6dfe3;color:#536b7a;font:600 11px/1.2 system-ui,sans-serif;text-align:center}
#library .library-column-headings button{height:44px;min-width:44px;border:0;background:transparent;color:inherit;padding:0}
#library .song-column-heading{display:flex;align-items:center;gap:4px;text-align:left;min-width:0;padding-left:6px}
#library-results{padding:0;border:0}
#library-results::before,#library-results::after{display:none}
#library .library-row:not(.reordering){grid-template-columns:var(--library-columns)}
#library .song-entry{padding:10px 6px;gap:3px;min-height:60px}
#library .song-entry strong{font-size:14px;line-height:1.3}
#library .song-meta{font-size:11px;line-height:1.3}
#library-message:not(:empty){padding:4px 8px;font-size:12px;margin:0}
@media(min-width:700px){#library{padding-inline:24px}#library .song-entry strong{font-size:16px}#library .song-meta{font-size:12px}#library .library-filter-row{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);max-width:640px}}
@media(max-width:360px){#library .library-heading h1 span{display:none}#library .library-filter-row{gap:4px}#library .library-filter-row select{font-size:12px}#library .song-column-heading{gap:0}}

/* Active Lists reuse the Library grid; editing adds an explicit row of tools. */
#active-list-tools{display:flex;gap:4px;padding:0 4px;border-top:1px solid #d6dfe3}
#active-list-tools[hidden]{display:none}
#library #active-list-tools button{min-height:44px;min-width:44px;padding:4px 8px;border:0;background:transparent;color:#536b7a;font:12px system-ui,sans-serif}
#active-list-tools #active-list-options{margin-left:auto}
#library #active-list-tools [aria-pressed=true]{background:#dce7ed}
#library .list-row-tools{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:4px;border-top:1px dashed #d6dfe3;padding:0 4px;background:#f0f4f5}
#library .list-row-tools button{min-width:44px;min-height:44px;border:0;background:transparent;color:#365f7d;padding:4px 8px}
#library .list-row-tools .reorder-grip{margin-right:auto;touch-action:none;font-size:26px}
.list-order-number{font:12px system-ui,sans-serif;color:#536b7a}
#library .list-row-tools button:disabled{opacity:.3}
#library .library-row.dragging{opacity:.5}#library .library-row.drop-before{box-shadow:inset 0 3px #536b7a}#library .library-row.drop-after{box-shadow:inset 0 -3px #536b7a}
#library.editing-list .library-row{scroll-margin-top:225px}
#library.editing-list .library-search-row input:disabled{opacity:.6}
#lists-view,#texts-view{padding-inline:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
#lists-view .lists-heading{padding:12px 16px;min-height:44px}
#lists-view .lists-heading h1{font-size:20px}#lists-view .lists-heading .eyebrow{display:none}#lists-view .lists-heading p:last-child{color:#eef5f7;font-size:13px}
#lists-view .lists-heading button{color:inherit}
#lists-view .list-overview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:8px;margin:8px 0;border:1px solid #c4cfd3;border-radius:6px}
#lists-view .list-overview-entry{display:flex;flex-direction:column;text-align:left;gap:4px;min-width:0}
#lists-view .list-overview-row>button{font-size:12px}#lists-view .list-overview-entry strong{font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#list-picker-completion{position:fixed;bottom:var(--list-keyboard-inset,0px);left:0;right:0;z-index:30;display:flex;justify-content:center;gap:8px;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));background:#edf1f3;border-top:1px solid #c2ced3}
#lists-view #list-picker-done{background:#365f7d;color:white;font-weight:600;font-size:14px;padding:8px 12px;min-height:44px}
#lists-view #list-picker-done:disabled{opacity:.45}
#list-picker{padding-bottom:80px}
.list-picker-controls{padding-top:max(4px,env(safe-area-inset-top));gap:4px}
@media(min-width:700px){#lists-view,#texts-view{padding-inline:24px}}
@media print{#active-list-dialog,#list-picker-completion{display:none!important}}

#library button,#lists-view button{touch-action:manipulation}

.list-picker-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
#list-picker-target{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#536b7a}
#list-picker-count{grid-column:2;grid-row:1;font-size:11px;color:#536b7a;text-align:right}
#list-picker-search{grid-column:1/-1}
.list-picker-controls select{width:100%;font-size:13px!important}
.list-picker-controls label{font-size:12px}
#list-picker-results{padding-bottom:8px}

/* Compact Library controls share one row; actions occupy only two touch targets. */
#library .library-filter-row{display:flex;gap:4px;max-width:none}
#library .library-filter-row label{flex:0 1 auto;max-width:240px}
#library .library-filter-row select{width:100%;max-width:100%;min-width:0;appearance:none;background:transparent;border:0;border-radius:4px;padding:0 22px 0 6px;color:#365867;font:13px system-ui,sans-serif;cursor:pointer}
#library .library-filter-row label{position:relative}
#library .library-filter-row label::after{content:'▾';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:12px;color:#536b7a;pointer-events:none}
#library .library-filter-row .source-choice{max-width:210px;flex-shrink:1}
#library .library-filter-row .list-choice{max-width:240px;flex-shrink:1}
#library .library-filter-row .sort-choice{width:74px;flex:0 0 74px}
#library-sort-label{display:flex;align-items:center;height:44px;padding-left:6px;font:13px system-ui,sans-serif;color:#365867;pointer-events:none}
#library #order-toggle{position:absolute;inset:0;width:100%;height:44px;opacity:0}
#library .sort-choice:focus-within{outline:2px solid #365867;outline-offset:-2px;border-radius:4px}
#library .favorite{grid-column:3;min-width:44px;width:44px;min-height:44px;margin:0}
#library .library-column-headings .song-column-heading{font-weight:600}
#library-more-dialog{position:fixed;z-index:60;width:max-content;min-width:185px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:4px;background:#fff;border:1px solid #c2ced3;border-radius:6px;box-shadow:0 6px 24px #23333126}
#library-more-dialog[hidden]{display:none}
#library-more-dialog>button{display:block;width:100%;min-height:44px;padding:8px 12px;text-align:left;border:0;border-radius:3px;background:transparent;color:#365867;font:14px system-ui,sans-serif}
#library-more-dialog>button:hover,#library-more-dialog>button:focus-visible{background:#edf1f3}
#library-more-dialog [aria-checked=true]::after{content:' ✓'}
@media(max-width:600px),(max-width:900px) and (max-height:500px){
 #library .library-column-headings{display:none}
 #library .library-filter-row .source-choice{max-width:48%;flex:0 1 auto}
 #library .library-filter-row .list-choice{max-width:40%;flex:0 1 auto}
 #library .library-filter-row select{font-size:12px}
 #library .library-header-panel{padding-bottom:2px}
}
@media print{#library-more-dialog{display:none!important}}

/* Lyrics shares the Score Library button; footer space protects the final verse. */
#lyrics-view{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px) + var(--footer-viewport-inset))}
.lyrics-footer{position:fixed;left:0;right:0;bottom:var(--footer-viewport-inset);z-index:12;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:8px max(8px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:var(--lyrics-bg);border-top:1px solid var(--lyrics-muted)}
#lyrics-view .lyrics-footer #songs{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;color:var(--primary-blue-text);border-color:var(--primary-blue)}
@media print{.lyrics-footer{display:none!important}}

/* Temporary Lead tester shortcut: reuse the compact context label at every width. */
/* Passive metadata belongs to the score paper, outside the level footer controls. */
@media screen{
 .score-paper > #original-key-reference{position:absolute;left:12px;bottom:4px;margin:0;font:400 10px/12px system-ui,sans-serif;color:#677570;white-space:nowrap;pointer-events:none}
 body.mxl-page-navigation .score-paper{padding-bottom:22px}
 body:has(#score-tap-overlay[open]) #original-key-reference{visibility:hidden}
}

/* Scrolling-mode button clearance is viewport space, not score engraving. */
:root{--return-clearance:60px}
#return-start{right:max(12px,env(safe-area-inset-right,0px))}
#return-start-left{left:max(12px,env(safe-area-inset-left,0px))}
@media screen{
 body.continuous-return-visible #playing-view{padding-bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 12px + var(--return-clearance))}
 body.continuous-return-visible :is(#score,#source-credits,#original-key-reference){clip-path:inset(0 0 var(--return-clip,0px) 0)}
}

/* Source represents a catalog collection or an active List, with one shared menu. */
#library .library-filter-row{gap:16px;align-items:center}
#library .library-filter-row #library-source{display:flex;align-items:center;gap:5px;width:max-content;max-width:calc(100% - 156px);min-width:0;flex:0 1 auto;min-height:44px;margin:0;padding:0 6px;border:0;background:transparent;color:#365867;font:13px system-ui,sans-serif;white-space:nowrap}
#library-source-label{overflow:hidden;text-overflow:ellipsis;font-weight:600}
#library-source .desktop-prefix{flex:none}
#library .library-filter-row .sort-choice{width:134px;flex:0 0 134px;max-width:none}
#library-sort-label{white-space:pre}
.phone-sort{display:none}
#library-source-menu{position:fixed;z-index:60;width:max-content;min-width:220px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:4px;background:white;border:1px solid #c2ced3;border-radius:6px;box-shadow:0 6px 24px #23333126}
#library-source-menu[hidden]{display:none}
#library-source-menu button{display:block;width:100%;min-height:44px;padding:8px 12px;margin:0;text-align:left;border:0;background:transparent;color:#365867;font:14px system-ui,sans-serif;overflow-wrap:anywhere}
#library-source-menu button:hover,#library-source-menu button:focus-visible{background:#edf1f3}
#library-source-menu [aria-checked=true]::after{content:' \2713'}
#library-source-menu hr,#library-more-dialog hr{border:0;border-top:1px solid #c2ced3;margin:4px 0}
.source-menu-heading{padding:6px 12px;color:#536b7a;font:600 12px system-ui,sans-serif}
@media(max-width:600px),(max-width:900px) and (max-height:500px){
 #library .library-filter-row{gap:8px}
 #library .library-filter-row #library-source{max-width:calc(100% - 92px)}
 #library .library-filter-row .sort-choice{width:84px;flex-basis:84px}
 .desktop-prefix,.desktop-sort{display:none!important}.phone-sort{display:inline}
}
@media print{#library-source-menu{display:none!important}}

/* Pending navigation never presents retained notation or key metadata as its destination. */
#song-loading{position:absolute;left:12px;right:12px;font:14px system-ui,sans-serif;color:#677570;padding:24px 0;margin:0}
body.song-loading :is(#score,#source-credits,#original-key-reference,#key,#reset,.subtitle,#pdf-notice){visibility:hidden}
@media print{#song-loading{display:none!important}}

/* Library dropdowns use control feedback rather than link underlines. */
#library .library-filter-row #library-source,
#library .library-filter-row .sort-choice,
#library .library-filter-row .sort-choice::after,
#library .library-filter-row :is(#library-source,.sort-choice) *{text-decoration:none}
#library .library-filter-row :is(#library-source,.sort-choice):focus-within{background:#dce7ed;border-radius:4px}
@media(hover:hover){#library .library-filter-row :is(#library-source,.sort-choice):hover{background:#dce7ed;border-radius:4px}}

/* Quiet, noninteractive viewport beat lanes; notation itself is unchanged. */
:root{--beat-safe-top:env(safe-area-inset-top,0px)}
.metronome-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font:14px system-ui,sans-serif}
.metronome-setting select{min-height:44px;font:inherit;color:#365867;background:#fff;border:1px solid #c2ced3;border-radius:5px;padding:4px 8px}
/* Fixed overlays occupy no score space and never intercept notation gestures. */
.beat-rail{--beat-color:45,118,138;position:fixed;width:10px;z-index:9;background:linear-gradient(90deg,rgba(var(--beat-color),0),rgba(var(--beat-color),.65) 30%,rgba(var(--beat-color),.9) 50%,rgba(var(--beat-color),.65) 70%,rgba(var(--beat-color),0));border-radius:5px;pointer-events:none;user-select:none;opacity:0}
.beat-rail[data-downbeat=true]{background:linear-gradient(90deg,rgba(var(--beat-color),0),rgba(var(--beat-color),.85) 20%,rgba(var(--beat-color),1) 50%,rgba(var(--beat-color),.85) 80%,rgba(var(--beat-color),0))}
.beat-rail[hidden]{display:none}
body:has(#playing-view.score-page-dark) .beat-rail{--beat-color:102,201,196}
@media print{.beat-rail{display:none!important}}

/* Lyrics uses the same Library node, size, and safe-area anchor as Score. */
.lyrics-footer{padding:4px max(12px,env(safe-area-inset-right,0px)) calc(4px + var(--playing-safe-bottom)) max(12px,env(safe-area-inset-left,0px));border-bottom:1px solid transparent}
@media(max-width:600px){.lyrics-footer{padding-left:max(4px,env(safe-area-inset-left,0px));padding-right:max(4px,env(safe-area-inset-right,0px))}}
/* Equal side columns keep the Lyrics group centered independently of Library. */
.lyrics-footer .lyrics-tools{grid-column:2;grid-row:1;justify-self:center;margin-inline:0}
#lyrics-view .lyrics-footer #songs{grid-column:1;grid-row:1;justify-self:start}

/* Register is a secondary disclosure after all key choices. */
#key-octave{margin:16px 0 0}
#key-octave[hidden],#octave-panel[hidden],#octave-scopes[hidden]{display:none}
#octave-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 0;border:0;border-radius:0;background:transparent;color:#365867;font:500 13px system-ui}
#octave-toggle:hover{background:#eaf0f3}
#octave-toggle:active{background:#e1ebef}
#octave-toggle:focus-visible{outline:2px solid #536b7a;outline-offset:2px}
#octave-panel{margin-top:6px;padding-left:24px}
#octave-scopes,.octave-values{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.octave-values{margin-top:4px}
.octave-group-label{width:38px;font:400 13px system-ui;color:#536b7a}
#octave-scopes button,.octave-values label{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;min-width:44px;padding:6px 10px;margin:0;border:1px solid #c4cfd3;border-radius:18px;background:#f8fafb;color:#365867;font:500 13px system-ui;cursor:pointer}
#octave-scopes button[aria-pressed=true],.octave-values label:has(input:checked){background:#e1ebef;border-color:#536b7a}
.octave-values input{margin:0;width:14px;height:14px;accent-color:#536b7a}
.octave-values label:focus-within{outline:2px solid #536b7a;outline-offset:2px}

#key-dialog{position:fixed;inset:0;margin:auto}

/* Structured scores share the title/Lyrics bounds; PDF gutters are unchanged. */
body:not(.pdf-score-open) .score-paper{padding-left:10px;padding-right:10px}
@media(max-width:600px){body:not(.pdf-score-open) .score-paper{padding-left:5px;padding-right:5px}}

/* Optional native search scope: one compact touch target, no extra header row. */
#library #library-clear{position:absolute;right:0;top:0;background:transparent;border:0;border-radius:5px;font-size:22px}
#library #library-clear[hidden]{display:none}
@media(max-width:600px){#library .library-search-row{max-width:none}}
#library .search-scope{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:5px;color:#365867;font-size:26px}
#library .search-scope select{position:absolute;inset:0;width:44px;height:44px;opacity:0;cursor:pointer}
#library .search-scope:hover{background:#edf1f3}
#library .search-scope:focus-within{outline:2px solid #365867;outline-offset:-2px}
#library .search-scope:has(option:not([value=titles]):checked){background:#e1edf1}

/* Library filters share the Source/Sort row without taking another sticky row. */
#library .library-filter-row #library-source{max-width:calc(100% - 210px)}
#library #view-favorites{position:relative;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;margin-left:auto;border-radius:5px}
#view-favorites:focus-visible{outline:2px solid #365867;outline-offset:-2px}
@media(max-width:600px){#library .library-filter-row #library-source{max-width:calc(100% - 144px)}}

#home-screen-dialog button{min-height:44px}
#home-screen-dialog li{margin:8px 0;line-height:1.4}
#home-screen-status:empty{display:none}
#library-more-dialog>button[hidden]{display:none}

/* Credits may follow the last complete system when the printed page has room. */
@media print{.print-page.last-score-page{break-after:auto}.print-source-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12pt;font:8pt/1.15 Georgia,serif;color:#000;margin-top:4pt;break-before:auto;break-inside:avoid;white-space:pre-wrap}}



@media print{.return-start{display:none!important}}

/* PrimarySongs v528 footer Tools: same glyph, surface, menu spacing and states. */
.pdf-footer-tools-wrap{position:relative;flex:none;--surface:#fff;--line:#B7CCE0;--ink:#1F2A2E;--accent:#2B5F9E;--accent-strong:#214A78;--accent-soft:#EAF2FB}
.pdf-mobile-tools-button{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 7px #1f2a2e17;color:var(--accent-strong);min-height:46px;min-width:62px;padding:4px 10px}
.pdf-mobile-tools-button>svg{fill:none;height:25px;width:25px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.pdf-mobile-tools-button:hover,.pdf-mobile-tools-button:focus-visible,.pdf-mobile-tools-button[aria-expanded=true]{background:var(--accent-soft);border-color:var(--accent)}
.pdf-mobile-tools-menu{position:absolute;bottom:calc(100% + 9px);right:0;z-index:30;display:grid;gap:3px;min-width:171px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:11px;box-shadow:0 10px 28px #18334e3d}
.masthead .pdf-mobile-tools-menu button,.masthead .pdf-mobile-tools-menu #print{display:flex;align-items:center;justify-content:flex-start;width:100%;height:auto;min-height:44px;margin:0;padding:7px 10px;gap:9px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:.84rem;font-weight:600;text-align:left;white-space:nowrap}
.masthead .pdf-mobile-tools-menu button:hover:not(:disabled),.masthead .pdf-mobile-tools-menu button:focus-visible,.masthead .pdf-mobile-tools-menu button[aria-pressed=true],.masthead .pdf-mobile-tools-menu #print:hover:not(:disabled),.masthead .pdf-mobile-tools-menu #print:focus-visible{background:var(--accent-soft);color:var(--accent-strong)}
.pdf-mobile-tools-menu button>span:first-child{font-weight:750;display:inline-flex;align-items:center;justify-content:center;font-size:1.08rem;width:22px;flex:none}
.pdf-mobile-theme-swatch{background:linear-gradient(135deg,#fff 0 49%,#111820 51% 100%);border:1px solid var(--line);border-radius:999px;height:20px;width:20px!important}
@media(max-width:600px){.pdf-mobile-tools-button{min-width:44px;min-height:44px;padding:4px 8px}}
/* Display-only page theme: print, app chrome and Lyrics keep their own colors. */
@media screen{
 .score-page-dark .score-paper{background:#101417;color:#e8ecef}
 .score-page-dark #score{background:white;filter:invert(1) hue-rotate(180deg)}
 .score-page-dark #source-credits{filter:invert(1) hue-rotate(180deg)}
 .score-page-dark :is(#original-key-reference,.opening-metadata){color:#d7e0e6}
}

/* Shared Library / Lyrics / Score identity treatment; reading surfaces keep their own theme. */
@media screen{
 #library .library-heading,.lyrics-identity-header,.score-identity-header,#lists-view .lists-heading,.files-heading,.library-home-heading{background:var(--app-header-background);color:#fff;box-shadow:inset 0 -1px 0 rgba(255,255,255,.22),0 3px 14px rgba(22,49,83,.16)}
 #library .library-heading :is(h1,.eyebrow,h1 span){color:inherit}
 /* The small count reaches the green end: backing preserves 4.5:1 contrast without changing its box. */
 #library .library-heading #library-count{color:#fff;background:rgba(0,0,0,.12);box-shadow:0 0 0 2px rgba(0,0,0,.12);border-radius:2px}
 #library .library-heading h1:focus-visible{outline:2px solid #fff;outline-offset:2px}
}

/* Auto-scroll's auxiliary strip stays above the stable footer corners. */
@media screen{
}

/* Shared footer corner slot: identical dimensions and safe-area edges in both views. */
@media screen{
 .masthead #show-lyrics,.lyrics-tools button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;border:1px solid #c2cdc6;border-radius:8px;background:transparent;color:#536b7a}
 .lyrics-tools{display:flex;align-items:center;gap:6px;margin-left:auto}
 @media(min-width:601px){.lyrics-tools{min-height:46px}}
 .lyrics-score-toggle{position:static}
 .lyrics-tools button{color:var(--lyrics-ink);border-color:var(--lyrics-muted)}
 .view-switch svg,.lyrics-tools svg,#show-tap-zones svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .view-switch:hover,.lyrics-tools button:hover,#show-tap-zones:hover:not(:disabled){background:color-mix(in srgb,currentColor 9%,transparent)}
 .view-switch:focus-visible,.lyrics-tools button:focus-visible,#show-tap-zones:focus-visible{outline:2px solid currentColor;outline-offset:2px}
 .score-actions #show-tap-zones{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;border:1px solid #b7cce0;border-radius:9px;color:#365f7d;background:transparent;text-decoration:none}
 .score-page-dark #show-tap-zones{color:#d7e0e6}
}

/* Compact song identity; the title's existing playback button stays beside it. */
@media screen{
 #lyrics-view .lyrics-identity-header{position:relative;min-height:56px;padding:8px 60px 8px 10px;margin:-18px -18px 0}
 #lyrics-view .lyrics-identity-header h1{display:block;font:600 18px/1.2 system-ui,sans-serif;letter-spacing:-.025em;color:#fff;overflow-wrap:anywhere}
 #lyrics-view .lyrics-identity-header .lyrics-source{font:400 11px/1.3 system-ui,sans-serif;color:#fff;margin-top:4px;margin-bottom:0;overflow-wrap:anywhere}
 #lyrics-view .lyrics-identity-header .song-playback{position:absolute;right:8px;top:calc(50% - 22px);color:#fff}
 #lyrics-view .lyrics-identity-header :focus-visible{outline:2px solid #fff;outline-offset:2px}
 @media(max-width:600px){#lyrics-view .lyrics-identity-header{margin:-14px -12px 0}}
 #lyrics-view[data-size=extra-large] .lyrics-body{font-size:36px}
 .lyrics-font-wrap{position:relative;flex:none}
 .lyrics-font-menu{position:fixed;z-index:30;display:grid;min-width:156px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:5px;gap:3px;border:1px solid var(--lyrics-muted);border-radius:9px;background:var(--lyrics-bg);color:var(--lyrics-ink);box-shadow:0 6px 24px #172e3b33}
 .lyrics-tools .lyrics-font-menu button{width:100%;min-height:44px;justify-content:space-between;padding:7px 10px;border:0;border-radius:6px;font:14px system-ui,sans-serif;white-space:nowrap}
 .lyrics-font-menu button[aria-checked=true]{background:color-mix(in srgb,var(--lyrics-ink) 12%,var(--lyrics-bg))}
 .lyrics-font-menu button[aria-checked=true]::after{content:'✓';margin-left:16px}
}

/* Proven prior Lyrics artwork inside the existing, unchanged corner controls. */
@media screen{
 .lyrics-tools .pdf-mobile-theme-swatch{--line:#B7CCE0}
 #lyrics-view #lyrics-font-size{font-size:19px}
 #lyrics-view .lyrics-score-toggle{font-size:25px}
}

/* PrimarySongs v528 annotation controls; adapted to the unchanged MusicTranspose footer. */
.pdf-annotation-canvas{position:absolute;height:auto;max-width:none;margin:0;pointer-events:none;z-index:2}
.pdf-annotation-active .pdf-annotation-canvas{pointer-events:auto;touch-action:none;cursor:crosshair}
#pdf-annotation-panel{position:fixed;z-index:4;left:50%;transform:translateX(-50%);bottom:calc(var(--playing-bar-height,64px) + var(--playing-safe-bottom,env(safe-area-inset-bottom,0px)) + 8px);max-width:calc(100% - 16px);width:max-content;color:#183e67}
#pdf-annotation-panel[hidden]{display:none}
#pdf-annotation-notice{margin:0 auto 6px;padding:7px 12px;background:#183e67;color:white;border:1px solid #ffffffa6;border-radius:12px;font-size:12px;text-align:center;max-width:600px}
.pdf-annotation-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;padding:6px;border:1px solid #8ba8c2;border-radius:13px;background:#f3f7fb;box-shadow:0 8px 26px #19365240}
.pdf-annotation-tool-group,.pdf-annotation-colors{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.pdf-annotation-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:4px 7px;border:1px solid #b7cce0;border-radius:8px;background:white;color:#183e67;font-size:21px;font-weight:800}
.pdf-annotation-toolbar button:hover,.pdf-annotation-toolbar button:focus-visible,.pdf-annotation-toolbar button[aria-pressed=true]{background:#e5eff9;border-color:#245a9a;box-shadow:inset 0 0 0 1px #245a9a}
.pdf-annotation-colors button{position:relative;font-size:0}
.pdf-annotation-colors button:before{content:'';width:26px;height:26px;border:2px solid white;border-radius:50%;background:var(--annotation-color);box-shadow:0 0 0 1px #8ba8c2}
.pdf-annotation-colors button[data-annotation-color="#245A9A"]{--annotation-color:#245A9A}
.pdf-annotation-colors button[data-annotation-color="#C62828"]{--annotation-color:#C62828}
.pdf-annotation-colors button[data-annotation-color="#7A3045"]{--annotation-color:#7A3045}
.pdf-annotation-colors button[data-annotation-color="#B67817"]{--annotation-color:#B67817}
.pdf-annotation-toolbar .pdf-annotation-done,.pdf-annotation-toolbar .pdf-annotation-done:hover,.pdf-annotation-toolbar .pdf-annotation-done:focus-visible{background:linear-gradient(105deg,#237c7a,#2b67b1);color:white;font-size:14px;min-width:60px}
@media screen{
 .pdf-score-open .score-page-dark #score{filter:none;background:#000}
 .pdf-score-open .score-page-dark .pdf-page{filter:invert(1) hue-rotate(180deg)}
 .score-page-dark .pdf-annotation-canvas{filter:brightness(1.8)}
}
@media(max-width:600px){#pdf-annotation-panel{width:calc(100% - 16px)}#pdf-annotation-notice{font-size:11px;padding:5px 8px}.pdf-annotation-toolbar{gap:5px;padding:5px}}
@media print{#pdf-annotation-panel,.pdf-annotation-canvas{display:none!important}}

/* Musician-facing Score View; internal density choices stay in the renderer. */
@media screen{
 body .masthead #score-size{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:100px;flex:0 0 auto;height:44px;padding:0 8px;margin:0;color:#536b7a;font:13px system-ui,sans-serif;white-space:nowrap}
 #score-size-options{flex-direction:column;align-items:stretch;gap:2px;min-width:160px;max-width:calc(100vw - 16px)}
 #score-size-options button{position:relative;justify-content:flex-start;width:100%;height:44px;min-height:44px;padding:0 36px 0 12px;margin:0;border:1px solid transparent;font-size:14px;color:#243e4c}
 #score-size-options button:not(:disabled):hover{background:#f0f4f6}
 #score-size-options button:focus-visible{outline:2px solid #245a9a;outline-offset:-3px}
 #score-size-options button::after{content:"";position:absolute;right:15px;top:50%;width:5px;height:10px;border:solid currentColor;border-width:0 1.7px 1.7px 0;transform:translateY(-65%) rotate(45deg);visibility:hidden}
 #score-size-options button[aria-checked=true]:not(:disabled){color:#243e4c;background:#e5edf2;border-color:transparent;box-shadow:none}
 #score-size-options button[aria-checked=true]:not(:disabled)::after{visibility:visible}
 #score-size-options button:disabled{opacity:1;color:#737373;background:#fafafa;border-color:transparent;box-shadow:none;cursor:default}
}

/* Two control clusters; page status remains accessible outside the toolbar grid. */
@media screen{
 @media(min-width:601px){
  .masthead .toolbar,.pdf-score-open .masthead .toolbar{grid-template-columns:auto minmax(0,1fr)}
  .masthead .utility-controls{grid-column:2}
 }
}

/* Slim Score identity shares app chrome; opening directions stay on the paper. */
@media screen{
 .score-heading,.pdf-score-open .score-heading{display:block;padding:0 0 2px}
 .score-identity-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:48px;padding:2px 8px}
 .score-identity-header .score-title-block,.pdf-score-open .score-identity-header .score-title-block{display:block;min-width:0}
 .score-identity-header .score-title-block h1{display:block;font:600 17px/1.2 system-ui,sans-serif;letter-spacing:-.025em;color:#fff;overflow-wrap:anywhere}
 .score-identity-header #score-source{display:block;font:400 11px/1.25 system-ui,sans-serif;color:#fff;max-width:none;margin:2px 0 0;text-align:left;overflow:visible;white-space:normal;overflow-wrap:anywhere}
 .score-identity-header #score-source::after{content:none}
 .score-identity-header .score-actions,.pdf-score-open .score-identity-header .score-actions{float:none;display:flex;flex-wrap:nowrap;align-self:center;align-items:center;gap:4px;margin:0;grid-column:3;grid-row:1;justify-self:end}
 .score-identity-header .song-playback,.score-identity-header #show-tap-zones{flex:0 0 44px;width:44px;height:44px;margin:0;color:#fff}
 .score-identity-header #show-tap-zones{border-color:#ffffff80}
 .score-identity-header .score-actions > button:not(:disabled):hover{background:#ffffff1f}
 .score-identity-header .score-actions > button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
 .score-heading .subtitle{margin-top:2px}
 .pdf-score-open .score-heading .subtitle{display:none}
 /* Keep the raw PDF link/state available internally without permanent page text. */
 #pdf-notice,.pdf-score-open #pdf-notice{display:none}
}
@media print{.score-identity-header #score-source{display:none}}

/* Balanced controls and passive footer feedback outside the score surface. */
@media screen{
 .masthead .toolbar,.pdf-score-open .masthead .toolbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .masthead .utility-controls{grid-column:2;justify-self:center}
 #page-position{position:static;grid-column:3;grid-row:1;justify-self:end;min-width:0;padding:0;font:italic 400 14px/1.3 system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;color:#536b7a;background:none;border:0;pointer-events:none;user-select:none;text-align:right}
 #page-turn-feedback{position:fixed;z-index:12;padding:6px 10px;color:#fff;background:#365f7de8;border-radius:6px;font:500 21px/1.3 system-ui,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none;user-select:none;opacity:0;transition:opacity 180ms ease}
 #page-turn-feedback.visible{opacity:1}
 #page-position[hidden],#page-turn-feedback[hidden],body.library-open :is(#page-position,#page-turn-feedback),body.lyrics-open :is(#page-position,#page-turn-feedback){display:none}
 @media(max-width:600px){
  #page-position{grid-column:2;grid-row:1;font-size:13px;padding-right:4px}
 }
}
@media(prefers-reduced-motion:reduce){#page-turn-feedback{transition:none}}
@media print{#page-position,#page-turn-feedback{display:none!important}}

/* Export replaces the Tools list in the same anchored surface. */
.pdf-mobile-tools-menu{max-width:calc(100vw - 16px);overflow-y:auto;overscroll-behavior:contain}
.masthead #score-tools-menu.export-open > button{display:none}
#score-export-options{display:grid;gap:3px;min-width:220px;max-width:100%}
#score-export-options[hidden]{display:none}
.masthead #score-tools-menu svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.masthead #score-tools-menu .export-chevron{width:14px;height:14px;margin-left:auto}
.masthead #score-export-options .export-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:normal}
#score-export-options strong{font:600 14px/1.3 system-ui,sans-serif}
#score-export-options small{font:400 12px/1.3 system-ui,sans-serif;color:#536b7a}
.masthead #score-export-options button:disabled{opacity:1;color:#65717a;background:#f3f5f6;cursor:default}
.masthead #score-export-options button:disabled small{color:#65717a}
.masthead #score-export-back{font-weight:600;color:var(--accent-strong);border-bottom:1px solid var(--line);border-radius:6px 6px 0 0}

/* Song navigation belongs to the identity banner, outside the page-turn surface. */
@media screen{
 .score-identity-header .score-title-block,.pdf-score-open .score-identity-header .score-title-block{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center}
 body .score-identity-header .score-title-block h1{grid-column:1;grid-row:1;align-self:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .score-identity-header #score-source{grid-column:1;grid-row:2;align-self:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .score-song-navigation{grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;gap:2px;width:max-content;color:#fff;font:500 11px/1 system-ui,sans-serif}
 .score-song-navigation button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;color:inherit;border:1px solid transparent;background:transparent}
 .score-song-navigation button:not(:disabled):hover{background:#ffffff1f}
 .score-song-navigation button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
 .score-song-navigation button:disabled{opacity:.4;cursor:default;background:transparent}
}
@media screen and (max-width:600px){
 .score-song-navigation > span{display:block}
 .score-song-navigation{gap:0}
 .score-identity-header,.score-identity-header .score-title-block,.pdf-score-open .score-identity-header .score-title-block{column-gap:4px}
}
@media print{.score-song-navigation{display:none}}

/* Persistent configuration and compact, immediate metronome controls. */
#metronome-panel{position:fixed;z-index:12;left:50%;transform:translateX(-50%);bottom:calc(var(--playing-bar-height,64px) + var(--playing-safe-bottom,env(safe-area-inset-bottom,0px)) + 8px);width:max-content;max-width:calc(100% - 16px);border:1px solid #a9bbc8;border-radius:10px;background:#f7f9fb;color:#183e67;box-shadow:0 5px 20px #19365230;padding:1px 6px}
#metronome-panel[hidden]{display:none}
.metronome-live-controls{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.metronome-live-controls button{min-height:44px;min-width:44px;padding:4px 10px;font:500 14px system-ui,sans-serif;color:#183e67;background:white;border:1px solid #b7c8d5;border-radius:6px}
.metronome-live-controls button[aria-pressed=true]{background:#e3eff8;border-color:#245a9a}
.metronome-live-controls button:focus-visible{outline:2px solid #245a9a;outline-offset:2px}
.metronome-bpm{display:flex;align-items:center;gap:4px}
#tempo-value{min-width:76px;text-align:center;font:500 14px system-ui,sans-serif;font-variant-numeric:tabular-nums}
#metronome-done{background:#245a9a;color:white}
@media(max-width:600px){#metronome-panel{width:calc(100% - 16px);box-sizing:border-box}.metronome-setting{gap:6px}.metronome-setting select{max-width:60%}}
@media print{#metronome-panel{display:none!important}}

/* Score controls share optical size and restrained interaction states. */
@media screen{
 body:not(.lyrics-open):not(.library-open) .masthead :is(#score-tools,#show-lyrics,#reset){display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:8px;box-shadow:none;color:#365b72;border-color:#b7c8d5}
 body:not(.lyrics-open):not(.library-open) .masthead :is(#score-tools,#show-lyrics,#reset) > svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 body:not(.lyrics-open):not(.library-open) .masthead .utility-controls{gap:6px}
 body .masthead #score-size{font-weight:500}
 body:not(.lyrics-open):not(.library-open) .masthead :is(#score-tools,#show-lyrics,#reset,#score-size):not(:disabled):hover{background:#eaf2f8;border-color:#8da8bd}
 body:not(.lyrics-open):not(.library-open) .masthead :is(#score-tools,#score-size)[aria-expanded=true]:not(:disabled),

 body:has(#metronome-panel:not([hidden])) .masthead #score-tools,
 body.pdf-annotation-active .masthead #score-tools{background:#e5edf2;border-color:#8da8bd;box-shadow:none}
 body:not(.lyrics-open):not(.library-open) .masthead :is(#score-tools,#show-lyrics,#reset,#score-size):disabled{opacity:.4;cursor:default;background:transparent;border-color:#b7c8d5}
 body:not(.lyrics-open):not(.library-open) .masthead :is(#score-tools,#show-lyrics,#reset,#score-size):focus-visible{outline:2px solid #245a9a;outline-offset:2px}
 .score-identity-header .song-playback,.score-identity-header #show-tap-zones{border-radius:8px}
}

/* Lyrics: persistent Library left, controls centered in equal outer tracks. */
@media screen{
 .lyrics-footer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .lyrics-footer .lyrics-tools{justify-self:center;min-height:44px;gap:6px}
 .lyrics-tools > button,.lyrics-font-wrap > button{font-weight:500;border-color:color-mix(in srgb,var(--lyrics-muted) 45%,var(--lyrics-bg));border-radius:8px}
 .lyrics-tools > button[aria-pressed=true],.lyrics-font-wrap > button[aria-expanded=true]{background:color-mix(in srgb,#8da8bd 22%,var(--lyrics-bg));border-color:#8da8bd}
 .lyrics-tools .lyrics-font-menu button{font-weight:500}
 .lyrics-tools button:focus-visible{outline:2px solid var(--lyrics-muted);outline-offset:2px}
 @media(max-width:600px){.lyrics-footer .lyrics-tools{gap:4px}}
}

/* Library source cleanup: title-aligned metadata and quiet control emphasis. */
#library .song-entry{display:grid;grid-template-columns:minmax(0,1fr);column-gap:5px;row-gap:3px;padding-inline:12px;justify-items:start}
#library .song-entry.numbered-song{grid-template-columns:max-content minmax(0,1fr)}
#library .numbered-song .song-number{grid-column:1;grid-row:1;font-size:14px;line-height:1.3;font-weight:600}
#library .numbered-song .song-title{grid-column:2;grid-row:1}
#library .numbered-song > :not(.song-number):not(.song-title){grid-column:2}
#library-sort-label .desktop-sort,#library-sort-label .phone-sort{font-weight:600}
#library .library-filter-row .sort-choice{width:176px;flex-basis:176px}
#library #library-search{border-color:#9caeb9;background:#f8fafb}
#library #library-search:focus{border-color:#365f7d;background:#fff;outline:2px solid #536b7a;outline-offset:1px}
@media(min-width:700px){#library .numbered-song .song-number{font-size:16px}}
@media(max-width:600px){#library .library-filter-row .sort-choice{width:116px;flex-basis:116px}#library .library-filter-row #library-source{max-width:calc(100% - 132px)}}

/* Home identity uses a title underline for keyboard focus, never a header-sized box. */
.header-home{appearance:none;border:0;border-radius:0;box-shadow:none;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;cursor:pointer;padding:0}
#library .library-heading .header-home:focus,.header-home:focus,.header-home:focus-visible{outline:none;box-shadow:none}
.score-header-home{grid-column:1;grid-row:1 / span 2;align-self:stretch;justify-self:stretch;z-index:1;min-width:0;min-height:44px}
.home-identity{position:relative}
.identity-home{position:absolute;inset:0;z-index:1}
.lyrics-header-home{position:absolute;inset:0 60px 0 0;z-index:1}
:is(.library-heading,.lyrics-identity-header,.files-heading,.lists-heading):has(.header-home:focus-visible) h1{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
#library .library-heading h1:focus,.score-heading h1:focus,#lyrics-view .lyrics-identity-header h1:focus,#files-heading:focus,#lists-heading:focus{outline:none;box-shadow:none}
@media print{.header-home{display:none!important}}

/* Lists overview: browsing is primary, management stays secondary. */
#lists-actions{margin:12px 0}
#lists-actions>button{background:#e4edf1;border:1px solid #afc3cd;font-weight:500;padding:8px 14px}
#lists-view .list-overview-entry{min-height:56px;color:#233331}
#lists-view .list-overview-entry>span{color:#405665;font-size:13px}
.list-manage-actions{display:flex;gap:6px}
#lists-view .list-manage-actions button{font-size:13px;font-weight:400;border:1px solid #c4cfd3;background:#f5f7f7;padding:8px 12px}
#lists-view .list-overview-entry:hover,#lists-view .list-manage-actions button:hover,#lists-actions>button:hover{background:#eaf0f3;text-decoration:none}
@media(max-width:600px){#lists-view .list-overview-row{gap:6px}.list-manage-actions{gap:4px}#lists-view .list-manage-actions button{padding:8px}}

#lists-view .header-home:focus,#lists-view .header-home:focus-visible{outline:none;box-shadow:none}

#library-home{max-width:1080px;margin:auto;padding:12px 24px 40px;font-family:system-ui,sans-serif;color:#233331}
.library-home-heading{padding:12px 16px}.library-home-heading>span{font:13px system-ui,sans-serif}.library-home-heading h1{font:600 22px system-ui,sans-serif;margin:3px 0 0}
#library-home-title:focus{outline:none}
#library-home nav{margin-top:12px}
#library-home nav>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:72px;text-align:left;padding:12px 16px;border:0;border-bottom:1px solid #c4cfd3;background:#fafbf8;color:#233331;font:inherit;cursor:pointer;border-radius:4px}
#library-home strong,#library-home small{display:block}#library-home strong{font-size:16px;font-weight:500}#library-home small{font-size:13px;color:#536b7a;margin-top:4px}
#library-home nav>button:hover{background:#eaf0f3}#library-home nav>button:focus-visible{outline:2px solid #536b7a;outline-offset:-2px}
#library-home nav{--home-blue:color-mix(in srgb,#245a9a 15%,white);--home-teal:color-mix(in srgb,#237c7a 15%,white);--home-green:color-mix(in srgb,#2f8b61 15%,white)}
#library-home nav>button[data-home-source]:not([data-home-source=all]){background:linear-gradient(90deg,var(--home-blue) 0%,var(--home-teal) 60%,var(--home-green) 100%)}
#library-home nav>:is(#home-files,#home-lists){background:linear-gradient(90deg,#e4e0ed,#ddd8e8)}
@media(hover:hover){#library-home nav>button:hover{filter:brightness(.98)}}
#library-home nav>button:active{filter:brightness(.96)}
@media(max-width:600px){#library-home{padding:10px 8px 24px}}
@media print{#library-home{display:none!important}}

#library .favorite{display:flex;align-items:center;justify-content:center}
#library .favorite svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#library .favorite[aria-pressed=true] svg{fill:currentColor}
#library .favorite:hover{background:#eaf0f3;text-decoration:none}

/* List metadata stays local to a List; its compact actions share one row. */
.list-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#library .library-row.list-entry-row{grid-template-columns:minmax(0,1fr) 44px 44px 44px}
#library .list-entry-row .song-entry{grid-column:1;min-width:0}
#library .list-entry-row .song-title,#library .list-entry-row .song-meta{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#library .list-entry-row .edit-list-entry{grid-column:2}
#library .list-entry-row .favorite{grid-column:3}
#library .list-entry-row .order-song{grid-column:4}
#library .list-icon,#lists-view .list-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:4px;background:transparent;color:#61716f}
#library .list-icon:hover,#lists-view .list-icon:hover{background:#eaf0f3;text-decoration:none}
#library .list-row-tools .list-order-number{margin-right:auto}
#list-name-dialog,#list-entry-dialog{font-family:system-ui,sans-serif;width:380px;max-width:calc(100vw - 48px);box-sizing:border-box}
#list-name-dialog h2,#list-entry-dialog h2{font-size:20px;font-weight:600}
#list-description-input,#list-entry-name{width:100%;box-sizing:border-box;font:16px system-ui,sans-serif;min-height:44px;padding:8px;border:1px solid #b5c3c5;border-radius:4px;background:#fff;color:#233331}
#list-description-input{resize:vertical;margin-top:0}
#list-name-input{margin-bottom:16px}
#list-entry-form label{display:block;margin-bottom:6px}
#list-entry-dialog dl{font-size:14px;margin:0 0 20px}
#list-entry-dialog dt{color:#526560;margin-top:10px}
#list-entry-dialog dd{margin:3px 0 0;overflow-wrap:anywhere}
.list-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
#list-entry-dialog button{min-height:44px;min-width:44px;padding:8px;font:inherit;border:0;border-radius:4px;background:transparent;color:#365f7d}
#list-entry-dialog :focus-visible{outline:2px solid #536b7a;outline-offset:2px}
@media print{#list-entry-dialog{display:none!important}}

/* Single-column, independent List sections. Song controls stay on one compact row. */
#lists-overview{display:block}
.list-workspace-section{margin:0 0 10px;border:1px solid #d1dadd;border-radius:5px;background:#fafbf8;overflow:hidden}
#lists-view .list-workspace-section .list-overview-row{margin:0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) 44px;gap:0;padding:0 4px}
#lists-view .list-overview-entry{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0}
.list-header-identity{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left}
#lists-view .list-header-identity strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.list-count{font-size:12px;color:#4b5d5b}
.list-chevron{display:flex;flex:0 0 20px}
.list-chevron svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
[aria-expanded=true]>.list-chevron{transform:rotate(90deg)}
#lists-view .list-overview-entry[aria-expanded=true]{background:#eef3f5}
.workspace-list-actions{display:flex;gap:4px;border-top:1px solid #d1dadd;padding:0 4px}
#lists-view .workspace-list-actions button{font-size:12px;font-weight:500}
.workspace-delete{margin-left:auto}
.workspace-song-row{position:relative;overflow:hidden;border-top:1px solid #d1dadd}
.workspace-song-front{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;align-items:center;background:#fafbf8;transform:translateX(var(--list-swipe-x,0px));transition:transform .16s ease;touch-action:pan-y pinch-zoom}
.swiping .workspace-song-front{transition:none}
#lists-view .list-song-remove{position:absolute;right:0;top:0;bottom:0;width:80px;min-height:44px;border:0;border-radius:0;background:#a7373e;color:white;font-size:14px}
#lists-view .list-song-remove:hover{background:#8c2930}
#list-entry-dialog #list-entry-remove{display:block;margin-top:16px;border-top:1px solid #d1dadd;border-radius:0;color:#a12e36;min-height:44px}
#list-removal-undo:not([hidden]){position:fixed;z-index:75;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:8px 12px;background:#263b3d;color:#fff;border-radius:6px;box-shadow:0 3px 16px #0003;font-size:14px}
#lists-view #list-removal-restore{color:#fff;min-height:44px;flex-shrink:0;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.workspace-song-front{transition:none}}
#lists-view .workspace-song-entry{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:60px;padding:10px 12px;text-align:left;color:#233331}
.workspace-song-entry strong,.workspace-song-entry .song-meta{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-song-entry strong{font-size:16px;font-weight:600;line-height:1.3}
.workspace-song-entry .song-meta{font-size:12px}
#lists-view .workspace-song-row .favorite svg{width:20px;height:20px}
#lists-view .favorite[aria-pressed=true]{color:#466879}
#lists-view .favorite[aria-pressed=true] svg{fill:currentColor}
#lists-view .workspace-song-row button:disabled{opacity:.45;cursor:default;background:transparent}
#lists-view .order-song{touch-action:none}
.song-order-menu{position:fixed;z-index:70;min-width:160px;max-width:calc(100vw - 16px);padding:4px;background:#fff;border:1px solid #c2ced3;border-radius:6px;box-shadow:0 6px 24px #23333126}
.song-order-menu button{display:block;width:100%;min-height:44px;text-align:left;padding:8px 12px;border:0;border-radius:3px;font-size:14px;font-weight:400;color:#365867}
.song-order-menu button:hover,.song-order-menu button:focus-visible{background:#edf1f3}
.workspace-song-row.dragging{opacity:.5}.workspace-song-row.drop-before{box-shadow:inset 0 3px #536b7a}.workspace-song-row.drop-after{box-shadow:inset 0 -3px #536b7a}
.workspace-empty{padding:8px 12px;font-size:14px;color:#61716f}
@media(max-width:600px){.workspace-song-entry strong{font-size:14px}.workspace-song-entry .song-meta{font-size:11px}}

/* List order is independent of each List's song order. */
#lists-view .list-workspace-section .list-overview-row:has(.order-list){grid-template-columns:minmax(0,1fr) 44px 44px}
#lists-view .order-list{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#lists-view .order-list:disabled{opacity:.4;cursor:default}
#lists-view .order-list:active{cursor:grabbing;background:#e5eef2}
.list-workspace-section.dragging{position:relative;z-index:2;opacity:.8;box-shadow:0 4px 14px #23333130;user-select:none;-webkit-user-select:none}
.list-workspace-section.drop-before{box-shadow:inset 0 3px #536b7a}
.list-workspace-section.drop-after{box-shadow:inset 0 -3px #536b7a}

/* Files and Lists use the same explicit Library return artwork and color tokens. */
#files-view,#lists-view{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
.workspace-return{position:fixed;left:0;right:0;bottom:0;z-index:12;display:flex;padding:8px max(8px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#eeeee8;border-top:1px solid #d1dadd}
.workspace-return[hidden]{display:none}
.workspace-return{gap:8px}
.workspace-return .workspace-sibling{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid #b7cbd5;border-radius:4px;background:#f8fbfc;color:#365f7d}
.workspace-return .workspace-sibling svg{flex-shrink:0;width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover){.workspace-return .workspace-sibling:hover{background:#e5eef2}}
.workspace-return .workspace-sibling:active{background:#dce8ee}
.workspace-return .workspace-sibling:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}
:is(#files-view,#lists-view) .workspace-library{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:4px;background:var(--primary-blue);color:var(--primary-blue-text);border:0}
@media(hover:hover){:is(#files-view,#lists-view) .workspace-library:hover{background:var(--primary-blue-hover)}}
:is(#files-view,#lists-view) .workspace-library:active{background:var(--primary-blue-pressed)}
:is(#files-view,#lists-view) .workspace-library:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}
#files-view #add-music{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:14px;font-weight:600;background:#e5eef2;border:1px solid #b7cbd5;color:#365f7d;border-radius:4px}
#files-view #add-music:hover{background:#dce8ee}
@media print{.workspace-return{display:none!important}}

/* One-row phone Score toolbar. Existing controls keep their DOM/keyboard order. */
.score-view-icon{display:none}
@media screen and (max-width:600px){
 .masthead .toolbar,.pdf-score-open .masthead .toolbar{display:flex;flex-wrap:nowrap;overflow:visible;justify-content:space-between;gap:2px;padding:4px max(4px,env(safe-area-inset-right,0px)) calc(4px + var(--playing-safe-bottom)) max(4px,env(safe-area-inset-left,0px))}
 .masthead .toolbar .playing-controls,.masthead .toolbar .utility-controls{display:contents}
 body .masthead .toolbar :is(#songs,#reset,#score-size,#show-lyrics,#score-tools){position:static;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin:0;justify-self:auto}
 .masthead .toolbar .pdf-footer-tools-wrap{flex:0 0 44px;width:44px}
 body .masthead .toolbar #key{flex:0 1 auto;min-width:64px;width:auto;height:44px;margin:0;padding:0 3px;flex-direction:column;gap:0}
 .masthead #key-name{font-size:15px;line-height:20px}
 .masthead #key-signature{font-size:11px;line-height:13px;letter-spacing:0}
 .masthead #key .current-key-label{display:none}
 body .masthead .toolbar #score-size .score-view-icon{display:block;flex:none}
 #score-view-label,.masthead #score-size>svg:not(.score-view-icon){display:none}
}

/* Library navigation above a wide search with independent field preferences. */
#library .library-controls{display:flex;flex-direction:column;align-items:stretch}
#library .library-filter-row{flex-wrap:nowrap;gap:8px}
#library .library-filter-row #library-source{max-width:none;flex:0 1 auto}
#library #view-favorites{margin-left:auto}
#library .library-search-row{position:relative;display:flex;gap:8px;max-width:none;width:100%}
#library .library-search-row .search-box{flex:1 1 0;max-width:none}
#library-search-fields{display:none;position:absolute;right:0;top:calc(100% + 4px);z-index:65;min-width:156px;padding:4px;background:white;border:1px solid #c2ced3;border-radius:6px;box-shadow:0 6px 24px #23333126}
#library-search-fields.open{display:flex;flex-direction:column}
#library-search-fields label{min-height:44px;padding:0 7px;gap:5px;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer}
#library-search-fields label:hover{background:#edf1f3}
#library-search-fields input{accent-color:#365f7d;width:14px;height:14px;margin:0}
#library-search-fields label:focus-within{outline:2px solid #365867;outline-offset:-2px}
#library .library-search-row #library-search-options{display:flex;align-items:center;gap:5px;flex:none;width:auto;text-decoration:none;border:0;background:transparent;font-size:13px;font-weight:400;color:var(--library-accent)}
@media(max-width:600px){
 #library .library-filter-row{gap:2px}
 #library .library-filter-row #library-source{flex:1 1 0;min-width:0;padding-inline:2px;font-size:12px}
 #library .library-filter-row .sort-choice{flex:0 0 90px;width:90px}
 #library #library-sort-label{font-size:12px;padding-left:2px}
 #library .library-search-row #library-search-options{font-size:12px;padding-inline:4px}
 #library-search-fields label{font-size:14px}
}

/* One-tap Favorites uses the same star artwork and colors as song rows. */
#library #view-favorites{color:#61716f}
#view-favorites svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#library #view-favorites[aria-pressed=true]{color:#466879;background:#e5eef2}
#view-favorites[aria-pressed=true] svg{fill:currentColor}
#library #view-favorites:not(:disabled):hover{background:#eaf0f3;text-decoration:none}

/* Files identity stays compact; editable details never replace source identity. */
.files-heading{padding:10px 16px}
.files-heading h1{font-size:22px}
.files-heading .eyebrow{margin-bottom:2px}
#files-count{margin:10px 0 0;color:#536b7a;font-size:13px}
#import-description,#import-category,#import-composer,#import-arranger,#import-tags{display:block;width:100%;box-sizing:border-box;font:16px system-ui,sans-serif;min-height:44px;padding:8px;border:1px solid #b5c3c5;border-radius:4px;background:#fff;color:#233331;margin-bottom:12px}
#import-description{resize:vertical}
#import-details label{display:block;margin-bottom:5px}
#import-details #import-memberships label{display:flex;min-height:44px;gap:8px;align-items:center;font-weight:400}
.import-filename{font-size:13px;color:#536b7a;margin:12px 0}
#import-filename{overflow-wrap:anywhere;margin:4px 0}
#music-import.editing-file :is(label[for=music-file],#music-file,.setting-note,#import-preview,#import-summary,#import-warnings,label[for=import-page],#import-page){display:none}
#import-cancel{min-height:44px}

#metronome-mode{font:400 12px system-ui,sans-serif;color:#536b7a;padding:0 4px}

.files-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
#files-view #files-info{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:0;border-radius:50%;color:#fff;background:linear-gradient(110deg,var(--primary-blue),#237c7a);box-shadow:none}
#files-view #files-info:hover{filter:brightness(1.1)}
#files-view #files-info:focus-visible{outline:2px solid #245a9a;outline-offset:3px}
#files-info-dialog{padding:20px;max-height:calc(100dvh - 32px);font:14px/1.45 system-ui,sans-serif}
#files-info-dialog[open]{display:flex;flex-direction:column}
#files-info-dialog .dialog-heading{flex:none;align-items:center;gap:12px;padding-bottom:12px}
#files-info-dialog h2{font:600 20px/1.3 system-ui,sans-serif}
.files-info-content{overflow:auto;min-height:0}
#files-info-dialog h3{font:600 13px/1.4 system-ui,sans-serif;color:#365f7d;margin:16px 0 6px;letter-spacing:0}
#files-info-dialog h3:first-child{margin-top:0}
#files-info-dialog h4{font:600 14px/1.4 system-ui,sans-serif;margin:12px 0 4px}
#files-info-dialog ul{padding-left:22px;margin:4px 0 8px}
#files-info-dialog li{margin:3px 0}
#files-info-dialog p{margin:8px 0}
#files-info-dialog .files-info-note{margin-left:22px;color:#536b7a}
#files-info-dialog strong{font-weight:600}
@media(max-width:600px){#files-info-dialog{padding:16px;max-width:calc(100vw - 24px)}}

:root{--app-header-background:linear-gradient(110deg,#245A9A 0%,#3667A8 34%,#2D768A 61%,#237C7A 82%,#2F8B61 100%);}

#offline-music-dialog{width:420px;max-width:calc(100vw - 24px);padding:20px;border-radius:12px}
#offline-music-dialog h3{font-family:inherit;font-size:14px;font-weight:600;margin:16px 0 4px}
#offline-music-dialog p{font-size:14px;line-height:1.45;margin:6px 0 12px}
#offline-music-dialog progress{width:100%;height:12px;accent-color:#365f7d}
#offline-music-dialog .offline-actions{display:flex;justify-content:flex-end;gap:8px}
#offline-music-dialog button{min-height:44px;font-weight:500}

#pdf-offline-message{font-size:14px;line-height:1.45;color:#536b7a;margin:10px 0}
@media print{#pdf-offline-message,#offline-music-dialog{display:none!important}}

/* Score-owned navigation status; no space is reserved in the performance toolbar. */
@media screen{
 .masthead .toolbar,.pdf-score-open .masthead .toolbar{grid-template-columns:auto minmax(0,1fr)}
 .masthead .utility-controls{justify-self:center}
 #score-navigation{position:fixed;z-index:11;width:max-content;max-width:calc(100vw - 24px)}
 #score-navigation[hidden],body:is(.library-open,.lyrics-open,.song-loading) #score-navigation{display:none}
 #score-navigation-button{display:flex;align-items:flex-end;justify-content:flex-end;min-width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#344b58;font:500 12px/1.3 system-ui,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}
 .navigation-chip{display:flex;align-items:center;gap:5px;padding:5px 8px;background:#f0f3f1ed;border:1px solid #c4cecd99;border-radius:8px}
 #score-navigation-button svg{width:18px;height:18px;flex:none}
 #score-navigation-button[data-mode=pages] .navigation-vertical,#score-navigation-button:not([data-mode=pages]) .navigation-horizontal{display:none}
 #score-navigation-button:hover:not(:disabled) .navigation-chip,#score-navigation-button[aria-expanded=true] .navigation-chip{background:#e2eaec}
 #score-navigation-button:focus-visible{outline:2px solid #536b7a;outline-offset:2px}
 #score-navigation-menu{position:absolute;right:0;bottom:calc(100% + 4px);width:224px;max-width:calc(100vw - 24px);padding:6px;border:1px solid #c4cecd;border-radius:8px;background:#fafbf8;color:#233331;box-shadow:0 6px 22px #182d3426}
 #score-navigation-menu[hidden],#page-navigation-hint[hidden]{display:none}
 .navigation-menu-title{padding:7px 10px;font:500 12px/1.3 system-ui,sans-serif;color:#536b7a}
 #score-navigation-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;border:0;border-radius:4px;background:transparent;color:inherit;text-align:left;font:400 14px/1.3 system-ui,sans-serif;padding:8px}
 #score-navigation-menu [data-navigation]::before{content:"";width:12px;height:12px;border:1.5px solid #536b7a;border-radius:50%;flex:none}
 #score-navigation-menu [data-navigation][aria-checked=true]{background:#e6eef0}
 #score-navigation-menu [data-navigation][aria-checked=true]::before{background:#536b7a;box-shadow:inset 0 0 0 3px #e6eef0}
 #score-navigation-menu button:hover:not(:disabled){background:#eaf0f1}
 #page-navigation-hint{position:absolute;right:0;bottom:calc(100% + 8px);width:280px;max-width:calc(100vw - 32px);padding:10px 12px;margin:0;background:#f5f7f4f5;border:1px solid #c4cecd;border-radius:8px;color:#344b58;font:400 13px/1.4 system-ui,sans-serif;pointer-events:none;box-shadow:0 3px 12px #182d341a}

}
@media print{#score-navigation{display:none!important}}

/* In Page Turns the score owns single-finger taps/swipes; preserve pinch zoom.
   Continuous and the surrounding page retain native scrolling. Annotation owns
   its own drawing gestures and is excluded from this rule. */
@media screen{body.page-navigation:not(.pdf-annotation-active) #score{touch-action:pinch-zoom}}

/* Lists hierarchy: one open parent, indented information, fixed action columns. */
#lists-view .list-workspace-section.is-open>.list-overview-row{background:#d5e3e6}
#lists-view .list-overview-entry[aria-expanded=true]{background:transparent}
#lists-view .list-overview-entry[aria-expanded=true]:hover{background:#cbdce1}
#lists-view .workspace-song-entry{padding-left:16px}
.workspace-song-entry strong,.workspace-song-entry .song-meta{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
.workspace-song-row.dragging{position:relative;z-index:4;opacity:.95;background:#e1edf0;box-shadow:0 4px 14px #23333130;pointer-events:none}
.workspace-song-row.dragging .order-song{pointer-events:auto}
@media(max-width:600px){#lists-view .workspace-song-entry{padding-left:8px}.workspace-list-actions{gap:0}#lists-view .workspace-list-actions button{padding:8px}}

/* Library-only quick access; Score and Lyrics footer geometry is independent. */
#library{--library-quick-inset:0px;--library-quick-safe-bottom:env(safe-area-inset-bottom,0px);padding-bottom:calc(80px + var(--library-quick-safe-bottom) + var(--library-quick-inset))}
.library-quick-access{position:fixed;left:0;right:0;bottom:var(--library-quick-inset);z-index:12;display:flex;gap:8px;padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + var(--library-quick-safe-bottom)) max(8px,env(safe-area-inset-left,0px));background:#eeeee8;border-top:1px solid #d1dadd}
.library-quick-access button{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:8px 12px;border:1px solid #b7c8d5;border-radius:8px;background:#f7f9fa;color:#365b72;font:500 14px system-ui,sans-serif}
.library-quick-access svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.library-quick-access button:hover{background:#eaf2f8;border-color:#8da8bd}
.library-quick-access button:active{background:#dce9f1}
#clear-favorites-dialog{max-width:min(420px,calc(100vw - 32px))}
#clear-favorites-dialog h2{font-weight:600}
#clear-favorites-dialog button{min-height:44px;font-weight:500}
#clear-favorites-confirm{background:#365b72;color:white;border-color:#365b72}
@media print{.library-quick-access{display:none!important}}

/* Shared Library theme controls retain the established header gradient. */
.library-home-heading{position:relative;padding-right:68px}
.library-home-heading .library-theme-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%)}
:is(#library-home,#library) .library-theme-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:white}
#library .library-heading{padding-block:0;align-items:center}
#library .library-heading h1{min-width:0}
#library .library-heading #library-count{margin-left:auto}
:is(#library-home,#library) .library-theme-toggle:hover{background:#ffffff1c}
:is(#library-home,#library) .library-theme-toggle:active{background:#ffffff30}
:is(#library-home,#library) .library-theme-toggle:focus-visible{outline:2px solid white;outline-offset:-3px}
.library-theme-toggle .pdf-mobile-theme-swatch{--line:#b7cce0;display:block}
@media screen{
 :root[data-library-theme=dark]{--library-dark-page:#151f29;--library-dark-row:#202d38;--library-dark-panel:#263642;--library-dark-border:#465b6c;--library-dark-text:#edf3f7;--library-dark-muted:#b7c9d7;--library-dark-active:#344f62}
 :root[data-library-theme=dark]:has(#library-home:not([hidden]),#library:not([hidden])),[data-library-theme=dark] body:has(#library-home:not([hidden]),#library:not([hidden])){background:var(--library-dark-page)}
 [data-library-theme=dark] :is(#library-home,#library){color:var(--library-dark-text);color-scheme:dark;--library-accent:var(--library-dark-muted)}
 [data-library-theme=dark] #library-home nav{--home-blue:#223448;--home-teal:#233b40;--home-green:#293b36}
 [data-library-theme=dark] #library-home nav>button{background:var(--library-dark-row);color:var(--library-dark-text);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #library-home nav>button[data-home-source]:not([data-home-source=all]){background:linear-gradient(90deg,var(--home-blue),var(--home-teal) 60%,var(--home-green))}
 [data-library-theme=dark] #library-home nav>:is(#home-files,#home-lists){background:linear-gradient(90deg,#30303d,#292b38)}
 [data-library-theme=dark] #library-home small{color:var(--library-dark-muted)}
 [data-library-theme=dark] #library-home nav>button:hover{filter:brightness(1.12)}
 [data-library-theme=dark] #library-home nav>button:active{filter:brightness(1.2)}
 [data-library-theme=dark] #library :is(.library-header-panel,.library-quick-access){background:var(--library-dark-panel);border-color:var(--library-dark-border);box-shadow:none}
 [data-library-theme=dark] #library :is(.library-filter-row,.library-search-row,.library-quick-access) :is(button,select){color:var(--library-dark-muted)}
 [data-library-theme=dark] #library :is(#library-search,.library-quick-access button){background:#172530;color:var(--library-dark-text);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #library #library-search::placeholder{color:#a8becf;opacity:1}
 [data-library-theme=dark] #library #library-search:focus{border-color:#83baf0;box-shadow:0 0 0 1px #83baf0}
 [data-library-theme=dark] #library :is(.library-column-headings,.library-row){border-color:var(--library-dark-border)}
 [data-library-theme=dark] #library .library-column-headings{color:var(--library-dark-muted)}
 [data-library-theme=dark] #library .library-row{background:var(--library-dark-row)}
 [data-library-theme=dark] #library .song-entry{color:var(--library-dark-text)}
 [data-library-theme=dark] #library :is(.song-meta,.song-number,.empty-library,.favorite){color:var(--library-dark-muted)}
 [data-library-theme=dark] #library :is(.favorite,#view-favorites)[aria-pressed=true]{color:#9acded;background:var(--library-dark-active)}
 [data-library-theme=dark] #library :is(.song-entry,.favorite,.library-quick-access button):not(:disabled):hover{background:var(--library-dark-active)}
 [data-library-theme=dark] :is(#library-source-menu,#library-more-dialog,#library-search-fields){background:var(--library-dark-panel);color:var(--library-dark-text);border-color:var(--library-dark-border);color-scheme:dark}
 [data-library-theme=dark] :is(#library-source-menu,#library-more-dialog)>button{color:var(--library-dark-text)}
 [data-library-theme=dark] :is(#library-source-menu,#library-more-dialog) :is(hr,.source-menu-heading){border-color:var(--library-dark-border);color:var(--library-dark-muted)}
 [data-library-theme=dark] :is(#library-source-menu,#library-more-dialog)>button:hover,[data-library-theme=dark] #library-search-fields label:hover{background:var(--library-dark-active)}
 [data-library-theme=dark] :is(#library-source-menu,#library-more-dialog)>button[aria-checked=true]{background:var(--library-dark-active)}
 [data-library-theme=dark] #library-search-fields input{accent-color:#83baf0}
 [data-library-theme=dark] :is(#library-home nav,#library,#library-source-menu,#library-more-dialog,#library-search-fields) :is(button,input,select,label):focus-visible,[data-library-theme=dark] #library-search-fields label:focus-within{outline:2px solid #83baf0;outline-offset:-2px}
 [data-library-theme=dark] #library .library-filter-row :is(#library-source,#library-sort-label,#view-favorites){color:var(--library-dark-muted)}
 [data-library-theme=dark] #library .library-filter-row :is(#library-source,.sort-choice):is(:hover,:focus-within){background:var(--library-dark-active)}
 [data-library-theme=dark] #library .library-filter-row #view-favorites[aria-pressed=true]{color:#9acded;background:var(--library-dark-active)}
 [data-library-theme=dark] #library .library-filter-row .sort-choice::after{color:var(--library-dark-muted)}
 [data-library-theme=dark] #library :disabled{opacity:.45;cursor:default}
}

/* Playback is attached to the identity, independently of centered song navigation. */
@media screen{
 .score-identity-header .score-title-block{width:100%;max-width:100%;justify-self:stretch}
 .score-identity-header .score-title-block .song-playback{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;justify-self:start}
 .score-identity-header .score-title-block:has(.song-playback){grid-template-columns:minmax(0,1fr) 44px}
 .score-identity-header .score-title-block h1{margin:0}
 .score-song-navigation>span{min-width:32px;text-align:center;font:500 13px system-ui,sans-serif;font-variant-numeric:tabular-nums}
 .score-identity-header .song-playback:not(:disabled):hover{background:#ffffff1f}
 .score-identity-header .song-playback:focus-visible{outline:2px solid white;outline-offset:-3px}
}

@media screen and (max-width:600px){
 .score-identity-header{padding-bottom:3px}
 .score-identity-header .score-title-block{grid-template-rows:minmax(32px,auto) auto}
 body .score-identity-header .score-title-block h1{align-self:end}
 .score-identity-header .score-title-block .song-playback{grid-row:1 / span 2}
 .score-identity-header #score-source{position:static;min-width:0;margin:0;font-size:10px}
}

/* Phone-only status lane: sheet ink ends above the chip, never behind it. */
@media screen and (max-width:600px){
 #playing-view .score-paper{clip-path:inset(0 0 var(--phone-paper-clip,0px) 0)}
 #playing-view .score-paper::after{bottom:calc(var(--phone-paper-clip,0px) + var(--score-frame-gap))}
 #playing-view .score-paper::before{content:"";position:absolute;left:0;right:0;bottom:var(--phone-paper-clip,0px);border-bottom:var(--score-frame-outer-width) solid var(--score-frame-outer);pointer-events:none}
 #playing-view{padding-bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 66px)}
 body.continuous-return-visible #playing-view{padding-bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 66px + var(--return-clearance))}
 #score-navigation-button{align-items:center}
 #return-start{left:auto;right:max(12px,env(safe-area-inset-right,0px))}
 #page-turn-feedback{position:fixed;padding:5px 8px;font-size:16px;height:44px;display:flex;align-items:center}
 #page-turn-feedback[hidden]{display:none}
}

/* Contextual Score preferences; no persistent Settings surface. */
.masthead #score-tools-menu.sound-open > button{display:none}
#score-tools-menu:is(.sound-open,.export-open) > .score-tools-checkbox{display:none}
#score-sound-options[hidden]{display:none}
#score-tools-menu .score-tools-checkbox{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 10px;color:inherit;font:500 14px/1.4 system-ui;border-radius:7px;cursor:pointer}
#score-tools-menu .score-tools-checkbox[hidden]{display:none}
.score-tools-checkbox:focus-visible{outline:2px solid #245a9a;outline-offset:-2px}
#score-sound-options [aria-checked=true]{background:#e5eef2}
#score-sound-options [aria-checked=true]::after{content:'✓';margin-left:auto}
#auto-options{padding:8px;font:400 13px system-ui}
#auto-options label{display:block}
#auto-options input{width:100%;min-height:44px}
#score-navigation-menu #navigation-strip{padding:0;background:transparent;flex-wrap:wrap;gap:4px}
#score-navigation-menu #auto-toggle{width:100%;min-height:44px}
#score-navigation-menu #speed-summary{display:none}

/* Explicit offline retention is quiet metadata, with normal accessible action targets. */
.offline-saved-badge{display:inline-flex;vertical-align:middle;margin-left:6px;color:inherit}
.offline-saved-badge svg{flex:none}
.list-offline-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;color:var(--muted,#536b7a);font-size:13px}
.list-offline-controls button{min-height:44px;max-width:100%;font-weight:500}
#score-offline-status{font-size:12px;white-space:normal;max-width:230px;padding:4px 10px;margin:0;color:inherit}
.masthead #score-tools-menu:is(.sound-open,.export-open)>#score-offline-status{display:none}
#library-saved-filter[aria-checked=true]::before{content:'✓ ';}

/* Screen-only PDF stitching; original page canvases remain intact for print/marks. */
#score.pdf-continuous>.pdf-page-frame{margin-bottom:12px}
.pdf-footer-segment{display:block;width:100%;height:auto;margin:16px auto 0}
.pdf-footer-segment[hidden]{display:none}
@media screen{.pdf-score-open .score-page-dark .pdf-footer-segment{filter:invert(1) hue-rotate(180deg)}}
@media print{.pdf-footer-segment{display:none!important}}

/* Add-songs source checklist only; source identities and Library controls are shared. */
.list-picker-source-control{min-width:0}
#list-picker-source{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;font-size:13px;text-align:left}
#list-picker-source>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#list-picker-sources{position:fixed;z-index:20;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:6px;background:#f8fafb;color:#233331;border:1px solid #a9bcc7;border-radius:8px;box-shadow:0 5px 18px #182f4026}
#list-picker-sources[hidden]{display:none}
#list-picker-sources label{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 8px;font-size:14px;cursor:pointer}
#list-picker-sources input{width:22px;height:22px;flex:none;accent-color:#536b7a}
#list-picker-sources label:hover{background:#e8eef2}
#list-picker-sources label:focus-within{outline:2px solid #536b7a;outline-offset:-2px}
#list-picker-source-status{margin:4px 8px;font-size:13px}

/* Expanded Lists: one light command row; secondary actions live in a menu. */
#lists-view .workspace-list-actions{align-items:center;flex-wrap:nowrap;gap:4px;padding:0 4px;min-height:44px}
#lists-view .workspace-list-actions .list-actions-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:auto;min-width:76px;height:44px;flex:0 0 auto;padding:0 12px}
.list-actions-toggle svg{width:22px;height:22px;fill:currentColor;vertical-align:middle}
#lists-view .workspace-list-actions .workspace-add{flex-shrink:0;white-space:nowrap;font-size:13px;font-weight:600}
.workspace-list-actions .list-offline-status{margin-left:auto;padding:0 4px;color:#61716f;font-size:12px;white-space:nowrap}
.list-command-menu{position:fixed;z-index:80;width:250px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:4px;background:#fff;border:1px solid #c2ced3;border-radius:6px;box-shadow:0 6px 24px #23333126}
.list-command-menu button{display:block;width:100%;min-height:44px;border:0;border-radius:3px;padding:8px 12px;text-align:left;font-size:14px;color:#365867}
.list-command-menu button[hidden]{display:none}
.list-command-menu button:hover,.list-command-menu button:focus-visible{background:#edf1f3}
.list-command-menu hr{border:0;border-top:1px solid #d1dadd;margin:4px}
.list-command-menu .workspace-delete{color:#a12e36;margin:0}

/* Candidate ordering is separate from the saved List's manual order. */
.list-picker-controls{grid-template-columns:minmax(0,1fr) auto auto}
#list-picker-target{grid-column:1/3}
#list-picker-count{grid-column:3}
#list-picker-sort{min-height:44px;min-width:110px;padding:6px;border:1px solid #c2cdc6;border-radius:6px;background:#fff;color:#365f7d}
@media(max-width:600px){.list-picker-controls #list-picker-sort{font-size:16px!important;min-width:122px}}

#score-size-options button[hidden]{display:none}
@media screen{body.pdf-score-open.pdf-key-available .masthead #key{display:flex!important}}

/* Files metadata stays in the editor; browsing shows only identity and format. */
.files-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}
#files-search{flex:1 1 220px;min-width:0;min-height:44px;font-size:16px}
.files-controls select{min-height:44px;font-size:16px;max-width:160px}
#files-search-fields{position:relative}
#files-search-fields summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 10px}
#files-search-fields>div{position:absolute;z-index:10;top:100%;right:0;width:200px;max-height:50vh;overflow:auto;background:var(--paper,#fafbf8);border:1px solid #aabbbb;border-radius:6px;box-shadow:0 4px 12px #0002;padding:4px}
#files-search-fields label{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 8px}
.file-row,.file-columns{grid-template-columns:minmax(0,1fr) 110px 44px}
.file-columns{display:grid;padding:8px 0;color:#53675d;font-size:13px}
.file-type{font-size:13px;padding:8px}
#lists-view .edit-list-entry svg,#lists-view .edit-list svg{width:20px;height:20px}
@media(max-width:600px){.file-columns{display:none}.file-row{grid-template-columns:minmax(0,1fr) 44px}.file-entry{grid-column:1;grid-row:1}.file-type{grid-column:1;grid-row:2;padding-top:0}.file-edit{grid-column:2;grid-row:1/3}#files-search{flex-basis:100%}}

.file-columns>span{padding-left:8px}
@media(max-width:600px){#files-search-fields>div{left:0;right:auto}}

#home-search-form{display:flex;gap:8px;margin-top:12px}
#home-search{flex:1;min-width:0;min-height:44px;padding:10px 12px;font:16px system-ui,sans-serif;border:1px solid #b5c3c5;border-radius:6px;background:#fff;color:#233331}
#home-search-form button{min-height:44px;padding:8px 12px}
#home-search-form :focus-visible{outline:2px solid #536b7a;outline-offset:2px}
[data-library-theme=dark] #home-search{background:var(--library-dark-row);color:var(--library-dark-text);border-color:var(--library-dark-border)}
[data-library-theme=dark] #home-search-form button{color:var(--library-dark-text)}
[data-library-theme=dark] #home-search-form :focus-visible{outline-color:#83baf0}
[data-library-theme=dark] #home-search::placeholder{color:#afbecb;opacity:1}

#home-about{display:block;min-height:44px;min-width:44px;margin:8px 0 0 auto;padding:8px 12px;font-size:14px;border:0;border-radius:0;background:transparent;box-shadow:none;text-decoration:none;text-underline-offset:3px}
#home-about:hover,#home-about:focus-visible{background:transparent;text-decoration:underline}
#home-about:focus-visible{outline:none;text-decoration-thickness:2px}

/* Text items share List rows and reorder handles. */
#list-membership{border:0;border-top:1px solid #ccd6da;padding:12px 0 0;margin:12px 0;min-width:0}
#list-membership legend{font-size:14px;padding-top:12px}#list-membership-items{max-height:38vh;overflow:auto}
.list-membership-row{display:flex!important;align-items:center;gap:10px;min-height:44px;margin:0!important;overflow-wrap:anywhere}.list-membership-row input{flex:0 0 auto;width:20px;height:20px}.list-membership-row span{min-width:0}
#list-description-input{height:44px;field-sizing:content}
#list-name-dialog,#list-text-dialog,#list-text-reader{max-height:calc(100dvh - 32px);overflow:auto}
#list-text-dialog,#list-text-reader{width:680px;max-width:calc(100vw - 24px);box-sizing:border-box;font-family:system-ui,sans-serif}
#list-text-dialog h2,#list-text-reader h2{font-size:20px;overflow-wrap:anywhere}
#list-text-title{display:block;width:100%;box-sizing:border-box;font:16px system-ui;min-height:44px;margin:6px 0 12px}
.list-text-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:10px}
#list-text-dialog button,#list-text-reader button{font:inherit;min-height:44px;padding:8px;box-sizing:border-box;color:#365f7d;background:transparent;border:1px solid #ccd6da;border-radius:4px}
.list-rich-text{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.list-rich-text img{display:block;max-width:100%;height:auto;margin:8px 0}.list-rich-text p{margin:.5em 0}
#list-text-content{min-height:180px;max-height:40vh;overflow:auto;padding:12px;border:1px solid #b5c3c5;border-radius:4px}#list-text-error{color:#a12e36}#list-text-remove{color:#a12e36!important;margin-top:12px}
#list-text-dialog :focus-visible,#list-text-reader :focus-visible{outline:2px solid #536b7a;outline-offset:2px}
@media print{#list-text-dialog,#list-text-reader{display:none!important}}

/* Compact artwork with full-size touch targets. */
.list-text-toolbar{gap:4px}.list-text-toolbar button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px}
.list-text-toolbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.list-text-toolbar b{font-size:21px}

/* Repeated lyrics stay close to each verse without competing with its text. */
.lyrics-chorus{margin-top:4px}
.lyrics-chorus summary{display:flex;align-items:center;gap:9px;min-height:44px;width:fit-content;padding:0 8px 0 0;cursor:pointer;list-style:none;font:600 14px/1.4 system-ui;color:var(--lyrics-muted);border-radius:4px}
.lyrics-chorus summary::-webkit-details-marker{display:none}
.lyrics-chorus summary::before{content:"";width:7px;height:7px;border-right:1.75px solid currentColor;border-bottom:1.75px solid currentColor;transform:rotate(-45deg);margin:0 4px;flex:none}
.lyrics-chorus[open]>summary::before{transform:rotate(45deg)}
.lyrics-chorus summary:hover{color:var(--lyrics-ink)}
.lyrics-chorus summary:focus-visible{outline:2px solid var(--lyrics-frame-outer);outline-offset:2px}
.lyrics-chorus>p{padding:0 0 4px 24px}

/* Reviewer-facing Library cards and quiet legal footer, using the existing palette. */
#library-home nav{display:grid;gap:10px;margin-top:16px}
#library-home nav>button{border:1px solid #bdccd2;border-radius:12px;box-shadow:0 2px 5px #2346540d;padding:14px 18px;transition:box-shadow .15s ease,filter .15s ease,transform .15s ease}
#library-home nav>button[data-home-source=all]{background:#f0f4f6}
#library-home nav>button:focus-visible{outline:3px solid #365f7d;outline-offset:3px}
@media(hover:hover){#library-home nav>button:hover{box-shadow:0 4px 10px #2346541c;transform:translateY(-1px)}}
#library-home nav>button:active{transform:translateY(1px);box-shadow:0 1px 2px #23465412}
.library-home-footer{display:flex;justify-content:flex-end;border-top:1px solid #d6e0e3;margin-top:18px;padding-top:4px}
#home-about{margin:0;border-radius:6px;color:#536b7a}
#home-about:focus-visible{outline:2px solid #365f7d;outline-offset:1px}
[data-library-theme=dark] #library-home nav>button[data-home-source=all]{background:#293640}
[data-library-theme=dark] .library-home-footer{border-color:var(--library-dark-border)}
@media(prefers-reduced-motion:reduce){#library-home nav>button{transition:none}}

/* Home composition: source cards above the shared workspace navigation family. */
@media screen{
 :root:not([data-library-theme=dark]):has(#library-home:not([hidden])),:root:not([data-library-theme=dark]) body:has(#library-home:not([hidden])){background:#e9eff3}
}
#library-home{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
#library-home nav{gap:8px;--home-blue:#d0e0ef;--home-teal:#cce3e4;--home-green:#d4e6dc}
#library-home nav>button{border-color:#9fb6c4;box-shadow:0 2px 4px #23465414}
#library-home nav>button[data-home-source=all]{background:#e7eef3;border-color:#b0c2ce}
#library-home nav>:is(#home-lists,#home-files){background:linear-gradient(90deg,#dcd5eb,#d5cee5);border-color:#b2a5c7}
@media(max-width:600px),(min-width:1100px){#library-home nav{gap:6px}#library-home nav>button{padding:10px 16px;min-height:68px}}
.library-home-heading #home-about{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;margin:0;border:0;border-radius:8px;color:#fff;background:transparent}
#home-about svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.library-home-heading #home-about:hover{background:#ffffff1c;text-decoration:none}
.library-home-heading #home-about:focus-visible{outline:2px solid white;outline-offset:-3px}
#library-home .library-home-footer{position:fixed;left:0;right:0;bottom:0;z-index:12;margin:0;padding:8px max(12px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:#edf2f5;border-top:1px solid #b8cbd4;box-shadow:0 -2px 8px #23465408}
.home-toolbar{display:flex;gap:10px;align-items:center;width:100%;max-width:1032px;margin:auto}
#library-home .home-toolbar button{position:static;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid #adc3d0;border-radius:8px;background:#f8fbfc;color:#365f7d}
.home-toolbar button svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#library-home .home-toolbar #home-settings{margin-left:auto}
#library-home .home-toolbar button:hover{background:#dbe8ef}
#library-home .home-toolbar button:active{box-shadow:inset 0 1px 3px #23465430}
#library-home .home-toolbar button:focus-visible{outline:2px solid #245a9a;outline-offset:2px}
[data-library-theme=dark] #library-home nav>button{border-color:#526873;box-shadow:0 2px 4px #0002}
[data-library-theme=dark] #library-home nav>:is(#home-lists,#home-files){background:linear-gradient(90deg,#3d374d,#343248);border-color:#675d7a}
[data-library-theme=dark] #library-home .library-home-footer{background:var(--library-dark-panel);border-color:var(--library-dark-border)}
[data-library-theme=dark] #library-home .home-toolbar button{background:#233642;color:#d4e8f2;border-color:#526873}
[data-library-theme=dark] #library-home .home-toolbar button:hover{background:#375568}
[data-library-theme=dark] #library-home .home-toolbar button:focus-visible{outline-color:#83baf0}

/* Home Info: two existing help destinations, using the Library menu treatment. */
:is(#home-info-menu,#home-settings-menu){position:absolute;right:12px;top:calc(100% - 4px);z-index:20;width:244px;max-width:calc(100vw - 40px);padding:5px;background:#fafcfd;color:#284f66;border:1px solid #b6cbd5;border-radius:10px;box-shadow:0 6px 20px #23465426}
:is(#home-info-menu,#home-settings-menu)[hidden]{display:none}
:is(#home-info-menu,#home-settings-menu) button{display:block;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:6px;text-align:left;background:transparent;color:inherit;font:500 14px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:is(#home-info-menu,#home-settings-menu) button[hidden]{display:none}
:is(#home-info-menu,#home-settings-menu) button:hover{background:#e5eff3}
:is(#home-info-menu,#home-settings-menu) button:focus-visible{background:#e5eff3;outline:2px solid #365f7d;outline-offset:-2px}
#home-about[aria-expanded=true]{background:#ffffff25}
[data-library-theme=dark] :is(#home-info-menu,#home-settings-menu){background:var(--library-dark-panel);color:var(--library-dark-text);border-color:var(--library-dark-border)}
[data-library-theme=dark] :is(#home-info-menu,#home-settings-menu) button:is(:hover,:focus-visible){background:#354d57;outline-color:#83baf0}

/* Explicit performance focus; visibility preserves pagination and footer reservation. */
@media screen{
 body .masthead .score-focus-control{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid #b7c8d5;border-radius:8px;background:#f7f9fb;color:#365b72}
 .score-focus-control svg{width:24px;height:24px}
 body .masthead .score-focus-control:hover{background:#eaf2f8;border-color:#8da8bd}
 .score-focus-control:focus-visible{outline:2px solid #245a9a;outline-offset:2px}
 .masthead.controls-hidden .toolbar{visibility:hidden;pointer-events:none}
 body .masthead.controls-hidden{background:transparent;border-color:transparent;box-shadow:none}
 #score-show-controls{position:absolute;right:max(4px,env(safe-area-inset-right,0px));bottom:calc(4px + var(--playing-safe-bottom))}
 body .masthead #score-show-controls[hidden]{display:none}
}
@media print{.score-focus-control{display:none!important}}

/* One Library destination treatment across every shared navigation surface.
   Override legacy workspace/theme button surfaces, including hover states. */
body button.library-nav{background:var(--app-header-background)!important;color:#fff!important}
@media(hover:hover){body button.library-nav:not(:disabled):hover{filter:brightness(1.07)}}
body button.library-nav:not(:disabled):active{filter:brightness(.9)}
body button.library-nav:focus-visible{outline:2px solid #245a9a;outline-offset:2px}
[data-library-theme=dark] body button.library-nav:focus-visible{outline-color:#83baf0}

/* Reusable quiet dialog/menu palette; body/legal copy stays on a plain surface. */
:root{--popup-surface:#fafcfd;--popup-ink:#284f66;--popup-border:#b9ccd4;--popup-heading:#f1f6f7;--popup-hover:#e1edef;--popup-focus:#365f7d;--popup-muted:#536b7a}
[data-library-theme=dark]{--popup-surface:var(--library-dark-panel);--popup-ink:var(--library-dark-text);--popup-border:var(--library-dark-border);--popup-heading:#223b42;--popup-hover:#354d57;--popup-focus:#83baf0;--popup-muted:#bbced7}
dialog.app-dialog{width:520px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--popup-border);border-radius:12px;background:var(--popup-surface);color:var(--popup-ink);box-shadow:0 12px 40px #173e3b26}
#home-screen-dialog{width:420px}
dialog.app-dialog .dialog-heading{align-items:center;margin:-24px -24px 18px;padding:14px 20px;border-top:3px solid #237c7a;border-bottom:1px solid var(--popup-border);background:var(--popup-heading);gap:12px}
dialog.app-dialog h2{font:600 20px/1.3 system-ui,sans-serif;margin:0;color:var(--popup-ink)}
dialog.app-dialog h3{font:600 15px/1.4 system-ui,sans-serif;color:var(--popup-ink);margin:20px 0 4px;padding-top:12px;border-top:1px solid var(--popup-border)}
dialog.app-dialog .dialog-heading+h3{border-top:0;padding-top:0;margin-top:0}
dialog.app-dialog p,dialog.app-dialog li{font-size:14px;line-height:1.6}
dialog.app-dialog p{margin:6px 0 12px}
dialog.app-dialog .setting-note{color:var(--popup-muted)}
dialog.app-dialog .close{flex:none;min-width:44px;min-height:44px;border:1px solid var(--popup-border);border-radius:8px;background:var(--popup-surface);color:var(--popup-ink)}
dialog.app-dialog .close:hover{background:var(--popup-hover);border-color:var(--popup-focus)}
dialog.app-dialog :focus-visible{outline:2px solid var(--popup-focus);outline-offset:2px}
dialog.app-dialog .dialog-primary{min-height:44px;padding:10px 16px;border:1px solid #237c7a;border-radius:8px;background:#276e70;color:#fff;font:600 14px/1.4 system-ui,sans-serif}
dialog.app-dialog .dialog-primary:hover{background:#205f61}
[data-library-theme=dark] dialog.app-dialog{color-scheme:dark}
:is(#home-info-menu,#home-settings-menu){background:var(--popup-surface);color:var(--popup-ink);border-color:var(--popup-border);box-shadow:0 8px 24px #173e3b26;padding:6px}
:is(#home-info-menu,#home-settings-menu) button:is(:hover,:focus-visible){background:var(--popup-hover);outline-color:var(--popup-focus)}

/* A stable edge anchor in both focus states; the toolbar reserves its target. */
@media screen{
 body .masthead .toolbar{padding-right:calc(52px + env(safe-area-inset-right,0px))}
 body .masthead .score-focus-control{position:absolute;right:max(4px,env(safe-area-inset-right,0px));bottom:calc(4px + var(--playing-safe-bottom))}
 body .masthead .score-focus-control[hidden]{display:none}
 body.focus-scroll-viewport .masthead{pointer-events:none}
 body.focus-scroll-viewport #score-show-controls{pointer-events:auto}
 /* Expose already rendered content. Keep DOM sizes, scroll extent and engraving budgets. */
 body.focus-scroll-viewport :is(#score,#source-credits,#original-key-reference),body.focus-scroll-viewport #playing-view .score-paper{clip-path:none}
 body.focus-scroll-viewport .return-start{width:44px;height:44px;border:0;border-radius:0;background:transparent;box-shadow:none}
 body.focus-scroll-viewport #return-start{right:0}
 body.focus-scroll-viewport #return-start-left{left:0}
 body.focus-scroll-viewport .return-start::before{content:"";position:absolute;top:4px;bottom:4px;width:18px;background:#f7f9fbe6;border:1px solid #9cb3bf}
 body.focus-scroll-viewport #return-start::before{right:0;border-right:0;border-radius:6px 0 0 6px}
 body.focus-scroll-viewport #return-start-left::before{left:0;border-left:0;border-radius:0 6px 6px 0}
 body.focus-scroll-viewport .return-start svg{position:absolute;top:15px;width:14px;height:14px}
 body.focus-scroll-viewport #return-start svg{right:2px}
 body.focus-scroll-viewport #return-start-left svg{left:2px}
 body.scroll-status-redundant #score-navigation{visibility:hidden;pointer-events:none}
 body #score-navigation.auto-return-status{left:50%;right:auto!important;transform:translateX(-50%);bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 8px)!important}
 body.focus-scroll-viewport #score-navigation.auto-return-status{bottom:calc(4px + var(--playing-safe-bottom) + var(--footer-viewport-inset))!important}
 body #score-navigation.auto-return-status #score-navigation-menu{right:auto;left:50%;transform:translateX(-50%)}
}

/* Lightweight toolbar selectors, shared by Lists and Files (native select retained). */
body :is(#lists-view,#files-view) .toolbar-selector{min-height:44px;min-width:44px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;padding:0 12px;font:500 14px/1.4 system-ui,sans-serif;box-shadow:none;cursor:pointer}
body :is(#lists-view,#files-view) .toolbar-selector:hover{background:#365f7d0d}
body :is(#lists-view,#files-view) .toolbar-selector:is(:active,[aria-expanded=true]){background:#365f7d1c}
body :is(#lists-view,#files-view) .toolbar-selector:focus-visible{outline:2px solid #365f7d;outline-offset:2px}
[data-library-theme=dark] body :is(#lists-view,#files-view) .toolbar-selector:is(:hover,:active,[aria-expanded=true]){background:#ffffff14}
[data-library-theme=dark] body :is(#lists-view,#files-view) .toolbar-selector:focus-visible{outline-color:#83baf0}
.workspace-song-entry strong .offline-saved-badge{color:#38776f;vertical-align:baseline;white-space:nowrap}
[data-library-theme=dark] .workspace-song-entry strong .offline-saved-badge{color:#98d1cf}
@media screen{
 .score-header-home{display:flex;align-items:flex-start}
 .score-library-cue{font:500 10px/12px system-ui,sans-serif;letter-spacing:.01em;color:#e0eef5;white-space:nowrap}
 body .score-identity-header .score-title-block h1{padding-top:14px}
 .score-identity-header .score-header-home:focus-visible{outline:2px solid #fff;outline-offset:2px}
}

/* List status is text, not a checkbox or an action. Phone Music badges stay explicit. */
.workspace-song-entry .song-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.workspace-song-entry .song-meta .offline-saved-badge{display:inline-block;margin:0;padding:1px 6px;border:0;border-radius:4px;background:#e5f0ed;color:#27675f;font:500 11px/1.4 system-ui,sans-serif;white-space:nowrap;cursor:default}
[data-library-theme=dark] .workspace-song-entry .song-meta .offline-saved-badge{background:#28463f;color:#bce1d6}
.list-item-type svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lyric-lines{max-inline-size:58ch;text-wrap:pretty}
.lyric-phrase{display:block;white-space:pre-line}
/* Search fields use the existing restrained workspace control palette. */
:is(#files-search,#texts-search){border:1px solid #b7cbd5;border-radius:8px;padding:10px 12px;background:#fafcfd;color:#284f66;font:16px/1.4 system-ui,sans-serif;min-height:44px}
:is(#files-search,#texts-search):focus-visible{outline:2px solid #365f7d;outline-offset:2px}
[data-library-theme=dark] :is(#files-search,#texts-search){background:var(--library-dark-panel);color:var(--library-dark-text);border-color:var(--library-dark-border)}
[data-library-theme=dark] :is(#files-search,#texts-search):focus-visible{outline-color:#83baf0}

/* Carry the existing Library palette through its three companion workspaces. */
#texts-view .lists-heading{background:var(--app-header-background);color:white}
dialog.app-dialog>h2{margin:-24px -24px 18px;padding:18px 24px;border-top:3px solid #237c7a;border-bottom:1px solid var(--popup-border);background:var(--popup-heading)}
#list-text-title{padding:10px 12px;border:1px solid var(--popup-border);border-radius:8px;background:var(--popup-surface);color:var(--popup-ink)}
#list-text-dialog #list-text-save{background:#276e70;color:white;border-color:#237c7a;font-weight:600}
@media screen{
 [data-library-theme=dark]:has(:is(#lists-view,#files-view,#texts-view,#keyboard-view):not([hidden])),[data-library-theme=dark] body:has(:is(#lists-view,#files-view,#texts-view,#keyboard-view):not([hidden])){background:var(--library-dark-page)}
 [data-library-theme=dark] :is(#lists-view,#files-view,#texts-view){color:var(--library-dark-text);color-scheme:dark}
 [data-library-theme=dark] :is(#lists-view,#files-view,#texts-view) :is(.workspace-song-front,.workspace-list-actions,.text-library-row,.file-row){background:var(--library-dark-row);color:var(--library-dark-text);border-color:var(--library-dark-border)}
 [data-library-theme=dark] :is(#lists-view,#files-view,#texts-view) :is(button,.list-item-type,.song-meta,.file-type,.texts-purpose,.file-columns,.list-item-columns,.list-offline-status){color:var(--library-dark-muted);border-color:var(--library-dark-border)}
 [data-library-theme=dark] :is(#lists-view,#files-view,#texts-view) :is(.workspace-song-entry,.text-library-entry,.file-entry){color:var(--library-dark-text)}
 [data-library-theme=dark] :is(#lists-view,#files-view,#texts-view,#keyboard-view) .workspace-return{background:var(--library-dark-panel);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #lists-view .list-overview-row{background:var(--library-dark-active);color:var(--library-dark-text)}
 [data-library-theme=dark] #lists-view .list-overview-entry{background:transparent;color:var(--library-dark-text)}
 [data-library-theme=dark] :is(#list-command-menu,#files-search-fields>div){background:var(--library-dark-panel);color:var(--library-dark-text);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #list-command-menu button{color:var(--library-dark-text)}
 [data-library-theme=dark] #list-text-content{background:var(--library-dark-page);color:var(--library-dark-text);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #list-text-dialog :is(button,.rich-toolbar button){background:var(--library-dark-active);color:var(--library-dark-text);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #list-text-dialog .rich-toolbar button[aria-pressed=true]{background:#245a9a;color:white}
}

@media screen{
 html[data-library-theme=dark] #lists-view .list-workspace-section .list-overview-row{background:var(--library-dark-active)}
 [data-library-theme=dark] #lists-view .list-overview-entry>span{color:var(--library-dark-text)}
 [data-library-theme=dark] #lists-view :is(.list-workspace-section,.list-item-columns){background:var(--library-dark-row);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #lists-actions>button{background:var(--library-dark-active);color:var(--library-dark-text);border-color:var(--library-dark-border)}
 [data-library-theme=dark] #lists-view .list-overview-entry[aria-expanded=true]:hover{background:var(--library-dark-panel)}
}

@media screen{
 [data-library-theme=dark] #files-view :is(#files-count,.files-note,.files-empty){color:var(--library-dark-muted)}
 [data-library-theme=dark] :is(#files-search,#texts-search)::placeholder{color:var(--library-dark-muted);opacity:1}
 [data-library-theme=dark] #files-view #add-music{background:var(--library-dark-active);color:var(--library-dark-text);border-color:var(--library-dark-border)}
}

[data-library-theme=dark] #lists-view .list-count{color:var(--library-dark-muted)}

/* One verified-offline action family, distinct from selection/Favorite controls. */
body button.catalog-offline{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;flex:none;border:0;border-radius:8px;background:transparent;color:#536b7a}
body button.catalog-offline[hidden]{display:none}
body button.catalog-offline svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body button.catalog-offline[aria-pressed=true]{background:#e0efea;color:#23695a}
body button.catalog-offline:hover:not(:disabled){box-shadow:inset 0 0 0 1px #9bb7c1}
body button.catalog-offline:focus-visible{outline:2px solid #365f7d;outline-offset:1px}
[data-library-theme=dark] body button.catalog-offline{color:var(--library-dark-muted)}
[data-library-theme=dark] body button.catalog-offline[aria-pressed=true]{background:#28463f;color:#bce1d6}
.offline-saved-badge{font:500 11px/1.4 system-ui,sans-serif;border:0;border-radius:4px;padding:1px 6px;background:#e5f0ed;color:#27675f;white-space:nowrap}
.workspace-song-front,.list-item-columns{grid-template-columns:44px minmax(0,1fr) 64px 44px 44px 44px}
.offline-control-slot{width:44px}
#library .library-row.list-entry-row:has(>.catalog-offline){grid-template-columns:minmax(0,1fr) 44px 44px 44px 44px}
#library .list-entry-row>.catalog-offline{grid-column:2;grid-row:1}
#library .list-entry-row:has(>.catalog-offline) .edit-list-entry{grid-column:3}
#library .list-entry-row:has(>.catalog-offline) .favorite{grid-column:4}
#library .list-entry-row:has(>.catalog-offline) .order-song{grid-column:5}
#library.saved-device-view .library-row{grid-template-columns:minmax(0,1fr) 44px 44px}
#library.saved-device-view .library-row>.catalog-offline{grid-column:2;grid-row:1}
#library.saved-device-view .library-row>.favorite{grid-column:3;grid-row:1}
#library.saved-device-view .library-column-headings{grid-template-columns:minmax(0,1fr) 88px}
@media(max-width:600px){.workspace-song-front{grid-template-columns:44px minmax(0,1fr) 44px 44px 44px}}
@media print{.catalog-offline{display:none!important}}

#lists-view button.catalog-offline{padding:0;border:0;border-radius:8px;background:transparent;color:#536b7a}
#lists-view button.catalog-offline[aria-pressed=true]{background:#e0efea;color:#23695a}
[data-library-theme=dark] #lists-view button.catalog-offline{color:var(--library-dark-muted)}
[data-library-theme=dark] #lists-view button.catalog-offline[aria-pressed=true]{background:#28463f;color:#bce1d6}

/* Keep numbered navigation in the phone header without reducing touch targets. */
@media screen and (max-width:600px){
 .score-song-navigation>span{min-width:24px}
 .score-identity-header{column-gap:0}
 .score-identity-header .score-title-block{column-gap:2px}
}
/* iPhone prioritizes core controls; optional List/Lyrics retain their slots. */
@media screen{
 body.iphone-score-ui .masthead .score-focus-control{display:none!important}
 body.iphone-score-ui .masthead .toolbar{padding-right:max(4px,env(safe-area-inset-right,0px))}
}
@media screen and (max-width:600px){
 body.iphone-score-ui .masthead .toolbar{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:2px}
 body.iphone-score-ui .masthead .toolbar #score-size{width:44px;min-width:44px;padding:0}
 body.iphone-score-ui .masthead .toolbar #key{flex:0 1 auto;width:auto;min-width:44px;max-width:80px}
 body.iphone-score-ui .masthead #key-name{font-size:14px}
}
@media screen and (max-width:360px){body.iphone-score-ui .masthead .toolbar{gap:0}}


/* Workspace chrome follows the usable viewport without changing Score layout. */
@media screen{
 body :is(#library-home,#library,#lists-view,#files-view,#texts-view,#keyboard-view){padding-bottom:calc(var(--workspace-footer-height,64px) + var(--workspace-footer-inset,0px) + 16px)}
 body :is(#library-home,#library,#lists-view,#files-view,#texts-view,#keyboard-view)>:is(.library-quick-access,.workspace-return,.library-home-footer){bottom:var(--workspace-footer-inset,0px)}
}

/* Title-sized identity track keeps playback nearby; long titles may shrink. */
@media screen{
 .score-identity-header .score-title-block,.pdf-score-open .score-identity-header .score-title-block,.score-identity-header .score-title-block:has(.song-playback){grid-template-columns:minmax(0,max-content) 44px;justify-content:start;column-gap:4px}
 body .score-identity-header .score-title-block h1{padding-top:0}
 .score-identity-header #score-source{contain:inline-size;min-width:0}
 body .masthead .score-focus-control{border:0;background:transparent;border-radius:0;box-shadow:none;isolation:isolate}
 body .masthead .score-focus-control::before{content:"";position:absolute;right:2px;bottom:8px;width:28px;height:20px;border:1px solid #b7c8d5;border-radius:6px;background:#f7f9fb;z-index:-1}
 body .masthead .score-focus-control svg{position:absolute;right:8px;bottom:10px;width:16px;height:16px}
 body .masthead .score-focus-control:hover{background:transparent}
 body .masthead .score-focus-control:hover::before{background:#eaf2f8;border-color:#8da8bd}
}

@media screen{.score-identity-header .score-title-block{position:relative}.score-identity-header .score-header-home{position:absolute;inset:0;width:100%;height:100%}.score-identity-header .score-title-block .song-playback{position:relative;z-index:2}}

.masthead #score-size .score-view-icon{width:24px;height:24px}

/* Shared workspace controls: native semantics, one accent and primary action. */
body input[type=checkbox]{accent-color:#237c7a!important;color-scheme:light;cursor:pointer}
body input[type=checkbox]:hover:not(:disabled){filter:brightness(.92)}
body input[type=checkbox]:focus-visible{outline:2px solid #2b619b;outline-offset:3px}
body input[type=checkbox]:disabled{opacity:.5;cursor:default}
[data-library-theme=dark] body input[type=checkbox]{accent-color:#72c5be!important;color-scheme:dark}
body :is(#lists-view #lists-actions .workspace-primary,#files-view #add-music,#texts-view #texts-new){background:var(--app-header-background);border:1px solid #286b81;color:white;min-height:44px;border-radius:7px;padding:10px 14px}
body :is(#lists-view #lists-actions .workspace-primary,#files-view #add-music,#texts-view #texts-new):hover{filter:brightness(1.06);background:var(--app-header-background)}
body :is(#lists-view #lists-actions .workspace-primary,#files-view #add-music,#texts-view #texts-new):active{filter:brightness(.94)}
body :is(#lists-view #lists-actions .workspace-primary,#files-view #add-music,#texts-view #texts-new):focus-visible{outline:2px solid #245a9a;outline-offset:3px}
.menu-section-label{padding:7px 12px 3px;font:600 11px system-ui;color:#647780;text-transform:uppercase;letter-spacing:.04em}
[data-library-theme=dark] #home-settings-menu .menu-section-label{color:#c1d0e2}
.list-delete-section{border-top:1px solid #c4cfd3;margin-top:18px;padding-top:12px}
.list-delete-section:has(button[hidden]){display:none}
#list-name-delete{color:#a12e36}
#lists-view .workspace-list-actions{display:grid;grid-template-columns:auto auto minmax(0,1fr);column-gap:clamp(24px,3vw,32px)}
#lists-view .list-offline-status{justify-self:end;margin-left:0;min-width:0}
@media(max-width:600px){
 #lists-view .workspace-list-actions{grid-template-columns:minmax(68px,1fr) auto minmax(0,1fr);column-gap:8px}
 #lists-view .list-actions-toggle{justify-self:start}
 #lists-view .list-favorites-filter{justify-self:center}
 #lists-view .list-offline-status{white-space:normal;text-align:right;font-size:11px}
}
#files-view .files-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#files-view .files-heading #files-info{border:0;border-radius:8px;background:transparent;color:#fff}
#files-view .files-heading #files-info:hover{background:#ffffff20;filter:none}
#files-view .files-heading #files-info:focus-visible{outline-color:white;outline-offset:-2px}
#library-quick-home{width:44px;min-width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}
#library .library-row[data-source-tone]{background:var(--source-row);box-shadow:inset 4px 0 var(--source-edge)}
#library .library-row[data-source-tone=children]{--source-row:#eaf3fc;--source-edge:#80a9d0}
#library .library-row[data-source-tone=home-church]{--source-row:#e6f3ec;--source-edge:#75ad96}
#library .library-row[data-source-tone=hymnal]{--source-row:#e5e8f7;--source-edge:#aa95c5}
[data-library-theme=dark] #library .library-row[data-source-tone=children]{--source-row:#263746;--source-edge:#80a9d0}
[data-library-theme=dark] #library .library-row[data-source-tone=home-church]{--source-row:#263d35;--source-edge:#75ad96}
[data-library-theme=dark] #library .library-row[data-source-tone=hymnal]{--source-row:#373145;--source-edge:#aa95c5}

[data-library-theme=dark] body :is(#lists-view,#files-view) .toolbar-selector{border-color:transparent}
[data-library-theme=dark] #list-command-menu .menu-section-label{color:var(--library-dark-muted)}
[data-library-theme=dark] #list-command-menu button:is(:hover,:focus-visible){background:var(--library-dark-active)}

/* One identity banner shared by the Library workspaces. */
body :is(#library-home,#library,#lists-view,#files-view,#texts-view,#keyboard-view) .workspace-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;height:60px;min-height:60px;margin:0;padding:8px 16px;background:var(--app-header-background);color:white;flex-wrap:nowrap}
body :is(#library-home,#library,#lists-view,#files-view,#texts-view,#keyboard-view) .workspace-banner h1{font:600 20px/1.2 system-ui,sans-serif;letter-spacing:-.025em;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}
body #library .workspace-banner .header-home{font:inherit;color:inherit;padding:0;min-height:44px}
body .workspace-banner>:is(button,.library-theme-toggle){flex:0 0 44px}
body .library-home-heading.workspace-banner #home-about{position:static;transform:none}
body #library .library-column-headings{display:flex;align-items:center;gap:12px;min-height:28px}
body #library .library-column-headings #library-count{margin-left:auto;padding:0;color:inherit;background:none;box-shadow:none;font-size:12px}
.workspace-action-row,.files-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.workspace-action-row #lists-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;min-width:0}
.workspace-action-row #lists-context,.files-action-row #files-count{font:13px/1.4 system-ui,sans-serif;margin:12px 0;text-align:right;flex:0 0 auto}
#texts-view #texts-context{font:13px/1.4 system-ui,sans-serif;margin:12px 0}
@media(max-width:360px){body :is(#library-home,#library,#lists-view,#files-view,#texts-view,#keyboard-view) .workspace-banner{padding-inline:10px}body :is(#library-home,#library,#lists-view,#files-view,#texts-view,#keyboard-view) .workspace-banner h1{font-size:18px}}
.masthead #score-tools-menu .tools-section-label{font:600 11px/1.3 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#536b7a;padding:8px 12px 4px}
.masthead #score-tools-menu .tools-divider{border:0;border-top:1px solid #ccd6da;margin:6px 8px}
.masthead #score-tools-menu #score-offline-status{border:0;margin:0;padding:6px 12px 0;font-size:12px}
.masthead #score-tools-menu :is(#score-offline-save,#score-offline-remove){padding-left:28px;font-size:13px}
.masthead #score-tools-menu:is(.sound-open,.export-open)>:is(.tools-section-label,.tools-divider){display:none}
@media screen{body .masthead:has(#score-tools-menu:not([hidden])){z-index:30}}
.masthead #score-tools-menu{min-width:220px}
@media screen{body #pdf-annotation-panel{z-index:30}}
.workspace-action-row #lists-context{flex-shrink:1;min-width:0;overflow-wrap:anywhere}
body #library .library-column-headings{flex-wrap:wrap}
body #library .library-column-headings #library-count{white-space:normal;text-align:right}

/* Info uses the existing shared dialog palette, including dark mode. */
:is(#home-info-menu,#home-settings-menu) hr{border:0;border-top:1px solid var(--popup-border);margin:6px}
:is(#home-info-menu,#home-settings-menu) #add-home-screen:disabled{opacity:1;color:var(--popup-muted);cursor:default;background:transparent}
.storage-values{margin:0 0 16px;display:grid;gap:0}
.storage-values>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--popup-border)}
.storage-values dt{font-size:14px;min-width:0}
.storage-values dd{font-size:15px;font-weight:600;flex:0 0 auto;margin:0;text-align:right}
#app-info-dialog #app-info-title:focus{outline:none}
@media(max-width:400px){.storage-values>div{flex-wrap:wrap;gap:4px}.storage-values dd{margin-left:auto}}

/* Hide only decorative ink; keep all frame widths, padding and clipping geometry. */
@media screen {#playing-view.score-frame-hidden .score-paper {--score-frame-outer:transparent;--score-frame-inner:transparent;}}

/* One native-checkbox row pattern for both Score appearance preferences. */
#score-tools-menu .score-tools-checkbox > input {flex:none;width:16px;height:16px;margin:0;}
#score-tools-menu .score-tools-checkbox > span {font:inherit;line-height:inherit;}
#score-tools-menu .score-tools-checkbox:is(:hover,:focus-visible) {background:var(--popup-hover);}

/* Quiet, readable Home submit and content-width local file status. */
body #library-home #home-search-form button {background:#e8eef2;color:#304c60;border:1px solid #b5c3c5;opacity:1;-webkit-text-fill-color:currentColor;}
html[data-library-theme=dark] body #library-home #home-search-form button {background:#293b47;color:#e0edf5;border-color:var(--library-dark-border);}
#files-view .file-entry .offline-saved-badge {display:inline-flex;width:fit-content;align-self:flex-start;justify-self:start;margin-left:0;}
/* Stable ID-derived tints belong only to List headers, not their song rows. */
.list-workspace-section[data-list-tint=blue] {--list-tint:#e6edf6;--list-tint-dark:#263749;--list-accent:#6084ad;}
.list-workspace-section[data-list-tint=teal] {--list-tint:#e3efed;--list-tint-dark:#253e3e;--list-accent:#588c85;}
.list-workspace-section[data-list-tint=green] {--list-tint:#e8efe2;--list-tint-dark:#303d2e;--list-accent:#778e5d;}
.list-workspace-section[data-list-tint=violet] {--list-tint:#eee8f4;--list-tint-dark:#373149;--list-accent:#9078a9;}
body #lists-view .list-workspace-section[data-list-tint]>.list-overview-row {background:var(--list-tint);box-shadow:inset 3px 0 var(--list-accent);}
html[data-library-theme=dark] body #lists-view .list-workspace-section[data-list-tint]>.list-overview-row {background:var(--list-tint-dark);}
#lists-view .list-workspace-section[data-list-tint] .list-overview-entry:hover {background:color-mix(in srgb,currentColor 5%,transparent);}

/* Contextual Score return changes only artwork and color, not the shared tile geometry. */
body:not(.lyrics-open):not(.library-open) .masthead #songs[data-score-return=lists]{background:linear-gradient(110deg,#237c7a,#245a9a)!important}

/* Read-only device inventory uses the shared dialog and Library text styles. */
#offline-inventory{width:680px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto}
#offline-inventory .dialog-heading{align-items:center;position:sticky;top:0;z-index:1;background:var(--popup-surface,#fff)}
#offline-inventory .close{flex:none}
#offline-inventory h2{overflow-wrap:anywhere}
.device-songs-controls{display:flex;flex-wrap:wrap;gap:12px}
.device-songs-controls label{display:grid;gap:5px;min-width:0;font-size:14px}
.device-songs-controls label:first-child{flex:1 1 220px}
.device-songs-controls input,.device-songs-controls select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px;font:16px system-ui;border:1px solid var(--popup-border,#b5c3c5);border-radius:6px;background:var(--popup-surface,#fff);color:var(--popup-ink,#233331)}
#device-songs-results{list-style:none;margin:12px 0 0;padding:0}
#device-songs-results li{display:grid;gap:5px;padding:12px 0;border-top:1px solid var(--popup-border,#ccd6da);overflow-wrap:anywhere}
#device-songs-results strong{font-size:16px}
#device-songs-results .song-meta,#device-songs-results .device-song-retention,#device-songs-results .device-song-protection{font-size:13px;line-height:1.45}

/* Native sound picker adds no width to the existing playing controls. */
.metronome-sound-wrap{display:flex;justify-content:center}
.metronome-sound-control{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;min-width:58px;height:44px;box-sizing:border-box;border:1px solid #b7c8d5;border-radius:6px;background:white;color:#183e67}
.metronome-sound-control select{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);opacity:0;cursor:pointer;direction:rtl;font:16px system-ui,sans-serif}
.metronome-sound-control:has(select:disabled){opacity:.45}
.metronome-sound-control:focus-within{outline:2px solid #245a9a;outline-offset:2px}
.metronome-live-controls button[aria-pressed] span{display:inline-block;min-width:1.5em}

/* Anchor the native popup to the trigger’s right edge so long options open inward. */
.metronome-sound-control option{direction:ltr}

.metronome-click-sound{display:flex;align-items:center;gap:6px}

/* Keep bulk actions in view; only inventory content scrolls, including on short phones. */
#offline-inventory[open]{display:flex;flex-direction:column;overflow:hidden;padding:0}
#offline-inventory .dialog-heading{flex:none;margin:0;padding:14px 20px}
#offline-inventory .device-songs-body{min-height:0;overflow:auto;padding:12px 20px;overscroll-behavior:contain}
#offline-inventory .device-songs-actions{flex:none;padding:10px 20px max(12px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--popup-border);background:var(--popup-surface)}
#offline-inventory .device-songs-actions p:empty{display:none}
#offline-inventory .device-songs-buttons{display:flex;flex-wrap:wrap;gap:8px}
#offline-inventory .device-songs-buttons button{min-height:44px;white-space:normal;color:var(--popup-ink)}
#offline-inventory .device-songs-buttons .dialog-primary{color:#fff}
#offline-inventory [hidden]{display:none!important}
#offline-inventory .device-song-select{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
#offline-inventory .device-song-select input{flex:none;width:24px;height:24px;margin:10px;accent-color:#276e70}
#offline-inventory #device-songs-report ul{padding-left:20px}
@media(max-height:550px){#offline-inventory .device-songs-actions{padding:6px 12px}#offline-inventory .device-songs-actions p{font-size:12px;line-height:1.3;margin-bottom:4px}#offline-inventory .dialog-heading{padding:6px 12px}}

/* Only the unavailable-score notice: original credits without source-page layout. */
#score-unavailable-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;overflow-wrap:anywhere}
#score-unavailable-song{font-weight:600}
#score-unavailable-credits{font-size:15px;line-height:1.5}
#score-unavailable-credits dt{font-weight:600;margin-top:12px}
#score-unavailable-credits dd{margin:0}

#score-unavailable-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.score-unavailable-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-shrink:0}
.score-unavailable-heading button{flex-shrink:0}
.score-unavailable-content{min-height:0;overflow:auto;overscroll-behavior:contain}

/* Lyrics frame is decoration only: its box dimensions never change. */
#lyrics-view.lyrics-frame-hidden .lyrics-paper{border-color:transparent;box-shadow:none}
#lyrics-view.lyrics-frame-hidden .lyrics-paper::after{border-color:transparent}
/* Score-style title-sized track keeps playback beside the title; Copy has its own space. */
#lyrics-view .lyrics-identity-header{padding-right:60px}
#lyrics-view .lyrics-header-home{right:60px}
#lyrics-view .lyrics-title-block{display:grid;grid-template-columns:minmax(0,1fr);max-width:100%;min-width:0}
#lyrics-view .lyrics-title-block:has(.song-playback){grid-template-columns:minmax(0,max-content) 44px;justify-content:start;column-gap:4px}
#lyrics-view .lyrics-title-block h1{grid-column:1;grid-row:1;min-width:0}
#lyrics-view .lyrics-title-block .lyrics-source{grid-column:1;grid-row:2;contain:inline-size;min-width:0}
#lyrics-view .lyrics-identity-header .song-playback{position:relative;right:auto;top:auto;grid-column:2;grid-row:1 / span 2;align-self:start;align-items:flex-start;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;z-index:2}
#lyrics-view #lyrics-copy{position:absolute;right:8px;top:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:#fff;box-shadow:none;z-index:2}
#lyrics-copy svg{width:21px;height:21px;flex:none}
#lyrics-view #lyrics-copy:hover{background:#ffffff1a}
#lyrics-view #lyrics-copy:disabled{opacity:.5;cursor:default}
#lyrics-view #lyrics-copy.copy-feedback{font:600 11px/1.2 system-ui,sans-serif;white-space:normal}

/* Library identity stays compact; controls live below it. */
body #library .workspace-banner h1{flex:1 1 auto}
#library .library-quick-access #library-more{margin-left:auto;flex:0 0 44px;width:44px;height:44px;padding:0;justify-content:center}
#library .library-quick-access #library-more svg{width:30px;height:30px}
#library .library-filter-row #library-source{flex:0 1 auto;max-width:calc(100% - 52px)}


/* Home information and settings share the existing popup styling. */
:is(#home-info-menu,#home-settings-menu){position:fixed;right:auto;z-index:90;overflow-y:auto;max-width:calc(100vw - 16px)}
:is(#home-settings-menu #home-settings-theme,#library-more-dialog #library-settings-theme){display:flex;align-items:center;gap:10px}
:is(#home-settings-theme,#library-settings-theme) svg{width:24px;height:24px;flex:none}
@media(max-width:360px){#library-home .home-toolbar{gap:6px}}

#home-update-status:empty{margin:0}
#home-update-status{font-size:14px;line-height:1.4;overflow-wrap:anywhere}

/* Compact workspace polish: reuse existing controls and footer geometry. */
@media(min-width:601px) and (max-width:1024px){#library .library-filter-row .sort-choice{margin-left:12px}}
.workspace-return .workspace-theme{margin-left:auto;border:0;background:transparent}
.list-command-menu button{padding-left:26px}

/* Compact opening preference, separate from the six Home navigation cards. */
#home-song-view{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:10px 0;font:14px system-ui,sans-serif}
.song-view-segments{display:flex;position:relative;padding:0 1px;color:var(--popup-ink)}
.song-view-segments::before{content:"";position:absolute;inset:6px 0;border:1px solid var(--popup-border);border-radius:8px;background:var(--popup-surface);pointer-events:none}
.song-view-segments label{position:relative;cursor:pointer}
.song-view-segments input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.song-view-segments span{display:flex;align-items:center;justify-content:center;min-width:64px;height:32px;margin:6px 0;padding:0 8px}
.song-view-segments label:first-child span{border-radius:7px 0 0 7px}
.song-view-segments label:last-child span{border-radius:0 7px 7px 0}
.song-view-segments input:checked+span{background:#365f7d;color:white;font-weight:600}
.song-view-segments input:focus-visible+span{outline:2px solid var(--popup-focus);outline-offset:-3px}
#home-settings-menu [data-song-view]{padding-inline-start:26px}
#home-settings-menu [data-song-view][aria-checked=true]{background:var(--popup-hover);font-weight:700}
#home-settings-menu [data-song-view][aria-checked=true]::after{content:' ✓';float:right}
#list-song-view{appearance:auto;width:100%;min-height:44px;margin:4px 0 12px;padding:4px 10px;border:1px solid #b6cbd5;border-radius:6px;background-color:transparent;color:inherit;font:inherit}

/* Compact performance header is screen-only; source and export titles stay intact. */
#score-focus-info{display:none}
@media screen{
 body.score-focus-active:not(.lyrics-open):not(.library-open) .score-identity-header{padding:3px 10px;min-height:0;gap:0}
 body.score-focus-active .score-identity-header .score-title-block{display:block;min-width:0;padding:0}
 body.score-focus-active .score-identity-header .score-title-block h1{font-size:16px;line-height:1.2;padding:0;margin:0;white-space:normal;overflow-wrap:anywhere}
 body.score-focus-active .score-identity-header :is(#score-source,.song-playback,.score-song-navigation,.score-actions){display:none}
 body.score-focus-active #score-focus-info{display:block;font:500 12px/1.2 system-ui,sans-serif;margin-top:1px;color:inherit}
 body.score-focus-active .score-heading{margin-bottom:4px}
 body.score-scroll-mode #playing-view{padding-bottom:calc(var(--playing-bar-height) + var(--playing-safe-bottom) + 66px + var(--return-clearance))}
 body.scroll-status-redundant #score-navigation.navigation-menu-open{visibility:visible;pointer-events:auto}
}
#score-tools-menu .toolbar-opening-setting{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:4px 10px;font:500 14px/1.4 system-ui;color:inherit}
#score-toolbar-opening{min-height:44px;max-width:92px;border:1px solid var(--popup-border);border-radius:6px;background:var(--popup-surface);color:var(--popup-ink);font:inherit}
#score-tools-menu:is(.sound-open,.export-open) .toolbar-opening-setting{display:none}

/* Focus retains one header; secondary view information yields to long titles. */
@media screen{
 body.score-focus-active:not(.iphone-score-ui) .score-identity-header .score-title-block{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:16px;row-gap:2px;width:100%}
 body.score-focus-active:not(.iphone-score-ui) .score-identity-header .score-title-block h1{flex:1 1 230px}
 body.score-focus-active:not(.iphone-score-ui) #score-focus-info{flex:0 1 auto;max-width:100%;margin:0 0 0 auto;text-align:right;overflow-wrap:anywhere}
}

/* Files-only density; List and general Library rows retain their existing styles. */
#files-view .file-entry,#library.files-source-view .song-entry{gap:3px;padding:8px;min-height:60px}
#files-view .file-entry strong,#library.files-source-view .song-entry strong{font-size:16px;font-weight:600;line-height:1.3}
#files-view .file-entry .song-meta,#library.files-source-view .song-meta{font-size:12px}
#files-view .files-action-row{gap:8px;justify-content:flex-start}
#files-view .files-action-row button{min-height:44px;padding:8px;font-size:14px}
#files-count{margin-left:auto}
#files-view.selecting-files #files-count,#files-view.selecting-files .file-columns{display:none}
#files-view.selecting-files .file-row{grid-template-columns:44px minmax(0,1fr) 70px}
.file-select-target{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
.file-select-target input{width:20px;height:20px;margin:0;accent-color:#365f7d}
#files-remove-dialog{max-width:min(460px,calc(100vw - 32px))}
#files-remove-dialog button{min-height:44px}
@media(max-width:600px){
 #files-view .file-entry strong,#library.files-source-view .song-entry strong{font-size:14px}
 #files-view .file-entry .song-meta,#library.files-source-view .song-meta{font-size:11px}
 #files-view .file-row{grid-template-columns:minmax(0,1fr) 64px 44px}
 #files-view .file-type{grid-column:2;grid-row:1;padding:4px;font-size:11px;white-space:nowrap}
 #files-view .file-entry{grid-column:1;grid-row:1}
 #files-view .file-edit{grid-column:3;grid-row:1}
 #files-view.selecting-files .file-row{grid-template-columns:44px minmax(0,1fr) 64px}
 #files-view.selecting-files .file-entry{grid-column:2}
 #files-view.selecting-files .file-type{grid-column:3}
 #files-count{font-size:12px}
}

#files-select-all-label:not([hidden]){display:flex;align-items:center;gap:4px;min-height:44px;min-width:44px;font-size:13px}
#files-select-all{width:18px;height:18px;margin:0}

/* Original PDF spreads reuse the physical page frames and their annotation layers. */
@media screen {
 body.pdf-spread-eligible .score-paper{padding-bottom:76px}
 body.pdf-spread-eligible #score-navigation{display:flex;align-items:center;gap:8px}
 #pdf-spread-toggle{display:flex;align-items:center;justify-content:center;gap:5px;min-width:44px;height:44px;padding:0 8px;border:1px solid #c4cecd;border-radius:8px;background:#fafbf8;color:#344b58;font:500 12px/1.3 system-ui,sans-serif;white-space:nowrap}
 #pdf-spread-toggle[hidden]{display:none}
 #pdf-spread-toggle[aria-pressed=true]{background:#e6eef0;border-color:#536b7a}
 #pdf-spread-toggle svg{width:20px;height:20px}
 body.pdf-spread-active #score{display:flex;align-items:flex-start;justify-content:center;gap:16px}
 body.pdf-spread-active #score>.pdf-page-frame.current-page{flex:none;width:var(--pdf-page-fit);max-width:var(--pdf-page-fit);margin:0}
}
#tap-divider-handle{position:absolute;left:50%;top:var(--tap-upper);transform:translate(-50%,-50%);width:48px;height:44px;min-height:44px;padding:0;border:2px solid #365f7d;border-radius:8px;background:white;color:#233331;font-size:24px;touch-action:none;cursor:ns-resize}
#tap-zone-adjustments{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:min(300px,95%);box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;border:1px solid #536b7a;border-radius:8px;background:white;color:#233331;font-size:12px}
#tap-zone-adjustments label,#tap-upper-range{grid-column:1/-1;margin:0}#tap-upper-range{width:100%;min-height:44px;accent-color:#365f7d}
#tap-zone-adjustments button{min-height:44px;font-size:12px;padding:4px 6px}
#tap-zone-adjustments #dismiss-score-taps{position:static;transform:none;max-width:none;white-space:normal}
#tap-divider-handle:focus-visible,#tap-zone-adjustments :focus-visible{outline:3px solid #995100;outline-offset:2px}
#score-review-chords{border-top:1px solid var(--popup-border);margin-top:4px;padding-top:4px}
#score-review-chords p{font-size:12px;font-weight:600;margin:4px 10px}
#score-review-chords button{white-space:normal;min-height:44px}

button.banner-quick-home{all:unset;display:inline;font:inherit;color:inherit;text-align:inherit;cursor:pointer}
button.banner-quick-home:focus-visible{outline:2px solid currentColor;outline-offset:2px}
