@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-condensed-500-latin.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700-latin.woff2)format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin.woff2)format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin.woff2)format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin.woff2)format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400-latin.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500-latin.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171b21;--panel:#1f252d;--panel-2:#252c35;--fg:#e4e9ef;--mute:#8793a1;--line:#2f3843;--accent:#ff5a4e;--accent-fg:#1a0c0b;--ok:#56c7a6;--wait:#ffd166;--c-vocals:#ff5a4e;--c-lead:#ff9f43;--c-backing:#ffd166;--c-music:#56c7a6;--c-drums:#4dabf7;--c-bass:#9b8cff;--c-other:#e879c6;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--r:4px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg)}body{font:15px/1.5 var(--body);margin:0}button:focus-visible,a:focus-visible,select:focus-visible,.mode:focus-within{outline:2px solid var(--c-drums);outline-offset:2px}.bar{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:14px 22px;display:flex}.mark{color:var(--fg);font:700 24px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;text-decoration:none;display:flex}.mark svg{width:34px;height:22px}.nav{gap:4px;margin-left:auto;display:flex}.nav a{color:var(--mute);font:600 15px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid #0000;padding:8px 10px;text-decoration:none}.nav a.on{color:var(--fg);border-color:var(--accent)}.screen{max-width:1100px;margin:0 auto;padding:24px 22px 48px}h2{color:var(--mute);font:700 15px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;margin:0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.est{color:var(--mute);margin-left:3px;font-size:.82em}.foot{color:var(--mute);margin-top:22px;font-size:12.5px}.empty{border:1.5px dashed var(--line);text-align:center;color:var(--mute);border-radius:8px;padding:34px 20px}.btn{appearance:none;cursor:pointer;white-space:nowrap;font:600 15px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r);border:1px solid var(--line);color:var(--fg);background:0 0;padding:11px 14px;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--mute)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn:disabled,.btn.primary:disabled{background:var(--panel-2);color:var(--mute);border-color:var(--line);cursor:not-allowed}.linkish{appearance:none;cursor:pointer;color:var(--mute);font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.up{gap:26px;max-width:860px;display:grid}.drop{text-align:center;cursor:pointer;border:1.5px dashed var(--line);background:var(--panel);border-radius:8px;justify-items:center;gap:10px;padding:34px 20px;display:grid}.drop.over{border-color:var(--accent);background:var(--panel-2)}.drop .big{font:700 30px/1.05 var(--display);text-transform:uppercase;letter-spacing:.03em}.drop small{color:var(--mute)}.picked{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.picked b{word-break:break-word;font-weight:600}.picked .mono{color:var(--mute);font-size:13px}.up h2{margin-bottom:12px}.modes{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mode{cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:12px;padding:18px;display:grid;position:relative}.mode input{opacity:0;pointer-events:none;position:absolute}.mode .t{font:700 26px/1 var(--display);text-transform:uppercase;letter-spacing:.03em;padding-right:26px}.mode .t span{color:var(--mute)}.mode .d{color:var(--mute);font-size:14px}.mode.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mode .radio{border:2px solid var(--mute);border-radius:50%;width:18px;height:18px;position:absolute;top:18px;right:18px}.mode.on .radio{border-color:var(--accent);background:radial-gradient(var(--accent) 45%, transparent 50%)}.files{flex-wrap:wrap;gap:6px;display:flex}.file{font:500 13px/1 var(--body);border-radius:var(--r);background:var(--bg);border-left:3px solid var(--c);white-space:nowrap;padding:6px 9px 6px 8px}.go{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.go p{color:var(--mute);margin:0;font-size:14px}.err{color:var(--accent)}.libhead{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:12px;display:flex}.libhead .sp{flex:1}.lib{gap:6px;display:grid}.lrow{text-align:left;width:100%;color:inherit;font:inherit;border-radius:var(--r);background:var(--panel);border:1px solid #0000;grid-template-columns:48px minmax(0,2.4fr) 1.3fr 82px 112px 60px 1.5fr 76px;align-items:center;gap:14px;padding:8px 12px 8px 8px;text-decoration:none;display:grid}a.lrow:hover{border-color:var(--line)}.lrow.ghost{border:1px dashed var(--line)}.lhead{color:var(--mute);font:600 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;background:0 0;padding-block:0}.tile{background:var(--bg);object-fit:cover;border-radius:3px;width:48px;height:48px;display:block}.lt{min-width:0}.lt b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.lt span{color:var(--mute);font-size:13.5px}.modetag{font:600 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.lrow .mono{font-size:13px}.meta{display:contents}.status{align-items:center;gap:8px;min-width:0;font-size:13.5px;display:flex}.dot{background:var(--mute);border-radius:50%;flex:none;width:8px;height:8px}.status.ok .dot{background:var(--ok)}.status.run .dot{background:var(--accent);animation:1.1s ease-in-out infinite pulse}.status.wait .dot{background:var(--wait)}.status.bad .dot{background:var(--accent)}.meter{background:var(--bg);border-radius:2px;flex:1;min-width:30px;height:4px;overflow:hidden}.meter i{background:var(--accent);height:100%;transition:width .4s;display:block}.status .txt{min-width:0;line-height:1.25}.date{color:var(--mute);text-align:right;font-size:13px}@keyframes pulse{50%{opacity:.35}}.back{margin-bottom:14px}.song{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:22px;margin-bottom:18px;display:grid}.cover{border-radius:var(--r);object-fit:cover;background:var(--panel);width:112px;height:112px;display:block}.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.song h1{font:700 64px/.95 var(--display);text-transform:uppercase;letter-spacing:.02em;text-wrap:balance;overflow-wrap:anywhere;margin:8px 0 4px}.artist{color:var(--mute);font-size:16px}.facts{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.fact{font:500 13px/1 var(--mono);border:1px solid var(--line);border-radius:var(--r);padding:7px 10px}.dl{justify-items:end;gap:8px;display:grid}.note{border-radius:var(--r);background:var(--panel);color:var(--mute);border:1px solid var(--line);margin:0 0 6px;padding:10px 14px;font-size:14px}.note b{color:var(--fg);font-weight:600}.group{font:600 15px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:18px 0 8px}.rows{gap:6px;display:grid}.row{border-radius:var(--r);background:var(--panel);border:1px solid #0000;border-left:4px solid var(--stem);grid-template-columns:86px 168px minmax(0,1fr) 84px auto;align-items:center;gap:14px;padding:8px 10px;display:grid}.row.playing{border-color:var(--stem);border-left-width:4px}.row.silent{opacity:.6}.row .name{min-width:0}.row .name b{font-weight:600;display:block}.row .name span{color:var(--mute);font-size:12.5px}.wave{cursor:pointer;width:100%;min-width:0;height:46px;display:block}.nothing{color:var(--mute);font-size:13.5px}.time{white-space:nowrap;font:500 12.5px var(--mono);color:var(--mute);text-align:right}.play{min-width:86px}.row.playing .play{background:var(--stem);color:#14181d;border-color:var(--stem)}.more{border:1.5px dashed var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px;padding:16px;display:flex}.more div{flex:1;min-width:220px}.more b{font:700 20px/1.1 var(--display);text-transform:uppercase;letter-spacing:.04em;display:block}.more span{color:var(--mute);font-size:14px}.more .meter{margin-top:10px}.song .artist{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.scrim{z-index:10;background:#0009;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(420px,100%);height:100%;padding:22px 22px calc(22px + env(safe-area-inset-bottom,0px));background:var(--panel);border-left:1px solid var(--line);align-content:start;gap:18px;display:grid;overflow:auto}.sheet-title{color:var(--fg);font:700 26px/1 var(--display);letter-spacing:.04em;margin:0}.f{color:var(--mute);font:600 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;gap:6px;display:grid}.sheet .f+.covrow{margin-top:8px}.sheet input[type=text]{font:500 16px var(--body);color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);text-transform:none;letter-spacing:0;width:100%;min-width:0;padding:10px 12px}.sheet input[type=text]:focus{border-color:var(--fg);outline:none}.was{color:var(--mute);font:12.5px var(--mono)}.covrow{align-items:center;gap:14px;display:flex}.covrow .cover{width:84px;height:84px}.covrow>div{justify-items:start;gap:6px;display:grid}.hint{color:var(--mute);margin:0;font-size:13px}.sheet .err{margin:0;font-size:13.5px}.btn.small{padding:8px 10px;font-size:13px}.sheet .actions{border-top:1px solid var(--line);align-items:center;gap:14px;padding-top:16px;display:flex}@media (width<=860px){.lrow{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"tile t date""tile meta meta""tile st st";row-gap:4px}.lhead{display:none}.lrow .tile{grid-area:tile;align-self:start}.lrow .lt{grid-area:t}.lrow .date{grid-area:date;align-self:start}.lrow .meta{flex-wrap:wrap;grid-area:meta;align-items:baseline;gap:2px 10px;display:flex}.lrow .status{grid-area:st}}@media (width<=760px){.scrim{align-items:flex-end}.sheet{border-left:0;border-top:1px solid var(--line);border-radius:12px 12px 0 0;height:auto;max-height:88%}.screen{padding-inline:12px}.bar{padding-inline:14px}.mark span{display:none}.modes{grid-template-columns:1fr}.song{grid-template-columns:auto minmax(0,1fr)}.song h1{font-size:44px}.cover{width:84px;height:84px}.dl{grid-column:1/-1;justify-items:stretch}.row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"play name dl""wave wave wave";gap:8px 12px}.row .play{grid-area:play;min-width:72px}.row .name{grid-area:name}.row .rowdl{grid-area:dl}.row .wave,.row .nothing{grid-area:wave}.row .time{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
