:root{color-scheme:dark;--bg: #121212;--surface: #181818;--surface-2: #242424;--text: #f5f5f5;--text-dim: #a7a7a7;--accent: #1db954;--danger: #e74c3c}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}.app{max-width:480px;margin:0 auto;padding:env(safe-area-inset-top) 1rem calc(env(safe-area-inset-bottom) + 1rem)}header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}header h1{font-size:1.25rem;margin:0}.btn{border:none;border-radius:999px;padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;background:var(--surface-2);color:var(--text);cursor:pointer;text-decoration:none;display:inline-block}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#05230f}.btn-danger{background:transparent;color:var(--danger)}.btn-link{background:none;color:var(--text-dim);padding:.4rem;font-weight:400;font-size:.85rem}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:.75rem}.login-logo{width:72px;height:72px;margin-bottom:.5rem}.login-screen p{color:var(--text-dim);max-width:320px}.login-screen .btn{margin-top:1rem;font-size:1.05rem;padding:.8rem 1.6rem}.center-message{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.error{color:var(--danger)}.notice{background:var(--surface-2);border-radius:8px;padding:.6rem .8rem;margin-bottom:1rem;font-size:.9rem;color:var(--danger)}.now-playing{background:var(--surface);border-radius:12px;padding:1rem;display:grid;grid-template-columns:64px 1fr;gap:.75rem;margin-bottom:1.5rem}.now-playing.empty{display:block;text-align:center;color:var(--text-dim)}.album-art{width:64px;height:64px;border-radius:6px;object-fit:cover;grid-row:span 2}.track-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-name{color:var(--text-dim);font-size:.9rem}.progress-text{color:var(--text-dim);font-size:.8rem;margin-top:.25rem}.controls{grid-column:2}.save-form{grid-column:1 / -1;display:flex;gap:.5rem;margin-top:.5rem}.save-form input{flex:1;border-radius:8px;border:1px solid var(--surface-2);background:var(--bg);color:var(--text);padding:.5rem .7rem}.hint{color:var(--text-dim);font-size:.85rem}.queue-list{display:flex;flex-direction:column;gap:.75rem}.queue-list.empty{text-align:center;color:var(--text-dim);padding:2rem 1rem}.queue-card{background:var(--surface);border-radius:12px;padding:.85rem;display:grid;grid-template-columns:56px 1fr;gap:.75rem;border:1px solid transparent}.queue-card.active{border-color:var(--accent)}.queue-art{width:56px;height:56px;border-radius:6px;object-fit:cover}.queue-name{font-weight:600;cursor:text}.queue-name input{width:100%;background:var(--bg);border:1px solid var(--accent);border-radius:6px;color:var(--text);padding:.2rem .4rem;font-weight:600}.badge{background:var(--accent);color:#05230f;border-radius:999px;font-size:.65rem;padding:.1rem .5rem;font-weight:700;vertical-align:middle;margin-left:.35rem}.queue-track{color:var(--text-dim);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-position{color:var(--text-dim);font-size:.75rem;margin-top:.15rem}.queue-actions{grid-column:1 / -1;display:flex;gap:.5rem;flex-wrap:wrap}
