/* boards-20261003u: Board's Meeting theme. Seat vars generated from blueprint/seat-cam-map.json Rev D (Oct 3, 2026, 12:50 AM ET) - do not hand-edit. */
[data-room-theme="board"] {
  --bm-seat-1-x: 47.06%;
  --bm-seat-1-y: 39.57%;
  --bm-seat-1-w: 4.06%;
  --bm-seat-1-h: 5.56%;
  --bm-seat-2-x: 52.92%;
  --bm-seat-2-y: 39.67%;
  --bm-seat-2-w: 4.06%;
  --bm-seat-2-h: 5.56%;
  --bm-seat-3-x: 58.77%;
  --bm-seat-3-y: 39.67%;
  --bm-seat-3-w: 4.06%;
  --bm-seat-3-h: 5.56%;
  --bm-seat-4-x: 78.29%;
  --bm-seat-4-y: 49.14%;
  --bm-seat-4-w: 4.06%;
  --bm-seat-4-h: 5.56%;
  --bm-seat-5-x: 82.66%;
  --bm-seat-5-y: 55.41%;
  --bm-seat-5-w: 4.49%;
  --bm-seat-5-h: 6.14%;
  --bm-seat-6-x: 88.64%;
  --bm-seat-6-y: 63.89%;
  --bm-seat-6-w: 5.31%;
  --bm-seat-6-h: 7.26%;
  --bm-seat-7-x: 96.85%;
  --bm-seat-7-y: 76.37%;
  --bm-seat-7-w: 5.83%;
  --bm-seat-7-h: 7.98%;
  --bm-seat-8-x: 3.15%;
  --bm-seat-8-y: 76.37%;
  --bm-seat-8-w: 5.83%;
  --bm-seat-8-h: 7.98%;
  --bm-seat-9-x: 11.36%;
  --bm-seat-9-y: 63.89%;
  --bm-seat-9-w: 5.31%;
  --bm-seat-9-h: 7.26%;
  --bm-seat-10-x: 17.34%;
  --bm-seat-10-y: 55.41%;
  --bm-seat-10-w: 4.49%;
  --bm-seat-10-h: 6.14%;
  --bm-seat-11-x: 21.85%;
  --bm-seat-11-y: 49.2%;
  --bm-seat-11-w: 4.06%;
  --bm-seat-11-h: 5.56%;
  --bm-seat-12-x: 41.23%;
  --bm-seat-12-y: 39.67%;
  --bm-seat-12-w: 4.06%;
  --bm-seat-12-h: 5.56%;
  --bm-p-x: 26.95%; --bm-p-y: 33.76%; --bm-p-w: 4.06%; --bm-p-h: 5.56%;
  --bm-split-seat-12-x: 14.21%;
  --bm-split-seat-12-y: 55.84%;
  --bm-split-seat-12-w: 6.09%;
  --bm-split-seat-12-h: 8.33%;
  --bm-split-seat-1-x: 21.41%;
  --bm-split-seat-1-y: 55.84%;
  --bm-split-seat-1-w: 6.09%;
  --bm-split-seat-1-h: 8.33%;
  --bm-split-seat-2-x: 28.59%;
  --bm-split-seat-2-y: 55.84%;
  --bm-split-seat-2-w: 6.09%;
  --bm-split-seat-2-h: 8.33%;
  --bm-split-seat-3-x: 35.77%;
  --bm-split-seat-3-y: 55.84%;
  --bm-split-seat-3-w: 6.09%;
  --bm-split-seat-3-h: 8.33%;
  --bm-split-seat-4-x: 45.39%;
  --bm-split-seat-4-y: 61.66%;
  --bm-split-seat-4-w: 6.09%;
  --bm-split-seat-4-h: 8.33%;
  --bm-split-seat-11-x: 4.61%;
  --bm-split-seat-11-y: 61.66%;
  --bm-split-seat-11-w: 6.09%;
  --bm-split-seat-11-h: 8.33%;
  --bm-split-seat-5-x: 45.39%;
  --bm-split-seat-5-y: 71.39%;
  --bm-split-seat-5-w: 6.09%;
  --bm-split-seat-5-h: 8.33%;
  --bm-split-seat-10-x: 4.61%;
  --bm-split-seat-10-y: 71.39%;
  --bm-split-seat-10-w: 6.09%;
  --bm-split-seat-10-h: 8.33%;
  --bm-split-seat-6-x: 45.39%;
  --bm-split-seat-6-y: 81.11%;
  --bm-split-seat-6-w: 6.09%;
  --bm-split-seat-6-h: 8.33%;
  --bm-split-seat-9-x: 4.61%;
  --bm-split-seat-9-y: 81.11%;
  --bm-split-seat-9-w: 6.09%;
  --bm-split-seat-9-h: 8.33%;
  --bm-split-seat-7-x: 45.39%;
  --bm-split-seat-7-y: 90.84%;
  --bm-split-seat-7-w: 6.09%;
  --bm-split-seat-7-h: 8.33%;
  --bm-split-seat-8-x: 4.61%;
  --bm-split-seat-8-y: 90.84%;
  --bm-split-seat-8-w: 6.09%;
  --bm-split-seat-8-h: 8.33%;
  --bm-split-seat-P-x: 24.99%;
  --bm-split-seat-P-y: 66.11%;
  --bm-split-seat-P-w: 6.09%;
  --bm-split-seat-P-h: 8.33%;
}

