/* One-screen game table: no page scroll and no overlapping deck */
body:has(#gameRoom:not([hidden])){overflow:hidden!important}
#gameRoom{position:fixed;inset:0;height:100vh;overflow:hidden;background:#080b0c}
#gameRoom .game-header{height:68px}
#gameRoom .game-layout{height:calc(100vh - 68px);min-height:0;overflow:hidden}
#gameRoom .players-panel,#gameRoom .log-panel{height:100%;overflow:hidden;padding-top:38px;padding-bottom:18px}
#gameRoom .players-panel{display:flex;flex-direction:column}.players-panel .objective{margin-top:auto}.players-panel .rules-note{margin-top:12px}
#gameRoom .board-wrap{height:100%;min-height:0;padding:8px 22px 10px;display:grid;grid-template-rows:82px minmax(0,1fr) 150px 52px;gap:7px;overflow:hidden}
#gameRoom .turn-banner{position:relative;inset:auto;height:82px;display:flex;flex-direction:column;justify-content:flex-start;padding-top:3px;pointer-events:none}
#gameRoom .board-stage{width:min(100%,980px);height:100%;aspect-ratio:auto;min-height:0;overflow:hidden;margin:auto}
#gameRoom .mansion-map{width:100%;height:100%!important;background-size:100% 100%!important}
#gameRoom .table-dock{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);gap:8px;min-width:0;height:150px}
#gameRoom .card-dock{position:relative;inset:auto!important;width:100%;height:150px!important;bottom:auto!important;left:auto!important;right:auto!important;display:grid;grid-template-columns:130px minmax(0,1fr)!important;padding:9px 12px!important;z-index:12}
#gameRoom .hand-cards{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.game-card{height:116px!important;padding-top:61px!important}.game-card .card-type{top:50px!important}.game-card .card-icon{top:49px!important}.game-card p{font-size:8px!important}.card-art{bottom:50%}.inspect-hint{display:none}
#gameRoom .action-bar{position:relative;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0 auto;width:max-content;max-width:100%;height:52px;z-index:13}
#gameRoom .action-bar button{min-height:52px;padding:8px 14px}
#gameRoom .zoom-controls{top:74px;right:calc(270px + 28px)}
#gameRoom .tension{position:absolute;left:22px;right:22px;bottom:18px}
@media(max-height:820px){#gameRoom .game-layout{grid-template-columns:220px minmax(520px,1fr) 240px}#gameRoom .players-panel,#gameRoom .log-panel{padding:24px 16px 12px}.player{padding:7px 5px}.player span small{font-size:8px!important}.reserve-roster{margin-top:8px;padding:7px}.objective{padding:12px;margin-top:auto!important}.rules-note{display:none}.round-guide{padding:9px 0;gap:6px}.privacy-note{padding:9px 0}.multiplayer-badge{display:none}.killer-tracker{margin:7px 0;padding:9px}#gameRoom .board-wrap{grid-template-rows:44px minmax(0,1fr) 125px 48px;padding-top:7px}#gameRoom .turn-banner{height:44px}.card-dock{height:125px!important}.game-card{height:103px!important;padding-top:55px!important}.game-card .card-type{top:44px!important}.game-card .card-icon{top:43px!important}#gameRoom .action-bar,#gameRoom .action-bar button{height:48px;min-height:48px}}
@media(max-width:1100px){#gameRoom .game-layout{grid-template-columns:190px minmax(500px,1fr) 210px}#gameRoom .zoom-controls{right:225px}.player span small:first-of-type,.reserve-roster,.rules-note,.multiplayer-badge{display:none}}
@media(max-height:820px){#gameRoom .board-wrap{grid-template-rows:70px minmax(0,1fr) 132px 48px!important;padding-top:5px}#gameRoom .turn-banner{height:70px}.table-dock{height:132px!important}.card-dock{height:132px!important}}
@media(max-width:900px){#gameRoom{position:fixed}.game-layout{display:block!important}.board-wrap{height:calc(100vh - 68px)!important;padding:8px!important;grid-template-rows:45px minmax(0,1fr) 120px 50px!important}.board-stage{height:100%!important}.card-dock{position:relative!important;bottom:auto!important;left:auto!important;right:auto!important}.zoom-controls{position:fixed!important;right:12px!important}.action-bar{position:relative!important}}
@media(max-width:900px){#gameRoom .board-wrap{grid-template-rows:72px minmax(0,1fr) 132px 50px!important}.table-dock{grid-template-columns:1fr!important;height:132px!important}.chat-panel{display:none!important}}
