:root{--bg:#f4f4f3;--panel:#fbfbfa;--control:#fff;--line:#e3e3e0;--line2:#cfcfcb;--hover:#0000000b;--text:#1d1d1c;--muted:#676764;--faint:#9b9b97;--accent:#2a6ddb;--accent-bg:#2a6ddb1a;--stage:#f7f7f6;--mute:#d9822b;--solo:#c9a400;--shadow:0 6px 24px #0000001f;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141414;--panel:#1b1b1b;--control:#262626;--line:#2a2a2a;--line2:#3a3a3a;--hover:#ffffff0d;--text:#e7e7e5;--muted:#a0a09c;--faint:#6c6c69;--accent:#5c98f5;--accent-bg:#5c98f529;--stage:#121212;--mute:#e0934a;--solo:#e0c040;--shadow:0 6px 24px #00000080;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 system-ui,Segoe UI,sans-serif;overflow:hidden}.app{grid-template-rows:44px minmax(0,1fr) auto;height:100%;display:grid;overflow:hidden}button,select,input{font:inherit;color:inherit}button,select{background:var(--control);border:1px solid var(--line2);cursor:pointer;border-radius:6px;padding:3px 10px}button:hover{background:var(--hover)}button.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}select{padding:3px 6px}input[type=range]{accent-color:var(--accent)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.spacer{flex:1}.muted{color:var(--muted)}.seg{border:1px solid var(--line2);background:var(--control);border-radius:6px;display:flex;overflow:hidden}.seg button{color:var(--muted);background:0 0;border:0;border-radius:0;padding:3px 10px}.seg button+button{border-left:1px solid var(--line2)}.seg button:hover{color:var(--text);background:var(--hover)}.seg button.on{background:var(--accent-bg);color:var(--accent)}header{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;padding:0 12px;display:flex}.brand{white-space:nowrap;font-weight:600}.track{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}main{grid-template-columns:260px minmax(0,1fr) 340px;min-height:0;display:grid}main.player{grid-template-columns:minmax(0,1fr)}aside{background:var(--panel);flex-direction:column;min-height:0;display:flex}#list-panel{border-right:1px solid var(--line)}#inspector{border-left:1px solid var(--line);overflow-y:auto}#list{flex:1;padding:4px 0 12px;overflow-y:auto}.group{color:var(--muted);padding:10px 12px 4px;font-size:12px;font-weight:600}.row{cursor:pointer;grid-template-columns:8px minmax(0,1fr) 40px 20px 20px;align-items:center;gap:8px;padding:2px 8px 2px 12px;display:grid}.row:hover,.row.hover{background:var(--hover)}.row.selected{background:var(--accent-bg)}.row.filtered{opacity:.35}.row .dot{border-radius:50%;width:8px;height:8px}.row .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row .nm .n{color:var(--faint);font-family:var(--mono);margin-right:6px;font-size:11px}.row.silenced .nm{color:var(--faint)}.meter{background:var(--line);border-radius:2px;height:4px;overflow:hidden}.meter>div{width:0;height:100%}.ms{width:20px;height:18px;color:var(--faint);border-color:var(--line2);border-radius:4px;padding:0;font-size:10.5px;font-weight:600}.ms.on.m{background:var(--mute);border-color:var(--mute);color:#fff}.ms.on.s{background:var(--solo);border-color:var(--solo);color:#000}.pair{color:var(--faint)}#stage{background:var(--stage);min-width:0;min-height:0;position:relative;overflow:hidden}#viewport{position:absolute;inset:0}#viewport canvas{touch-action:none;display:block}#overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label{white-space:nowrap;color:var(--text);background:color-mix(in srgb, var(--panel) 85%, transparent);border:1px solid var(--line);border-radius:4px;align-items:center;gap:5px;padding:0 6px 0 5px;font-size:11.5px;display:flex;position:absolute;top:0;left:0}.label i{border-radius:50%;width:7px;height:7px}.label.strong{border-color:var(--line2);background:var(--panel);z-index:1;font-weight:600}.caption{color:var(--muted);font-size:11.5px;position:absolute}.divider{background:var(--line2);position:absolute}.divider.v{width:1px;top:0;bottom:0}.divider.h{height:1px;left:0;right:0}.toolbar{position:absolute;top:10px;right:10px}#tooltip,#picker{z-index:5;background:var(--panel);border:1px solid var(--line2);min-width:180px;box-shadow:var(--shadow);border-radius:6px;padding:4px;font-size:12px;position:absolute}#tooltip{pointer-events:none}.tip-row{border-radius:4px;align-items:center;gap:7px;padding:3px 6px;display:flex}.tip-row i{border-radius:50%;flex:none;width:8px;height:8px}.tip-row span{white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:260px;overflow:hidden}.tip-row em{color:var(--muted);font-style:normal;font-family:var(--mono);font-size:11px}#picker .tip-row,.rows .tip-row{cursor:pointer}#picker .tip-row:hover,.rows .tip-row:hover{background:var(--hover)}#landing{z-index:8;background:var(--stage);place-items:center;display:grid;position:absolute;inset:0}.start{flex-direction:column;gap:14px;width:min(440px,100% - 32px);display:flex}.start .seg{align-self:center}.drop{border:1.5px dashed var(--line2);text-align:center;width:100%;color:var(--muted);background:var(--panel);border-radius:10px;padding:36px 16px;display:block}.drop:hover,body.dragging .drop{border-color:var(--accent);color:var(--text);background:var(--panel)}.drop b{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:600;display:block}.start label{color:var(--muted);justify-content:center;align-items:center;gap:8px;display:flex}.status{color:var(--faint);text-align:center;font-size:12px}.progress{color:var(--muted);justify-content:space-between;display:flex}.bar{background:var(--line);border-radius:2px;height:3px;overflow:hidden}.bar>div{background:var(--accent);width:0;height:100%;transition:width .25s}.error{color:#d9443b;text-align:center}.sec{border-bottom:1px solid var(--line);padding:12px 14px}.sec h3{color:var(--muted);justify-content:space-between;align-items:center;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.obj-head{align-items:center;gap:10px;display:flex}.swatch{border-radius:50%;flex:none;width:12px;height:12px}.obj-head h2{margin:0;font-size:15px;font-weight:600;line-height:1.25}.obj-head .sub{color:var(--muted);font-size:12px}.nav{gap:4px;margin-left:auto;display:flex}.nav button{padding:1px 8px}.actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.now{grid-template-columns:1fr auto;gap:2px 10px;display:grid}.now .where{font-weight:600}.now .state{color:var(--muted);font-size:12px}.now .db{font-family:var(--mono);text-align:right;font-size:16px}.bigmeter{background:var(--line);border-radius:2px;grid-column:1/-1;height:4px;margin-top:6px;overflow:hidden}.bigmeter>div{width:0;height:100%}.maps{grid-template-columns:1fr 1fr;gap:10px;display:grid}.maps canvas{border:1px solid var(--line);border-radius:6px;width:100%;display:block}#lanes{cursor:pointer;width:100%;display:block}.stats{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.stat .k{color:var(--muted);font-size:11.5px}.stat .v{font-family:var(--mono)}.stat .v small{color:var(--muted);font-size:11px}.chiplist{flex-wrap:wrap;gap:4px;display:flex}.chiplist button{font-family:var(--mono);padding:1px 6px;font-size:11px}.tag{color:var(--muted);border:1px solid var(--line2);border-radius:4px;margin-left:6px;padding:0 5px;font-size:11px}.zbar{border-radius:3px;gap:2px;height:6px;margin:6px 0 4px;display:flex;overflow:hidden}.legend{color:var(--muted);flex-wrap:wrap;gap:2px 12px;margin-bottom:8px;font-size:11.5px;display:flex}.legend i{border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.hl{text-align:left;background:0 0;border:0;border-radius:4px;align-items:baseline;gap:8px;width:100%;padding:5px 6px;display:flex}.hl:hover{background:var(--hover)}.hl span:first-child{flex:1}.hl small{color:var(--muted);display:block}.hl .t{font-family:var(--mono);color:var(--muted)}footer{border-top:1px solid var(--line);background:var(--panel)}#transport{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;display:flex}#play{place-items:center;width:34px;height:28px;padding:0;display:grid}#play svg{fill:currentColor;width:14px;height:14px}#time{font-family:var(--mono);color:var(--muted);font-size:12.5px}#transport label{color:var(--muted);align-items:center;gap:6px;display:flex}#volume{width:90px}#timeline-wrap{border-top:1px solid var(--line);position:relative;overflow-y:auto}#timeline{cursor:crosshair;width:100%;display:block}.resizer{cursor:ns-resize;touch-action:none;z-index:1;height:5px;margin-top:-3px;position:relative}.resizer:hover{background:var(--accent-bg)}.settings{z-index:20;background:var(--panel);border:1px solid var(--line2);width:300px;max-height:calc(100vh - 66px);box-shadow:var(--shadow);border-radius:8px;padding:6px 14px 12px;position:fixed;top:50px;right:12px;overflow-y:auto}.settings h4{color:var(--muted);margin:12px 0 4px;font-size:12px;font-weight:600}.settings label{align-items:center;gap:8px;margin:5px 0;display:flex}.settings label select{margin-left:auto}.settings input[type=range]{flex:1}.settings .hint{color:var(--muted);margin:0 0 8px 23px;font-size:11px;line-height:1.4}.settings .credit{color:var(--faint);margin:10px 0 0;font-size:11px}.settings .hrtf{flex-wrap:wrap;align-items:center;gap:8px;margin:5px 0;display:flex}.settings .hrtf b{overflow-wrap:anywhere;font-weight:600}.settings .hrtf .buttons{gap:6px;margin-left:auto;display:flex}.settings .hint.error{color:var(--mute)}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line2);box-shadow:var(--shadow);border-radius:8px;padding:16px 20px}dialog::backdrop{background:#00000059}dialog h2{margin:0 0 10px;font-size:15px}dialog table{border-collapse:collapse}dialog td{padding:3px 12px 3px 0}kbd{font-family:var(--mono);background:var(--control);border:1px solid var(--line2);border-radius:4px;padding:0 5px;font-size:11px}@media (width<=1100px){main{grid-template-columns:220px minmax(0,1fr) 300px}}@media (width<=820px){body{overflow:auto}.app{grid-template-rows:44px auto auto;height:auto}main,main.player{grid-template-columns:1fr}#stage{height:60vh}#list-panel{max-height:40vh}}