/* === boards-20261003u: Board's Meeting look (new file; Exec/Business CSS untouched) ===
   Tokens: Graphic Bot ui_styling_notes.md + contrast rules: .80 glass over the bright plate, REC #C84C49 + white keyline,
   spotlight/speaking keyline mandatory. Seat positions come only from the generated --bm-seat-N-* vars (Rev D, anchor = tile centre). */
[data-room-theme="board"] {
  --bm-bg: #120E0B; --bm-surface: #1C1612; --bm-surface-2: #261D17;
  --bm-glass-bg: rgba(26, 20, 16, 0.80); --bm-glass-border: rgba(255, 244, 228, 0.16);
  --bm-text: #F3EDE4; --bm-text-muted: #BFB2A1; --bm-ink: #1A120B;
  --bm-accent: #C9A46A; --bm-speaking: #E3B866; --bm-connect: #81C995; --bm-danger: #B42828; --bm-warn: #C87814;
  --bm-link-active: #A4471A; --bm-inlay: #B08D57; --bm-aye: #7FB38A; --bm-nay: #C9645A; --bm-abstain: #9C9184; --bm-rec: #C84C49;
  --bm-tile-border: rgba(255, 244, 228, 0.42); --bm-tile-empty: rgba(26, 20, 16, 0.55);
  --gmnr-bg: var(--bm-bg); --gmnr-glass: var(--bm-glass-bg); --gmnr-text: var(--bm-text); --gmnr-accent: var(--bm-accent); --gmnr-ink: var(--bm-ink);
}
[data-room-theme="board"] .gmnr-glass { border-color: var(--bm-glass-border); }
[data-room-theme="board"] .gmnr-recchip.live { background: var(--bm-rec); box-shadow: 0 0 0 1.5px #fff; }
#board-stage .bm-pane { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#board-stage .bm-band { display: none; position: absolute; left: 0; top: 50%; width: 50%; height: 50%; background: linear-gradient(180deg, #2a1d14, #1a120c); }
#board-stage .bm-divider { display: none; position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: rgba(176, 141, 87, .6); z-index: 30; }
#board-stage .bm-divider.h { left: 50%; top: 50%; width: 50%; height: 1px; }
/* seats: centre anchor -> top-left */
#board-stage .bm-seat { --px: var(--sx); --py: var(--sy); --pw: var(--sw); --ph: var(--sh); left: calc(var(--px) - var(--pw) / 2); top: calc(var(--py) - var(--ph) / 2); width: var(--pw); height: var(--ph); z-index: var(--sz, 20);
  border-radius: 10px; border: 1px solid var(--bm-tile-border); background: var(--bm-tile-empty); transition: opacity .2s; }
