html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  height: 100%;
}

body {
  background: #FFFEFB;
  color: #111;
  font-family: Inter, sans-serif;
  /* Soft static wash — avoids fixed blur orbs that shake during iOS rubber-band */
  background-image:
    radial-gradient(ellipse 70% 50% at 100% -10%, rgba(198, 246, 213, 0.55), transparent 55%),
    radial-gradient(ellipse 55% 45% at -5% 45%, rgba(194, 233, 255, 0.45), transparent 50%),
    radial-gradient(ellipse 60% 40% at 70% 110%, rgba(255, 228, 194, 0.4), transparent 55%);
  background-attachment: scroll;
  background-repeat: no-repeat;
  min-height: 100%;
  min-height: -webkit-fill-available;
  overflow-x: hidden;
}

/* Prevent iOS Safari zoom-on-focus (triggers when font-size < 16px). */
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
  font-size: 16px !important;
  -webkit-appearance: none;
  appearance: none;
}

/* Keep native checkboxes visible (appearance:none above would hide them). */
input[type="checkbox"] {
  -webkit-appearance: auto;
  appearance: auto;
  width: 1.1rem;
  height: 1.1rem;
  min-width: 1.1rem;
  min-height: 1.1rem;
  accent-color: #111;
  cursor: pointer;
  flex-shrink: 0;
}

/* Faster taps on iPhone (removes lingering touch delay). */
a,
button,
[role="button"],
.task-card,
.bottom-tab,
.bottom-tab-desk {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.cute-shadow {
  box-shadow: 3px 3px 0 #111;
}

/* Cheaper overlays on iOS — backdrop-filter is very slow when opening/closing. */
.modal-scrim {
  background: rgba(17, 17, 17, 0.45);
}

body.modal-open {
  overflow: hidden;
  position: relative;
}

/* Only contain scroll inside the task sheet — do not block page pull-to-refresh. */
#tm-body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

#line-clamp-2,
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#tap-blocker {
  position: fixed;
  inset: 0;
  z-index: 99999;
  touch-action: none;
}

@media (max-width: 430px) {
  #landing-view,
  #dashboard-view {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .task-card {
    padding: 12px !important;
    border-radius: 14px !important;
  }

  .hero-title {
    font-size: 32px !important;
    line-height: 0.92 !important;
  }
}

@media (max-width: 375px) {
  .hero-title {
    font-size: 28px !important;
  }
}
