/* Each phone owns its private card; the public screen shows the gathering. */
.g-poison{--game:var(--sage)}
.gameCard[data-to="poison"]{--game:var(--sage)}
.g-poison svg{width:150px;height:auto}
.pc-code-input{letter-spacing:4px;text-align:center;text-transform:uppercase}
body.pc-playing #app{display:block;max-width:1100px}
body.tv.pc-playing #app{max-width:1500px}
.pc-page{display:flex;flex-direction:column;gap:16px;min-width:0}
.pc-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pc-heading h1{font-family:var(--kufi);font-size:40px}
.pc-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:100px;background:var(--sunk);font-size:13px;font-weight:700}
.pc-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.pc-status .pc-clock{margin-inline-start:auto}
.pc-clock{font-family:var(--display);font-size:26px;font-variant-numeric:tabular-nums;direction:ltr;white-space:nowrap;line-height:1.2}
.pc-clock.urgent{color:var(--red)}
.pc-lobby{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.pc-lobby>*{min-width:0}
.pc-room{align-items:center;text-align:center;gap:16px}
body .pc-room .code{font-size:clamp(36px,5vw,72px);letter-spacing:6px;line-height:1.3;padding:12px 14px;max-width:100%;width:min(100%,320px)}
body .pc-room .joinQr .qr{max-width:100%;width:min(260px,65vw)}
.pc-time{margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0;display:flex;flex-direction:column;gap:12px}
.pc-time legend{padding-inline:6px;font-family:var(--display);font-weight:700;color:var(--auth)}
.pc-time-presets{display:flex;flex-wrap:wrap;gap:8px}
.pc-time-presets [aria-pressed="true"]{background:var(--auth);color:var(--clarity)}
.pc-time label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.pc-time input{width:100px;flex:none;text-align:center}
.pc-roster{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}
.pc-roster li{display:flex;align-items:center;gap:12px;background:var(--sunk);padding:10px 12px;border-radius:10px;min-width:0}
.pc-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sage);color:var(--resolve);font-weight:700;flex:none}
.pc-player{display:flex;flex-direction:column;flex:1;min-width:0;overflow-wrap:anywhere}
.pc-player small{font-size:12px;color:var(--muted);font-weight:400}
.pc-roster .out{opacity:.62}
.pc-roster .out .pc-player>b{text-decoration:line-through}
.pc-score{font-family:var(--display);font-weight:700;white-space:nowrap}
.pc-intro{text-align:center;align-items:center}
.pc-intro p{max-width:52ch}
.pc-private{border:2px solid var(--sage)}
.pc-private .pc-heading h2{font-size:18px}
.pc-own-score{font-size:13px;color:var(--muted);white-space:nowrap}
.pc-role{font-family:var(--kufi);color:var(--auth);font-size:clamp(32px,7vw,50px);line-height:1.3;text-align:center}
.pc-private-poison{border-color:var(--auth)}
.pc-mission{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--gold);color:var(--resolve);border-radius:12px;text-align:center}
.pc-mission small{font-size:13px;color:var(--auth)}
.pc-mission b{font-family:var(--display);font-size:clamp(23px,4vw,36px);line-height:1.6;overflow-wrap:anywhere}
.pc-target{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}
.pc-target legend{padding-inline:8px;font-size:14px;font-weight:700;color:var(--auth)}
.pc-target>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pc-target .btn{min-width:0;overflow-wrap:anywhere}
.pc-target [aria-pressed="true"]{background:var(--sage);color:var(--resolve);box-shadow:0 0 0 2px var(--auth)}
.pc-actions,.pc-confirm{display:flex;flex-direction:column;gap:10px}
.pc-confirm{background:var(--sunk);border-radius:12px;padding:16px}
.pc-confirm strong{font-family:var(--display);font-size:20px;color:var(--auth)}
.pc-confirm p{font-size:14px;line-height:1.8}
.pc-confirm .row>*{min-width:0;flex:1 1 180px}
.pc-topic{display:flex;flex-direction:column;gap:14px;padding:28px 22px;background:var(--auth);color:var(--clarity);border-radius:14px;align-items:center;text-align:center}
.pc-topic small{font-size:13px;opacity:.8}
.pc-topic h2{font-size:clamp(26px,4vw,44px);line-height:1.6;max-width:35ch;color:var(--clarity)}
.pc-topic p{font-size:14px;max-width:50ch}
.pc-vote-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pc-vote-options .btn{min-width:0;min-height:60px;overflow-wrap:anywhere}
.pc-vote-options [aria-pressed="true"]{background:var(--sage);color:var(--resolve);box-shadow:0 0 0 2px var(--auth);opacity:1}
.pc-watch{text-align:center;line-height:1.8}
.pc-watch h2{color:var(--auth)}
.pc-reveal{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;border-radius:14px;background:var(--resolve);color:var(--clarity);text-align:center}
.pc-reveal h2{font-family:var(--kufi);font-size:clamp(32px,5vw,52px);line-height:1.3;color:var(--gold)}
.pc-reveal p{max-width:50ch;line-height:1.9}
.pc-reveal.pc-caught{background:var(--sage);color:var(--resolve)}
.pc-reveal.pc-caught h2{color:var(--resolve)}
.pc-error{margin:0}
body.tv .pc-topic h2{font-size:clamp(32px,4vw,56px)}
body.tv .pc-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media(min-width:800px){
 .pc-lobby{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}
 .pc-roster.pc-final-rank{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
 .pc-vote-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:380px){
 .pc-heading{flex-wrap:wrap}
 .pc-heading h1{font-size:32px}
 .pc-time label{flex-wrap:wrap}
 .pc-time input{width:100%}
 .pc-mission{padding:16px}
}
