:root{--bg:#0f1114;--bg-panel:#15181d;--bg-elevated:#1c2026;--bg-hover:#252b33;--border:#2a3038;--border-strong:#3a424d;--text:#e8eaed;--text-muted:#8b939f;--accent:#a78bfa;--accent-hover:#c4b5fd;--accent-subtle:#a78bfa2e;--danger:#e25555;--danger-subtle:#e2555524;--radius:8px;--radius-sm:6px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--range-thumb:22px}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}button,input{font-family:inherit}.btn.play-btn{border-color:var(--accent);color:var(--text);background:#a78bfa1f;font-weight:600}.btn.play-btn:disabled{opacity:.55}.btn.play-btn:not(:disabled){background:var(--accent);border-color:var(--accent);color:#0f1114;box-shadow:0 1px 2px #00000040}.btn.play-btn:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.play-btn.playing:not(:disabled){background:var(--bg-elevated);border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.btn.play-btn.playing:not(:disabled):hover{background:var(--bg-hover);border-color:var(--accent-hover);color:var(--accent-hover)}input[type=range]{width:100%;height:var(--range-thumb);appearance:none;cursor:pointer;background:0 0;outline:none}input[type=range]::-webkit-slider-runnable-track{background:var(--border);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;width:var(--range-thumb);height:var(--range-thumb);border:2px solid var(--bg-panel);background:var(--accent);cursor:pointer;margin-top:calc((4px - var(--range-thumb)) / 2);border-radius:50%}input[type=range]::-moz-range-track{background:var(--border);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{width:var(--range-thumb);height:var(--range-thumb);border:2px solid var(--bg-panel);background:var(--accent);cursor:pointer;border-radius:50%}input[type=range]:disabled{cursor:not-allowed;opacity:.45}@media (width<=768px){:root{--range-thumb:28px}input[type=range]{height:var(--range-thumb)}}
