/* GAME screen — SPEC §6. Stage is 1600×900: top bar 110, left rail 120,
   centre 1060, right rail 420. Everything below is in stage px. */

.game{
  position:absolute; inset:0; display:grid; overflow:hidden;
  grid-template-columns:120px minmax(0,1fr) 420px;
  grid-template-rows:110px minmax(0,1fr);
  background:var(--rail); color:var(--cream);
  user-select:none; -webkit-user-select:none; touch-action:manipulation;
}
.game > *{ min-width:0; min-height:0; }
.game__layer{ position:absolute; inset:0; pointer-events:none; z-index:35; }

.game__top{
  grid-column:1 / -1; display:flex; align-items:center; gap:16px;
  padding:8px 16px 6px; border-bottom:3px solid rgba(165,206,78,.28); min-width:0;
}
.game__left{ border-right:3px solid rgba(165,206,78,.28); padding:12px 6px; display:flex; }
.game__mid{ position:relative; padding:18px 22px; display:flex; min-width:0; }
.game__right{
  border-left:3px solid rgba(165,206,78,.28); padding:12px 14px;
  display:flex; flex-direction:column; gap:10px; min-height:0;
}

/* ------------------------------------------------------------------ top bar */
.gpause{
  flex:none; width:72px; height:72px; border-radius:16px;
  border:3px solid var(--green); background:rgba(165,206,78,.12);
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.gpause i{ width:10px; height:30px; background:var(--green); border-radius:3px; display:block; }
.gmeta{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.gmeta__mode{
  font-family:var(--font-head); font-weight:600; text-transform:uppercase;
  letter-spacing:.05em; font-size:22px; color:var(--green); line-height:1.1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:420px;
}
.gmeta__line{ font-size:20px; color:var(--cream); white-space:nowrap; }
.gmeta__line b{ font-family:var(--font-head); font-weight:600; letter-spacing:.03em; }
.gtimer{ font-variant-numeric:tabular-nums; color:var(--green-pale); font-size:18px; }

/* ------------------------------------------------------------------- ladder */
.ladder{ --cellw:92px; --cellgap:6px; margin-left:auto; position:relative; padding-top:14px; flex:none; }
.ladder__cells{ display:flex; gap:var(--cellgap); align-items:flex-end; }
.ladder__cell{
  width:var(--cellw); height:76px; border-radius:12px; position:relative;
  border:2px solid rgba(165,206,78,.42); background:rgba(248,245,238,.06);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
}
.ladder__cell.is-done{ background:var(--green-deep); border-color:var(--green); }
.ladder__cell.is-zone{ border-color:rgba(176,58,46,.85); }
.ladder__cell.is-zone::after{
  content:""; position:absolute; inset:0; border-radius:10px;
  background:rgba(176,58,46,.16); pointer-events:none;
}
.ladder__cell.is-now{ box-shadow:0 0 0 3px var(--amber); }
.ladder__icon{ width:34px; height:34px; }
.ladder__n{ font-family:var(--font-head); font-size:14px; color:var(--green-pale); line-height:1; }
.ladder__name{
  font-family:var(--font-head); font-size:10px; letter-spacing:.04em; line-height:1;
  text-transform:uppercase; color:var(--cream); opacity:.75; max-width:88px;
  text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ladder__zone{
  position:absolute; top:0; height:13px; border-radius:7px; background:var(--red);
  left:calc(3 * (var(--cellw) + var(--cellgap)));
  width:calc(4 * var(--cellw) + 3 * var(--cellgap));
  display:flex; align-items:center; justify-content:center;
}
.ladder__zone span{
  font-family:var(--font-head); font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--white); line-height:1;
}
.ladder__cup{
  position:absolute; left:0; top:24px; width:var(--cellw); display:flex; justify-content:center;
  pointer-events:none;
  transform:translateX(calc(var(--rung, 0) * (var(--cellw) + var(--cellgap))));
}
.ladder__cup svg{ width:30px; height:30px; filter:drop-shadow(0 2px 3px rgba(0,0,0,.6)); }
.ladder__next{
  position:absolute; right:0; top:-2px; font-family:var(--font-head); font-size:13px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--amber);
}

/* -------------------------------------------------------------- union track */
.utrack{ flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; min-height:0; }
.utrack__cap{
  font-family:var(--font-head); font-size:12px; letter-spacing:.1em; line-height:1.15;
  text-transform:uppercase; color:var(--union); text-align:center; flex:none;
  background:var(--blue-pale); border-radius:8px; padding:5px 4px; width:100%;
}
.utrack__slots{ flex:1; display:flex; flex-direction:column-reverse; gap:8px; width:100%; min-height:0; }
.utrack__slot{
  flex:1; border-radius:12px; border:2px solid rgba(28,111,213,.55);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  background:rgba(28,111,213,.08);
}
.utrack__slot.is-on{ background:var(--union); border-color:var(--blue-pale); }
.utrack__slot svg{ width:34px; height:34px; opacity:.28; }
.utrack__slot.is-on svg{ opacity:1; }
.utrack__n{ font-family:var(--font-head); font-size:15px; color:var(--cream); opacity:.6; }
.utrack__slot.is-on .utrack__n{ opacity:1; }
.utrack__foot{
  font-family:var(--font-head); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-pale); flex:none;
}

