.salons3d-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:#183229;color:#f5ecda;border-radius:12px 12px 0 0}.salons3d-modes{display:flex;gap:.35rem}.salons3d-modes button{border:1px solid #91aa93;border-radius:.5rem;background:transparent;color:#f5ecda;padding:.55rem .9rem;cursor:pointer}.salons3d-modes button[aria-pressed=true]{background:#f1e7cc;color:#1b3329}.salons3d-toolbar label{display:grid;gap:.25rem;font-size:.75rem}.salons3d-toolbar select{min-width:160px;max-width:220px;border-radius:.4rem;padding:.4rem .6rem}.board-frame.salons3d-visible{overflow:hidden}.salons3d-visible #board{display:none!important}#salons3d-host{width:100%;height:min(72vh,720px);min-height:440px;background:#152321}#salons3d-host iframe{display:block;width:100%;height:100%;border:0}@media(max-width:700px){.salons3d-toolbar{flex-wrap:wrap}.salons3d-toolbar label,.salons3d-toolbar select{width:100%;max-width:none}#salons3d-host{height:63vh;min-height:390px}}@media(prefers-reduced-motion:reduce){#salons3d-host *{animation:none}}
/* Wide table and compact game rail, shared with CardVerse's play layout. */
.play-page:has(.salons3d-visible){max-width:1680px;padding:18px clamp(12px,2vw,32px) 40px}
.play-page:has(.salons3d-visible) .play-heading{margin-bottom:12px;gap:14px}
.play-page:has(.salons3d-visible) .play-heading h1{font-size:clamp(25px,2vw,32px)}
.play-page:has(.salons3d-visible) .game-layout{grid-template-columns:minmax(0,1fr) minmax(250px,280px);gap:16px;align-items:start}
.play-page:has(.salons3d-visible) .board-area{width:100%!important;max-width:none!important;margin-inline:0!important}
.play-page:has(.salons3d-visible) .game-sidebar{display:block;position:sticky;top:84px;max-height:calc(100dvh - 100px);overflow-y:auto;scrollbar-width:thin}
.play-page:has(.salons3d-visible) .game-sidebar>.panel{padding:16px;margin-bottom:12px}
.play-page:has(.salons3d-visible) .game-sidebar .panel h2{font-size:21px;margin:5px 0 10px}
.play-page:has(.salons3d-visible) .game-sidebar .mode-button{padding:9px 8px}
.play-page:has(.salons3d-visible) .player-bar{min-height:52px;padding:6px 0}
.play-page:has(.salons3d-visible) .board-frame{padding:6px}
.play-page:has(.salons3d-visible) #salons3d-host{height:clamp(440px,72dvh,850px)}
.play-page:has(.salons3d-visible) .turn-status{padding:10px 12px}
.play-page:has(.salons3d-visible) .board-controls{padding:10px 0}
.zen .play-page:has(.salons3d-visible){max-width:1300px}
.zen .play-page:has(.salons3d-visible) .game-layout{grid-template-columns:minmax(0,1fr)}
.zen .play-page:has(.salons3d-visible) .game-sidebar{display:none}
@media(max-width:850px){
  .play-page:has(.salons3d-visible) .game-layout{grid-template-columns:minmax(0,1fr)}
  .play-page:has(.salons3d-visible) .game-sidebar{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .play-page:has(.salons3d-visible) .game-sidebar>.panel{margin:0}
  .play-page:has(.salons3d-visible) .history-panel{grid-column:1/-1}
}
@media(max-width:600px){
  .play-page:has(.salons3d-visible) .game-sidebar{grid-template-columns:minmax(0,1fr)}
  .play-page:has(.salons3d-visible) .history-panel{grid-column:auto}
  .play-page:has(.salons3d-visible) #salons3d-host{height:65dvh;min-height:390px}
}
