/* 2026-09-10 — edge-device/accessibility pass. Gameplay geometry stays 540×960. */
html,body{width:100%;max-width:100%;min-height:100%;overflow-x:clip}
#stage{min-height:100vh;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);box-sizing:border-box}
#frame{max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));}
.hud{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
.hud-btn,.btn,.auth-link,.fb-btn,.nn-nudge-later,.nn-nudge-signup{min-height:44px;min-width:44px;touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:3px solid #f1d08a;outline-offset:3px}
.screen{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain}
#screen-how .panel,#screen-dex .panel,#screen-pause .panel,#screen-gameover .panel{max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto}
#game{touch-action:none;max-width:100%;max-height:100%}
@media(max-width:560px){
  #screen-start .panel{padding-left:max(7%,env(safe-area-inset-left));padding-right:max(7%,env(safe-area-inset-right));padding-bottom:max(5%,env(safe-area-inset-bottom));}
  #screen-start .auth-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.72rem;margin-top:6px}
  #screen-start .controls-hint{display:block;font-size:.68rem;margin-top:4px}
  #screen-start .controls-hint>span:first-child{display:none}
  .hud-row{gap:4px}.hud-group{gap:4px}.hud-cell{min-width:0}.hud-value{font-size:17px!important}.mult-chip{min-width:38px}
}
@media(max-width:360px){
  #screen-start .logo{font-size:clamp(2.15rem,11vw,3rem)}
  #screen-start .subtitle{font-size:.82rem;line-height:1.3}
  #screen-start .btn{min-height:44px;padding-top:8px;padding-bottom:8px}
  .hud-btn{width:44px;height:44px}
}
@media(max-height:520px) and (orientation:landscape){
  #frame{width:min(100%,760px);height:100%;max-height:100dvh}
  #screen-start .panel{position:relative;inset:auto;min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.75fr);grid-template-rows:auto;padding:18px max(18px,env(safe-area-inset-right)) 18px max(18px,env(safe-area-inset-left));overflow-y:auto;column-gap:20px}
  #screen-start .tag,#screen-start .logo,#screen-start .subtitle{grid-column:1}
  #screen-start .btn,#screen-start .best-line{grid-column:2}
  #screen-start .auth-row,#screen-start .controls-hint{grid-column:1 / -1}
  #screen-start::before,#screen-start::after{display:none}
  #screen-start .logo{font-size:clamp(2rem,7vh,3.1rem)}
  #screen-start .subtitle{margin:4px 0 8px}
  .hud{padding-top:max(4px,env(safe-area-inset-top));padding-bottom:4px}.tension-wrap{margin-top:3px;padding-top:3px;padding-bottom:3px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
