/* A fixed-size unit IN the page flow, never a publisher-created sticky ad.
   Its reserved footer remains present whether or not Google fills the unit. */
:root{--ad-reserve:calc(80px + env(safe-area-inset-bottom,0px));--game-viewport:calc(100dvh - var(--ad-reserve));--setup-header:74px}
body{padding-bottom:0;min-height:100dvh;display:flex;flex-direction:column}
#app{flex:1 0 auto;min-width:0}
#advertising-slot{position:relative;width:100%;height:var(--ad-reserve);min-height:var(--ad-reserve);flex:0 0 var(--ad-reserve);box-sizing:border-box;background:var(--paper);color:var(--ink);border-top:1px solid #25264022;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 calc(7px + env(safe-area-inset-bottom,0px));margin-top:auto}
#advertising-slot .ad-label{font:10px/12px var(--body);letter-spacing:.07em;height:12px;flex-shrink:0;color:#64657b}
#advertising-slot .ad-frame{width:320px;height:50px;flex:0 0 50px;line-height:0}
#duel-ad-unit{display:inline-block;width:320px;height:50px;margin:0;padding:0;border:0}
.dd-home{height:calc(var(--game-viewport) - 74px);min-height:340px;max-height:none}
.dd-home .dd-home-start{bottom:20px}
.dd-game{height:var(--game-viewport);min-height:0}
.dd-game .dd-controls:not(.dd-select-controls){bottom:10px;max-height:calc(100% - 20px)}
.dd-game.dd-selection .dd-select-controls{inset:0;height:100%;min-height:0;container-type:size}
.dd-finish{height:var(--game-viewport);min-height:0;padding-bottom:0;overflow:auto;background:var(--fighter,var(--paper))}
.dd-finish .dd-end-board{background:var(--paper)}
.page.setup{min-height:calc(var(--game-viewport) - var(--setup-header));padding-bottom:16px}
#toast{bottom:calc(var(--ad-reserve) + 10px)}
@media(max-width:759px){:root{--setup-header:64px}}
@media(max-height:700px){.dd-home .dd-home-start{bottom:12px}}