/* --------------------------------------------------------------- right rail */
.rail__tabs{ display:flex; gap:8px; flex:none; }
.rail__tab{
  flex:1; min-height:56px; border-radius:12px; border:2px solid rgba(165,206,78,.45);
  background:transparent; color:var(--green-pale);
  font-family:var(--font-head); text-transform:uppercase; letter-spacing:.08em; font-size:17px;
}
.rail__tab.is-on{ background:var(--green); border-color:var(--green); color:var(--rail); }
.rail__box{ flex:1; min-height:0; overflow:auto; -webkit-overflow-scrolling:touch; }

.plist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:5px; }
.prow{
  display:grid; grid-template-columns:38px 1fr auto; gap:8px; align-items:center;
  padding:4px 6px; border-radius:10px; background:rgba(248,245,238,.05);
  border:2px solid transparent; min-height:46px;
}
.prow.is-dir{ border-color:var(--green); }
.prow.is-judge{ border-color:var(--union); }
.prow.is-out{ opacity:.55; background:rgba(248,245,238,.02); }
.prow__av{ width:38px; position:relative; }
.prow__x{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--red); font-size:30px; line-height:1; font-weight:700;
}
.prow__mid{ min-width:0; }
.prow__name{
  font-family:var(--font-head); font-size:19px; letter-spacing:.02em; color:var(--cream);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.15;
}
.prow.is-out .prow__name{ color:var(--ink-faint); text-decoration:line-through; }
.prow__sub{ font-size:13px; color:var(--red); letter-spacing:.08em; text-transform:uppercase;
  font-family:var(--font-head); line-height:1.1; }
.prow__tags{ display:flex; gap:4px; flex:none; }
.ptag{
  font-family:var(--font-head); font-size:12px; letter-spacing:.06em; text-transform:uppercase;
  padding:3px 7px; border-radius:6px; background:var(--cream); color:var(--rail); line-height:1.2;
}
.ptag--hr{ background:var(--green); }
.ptag--judge{ background:var(--union); color:var(--white); }
.ptag--badge{ background:var(--amber); }

/* -------------------------------------------------------------------- counts */
.counts{
  flex:none; background:rgba(248,245,238,.07); border:2px solid rgba(165,206,78,.35);
  border-radius:12px; padding:8px 10px;
}
.counts__head{
  font-family:var(--font-head); font-size:14px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--green); margin:0 0 6px;
}
.counts__row{ display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-size:17px; padding:3px 0; color:var(--cream); }
.counts__k{ font-family:var(--font-head); letter-spacing:.05em; text-transform:uppercase;
  font-size:15px; color:var(--green-pale); }
