:root{font-family:system-ui,sans-serif;font-size:14px;line-height:1.4;background:var(--bg,#101317);color:var(--fg,#e8ecef);color-scheme:dark;--panel:#191f24;--line:#303a43;--accent:#ffad21;--space:12px}
#conflictAlert{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid #8b672b;border-radius:8px;font-size:12px;margin-top:10px;grid-column:1/-1}#conflictAlert button{font-size:12px;flex-shrink:0}.conflict-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;align-items:start}.conflict-version{min-width:0;border:1px solid var(--line);padding:10px;border-radius:8px}.conflict-version h3{margin:0;font-size:16px}.conflict-version h4{margin:0;font-size:12px;color:var(--muted,#aeb8c1)}.conflict-field{border-left:2px solid var(--line);padding-left:8px;margin:12px 0}.conflict-field.different{border-color:var(--accent)}.conflict-field pre{margin:3px 0;max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.conflict-version>button{width:100%;margin-top:6px}#conflictConfirmation{border:1px solid #8b672b;border-radius:8px;padding:10px;margin-top:12px}#conflictChoice{color:var(--fg,#e8ecef)}#conflictResult{overflow-wrap:anywhere}#conflictResult:empty{display:none}
*{box-sizing:border-box}body{margin:0}body.modal-open{overflow:hidden}main{max-width:860px;margin:auto;padding:var(--space)}
/* Keep the app's single disclosure arrow on Safari as well as native WebViews. */
summary{list-style:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
summary::-webkit-details-marker{display:none}
summary::marker{content:''}
button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit;min-height:44px;min-width:44px;padding:8px 10px}
button{font-weight:600;cursor:pointer}button:disabled{opacity:.4}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
header,.heading{display:flex;justify-content:space-between;align-items:center;gap:8px}header{font-size:13px;font-weight:700;letter-spacing:.035em}header strong{color:var(--accent)}.header-actions{display:flex;gap:6px;align-items:center}.header-actions #openLibrary{font-size:12px}.header-actions #settings{font-size:20px;padding:6px;width:44px}
.now{padding:12px 0;border-bottom:1px solid var(--line)}h1{font-size:clamp(22px,3.5vw,32px);font-weight:650;line-height:1.2;margin:6px 0;overflow-wrap:anywhere}.caption,.footer{font-size:10px;letter-spacing:.08em;color:var(--muted,#9eaab5);margin:6px 0}.song-meta{color:var(--muted,#aeb8c1);margin:6px 0;font-size:13px;overflow-wrap:anywhere}.song-meta:empty{display:none}#nextTitle{font-size:13px;color:var(--muted,#aeb8c1);margin:8px 0 12px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.play-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.steps,.song-tools{display:flex;gap:6px;margin:0}.steps button:first-child{width:44px;flex-shrink:0}.steps button:last-child{flex:1;background:var(--accent);color:var(--on-accent,#15191b)}.song-tools button{font-size:13px}
.set-label{display:block;font-size:12px;color:var(--muted,#aeb8c1);margin:12px 0 10px}.set-label select{display:block;width:100%;margin-top:4px;color:var(--fg,#e8ecef);font-size:14px}#songs{display:grid;gap:4px}.song{touch-action:manipulation;display:flex;text-align:left;align-items:center;gap:10px;width:100%;min-height:50px;border-radius:8px;padding:8px 10px;font-weight:550}.song span:first-child{width:22px;flex-shrink:0;color:var(--muted,#8e9ba6);font-size:12px}.song span:last-child{min-width:0;overflow-wrap:anywhere}.song.active{border-color:#aa792e;background:var(--active-bg,#252219);color:var(--accent)}.set-break{margin:8px 0 3px;color:#cda768;font-weight:600;font-size:12px;overflow-wrap:anywhere}#notice{overflow-wrap:anywhere;font-size:13px}#notice:empty{display:none}.footer{margin-top:14px}
.hidden{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#panel{position:fixed;inset:8px;z-index:5;background:var(--bg,#101317);overflow:auto;overflow-x:hidden;overscroll-behavior:contain;padding:12px;border:1px solid var(--line);border-radius:12px;max-width:1160px;margin:auto}#panel .heading{position:sticky;top:-12px;background:var(--bg,#101317);z-index:3;padding:8px 0}h2{font-size:20px;font-weight:650;margin:0}.heading button{flex-shrink:0;font-size:12px}#workspaceTabs{display:flex;gap:4px;margin:6px 0 12px}#workspaceTabs button{flex:1;font-size:13px;padding:8px 6px;border-color:transparent;background:transparent;font-weight:550;border-radius:6px}#workspaceTabs [aria-selected="true"]{border-color:var(--line);background:var(--panel);color:var(--accent)}
details{padding:8px 10px;border:1px solid var(--line);margin:10px 0;border-radius:8px}details details{background:var(--subtle,#14191e)}summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:550}summary::after{content:none;display:none}details p{font-size:13px;color:var(--muted,#aeb8c1);margin:8px 0}label{display:block;font-size:12px;color:var(--muted,#aeb8c1);margin:8px 0}label input,textarea{display:block;width:100%;margin:4px 0 0;font-size:14px;color:var(--fg,#e8ecef)}select{max-width:100%;font-size:14px;-webkit-appearance:none;appearance:none;color:var(--fg,#e8ecef);padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--muted,#aeb8c1) 50%),linear-gradient(135deg,var(--muted,#aeb8c1) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;text-overflow:ellipsis}select:disabled{opacity:.5}select[multiple],select[size]:not([size="1"]){background-image:none;padding-right:10px}select option,select optgroup{background:var(--panel,#191f24);color:var(--fg,#e8ecef)}details select{width:100%;margin-top:4px}textarea{resize:vertical;max-width:100%;line-height:1.45}input[type=file]{max-width:100%;font-size:12px}.check{display:flex;align-items:center;gap:4px;min-height:44px;margin:4px 0;color:#d8dfe4;font-size:13px}.check input{-webkit-appearance:none;appearance:none;width:44px;height:44px;min-height:44px;flex-shrink:0;display:grid;place-content:center;margin:0;border:0;background:transparent;padding:0}.check input::before{content:'';display:block;box-sizing:border-box;width:18px;height:18px;border:1px solid #70808d;border-radius:4px;font-size:14px;line-height:16px;text-align:center}.check input:checked::before{content:'✓';color:#171b1f;background:var(--accent);border-color:var(--accent)}
.midi-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:0 10px}.midi-fields label{min-width:0}.midi-fields input{width:100%}.editor-buttons{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.editor-buttons button{font-size:13px}.step-list{padding:0;list-style:none;margin:8px 0}.step-list li{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,44px);align-items:center;gap:4px;border-bottom:1px solid var(--line);padding:6px 0}.step-list li span{min-width:0;overflow-wrap:anywhere;font-size:13px}.step-list li button{padding:4px;min-width:44px;min-height:44px;font-size:16px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}#libraryResult,#setResult{overflow-wrap:anywhere}#libraryResult:empty,#setResult:empty{display:none}#songLyrics{font-family:ui-monospace,monospace}
#lyricsPanel{position:fixed;inset:0;z-index:8;overflow:auto;overflow-x:hidden;overscroll-behavior:contain;background:var(--bg,#101317);padding:12px}#lyricsPanel .heading{position:sticky;top:-12px;padding:8px 0;background:var(--bg,#101317);z-index:2;align-items:flex-start}#lyricsTitle{font-size:20px;font-weight:600;min-width:0;overflow-wrap:anywhere;margin:0}#lyricsMeta{font-size:12px;color:var(--muted,#9eaab5);margin:6px 0}#lyricsControls>.editor-buttons{margin:8px 0 12px}#lyricsText{white-space:pre-wrap;font-family:ui-monospace,monospace;line-height:1.4;overflow-wrap:anywhere;max-width:90ch;margin-inline:auto}#lyricsNotes{white-space:pre-wrap;color:var(--muted,#aeb8c1);font-size:13px;max-width:90ch;margin-inline:auto}#scrollStatus{color:var(--muted,#aeb8c1);font-size:12px}#scrollStatus:empty{display:none}.reader-navigation{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;background:var(--bg,#101317);margin:0;padding:8px 12px 12px;z-index:2;font-size:14px;touch-action:pan-y;--reader-nav-bottom:12px}.reader-navigation button:first-child{width:44px}.reader-navigation button:last-child{flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;white-space:nowrap}.reader-next-label{font-size:11px;flex-shrink:0;color:var(--muted,#aeb8c1)}#readerNextTitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#readerNextTitle[hidden]{display:none}
@media(min-width:720px){main{max-width:1440px;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(320px,1.3fr);column-gap:24px;row-gap:8px;padding:20px}header{grid-column:1/-1;margin-bottom:12px}.now{grid-column:1;grid-row:2/span 3;align-self:start;position:sticky;top:20px;padding:0;border:0}.now h1{font-size:28px}.set-label{grid-column:2;grid-row:2;margin:0}#songs{grid-column:2;grid-row:3}#notice{grid-column:2;grid-row:4}.footer{grid-column:1/-1}#panel{inset:16px;padding:16px}#panel .heading{top:-16px}#settingsWorkspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;align-items:start}#settingsWorkspace>details[open]{grid-column:1/-1}#libraryPanel[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}#libraryPanel>summary,#libraryPanel>.editor-buttons,#libraryPanel>#songEditor,#libraryPanel>#libraryResult,#libraryPanel>#songImport{grid-column:1/-1}#songEditor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}#songEditor>.midi-fields,#songEditor>.song-display-options,#songEditor>label:has(textarea),#songEditor>.check,#songEditor>button{grid-column:1/-1}#setEditorPanel[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}#setEditorPanel>summary,#setEditorPanel>.editor-buttons,#setDraft,#setEditorPanel>#setResult{grid-column:1/-1}#setDraft{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}#lyricsPanel{padding:16px 28px}#lyricsPanel .heading{top:-16px}#lyricsText{max-width:84ch}.reader-navigation{padding:8px 28px 16px;--reader-nav-bottom:16px}#lyricsTitle{font-size:22px}}
@media(max-width:359px){header{font-size:12px}.header-actions #openLibrary{font-size:11px;padding:6px 8px}.play-actions{gap:6px}.song-tools button{font-size:12px;padding:8px}.step-list li{grid-template-columns:repeat(3,44px)}.step-list li span{grid-column:1/-1}}
@media(max-height:500px) and (min-width:560px){main{padding:12px;display:grid;grid-template-columns:minmax(200px,.8fr) minmax(260px,1.2fr);gap:8px 16px}header{grid-column:1/-1;margin:0}.now{grid-column:1;grid-row:2/span 3;padding:0;border:0}.now h1{font-size:22px}.set-label{grid-column:2;grid-row:2;margin:0}#songs{grid-column:2;grid-row:3}#notice{grid-column:2;grid-row:4}.footer{grid-column:1/-1}#lyricsPanel .heading{padding:4px 0}#lyricsMeta{margin:2px 0}#lyricsControls>.editor-buttons{margin:4px 0 8px}}

@media(min-width:720px){#libraryPanel[open],#setEditorPanel[open]{display:block}.library-fields,.set-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.library-fields>.editor-buttons,.library-fields>#songEditor,.library-fields>#libraryResult,.library-fields>#songImport,.set-editor-fields>.editor-buttons,.set-editor-fields>#setDraft,.set-editor-fields>#setResult{grid-column:1/-1}}

@media(min-width:720px) and (max-width:999px){.now h1{font-size:24px}.now .play-actions{grid-template-columns:1fr}.now .song-tools button{width:100%}}
@media(max-height:500px) and (min-width:560px) and (max-width:719px){.now .play-actions{grid-template-columns:1fr}.now .song-tools button{width:100%}}

.midi-fields label{display:flex;flex-direction:column;justify-content:flex-end}
.set-editor-fields>#setDraftDuration,.set-editor-fields>#setTimingOptions{grid-column:1/-1}
#setTimingLinks label{overflow-wrap:anywhere}
@media(min-width:720px){#setDurationPanel{grid-column:2;grid-row:3;margin:0}#songs{grid-row:4}#notice{grid-row:5}}
@media(min-width:720px){.set-editor-fields>label:first-child{grid-column:1;grid-row:1}.set-editor-fields>label:has(#editSetName){grid-column:2;grid-row:1}.set-editor-fields>#setAdd{align-self:end;margin-bottom:8px}}

#closeFullscreen{position:fixed;top:12px;right:12px;z-index:10;min-width:44px;min-height:44px;padding:4px;font-size:22px}
#lyricsPanel.reading-fullscreen>.heading,#lyricsPanel.reading-fullscreen>#lyricsMeta,#lyricsPanel.reading-fullscreen>.editor-buttons,#lyricsPanel.reading-fullscreen>#scrollStatus,#lyricsPanel.reading-fullscreen>#lyricsNotes,#lyricsPanel.reading-fullscreen>.reader-navigation{display:none}
#lyricsPanel.reading-fullscreen #lyricsText{padding-top:52px}

#workspaceTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}#workspaceTabs button{font-size:clamp(11px,3vw,13px);padding-inline:3px}
.agenda-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.agenda-tools>p{flex:1;min-width:160px;font-size:12px;color:var(--muted,#aeb8c1)}.agenda-tools .check{width:100%}.agenda-layout{display:grid;gap:16px}#agendaEvents{display:grid;gap:6px;align-content:start}.agenda-event{display:grid;text-align:left;gap:3px;width:100%;font-weight:400}.agenda-event strong{font-weight:600}.agenda-event span{color:var(--muted,#aeb8c1);font-size:12px}.agenda-event.active{border-color:var(--accent)}#agendaDetails{min-width:0}#agendaTitle{font-size:18px;margin:0 0 8px}#agendaDescription{white-space:pre-wrap;overflow-wrap:anywhere}#agendaLocation:empty,#agendaEventStatus:empty,#agendaResult:empty{display:none}#agendaDate{color:var(--muted,#aeb8c1);font-size:13px}#agendaConfig{margin-top:16px}#agendaResult,#agendaDescription,#agendaLocation{overflow-wrap:anywhere}@media(min-width:720px){.agenda-layout{grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr)}}

#agendaSet{display:block;width:100%;margin-top:4px}#agendaTitle,.agenda-event strong,.agenda-event span{overflow-wrap:anywhere;min-width:0}

.set-pause{background:#211f19;border:1px solid #5a4a2b;border-radius:6px;padding-inline:8px!important}.set-pause span{color:#e1bd79}#deleteSetConfirm{padding:10px;border:1px solid #a96652;border-radius:8px}#deleteSetConfirm p{color:var(--fg,#e8ecef)}#deleteSetConfirm.hidden{display:none}

.set-label>label{margin:0 0 4px}.set-picker{display:flex;align-items:center;gap:6px}.set-label .set-picker select{flex:1;min-width:0;width:auto;margin:0}.set-picker button{flex-shrink:0;font-size:12px;padding:8px}#emptySet{padding:10px;border:1px dashed var(--line);border-radius:8px}#emptySet p{margin:0;color:var(--muted,#aeb8c1);font-size:14px}#songs:empty{display:none}@media(min-width:720px){#emptySet{grid-column:2;grid-row:3}}

@media(min-width:720px){#emptySet:not(.hidden)~#songs{grid-row:4}#emptySet:not(.hidden)~#notice{grid-row:5}}

#peerBanner{grid-column:1/-1;justify-self:start;font-size:12px;color:var(--muted,#aeb8c1);margin-top:8px;max-width:100%;overflow-wrap:anywhere}#peerList{padding:0;list-style:none}#peerList li{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}#peerList li span{font-size:12px;color:var(--muted,#aeb8c1)}#peerState,#peerResult{overflow-wrap:anywhere}#peerResult:empty{display:none}#peerOwnCode{width:100%;font-family:ui-monospace,monospace;font-size:12px}#peerForgetConfirm{border:1px solid #8b672b;border-radius:8px;padding:10px;margin-top:8px}

#cueBar{display:flex;gap:8px;margin:10px 0}#cueBar.hidden{display:none}#stopCues,#outputStop{border-color:#d49655}#outputConfirmation{position:fixed;z-index:100;bottom:16px;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));box-sizing:border-box;padding:18px;border:1px solid #d49655;border-radius:12px;background:#181e24;box-shadow:0 0 0 100vmax #0009}#outputConfirmation.hidden{display:none}#outputRoutes li{overflow-wrap:anywhere}

.view-summary{min-height:44px;padding:4px 8px;margin:0 0 6px;font-size:.78rem;font-weight:400;border-color:transparent;background:transparent;color:var(--muted,#a7b4bc)}.view-summary.has-variant{color:var(--accent,#ffb11a)}#scopeFields section{margin:10px 0;padding:0;border:0}#scopeFields textarea,#scopeFields input:not([type=checkbox]){width:100%;box-sizing:border-box}#scopeFields .scope-inherited{margin:0 0 8px;color:var(--muted,#a7b4bc);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#scopeReadWarning,#scopeState{color:#e8ba77}

/* Keep reading controls visible; only the document scrolls underneath them. */
/* The fixed navigation stays outside lyric sizing, including short songs. */
#lyricsPanel{padding-top:0;padding-bottom:76px;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.reader-navigation{padding-bottom:calc(var(--reader-nav-bottom,12px) + env(safe-area-inset-bottom,0px))}
#lyricsPanel.reading-fullscreen{padding-bottom:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
#lyricsControls{position:sticky;top:0;z-index:3;background:var(--bg,#101317);padding:12px 0 8px;border-bottom:1px solid var(--line)}
#lyricsControls>.heading{position:static;top:auto}
#lyricsMeta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lyricsControls>.editor-buttons{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;margin:4px 0 0}
#lyricsControls>.editor-buttons>button{min-width:44px;min-height:44px;padding:6px;font-size:12px;white-space:nowrap;flex-shrink:0}
#autoScroll{flex:1}#scrollStatus:empty{display:none}
#lyricsPanel.reading-fullscreen>#lyricsControls{display:none}
@media(max-width:600px){
 #autoScroll,#lyricsFullscreen,#toggleChords{font-size:0!important}
 #autoScroll::after,#toggleChords::after{content:attr(data-compact);font-size:12px}
 #lyricsFullscreen::after{content:'⛶';font-size:22px;line-height:1}
}
@media(any-pointer:coarse){#fontDown,#fontUp{display:none}}

/* An extra sample control shares the fixed toolbar without a second row. */
#lyricsControls>.editor-buttons.has-sample>button{flex-shrink:1;min-width:32px;padding-inline:4px}
[data-sample-play]{white-space:nowrap;font-size:11px}
@media(max-width:600px){#lyricsControls>.editor-buttons.has-sample{gap:3px}#lyricsControls>.editor-buttons.has-sample>button{font-size:10px}#lyricsControls>.editor-buttons.has-sample #autoScroll::after,#lyricsControls>.editor-buttons.has-sample #toggleChords::after{font-size:10px}}
#fullscreenControls.has-sample #fullscreenCueStatus{position:absolute;top:100%;right:0;max-width:100%;font-size:11px}
@media(max-width:359px){#lyricsControls>.editor-buttons.has-sample>button{font-size:9px}#lyricsControls>.editor-buttons.has-sample #autoScroll{min-width:52px}#lyricsControls>.editor-buttons.has-sample #toggleChords{min-width:40px}#lyricsControls>.editor-buttons.has-sample [data-sample-play]{min-width:55px}#lyricsControls>.editor-buttons.has-sample #autoScroll::after,#lyricsControls>.editor-buttons.has-sample #toggleChords::after{font-size:9px}}

.step-list .pause-title{text-align:left;font-size:13px;background:transparent;border-color:transparent;min-width:0;overflow-wrap:anywhere;color:var(--accent)}.pause-editor{padding:12px;border:1px solid var(--line);border-radius:8px}.pause-editor h3{margin-top:0}@media(max-width:359px){.step-list .pause-title{grid-column:1/-1}}

/* An active followed song stays readable while disabled controls remain inert. */
.song.active,.song.active:disabled{opacity:1;border-color:var(--accent);background:var(--active-bg,#302719);box-shadow:inset 3px 0 var(--accent);font-weight:750}.song.active span:last-child{font-size:1.08em}.song.active span:first-child{color:var(--accent);font-weight:700}

#firstLibrary{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:12px 0}#firstLibrary p{font-size:13px;line-height:1.5;color:var(--muted,var(--muted,#aeb8c1))}#firstLibrary h2{font-size:20px}#firstLibrary input{width:100%;box-sizing:border-box}#firstConnect{width:100%;margin-top:8px}#firstLibrary details{margin-top:12px}#firstLibrary summary{font-size:13px}#lyricsControls .heading h2{flex:1}#lyricsSendCues{font-size:12px;flex-shrink:0}#songMidiMode{font-size:11px;padding-inline:8px}

body.first-run .now,body.first-run .set-label,body.first-run .footer,body.first-run #openLibrary{display:none}#firstConnect{background:var(--accent);border-color:var(--accent);color:var(--bg,#101317);font-weight:700}#peerGrantAccess{margin-top:6px}

#metronomeButton{min-width:52px!important;font-variant-numeric:tabular-nums;font-size:11px!important;touch-action:manipulation;user-select:none;-webkit-user-select:none}#metronomeButton.metronome-on{background:var(--accent);color:var(--bg,#101317);border-color:var(--accent)}
#metronomeVisual{position:fixed;inset:0;z-index:40;background:#000;display:grid;place-items:center}#metronomeVisual.hidden{display:none}.metronome-visual-controls{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:8px}.metronome-visual-controls button{min-width:48px;min-height:48px;background:#111;color:#fff;border:1px solid #666}.metronome-visual-controls #metronomeButton{font-size:13px!important;min-width:86px!important}#metronomePulse{width:min(55vw,55vh);aspect-ratio:1;border-radius:50%;background:#fff;opacity:0;transform:scale(.9);transition:opacity 65ms linear,transform 65ms linear}#metronomePulse.flash{opacity:1;transform:scale(1)}
#metronomeOptions{max-width:min(340px,calc(100vw - 36px));box-sizing:border-box;background:#151b20;color:#fff;border:1px solid #48525c;border-radius:14px;padding:20px}#metronomeOptions::backdrop{background:#000b}#metronomeOptions h2{font-size:19px;margin:0 0 10px}#metronomeOptions p{font-size:13px;color:#b8c1c9;line-height:1.5}.metronome-modes{display:flex;gap:8px;margin:14px 0}.metronome-modes button{flex:1;min-height:48px}.metronome-modes button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}#metronomeOptionsClose{width:100%;min-height:44px}


#songPresetDialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;border:1px solid #52616d;border-radius:12px;padding:18px;background:#181e24;color:#edf1f5}#songPresetDialog::backdrop{background:#000a}#songPresetDialog h2{font-size:1.15rem}#songPresetDialog p{font-size:.85rem}#songPresetDialog select{width:100%}

@media(max-width:600px){#cueBar{display:grid;grid-template-columns:1fr 1fr}#cueBar.hidden{display:none}#cueBar button{min-width:0;width:100%;min-height:44px;font-size:11px;padding:8px}#songPresetDialog .editor-buttons button{min-width:0;flex:1;padding:10px 8px;font-size:12px}#songPresetDialog p{font-size:12px;line-height:1.45}#songPresetDialog details{margin:10px 0 0}}

/* Local appearance; the two supplied themes never share the custom palette. */
:root{--bg:#101317;--fg:#e8ecef;--muted:#aeb8c1;--subtle:#14191e;--active-bg:#302719;--on-accent:#15191b;--song-blue:#248fff;--song-orange:#ffb13b;--song-pink:#ff40a2;--song-purple:#a884ff}
:root[data-theme=light]{--song-blue:#005bd8;--song-orange:#994900;--song-pink:#c01373;--song-purple:#6630ca}
[data-song-color=white]{color:var(--fg,#e8ecef)!important}[data-song-color=blue]{color:var(--song-blue)!important}[data-song-color=orange]{color:var(--song-orange)!important}[data-song-color=pink]{color:var(--song-pink)!important}[data-song-color=purple]{color:var(--song-purple)!important}
/* Off applies to every reader title; selection and editor previews stay independent. */
:root[data-title-colors=off] #songs .song .tuning-title,
:root[data-title-colors=off] #title,
:root[data-title-colors=off] #nextTitle .next-song-title,
:root[data-title-colors=off] #nextButtonTitle{color:var(--fg,#e8ecef)!important}
#songColorPreview{display:block;font-size:13px;font-weight:800;margin-top:4px;overflow-wrap:anywhere}
.tuning-label{font-weight:800}.tuning-title{transition:color .1s}
#songs{--list-font:14px;touch-action:pan-y}#songs .song{font-size:var(--list-font);min-height:50px}#songs .song span:first-child{font-size:.86em}#songs .set-break{font-size:.86em}
.lyric-color{color:var(--lyric-color)}:root[data-theme=light] .lyric-color{color:var(--lyric-color);filter:brightness(.68)}
.visual-lyric-editor{grid-column:1/-1;min-width:0;margin:12px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.lyric-editor-heading{font-size:13px;font-weight:650;padding:8px 10px 0}.lyric-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:6px;background:var(--panel)}.lyric-editor-toolbar button{min-width:38px;min-height:42px;padding:5px;font-size:20px;line-height:1}.lyric-swatch{font-weight:850}.lyric-swatch[data-lyric-color="#ff4545"]{color:#ff4545}.lyric-swatch[data-lyric-color="#38a2ff"]{color:#38a2ff}.lyric-picker{display:flex;flex-direction:column;align-items:center;gap:1px;margin:0!important;font-size:10px;line-height:1.1}.lyric-picker input[type=color]{display:block;width:42px;min-height:30px;height:30px;padding:2px;margin:0;border:1px solid var(--line);cursor:pointer}.lyric-toolbar-space{flex:1}.visual-lyric-editor .ProseMirror{position:relative;padding:12px;min-height:280px;max-height:65vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-wrap:break-word;font:16px/1.6 ui-monospace,monospace;font-variant-ligatures:none;outline:none;cursor:text;tab-size:4}.visual-lyric-editor:focus-within{border-color:var(--accent)}.lyric-editor-text{margin:0;white-space:pre-wrap}.ProseMirror-hideselection *::selection{background:transparent}#lyricColorStatus{font-size:11px;color:var(--muted);padding:6px 10px;margin:0;border-top:1px solid var(--line)}
#customTheme input[type=color]{width:100%;padding:4px}#listFont{padding:0;width:100%}
#qrScanner{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:16px}#qrScanner video{display:block;width:100%;max-height:45vh;background:#000;border-radius:8px}#qrScanner p{font-size:13px}#firstWebScan{width:100%;background:var(--accent);color:var(--on-accent);margin:4px 0 12px}
:root[data-theme=light] .check,:root[data-theme=light] #lyricsPanel button,:root[data-theme=light] .metronome-options label{color:var(--fg)}
:root[data-theme=light] #scopeReadWarning,:root[data-theme=light] #scopeState{color:#80500f}

.lyric-editor-toolbar{display:grid;grid-template-columns:repeat(3,minmax(28px,1fr)) minmax(44px,1.3fr) repeat(2,minmax(28px,1fr));gap:4px}.lyric-editor-toolbar button{min-width:0;width:100%;height:44px;min-height:44px}.lyric-picker-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px!important}.lyric-color-chip{width:20px;height:13px;border:1px solid #aeb8c1;border-radius:3px;background:var(--picked-color,#ff4545)}.lyric-color-panel{border-block:1px solid var(--line);padding:12px;background:var(--panel);display:flex;flex-direction:column;align-items:center;gap:10px}.lyric-color-panel>button{font-size:12px;min-height:40px}.lyric-color-panel>details{width:100%;font-size:11px}.lyric-color-panel input{font-size:14px}.lyric-color-panel svg{touch-action:none}

#next{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:6px;row-gap:0;text-align:left;padding:5px 10px;background:var(--panel);color:var(--fg);border-color:var(--accent)}#next .next-button-label{font-size:9px;letter-spacing:.03em;line-height:1.2;color:var(--muted)}#nextButtonTitle{font-size:13px;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nextButtonTitle[hidden]{display:none}#next .next-button-arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:22px}#nextTitle .next-song-title{font-weight:700}

#fullscreenControls{position:fixed;top:12px;right:12px;z-index:10;display:flex;gap:6px;align-items:center;max-width:calc(100vw - 24px)}#fullscreenControls button{font-size:11px;padding:6px 10px;min-height:40px;background:var(--panel);color:var(--fg);border-color:var(--line)}#fullscreenControls #closeFullscreen{position:static;font-size:22px;min-width:40px;min-height:40px;padding:2px}#lyricsPanel{scroll-behavior:auto;overflow-anchor:none}

#fullscreenCueStatus:empty{display:none}#fullscreenCueStatus{position:absolute;top:100%;right:0;max-width:min(360px,calc(100vw - 24px));background:var(--panel);color:var(--fg);padding:6px 10px;border-radius:8px;font-size:12px;white-space:normal}

#scrollStatus{min-height:18px;margin:2px 0 0;font-size:11px;color:var(--muted)}#scrollStatus:empty{display:block;visibility:hidden}

body.app-idle::after{content:"Gepauzeerd na zes uur · tik om verder te gaan";position:fixed;z-index:10000;top:12px;left:50%;transform:translateX(-50%);max-width:90vw;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel,var(--subtle,#171c21));color:var(--text,var(--fg,#edf1f4));font:12px/1.4 system-ui;text-align:center;pointer-events:none}

/* Imported white is the base vocal colour; keep it readable in the fixed light theme. */
:root[data-theme=light] .lyric-color[data-lyric-color="#ffffff"]{color:var(--fg);filter:none}

/* Independent guitar palette; bass colours and levels are unchanged. */
:root{--song-red:#ff7777;--song-green:#80d4a0;--song-yellow:#f4d96b}
:root[data-theme=light]{--song-red:#b42336;--song-green:#176c40;--song-yellow:#806000}
[data-song-color=red]{color:var(--song-red)!important}[data-song-color=green]{color:var(--song-green)!important}[data-song-color=yellow]{color:var(--song-yellow)!important}
