:root{--bg:#121419;--panel:#161920db;--border:#ffffff17;--text:#e8eaef;--muted:#9aa1ae;--accent:#6aa8ff;--accent-2:#3d7be0;--ok:#4cc38a;--warn:#e6a23c;--err:#e5534b;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}#app,#viewport{position:fixed;inset:0}#viewport canvas{width:100%;height:100%;display:block}#hud{z-index:3;gap:8px;display:flex;position:fixed;top:14px;left:16px}.chip{border:1px solid var(--border);background:#ffffff14;border-radius:999px;padding:4px 10px;font-size:12px}.chip.ok{color:var(--ok)}.chip.err{color:var(--err)}.chip.muted{color:var(--muted)}#state-chip{text-transform:capitalize}#subtitle{text-align:center;z-index:2;opacity:0;background:#00000073;border-radius:10px;max-width:min(760px,86vw);padding:8px 16px;font-size:clamp(16px,2.2vw,22px);line-height:1.4;transition:opacity .25s;position:fixed;bottom:6vh;left:50%;transform:translate(-50%)}#subtitle.show{opacity:1}#subtitle .w{color:#c9ced8}#subtitle .w.now{color:#fff;text-shadow:0 0 12px #6aa8ff99}#subtitle .w.done{color:#fff}#loading{text-align:center;background:var(--bg);z-index:10;place-content:center;gap:12px;display:grid;position:fixed;inset:0}#loading.hidden{display:none}#toast{color:#ffd9d6;z-index:5;background:#3a1d1d;border:1px solid #6b2a2a;border-radius:10px;max-width:420px;padding:10px 14px;font-size:13px;display:none;position:fixed;top:54px;left:16px}#toast.show{display:block}#panel{z-index:4;background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;width:320px;padding:12px 14px 16px;transition:transform .25s;position:fixed;top:12px;bottom:12px;right:12px;overflow-y:auto}#panel.collapsed{transform:translate(calc(100% - 44px))}#panel-toggle{position:absolute;top:8px;left:8px}#panel section{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}#panel #talk{margin-top:30px}#sheet-handle{display:none}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}label{align-items:center;gap:8px;margin:6px 0;font-size:13px;display:flex}label>select,label>input[type=range]{flex:1}output{text-align:right;font-variant-numeric:tabular-nums;width:34px;color:var(--muted);font-size:12px}textarea,select,input[type=file]{width:100%;color:var(--text);border:1px solid var(--border);font:inherit;background:#0000004d;border-radius:8px;padding:7px 8px;font-size:13px}textarea{resize:vertical;min-height:64px}#samples{margin-top:6px}button{color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;background:#ffffff14;border-radius:8px;padding:7px 12px;font-size:13px}button:hover{background:#ffffff24}button.primary{background:var(--accent-2);border-color:var(--accent)}button.primary:hover{background:var(--accent)}button.active{border-color:var(--accent);color:#fff;background:#6aa8ff38}button.icon{padding:4px 9px}.row{gap:8px;margin-top:8px;display:flex}.row button{flex:1}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{text-transform:capitalize;padding:5px 10px}.seg{gap:12px;margin-bottom:6px;display:flex}.seg label{margin:0}label.file{flex-direction:column;align-items:stretch}#debug-bars{color:var(--muted);grid-template-columns:34px 1fr;gap:3px 8px;font-size:11px;display:grid}#debug-bars .bar{background:#ffffff0f;border-radius:3px;height:9px;overflow:hidden}#debug-bars .bar i{background:var(--accent);width:0;height:100%;display:block}@media (max-width:720px){#hud{top:calc(10px + env(safe-area-inset-top));left:12px}#toast{top:calc(48px + env(safe-area-inset-top));max-width:none;left:12px;right:12px}#panel{width:auto;max-height:62vh;max-height:min(62dvh,600px);padding:0 14px calc(10px + env(safe-area-inset-bottom));transform:translateY(calc(var(--sheet-y,0px) - var(--kb,0px)));overscroll-behavior:contain;border-bottom:none;border-radius:18px 18px 0 0;flex-direction:column;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;inset:auto 0 0;overflow:hidden}#panel.dragging{transition:none}#panel-toggle{display:none}#sheet-handle{width:100%;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;touch-action:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:none;align-items:center;gap:3px;padding:8px 0 6px;font-size:11px;display:flex}#sheet-handle:hover{background:0 0}.grabber{background:#ffffff4d;border-radius:3px;width:40px;height:5px}#panel-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}#panel:not([data-sheet=full]) #panel-body{overflow:hidden}#settings{transition:opacity .2s}#panel:not([data-sheet=full]) #settings{opacity:0;visibility:hidden}#panel:not([data-sheet=full]) #talk .seg,#panel:not([data-sheet=full]) #samples{display:none}#panel #talk{border-top:0;margin-top:0;padding-top:0}#talk h2{display:none}textarea,select,input,button{font-size:16px}textarea{resize:none;min-height:50px}.row{margin-top:6px}.row button{padding:10px 12px}#subtitle{bottom:var(--sub-bottom,30vh);max-width:94vw;padding:6px 12px;font-size:15px}body.sheet-full #subtitle{visibility:hidden}}