#board-stage .bm-seat.seat-empty .gmnr-pill { opacity: .8; }
#board-stage .bm-seat.seat-host { box-shadow: 0 0 0 1.5px var(--bm-accent); }
#board-stage .bm-seat.seat-floor, #board-stage .bm-seat.seat-speaking { box-shadow: 0 0 0 1px #fff, 0 0 0 3px #E3B866, 0 0 18px 2px rgba(227, 184, 102, .45); }
#board-stage .bm-seat .gmnr-pill { font-size: max(7px, min(10px, calc(var(--gmnr-stage-w, 1280px) * 0.0072))); left: 2px; top: 2px; padding: 0 4px; }
#board-stage .bm-seat .gmnr-mute { width: 10px; height: 10px; right: 2px; top: 2px; }
#board-stage .bm-seat.seat-me { outline: 1px dashed rgba(243, 237, 228, .55); outline-offset: 1px; }
#board-stage .bm-hand { position: absolute; right: 2px; bottom: 2px; font: 700 9px system-ui; background: var(--bm-accent); color: var(--bm-ink); border-radius: 999px; padding: 0 4px; display: none; z-index: 3; }
#board-stage .bm-seat.seat-queued .bm-hand { display: block; }
/* screens (content rects from the JSON) */
#board-stage .bm-screen { position: absolute; overflow: hidden; z-index: 12; color: var(--bm-text); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
#board-stage .bm-smain { background: rgba(10, 8, 6, .82); cursor: zoom-in; box-shadow: 0 0 0 1px rgba(255, 255, 255, .85) inset; }
#board-stage .bm-smain video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
#board-stage .bm-crest { width: 22%; aspect-ratio: 1; border-radius: 50%; border: 2px solid var(--bm-accent); display: flex; align-items: center; justify-content: center; font: 700 max(8px, calc(var(--gmnr-stage-w, 1280px) * .011)) Georgia, serif; color: var(--bm-accent); }
#board-stage .bm-smain .bm-title { font: 700 max(7px, calc(var(--gmnr-stage-w, 1280px) * .0085)) Georgia, serif; margin-top: 4%; }
#board-stage .bm-smain .bm-sub { font: 500 max(6px, calc(var(--gmnr-stage-w, 1280px) * .0065)) system-ui; opacity: .85; margin-top: 2%; padding: 0 4%; }
#board-stage .bm-flank { background: rgba(10, 8, 6, .82); font: 700 max(6px, calc(var(--gmnr-stage-w, 1280px) * .0068)) system-ui; gap: 6%; padding: 4% 0; box-shadow: 0 0 0 1px rgba(255, 255, 255, .5) inset; }
#board-stage .bm-flank .amber { color: #F0B24B; }
#board-stage .bm-flank .ok { color: var(--bm-aye); } #board-stage .bm-flank .bad { color: var(--bm-nay); }
#board-stage .bm-bars { width: 70%; display: flex; gap: 8%; align-items: flex-end; height: 40%; }
#board-stage .bm-bars i { flex: 1; display: block; min-height: 2px; border-radius: 2px 2px 0 0; }
/* linked panes */
#board-stage .bm-linked { position: absolute; display: none; overflow: hidden; background: #0e0b09; z-index: 8; }
#board-stage .bm-linked .bm-lbg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .4; }
#board-stage .bm-linked .bm-lhead { position: absolute; left: 2%; top: 2%; z-index: 3; padding: 2px 10px; border-radius: 999px; font-weight: 700; }
#board-stage .bm-ltile { position: absolute; }
#board-stage .bm-ltile .gmnr-pill { font-size: 10px; }
#board-stage .bm-pip { position: absolute; display: none; z-index: 18; border-radius: 10px; overflow: hidden; border: 1px solid var(--bm-tile-border); background: #0e0b09; }
#board-stage .bm-pip .bm-phead { position: absolute; left: 0; top: 0; right: 0; height: 15.7%; min-height: 16px; display: flex; align-items: center; gap: 4px; padding: 0 6px; font: 700 10px system-ui; z-index: 3; }
#board-stage .bm-pip .bm-pvid { position: absolute; left: 0; right: 0; bottom: 0; top: 15.7%; }
#board-stage .bm-pip .bm-pvid video { width: 100%; height: 100%; object-fit: cover; }
/* split layout — boards-20261005ab: TOP/BOTTOM (same pattern as Exec|Business dual-tb: full-width plate, background-size 100% 100%).
   Board pane = top --bm-ky of the stage (0.5 two-room, 0.6 triple). Plate fills the pane edge-to-edge (no black band).
   Seat centres stay locked to the plate: x = plate x, y = plate y * --bm-ky. Size = base * --bm-k * 1.03 (see LOCKED block). */
