/* Hygge — shared mobile safety layer (phones only, <=640px). Desktop/tablet unaffected. */
@media (max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  img,video,canvas,svg,iframe{max-width:100%;height:auto}
  /* wide tables scroll inside themselves instead of stretching the page */
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* 16px inputs stop iOS from zooming in when a field is tapped */
  input,select,textarea{font-size:16px !important;max-width:100%}
  /* dialogs / modals never wider than the screen */
  [class*="modal"],[class*="dialog"],[class*="popup"],[role="dialog"]{max-width:96vw !important;box-sizing:border-box}
  [class*="modal"] > *,[class*="dialog"] > *{max-width:100%}
  pre,code{white-space:pre-wrap;word-break:break-word}
  /* long words / numbers wrap rather than push the layout */
  h1,h2,h3,p,td,th,label,button,a{overflow-wrap:anywhere}
  /* comfortable tap targets */
  button,[role="button"],a.btn,.btn{min-height:40px}
}
