:root{--bg:#0e0f13;--panel:#16181f;--panel-2:#1d2029;--line:#2a2e3a;--text:#ecedf2;--muted:#9097a8;--accent:#7c6cff;--accent-2:#3dd6c6;--danger:#ff6b7a;--radius:12px;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent-2)}.layout{grid-template-rows:1fr auto;grid-template-columns:220px 1fr;min-height:100vh;display:grid}nav.side{border-right:1px solid var(--line);background:#0a0b0e;flex-direction:column;gap:4px;padding:20px 14px;display:flex}.brand{align-items:center;gap:8px;padding:4px 10px 18px;font-size:1.15rem;font-weight:700;display:flex}.brand .dot{background:linear-gradient(135deg, var(--accent), var(--accent-2));border-radius:50%;width:22px;height:22px}nav.side button{text-align:left;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:10px 12px}nav.side button.active,nav.side button:hover{background:var(--panel-2);color:var(--text)}.spent{color:var(--muted);margin-top:auto;padding:10px 12px;font-size:.8rem}main{padding:28px clamp(16px,4vw,40px) 140px;overflow-x:hidden}h1{margin:0 0 6px;font-size:1.7rem}h2{margin:28px 0 12px;font-size:1.1rem}.sub{color:var(--muted);margin:0 0 22px}.banner{color:#ffd5da;background:#3a1820;border:1px solid #5c2430;border-radius:10px;margin-bottom:18px;padding:12px 14px}.banner.info{color:#d6dcff;background:#1b1f33;border-color:#2c3460}.stations{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.station{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:left;flex-direction:column;gap:6px;min-height:96px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.station:hover{border-color:var(--accent);transform:translateY(-1px)}.station.active{border-color:var(--accent);background:linear-gradient(160deg, #241f4a, var(--panel))}.station strong{font-size:1rem}.station span{color:var(--muted);font-size:.85rem}.wish{gap:8px;margin-top:14px;display:flex}.wish input{flex:1;min-width:0}input[type=text],input[type=password],textarea,select{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:80px}.btn{background:var(--accent);color:#fff;white-space:nowrap;border:0;border-radius:999px;padding:10px 18px;font-weight:600}.btn.ghost{border:1px solid var(--line);color:var(--text);background:0 0}.btn:disabled{opacity:.5;cursor:default}.now{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:160px 1fr;align-items:center;gap:22px;margin-top:24px;padding:20px;display:grid}.cover{color:#ffffffe6;border-radius:10px;place-items:center;width:160px;height:160px;font-size:2.6rem;font-weight:700;display:grid}.now h3{margin:0 0 6px;font-size:1.4rem}.meta{color:var(--muted);font-size:.9rem}.desc{margin:10px 0 0;line-height:1.5}.tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.78rem}.composing{align-items:center;gap:14px;display:flex}.pulse{background:var(--accent-2);border-radius:50%;flex:none;width:14px;height:14px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.list{flex-direction:column;gap:6px;display:flex}.row{background:var(--panel);border:1px solid var(--line);border-radius:10px;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.row .mini{border-radius:6px;width:44px;height:44px}.row .t{font-weight:600}.row .actions{gap:6px;display:flex}.icon{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;place-items:center;width:36px;height:36px;padding:0;display:grid}.icon.on{border-color:var(--accent);color:var(--accent)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 14px}.chip.on{border-color:var(--accent);color:var(--text);background:#2a2457}.field{max-width:640px;margin-bottom:18px}.field label{margin-bottom:8px;font-weight:600;display:block}.field .hint{color:var(--muted);margin-top:6px;font-size:.85rem;line-height:1.45}.check{align-items:center;gap:10px;display:flex}.inline{gap:8px;display:flex}footer.player{border-top:1px solid var(--line);z-index:10;background:#0a0b0e;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:10px clamp(12px,3vw,24px);display:grid;position:fixed;bottom:0;left:0;right:0}.p-info{align-items:center;gap:10px;min-width:0;display:flex}.p-info .mini{border-radius:6px;flex:none;width:48px;height:48px}.p-info .txt{min-width:0}.p-info .t,.p-info .meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p-center{flex-direction:column;align-items:center;gap:6px;width:min(520px,46vw);display:flex}.p-buttons{align-items:center;gap:10px;display:flex}.play{background:var(--text);color:#000;border:0;border-radius:50%;width:44px;height:44px;font-size:1.1rem}.progress{width:100%;color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:flex}.bar{background:var(--line);border-radius:2px;flex:1;height:4px;overflow:hidden}.bar>div{background:var(--accent-2);width:0;height:100%}.p-right{justify-content:flex-end;align-items:center;gap:8px;display:flex}.p-right input[type=range]{width:100px;accent-color:var(--accent)}@media (width<=760px){.layout{grid-template-columns:1fr}nav.side{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:10px 12px;overflow-x:auto}.brand{padding:4px 8px;font-size:1rem}.brand span:last-child,.spent{display:none}nav.side button{white-space:nowrap;padding:8px 10px}main{padding-bottom:190px}.now{grid-template-columns:1fr}.cover{width:100%;height:120px}footer.player{grid-template-rows:auto auto;grid-template-columns:1fr auto}.p-center{grid-area:2/1/auto/-1;width:100%}.p-right input[type=range]{display:none}}.lyrics{color:var(--muted);margin-top:12px}.lyrics summary{cursor:pointer;color:var(--text)}.lyrics p{margin:8px 0 0;line-height:1.6}input[type=radio]{accent-color:var(--accent)}
