/* v1.7.0 final overrides: dynamic viewport, compact dock, readable point cards */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100%;overflow:hidden}
body,body.game-active{height:100dvh;min-height:100dvh;overflow:hidden}
body.game-active .topbar{position:relative;flex:0 0 auto}
body.game-active main{height:calc(100dvh - 40px);min-height:0;overflow:hidden}
body.game-active #room{height:100%;min-height:0;overflow:hidden}
.landscape-game-shell{height:auto;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) clamp(105px,25dvh,155px)}
.landscape-board{min-height:0;overflow:hidden;grid-template-columns:clamp(48px,6vw,80px) minmax(0,1fr) clamp(96px,12vw,160px)}
.landscape-market,.official-market-lanes,.official-market-lane{min-height:0;overflow:hidden}
.official-card-track{width:100%;margin-inline:auto;justify-content:center}
.official-row-scroll{overflow:hidden}.point-track{grid-template-columns:repeat(6,minmax(0,var(--v160-card-w)))}.merchant-track{grid-template-columns:repeat(7,minmax(0,var(--v160-card-w)))}
.personal-zone{height:clamp(105px,25dvh,155px);min-height:0;max-height:155px;grid-template-columns:clamp(160px,22vw,300px) minmax(0,1fr)}
.caravan-capacity-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.personal-zone-right{min-height:0;overflow:hidden}.hand-row{height:100%;min-height:0;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;touch-action:pan-x}
.hand-row .game-card{aspect-ratio:2/3;height:min(100%,calc(var(--v160-card-w)*1.5));min-height:0;flex:0 0 auto}
.game-card.point{display:grid!important;grid-template-rows:62% 38%!important;padding:4px!important}
.game-card.point .point-cost-top{grid-row:1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;align-content:stretch!important;gap:3px!important;padding:5px 3px!important;min-height:0!important;overflow:visible!important;background:linear-gradient(180deg,#f0e7d5,#cbb99b)!important;border:0!important;border-radius:4px 4px 0 0!important}
.game-card.point .point-cost-top.cost-count-1{grid-template-columns:1fr!important}.game-card.point .point-cost-top.cost-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.game-card.point .point-cost-chip,.official-card-slot .game-card.point .point-cost-chip{width:100%!important;height:100%!important;min-width:0!important;min-height:17px!important;padding:2px!important;gap:3px!important;border-radius:4px!important;background:#171411e8!important;color:#fff8e9!important}
.game-card.point .point-cost-chip .cube,.official-card-slot .game-card.point .point-cost-chip .cube{width:clamp(10px,1.25vw,15px)!important;height:clamp(10px,1.25vw,15px)!important;flex:0 0 clamp(10px,1.25vw,15px)!important}
.game-card.point .point-cost-chip b,.official-card-slot .game-card.point .point-cost-chip b{font-size:clamp(9px,1.05vw,13px)!important;font-weight:900!important}
.game-card.point .point-score{grid-row:2!important;min-height:0!important;height:100%!important;margin:0!important;padding:2px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;gap:3px!important;border-top:1px solid #70583f;background:linear-gradient(180deg,#bea984,#8c7354)!important}
.game-card.point .point-score .point-value,.official-card-slot .game-card.point .point-value{font-size:clamp(18px,2.2vw,28px)!important;line-height:1!important;color:#342116!important}.game-card.point .point-unit{display:inline!important;font-size:clamp(6px,.65vw,9px);font-weight:800;color:#4b3728}
@media (orientation:landscape) and (max-height:620px){body.game-active main{height:calc(100dvh - 34px)}.landscape-game-shell{grid-template-rows:minmax(0,1fr) clamp(105px,25dvh,125px)}.personal-zone{height:clamp(105px,25dvh,125px)}.game-card.point .point-cost-top{padding:3px 2px!important;gap:2px!important}.game-card.point .point-cost-chip,.official-card-slot .game-card.point .point-cost-chip{min-height:15px!important;padding:1px 2px!important}.game-card.point .point-cost-chip .cube,.official-card-slot .game-card.point .point-cost-chip .cube{width:9px!important;height:9px!important;flex-basis:9px!important}.game-card.point .point-cost-chip b,.official-card-slot .game-card.point .point-cost-chip b{font-size:8px!important}}
@media (orientation:landscape) and (max-height:460px){.landscape-game-shell{grid-template-rows:minmax(0,1fr) 105px}.personal-zone{height:105px}.game-hud .turn-banner .subtle,.official-lane-head span{display:none}}
