/* ========== GLOBAL OVERFLOW PREVENTION ========== */
/* line 5, app/assets/stylesheets/mobile_optimizations.scss */
* {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box !important;
  max-width: 100vw !important;
}

/* ========== INTERACTIVE ELEMENTS EXCEPTIONS ========== */
/* line 14, app/assets/stylesheets/mobile_optimizations.scss */
button,
a,
input,
select,
textarea,
[data-action],
[onclick],
[data-controller] button,
[role="button"],
.pill,
.nav-btn,
.zoom-btn,
.retry-btn {
  -webkit-user-select: auto !important;
  -webkit-touch-callout: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1) !important;
  cursor: pointer !important;
}

/* ========== SCROLLABLE ELEMENTS EXCEPTIONS ========== */
/* line 38, app/assets/stylesheets/mobile_optimizations.scss */
.chart-selector-scroll,
[data-controller="daily-forecast"] {
  -webkit-user-select: auto !important;
  -webkit-touch-callout: auto !important;
  touch-action: pan-x pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  overflow-x: auto !important;
  cursor: grab !important;
}

/* line 48, app/assets/stylesheets/mobile_optimizations.scss */

/* line 52, app/assets/stylesheets/mobile_optimizations.scss */
html, body {
  height: 100%;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 0;
  overflow-x: hidden !important;
  background: #000;
  -webkit-overflow-scrolling: touch;
  width: 100% !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

/* Allow fullscreen modals to work */
/* line 67, app/assets/stylesheets/mobile_optimizations.scss */

/* line 77, app/assets/stylesheets/mobile_optimizations.scss */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Prevent any element from exceeding viewport width */
/* line 84, app/assets/stylesheets/mobile_optimizations.scss */
div, section, article, main, header, footer, nav, aside, ul, ol, li, p, h1, h2, h3, h4, h5, h6 {
  max-width: 100vw !important;
  box-sizing: border-box !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

/* CRITICAL EXCEPTIONS: Elements that NEED horizontal scroll */
/* line 92, app/assets/stylesheets/mobile_optimizations.scss */
.chart-selector-scroll,
.forecast-day {
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: 100% !important;
  min-width: 100% !important;
}

/* Ensure safe area support for notched devices */
@supports (padding: env(safe-area-inset-left)) {
  /* line 103, app/assets/stylesheets/mobile_optimizations.scss */
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}

/* Extra safety for mobile screens */
@media (max-width: 640px) {
  /* line 111, app/assets/stylesheets/mobile_optimizations.scss */
  * {
    max-width: 100vw !important;
    overflow-x: show !important;
  }
  /* CRITICAL: Allow horizontal scroll for specific scrollable containers */
  /* line 117, app/assets/stylesheets/mobile_optimizations.scss */
  .chart-selector-scroll,
.forecast-day {
    max-width: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    width: 100% !important;
    min-width: 100% !important;
  }
}

/* ========== FORCE INTERACTIVE ELEMENTS TO BE CLICKABLE ========== */
/* line 128, app/assets/stylesheets/mobile_optimizations.scss */
.radar-container button,
[data-action*="click"],
[data-controller] button,
.pill,
.nav-btn,
.zoom-btn,
.retry-btn {
  pointer-events: auto !important;
  -webkit-user-select: auto !important;
  user-select: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(59, 130, 246, 0.2) !important;
  position: relative !important;
  z-index: 1000 !important;
  cursor: pointer !important;
}

/* ========== FORCE SCROLLABLE ELEMENTS TO BE SCROLLABLE ========== */
/* line 150, app/assets/stylesheets/mobile_optimizations.scss */
.chart-selector-scroll {
  pointer-events: auto !important;
  -webkit-user-select: auto !important;
  user-select: auto !important;
  touch-action: pan-x pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  position: relative !important;
  z-index: 500 !important;
  overflow-x: auto !important;
}

/* Ensure Stimulus controllers can connect */
/* line 162, app/assets/stylesheets/mobile_optimizations.scss */
[data-controller] {
  pointer-events: auto !important;
}