.counts__v{ font-variant-numeric:tabular-nums; font-family:var(--font-head); font-size:19px; }
.counts__belt{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.flags{ display:flex; gap:5px; align-items:center; }
.flags__icon{ width:34px; height:18px; }
.flag{
  width:26px; height:26px; border-radius:6px; border:2px solid rgba(176,58,46,.6);
  color:var(--red); font-family:var(--font-head); font-size:17px; line-height:22px;
  text-align:center; background:rgba(176,58,46,.12);
}
.flag.is-on{ background:var(--red); color:var(--white); border-color:var(--red); }

/* --------------------------------------------------------------------- belt */
.belt{ display:flex; flex-direction:column; gap:4px; }
.belt__chips{ display:flex; gap:4px; align-items:center; flex-wrap:wrap; }
.beltchip{
  width:26px; height:34px; border-radius:5px; background:var(--rail);
  border:2px solid var(--green); color:var(--green-pale);
  font-family:var(--font-head); font-size:14px; line-height:30px; text-align:center;
}
.belt__arrow{
  display:flex; align-items:center; justify-content:space-between; gap:6px;
  font-family:var(--font-head); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--green-pale); opacity:.8;
}
.belt__arrow i{ flex:1; height:2px; background:linear-gradient(90deg,var(--green),rgba(165,206,78,.15)); }
.belt--big .beltchip{ width:44px; height:60px; font-size:22px; line-height:56px; }
.belt--big .belt__arrow{ font-size:15px; }
.belt__empty{ font-size:15px; color:var(--ink-faint); }
.belt--big .belt__empty{ font-size:22px; color:var(--ink-dim); }
.belt__slot{
  width:44px; height:60px; border-radius:6px; border:3px dashed var(--green-deep);
  background:rgba(92,138,22,.12);
}
.belt__mystery{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:8px 12px; border:3px dashed var(--amber); border-radius:12px;
  background:var(--amber-pale);
}
.belt__mysterylab{
  font-family:var(--font-head); font-size:15px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--amber-deep);
}

