:root{--bg:#0f1419;--panel:#1a2332;--text:#f2f5f8;--muted:#9aa7b5;--accent:#3d8bfd;--yes:#2ecc71;--no:#e74c3c;--border:#2c3a4d}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;border-radius:10px;padding:.7rem 1.1rem;background:var(--accent);color:white;font-weight:600}button.secondary{background:#334155}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent)}.shell{max-width:1100px;margin:0 auto;padding:1.5rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.25rem}.muted{color:var(--muted)}.row{align-items:center}.row,.stats{display:flex;gap:1rem;flex-wrap:wrap}.stat{background:#0b1220;border:1px solid var(--border);border-radius:12px;padding:.75rem 1rem;min-width:110px}.stat strong{display:block;font-size:1.8rem;line-height:1.1}.bar-row{display:grid;grid-template-columns:minmax(140px,1fr) 3fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;margin:.65rem 0}.bar-track{background:#0b1220;border-radius:999px;height:18px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#60a5fa);transition:width .35s ease}.bar-fill.yes{background:linear-gradient(90deg,#159947,#2ecc71)}.bar-fill.no{background:linear-gradient(90deg,#c0392b,#e74c3c)}.stream{display:flex;flex-direction:column;gap:.6rem;max-height:55vh;overflow:auto}.bubble{background:#0b1220;border-left:4px solid var(--accent);border-radius:10px;padding:.75rem 1rem;animation:fadeIn .35s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.code-xl{font-size:clamp(2.5rem,8vw,4.5rem);letter-spacing:.2em;font-weight:800}.option{display:block;width:100%;text-align:left;background:#0b1220;border:1px solid var(--border);margin:.4rem 0;color:var(--text)}.option.selected{border-color:var(--accent);background:#132033}.yesno{display:grid;grid-template-columns:1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.yesno .btns{display:flex;gap:.4rem}.yesno .btns button{padding:.45rem .8rem;background:#334155}.yesno .btns button.on-yes{background:var(--yes)}.yesno .btns button.on-no{background:var(--no)}.hint{background:#132033;border:1px dashed var(--border);border-radius:12px;padding:.65rem .85rem;font-size:.9rem;color:var(--muted)}.hint,.vote-budget{margin-bottom:.85rem}.vote-budget{background:#0b1220;border:1px solid var(--border);border-radius:10px;padding:.55rem .75rem;font-size:.88rem}.settings-grid{display:grid;grid-gap:.75rem;gap:.75rem;margin:.75rem 0 1rem}.settings-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--muted)}.settings-grid input[type=number]{width:100%;max-width:8rem;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:#0b1220;color:var(--text)}.propose-box{display:flex;gap:.5rem;margin-bottom:1rem}.propose-box input{flex:1 1;min-width:0;width:auto}.propose-box button{flex-shrink:0;padding:.7rem .85rem}.proposal-list{display:flex;flex-direction:column;gap:.55rem}.proposal{display:grid;grid-template-columns:auto 1fr;grid-gap:.65rem;gap:.65rem;align-items:center;background:#0b1220;border:1px solid var(--border);border-radius:12px;padding:.55rem .65rem}.proposal.yours{border-color:var(--accent)}.proposal .upvote{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:3.25rem;min-height:3.25rem;padding:.45rem .35rem;background:#1e293b;border-radius:10px;color:var(--text);font-size:.85rem;line-height:1.15;-webkit-tap-highlight-color:transparent}.proposal .upvote.on{background:var(--accent)}.proposal .upvote .arrow{font-size:1rem;font-weight:800}.proposal .body{min-width:0}.proposal .body .text{font-weight:600;word-break:break-word}.proposal .body .meta{font-size:.75rem;color:var(--muted);margin-top:.15rem}.leaderboard-row{display:grid;grid-template-columns:3rem 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;margin:.55rem 0}.leaderboard-row .rank{font-size:1.25rem;font-weight:800;color:var(--muted)}input[type=password],input[type=text],textarea{width:100%;padding:.75rem;border-radius:10px;border:1px solid var(--border);background:#0b1220;color:var(--text)}.presenter-grid{display:grid;grid-template-columns:280px 1fr;grid-gap:1.25rem;gap:1.25rem}@media (max-width:860px){.presenter-grid{grid-template-columns:1fr}.shell{padding:.85rem .75rem 1.5rem}.card{padding:1rem .85rem}}