#board-stage.bm-split { --bm-ky: 0.5; --bm-k: 0.5; }
#board-stage.bm-split.bm-tri { --bm-ky: 0.6; --bm-k: 0.6; }
#board-stage.bm-split .gmnr-plate { left: 0; top: 0; width: 100%; height: calc(var(--bm-ky) * 100%); object-fit: fill; }
#board-stage.bm-split .bm-band { display: none; }
#board-stage.bm-split .bm-seat {
  --px: var(--sx);
  --py: calc(var(--sy) * var(--bm-ky));
}
#board-stage.bm-split .bm-divider { left: 0; top: calc(var(--bm-ky) * 100%); width: 100%; height: 1px; } /* horizontal Board | linked */
#board-stage.bm-split .bm-divider.bm-dv { left: 50%; top: calc(var(--bm-ky) * 100%); width: 1px; height: calc((1 - var(--bm-ky)) * 100%); } /* triple: Exec | Business */
#board-stage.bm-split .bm-focus { left: 30%; top: 4%; width: 40%; }
#board-stage.bm-split.bm-tri .bm-focus { left: 24%; top: 4%; width: 52%; }
#board-stage.bm-split .bm-votecard { left: 36%; top: 37%; }
#board-stage.bm-split.bm-tri .bm-votecard { top: 46.5%; }
/* focus */
#board-stage .bm-focus { position: absolute; left: 15%; top: 6%; width: 70%; aspect-ratio: 16/9; max-height: 80%; z-index: 35; border-radius: 10px; display: none; flex-direction: column; overflow: hidden; }
#board-stage.bm-focus-on .bm-focus { display: flex; }
#board-stage.bm-focus-on .gmnr-plate { opacity: .35; }
#board-stage.bm-focus-on .bm-seat { opacity: .6; z-index: 36; }
#board-stage.bm-focus-on .bm-seat.seat-floor { opacity: 1; }
#board-stage .bm-ftabs { display: flex; gap: 4px; padding: 6px; align-items: center; }
#board-stage .bm-fbody { position: relative; flex: 1; overflow: auto; padding: 8px 12px; font-size: 13px; }
#board-stage .bm-fbody video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
#board-stage .bm-fbody ol { margin: 0; padding-left: 20px; } #board-stage .bm-fbody li.cur { color: var(--bm-accent); font-weight: 700; }
/* vote card */
#board-stage .bm-votecard { position: absolute; left: 36%; top: 85%; width: 28%; height: 12%; z-index: 42; border-radius: 10px; display: none; flex-direction: column; justify-content: center; gap: 4px; padding: 4px 8px; box-sizing: border-box; }
#board-stage .bm-votecard.on { display: flex; }
#board-stage .bm-votecard .bm-vtext { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#board-stage .bm-votecard .bm-vbtns { display: flex; gap: 6px; }
#board-stage .bm-votecard .bm-vbtns .gmnr-btn { flex: 1; }
#board-stage .bm-vbtns .aye.on { background: var(--bm-aye); color: #10180f; } #board-stage .bm-vbtns .nay.on { background: var(--bm-nay); color: #1b0e0c; } #board-stage .bm-vbtns .abstain.on { background: var(--bm-abstain); color: #141210; }
/* minutes */
#board-stage .bm-minutes-tab { position: absolute; left: 98.75%; top: 24%; width: max(16px, 1.25%); height: 14%; writing-mode: vertical-rl; border: 1px solid rgba(255, 255, 255, .2); border-right: 0; border-radius: 8px 0 0 8px; background: var(--bm-glass-bg); color: var(--bm-text); font: 700 10px system-ui; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; z-index: 44; padding: 0; transform: translateX(calc(-1 * max(0px, max(16px, 1.25%) - 1.25%))); }
.bm-minutes { position: absolute; z-index: 46; width: 300px; border-radius: 10px; padding: 8px 10px; box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; }
.bm-minutes textarea { width: 100%; box-sizing: border-box; min-height: 120px; flex: 1; background: rgba(0, 0, 0, .35); color: inherit; border: 1px solid rgba(255, 255, 255, .2); border-radius: 6px; font: 500 12px system-ui; }
.bm-minutes .bm-banner { font-style: italic; color: var(--bm-accent); font-size: 11px; }
.bm-minutes .bm-log { max-height: 110px; overflow: auto; font-size: 11px; opacity: .85; }
/* connect picker */
.bm-connect-menu { position: absolute; z-index: 47; width: 250px; border-radius: 10px; padding: 8px 10px; }
.bm-connect-menu label { display: flex; align-items: center; gap: 6px; padding: 4px 0; cursor: pointer; }
.bm-connect-menu .bm-lstat { margin-left: auto; font-size: 11px; opacity: .8; }
#gmnr-chrome .bm-connect.linked { background: var(--bm-link-active); color: #fff; }
/* strip under the stage */
#gmnr-layer[data-gmnr-kind="board"] .gmnr-strip .bm-lobby { font-size: 11px; opacity: .85; }
.bm-fineprint { font-size: 10px; opacity: .7; }
/* responsive: iPad / narrow */
@media (max-width: 900px) { .bm-minutes, .bm-connect-menu { width: 240px; } }
/* === boards-20261005z: LOCKED Board's Meeting cam size x1.03 (Ivan, Oct 5 2026 ~5:31 PM ET). See CAM-LOCK-20261005z.txt / CAM-LOCK-20261005aa.txt. Do not change without Ivan's GO. ===
   Scales all 12 board seat tiles + the lectern/presenter tile (board-seat-P), plate view and split view. Centre anchor unchanged (left/top re-derive from --pw/--ph).
   boards-20261005aa: split sizes = plate base w/h x 0.5 x 1.03 (cams on the 50%x50% plate; not the old U-grid --bm-split-seat-* sizes).
   boards-20261005ab: split is TOP/BOTTOM; size = base x --bm-k x 1.03 (k 0.5 two-room = aa size, 0.6 triple). x1.03 unchanged. */
