:root{--bg:#0b0d12;--panel:#151922;--panel-2:#1c2230;--text:#e8ecf3;--muted:#8b94a7;--accent:#1db954;--accent-2:#4f8cff;--danger:#ff5d5d;--border:#262d3b}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.wrap{max-width:560px;margin:0 auto;padding:32px 20px 64px}h1{font-size:26px;margin:0 0 4px}.subtitle{color:var(--muted);margin:0 0 28px;font-size:14px;line-height:1.5}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:18px}button{font:inherit;cursor:pointer;border:none;border-radius:10px;padding:12px 18px;background:var(--panel-2);color:var(--text);transition:transform .05s ease,opacity .15s ease}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}.btn-primary{width:100%;font-size:17px;padding:16px}.btn-primary,.btn-spotify{background:var(--accent);color:#062b14;font-weight:700}.btn-ghost{background:transparent;border:1px solid var(--border)}.row{display:flex;gap:10px;align-items:center}.row.between{justify-content:space-between}.status{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.dot.live{background:var(--accent);box-shadow:0 0 0 0 rgba(29,185,84,.7);animation:pulse 1.4s infinite}.dot.error{background:var(--danger)}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(29,185,84,.6)}70%{box-shadow:0 0 0 10px rgba(29,185,84,0)}to{box-shadow:0 0 0 0 rgba(29,185,84,0)}}.track{display:flex;flex-direction:column;gap:2px}.track .title{font-size:18px;font-weight:700}.meta,.track .artist{color:var(--muted)}.meta{font-size:12px;margin-top:6px}label.field{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}input[type=range]{width:100%}.trim-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.error-text{color:var(--danger);font-size:13px}.hint{font-size:12px;line-height:1.5}.badge,.hint{color:var(--muted)}.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.badge.ok{color:var(--accent);border-color:rgba(29,185,84,.4)}