
/* GSE Mobile & Tablet — RC9 */
:root{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden;padding-bottom:var(--safe-bottom)}
button,.btn,a,input,select,textarea{touch-action:manipulation}
button,.btn,input,select,textarea{min-height:44px}
img,video,iframe,canvas,svg{max-width:100%}
@media (hover:none) and (pointer:coarse){
  .btn:hover,.nav:hover{transform:none}
  a,button,.btn,.nav{min-height:44px}
}
@media(max-width:900px){
  .wrap,.container{width:min(100% - 24px,1180px)}
  .table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
  pre{max-width:100%;overflow:auto}
}
@media(max-width:640px){
  body{font-size:16px}
  h1{overflow-wrap:anywhere}
  .btn{width:100%}
  .links,.actions,.hero-actions,.portal-links,.toolbar{width:100%}
  .links .btn,.actions .btn,.hero-actions .btn,.portal-links .btn,.toolbar button{flex:1 1 100%}
  .card{border-radius:16px}
}
@media(min-width:768px) and (max-width:1180px){
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
