@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-600.woff2) format("woff2");font-weight:600;font-display:swap}:root{--stage: #131110;--stage-raised: #1c1917;--stage-control: #292521;--line: #3c3630;--ink: #f4efe6;--ink-muted: #b0a79b;--ink-faint: #8a8278;--brand: #f2b544;--on-brand: #1c1507;--voice: #5fcdbf;--flag: #ff8f6b;--ok: var(--voice);--focus: var(--brand);--scrim: rgba(19, 17, 16, .72);--sans: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--display: "Fraunces", Georgia, serif;--mono: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-pill: 999px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--stage);color:var(--ink);font:400 16px/24px var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.t-lyric{font:700 40px/48px var(--sans)}.t-lyric-next{font:400 26px/34px var(--sans)}.t-count{font:700 96px/96px var(--sans)}.t-title{font:600 32px/36px var(--display);letter-spacing:-.01em}.t-heading{font:600 20px/26px var(--display)}.t-label{font:700 13px/18px var(--sans);letter-spacing:.02em}.t-mono{font:400 13px/18px var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint)}.btn{height:40px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:0;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;background:var(--stage-control);color:var(--ink);transition:background .12s}.btn:hover{background:var(--line)}.btn.primary{background:var(--brand);color:var(--on-brand)}.btn.text{background:transparent;color:var(--brand)}.btn.text.ink{color:var(--ink)}.btn.text:hover{background:var(--stage-control)}.btn:disabled{color:var(--ink-faint);background:var(--stage-control);cursor:default}.round{width:40px;height:40px;padding:0;justify-content:center;border-radius:var(--radius-pill)}.icon{display:inline-flex;width:20px;height:20px;flex:none}.icon svg{width:100%;height:100%}.segmented{display:inline-flex;background:var(--stage-control);border-radius:var(--radius-md);padding:0}.segmented button{height:40px;padding:var(--space-2) var(--space-4);border:0;background:transparent;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.segmented button[aria-checked=true]{background:var(--brand);color:var(--on-brand)}.dot{width:8px;height:8px;border-radius:50%;background:var(--voice);display:inline-block}kbd{font:400 13px/18px var(--mono);background:var(--stage-control);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 6px}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:20}.panel{background:var(--stage-raised);border-radius:var(--radius-lg);padding:var(--space-6);z-index:21}.switch{width:40px;height:24px;border-radius:var(--radius-pill);background:var(--stage-control);border:0;position:relative;cursor:pointer;padding:0}.switch:after{content:"";position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:left .12s}.switch[aria-checked=true]{background:var(--brand)}.switch[aria-checked=true]:after{left:20px;background:var(--on-brand)}input[type=range]{-webkit-appearance:none;appearance:none;height:4px;border-radius:var(--radius-pill);cursor:pointer;background:linear-gradient(var(--brand),var(--brand)) 0 / var(--fill, 50%) 100% no-repeat,var(--stage-control)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--brand);border:2px solid var(--stage)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--brand);border:2px solid var(--stage)}.login{min-height:100%;display:grid;place-content:center;gap:var(--space-8);justify-items:center;padding:var(--space-6)}.login-form{width:min(360px,100%);display:grid;gap:var(--space-4)}.login-form h1{margin:0}.login-form label{display:grid;gap:var(--space-1)}.field{height:40px;padding:0 var(--space-3);background:var(--stage);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font:400 16px/24px var(--sans)}.flag-text{color:var(--flag);margin:0}.library{max-width:880px;margin:0 auto;padding:var(--space-12) var(--space-6);display:grid;gap:var(--space-6);align-content:start}.library-head{display:flex;justify-content:space-between;align-items:center}.library-tools{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.public-access.open{display:inline-flex;align-items:center;gap:var(--space-2);padding-left:var(--space-3);border-radius:var(--radius-pill);background:var(--stage-control)}.search{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);background:var(--stage-raised);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink-muted)}.search input{flex:1;background:none;border:0;outline:none;color:var(--ink)}.search:focus-within{outline:2px solid var(--focus);outline-offset:2px}.group{margin:var(--space-4) 0 var(--space-2)}.songs{list-style:none;margin:0;padding:0}.songs li+li{border-top:1px solid var(--line)}.song{width:100%;display:grid;grid-template-columns:56px 1fr auto 20px;gap:var(--space-4);align-items:center;padding:var(--space-3);background:var(--stage);border:0;border-radius:var(--radius-md);text-align:left;cursor:pointer}.song:hover,.song:focus-visible{background:var(--stage-raised)}.cover{width:56px;height:56px;border-radius:var(--radius-md);background:var(--stage-control);display:grid;place-items:center}.cover img{width:36px;opacity:.45}.song-text{display:grid}.song-title{display:flex;align-items:center;gap:var(--space-2)}.chip{background:var(--stage-control);border-radius:var(--radius-pill);padding:2px var(--space-3)}.play-hint{color:var(--brand);visibility:hidden}.song:hover .play-hint,.song:focus-visible .play-hint{visibility:visible}.stage{height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-8);padding:var(--space-12)}.stage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6)}.stage-title{display:flex;gap:var(--space-6);align-items:flex-start}.stage-title a{padding-top:6px}.stage-title h1,.stage-title p{margin:0}.stage-tools{display:flex;gap:var(--space-3);align-items:center}.lyrics{display:grid;place-content:center;justify-items:center;text-align:center;gap:var(--space-6);min-height:0}.lyrics p{margin:0}.current{display:grid;gap:var(--space-6);justify-items:center;max-width:1200px}.word{position:relative;display:inline-block;margin:0 .12em;white-space:nowrap}.word.sung{color:var(--ink)}.word.next,.word.now{color:var(--ink-faint)}.word .fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--brand)}.countdown{display:grid;justify-items:center;gap:var(--space-2)}.counter{margin-top:var(--space-2)}.transport{display:grid;gap:var(--space-4)}.progress{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-4);align-items:center}.bar{position:relative;height:20px;cursor:pointer;touch-action:none}.bar:before{content:"";position:absolute;left:0;right:0;top:8px;height:4px;border-radius:var(--radius-pill);background:var(--stage-control)}.bar-fill{position:absolute;left:0;top:8px;height:4px;border-radius:var(--radius-pill);background:var(--brand)}.bar-mark{position:absolute;top:8px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--voice)}.transport-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4)}.transport-main{display:flex;gap:var(--space-4);align-items:center}.transport-side{display:flex;gap:var(--space-2);justify-content:flex-end}.btn.play{width:56px;height:56px;padding:0;justify-content:center;border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand)}.btn.play:disabled{background:var(--stage-control);color:var(--ink-faint)}.btn[aria-pressed=true]{color:var(--brand)}.volume{display:flex;align-items:center;gap:var(--space-3)}.volume input{width:120px}.pct{width:4ch;text-align:right}.options{position:fixed;top:112px;right:var(--space-12);width:360px;display:grid;gap:var(--space-4)}.option-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.options .segmented button{padding:var(--space-2) var(--space-3)}.pitch{display:flex;align-items:center;gap:var(--space-3)}.pitch-value{width:3ch;text-align:center}.shortcuts{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 32px));max-height:calc(100% - 64px);overflow:auto;display:grid;gap:var(--space-6)}.shortcuts h2{margin:0 0 var(--space-2)}.shortcuts dl{margin:0;display:grid;gap:var(--space-2)}.shortcut{display:flex;justify-content:space-between;gap:var(--space-4)}.shortcut dt,.shortcut dd{margin:0}@media (max-width: 720px){.stage{padding:var(--space-6);gap:var(--space-6)}.stage-head{flex-direction:column}.t-lyric{font-size:30px;line-height:38px}.t-lyric-next{font-size:20px;line-height:28px}.transport-row{grid-template-columns:1fr;justify-items:center}.transport-side{justify-content:center}.options{left:var(--space-4);right:var(--space-4);width:auto;top:var(--space-12)}.song{grid-template-columns:56px 1fr auto}.play-hint{display:none}}.chip.unpublished{color:var(--flag)}.admin{min-height:100%;display:grid;grid-template-columns:220px 1fr}.side{background:var(--stage-raised);display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-8) var(--space-6) 0;position:sticky;top:0;height:100vh}.side-links{display:grid;gap:var(--space-1)}.side-link{color:var(--ink-muted);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);display:flex;justify-content:space-between;border-left:4px solid transparent}.side-link:hover{background:var(--stage-control)}.side-link.active{color:var(--ink);border-left-color:var(--brand)}.side-count{color:var(--brand)}.side-local{margin-top:auto;height:4px;background:var(--flag);margin-left:calc(-1 * var(--space-6));margin-right:calc(-1 * var(--space-6))}.admin-main{padding:var(--space-8);display:grid;gap:var(--space-6);align-content:start;min-width:0}.admin-main>h1{margin:0}.admin .library{padding:0;max-width:none}.admin .library-head{display:none}.jobs{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.job{width:100%;display:grid;grid-template-columns:minmax(180px,1.3fr) 180px 1fr auto;gap:var(--space-6);align-items:center;padding:var(--space-4);background:var(--stage-raised);border:0;border-radius:var(--radius-md);text-align:left;cursor:pointer;color:var(--ink)}.job.focused,.job:hover,.job:focus-visible{background:var(--stage-control)}.job-main{display:grid}.job-meta{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;justify-content:flex-end}.stagebar{display:grid;grid-template-columns:repeat(9,1fr);gap:3px}.stagebar .seg{height:4px;border-radius:var(--radius-pill);background:var(--line)}.stagebar .seg.done{background:var(--ink)}.stagebar .seg.now{background:var(--brand)}.stagebar .seg.failed{background:var(--flag)}.chip.status.pending{background:var(--stage-control);color:var(--brand)}.chip.status.approved,.chip.status.bypassed{background:var(--stage-control);color:var(--ok)}.chip.status.rejected{background:var(--stage-control);color:var(--flag)}.approval{display:grid;gap:var(--space-6);max-width:760px}.approval h1,.approval p{margin:0}.players{display:grid;gap:var(--space-3)}.player{display:grid;grid-template-columns:40px 140px 1fr;gap:var(--space-4);align-items:center;padding:var(--space-3);border-radius:var(--radius-md)}.player.active{background:var(--stage-raised)}.player.active .btn.round{background:var(--brand);color:var(--on-brand)}.mini-bar{height:4px;border-radius:var(--radius-pill);background:var(--stage-control);overflow:hidden}.mini-bar div{height:100%;background:var(--brand)}.note{display:grid;gap:var(--space-1)}.note textarea{height:auto;padding:var(--space-2) var(--space-3);resize:vertical;background:var(--stage-raised)}.actions{display:flex;gap:var(--space-3)}.btn.reject{color:var(--flag)}.actions kbd{margin-left:var(--space-1)}.review{display:grid;gap:var(--space-4)}.review-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-wrap:wrap}.review-head h1,.review-head p{margin:0}.review-tools{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.review-tools .segmented button{height:32px;padding:0 var(--space-3)}.check{display:flex;gap:var(--space-2);align-items:center}.line-card{background:var(--stage-raised);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:var(--space-3);border:2px solid transparent}.line-card.active{border-color:var(--brand)}.line-card p{margin:0}.line-top{display:flex;gap:var(--space-4);justify-content:space-between;flex-wrap:wrap}.brand-text{color:var(--brand)}.options-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.cand{background:var(--stage-control);border:0;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;color:var(--ink)}.cand.chosen{background:var(--brand);color:var(--on-brand)}.review-lyric{color:var(--ink-faint)}.review-bar{position:relative;height:40px;background:var(--stage);border-radius:var(--radius-sm);cursor:crosshair;overflow:hidden}.review-bar .mark{position:absolute;top:24px;bottom:0;width:2px;background:var(--line)}.review-bar .mark.sel{top:0;background:var(--brand)}.review-bar .cursor{position:absolute;top:0;bottom:0;width:2px;background:var(--ink)}.ticks{display:flex;justify-content:space-between}.shortcuts.inline{position:static;transform:none;width:auto;max-width:640px;max-height:none}.btn.primary kbd{background:transparent;border-color:var(--on-brand);color:var(--on-brand)}.cola-head{display:flex;justify-content:space-between;align-items:center}.cola-head h1{margin:0}.new-song{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 32px));max-height:calc(100% - 48px);overflow:auto;display:grid;gap:var(--space-4)}.new-song h2,.new-song p{margin:0}.new-song label{display:grid;gap:var(--space-1)}.new-song .two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.new-song textarea{height:auto;padding:var(--space-2) var(--space-3);resize:vertical}.address{display:flex;align-items:center;gap:var(--space-2)}.address .field{flex:1}.job-log{grid-column:1 / -1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-action{display:flex;gap:var(--space-2)}.new-song label.check{display:flex;align-items:center;gap:var(--space-2);color:var(--ink)}.admin-main h2.t-heading{margin:var(--space-2) 0 0}.ok-text{color:var(--ok)}.word.pickable{cursor:pointer;border-radius:var(--radius-sm)}.word.pickable:hover{background:var(--stage-control)}.word.picked{outline:2px solid var(--brand);outline-offset:2px}.log{background:var(--stage);border:1px solid var(--line);border-radius:var(--radius-md);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);max-height:320px;overflow:auto}.log p{margin:0;white-space:pre-wrap;word-break:break-word}.log-info{color:var(--ink-muted)}.log-ok{color:var(--ok)}.log-error{color:var(--flag)}.trim{background:var(--stage-raised);border-radius:var(--radius-md);padding:var(--space-4);display:grid;gap:var(--space-3)}.trim p{margin:0}.trim-bar{position:relative;height:32px;background:var(--stage-control);border-radius:var(--radius-sm);cursor:pointer;overflow:hidden}.trim-cut{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--stage) 0 6px,var(--line) 6px 12px)}.trim-bar .cursor{position:absolute;top:0;bottom:0;width:2px;background:var(--brand)}.trim-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.trim-row label{display:grid;gap:var(--space-1)}.trim-row .field{width:110px}