/* ---------------------------------------------------------------------- log */
.glog{ list-style:none; margin:0; padding:0; }
.glog__row{
  padding:7px 6px; border-bottom:1px solid rgba(165,206,78,.2); font-size:17px;
  color:var(--cream); line-height:1.25;
}
.glog__row.is-win{ color:var(--amber); font-weight:700; }
.glog__row.is-flag, .glog__row.is-fire{ color:#F0A9A9; }
.glog__row.is-enact{ color:var(--green); }
.glog__row.is-round{ color:var(--green-pale); font-family:var(--font-head); letter-spacing:.06em; }

/* -------------------------------------------------------------- stage panel */
.stage-panel{
  flex:1; min-width:0; background:var(--cream); color:var(--ink);
  border:3px solid var(--rail); border-radius:var(--radius);
  padding:20px 26px 22px; display:flex; flex-direction:column; gap:12px;
}
.stage__head{
  margin:0; font-family:var(--font-head); font-weight:600; text-transform:uppercase;
  letter-spacing:.03em; font-size:var(--t-head); line-height:1.05; color:var(--rail);
}
.stage__say{ margin:0; font-size:var(--t-say); font-style:italic; line-height:1.25; color:var(--green-deep); }
.stage__body{ flex:1; min-height:0; display:flex; flex-direction:column; gap:14px;
  align-items:center; justify-content:center; overflow:auto; }
/* If a body ever does overflow, centring must not push its top out of reach. */
.stage__body{ justify-content:safe center; }
.stage__body > *{ flex-shrink:0; }
.stage__body--top{ justify-content:flex-start; }
.stage__actions{ display:flex; gap:18px; justify-content:center; align-items:center; flex-wrap:wrap; flex:none; }
.stage__note{ margin:0; font-size:var(--t-body); color:var(--ink-dim); text-align:center; max-width:860px; }
.stage__rule{ margin:0; font-size:20px; color:var(--ink-dim); line-height:1.35; max-width:900px; }
.stage__hint{ margin:0; font-size:18px; letter-spacing:.1em; text-transform:uppercase;
  font-family:var(--font-head); color:var(--ink-faint); }
.stage__cols{ display:flex; gap:26px; align-items:center; justify-content:center; flex-wrap:wrap; }

/* ------------------------------------------------------------------ buttons */
.gbtn{
  min-height:72px; min-width:72px; padding:0 34px; border-radius:999px;
  border:3px solid var(--rail); background:var(--cream); color:var(--rail);
  font-family:var(--font-head); font-weight:600; text-transform:uppercase;
  letter-spacing:.06em; font-size:26px; position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
}
.gbtn--primary{ background:var(--green); border-color:var(--green-deep); }
.gbtn--danger{ background:var(--red); border-color:var(--red); color:var(--white); }
.gbtn--union{ background:var(--union); border-color:var(--union); color:var(--white); }
.gbtn--mgmt{ background:var(--mgmt); border-color:var(--green-deep); color:var(--white); }
.gbtn--amber{ background:var(--amber); border-color:var(--amber-deep); }
.gbtn--ghost{ background:transparent; border-color:var(--line); color:var(--ink-dim); }
.gbtn.is-disabled{ opacity:.4; }
.gbtn--big{ min-height:150px; min-width:360px; font-size:44px; border-width:5px; border-radius:26px;
  flex-direction:column; gap:6px; padding:16px 30px; }
.gbtn--big .gbtn__sub{ font-family:var(--font-body); font-size:19px; text-transform:none;
  letter-spacing:0; font-weight:400; opacity:.85; }
.gbtn--wide{ min-width:280px; }
/* Small but still a 72px target: for the corner controls that must not sit in
   the same row as the step's own big buttons. */
.gbtn--small{ min-height:72px; padding:0 20px; font-size:20px; border-width:2px; }
.gbtn__label{ pointer-events:none; }

.gtoggle{
  min-height:72px; padding:0 26px; border-radius:14px; border:3px solid var(--rail);
  background:var(--cream); color:var(--rail); font-family:var(--font-head);
  text-transform:uppercase; letter-spacing:.05em; font-size:22px;
  display:inline-flex; align-items:center; gap:12px;
}
.gtoggle.is-on{ background:var(--green); border-color:var(--green-deep); }
.gtoggle__box{ width:30px; height:30px; border:3px solid var(--rail); border-radius:6px;
  background:var(--white); position:relative; flex:none; }
.gtoggle.is-on .gtoggle__box::after{
  content:""; position:absolute; left:7px; top:0; width:9px; height:18px;
  border:solid var(--green-deep); border-width:0 5px 5px 0; transform:rotate(42deg);
}

.counter{ display:flex; align-items:center; gap:14px; }
.counter__b{
  width:72px; height:72px; border-radius:50%; border:3px solid var(--rail);
  background:var(--green-pale); font-family:var(--font-head); font-size:34px; line-height:1; color:var(--rail);
}
.counter__b.is-disabled{ opacity:.35; }
.counter__n{ font-family:var(--font-head); font-size:52px; line-height:1; min-width:64px; text-align:center; }
.counter__lab{ font-size:21px; color:var(--ink-dim); max-width:420px; }

/* -------------------------------------------------------------------- cards */
.hand{ display:flex; gap:22px; align-items:flex-start; justify-content:center; flex-wrap:wrap; }
.card{
  width:var(--cw, 168px); flex:none; padding:0; margin:0; border:none; background:none;
  position:relative; display:block;
}
.card__inner{ position:relative; width:100%; aspect-ratio:63 / 88; }
.card__face{
  position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden;
  border-radius:12px; overflow:hidden; box-shadow:0 6px 16px rgba(0,0,0,.32);
  background:var(--cream);
}
.card__face--back{ transform:rotateY(180deg); background:var(--rail); }
.card__face .asset{ position:absolute; inset:0; width:100%; height:100%;
  aspect-ratio:auto !important; border-radius:0; }
.card__cap{
  display:block; margin-top:8px; text-align:center; font-family:var(--font-head);
  font-size:19px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim);
}
.card--pick{ cursor:pointer; }
.card--pick:focus-visible{ outline:4px solid var(--amber); outline-offset:6px; }
.card--u .card__cap{ color:var(--union); }
.card--m .card__cap{ color:var(--mgmt); }
.card--x .card__cap{ color:var(--ink-faint); }
.card--sm{ --cw:104px; }
.card--lg{ --cw:210px; }
.cardslot{
  width:var(--cw,168px); aspect-ratio:63 / 88; border-radius:12px;
  border:3px dashed var(--line); flex:none;
}

