:root{--bg:#0d0b1a;--bg-2:#15122a;--panel:#1b1736;--line:#2c2752;--text:#ece9fb;--muted:#9a94c2;--accent:#8b6cff;--accent-2:#5ee1ff;--gold:#ffd76a;--bad:#ff5d73;--good:#62f2a8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app{flex-direction:column;width:100vw;height:100vh;display:flex}[hidden]{display:none!important}button,select,input{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:8px;padding:6px 10px}button:hover{border-color:var(--accent)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.icon{width:32px;padding:6px 0}kbd{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 5px}.bar{background:var(--bg-2);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.brand{letter-spacing:.01em;background:0 0;border:none;padding:4px 6px;font-size:16px;font-weight:700}.brand-mark{color:var(--gold)}.song-info{flex-direction:column;min-width:0;max-width:20ch;line-height:1.2;display:flex}.song-info strong,.song-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.song-info span{color:var(--muted);font-size:12px}.controls{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.group{align-items:center;gap:4px;display:flex}.group output{text-align:center;min-width:3.2ch;color:var(--muted);font-variant-numeric:tabular-nums}.seg button{border-radius:0;margin-left:-1px}.seg button:first-child{border-radius:8px 0 0 8px;margin-left:0}.seg button:last-child{border-radius:0 8px 8px 0}.seg button[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.slider span,.label{color:var(--muted)}.label{margin-right:2px}.slider input{width:84px;accent-color:var(--accent)}button.chip{cursor:pointer}button.on{border-color:var(--gold);color:var(--gold)}.spacer{flex:1}.status{align-items:center;gap:6px;margin-left:auto;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:var(--bg);cursor:default;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:30ch;padding:4px 10px;font-size:12px;overflow:hidden}.chip.ok{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, transparent)}.chip.warn{color:var(--gold)}.progress{background:var(--bg-2);cursor:pointer;height:10px;position:relative}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:0;position:absolute;inset:0 auto 0 0}.progress-loop{background:color-mix(in srgb, var(--gold) 35%, transparent);border-inline:2px solid var(--gold);display:none;position:absolute;top:0;bottom:0}#staff{border-bottom:1px solid var(--line);background:#100d20;flex:none;width:100%;height:clamp(120px,19vh,176px);display:block}main{background:radial-gradient(1200px 500px at 50% -10%, #8b6cff29, transparent 70%), var(--bg);flex:1;min-height:0;position:relative}#roll{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#0d0b1ab8;border-radius:12px;gap:18px;padding:8px 14px;display:flex;position:absolute;top:12px;left:14px}.hud div{flex-direction:column;line-height:1.15;display:flex}.hud b{font-variant-numeric:tabular-nums;font-size:20px}.hud span{color:var(--muted);font-size:11px}.hint{text-align:center;border:1px solid var(--gold);max-width:calc(100% - 420px);color:var(--gold);pointer-events:none;background:#0d0b1ad1;border-radius:999px;padding:8px 16px;font-weight:600;position:absolute;top:16px;left:50%;transform:translate(-50%)}.panel{background:var(--panel);border:1px solid var(--line);z-index:5;border-radius:14px;width:min(380px,100vw - 28px);max-height:calc(100% - 24px);padding:16px;position:absolute;top:12px;right:14px;overflow:auto;box-shadow:0 20px 60px #00000080}.panel h2{margin:0 0 4px;font-size:16px}.muted{color:var(--muted);font-size:13px}.row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.row select,.track select{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:5px 8px}.row input[type=range]{accent-color:var(--accent)}.row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.track{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;display:flex}.track-name{flex-direction:column;min-width:0;display:flex}.track-name span{color:var(--muted);font-size:12px}.start{background:radial-gradient(900px 500px at 50% 0%, #8b6cff38, transparent 70%), var(--bg);z-index:4;position:absolute;inset:0;overflow:auto}.start-inner{width:min(1100px,100% - 32px);margin:0 auto;padding:6vh 0 48px}.start h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(30px,5vw,54px);line-height:1.05}.lede{color:var(--muted);max-width:60ch;margin:0 0 26px;font-size:17px}.drop{border:2px dashed color-mix(in srgb, var(--accent) 70%, transparent);white-space:normal;background:#8b6cff14;border-radius:18px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:38px 20px;font-size:15px;display:flex}.drop strong{font-size:20px}.drop span:last-child{color:var(--muted)}.drop-icon{color:var(--gold);font-size:34px}.error{color:var(--bad);margin:12px 0 0}.shelves{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;margin-top:32px;display:grid}.shelf h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:13px}.shelf ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.shelf li{gap:6px;display:flex}.song-card{text-align:left;border-radius:12px;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:flex}.song-card div{flex-direction:column;min-width:0;display:flex}.song-card small{color:var(--muted)}.song-card em{color:var(--accent-2);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px;font-style:normal}.remove{color:var(--muted)}.start-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:44px;padding-top:18px;font-size:13px;display:flex}.start-foot nav{flex-wrap:wrap;gap:6px 18px;display:flex}.start-foot a{color:var(--muted);text-underline-offset:3px}.start-foot a:hover{color:var(--text)}.start-foot a:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}.done{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:6;background:#0d0b1ab3;place-items:center;display:grid;position:absolute;inset:0}.done-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:18px;width:min(520px,100vw - 32px);padding:28px 32px}.done-card h2{margin:0 0 18px;font-size:26px}.done-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px;display:grid}.done-stats div{flex-direction:column;display:flex}.done-stats b{font-size:24px}.done-stats span{color:var(--muted);font-size:12px}.done-actions{justify-content:center;gap:10px;display:flex}.dropping{border:3px dashed var(--gold);z-index:10;pointer-events:none;background:#0d0b1ad9;border-radius:20px;place-items:center;font-size:40px;font-weight:700;display:grid;position:absolute;inset:12px}@media (width<=900px){.hint{max-width:calc(100% - 28px);top:84px}}@media (width<=720px){.hud{gap:12px;padding:6px 10px}.done-stats{grid-template-columns:repeat(2,1fr)}}
