:root{--bg: #14181f;--panel: #1d232d;--border: #2e3746;--text: #e6e9ef;--muted: #8b95a7;--accent: #e0b04a;--pres: #c0453c;--nob: #3c7fc0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}body{margin:0;background:var(--bg)}button{background:#2b3442;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer;font:inherit}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:#3a4a2a;border-color:#5d7a3c}input,select{background:#0f1319;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 5px}input[type=number]{width:4em}h3{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}a{color:var(--accent)}.home{max-width:560px;margin:40px auto;padding:0 16px;display:flex;flex-direction:column;gap:14px}.home h1{margin:0 0 4px}.home .panel{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.code{color:var(--accent);letter-spacing:.15em;font-family:ui-monospace,Consolas,monospace}.share{display:flex;gap:6px}.share input{flex:1;min-width:0}button.big{font-size:18px;padding:10px 18px;align-self:flex-start}.seat-list{display:flex;flex-direction:column;gap:6px;width:100%}.seat-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#161b23;border-left:4px solid var(--nob)}.seat-row.pres{border-left-color:var(--pres)}.seat-row.mine{box-shadow:0 0 0 2px var(--accent)}.seat-row .role{font-weight:600}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#555;vertical-align:middle}.dot.on{background:#5dd16a}.board{max-width:1200px;margin:0 auto;padding:12px 16px 40px;display:flex;flex-direction:column;gap:12px}header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted)}header strong{color:var(--text)}.banner{padding:10px 14px;border-radius:8px;background:var(--panel);border:1px solid var(--border)}.banner.win-president{background:#4a1f1c;border-color:var(--pres);font-size:18px}.banner.win-nobodies{background:#1c304a;border-color:var(--nob);font-size:18px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px}.muted{color:var(--muted);font-size:13px}.warn{color:#f08a5d}.felt{position:relative;min-height:640px;border-radius:50%/42%;background:radial-gradient(ellipse at center,#1f4a34,#173a29 60%,#102a1e);border:10px solid #4a3324;box-shadow:inset 0 0 40px #00000080}.seat{position:absolute;transform:translate(-50%,-50%);width:230px;z-index:1;background:#14181fe0;border:2px solid var(--border);border-radius:10px;padding:8px}.seat.pres{border-color:var(--pres)}.seat.current,.my-seat.current{box-shadow:0 0 0 3px var(--accent)}.seat.checked{box-shadow:0 0 0 3px #5d9a3c}.seat.stealable{border-color:var(--accent)}.seat.stealable .card:hover{transform:translateY(-8px);box-shadow:0 0 0 2px var(--accent)}.seat-name{font-size:13px;margin-bottom:6px;font-weight:600}.steal-hint{color:var(--accent);font-size:12px;margin-top:4px}.check-note{color:#8fd16a}button.inline{margin-left:10px}.center{position:absolute;left:50%;top:40%;transform:translate(-50%);width:58%;display:flex;flex-direction:column;gap:12px}.pile-label{font-size:13px;color:#cfd8c8;margin-bottom:4px}.fan{display:flex;flex-wrap:wrap;row-gap:4px;padding-left:30px}.fan .card{margin-left:-30px;box-shadow:-2px 0 4px #0006;transition:transform .1s}.my-seat{border-width:2px}@media(max-width:800px){.bottom{grid-template-columns:1fr!important}.felt{min-height:0;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:10px}.seat,.center{position:static;transform:none;width:auto}}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot{border:2px solid var(--border);border-radius:8px;padding:8px;text-align:center;min-height:110px;background:#14181fb3}.slot.next{border-color:var(--accent)}.slot.done{background:#24331f;border-color:#5d7a3c}.slot-letter{font-size:36px;font-weight:800}.slot-count{color:var(--muted)}.slot-cards{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin-top:4px}.chip{background:#2b3442;border-radius:4px;padding:1px 6px;font-size:12px}.double-marker{margin-top:6px;font-size:12px;background:#4a3a1c;border-radius:4px;padding:2px 4px}.piles{display:flex;gap:14px}.pile{text-align:center;font-size:13px;color:#cfd8c8}.discard{flex:1;min-width:0}.card-row{display:flex;gap:6px}.card-row.wrap{flex-wrap:wrap}.card{width:74px;height:104px;border-radius:8px;border:2px solid #3d4757;background:#262e3a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:4px;box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0}.card.small{width:54px;height:76px;font-size:10px}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-3px)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);transform:translateY(-4px)}.card.hidden{background:repeating-linear-gradient(45deg,#2a3140,#2a3140 6px,#232a36 6px,#232a36 12px)}.card.deck{font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px}.big-letter{font-size:34px;font-weight:800;line-height:1}.card.small .big-letter{font-size:22px}.t-vote{background:#3a2a22;border-color:#a0603c}.t-universal{background:#3a3422;border-color:var(--accent)}.t-double{background:#3a2236;border-color:#a03c8f}.t-steal{background:#22303a;border-color:#3c7fa0}.t-burn{background:#3a2222;border-color:#c0453c}.t-callVotes,.t-check{background:#263a22;border-color:#5d9a3c}.t-shuffle{background:#2c2c3a;border-color:#7a7ac0}.t-trade,.t-callCard{background:#2a2a2a;border-color:#777;border-style:dashed}.actions{margin-top:12px;padding:10px;border:1px dashed var(--border);border-radius:8px}.card-text{margin-bottom:8px}.buttons{display:flex;flex-wrap:wrap;gap:6px}.draw{margin-top:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bottom{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}.log-lines{max-height:260px;overflow-y:auto;font-size:13px;display:flex;flex-direction:column;gap:3px}.newgame{display:flex;flex-direction:column;gap:8px}.newgame details{display:flex;flex-direction:column;gap:6px}.newgame details label{display:block;margin:6px 0;font-size:13px}