/* ---------------------------------------------------------------- seat ring */
.gring{ position:relative; flex:1; width:100%; min-height:430px; }
.gseat{
  position:absolute; transform:translate(-50%,-50%); width:168px; min-height:72px;
  display:flex; flex-direction:column; align-items:center; gap:4px;
  background:transparent; border:3px solid transparent; border-radius:16px; padding:8px 6px;
}
.gseat__av{ width:82px; }
.gseat__name{
  font-family:var(--font-head); font-size:21px; letter-spacing:.02em; color:var(--rail);
  line-height:1.1; text-align:center; max-width:158px; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap;
}
.gseat__why{ font-size:15px; color:var(--red); text-align:center; line-height:1.1; }
.gseat.is-ok{ border-color:var(--green-deep); background:rgba(165,206,78,.22); }
.gseat.is-off{ opacity:.45; }
.gseat.is-on{ border-color:var(--amber); background:var(--amber-pale); }
.gring__hub{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center;
  max-width:280px;
}
.gring__hubl{ display:block; font-family:var(--font-head); font-size:17px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--green-deep); }
.gring__hubn{ display:block; font-family:var(--font-head); font-size:34px; line-height:1.1; color:var(--rail); }

/* ------------------------------------------------------------ privacy cover */
.cover{
  position:absolute; inset:0; z-index:15; background:var(--rail);
  border-radius:15px; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:22px; padding:30px; text-align:center;
}
.cover__head{
  margin:0; font-family:var(--font-head); font-weight:600; text-transform:uppercase;
  letter-spacing:.04em; font-size:52px; line-height:1.05; color:var(--cream);
}
.cover__name{ color:var(--green); }
.cover__note{ margin:0; font-size:24px; color:var(--green-pale); max-width:760px; }
.hold{
  min-height:120px; min-width:460px; border-radius:22px; border:5px solid var(--green);
  background:var(--green-deep); color:var(--cream); font-family:var(--font-head);
  font-size:40px; text-transform:uppercase; letter-spacing:.06em;
  display:inline-flex; align-items:center; justify-content:center;
}
.hold.is-held{ background:var(--green); color:var(--rail); transform:scale(.98); }
.reveal{ position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; width:100%; }
.reveal__hidden{ opacity:0; pointer-events:none; }

/* ---------------------------------------------------------------- takeover */
.takeover{
  position:absolute; inset:0; z-index:25; display:flex; align-items:center; justify-content:center;
  padding:26px; background:rgba(11,14,9,.88);
}
.takeover--red{ background:rgba(120,26,18,.93); }
.tk__panel{
  width:1180px; max-width:100%; max-height:100%; overflow:auto;
  background:var(--cream); color:var(--ink); border:5px solid var(--rail);
  border-radius:22px; padding:24px 32px 28px;
  display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center;
}
.takeover--red .tk__panel{ border-color:var(--red); }
/* i-flags is a wide icon: 200x200 would be mostly empty. */
.takeover--red .tk__icon{ width:240px; height:120px; }
.tk__icon{ width:200px; height:200px; flex:none; }
.tk__head{ margin:0; font-family:var(--font-head); font-weight:600; text-transform:uppercase;
  letter-spacing:.04em; font-size:52px; line-height:1.05; }
