/* Geist 1.7.2, self-hosted under the SIL Open Font License. UI subsets generated by scripts/subset-player-fonts.py. */
@font-face{font-family:"Geist Pixel Circle";src:url("/static/fonts/geist-pixel-circle-v1.7.2.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("/static/fonts/geist-mono-ui-v1.7.2.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0020-007E,U+00A0-00AC,U+00AE-00FF,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2028-2029,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2070,U+2074-2079,U+2080-2089,U+20AA,U+20AC,U+20B1,U+20B4,U+20B9,U+20BD,U+2107,U+2116-2117,U+2122,U+2153-2155,U+215B-215E,U+2190-2199,U+219D,U+21A9-21AA,U+21B0-21B1,U+21B3-21B5,U+21E4-21E5,U+21E7,U+2202,U+2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+2326-2327,U+232B,U+23CE,U+240B-240C,U+2423,U+2460-2468,U+24EA,U+24FF-259F,U+25B2-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25CA-25CC,U+25CF,U+2776-277E}
@font-face{font-family:"Geist Mono";src:url("/static/fonts/geist-mono-v1.7.2.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-0113,U+0116-012B,U+012E-0131,U+0134-0137,U+0139-013E,U+0141-0148,U+014A-014D,U+0150-017E,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01CD-01CE,U+01E4-01E9,U+0218-021B,U+0237,U+0259,U+02B9,U+02BC,U+02C6-02C8,U+02D8-02DD,U+0300-0304,U+0306-030C,U+0312,U+031B,U+0323,U+0326-0328,U+0335-0338,U+039B,U+03A9,U+03BB-03BC,U+03C0,U+0400-045F,U+0462-0463,U+046A-046B,U+0472-0475,U+0490-0493,U+0496-0497,U+049A-049B,U+04A2-04A3,U+04AE-04B3,U+04B6-04B7,U+04BA-04BB,U+04C0,U+04CF,U+04D8-04D9,U+04E2-04E3,U+04E8-04E9,U+04EE-04EF,U+0E3F,U+1E20-1E21,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+3003,U+301C,U+A78B-A78C,U+F8FF}
@font-face{font-family:"Geist Mono";src:url("/static/fonts/geist-mono-italic-ui-v1.7.2.woff2") format("woff2");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+0020-007E,U+00A0-00AC,U+00AE-00FF,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2028-2029,U+2030,U+2032-2033,U+2039-203A,U+2044,U+2070,U+2074-2079,U+2080-2089,U+20AA,U+20AC,U+20B1,U+20B4,U+20B9,U+20BD,U+2107,U+2116-2117,U+2122,U+2153-2155,U+215B-215E,U+2190-2199,U+219D,U+21A9-21AA,U+21B0-21B1,U+21B3-21B5,U+21E4-21E5,U+21E7,U+2202,U+2206,U+220F,U+2211-2212,U+221A,U+221E,U+222B,U+2236,U+2248,U+2260,U+2264-2265,U+2326-2327,U+232B,U+23CE,U+240B-240C,U+2423,U+2460-2468,U+24EA,U+24FF-259F,U+25B2-25B3,U+25B6-25B7,U+25BC-25BD,U+25C0-25C1,U+25CA-25CC,U+25CF,U+2776-277E}
@font-face{font-family:"Geist Mono";src:url("/static/fonts/geist-mono-italic-v1.7.2.woff2") format("woff2");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+0100-0113,U+0116-012B,U+012E-0131,U+0134-0137,U+0139-013E,U+0141-0148,U+014A-014D,U+0150-017E,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01CD-01CE,U+01E4-01E9,U+0218-021B,U+0237,U+0259,U+02B9,U+02BC,U+02C6-02C8,U+02D8-02DD,U+0300-0304,U+0306-030C,U+0312,U+031B,U+0323,U+0326-0328,U+0335-0338,U+039B,U+03A9,U+03BB-03BC,U+03C0,U+0400-045F,U+0462-0463,U+046A-046B,U+0472-0475,U+0490-0493,U+0496-0497,U+049A-049B,U+04A2-04A3,U+04AE-04B3,U+04B6-04B7,U+04BA-04BB,U+04C0,U+04CF,U+04D8-04D9,U+04E2-04E3,U+04E8-04E9,U+04EE-04EF,U+0E3F,U+1E20-1E21,U+1E80-1E85,U+1E9E,U+1EA0-1EF9,U+3003,U+301C,U+A78B-A78C,U+F8FF}
code,kbd,samp,pre{font-family:inherit}
:root{color-scheme:light;--bg:#eeeeeb;--surface:#f7f7f4;--fg:#232320;--muted:#767671;--line:#a4a49b;--soft:#dcdcd5;--selected:#252522;--selected-fg:#f7f7f0;--error:#a12a1e;font-family:"Geist Mono","SFMono-Regular",Consolas,monospace;font-size:13px;line-height:1.45;letter-spacing:-.3px;background:var(--bg);color:var(--fg)}:root.dark{color-scheme:dark;--bg:#151614;--surface:#1b1c19;--fg:#d8d8cc;--muted:#95958a;--line:#57584e;--soft:#30312a;--selected:#d8d8cc;--selected-fg:#151614;--error:#f39782}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button,a,input,select,textarea,summary{outline-offset:3px}button{background:var(--soft);border:0;border-radius:0;cursor:pointer;padding:3px 8px;min-height:25px;white-space:nowrap}button:hover:not(:disabled),a:hover{background:var(--fg);color:var(--bg)}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-decoration:underline;text-underline-offset:3px}input[type=checkbox]{accent-color:var(--fg);width:13px;height:13px;margin:0 5px 0 0;vertical-align:-2px;cursor:pointer}input[type=text],input[type=url],input[type=password],input[readonly],textarea{background:var(--surface);border:1px solid var(--line);border-radius:0;padding:5px 7px;min-width:0}input::placeholder,textarea::placeholder{color:var(--muted)}select{background:var(--soft);border:0;border-radius:0;padding:3px 5px;max-width:120px}h1,h2,p{margin:0}h1,h2{font-size:13px;font-weight:500}h2{margin-bottom:14px;font-weight:700}fieldset{min-width:0;margin:0;padding:12px 12px 8px;border:1px solid var(--fg)}legend{padding:0 7px;font-size:12px}legend span{color:var(--muted);margin-left:6px}.terminal{width:min(1060px,100%);padding:18px 20px 30px}.actionbar{display:flex;align-items:center;gap:18px;background:var(--soft);padding:4px 6px;margin-bottom:18px}.wordmark{font-size:14px;font-weight:400;text-decoration:none}.session-id{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;gap:5px;margin-left:auto}.header-actions button{background:var(--surface);font-size:11px;min-height:22px;padding:1px 7px}.intake{margin-bottom:19px}.dropzone{display:flex;position:relative;align-items:center;justify-content:space-between;gap:12px;border:1px dashed var(--line);min-height:70px;padding:15px 16px;background:var(--surface);cursor:pointer}.dropzone:hover,.dropzone.dragging{border-color:var(--fg);background:var(--soft)}.dropzone:focus-within{outline:2px solid var(--fg);outline-offset:2px}.dropzone input{position:absolute;width:1px;height:1px;opacity:0;bottom:12px;left:12px}.dropzone .limits{font-size:10px;color:var(--muted);white-space:nowrap}.muted{color:var(--muted)}.link-line{display:flex;align-items:center;margin-top:9px;gap:9px}.link-line label{background:var(--soft);padding:4px 8px}.link-line input{flex:1;width:0;border-width:0 0 1px;background:transparent;padding:5px 0}.link-line button{padding:4px 10px}.intake-options{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:11px;color:var(--muted);min-height:18px}.intake-options label{color:var(--fg);cursor:pointer}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px;align-items:start}.playlist-panel{padding:8px 0 0;overflow:hidden}.playlist-panel legend{margin-left:12px}.table-head,.track-row{display:grid;grid-template-columns:25px minmax(0,1fr) 45px 70px;gap:6px;align-items:center;padding:7px 12px}.table-head{padding-top:2px;padding-bottom:7px;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line)}.table-head span:nth-child(3){text-align:right}#playlist{min-height:146px;max-height:420px;overflow:auto}.empty{padding:43px 12px;color:var(--muted);font-size:11px;text-align:center}.track-row{font-size:11px;min-height:38px;border-bottom:1px solid var(--soft)}.track-row:last-child{border-bottom:0}.track-row.selected{background:var(--selected);color:var(--selected-fg)}.track-row.selected .muted,.track-row.selected .track-time{color:var(--selected-fg);opacity:.7}.track-row .track-name{display:block;width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;background:transparent;padding:0;min-height:23px}.track-row .track-name:hover{color:inherit;background:transparent;text-decoration:underline}.track-time{text-align:right;font-size:10px;color:var(--muted)}.row-actions{display:flex;justify-content:flex-end;gap:1px}.row-actions button{padding:0 4px;min-width:20px;min-height:23px;background:transparent;font-size:11px;color:inherit}.row-actions button:hover{background:var(--soft);color:var(--fg)}.track-row.failed .track-name{color:var(--error)}.playlist-foot{border-top:1px solid var(--line);padding:6px 12px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.now-playing{min-height:67px}.now-playing>span{font-size:10px}.now-playing h1{margin:5px 0 3px;overflow-wrap:anywhere;line-height:1.5}.time-display{display:flex;gap:10px;align-items:baseline;margin:10px 0 4px}.time-display #elapsed{font-size:30px;line-height:1.2;letter-spacing:-1.5px}.time-display>.muted{font-size:12px}#seek{width:100%;margin:10px 0 11px;accent-color:var(--fg);height:5px;border-radius:0;cursor:pointer}.transport{display:flex;gap:5px}.transport button{font-size:11px;min-height:27px}.transport #play-pause{min-width:42px;background:var(--fg);color:var(--bg)}.transport #mute{margin-left:auto}.track-actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);margin-top:13px;padding-top:8px;font-size:10px}.track-actions select{font-size:11px}.track-actions #download-policy{margin-left:auto}.track-message{font-size:11px;line-height:1.5;margin-top:8px;color:var(--muted);overflow-wrap:anywhere}.track-message:empty{display:none}.analysis-panel{margin-top:19px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;user-select:none;padding:8px 0;font-size:11px}summary .muted{margin-left:12px}.analysis-body{padding:2px 0 16px}.analysis-toolbar{display:flex;align-items:center;gap:14px;font-size:11px;flex-wrap:wrap}.analysis-toolbar button{font-size:11px}.analysis-toolbar a{margin-left:auto}#analysis-progress{font-size:11px;margin:10px 0}#analysis-progress:empty{display:none}.evidence-line{display:flex;align-items:center;gap:30px;margin:13px 0 5px;font-size:11px}.evidence-line strong{font-weight:500;background:var(--soft);padding:2px 5px;margin-left:5px}.fine{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0}#timeline{display:flex;height:38px;gap:2px;margin-top:12px}#timeline button{min-width:0;flex-basis:0;padding:0;display:flex;align-items:flex-end;background:var(--soft);min-height:0;border:1px solid transparent}#timeline button:hover{border-color:var(--fg)}#timeline button span{width:100%;background:var(--muted);min-height:2px}#timeline .unscored{background:repeating-linear-gradient(135deg,transparent,transparent 3px,var(--soft) 3px,var(--soft) 4px)}.lyrics-panel{margin-top:10px;border-top:1px dashed var(--line)}textarea{width:100%;font-size:12px;line-height:1.6;resize:vertical}.lyrics-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:5px 0 12px}.consent{font-size:11px;margin-right:10px}.lyrics-panel button{font-size:11px}.statusbar{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;margin-top:12px}.statusbar #connection-status{color:var(--fg)}#notice{padding:7px 9px;background:var(--soft);font-size:11px;margin-bottom:12px;line-height:1.5;overflow-wrap:anywhere}dialog{width:min(400px,calc(100vw - 32px));padding:18px;background:var(--bg);color:var(--fg);border:1px solid var(--fg);border-radius:0;box-shadow:8px 8px 0 var(--soft)}dialog::backdrop{background:#0005}dialog p{font-size:11px;margin:8px 0 14px;line-height:1.6}dialog label{display:block;font-size:11px;margin-bottom:6px}dialog input{display:block;width:100%;margin-bottom:10px;font-size:13px}dialog .dialog-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}dialog button{font-size:11px}.inverse{background:var(--fg);color:var(--bg)}.error{color:var(--error)}dialog .fine{font-size:10px;margin-bottom:0}#close-settings{display:block;margin-top:14px}#settings-form>div{margin-top:15px}pre{max-width:100%;max-height:300px;overflow:auto;font-size:11px;line-height:1.5;background:var(--soft);padding:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:720px){.terminal{padding:12px}.workspace{grid-template-columns:1fr;gap:13px}.actionbar{gap:8px;margin-bottom:12px}.session-id{max-width:90px;font-size:10px}.header-actions{gap:4px}.header-actions button{padding:2px 6px;font-size:10px}.dropzone{min-height:63px;padding:12px;display:block;font-size:12px}.dropzone .limits{display:block;margin-top:5px}.dropzone .muted{display:none}.link-line{gap:7px}.link-line input{font-size:11px}.link-line button{font-size:11px}.intake{margin-bottom:12px}#playlist{min-height:82px;max-height:244px}.empty{padding:26px 10px}.player-panel{padding:9px 12px}.now-playing{min-height:45px;display:grid;grid-template-columns:1fr auto;gap:3px 10px}.now-playing>span:first-child{grid-column:2;grid-row:1}.now-playing h1{grid-column:1;grid-row:1;margin:0;font-size:12px}.now-playing>span:last-child{grid-column:1/-1}.time-display{margin-top:5px}.time-display #elapsed{font-size:26px}.analysis-panel{margin-top:13px}.statusbar{font-size:9px;gap:8px}.analysis-toolbar{gap:10px}.evidence-line{gap:15px;flex-wrap:wrap}.header-actions button:first-child{font-size:10px}}
.waveform{position:relative;height:70px;margin:8px 0 12px;border-top:1px solid var(--soft);border-bottom:1px solid var(--soft)}.waveform svg{display:block;width:100%;height:100%}.waveform-unplayed{fill:var(--line)}#waveform-played{fill:var(--fg)}.waveform-baseline{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}#waveform-cursor{stroke:var(--fg);stroke-width:1;vector-effect:non-scaling-stroke}.waveform[data-state=empty] #waveform-cursor{display:none}.waveform-status{position:absolute;left:8px;top:7px;font-size:9px;color:var(--muted);background:var(--bg);pointer-events:none}.waveform-status:empty{display:none}.waveform:focus-within{outline:2px solid var(--fg);outline-offset:3px}.waveform #seek{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;appearance:none;-webkit-appearance:none;touch-action:pan-y;cursor:crosshair}.waveform #seek:disabled{cursor:default}.waveform #seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:1px;height:1px;border:0}.waveform #seek::-moz-range-thumb{width:1px;height:1px;border:0}.waveform #seek::-moz-range-track{background:transparent;border:0}@media(max-width:720px){.waveform{height:62px;margin-top:7px}}
.project-bar{display:flex;align-items:center;gap:13px;margin:0 0 17px}.cover-button{width:72px;height:72px;flex:none;padding:0;border:1px dashed var(--line);background:var(--surface);overflow:hidden;font-size:10px;color:var(--muted)}.cover-button img{display:block;width:100%;height:100%;object-fit:cover}.cover-button:has(img:not([hidden])){border-style:solid}.project-heading{min-width:0;flex:1}.project-heading>span{display:block;font-size:10px}.project-heading h2{margin:3px 0;font-size:15px;line-height:1.4;overflow-wrap:anywhere}.project-heading #project-artist{overflow-wrap:anywhere}.project-bar #edit-project{font-size:10px}.table-head,.track-row{grid-template-columns:25px minmax(0,1fr) 40px 92px}#project-dialog select{margin-bottom:12px;min-width:100px}#project-error:empty,#rename-error:empty{display:none}@media(max-width:720px){.project-bar{gap:10px;margin-bottom:12px}.cover-button{width:60px;height:60px}.project-heading h2{font-size:13px}.project-bar #edit-project{font-size:9px;padding:3px 6px}.table-head,.track-row{grid-template-columns:20px minmax(0,1fr) 35px 86px;gap:4px}.row-actions button{min-width:19px;padding:0 3px}}

.score-help summary,.file-evidence summary{font-size:10px}.score-help{margin-bottom:10px}.score-help p{max-width:850px}.assistance-panel{border-top:1px dashed var(--line);margin-top:12px}.evidence-table{width:100%;border-collapse:collapse;font-size:10px;line-height:1.6;table-layout:fixed}.evidence-table th,.evidence-table td{text-align:left;vertical-align:top;padding:6px 8px 6px 0;border-bottom:1px solid var(--soft);font-weight:400;overflow-wrap:anywhere}.evidence-table th:first-child{width:160px}.evidence-table thead{color:var(--muted)}.evidence-table td{color:var(--muted)}.file-evidence{margin-top:5px}.file-evidence button{font-size:10px}#software-tags{display:grid;grid-template-columns:160px 1fr;font-size:10px;gap:5px;margin:8px 0}#software-tags:empty,#file-facts:empty,#file-error:empty{display:none}#software-tags dt{color:var(--muted)}#software-tags dd{margin:0;overflow-wrap:anywhere}#file-error{font-size:10px;margin-top:5px}@media(max-width:720px){.evidence-table th:first-child{width:108px}.evidence-table th,.evidence-table td{padding:5px 6px 5px 0}#software-tags{grid-template-columns:108px minmax(0,1fr)}}

.version-badge{display:block;font-size:9px;opacity:.65}.song-versions{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.version-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:10px}.version-toolbar>span{flex:1;overflow-wrap:anywhere;min-width:90px}.version-toolbar button{font-size:10px}.song-versions summary{font-size:10px;padding:7px 0}#version-list{list-style:none;padding:0;margin:0;max-height:300px;overflow:auto}#version-list li{padding:8px 0;border-top:1px solid var(--soft)}#version-list li.viewing{border-top-color:var(--fg)}.version-row{display:flex;align-items:center;gap:6px;font-size:9px}.version-row button{font-size:10px;white-space:normal;text-align:left;overflow-wrap:anywhere}.version-row button:first-child{flex:1}.version-row button:last-child{flex:none}.version-row>span{font-size:9px;max-width:85px}.song-versions .fine{font-size:9px;overflow-wrap:anywhere;margin:4px 0}.version-note{font-size:10px;overflow-wrap:anywhere}#version-file{max-width:100%;font-size:11px}#version-url{width:100%;margin-bottom:10px}#version-error:empty{display:none}

/* A small tape window beside the clock; the audio stays unprocessed. */
.tape{width:104px;min-width:56px;flex:0 1 104px;margin-left:auto;color:var(--muted);align-self:center;opacity:.8}
.tape svg{width:100%;height:auto;display:block;fill:none;stroke:currentColor;stroke-width:1}
.tape-shell{fill:var(--surface)}.tape-band{stroke:var(--line)}.tape-reel{fill:var(--soft);transform-box:fill-box;transform-origin:center;animation:tape-turn 5s linear infinite;animation-play-state:paused}
.tape-hub{fill:var(--bg)}.tape-reel path{stroke:var(--fg);stroke-width:2}.tape-guide{stroke:var(--line)}
.tape[data-running=true] .tape-reel{animation-play-state:running}
@keyframes tape-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tape-reel{animation:none}}
@media(max-width:360px){.tape{width:82px}}
.copy-toast{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:2000;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;background:var(--fg);color:var(--bg);border:1px solid var(--line);border-radius:6px;box-shadow:0 4px 18px #0002;font-size:12px;line-height:1.5;overflow-wrap:anywhere;text-align:center;pointer-events:none;animation:copy-toast-in .16s ease-out}
.copy-toast[data-selectable=true]{pointer-events:auto}
@keyframes copy-toast-in{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.copy-toast{animation:none}}
.terminal{min-height:100vh;min-height:100svh;min-height:calc(100dvh - var(--site-player-offset,0px));display:flex;flex-direction:column}
main.terminal>*{flex-shrink:0}
main.terminal>.unlock-card{width:100%}
main.terminal>footer{margin-top:auto}
:root{--bg:#e7e7e1}
html,body{background:var(--bg);min-height:100%}
@media print{.terminal{display:block;min-height:0}}
