:root{color-scheme:dark;--bg:#0c111b;--panel:#141d2b;--panel2:#1b2637;--line:#2c3a50;--text:#f1f4fa;--muted:#aab8cd;--green:#a5f3c2;--gold:#f4c668;--red:#ff9b9b;--radius:18px;font:16px/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.1;letter-spacing:-.035em;margin-bottom:24px;font-weight:750}h2{font-size:1.4rem;letter-spacing:-.025em}h3{font-size:1.1rem}small{font-size:.875rem;color:var(--muted)}.topbar{min-height:82px;padding:18px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#0f1623}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-weight:800;letter-spacing:.12em;font-size:1.15rem}.brand-mark{background:var(--green);color:var(--bg);width:36px;height:40px;display:grid;place-items:center;border-radius:8px;transform:rotate(-6deg);font-size:1.4rem}.brand-sub{font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.14em;border-left:1px solid var(--line);padding-left:16px}.top-actions{display:flex;align-items:center;gap:20px}.connection{color:var(--muted);font-size:.875rem}.connection.offline{color:var(--red)}main{max-width:1240px;margin:0 auto;padding:40px 24px 64px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;color:var(--green);display:block;margin-bottom:22px}.intro p{font-size:1.1rem;color:var(--muted);max-width:470px}.lobby-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:56px;align-items:start}.intro{padding-top:32px}.intro .mini-rule{display:flex;gap:28px;border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.mini-rule strong{display:block;color:var(--text);font-size:1.6rem}.mini-rule span{color:var(--muted);font-size:.875rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.entry-panel{border-top:3px solid var(--green);box-shadow:0 18px 70px #0003}.tabs{display:flex;gap:6px;padding:5px;background:var(--bg);border-radius:12px;margin-bottom:26px}.tabs button{flex:1;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:10px}.tabs button.active{background:var(--panel2);color:var(--text)}.field{display:block;margin-bottom:18px;font-weight:550;font-size:.9rem}.field input,.field select{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);min-height:50px}.field input::placeholder{color:#8594aa}.code-input{text-transform:uppercase;letter-spacing:.2em;font-weight:700}.button{border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px 16px;background:var(--panel2);color:var(--text);font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4}.button.primary{background:var(--green);border-color:var(--green);color:#0c241a}.button.gold{background:var(--gold);border-color:var(--gold);color:#34270e}.button.danger{color:var(--red);border-color:#74444b;background:#2b202a}.button.quiet{background:transparent}.button.full{width:100%}.button:not(:disabled):hover{filter:brightness(1.1);border-color:var(--muted)}.button.primary:not(:disabled):hover{border-color:var(--green)}.muted{color:var(--muted)}.entry-note{margin:18px 0 0;font-size:.875rem;color:var(--muted)}.role-strip{margin-top:50px;padding-top:26px;border-top:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-label h2,.section-label h3{margin:0}.role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.role-summary{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--role);border-radius:12px;padding:18px}.role-summary .role-number{font-size:.75rem;color:var(--role);letter-spacing:.15em}.role-summary h3{margin:10px 0 3px}.role-summary p{font-size:.875rem;color:var(--muted);margin:12px 0 0}.room-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.room-heading h1{font-size:2rem;margin-bottom:8px}.room-heading p{margin:0;color:var(--muted)}.room-code{font-weight:750;letter-spacing:.1em;color:var(--green)}.room-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.lobby-room{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.seats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.seat{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}.seat.current{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.seat.eliminated{opacity:.65}.seat.empty{background:transparent;border-style:dashed;min-height:140px;display:grid;place-items:center;color:var(--muted)}.seat-top{display:flex;gap:10px;align-items:center;margin-bottom:16px}.avatar{height:38px;width:38px;flex-shrink:0;background:var(--panel2);border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:.9rem;font-weight:750}.seat-name{font-size:1rem;line-height:1.4;overflow-wrap:anywhere;margin:0;font-weight:700}.seat-meta{font-size:.75rem;color:var(--muted)}.seat-stats{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:.875rem}.coins{font-size:1.25rem;color:var(--gold);font-weight:700}.coin-label{font-size:.8rem;font-weight:450}.tag{font-size:.75rem;padding:4px 9px;border-radius:6px;background:var(--panel2);color:var(--muted)}.tag.green{color:var(--green);background:#203c31}.tag.gold{color:var(--gold);background:#3c3422}.seat .mini-cards{display:flex;gap:6px;margin-top:14px}.mini-card{flex:1;min-height:52px;display:grid;place-items:center;background:#0e1623;border:1px solid var(--line);border-radius:7px;font-size:.75rem;font-weight:650;padding:5px;text-align:center}.mini-card.face{color:var(--role);border-color:var(--role)}.mini-card.back{color:#657793;letter-spacing:.2em}.ready-panel h2{margin-bottom:10px}.ready-panel>p{color:var(--muted)}.ready-panel .button{margin-top:10px}.guide-steps{padding-left:20px;color:var(--muted);font-size:.9rem}.guide-steps li{padding-bottom:14px}.guide-steps strong{color:var(--text)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.table-surface{padding:24px;border:1px solid #315245;border-radius:24px;background:linear-gradient(150deg,#182d29,#111e25 75%)}.table-surface .seat{background:#111c27}.table-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.table-top strong{font-size:.9rem}.table-top span{color:var(--muted);font-size:.875rem}.hand-panel{margin-top:24px}.hand-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.hand-head h2{margin:0}.hand-head .button{font-size:.875rem}.hand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.influence-card{background:var(--panel2);border:1px solid var(--line);border-top:4px solid var(--role,var(--line));border-radius:13px;min-height:176px;padding:20px;text-align:left;color:var(--text);position:relative;display:flex;flex-direction:column;align-items:flex-start}.influence-card h3{font-size:1.25rem;margin:10px 0 2px;color:var(--role,var(--text))}.influence-card p{font-size:.875rem;color:var(--muted);margin:12px 0 0}.influence-card .card-label{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.influence-card.card-back{border-top-color:var(--green);align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#182435,#182435 8px,#152031 8px,#152031 10px)}.card-back .card-wordmark{letter-spacing:.22em;font-size:2rem;font-weight:800;color:#647b98}.card-back p{text-align:center}.influence-card.dead{opacity:.6}.influence-card.selectable{cursor:pointer}.influence-card.selected{box-shadow:0 0 0 3px var(--green)}.state-panel{border-top:3px solid var(--gold)}.state-panel .eyebrow{color:var(--gold);margin-bottom:14px}.state-panel h2{line-height:1.4}.state-panel p{color:var(--muted);font-size:.95rem}.state-panel .button{margin-top:10px;width:100%}.waiting{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action-choice{background:var(--bg);border:1px solid var(--line);padding:13px 12px;border-radius:10px;color:var(--text);text-align:left}.action-choice strong{display:block;font-size:.9rem}.action-choice span{font-size:.8rem;color:var(--muted);display:block;margin-top:4px}.action-choice.selected{border-color:var(--green);background:#233930}.action-confirm{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.action-confirm p{font-size:.875rem}.action-confirm .field{margin-bottom:6px}.log-panel{margin-top:20px}.log-panel h3{margin-bottom:16px}.log{max-height:260px;overflow:auto;list-style:none;padding:0;margin:0;font-size:.875rem}.log li{color:var(--muted);border-left:2px solid var(--line);padding:0 0 15px 14px;overflow-wrap:anywhere}.log li:first-child{color:var(--text);border-color:var(--gold)}.host-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.host-tools .button{font-size:.875rem}.exchange-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.exchange-grid .influence-card{padding:14px;min-height:135px}.exchange-grid h3{font-size:1rem}.exchange-grid p{font-size:.8rem}.banner{border:1px solid #716035;border-radius:12px;padding:14px 18px;color:var(--gold);background:#332b1b;margin-bottom:24px}.winner{font-size:2.5rem;color:var(--green);font-weight:800;letter-spacing:-.03em;overflow-wrap:anywhere}.join-inline{margin-top:24px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;max-width:min(560px,calc(100vw - 32px));padding:14px 20px;background:#eef4ff;color:#152034;border-radius:12px;box-shadow:0 8px 40px #0006;font-size:.9rem}.toast[hidden]{display:none}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;width:min(840px,calc(100vw - 28px));max-height:85vh;padding:26px}dialog::backdrop{background:#000a;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.dialog-heading h2{margin:0}.help-roles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.help-roles .role-summary:last-child{grid-column:1 / -1}.help-list{padding-left:20px;color:var(--muted)}.help-list li{margin-bottom:12px}.help-list strong{color:var(--text)}.notice{padding:14px;background:var(--bg);border-radius:10px;color:var(--muted);font-size:.875rem}.leave-button{margin-top:20px}.public-note{font-size:.875rem;color:var(--muted)}
@media(max-width:1000px){.game-layout{grid-template-columns:minmax(0,1fr) 310px}.seats{grid-template-columns:repeat(2,1fr)}.role-grid{grid-template-columns:repeat(3,1fr)}.lobby-layout{gap:28px}.brand-sub{display:none}}
@media(max-width:760px){.topbar{padding:14px 18px;min-height:70px}.connection{display:none}.top-actions{gap:8px}.top-actions .button{padding:9px 12px;font-size:.875rem}main{padding:28px 18px 42px}.lobby-layout,.lobby-room,.game-layout{grid-template-columns:1fr;gap:22px}.intro{padding-top:4px}.intro p{font-size:1rem}.intro .mini-rule{margin-top:24px;padding-top:18px;margin-bottom:6px}.entry-panel{padding:22px}.role-grid{grid-template-columns:repeat(2,1fr)}.role-grid .role-summary:last-child{grid-column:1 / -1}.role-strip{margin-top:30px}.room-heading{flex-direction:column;gap:16px}.room-heading h1{font-size:1.65rem}.room-actions{justify-content:flex-start}.table-surface{padding:16px;border-radius:18px}.seat{padding:14px}.hand-panel{padding:18px}.influence-card{padding:16px;min-height:160px}.influence-card h3{font-size:1.1rem}.table-top{margin-bottom:16px}.state-panel{order:-1}.game-sidebar{display:contents}.game-sidebar .log-panel{order:2}.game-main{order:1}.exchange-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:20px}.help-roles{grid-template-columns:1fr}.help-roles .role-summary:last-child{grid-column:auto}}
@media(prefers-reduced-motion:no-preference){.button,.action-choice{transition:background .15s,border-color .15s}.seat.current{animation:turn-in .3s ease-out}@keyframes turn-in{from{transform:translateY(3px);opacity:.8}to{transform:translateY(0);opacity:1}}}

.state-panel .hand{grid-template-columns:1fr}

.seat-stats{gap:8px;flex-wrap:wrap}.coins,.tag{white-space:nowrap}
