:root{--bg: #0a0a0a;--surface: #141414;--border: #2a2a2a;--muted: #555;--text: #f0f0f0;--text-dim: #999;--accent: #e8ff47;--danger: #ff4747;--success: #47ffb2;--radius: 12px;--gap: 16px}body{background:var(--bg);color:var(--text)}.page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:24px 16px;gap:var(--gap);max-width:480px;margin:0 auto}h1{font-size:2rem;font-weight:800;letter-spacing:-.03em}h2{font-size:1.4rem;font-weight:700}h3{font-size:1.1rem;font-weight:600}p{line-height:1.5;color:var(--text-dim)}.card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;width:100%}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0a0a0a}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#0a0a0a}input[type=text],textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;color:var(--text);font-size:1rem;outline:none;transition:border-color .15s}input[type=text]:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:60px}.session-code{font-size:3rem;font-weight:900;letter-spacing:.15em;color:var(--accent);text-align:center}.pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pill-draft{background:#333;color:var(--muted)}.pill-open{background:#1a3a2a;color:var(--success)}.pill-closed{background:#2a1a1a;color:var(--danger)}.option-btn{width:100%;padding:16px;background:var(--surface);border:2px solid var(--border);border-radius:10px;color:var(--text);font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.option-btn:hover{border-color:var(--accent)}.option-btn.selected{border-color:var(--accent);background:#1a1e00;color:var(--accent);font-weight:700}.option-btn:disabled{cursor:not-allowed;opacity:.6}.result-bar-wrap{display:flex;flex-direction:column;gap:10px;width:100%}.result-row{display:flex;flex-direction:column;gap:4px}.result-row-header{display:flex;justify-content:space-between;font-size:.9rem}.result-row-header .label{font-weight:500}.result-row-header .pct{font-weight:700;color:var(--accent)}.bar-bg{height:10px;background:var(--border);border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .4s ease}.bar-fill.majority{background:var(--accent)}.bar-fill.minority{background:#88f}.result-card{width:100%;border-radius:var(--radius);overflow:hidden}.result-card-majority{background:#1a1e00;border:2px solid var(--accent);padding:20px}.result-card-minority{background:#12121f;border:1px solid #8888ff;border-top:none;padding:16px 20px}.result-card-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:4px}.result-card-choice{font-size:1.4rem;font-weight:800;color:var(--accent);margin-bottom:4px}.result-card-minority .result-card-choice{font-size:1.1rem;color:#88f}.result-card-instruction{font-size:.95rem;color:var(--text-dim);margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.qr-wrap{background:#fff;padding:12px;border-radius:10px;display:inline-block}.divider{width:100%;border:none;border-top:1px solid var(--border);margin:4px 0}.text-center{text-align:center}.text-dim{color:var(--text-dim)}.text-accent{color:var(--accent)}.flex-col{display:flex;flex-direction:column;gap:var(--gap);width:100%}.flex-row{display:flex;gap:8px;align-items:center}.w-full{width:100%}.mt-auto{margin-top:auto}.error-msg{color:var(--danger);font-size:.9rem}.total-votes{font-size:.85rem;color:var(--text-dim)}
