/* iOS in-app browsers can pan the document sideways when a form field
   receives focus. Keep the Flutter viewport inside the device width while
   preserving normal pinch-to-zoom accessibility. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior: none;
}

body {
  margin: 0;
}

/* Keep a branded first paint visible while Flutter and its renderer download. */
#ojadoo-startup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #f7fbff;
  background: radial-gradient(circle at 18% 18%, #0b586d 0, transparent 38%),
    linear-gradient(145deg, #07182e, #102e55 58%, #0c2948);
  transition: opacity 220ms ease, visibility 220ms ease;
}

#ojadoo-startup.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.startup-card {
  display: grid;
  justify-items: center;
  gap: 14px;
  text-align: center;
  font-family: Arial, sans-serif;
}

.startup-mark {
  display: block;
  width: 88px;
  height: 88px;
  object-fit: contain;
  background: transparent;
}

.startup-title {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 3px;
}

.startup-spinner {
  width: 24px;
  height: 24px;
  margin-top: 8px;
  border: 3px solid rgba(255, 255, 255, .2);
  border-top-color: #53dfd1;
  border-radius: 50%;
  animation: ojadoo-spin .8s linear infinite;
}

.startup-message {
  max-width: 260px;
  color: rgba(235, 245, 255, .78);
  font-size: 14px;
}

#ojadoo-startup.has-error .startup-spinner {
  display: none;
}

@keyframes ojadoo-spin {
  to { transform: rotate(360deg); }
}

/* Flutter's accessibility semantics create a transparent HTML editor
   for each TextField. Older Flutter web engines leave its font at the
   iOS default (11px), so iOS zooms the page when that editor is focused.
   The important rule also wins over an inline font shorthand. */
flt-semantics-host input[data-semantics-role="text-field"],
flt-semantics-host textarea[data-semantics-role="text-field"] {
  font-size: 16px !important;
}
