/* SPECTRE mobile / PWA hardening. Layout and visual design of the pages are untouched;
   this file only fixes touch behaviour, safe areas, input zoom and low-power rendering. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
button,a,summary,[role=button],[role=switch],label,select,input[type=checkbox],input[type=radio]{touch-action:manipulation}
img,video,canvas{max-width:100%}
img{-webkit-user-drag:none}
body{overscroll-behavior-y:contain}
:focus-visible{outline:2px solid var(--accent,#65c5ff);outline-offset:2px}

/* iOS zooms into inputs below 16px */
@media (max-width:900px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em)}
}
/* comfortable tap targets on touch screens */
@media (pointer:coarse){
  button:not(.seat):not(.room-control-icon),[role=button]{min-height:36px}
}
/* installed PWA: respect notches and the home indicator */
@media (display-mode:standalone){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
}
@supports (height:100dvh){
  .app,.splash-overlay{min-height:min(100dvh,100%)}
}
/* low power / data saver / reduced motion */
html.sp-lite *,html.sp-lite *::before,html.sp-lite *::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.sp-lite *,html.sp-lite *::before,html.sp-lite *::after{animation-iteration-count:1!important;transition-duration:.01ms!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
@media print{.quick-automation-rail,.automation-dock-toggle{display:none!important}}