.tk__say{ margin:0; font-size:var(--t-say); font-style:italic; color:var(--green-deep); }
.takeover--red .tk__say{ color:var(--red); }
.tk__rule{ margin:0; font-size:20px; color:var(--ink-dim); line-height:1.35; max-width:940px; }
.tk__body{ display:flex; flex-direction:column; align-items:center; gap:14px; width:100%; }
.tk__actions{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }

/* --------------------------------------------------------------- book / cut */
.book{ width:420px; flex:none; }
.book__svg{ width:100%; height:auto; display:block; }
.stepdots{ display:flex; gap:10px; justify-content:center; }
.stepdot{
  width:44px; height:12px; border-radius:6px; background:var(--line);
}
.stepdot.is-on{ background:var(--green-deep); }
.stepdot.is-done{ background:var(--green); }
.stepnum{
  font-family:var(--font-head); font-size:19px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--green-deep);
}

/* ------------------------------------------------------------------ summary */
.summary{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px;
  max-width:900px; width:100%; }
.summary li{ font-size:21px; padding:7px 12px; border-radius:9px; background:var(--white);
  border:1px solid var(--line); color:var(--ink-dim); }
.olist{ margin:0; padding-left:1.5em; font-size:23px; line-height:1.4; max-width:900px; text-align:left; }
.olist li{ margin-bottom:9px; }

.tally{ display:flex; gap:9px; flex-wrap:wrap; justify-content:center; }
.tally__b{
  width:72px; height:72px; border-radius:14px; border:3px solid var(--rail);
  background:var(--white); font-family:var(--font-head); font-size:30px; color:var(--rail);
}
.tally__b.is-pass{ background:var(--green-pale); }
.tally__b.is-fail{ background:#F2DDDA; }

.machineico{
  width:120px; height:120px; border-radius:14px; border:3px solid var(--rail);
  background:var(--rail); display:flex; align-items:center; justify-content:center; flex:none;
}
.machineico svg{ width:80px; height:80px; }
.machineico__lab{ font-family:var(--font-head); font-size:15px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-dim); text-align:center; }

:where(.gbtn, .rail__tab, .gtoggle, .counter__b, .tally__b, .gseat, .card--pick, .gpause):focus-visible{
  outline:4px solid var(--amber); outline-offset:4px;
}

/* --------------------------------------------------------------- additions */
.gmeta__next{
  font-family:var(--font-head); font-size:16px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--amber); white-space:nowrap;
}
.stage-panel{ position:relative; }
.stage__corner{
  position:absolute; top:14px; right:18px; z-index:5;
  display:flex; gap:10px; align-items:flex-start;
}
/* Keep the headline and the read-aloud line clear of it. */
.stage-panel--corner .stage__head, .stage-panel--corner .stage__say{ padding-right:230px; }
/* The cover is dark: the ghost buttons on it need light ink. */
.cover .gbtn--ghost{ color:var(--green-pale); border-color:var(--green-deep); }

.cover{ transition:opacity .2s ease; }
.cover.is-open{ opacity:0; pointer-events:none; }
.cover.is-gone{ display:none; }
.hold{ touch-action:none; }

.card.is-down .card__cap{ visibility:hidden; }
.gbtn[hidden], .gtoggle[hidden], .counter[hidden], [hidden]{ display:none !important; }

.seatwrap{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.seatwrap .gseat{ position:static; transform:none; width:148px; }
.seatwrap .gseat__av{ width:66px; }

.stage__cols > div:not(.belt):not(.card):not(.hand):not(.book):not(.belt__mystery){
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.book{ margin:0 auto; }
.tk__body .hand{ gap:16px; }
