:root{--bg:#0b0d12;--panel:#151925;--line:#262c3f;--text:#e8eaf2;--muted:#8a91a8;--accent:#7c5cff;--ok:#3ecf8e;--warn:#f5a524;--bad:#ef4444}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,sans-serif}.page{max-width:640px;padding:16px 16px calc(88px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:8px 0;font-size:1.6rem}h2{margin:20px 0 8px;font-size:1.1rem}.muted{color:var(--muted);font-size:.9rem}a{color:inherit;text-decoration:none}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 14px}button:disabled{opacity:.5}button.primary{background:var(--accent);border-color:var(--accent);font-weight:600}button.danger{color:var(--bad)}.row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.cards{gap:12px;margin-top:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:14px 16px;display:block}.card h2{margin:0 0 4px}.card p{color:var(--muted);margin:0}.card.error{border-color:var(--bad)}.notice{background:var(--panel);border-left:3px solid var(--warn);border-radius:6px;padding:8px 12px}.status{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:8px 0;padding:12px 14px}.status.synced_playing{border-color:var(--ok)}.status.error{border-color:var(--bad)}.nav{background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{text-align:center;color:var(--muted);flex:1;padding:14px 4px;font-size:.85rem}.nav a.active{color:var(--text);box-shadow:inset 0 2px var(--accent)}.tracks,.queue{margin:12px 0;padding:0;list-style:none}.tracks li{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px}.tracks li.selected{border-color:var(--accent)}.track-main{text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;width:100%;padding:0;display:flex}.actions{gap:6px;margin-top:8px;display:flex}.actions button{min-height:36px;padding:4px 10px;font-size:.85rem}.queue li{margin-bottom:10px}.meter{margin:12px 0}.meter-label{color:var(--muted);justify-content:space-between;margin-bottom:4px;font-size:.85rem;display:flex}.bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.fill{background:var(--ok);height:100%;transition:width .15s}.fill.low{background:var(--warn)}.fill.hot{background:var(--bad)}.fill.conf{background:var(--accent)}.fill.indeterminate{animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.4}}.waveform{touch-action:none;width:100%;height:80px;display:block}.field{margin:16px 0;display:block}.field span{margin-bottom:6px;display:block}input[type=range]{width:100%}input[type=number]{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--line);font:inherit;border-radius:8px;padding:10px}.toast{left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));background:var(--accent);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:fixed}.toast button{background:#fff2;border-color:#fff4}