#board-stage .bm-seat { --pw: calc(var(--sw) * 1.03); --ph: calc(var(--sh) * 1.03); }
#board-stage.bm-split .bm-seat { --pw: calc(var(--sw) * var(--bm-k) * 1.03); --ph: calc(var(--sh) * var(--bm-k) * 1.03); } /* ab: k = 0.5 (Board+1, = aa size) / 0.6 (triple) */
/* === end LOCKED Board cam size (z size + aa split-on-plate) === */
/* === fixes-20261011a (Ivan GO, Oct 11 2026 6:27 / 6:30 PM ET): Board's Meeting seat cams + badges x1.10, full names; split panes = seat-back cams ===
   Size only: centre anchor, positions and the Rev D map are unchanged (x1.10 on top of the LOCKED x1.03; FS / Half / Min and split k 0.5 / 0.6).
   Names: the old in-tile pill ("1 · CHAIR · Name", cut to "1…") is replaced by a badge under the cam: line 1 = seat + role, line 2 = full name.
   board-room.js sizes the badge font (1.1 x the old pill size, shrinks to fit, wraps if still too long; never an ellipsis). */
#board-stage .bm-seat:not(#fx0) { --pw: calc(var(--sw) * 1.03 * 1.10); --ph: calc(var(--sh) * 1.03 * 1.10); overflow: visible; }
#board-stage.bm-split .bm-seat:not(#fx0) { --pw: calc(var(--sw) * var(--bm-k) * 1.03 * 1.10); --ph: calc(var(--sh) * var(--bm-k) * 1.03 * 1.10); }
/* cam = the tile itself. The page-wide Poker rule '.seat-cam-mount' (index.html: translate(-50%,-85%), own --sx/--sw box, round frame, shadow,
   background) also matched the mount inside every Board / split-pane tile and drew it as a SECOND box above-left of the chair cam (the
   old overflow:hidden tile clipped it, which also hid the Board seat video). Pin the mount to its tile so there is exactly one cam per chair. */
