/* The active table owns the viewport; all secondary controls live in one drawer. */
.play-boot-screen{display:none}
body.play-booting{overflow:hidden}
body.play-booting #play-boot-screen{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;padding:24px;background:radial-gradient(circle at center,#1d3030,#071417 62%);color:#f4e7c9;text-align:center}
body.play-booting #play-boot-screen .play-boot-emblem{font-size:35px;color:#d9b66b;animation:play-boot-pulse 1.4s ease-in-out infinite alternate}
body.play-booting #play-boot-screen strong{font:600 clamp(1.35rem,3vw,2rem)/1.2 Georgia,serif}
body.play-booting #play-boot-screen span:last-child{font-size:.85rem;letter-spacing:.04em;color:#c8c0ad}
@keyframes play-boot-pulse{to{opacity:.42;transform:scale(.85)}}
@media(prefers-reduced-motion:reduce){body.play-booting #play-boot-screen .play-boot-emblem{animation:none}}
body.match-fullscreen{overflow:hidden!important}
body.match-fullscreen :is(.header,.footer,.skip-link,.web-ad--header,.web-ad--footer){display:none!important}
body.match-fullscreen .play-page,
body.match-fullscreen .play-page:has(.salons3d-visible){position:fixed;inset:0;z-index:20;box-sizing:border-box;width:100vw;max-width:none!important;height:100dvh;min-height:0;margin:0;padding:0!important;overflow:hidden}
body.match-fullscreen #game-app.play-experience{position:relative;width:100%;height:100%;margin:0;padding:0;overflow:hidden;background:#0b1517}
body.match-fullscreen #game-app.play-experience .game-layout,
body.match-fullscreen .play-page:has(.salons3d-visible) .game-layout{display:block;width:100%;max-width:none;height:100%;margin:0;padding:0}
body.match-fullscreen #game-app.play-experience .board-area,
body.match-fullscreen .play-page:has(.salons3d-visible) .board-area{position:relative;display:block;box-sizing:border-box;width:100%!important;max-width:none!important;height:100%;min-height:0;margin:0!important;overflow:hidden;background-image:linear-gradient(90deg,#07101298,transparent 25%,transparent 75%,#07101298),var(--match-scene);background-size:cover;background-position:center}
body.match-fullscreen #game-app.play-experience :is(.carrom-station,.action-station){height:100%;min-height:0}
body.match-fullscreen #game-app.play-experience :is(.carrom-station,.action-station){display:flex!important;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%!important;max-width:none!important;padding:10px 12px 62px}
body.match-fullscreen #game-app.play-experience :is(.carrom-station,.action-station) .board-frame:not(.salons3d-visible){flex:0 0 auto;width:min(calc(100dvw - 24px),calc(100dvh - 230px))!important;height:auto!important;padding:4px!important}
body.match-fullscreen #game-app.play-experience :is(.carrom-station,.action-station) .board-frame:not(.salons3d-visible) .board{width:100%!important;max-height:calc(100dvh - 230px)}
body.match-fullscreen #game-app.play-experience :is(.carrom-dock,.action-dock){position:relative;top:auto;bottom:auto;box-sizing:border-box;width:min(calc(100dvw - 24px),calc(100dvh - 230px));max-height:32dvh;overflow:auto}
body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible){display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;max-height:none;margin:0;padding:10px!important;overflow:visible;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible) .board{width:min(calc(100dvw - 20px),calc(100dvh - 32px));max-width:none!important;max-height:calc(100dvh - 32px);margin:auto;box-shadow:0 22px 70px #000b,0 0 0 2px var(--theme-control-accent,#d4ac6c)}
body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible) .board.mancala{width:min(calc(100dvw - 20px),calc((100dvh - 32px)*2.6))}
body.match-fullscreen #game-app.play-experience .board-frame.salons3d-visible{position:absolute;inset:0;box-sizing:border-box;width:100%;height:100%;max-height:none;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:#0b1517!important;box-shadow:none!important}
body.match-fullscreen #game-app.play-experience #salons3d-host,
body.match-fullscreen .play-page:has(.salons3d-visible) #salons3d-host{width:100%;height:100dvh!important;min-height:0!important;max-height:none!important}
body.match-fullscreen #game-app.play-experience #salons3d-host iframe{width:100%;height:100%;border:0}
body.match-fullscreen #game-app.play-experience .turn-status{position:fixed;left:50%;bottom:var(--match-status-bottom,12px);z-index:24;box-sizing:border-box;width:max-content;max-width:min(560px,calc(100vw - 110px));margin:0;padding:9px 18px;border:1px solid var(--theme-control-accent,#d4ac6c);border-radius:12px;background:color-mix(in srgb,var(--theme-control-panel,#172522) 90%,#000);color:#fff8e9;text-align:center;box-shadow:0 8px 30px #0008;transform:translateX(-50%)}
body.match-fullscreen #game-app.play-experience .move-confirm:not([hidden]){position:fixed;left:50%;bottom:var(--match-confirm-bottom,70px);z-index:25;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 20px);padding:10px;background:var(--theme-control-panel,#172522);border:1px solid var(--theme-control-accent,#d4ac6c);border-radius:10px;transform:translateX(-50%)}
body.match-fullscreen #game-app.play-experience :is(#special-actions,#hand,.carrom-dock,.action-dock){z-index:23}
body.match-fullscreen #game-app.play-experience #hand:not(:empty),body.match-fullscreen #game-app.play-experience #special-actions:not(:empty){position:fixed;left:12px;bottom:12px;box-sizing:border-box;width:max-content;max-width:min(360px,calc(100vw - 24px));max-height:22dvh;overflow:auto;padding:8px;border:1px solid var(--theme-control-accent,#d4ac6c);border-radius:10px;background:var(--theme-control-panel,#172522);box-shadow:0 6px 25px #0009}
body.match-fullscreen #game-app.play-experience #special-actions:not(:empty):has(+ #hand:not(:empty)){bottom:var(--match-special-bottom,calc(22dvh + 20px))}
body.match-fullscreen #game-app.play-experience #replay-panel:not([hidden]){position:fixed;left:50%;bottom:76px;z-index:29;width:min(700px,calc(100vw - 24px));transform:translateX(-50%)}

body.match-fullscreen #match-menu{--menu-accent:var(--theme-control-accent,#d4ac6c);position:fixed;inset:0;z-index:50;pointer-events:none}
body.match-fullscreen #match-menu[hidden],body.match-fullscreen #match-menu [hidden]{display:none!important}
body.match-fullscreen .match-menu-toggle{position:fixed;top:12px;right:12px;z-index:53;pointer-events:auto;min-width:126px;min-height:48px;padding:6px 20px;border:1px solid var(--menu-accent);border-radius:10px;background:var(--theme-control-panel,#172522);color:#fff8ea;font:600 14px/1.2 Georgia,serif;cursor:pointer;box-shadow:0 6px 26px #0009}
body.match-fullscreen .match-menu-toggle:hover{filter:brightness(1.15)}
body.match-fullscreen .match-menu-scrim{position:fixed;inset:0;z-index:51;pointer-events:auto;background:#03090bb0}
body.match-fullscreen .match-menu-panel{position:fixed;top:0;right:0;bottom:0;z-index:52;box-sizing:border-box;width:min(390px,100vw);pointer-events:auto;overflow:hidden;border-left:1px solid var(--menu-accent);background:color-mix(in srgb,var(--theme-control-panel,#152522) 88%,#050d0e);color:#fff8ea;box-shadow:-12px 0 40px #000a;transform:none;visibility:hidden;transition:none}
body.match-fullscreen .match-menu.is-open .match-menu-panel{visibility:visible}
body.match-fullscreen .match-menu.is-open .match-menu-toggle{visibility:hidden}
body.match-fullscreen .match-menu-title{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:10px 18px;border-bottom:1px solid color-mix(in srgb,var(--menu-accent) 55%,transparent);font:600 14px Georgia,serif;letter-spacing:.12em;color:var(--menu-accent)}
body.match-fullscreen .match-menu-title button{width:38px;height:38px;border:1px solid var(--menu-accent);border-radius:8px;background:transparent;color:#fff;font-size:25px;cursor:pointer}
body.match-fullscreen .match-menu-content{box-sizing:border-box;height:calc(100% - 66px);padding:14px;overflow-y:auto;scrollbar-width:thin}
body.match-fullscreen #game-app.play-experience .match-menu-content .play-heading{display:flex;flex-wrap:wrap;gap:10px;min-height:0;padding:12px;margin:0 0 12px;background:#0714158c;border-color:var(--menu-accent)}
body.match-fullscreen #game-app.play-experience .match-menu-content .play-heading h1{font-size:1.3rem}
body.match-fullscreen #game-app.play-experience .match-menu-content .play-tools{width:100%;justify-content:space-between;margin:0}
body.match-fullscreen #game-app.play-experience .match-menu-content .play-tools .icon-button{border:1px solid var(--menu-accent)!important;background:color-mix(in srgb,var(--theme-control-panel,#172522) 75%,#000)!important;color:#fff8ea!important}
body.match-fullscreen #game-app.play-experience .match-menu-content :is(.table-universe,.salons3d-toolbar,.player-bar,.board-controls){width:100%;box-sizing:border-box;margin:0 0 12px;padding:12px;border:1px solid color-mix(in srgb,var(--menu-accent) 55%,#172522);border-radius:10px;background:#071415a6;color:#fff8ea}
/* Stack the real universe card inside the mobile drawer; keep its text untruncated. */
@media(max-width:819px){
  body.match-fullscreen #game-app.play-experience .match-menu-content .table-universe{flex-direction:column;align-items:stretch;min-width:0;gap:8px}
  body.match-fullscreen #game-app.play-experience .match-menu-content .table-universe .universe-spark{display:none}
  body.match-fullscreen #game-app.play-experience .match-menu-content .table-universe>div{width:100%;min-width:0}
  body.match-fullscreen #game-app.play-experience .match-menu-content .table-universe strong{display:block;white-space:normal;overflow-wrap:anywhere}
  body.match-fullscreen #game-app.play-experience .match-menu-content .table-universe .match-universe-preview{box-sizing:border-box;max-width:100%;min-width:0}
  body.match-fullscreen #game-app.play-experience .match-menu-content .table-universe .universe-button{width:100%;min-width:0;margin:0}
}
body.match-fullscreen #game-app.play-experience .match-menu-content .salons3d-toolbar{display:grid;gap:9px}
body.match-fullscreen #game-app.play-experience .match-menu-content .salons3d-toolbar label{width:100%}
body.match-fullscreen #game-app.play-experience .match-menu-content .salons3d-toolbar select{width:100%;max-width:none}
body.match-fullscreen #game-app.play-experience .match-camera-controls{margin:0 0 12px;padding:12px;border:1px solid color-mix(in srgb,var(--menu-accent) 55%,#172522);border-radius:10px;background:#071415a6}
body.match-fullscreen #game-app.play-experience .match-camera-controls strong{display:block;margin-bottom:9px;color:var(--menu-accent);font:600 11px/1.3 Georgia,serif;letter-spacing:.12em}
body.match-fullscreen #game-app.play-experience .match-camera-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.match-fullscreen #game-app.play-experience[data-editorial-view="2d"] .match-camera-controls{display:none}
body.match-fullscreen #game-app.play-experience .match-menu-content .board-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.match-fullscreen #game-app.play-experience .match-menu-content .game-sidebar{display:block;position:static;width:100%;max-height:none;overflow:visible}
body.match-fullscreen #game-app.play-experience .match-menu-content .game-sidebar>.panel{margin:0 0 12px;background:#071415a6;border-color:color-mix(in srgb,var(--menu-accent) 55%,#172522)}
body.match-fullscreen #game-app.play-experience .match-menu-content .game-sidebar #setup{display:none!important}
body.match-fullscreen #game-app.play-experience .match-menu-content :is(button,.button,select,a){accent-color:var(--menu-accent)}
body.match-fullscreen #game-app.play-experience :is(.move-confirm,.carrom-dock,.action-dock,#special-actions,#hand) button{border-color:var(--theme-control-accent,#d4ac6c)!important;background:var(--theme-control-panel,#172522)!important;color:#fff8ea!important}
body.match-fullscreen #game-app.play-experience .match-menu-content :is(.universe-button,.board-controls button,.game-sidebar .button,.salons3d-modes button,.match-camera-controls button){min-height:42px;padding:9px 12px;border:1px solid var(--menu-accent)!important;border-radius:8px!important;background:color-mix(in srgb,var(--theme-control-panel,#172522) 75%,#000)!important;color:#fff8ea!important;box-shadow:none}
body.match-fullscreen #game-app.play-experience .match-menu-content :is(.universe-button,.board-controls button,.game-sidebar .button,.salons3d-modes button,.match-camera-controls button):hover:not(:disabled){filter:brightness(1.17)}
body.match-fullscreen #game-app.play-experience .match-menu-content :is(.universe-button,.board-controls button,.game-sidebar .button,.salons3d-modes button):disabled{opacity:.48}
body.match-fullscreen #game-app.play-experience[data-editorial-view] .match-menu-content :is(.universe-button,.board-controls button,.game-sidebar .button,.salons3d-modes button,.match-camera-controls button){border:0 solid transparent!important;border-image-source:var(--match-button-art)!important;border-image-slice:0 20% 0 20% fill!important;border-image-width:0 30px!important;border-image-repeat:stretch!important;border-radius:0!important;background:none!important;text-shadow:0 1px 3px #000d}
body.match-fullscreen #game-app.play-experience[data-editorial-view="2d"]{--match-button-art:var(--two-d-button-art)}
body.match-fullscreen #game-app.play-experience[data-editorial-view="3d"]{--match-button-art:var(--salon-button-art)}
body.match-fullscreen #game-app.play-experience[data-editorial-view] .match-menu-toggle{border:0 solid transparent;border-image-source:var(--match-button-art);border-image-slice:0 20% 0 20% fill;border-image-width:0 32px;border-image-repeat:stretch;border-radius:0;background:none;color:#fff}
@media(max-width:700px){body.match-fullscreen #game-app.play-experience .turn-status{bottom:var(--match-status-bottom,7px);font-size:12px;max-width:calc(100vw - 110px)}body.match-fullscreen .match-menu-toggle{top:8px;right:8px;min-width:100px}body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible){padding:4px!important}body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible) .board{width:min(calc(100dvw - 8px),calc(100dvh - 28px));max-height:calc(100dvh - 28px)}}
@media(prefers-reduced-motion:reduce){body.match-fullscreen .match-menu-panel{transition:none}}

/* The illustrated rail belongs to the physical 2D table, never the room viewport. */
body.match-fullscreen #game-app.play-experience .board-area{display:flex;align-items:center;justify-content:center}
body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible){--frame-size:clamp(12px,1.3vw,20px);position:relative;flex:0 0 auto;display:block;width:max-content;height:max-content;max-width:none;max-height:none;margin:auto;padding:var(--frame-size)!important;overflow:visible;box-shadow:0 18px 65px #000b!important}
body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible) .board{width:min(calc(var(--match-stage-width,100dvw) - var(--frame-size) - var(--frame-size) - 24px),calc(100dvh - var(--frame-size) - var(--frame-size) - 32px));max-width:none!important;max-height:none;box-shadow:none}
body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible) .board.mancala{width:min(calc(var(--match-stage-width,100dvw) - var(--frame-size) - var(--frame-size) - 24px),calc((100dvh - var(--frame-size) - var(--frame-size) - 32px) * 2.6))}
body.match-fullscreen #game-app.play-experience .board-frame.salons3d-visible::before,
body.match-fullscreen #game-app.play-experience .board-frame.salons3d-visible::after{content:none!important;display:none!important}
body.match-fullscreen #game-app.play-experience :is(.carrom-station,.action-station) .board-frame:not(.salons3d-visible){width:max-content!important;max-width:calc(var(--match-stage-width,100dvw) - 24px)!important;padding:var(--frame-size)!important}
body.match-fullscreen #game-app.play-experience :is(.carrom-station,.action-station) .board-frame:not(.salons3d-visible) .board{width:min(calc(var(--match-stage-width,100dvw) - var(--frame-size) - var(--frame-size) - 24px),calc(100dvh - var(--frame-size) - var(--frame-size) - 230px))!important}
body.match-fullscreen #game-app.play-experience :is(.carrom-dock,.action-dock){width:min(calc(var(--match-stage-width,100dvw) - 24px),calc(100dvh - 230px))}

/* On wide displays, the actual game controls frame the central stage. */
body.match-fullscreen #game-app.play-experience .match-side-rail[hidden]{display:none!important}
body.match-fullscreen #game-app.play-experience .match-side-rail{--menu-accent:var(--theme-control-accent,#d4ac6c);position:fixed;top:0;bottom:0;z-index:27;box-sizing:border-box;display:flex;flex-direction:column;padding:16px 12px;background:color-mix(in srgb,var(--theme-control-panel,#102022) 87%,#030b10);color:#fff7e6;box-shadow:0 0 32px #0008}
body.match-fullscreen #game-app.play-experience .match-left-rail{left:0;width:var(--match-left-width);border-right:1px solid color-mix(in srgb,var(--menu-accent) 45%,transparent)}
body.match-fullscreen #game-app.play-experience .match-right-rail{right:0;width:var(--match-right-width);border-left:1px solid color-mix(in srgb,var(--menu-accent) 45%,transparent);padding-top:76px}
body.match-fullscreen #game-app.play-experience .match-rail-title{flex:0 0 auto;margin:0 3px 12px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--menu-accent) 45%,transparent);color:var(--menu-accent);font:600 12px/1.3 Georgia,serif;letter-spacing:.12em}
body.match-fullscreen #game-app.play-experience .match-rail-content{min-height:0;overflow:auto;scrollbar-width:thin}
body.match-fullscreen #game-app.play-experience .match-rail-content>*{box-sizing:border-box;width:100%;margin:0 0 11px}
body.match-fullscreen #game-app.play-experience .match-rail-content :is(.player-bar,.table-universe,.salons3d-toolbar,.board-controls,.match-camera-controls,.game-sidebar>.panel,.history-panel){padding:12px;border:1px solid color-mix(in srgb,var(--menu-accent) 42%,#172522);border-radius:10px;background:#071415b5;color:#fff7e6}
body.match-fullscreen #game-app.play-experience .match-left-rail .player-bar{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:7px 10px;min-height:84px}
body.match-fullscreen #game-app.play-experience .match-left-rail .player-bar .player-avatar{grid-column:1;grid-row:1/3}
body.match-fullscreen #game-app.play-experience .match-left-rail .player-bar>div{grid-column:2;min-width:0}
body.match-fullscreen #game-app.play-experience .match-left-rail .player-bar :is(strong,small){display:block;overflow:hidden;text-overflow:ellipsis}
body.match-fullscreen #game-app.play-experience .match-left-rail .side-tag{grid-column:2;justify-self:start;margin:0}
body.match-fullscreen #game-app.play-experience .match-left-rail .table-universe{display:flex;flex-direction:column;align-items:stretch;gap:8px}
body.match-fullscreen #game-app.play-experience .match-left-rail .table-universe .universe-spark{display:none}
body.match-fullscreen #game-app.play-experience .match-universe-preview{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid color-mix(in srgb,var(--menu-accent) 45%,transparent);border-radius:6px;background:#0a1618}
body.match-fullscreen #game-app.play-experience .match-universe-preview[hidden]{display:none}
body.match-fullscreen #game-app.play-experience .match-left-rail .table-universe .universe-button{width:100%;margin:0}
body.match-fullscreen #game-app.play-experience .match-left-rail .salons3d-toolbar{display:grid;gap:8px}
body.match-fullscreen #game-app.play-experience .match-left-rail .salons3d-toolbar :is(label,select){width:100%;max-width:none}
body.match-fullscreen #game-app.play-experience .match-right-rail .board-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body.match-fullscreen #game-app.play-experience .match-right-rail .game-sidebar{display:block;position:static;max-height:none;overflow:visible;padding:0;background:none;border:0}
body.match-fullscreen #game-app.play-experience .match-right-rail .game-sidebar>.panel{margin:0 0 11px}
body.match-fullscreen #game-app.play-experience .match-right-rail .game-sidebar #setup{display:none!important}
body.match-fullscreen #game-app.play-experience .match-right-rail .history-panel ol{max-height:30dvh;overflow:auto}
body.match-fullscreen #game-app.play-experience .match-side-rail :is(.universe-button,.board-controls button,.game-sidebar .button,.salons3d-modes button,.match-camera-controls button){min-height:40px;padding:8px 10px;color:#fff8ea!important;text-shadow:0 1px 3px #000d}
body.match-fullscreen #game-app.play-experience[data-editorial-view] .match-side-rail :is(.universe-button,.board-controls button,.game-sidebar .button,.salons3d-modes button,.match-camera-controls button){border:0 solid transparent!important;border-image-source:var(--match-button-art)!important;border-image-slice:0 20% 0 20% fill!important;border-image-width:0 25px!important;border-image-repeat:stretch!important;border-radius:0!important;background:none!important}
body.match-fullscreen #game-app.play-experience .match-side-rail :is(.board-controls button,.salons3d-modes button){font-size:12px}
body.match-fullscreen #game-app.play-experience .match-side-rail .match-camera-controls strong{color:var(--menu-accent)}
@media(min-width:820px){
  body.match-fullscreen #game-app.play-experience{--match-left-width:clamp(150px,18vw,275px);--match-right-width:clamp(172px,20vw,310px);--match-stage-width:calc(100vw - var(--match-left-width) - var(--match-right-width))}
  body.match-fullscreen #game-app.play-experience .game-layout,
  body.match-fullscreen .play-page:has(.salons3d-visible) .game-layout{width:var(--match-stage-width);margin-left:var(--match-left-width)}
  body.match-fullscreen #game-app.play-experience .turn-status,
  body.match-fullscreen #game-app.play-experience .move-confirm{left:calc(var(--match-left-width) + var(--match-stage-width) / 2)}
  body.match-fullscreen #game-app.play-experience #hand:not(:empty),
  body.match-fullscreen #game-app.play-experience #special-actions:not(:empty){left:calc(var(--match-left-width) + 12px)}
  body.match-fullscreen .match-menu-toggle{right:16px;top:14px}
}
@media(max-width:1199px){body.match-fullscreen #game-app.play-experience .board-frame:not(.salons3d-visible){--frame-size:clamp(10px,1.5vw,18px)}}
@media(min-width:820px) and (max-width:1199px){
  body.match-fullscreen #game-app.play-experience{--match-left-width:clamp(178px,18vw,220px);--match-right-width:clamp(190px,20vw,240px)}
  body.match-fullscreen #game-app.play-experience .match-side-rail{padding:12px 7px;font-size:12px}
  body.match-fullscreen #game-app.play-experience .match-right-rail{padding-top:70px}
  body.match-fullscreen #game-app.play-experience .match-rail-content :is(.player-bar,.table-universe,.salons3d-toolbar,.board-controls,.match-camera-controls,.game-sidebar>.panel,.history-panel){padding:8px}
  body.match-fullscreen #game-app.play-experience .match-left-rail .player-bar{grid-template-columns:32px minmax(0,1fr);gap:5px;min-height:64px}
  body.match-fullscreen #game-app.play-experience .match-left-rail .player-avatar{width:32px;height:32px;font-size:20px}
  body.match-fullscreen #game-app.play-experience .match-left-rail .player-bar small{font-size:10px;line-height:1.35}
  body.match-fullscreen #game-app.play-experience .match-left-rail .table-universe strong{font-size:16px;line-height:1.3}
  body.match-fullscreen #game-app.play-experience .match-left-rail .salons3d-modes{display:grid;grid-template-columns:1fr;gap:6px}
  body.match-fullscreen #game-app.play-experience .match-left-rail .salons3d-toolbar :is(label,select){min-width:0}
  body.match-fullscreen #game-app.play-experience .match-side-rail .salons3d-modes button{width:100%;min-width:0}
  body.match-fullscreen #game-app.play-experience .match-right-rail .board-controls{grid-template-columns:1fr}
  body.match-fullscreen #game-app.play-experience .match-right-rail #history-note{font-size:10px;line-height:1.45}
  body.match-fullscreen #game-app.play-experience .match-side-rail :is(h2,h3){font-size:14px}
  body.match-fullscreen #game-app.play-experience .match-side-rail :is(small,select){font-size:11px}
  body.match-fullscreen #game-app.play-experience .match-side-rail :is(.board-controls button,.salons3d-modes button,.match-camera-controls button){font-size:11px;padding:6px 3px;border-image-width:0 15px!important}
  body.match-fullscreen #game-app.play-experience .match-side-rail .match-camera-controls>div{gap:5px}
  body.match-fullscreen #game-app.play-experience .turn-status{max-width:calc(var(--match-stage-width) - 20px);font-size:12px}
}
/* Each desktop panel opens independently; collapsed panels leave a reachable tab. */
#match-camps:empty{display:none}
#match-camps .group-roster{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:12px}
#match-camps .group-player{font-size:12px;padding:7px 9px}
@media(min-width:820px){
  body.match-fullscreen #game-app.play-experience.match-left-collapsed{--match-left-width:44px}
  body.match-fullscreen #game-app.play-experience.match-right-collapsed{--match-right-width:44px}
  body.match-fullscreen #game-app.play-experience .match-right-rail{padding-top:12px}
  body.match-fullscreen #game-app.play-experience .match-rail-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:4px 2px;background:transparent;border:0;border-bottom:1px solid var(--menu-accent);color:var(--menu-accent);font:inherit;text-align:left;cursor:pointer}
  body.match-fullscreen #game-app.play-experience .match-rail-chevron{font-size:26px;line-height:1}
  body.match-fullscreen #game-app.play-experience .match-side-rail.is-collapsed{padding:12px 4px;overflow:hidden}
  body.match-fullscreen #game-app.play-experience .match-side-rail.is-collapsed .match-rail-label{display:none}
  body.match-fullscreen #game-app.play-experience .match-side-rail.is-collapsed .match-rail-toggle{justify-content:center}
  body.match-fullscreen #game-app.play-experience .match-rail-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
  body.match-fullscreen #game-app.play-experience .match-right-rail .play-heading{display:grid;gap:8px;padding:8px;margin-bottom:12px}
  body.match-fullscreen #game-app.play-experience .match-right-rail .play-heading h1{font-size:20px;margin:3px 0}
  body.match-fullscreen #game-app.play-experience .match-right-rail .play-tools{display:flex;flex-wrap:wrap;gap:6px}
}
.match-fullscreen .play-heading { display:none!important; }
.match-fullscreen #session-panel > #session-type,
.match-fullscreen #session-panel > #session-title { display:none; }
.match-fullscreen #game-app:not([data-session-mode="online"]) #session-panel { display:none; }
.match-fullscreen .match-home { width:100%;text-align:center;min-height:38px; }
.match-fullscreen .play-tools { display:flex;justify-content:space-between;gap:5px;padding:9px 3px; }
.match-options summary { cursor:pointer;font-weight:700;color:var(--text);padding:4px 0; }
.match-options-content { display:grid;gap:12px;padding-top:16px; }
.match-fullscreen .match-options { padding:12px!important; }
.match-fullscreen .match-options-content .button { width:100%; }
