@font-face{font-family:Anton;src:url(/fonts/Anton-Regular.woff2)format("woff2");font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/AtkinsonHyperlegibleNext.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/AtkinsonHyperlegibleNext-Italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}:root{--font-display:Anton, "Arial Narrow", Impact, sans-serif;--font-body:Atkinson, "Atkinson Hyperlegible Next", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--control:44px;--control-s:36px;--r-1:4px;--r-2:8px;--r-3:14px;--header-h:64px;--rail-w:84px;--library-w:312px;--gutter:96px;--t-1:.1s;--t-2:.15s;--t-3:.2s;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-in:cubic-bezier(.5, 0, .9, .4);--ease-swap:cubic-bezier(.7, 0, .2, 1)}.app{--paper:#fff;--room:#e0deda;--rail:#d6d4cf;--ink:#141210;--muted:#544f49;--line:#cbc9c3;--edge:#757067;--sunken:#efede8;--selected:#f1ebde;--gold:#e7b44c;--gold-hover:#ecbf62;--on-gold:#141210;--mark:#9d6e29;--danger:#a32616;--danger-bg:#f8deda;--ok:#2f7a4f;--hover:color-mix(in srgb, var(--paper) 55%, transparent);--shadow-1:0 1px 2px #14121014, 0 12px 28px -18px #14121061;--shadow-2:0 32px 90px -28px #1412108c}.app.dark{--paper:#25221f;--room:#0a0806;--rail:#14110e;--ink:#f1ebde;--muted:#ada393;--line:#3f3b36;--edge:#8c8376;--sunken:#302c26;--selected:#353023;--mark:#e7b44c;--danger:#f2a393;--danger-bg:#3a1c17;--ok:#9fc7ab;--hover:color-mix(in srgb, var(--paper) 60%, transparent);--shadow-1:0 1px 2px #00000073, 0 12px 28px -16px #000000bf;--shadow-2:0 32px 90px -28px #000000e6}@media (prefers-reduced-motion:reduce){:root{--t-1:0s;--t-2:0s;--t-3:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{font-family:var(--font-body);color:#141210;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#e0deda;margin:0}body:has(.app.dark){background:#0a0806}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border-radius:var(--r-1);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color var(--t-1) var(--ease-out), color var(--t-1) var(--ease-out), border-color var(--t-1) var(--ease-out), transform var(--t-1) var(--ease-out), opacity var(--t-1) var(--ease-out);background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.4}select{touch-action:manipulation}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p,dl,dd{margin:0}svg{flex-shrink:0}input,textarea,select{color:var(--ink);background:var(--paper);border:1px solid var(--edge);border-radius:var(--r-1);transition:border-color var(--t-1)}input:hover,textarea:hover,select:hover{border-color:var(--ink)}input,select{height:var(--control);padding:0 12px}input[aria-invalid=true]{border-color:var(--danger)}textarea{resize:vertical;padding:14px;line-height:1.5}select{cursor:pointer}label{flex-direction:column;gap:8px;font-size:13px;font-weight:700;display:flex}kbd{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.4}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app ::selection{background:color-mix(in srgb, var(--gold) 45%, transparent);color:var(--ink)}.app input,.app textarea{caret-color:var(--mark)}.app *{scrollbar-color:var(--line) transparent}.button{height:var(--control);border-radius:var(--r-1);border:1px solid var(--edge);white-space:nowrap;transition:background-color var(--t-1) var(--ease-out), border-color var(--t-1) var(--ease-out), transform var(--t-1) var(--ease-out), box-shadow var(--t-2) var(--ease-out), opacity var(--t-1);justify-content:center;align-items:center;gap:9px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.button:hover:not(:disabled){background:var(--sunken);border-color:var(--ink)}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--gold);color:var(--on-gold);border-color:#0000}.button.primary:hover:not(:disabled){background:var(--gold-hover);border-color:#0000}.button.danger{background:var(--danger);color:var(--paper);border-color:#0000}.button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 88%, var(--ink));border-color:#0000}.icon-button{width:var(--control);height:var(--control);border-radius:var(--r-1);color:inherit;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled),.icon-button.active{background:var(--sunken)}.icon-button:active:not(:disabled){transform:scale(.96)}.icon-button[aria-pressed=true]{color:var(--ink)}.icon-button[aria-pressed=true] svg[fill=currentColor]{color:var(--mark)}.plain-link{white-space:nowrap;min-height:36px;color:var(--muted);border-radius:var(--r-1);align-items:center;gap:6px;padding:0 6px;font-size:13px;font-weight:700;display:inline-flex}.plain-link:hover:not(:disabled){color:var(--ink);background:var(--sunken)}.segmented{border-radius:var(--r-1);background:var(--sunken);gap:2px;margin-left:auto;padding:3px;display:flex}.segmented button{height:34px;color:var(--muted);border-radius:3px;padding:0 16px;font-size:12px;font-weight:700}.segmented button:hover{color:var(--ink)}.segmented .selected{background:var(--ink);color:var(--paper)}.switch{border:1px solid var(--edge);background:var(--sunken);width:46px;height:26px;transition:background-color var(--t-2), border-color var(--t-2);border-radius:20px;flex:none;padding:3px}.switch span{background:var(--muted);width:18px;height:18px;transition:transform var(--t-3) var(--ease-out), background-color var(--t-2);border-radius:50%;display:block}.switch.on{background:var(--ink);border-color:var(--ink)}.switch.on span{background:var(--paper);transform:translate(20px)}.action-menu{position:relative}.action-menu summary{cursor:pointer;border-radius:var(--r-1);width:40px;height:40px;transition:background-color var(--t-1);justify-content:center;align-items:center;list-style:none;display:flex}.action-menu summary::-webkit-details-marker{display:none}.action-menu summary:hover,.action-menu[open] summary{background:var(--sunken)}.action-menu>div{background:var(--paper);border:1px solid var(--line);width:252px;max-height:min(70vh,480px);box-shadow:var(--shadow-1);border-radius:var(--r-2);z-index:8;animation:pop-down var(--t-2) var(--ease-out);padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.action-menu>div>button{text-align:left;border-radius:var(--r-1);align-items:center;gap:10px;width:100%;min-height:40px;padding:10px;font-size:14px;font-weight:600;display:flex}.action-menu>div>button>svg{color:var(--muted)}.action-menu>div>button:hover:not(:disabled),.action-menu>div>button:focus-visible{background:var(--sunken);outline-offset:-2px}.action-menu>div>button.danger:not(:disabled),.action-menu>div>button.danger:not(:disabled)>svg{color:var(--danger)}.action-menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.menu-field{color:var(--muted);gap:6px;padding:8px 10px 10px;font-size:12px;font-weight:600}.menu-field select{height:40px;color:var(--ink);font-size:14px;font-weight:600}.section-menu>div{width:220px;animation-name:pop-up;inset:auto auto calc(100% + 8px) 0}.section-menu>div>button>span{font-variant-numeric:tabular-nums;color:var(--muted);width:18px;font-size:12px;font-weight:700}.spinner{border:2px solid #14121040;border-top-color:#141210;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--r-1);animation:fade-in var(--t-2) var(--ease-out);flex-direction:column;gap:8px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.form-error button{color:inherit;align-self:flex-start;padding-left:0}.form-error button:hover:not(:disabled){color:inherit;text-underline-offset:3px;background:0 0;text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-down{0%{opacity:0;transform:translateY(-2px)}}@keyframes pop-up{0%{opacity:0;transform:translateY(2px)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes breathe{0%,to{opacity:.35}50%{opacity:1}}.app{height:100dvh;min-height:560px;color:var(--ink);background:var(--room);transition:background-color var(--t-3), color var(--t-3);flex-direction:column;display:flex}.app-header{height:var(--header-h);background:var(--paper);border-bottom:1px solid var(--line);z-index:5;flex:none;align-items:center;gap:14px;padding:0 20px 0 18px;display:flex;position:relative}.brand{min-height:var(--control);border-radius:var(--r-1);align-items:center;gap:10px;display:flex}.brand-mark{border-radius:var(--r-1);background:var(--ink);width:30px;height:30px;color:var(--paper);place-items:center;display:grid}.masthead{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:20px;line-height:1}.header-right{align-items:center;gap:8px;margin-left:auto;display:flex}.save-status{color:var(--muted);align-items:center;gap:8px;margin-right:6px;font-size:12px;display:flex}.status-dot{background:var(--ok);width:7px;height:7px;transition:background-color var(--t-2);border-radius:50%}.status-dot.pending{background:var(--muted);animation:breathe 1.6s var(--ease-out) infinite}.status-dot.busy{background:var(--gold)}.status-dot.failed{background:var(--danger)}.command-trigger{border:1px solid var(--line);border-radius:var(--r-1);height:36px;color:var(--muted);align-items:center;gap:9px;padding:0 8px 0 10px;font-size:13px;display:flex}.command-trigger:hover{border-color:var(--edge);color:var(--ink)}.command-trigger kbd{margin-left:14px}.error-banner{background:var(--danger-bg);color:var(--danger);border-bottom:1px solid color-mix(in srgb, var(--danger) 30%, transparent);animation:fade-in var(--t-2) var(--ease-out);align-items:center;gap:16px;padding:8px 12px 8px 20px;font-size:13px;line-height:1.45;display:flex}.error-banner>span{flex:1}.error-banner>button:not(.icon-button){text-underline-offset:3px;min-height:var(--control);white-space:nowrap;padding:0 6px;font-weight:700;text-decoration:underline}.workspace{flex:1;min-height:0;display:flex}.rail{width:var(--rail-w);flex-direction:column;flex:none;justify-content:space-between;padding:18px 10px 14px;display:flex}.rail-main,.rail-bottom{flex-direction:column;gap:4px;display:flex}.rail button{border-radius:var(--r-2);width:64px;height:60px;color:var(--muted);transition:background-color var(--t-2) var(--ease-out), color var(--t-2);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex;position:relative}.rail button:hover{background:var(--hover);color:var(--ink)}.rail button.current{color:var(--ink);background:var(--paper)}.library{width:var(--library-w);flex-direction:column;flex:none;min-width:0;padding:22px 16px 0 6px;display:flex}.library-heading{justify-content:space-between;align-items:flex-end;gap:8px;min-height:52px;padding:0 0 14px 10px;display:flex}.library-heading h1{overflow-wrap:anywhere;font-size:20px;font-weight:700;line-height:1.2}.back-link{margin:0 0 4px -6px}.library-toggle{color:var(--muted)}.library-search{height:var(--control);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-1);transition:border-color var(--t-1);flex:none;align-items:center;gap:9px;padding:0 8px 0 12px;display:flex}.library-search:hover,.library-search:focus-within{border-color:var(--ink)}.library-search>svg{color:var(--muted)}.library-search input{appearance:none;background:0 0;border:0;outline:0;width:100%;min-width:0;height:40px;padding:0;font-size:14px}.library-search input::-webkit-search-cancel-button{display:none}.library-search input::-webkit-search-decoration{display:none}.library-search kbd{background:var(--sunken);border-color:#0000}.library-search>button{width:32px;height:32px;color:var(--muted);place-items:center;display:grid}.library-search>button:hover{color:var(--ink);background:var(--sunken)}.filters{justify-content:space-between;gap:6px;margin:8px 0 4px;padding:0 4px;display:flex}.filters select{color:var(--muted);background:0 0;border:0;max-width:170px;height:34px;padding:0 4px;font-size:13px;font-weight:600}.filters select:hover{color:var(--ink);background:var(--hover)}.song-list{scrollbar-width:thin;transition:opacity var(--t-3);flex:1;padding:2px 0 12px;position:relative;overflow-y:auto}.song-list.loading{opacity:.55}.list-cursor{height:var(--cursor-h,0px);transform:translateY(var(--cursor-y,0px));background:var(--paper);border-radius:var(--r-2);opacity:0;pointer-events:none;position:absolute;top:0;left:0;right:0;box-shadow:0 1px 2px #14121014}.song-list[data-cursor=on] .list-cursor{opacity:1}.song-list[data-cursor-ready] .list-cursor{transition:transform var(--t-3) var(--ease-swap), height var(--t-3) var(--ease-swap), opacity var(--t-2)}.song-row{z-index:1;text-align:left;border-radius:var(--r-2);align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 12px 12px 14px;display:flex;position:relative}.song-row:after{content:"";background:var(--line);height:1px;transition:opacity var(--t-2);position:absolute;bottom:0;left:14px;right:12px}[role=listitem]:last-child .song-row:after,.song-row.selected:after{opacity:0}[role=listitem]:has(+[role=listitem] .selected) .song-row:after{opacity:0}.song-row:hover{background:var(--hover)}.song-row.selected,.song-row.selected:hover{background:0 0}.song-number{font-variant-numeric:tabular-nums;color:var(--muted);flex:none;min-width:18px;padding-top:1px;font-size:13px;font-weight:700}.song-row.selected .song-number{color:var(--ink)}.song-description{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.song-description strong{font-size:15px;font-weight:700;line-height:1.3}.song-end{flex:none;align-items:center;gap:8px;display:flex}.key-chip{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;transition:color var(--t-2);font-size:13px;font-weight:600}.song-row.selected .key-chip{color:var(--ink)}.favourite-mark{color:var(--mark)}.song-end>svg:not(.favourite-mark){color:var(--muted)}.list-empty{text-align:left;animation:fade-in var(--t-2);flex-direction:column;align-items:flex-start;gap:8px;padding:32px 12px;font-size:14px;display:flex}.list-empty strong{overflow-wrap:anywhere;font-size:15px;font-weight:700}.list-empty p{color:var(--muted);font-size:13px;line-height:1.5}.list-empty .button{margin-top:6px;font-size:13px}.library-foot{border-top:1px solid var(--line);height:54px;color:var(--muted);flex:none;justify-content:space-between;align-items:center;padding-left:10px;font-size:12px;display:flex}.library-foot button{height:var(--control);align-items:center;gap:6px;padding:0 10px;font-weight:700;display:flex}.library-foot button:hover:not(:disabled){color:var(--ink);background:var(--hover)}.sets-list{flex-direction:column;padding:0 0 12px;display:flex;overflow:auto}.set-row{text-align:left;border-bottom:1px solid var(--line);border-radius:0;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 12px 12px 14px;display:flex}.set-row:hover{background:var(--hover)}.set-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.set-body strong{font-size:15px}.set-body span{color:var(--muted);font-size:13px}.set-row>svg{color:var(--muted)}.create-set{align-self:flex-start;margin:14px 0 0 10px}.toast{z-index:20;background:var(--ink);color:var(--paper);border-radius:var(--r-2);box-shadow:var(--shadow-1);animation:fade-in var(--t-2) var(--ease-out) both;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.toast.leaving{animation:fade-out var(--t-3) var(--ease-in) forwards}.library-hidden .library{display:none}.reader{background:var(--paper);border-radius:var(--r-3) 0 0 0;min-width:0;box-shadow:var(--shadow-1);flex-direction:column;flex:1;margin-top:16px;display:flex;position:relative;overflow:hidden}.reader-bar{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 12px 0 22px;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.breadcrumb .icon-button{margin-left:-10px}.back-button{height:var(--control);color:var(--ink);align-items:center;gap:2px;margin-left:-6px;padding:0 10px 0 4px;font-size:14px;font-weight:600;display:flex}.back-button:hover{background:var(--sunken)}.crumb-set{white-space:nowrap;text-overflow:ellipsis;max-width:22ch;overflow:hidden}.breadcrumb strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.crumb-set+strong{border-left:1px solid var(--line);padding-left:10px}.reader-actions{flex:none;align-items:center;gap:2px;display:flex}.reader-actions .icon-button,.reader-actions .action-menu summary{width:40px;height:40px}.reader-scroll{scrollbar-width:thin;overscroll-behavior:contain;scroll-behavior:auto;flex:1;overflow:hidden auto}.song-paper{max-width:1040px;animation:fade-in var(--t-2) var(--ease-out);margin:0 auto;padding:28px 56px 56px}.song-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;overflow-wrap:anywhere;text-wrap:balance;max-width:28ch;font-size:clamp(28px,2.6vw,36px);font-weight:400;line-height:1.05}.song-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:14px;font-size:13px;display:flex}.meta-select{flex-direction:row;align-items:center;gap:6px;font-size:13px;font-weight:400}.song-meta select{background:var(--sunken);min-width:56px;height:34px;color:var(--ink);transition:background-color var(--t-1);border:0;padding:0 8px;font-size:14px;font-weight:700}.song-meta select:hover:not(:disabled){background:var(--selected)}.song-meta select:disabled{opacity:.6;cursor:not-allowed}.meta-fact{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.chord-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:16px}.strip-toggle{width:100%;min-height:var(--control);text-align:left;border-radius:0;align-items:center;gap:12px;font-size:13px;display:flex}.strip-label{flex:none;font-weight:700}.strip-action{color:var(--muted);flex:none;align-items:center;gap:4px;margin-left:auto;font-weight:600;display:inline-flex}.strip-toggle:hover .strip-action{color:var(--ink)}.strip-action svg{transition:transform var(--t-2) var(--ease-out)}.chord-strip.open .strip-action svg{transform:rotate(180deg)}.strip-shapes{scrollbar-width:thin;animation:fade-in var(--t-2) var(--ease-out);gap:16px;padding:2px 0 14px;display:flex;overflow-x:auto}.diagram{text-align:center;flex-direction:column;flex:none;align-items:center;width:72px;display:flex}.diagram>b{font-size:14px;line-height:1.2}.diagram svg{width:72px;height:72px;margin-top:2px}.diagram.unavailable{gap:6px}.diagram-blank{border:1px dashed var(--edge);border-radius:var(--r-1);opacity:.6;width:50px;height:44px;margin-top:8px}.diagram small{color:var(--muted);font-size:12px;line-height:1.2}.strip-more{white-space:nowrap;align-self:center;font-size:13px}.shape-loading{color:var(--muted);padding:14px 0;font-size:13px}.chart{padding-top:26px}.chart-empty{color:var(--muted);font-size:15px}.chart-section{grid-template-columns:var(--gutter) minmax(0, 1fr);gap:12px;margin-bottom:28px;scroll-margin-top:20px;display:grid}.section-label{flex-direction:column;align-items:flex-start;gap:6px;padding-top:4px;display:flex}.section-label .mark{font-family:var(--font-display);letter-spacing:.04em;border:1px solid var(--ink);color:var(--ink);text-align:center;min-width:24px;transition:background-color var(--t-2), color var(--t-2);padding:4px 5px 3px;font-size:13px;line-height:1}.section-label h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);transition:color var(--t-2);font-size:12px;font-weight:700;line-height:1.35}.chart-section[data-current] .mark{background:var(--ink);color:var(--paper)}.chart-section[data-current] h3{color:var(--ink)}.section-lines{min-width:0}.chart-line{line-height:1.35;font-size:var(--chart-size,21px);flex-wrap:wrap;align-items:flex-end;row-gap:.25em;margin-bottom:.4em;display:flex}.chart-word{flex-wrap:wrap;max-width:100%;display:inline-flex}.chart-piece{white-space:pre;flex-direction:column;min-width:0;max-width:100%;display:flex}.chart-piece .lyric{white-space:pre-wrap;overflow-wrap:anywhere}.chart .chord{color:var(--ink);font-weight:700;line-height:1.3}.chart-piece .chord{padding-right:.3em}.chord-line{gap:.2em 1.1em}.lyric-line{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:.2em;display:block}.chart.lyrics-only .lyric-line{margin-bottom:.1em;line-height:1.45}.song-note{background:var(--sunken);color:var(--muted);border-radius:var(--r-1);margin-left:calc(var(--gutter) + 12px);align-items:flex-start;gap:12px;padding:16px 18px;font-size:15px;line-height:1.5;display:flex}.song-note p{white-space:pre-wrap}.chart-end{margin:40px 0 0 calc(var(--gutter) + 12px);border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-top:8px;font-size:13px;display:flex}.chart-end button{min-height:var(--control);align-items:center;gap:6px;padding:0 8px;font-weight:700;display:flex}.chart-end .next-in-set{color:var(--ink);text-align:left;margin-left:-8px}.chart-end button:hover{color:var(--ink);background:var(--sunken)}.transport{border-top:1px solid var(--line);background:var(--paper);flex:none;align-items:center;gap:12px;min-height:64px;padding:10px 14px 10px 18px;display:flex;position:relative}.reading-progress{height:2px;position:absolute;top:-1px;left:0;right:0}.reading-progress>div{background:var(--mark);transform-origin:0;height:100%;transform:scaleX(0)}.scroll-button{border-radius:var(--r-1);height:var(--control);min-width:var(--control);background:var(--ink);color:var(--paper);transition:background-color var(--t-2) var(--ease-out), color var(--t-2);justify-content:center;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:13px;font-weight:700;display:flex}.scroll-button.playing{background:var(--gold);color:var(--on-gold)}.pace-control{color:var(--muted);flex-direction:row;align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}input[type=range]{height:28px;accent-color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0}.pace-control input{width:84px}.metro-trigger{color:var(--muted);height:var(--control);min-width:var(--control);justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.metro-trigger:hover{color:var(--ink);background:var(--sunken)}.transport .action-menu summary{width:var(--control);height:var(--control)}.reading-menu>div{flex-direction:column;gap:14px;width:280px;padding:14px 16px;animation-name:pop-up;display:flex;inset:auto auto calc(100% + 8px) 0}.reading-row{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.reading-row input[type=range]{width:100%;height:var(--control)}.size-stepper{align-items:center;gap:4px;display:flex}.size-stepper .icon-button{border:1px solid var(--line)}.size-stepper>span{text-align:center;min-width:4ch;font-size:15px;font-weight:700}.transport-space{flex:1}.listen-trigger{min-width:var(--control);min-height:var(--control);font-variant-numeric:tabular-nums;color:var(--muted);justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.listen-trigger:hover{background:var(--sunken);color:var(--ink)}.listen-trigger.listening{background:var(--selected);color:var(--ink)}.listen-trigger.listening svg{color:var(--mark)}.follow-notice{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-2);max-width:calc(100% - 24px);box-shadow:var(--shadow-1);color:var(--muted);animation:fade-in var(--t-2) var(--ease-out);padding:10px 14px;font-size:13px;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:12px}.follow-error{color:var(--danger);align-items:center;gap:6px;display:flex}.follow-tempo{color:var(--mark);font-variant-numeric:tabular-nums;display:none}.size-control{border-left:1px solid var(--line);align-items:center;padding-left:6px;font-size:14px;font-weight:700;display:flex}.size-control .icon-button{width:36px;height:40px}.song-step{border-left:1px solid var(--line);font-variant-numeric:tabular-nums;align-items:center;padding-left:6px;font-size:14px;font-weight:700;display:flex}.song-step .icon-button{width:40px;height:40px}.song-step small{color:var(--muted);font-size:13px;font-weight:400}.reader-empty{max-width:560px;animation:fade-in var(--t-2);flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:10px;padding:40px 56px;display:flex}.reader-empty h2{font-size:22px;font-weight:700;line-height:1.2}.reader-empty>p{color:var(--muted);font-size:15px;line-height:1.5}.reader-empty-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.stage .app-header,.stage .rail,.stage .library{display:none}.stage .reader{box-shadow:none;border-radius:0;margin:0}.stage .song-paper{max-width:1120px;padding-top:32px;animation:none}.stage .reader-bar{height:52px}.stage .chart-line{font-size:calc(var(--chart-size) + 4px)}.stage .transport{min-height:72px;padding:12px 32px}.stage .section-label .mark{transition:none}.chart-tab-line{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(var(--chart-size) * .72);white-space:pre;letter-spacing:0;max-width:100%;line-height:1.35;overflow-x:auto}.meta-key-action{border-radius:var(--r-sm);background:var(--sunken);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border:0;font-weight:700}.chart-word{align-items:flex-end}.sheet{background:var(--paper);color:var(--ink);border-radius:var(--r-3);width:540px;max-width:min(540px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-2);border:0;padding:0;overflow:hidden}.sheet.wide{width:1080px;max-width:calc(100vw - 48px)}.sheet[open]{animation:sheet-in var(--t-3) var(--ease-out);flex-direction:column;display:flex}.sheet.closing{animation:sheet-out var(--t-2) var(--ease-in) forwards;pointer-events:none}.sheet::backdrop{animation:fade-in var(--t-3) var(--ease-out);background:#14121080}.sheet.closing::backdrop{animation:fade-out var(--t-2) var(--ease-in) forwards}.sheet-frame{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.sheet-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 14px 16px 24px;display:flex}.sheet-head h2{padding-top:6px;font-size:20px;font-weight:700;line-height:1.25}.sheet-head p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.5}.sheet-foot{border-top:1px solid var(--line);flex:none;justify-content:flex-end;align-items:center;gap:10px;margin-top:auto;padding:14px 24px;display:flex}.sheet-foot>.muted{align-items:center;gap:7px;margin-right:auto;font-size:12px;line-height:1.4;display:flex}@keyframes sheet-in{0%{opacity:0;transform:translateY(6px)}}@keyframes sheet-out{to{opacity:0;transform:translateY(4px)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(12px)}}@keyframes sheet-down{to{opacity:0;transform:translateY(12px)}}.editor-sheet .sheet-frame{overflow:hidden}.editor-content{overscroll-behavior:contain;border:0;flex:auto;min-width:0;min-height:0;margin:0;padding:0;overflow:auto}.editor-tabs.segmented{width:max-content;margin:0 24px 14px}.editor-tabs.segmented button{height:38px}.editor-save-error{color:var(--danger);flex:none;padding:10px 24px;font-size:13px}.discard-question{margin-right:auto;font-size:13px}.editor-top{grid-template-columns:1.5fr 1fr;gap:14px;padding:20px 24px 14px;display:grid}.editor-top input:first-child{font-size:18px;font-weight:700}.editor-options{flex-wrap:wrap;align-items:flex-end;gap:14px;padding:0 24px 18px;display:flex}.editor-options label{font-size:12px}.editor-options select{min-width:88px}.editor-options input[type=number]{width:92px}.check-label{flex-direction:row;align-items:center;gap:8px;padding-bottom:12px}.check-label input{width:18px;height:18px;accent-color:var(--ink)}.editor-work{border-top:1px solid var(--line);flex:none;grid-template-columns:1fr 1fr;height:46vh;min-height:360px;max-height:520px;display:grid}.source-pane,.preview-pane{flex-direction:column;min-height:0;display:flex;overflow:auto}.source-pane{border-right:1px solid var(--line)}.pane-label{color:var(--muted);background:var(--sunken);flex:none;justify-content:space-between;gap:12px;padding:10px 20px;font-size:12px;font-weight:600;display:flex}.pane-label>span:first-child{color:var(--ink);font-weight:700}.source-pane textarea{resize:none;font:14px/1.65 var(--font-mono);tab-size:4;border:0;border-radius:0;flex:1;min-height:150px;padding:20px}.source-pane textarea:focus-visible{outline-offset:-2px}.chord-tools{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.chord-tools button{background:var(--sunken);min-width:36px;height:36px;padding:0 10px;font-size:13px;font-weight:700}.chord-tools button:hover{background:var(--ink);color:var(--paper)}.preview-chart{padding:24px}.preview-chart .chart-section{grid-template-columns:64px minmax(0,1fr);gap:6px;margin-bottom:24px}.preview-chart .chart-line{font-size:15px}.preview-chart .section-label .mark{min-width:22px;padding:3px 4px 2px;font-size:12px}.preview-chart .section-label h3{font-size:11px}.details-form{grid-template-columns:1fr 1fr;gap:20px;padding:24px;display:grid}.details-form .notes-field{grid-column:1/-1}.add-options{flex-direction:column;padding:6px 12px 8px;display:flex}.add-options>button{text-align:left;border-bottom:1px solid var(--line);border-radius:var(--r-1);align-items:center;gap:14px;min-height:64px;padding:12px;display:flex}.add-options>button:last-child{border-bottom:0}.add-options>button:hover{background:var(--sunken)}.add-options>button>svg{color:var(--muted)}.add-options>button>span{flex:1;min-width:0}.add-options strong{font-size:15px;display:block}.add-options small{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.4;display:block}.add-options>button>svg:last-child{transition:transform var(--t-2) var(--ease-out)}.add-options>button.open>svg:last-child{transform:rotate(180deg)}.paste-form{animation:fade-in var(--t-2) var(--ease-out);flex-direction:column;gap:8px;padding:4px 24px 24px;display:flex}.paste-form label{color:var(--muted);font-size:12px}.paste-form textarea{font:13px/1.6 var(--font-mono)}.paste-form .button{align-self:flex-end}.import-body{grid-template-columns:1fr 1fr;gap:32px;padding:24px;display:grid}.import-body h3{margin-bottom:12px;font-size:16px;font-weight:700}.import-body p{color:var(--muted);margin-bottom:12px;font-size:13px;line-height:1.6}.import-list{border-top:1px solid var(--line);max-height:300px;margin-bottom:20px;overflow:auto}.import-list>div{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.import-list>div>span:first-of-type{flex:1;min-width:0}.import-list>div>span:last-of-type{color:var(--muted);font-size:13px}.import-list small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.import-body p.import-warning{background:var(--sunken);border-radius:var(--r-1);color:var(--ink);padding:10px 12px}.ug-form{flex-direction:column;gap:10px;padding:20px 24px 24px;display:flex}.ug-url-row{gap:10px;display:flex}.ug-url-row input{flex:1;min-width:0;font-size:14px}.ug-form>p{color:var(--muted);font-size:13px;line-height:1.5}.ug-form a{text-underline-offset:3px;align-items:center;gap:3px;text-decoration:underline;display:inline-flex}.ug-review-header{border-top:1px solid var(--line);align-items:center;gap:20px;padding:18px 24px;display:flex}.ug-review-header h3{font-size:20px;font-weight:700;line-height:1.2}.ug-review-header p{color:var(--muted);margin-top:4px;font-size:13px}.ug-provenance{color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;padding:0 24px 16px;font-size:13px;display:flex}.ug-provenance a{text-underline-offset:3px;align-items:center;gap:5px;min-height:36px;margin-left:auto;text-decoration:underline;display:flex}.ug-chart{border-top:1px solid var(--line);flex:none;max-height:42vh;overflow:auto}.ug-chart pre{white-space:pre-wrap;font:13px/1.6 var(--font-mono);margin:24px}.ug-chart .chart{padding:24px}.settings-body{padding:4px 24px 24px}.settings-body h3{color:var(--muted);margin:20px 0 2px;font-size:13px;font-weight:700}.setting{border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.setting strong{font-size:15px;display:block}.setting small{color:var(--muted);margin-top:2px;font-size:13px;font-weight:400;line-height:1.4;display:block}.setting select{min-width:120px}.settings-note{color:var(--muted);margin:8px 0 12px;font-size:13px;line-height:1.5}.settings-storage{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:18px;display:flex}.settings-storage .button{font-size:13px}.shortcuts{color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin-top:10px;font-size:13px;display:grid}.shortcuts>div{align-items:center;gap:8px;display:flex}.recover-body{padding:20px 24px;font-size:14px;line-height:1.55}.recover-facts{border-top:1px solid var(--line);margin:16px 0}.recover-facts>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.recover-facts dt{color:var(--muted)}.recover-facts dd{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.recover-warning{background:var(--danger-bg);color:var(--danger);border-radius:var(--r-1);padding:10px 12px;font-size:13px}.notes-body{padding:24px}.notes-body textarea,.notes-body input:not([type=checkbox]){width:100%}.setlist-form{flex-direction:column;gap:14px;display:flex}.setlist-form .library-search input{height:40px}.pick-count{color:var(--muted);font-size:13px}.set-checks{border-top:1px solid var(--line);max-height:280px;overflow:auto}.set-checks label,.check-row{border-bottom:1px solid var(--line);cursor:pointer;flex-direction:row;align-items:center;gap:12px;min-height:52px;padding:8px 4px;font-weight:400;display:flex}.set-checks label:hover,.check-row:hover{background:var(--sunken)}.set-checks input,.check-row input{width:20px;height:20px;accent-color:var(--ink);flex:none;padding:0}.set-checks label>span:first-of-type,.check-row>span{flex-direction:column;flex:1;min-width:0;font-size:14px;font-weight:700;display:flex}.set-checks small,.check-row small{color:var(--muted);font-size:13px;font-weight:400}.pick-order{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:2ch;font-size:13px;font-weight:700}.set-checks-empty{padding:14px 4px;font-size:13px}.set-picker{padding:8px 24px 16px}.set-picker>p{padding:12px 0;font-size:14px}.metronome-body{text-align:center;padding:28px 32px}.beat-dots{justify-content:center;align-items:center;gap:10px;height:14px;display:flex}.beat-dots span{background:var(--line);width:10px;height:10px;transition:background-color var(--t-1);border-radius:50%}.beat-dots span.down{width:12px;height:12px}.beat-dots span.lit{background:var(--gold)}.tempo-number{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:22px 0;font-size:64px;line-height:1}.tempo-number small{font-family:var(--font-body);color:var(--muted);margin-top:8px;font-size:13px;font-weight:600;display:block}.metronome-body>input{width:100%;height:var(--control)}.metro-controls{justify-content:center;gap:12px;margin-top:18px;display:flex}.metro-help{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.5}.metronome-body .form-error{text-align:left;margin-top:16px}.backup-confirmation{border-top:1px solid var(--line);padding:18px 24px;font-size:14px}.backup-confirmation p{color:var(--muted);margin-top:5px}.ug-browse{flex-direction:column;flex:1;min-height:0;display:flex}.ug-browse-tabs{border-bottom:1px solid var(--line);flex:none;gap:4px;padding:0 18px;display:flex;overflow-x:auto}.ug-browse-tabs button{min-height:var(--control);color:var(--muted);white-space:nowrap;transition:color var(--t-1) var(--ease-out);border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 12px;font-size:14px;font-weight:700}.ug-browse-tabs button:hover{color:var(--ink)}.ug-browse-tabs .selected{color:var(--ink);border-bottom-color:var(--gold)}.ug-browse-panel{flex-direction:column;flex:1;min-height:0;display:flex}.ug-browse-search{flex-direction:column;flex:none;gap:8px;padding:16px 24px 0;display:flex}.ug-browse-field{gap:10px;display:flex}.ug-browse-field input{flex:1;min-width:0;font-size:15px}.ug-browse-status{color:var(--muted);flex:none;padding:10px 24px 0;font-size:13px}.ug-browse-note{color:var(--muted);align-items:center;gap:8px;padding:16px 24px;font-size:13px;line-height:1.5;display:flex}.ug-browse-note .spinner{border-color:color-mix(in srgb, var(--ink) 25%, transparent);border-top-color:var(--ink)}.ug-browse-error{flex:none;margin:12px 24px 0}.ug-browse-error-actions{flex-wrap:wrap;gap:0 16px;display:flex}.ug-browse-empty{flex-direction:column;align-items:flex-start;gap:6px;padding:24px;display:flex}.ug-browse-empty strong{font-size:15px}.ug-browse-empty p{color:var(--muted);font-size:13px;line-height:1.5}.ug-browse-empty .button{margin-top:6px}.ug-browse-head{border-bottom:1px solid var(--line);flex:none;padding:6px 24px 0}.ug-browse-check{min-height:var(--control);cursor:pointer;flex-direction:row;flex:1;align-items:center;gap:12px;min-width:0;font-size:14px;font-weight:400}.ug-browse-check input{width:20px;height:20px;accent-color:var(--ink);cursor:inherit;flex:none;padding:0}.ug-browse-check:has(input:disabled){cursor:default}.ug-browse-head .ug-browse-check{font-size:13px;font-weight:700}.ug-browse-list{flex:auto;min-height:176px;margin:0;padding:0;list-style:none;overflow:auto}.ug-browse-list[aria-busy=true]{opacity:.6}.ug-browse-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:60px;padding:6px 18px 6px 24px;display:flex}.ug-browse-row.picked{background:var(--selected)}.ug-browse-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ug-browse-text strong{overflow-wrap:anywhere;font-size:15px;line-height:1.3}.ug-browse-text small{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.4}.ug-browse-text .ug-browse-fail{color:var(--danger)}.ug-browse-row.saved .ug-browse-text strong{color:var(--muted)}.ug-browse-state{color:var(--muted);white-space:nowrap;flex:none;font-size:12px;font-weight:700}.ug-browse-state.failed{color:var(--danger)}.ug-browse-open{flex:none;padding:0 14px;font-size:13px}.ug-browse-more{flex:none;justify-content:center;padding:12px 24px;display:flex}.ug-browse-run{border-top:1px solid var(--line);background:var(--sunken);flex-wrap:wrap;flex:none;align-items:center;gap:8px 12px;padding:8px 14px 8px 24px;font-size:13px;display:flex}.ug-browse-run progress{width:120px;height:6px;accent-color:var(--gold);flex:none}.ug-browse-run-text{overflow-wrap:anywhere;flex:1;min-width:14ch;line-height:1.4}.ug-browse-run.blocked strong{color:var(--danger)}.ug-browse-foot{flex-wrap:wrap}.ug-browse-foot-note{color:var(--muted);flex:16ch;min-width:0;margin-right:auto;font-size:12px;line-height:1.4}.ug-browse-preview{flex-direction:column;flex:1;min-height:0;display:flex}.ug-browse-backbar{flex:none;padding:6px 18px 0}.ug-browse-preview .ug-review-header{border-top:0;flex:none}.ug-browse-preview h3:focus{outline:none}.ug-browse-preview .ug-provenance{flex:none}.ug-browse-preview .ug-chart{flex:auto;min-height:200px;max-height:none}.ug-browse-preview .ug-chart pre{white-space:pre}@media (width<=640px){.ug-browse-tabs{padding:0 10px}.ug-browse-tabs button{flex:1;padding:0 8px}.ug-browse-search,.ug-browse-status,.ug-browse-head{padding-left:20px;padding-right:20px}.ug-browse-note,.ug-browse-empty{padding:16px 20px}.ug-browse-error{margin:12px 20px 0}.ug-browse-list{min-height:132px}.ug-browse-row{flex-wrap:wrap;gap:0 10px;padding:6px 12px 6px 20px}.ug-browse-state{flex-basis:100%;order:3;padding:0 0 6px 32px}.ug-browse-run{padding:8px 8px 8px 20px}.ug-browse-run progress{flex:100%;width:auto;margin-right:12px}.ug-browse-backbar{padding:4px 12px 0}.ug-browse-foot-note{flex-basis:100%}}.ss{flex-direction:column;height:min(640px,100dvh - 140px);min-height:0;display:flex}.ss-field{flex:none;padding:16px 24px 6px}.ss-field input{font-size:15px}.ss-results{flex:auto;min-height:0;padding:0 12px 16px;overflow:auto}.ss-group-head{align-items:center;gap:10px;min-height:44px;display:flex}.ss-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px;font-size:12px;font-weight:700}.ss-group-head .ss-group-title{padding-bottom:4px}.ss-spinner{border-color:color-mix(in srgb, var(--ink) 25%, transparent);border-top-color:var(--ink);width:13px;height:13px;margin-top:8px}.ss-kinds{margin:8px 0 0 auto}.ss-kinds button{height:28px;padding:0 10px}.ss-list{margin:0;padding:0;list-style:none}.ss-local{text-align:left;border-radius:var(--r-1);align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 12px;display:flex}.ss-local:hover{background:var(--sunken)}.ss-local:focus-visible{background:var(--sunken);outline-offset:-2px}.ss-local[aria-current=true]{background:var(--selected)}.ss-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ss-text strong{overflow-wrap:anywhere;font-size:15px;line-height:1.3}.ss-text small{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.4}.ss-remote{border-bottom:1px solid var(--line)}.ss-remote:last-child{border-bottom:0}.ss-row{align-items:center;gap:10px;min-height:56px;padding:6px 0 6px 12px;display:flex}.ss-actions{flex:none;align-items:center;gap:4px;display:flex}.ss-preview-button{color:var(--muted)}.ss-action{height:var(--control-s);min-width:84px;padding:0 12px;font-size:13px}.ss-action[aria-disabled=true]{opacity:.6;cursor:default}.ss-action .spinner{border-color:color-mix(in srgb, var(--ink) 25%, transparent);border-top-color:var(--ink);width:12px;height:12px}.ss-row-foot{flex-wrap:wrap;align-items:center;gap:0 12px;margin-top:-6px;padding:0 0 6px 6px;display:flex}.ss-versions-toggle{min-height:32px;font-size:12px}.ss-versions-toggle svg{transition:transform var(--t-2) var(--ease-out)}.ss-versions-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.ss-fail{color:var(--danger);flex-wrap:wrap;align-items:center;gap:0 8px;font-size:13px;line-height:1.4;display:inline-flex}.ss-fail .plain-link{color:inherit;text-underline-offset:3px;text-decoration:underline}.ss-versions{border-left:2px solid var(--line);animation:fade-in var(--t-2) var(--ease-out);margin:0 0 8px 12px;padding:0 0 0 10px;list-style:none}.ss-versions button{text-align:left;border-radius:var(--r-1);align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 10px;font-size:13px;display:flex}.ss-versions button:hover{background:var(--sunken)}.ss-versions button[aria-pressed=true]{background:var(--selected);font-weight:700}.ss-versions button span{flex:1;min-width:0}.ss-versions small{color:var(--muted);white-space:nowrap;font-size:12px}.ss-error{margin:4px 12px 8px}.ss-more{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;padding:10px 12px 0;display:flex}.ss-none{color:var(--muted);padding:16px 12px;font-size:14px}.ss-preview{height:100%}.ss-preview .ug-browse-foot{justify-content:flex-end}.ug-browse-head:has(.ug-browse-add-missing){align-items:center;gap:12px;padding-bottom:6px;display:flex}.ug-browse-add-missing{height:var(--control-s);flex:none;padding:0 14px;font-size:13px}@media (width<=1150px){.header-right .find-trigger>span{display:inline}.header-right .find-trigger kbd{display:none}}@media (width<=640px){.header-right .find-trigger{width:var(--control);height:var(--control);color:var(--ink);border-color:#0000;justify-content:center;padding:0;display:flex}.header-right .find-trigger>span{display:none}.ss{height:calc(100dvh - 90px)}.ss-field{padding:12px 16px 4px}.ss-results{padding:0 6px 12px}.ss-action{min-width:0;height:var(--control)}.ug-browse-head:has(.ug-browse-add-missing){flex-wrap:wrap}}.header-right .button.primary.find-trigger{display:inline-flex}.find-trigger kbd{opacity:.65;margin-left:8px;font-size:11px}@media (width<=1150px){.find-trigger kbd{display:none}}@media (width<=640px){.header-right .button.primary.find-trigger{gap:6px;padding-inline:10px}}.book-closed .workspace{display:none}.book-desk{flex:1;place-items:center;min-height:0;padding:40px 24px;display:grid;overflow:auto}.book-entrance{justify-items:center;gap:8px;display:grid}.book-open-object{border-radius:8px;margin:0 0 16px;padding:16px}.book-object{--cover-bg:#141210;--cover-fg:#f3ecde;--cover-spine:#24211d;text-align:left;perspective:1100px;width:264px;height:352px;display:block;position:relative}.book-face{background:var(--cover-bg);color:var(--cover-fg);transform-origin:0;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:2px 7px 7px 2px;position:absolute;inset:0;overflow:hidden;box-shadow:0 2px 3px #14121014,0 26px 38px -20px #14121070}@media (hover:hover){.book-open-object:hover .book-face{transform:rotateY(-5deg)translateY(-3px);box-shadow:0 4px 5px #14121014,6px 30px 42px -20px #14121070}}.book-edge{background:#f2f0e9;border:1px solid #c7c3b9;border-radius:2px 6px 6px 2px;position:absolute;inset:4px 0}.book-spine{background:var(--cover-spine);width:9%;position:absolute;inset:0 auto 0 0}.book-title{flex-direction:column;justify-content:end;gap:12px;height:55%;display:flex;position:absolute;bottom:9%;left:17%;right:8%}.book-title>span{width:100%;font-family:var(--font-display);text-transform:uppercase;word-break:normal;-webkit-hyphens:none;hyphens:none;flex:none;font-size:38px;font-weight:400;line-height:1.04;display:block}.book-title i{background:currentColor;flex:none;width:32px;height:4px;display:block}.cover-paper{--cover-bg:#fff;--cover-fg:#141210;--cover-spine:#d6d4cf}.cover-paper .book-title{border:2px solid;padding:12px;left:15%;right:6%}.cover-gold{--cover-bg:#f1dfb3;--cover-fg:#141210;--cover-spine:#dfca99}.cover-coal{--cover-bg:#0b0a08;--cover-fg:#f3ecde;--cover-spine:#191611}.cover-photo .book-face>img{object-fit:cover;width:100%;height:100%}.cover-photo .book-title{color:#f3ecde;background:#141210;justify-content:center;gap:8px;height:34%;padding:16px 20px 20px;bottom:0;left:9%;right:0}.book-count{color:var(--muted);text-align:center;min-height:22px;font-size:15px}.book-open{justify-content:center;min-width:172px;margin-top:12px}.book-open svg{transition:transform var(--t-2) var(--ease-out)}.book-open:hover svg{transform:translate(2px)}.book-edit{min-height:44px;color:var(--muted);padding:0 16px;font-size:15px}.book-edit:hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.book-loading .book-title{visibility:hidden}.cover-editor{flex:1;align-content:start;gap:20px;min-height:0;padding:20px 24px 24px;display:grid;overflow:auto}.sheet:has(.cover-editor) .sheet-frame{overflow:hidden}.cover-preview{place-items:center;padding:4px 0 12px;display:grid}.book-small{width:135px;height:180px}.book-small .book-title{gap:8px}.book-small .book-title>span{font-size:24px}.book-small.cover-paper .book-title{padding:8px}.book-small.cover-photo .book-title{gap:4px;padding:6px 8px 8px}.book-small .book-title i{width:20px;height:3px}.brand-book-mark{width:27px;height:36px;display:block}.book-mini{width:27px;height:36px}.book-mini .book-face{border-radius:1px 3px 3px 1px;box-shadow:0 1px 2px #14121024}.book-mini .book-title{border:0;height:auto;padding:0;bottom:4px;left:6px;right:3px}.book-mini .book-title>span{font-size:16px}.book-mini .book-title i,.book-mini.cover-photo .book-title{display:none}.cover-name{gap:8px;font-size:15px;font-weight:700;display:grid}.cover-name input{width:100%;font-size:17px;font-weight:400}.cover-swatches{grid-template-columns:repeat(4,1fr);gap:12px;padding:3px;display:grid}.cover-swatch{border:1px solid var(--line);border-radius:5px;align-content:center;justify-items:center;gap:2px;min-height:64px;display:grid}.cover-swatch span{text-transform:capitalize;font-size:12px}.cover-swatch .swatch-space{width:18px;height:18px}.cover-swatch[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}.swatch-ink{color:#f3ecde;background:#141210}.swatch-paper{color:#141210;background:#fff}.swatch-gold{color:#141210;background:#f1dfb3}.swatch-coal{color:#f3ecde;background:#0b0a08}.cover-photo-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.cover-photo-actions .plain-link{min-height:44px}.cover-save-status{color:var(--muted);margin-left:auto;font-size:14px}.cover-error{color:var(--danger);font-size:15px}.cover-discard{border-top:1px solid var(--line);gap:12px;padding-top:16px;font-size:15px;display:grid}.cover-discard>div{flex-wrap:wrap;gap:8px;display:flex}.song-sleeve{width:44px;height:44px;font-family:var(--font-display);text-transform:uppercase;color:#141210;background:#fff;border-radius:4px;flex:none;align-self:center;place-items:center;font-size:20px;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #d6d4cf}.song-row{gap:12px}.account-menu{flex:none;align-items:center;display:flex}.auth-entrance{min-height:100dvh}.auth-entrance .book-desk{min-height:calc(100dvh - 64px)}.auth-actions{justify-items:center;gap:12px;margin-top:24px;display:grid}.auth-actions h1{font-size:22px;font-family:var(--font-display);text-transform:uppercase;font-weight:400}.auth-message{max-width:320px;color:var(--muted);text-align:center;font-size:15px;line-height:1.5}.auth-account{color:var(--muted);font-size:13px}@media (width<=640px){.book-desk{padding:24px 20px}.book-object{width:210px;height:280px}.book-small{width:135px;height:180px}.book-mini{width:27px;height:36px}.book-closed .save-status{display:none}.book-closed{min-height:100dvh}}@media (height<=640px){.book-desk{padding:16px}.book-open-object{margin-bottom:4px;padding:8px}.book-open-object .book-object{width:174px;height:232px}}@media (prefers-reduced-motion:reduce){.book-face,.book-open svg{transition:none}.book-open-object:hover .book-face,.book-open:hover svg{transform:none}}@media print{.book-desk,.account-menu{display:none!important}}.compact-only,.narrow-metro{display:none}@media (width>=1500px){:root{--library-w:344px;--gutter:112px}.library{padding-right:24px}.song-paper{padding:36px 64px 60px}}@media (width<=380px){.transport>.metro-trigger{display:none}.narrow-metro{display:inline-flex}.song-step>span{display:none}}@media (width<=1150px){:root{--library-w:280px;--gutter:76px}.command-trigger>span{display:none}.save-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.command-trigger kbd{margin-left:0}.library{padding-right:14px}.song-paper{padding:24px 32px 48px}.song-meta{gap:6px 12px}.chart-section{gap:10px}.wide-only{display:none}.compact-only{display:block}.transport{gap:8px;padding:10px 14px}.reader-bar{padding:0 10px 0 16px}.listen-trigger>span{display:none}.listen-trigger{padding:0}.follow-tempo{display:block}}@media (width<=900px){:root{--rail-w:68px;--library-w:248px}.rail{padding:16px 4px 12px}.rail button{width:60px;font-size:11px}.library{padding:20px 12px 0 2px}.song-row{padding:12px 10px}.song-description strong{font-size:14px}.song-paper{padding:22px 24px 44px}.chart-section{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:24px}.section-label{flex-direction:row;align-items:center;gap:10px;padding-top:0}.song-note,.chart-end{margin-left:0}.song-title{font-size:30px}.reader-actions{gap:0}.crumb-set{display:none}.crumb-set+strong{border-left:0;padding-left:0}.metro-trigger>span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.metro-trigger{padding:0}.transport{gap:6px}.editor-work{grid-template-columns:1fr}.preview-pane{display:none}.preview-selected .preview-pane{display:flex}.preview-selected .source-pane{display:none}.preview-chart .chart-section{grid-template-columns:minmax(0,1fr)}.source-pane{border-right:0}.editor-top{grid-template-columns:1fr;gap:10px}.import-body{grid-template-columns:1fr}.sheet-foot>.muted{display:none}}@media (width<=640px){:root{--header-h:56px}.app{min-height:0}.app-header{gap:10px;padding:0 10px 0 14px}.masthead{font-size:18px}.command-trigger{display:none}.save-status{margin-right:2px}.header-right{gap:4px}.header-right>.button{padding:0 12px;font-size:13px}.workspace{flex-direction:column}.rail{width:100%;height:auto;padding:4px 6px calc(4px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);order:2;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid}.rail-main,.rail-bottom{display:contents}.rail button{border-radius:var(--r-1);gap:3px;width:auto;height:54px;font-size:11px}.rail button.current{background:var(--sunken)}.library{flex:1;order:1;width:100%;min-height:0;padding:14px 12px 0 8px}.library-heading{min-height:0;padding-bottom:10px}.song-row{padding:12px 10px 12px 14px}.song-description strong{font-size:15px}.filters select{height:var(--control)}.reader{left:0;right:0;top:var(--header-h);box-shadow:none;z-index:4;opacity:0;visibility:hidden;transition:opacity var(--t-2) var(--ease-in), visibility 0s linear var(--t-2);border-radius:0;margin:0;position:fixed;bottom:0}.library-hidden .reader,.stage .reader{opacity:1;visibility:visible;transition:opacity var(--t-2) var(--ease-out), visibility 0s}.library-hidden .library,.library-hidden .rail{display:none}.reader-bar{gap:4px;height:52px;padding:0 4px 0 10px}.breadcrumb strong{display:none}.reader-actions .icon-button,.reader-actions .action-menu summary{width:var(--control);height:var(--control)}.action-menu>div>button{min-height:var(--control)}.menu-field select{height:var(--control)}.song-paper{padding:16px 18px 40px}.song-title{font-size:24px}.song-meta{gap:4px 12px;margin-top:10px}.song-meta select{height:var(--control)}.chord-strip{margin-top:10px}.strip-shapes{gap:12px}.diagram,.diagram svg{width:60px}.diagram svg{height:60px}.chart{padding-top:18px}.chart-section{margin-bottom:22px}.chart-line{font-size:calc(var(--chart-size) - 2px)}.transport{padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px;min-height:0}.scroll-button{width:var(--control);padding:0}.scroll-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.transport .action-menu{position:static}.transport .action-menu>div{width:auto;bottom:calc(100% + 6px);left:8px;right:8px}.song-step{border-left:0;padding-left:0}.song-step .icon-button{width:var(--control);height:var(--control)}.stage .reader{top:0}.stage .song-paper{padding:20px 18px}.stage .song-title{font-size:28px}.stage .chart-line{font-size:var(--chart-size)}.stage .transport{padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.sheet,.sheet.wide{border-radius:var(--r-3) var(--r-3) 0 0;width:100vw;max-width:100vw;max-height:calc(100dvh - 20px);margin:auto 0 0}.sheet[open]{animation-name:sheet-up}.sheet.closing{animation-name:sheet-down}.sheet-head{padding:14px 8px 12px 20px}.sheet-head h2{font-size:18px}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px}.sheet-foot .button{padding:0 12px;font-size:13px}.add-options{padding:4px 8px 8px}.paste-form,.set-picker,.recover-body{padding-left:20px;padding-right:20px}.editor-top{padding:16px 20px}.editor-options{gap:12px;padding:0 20px 14px}.editor-options .segmented{margin-left:0}.editor-work{height:42dvh;min-height:240px}.editor-tabs.segmented{margin:0 20px 14px}.editor-tabs.segmented button,.chord-tools button{min-height:44px}.discard-question{flex-basis:100%}.details-form{grid-template-columns:1fr;padding:20px}.details-form .notes-field{grid-column:auto}.settings-body{padding:0 20px 20px}.shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{width:max-content;max-width:calc(100vw - 32px);font-size:12px;bottom:76px}.error-banner{top:var(--header-h);z-index:10;flex-wrap:wrap;gap:4px 10px;padding:6px 6px 6px 14px;font-size:13px;position:fixed;left:0;right:0}.error-banner>span{flex-basis:calc(100% - 56px)}.ug-form{padding:16px 20px 20px}.ug-url-row{flex-direction:column}.ug-url-row>.button{align-self:flex-end}.ug-review-header{flex-wrap:wrap;padding:16px 20px}.ug-review-header .segmented{margin-left:0}.ug-provenance{gap:10px;padding:0 20px 14px}.reader-empty{padding:32px 24px}}@media print{.app-header,.rail,.library,.reader-bar,.transport,.chord-strip,.toast,.error-banner,.chart-end,.setup-hint,.song-meta button,.list-cursor{display:none!important}.app,.workspace,.reader,.reader-scroll{color:#000;height:auto;min-height:0;box-shadow:none;background:#fff;border-radius:0;margin:0;display:block;overflow:visible}.reader{visibility:visible!important;opacity:1!important;position:static!important;transform:none!important}.song-paper{max-width:none;padding:0;animation:none}.chart-section{break-inside:avoid}.chart-section[data-current] .mark{color:#000;background:0 0}.song-meta select{appearance:none;background:0 0;border:0;padding:0}.chart-line{font-size:17px}}