#board-stage .bm-seat > .seat-cam-mount, #board-stage .fx-lseat > .seat-cam-mount, #board-stage .bm-ltile > .seat-cam-mount {
  position: absolute !important; left: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important; width: auto !important; height: auto !important;
  transform: none !important; margin: 0 !important; box-shadow: none !important; background: transparent !important; border: 0 !important; z-index: 0 !important;
  border-radius: inherit !important; overflow: hidden !important; }
#board-stage .bm-seat > .seat-cam-mount > video, #board-stage .fx-lseat > .seat-cam-mount > video { border-radius: inherit !important; }
/* 12 + 1: the lectern / corner mini-desk cam (board-seat-P, left of the screen) is always shown - the host
   bot cam slot when no presenter is set, the presenter when one is (size and place unchanged: same LOCKED x1.03 x1.10 as the chairs) */
#board-stage #board-seat-P { display: block !important; }
/* Rev D put P at 26.95 % / 33.76 %, floating above-left of the mini desk. Ivan (9:44 PM): it sits ON the desk -> centre over the desk top
   (measured on the plate: desk top centre 28.05 % x, cam bottom on the desk top). Size unchanged. Other seats unchanged. */
#board-stage { --bm-p-x: 28.05%; --bm-p-y: 38.32%; }
#board-stage .bm-seat > .gmnr-pill, #board-stage .fx-lseat > .gmnr-pill, #board-stage .bm-ltile:not(.fx-lseat) > .fx-name { display: none; }
#board-stage .fx-name { position: absolute; left: 50%; top: calc(100% + 2px); transform: translateX(-50%); width: max-content; box-sizing: border-box; z-index: 4;
  padding: 1px 5px; border-radius: 6px; background: rgba(14, 10, 8, .80); box-shadow: 0 0 0 1px rgba(255, 244, 228, .22); color: #F3EDE4;
  font: 600 10px/1.25 system-ui, "Segoe UI", Arial, sans-serif; text-align: center; white-space: normal; overflow-wrap: anywhere; overflow: visible; text-overflow: clip; pointer-events: none; }
#board-stage .fx-name > span { display: block; }
#board-stage .fx-name.fx-one > span { white-space: nowrap; }
#board-stage .fx-name .fx-top { opacity: .85; font-weight: 700; letter-spacing: .02em; }
#board-stage .bm-seat.seat-empty .fx-name { opacity: .8; }
body.gmnr-min #board-stage .fx-name { display: none; } /* Min (400 px preview): no badges; the names show again in Half / FS */
/* split panes: Floor / Pin 1 / Pin 2 cover boxes removed; each linked room's chairs carry their cams like that room's full screen */
#board-stage .bm-linked > .bm-ltile:not(.fx-lseat) { display: none !important; }
#board-stage .fx-lseat { position: absolute; z-index: 2; overflow: visible; box-sizing: border-box; border-radius: 8px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(8, 10, 14, .55); box-shadow: 0 1px 4px rgba(0, 0, 0, .55); }
#board-stage .fx-lseat.fx-business { border-radius: 10px; border-color: rgba(255, 255, 255, .22); box-shadow: 0 2px 8px rgba(0, 0, 0, .5); }
#board-stage .fx-lseat .gmnr-empty-glyph, #board-stage .fx-lseat .bm-hand { display: none; }
#board-stage .fx-lseat .fx-cap { position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; pointer-events: none; color: rgba(232, 238, 246, .85); text-shadow: 0 1px 2px #000;
  font: 500 max(7px, min(10px, calc(10px * var(--fx-k, 1))))/1 system-ui, sans-serif; }
#board-stage .fx-lseat.fx-exec .fx-cap { bottom: calc(-4px - max(7px, min(10px, calc(10px * var(--fx-k, 1))))); } /* Exec FS: "Seat N" under the box */
#board-stage .fx-lseat.fx-business .fx-cap { top: 50%; transform: translate(-50%, -50%); color: rgba(255, 255, 255, .6); } /* Business FS: number in the box */
#board-stage .fx-lseat.fx-occ .fx-cap { display: none; }
#board-stage .fx-lseat .fx-name { top: calc(100% + 2px); }
/* === end fixes-20261011a === */
