:root{--bg:#0f1115;--card:#171a21;--card-2:#1e222c;--border:#2a2f3a;--text:#e8eaed;--muted:#9aa0a6;--accent:#ff2a3c;--accent-2:#ff5460;--ok:#34d399;--radius:14px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}body{min-height:100vh}.wrap{max-width:900px;margin:0 auto;padding:24px 20px 60px}header.site{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:28px;padding:20px 0;display:flex}.site h1{letter-spacing:-.02em;margin:0;font-size:1.5rem}.site h1 .play{color:var(--accent)}.tagline{color:var(--muted);margin-top:2px;font-size:.92rem}.countdown{text-align:right;color:var(--muted);font-size:.9rem}.countdown strong{color:var(--accent-2);font-variant-numeric:tabular-nums;font-size:1.1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:20px}h2.section{margin:0 0 14px;font-size:1.15rem}.player{aspect-ratio:16/9;border-radius:var(--radius);background:#000;margin-bottom:14px;position:relative;overflow:hidden}.player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.current-title{margin:0 0 4px;font-size:1.2rem;font-weight:600}.current-meta{color:var(--muted);margin-bottom:10px;font-size:.85rem}.current-desc{color:var(--text);white-space:pre-wrap;margin:0 0 14px}.keep-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--card-2);color:var(--text);border-radius:10px;padding:9px 16px;transition:transform 50ms,background .15s,border-color .15s}button:hover{border-color:var(--accent)}button:active{transform:scale(.98)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}button.voted{background:var(--ok);border-color:var(--ok);color:#06251a;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}.votes-pill{background:var(--card-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.9rem}.votes-pill strong{color:var(--text)}.proposal{border:1px solid var(--border);background:var(--card-2);border-radius:12px;margin-bottom:14px;padding:16px;transition:border-color .15s}.proposal.mine{border-color:#5b6472}.proposal-voted{border-color:var(--ok)}.proposal-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.proposal h3{word-break:break-word;margin:0;font-size:1.02rem}.badge{text-transform:uppercase;letter-spacing:.04em;color:#cdd3dc;white-space:nowrap;background:#3a4150;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:600}.proposal p{color:var(--muted);white-space:pre-wrap;word-break:break-word;margin:10px 0 14px}.proposal-bottom{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.empty{color:var(--muted);text-align:center;padding:30px 10px}form{flex-direction:column;gap:12px;display:flex}label{color:var(--muted);flex-direction:column;gap:5px;font-size:.88rem;display:flex}label span.required{color:var(--accent-2)}input,textarea{font:inherit;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;width:100%;padding:10px 12px}input:focus,textarea:focus{border-color:var(--accent);outline:none}textarea{resize:vertical;min-height:80px}.hint{color:var(--muted);margin:0 0 14px;font-size:.85rem}footer.site{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:40px;padding-top:16px;font-size:.82rem}#toast{background:var(--card-2);border:1px solid var(--border);z-index:50;opacity:0;pointer-events:none;text-align:center;border-radius:10px;max-width:90vw;padding:10px 18px;transition:opacity .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}#toast.show{opacity:1}#toast.error{border-color:var(--accent);color:#ffb3ba}#toast.ok{border-color:var(--ok);color:#a7f3d0}@media (width<=600px){.wrap{padding:16px 14px 40px}.countdown{text-align:left;width:100%}}
