body[data-route="game"]{height:100dvh;overflow:hidden}
.game-route.app-shell{height:100dvh;min-height:0;overflow:hidden}
.game-route .main-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.game-route .topbar{flex:0 0 auto}
.game-route .content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:12px 24px}
.game-route .game-topline{flex:0 0 auto;margin-bottom:7px}
.game-route .immersive-game{flex:1;min-height:0;align-items:stretch}
.game-route .table-wrap{min-height:0;display:flex;flex-direction:column;gap:7px}
.game-route .immersive-felt{flex:1;min-height:180px;height:auto;max-height:420px;margin-bottom:0}
.game-route .my-hand{flex:0 0 auto}
.game-route .game-side{min-height:0;overflow:hidden}
.game-route .companion-box .speech p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.game-route .game-side .activity-list{max-height:150px;overflow:hidden}
.game-route .end-round{flex:0 0 auto;padding:10px 16px;margin:1px 0 8px;border-radius:12px}
.game-route .end-round h2{font-size:19px}.game-route .end-round p{font-size:11px;line-height:1.4;margin:5px 0}.game-route .end-round .btn{min-height:38px;padding:8px 12px;font-size:11px}
.game-route .attack-banner{flex:0 0 auto;margin-bottom:7px;padding:8px 12px;font-size:12px}.game-route .attack-banner .small{font-size:10px}
.game-route .my-hand:not(:has(.hand-card)) .hand-scroller{min-height:0;padding-block:7px}
.table-checky{position:absolute;right:4px;bottom:5px;width:54px;height:60px;background:none;padding:0;z-index:3}.table-checky img{width:100%;height:100%;object-fit:contain}
@media(min-width:601px){.table-checky{display:none}.game-route .immersive-felt{max-height:clamp(250px,34vw,420px)}}
@media(max-width:600px){
 .game-route .content{padding:7px 10px 8px}.game-route .game-topline{padding:7px 8px;margin-bottom:5px}.game-route .immersive-game{display:flex;min-height:0}.game-route .table-wrap{width:100%;flex:1;gap:5px}.game-route .immersive-felt{min-height:190px;max-height:none;width:min(100%,calc((100dvh - 280px)*.88));align-self:center;padding:27px 26px 25px}.game-route .game-side{display:none}.game-route .hand-scroller{overflow-y:hidden}.game-route .hand-title small{font-size:10px}.game-route .game-hint{font-size:10px}.game-route .hand-actions .btn{font-size:12px}.game-route .end-round{padding:8px 10px}.game-route .end-round h2{font-size:16px}.game-route .end-round p{font-size:10px}.game-route .end-round .row{gap:6px}.game-route .end-round .btn{font-size:10px;min-height:35px;padding:7px 10px}
 .hand-family{margin:5px 0;padding:6px 9px}.hand-family .family-grid button{min-height:43px}.hand-family~.hand-scroller{min-height:0!important;padding:7px 5px 3px!important}.hand-family~.hand-scroller .hand-card{width:38px;flex-basis:38px;min-width:38px}.hand-family~.game-hint{display:none}
}
@media(max-width:600px) and (max-height:720px){
 .game-route .topbar{height:44px;min-height:44px;padding-block:3px}.game-route .game-topline{padding-block:5px}.game-route .game-topline h1{font-size:17px}.game-route .game-title p{font-size:9px}.game-route .immersive-felt{width:min(100%,calc((100dvh - 245px)*.82));padding:23px 20px 21px}.game-route .immersive-felt .opponents{min-height:57px}.game-route .immersive-felt .opponent .avatar{width:25px;height:25px}.game-route .immersive-felt .tiny-fan{display:none}.game-route .immersive-felt .pile .card-image{width:56px}.game-route .immersive-felt .deck-back{width:56px;height:80px}.game-route .immersive-felt .pile>small{font-size:9px;margin-top:5px}.game-route .hand-scroller{min-height:76px;padding-block:7px 3px}.game-route .hand-card{width:45px;flex-basis:45px;min-width:45px}.game-route .my-hand{padding:8px}.game-route .game-hint{display:none}.game-route .hand-actions{margin-top:3px}.game-route .hand-actions .btn{min-height:38px;padding:7px}.table-checky{width:42px;height:48px;right:-2px;bottom:3px}
}
@media(max-height:520px) and (min-width:601px){.game-route .content{padding:5px 14px}.game-route .topbar{height:42px;min-height:42px}.game-route .game-topline{padding:5px 10px}.game-route .game-title h1{font-size:17px}.game-route .game-title p{font-size:9px}.game-route .immersive-felt{min-height:145px;max-height:none;padding:10px 30px}.game-route .immersive-felt .opponent .avatar{width:21px;height:21px}.game-route .immersive-felt .tiny-fan,.game-route .immersive-felt .bot-label{display:none}.game-route .immersive-felt .pile .card-image{width:47px}.game-route .immersive-felt .deck-back{width:47px;height:67px}.game-route .immersive-felt .table-turn{font-size:10px;min-height:15px;line-height:15px}.game-route .immersive-felt .pile>small{font-size:9px;margin-top:4px}.game-route .hand-scroller{min-height:62px;padding-block:4px}.game-route .hand-card{width:35px;flex-basis:35px;min-width:35px}.game-route .hand-actions .btn{min-height:31px;padding:5px 10px;font-size:11px}.game-route .game-hint{display:none}.game-route .my-hand{padding:7px 10px}.game-route .game-side .activity-list,.game-route .robot-fairness{display:none}.game-route .companion-box>button{width:46px;margin-bottom:3px}.game-route .companion-box img{width:46px;height:52px}.game-route .speech{font-size:10px;padding:8px}.game-route .companion-box .speech p{-webkit-line-clamp:3}}
