/* Shared phone behavior: keep reading selectable and allow pinch zoom. */
@layer utilities {
  html { -webkit-text-size-adjust: 100%; }
  body { min-height: 100dvh; }
  button, a, summary, [role="button"] { touch-action: manipulation; }
  button, [role="button"] { -webkit-user-select: none; user-select: none; }
  .study-notes, .lesson-layout > *, .study-topic > *, .field, fieldset { min-width: 0; }
  .study-notes, .lesson-practice, .study-topic, .material-search-result, .course-hero-text { overflow-wrap: anywhere; }
  .study-notes svg { max-width: 100%; height: auto; }
  .study-notes table, .study-notes pre { overscroll-behavior-x: contain; }
  .nova-panel { max-height: calc(100dvh - 3rem); }
  .flash { max-width: calc(100% - 2rem); width: max-content; }
  .footer-links { flex-wrap: wrap; }
  @media (pointer: coarse) {
    input:not([type="submit"]), textarea, select { font-size: max(1rem, 16px) !important; }
    .button.small, .link-button, .lesson-toolbar a, .lesson-toolbar button, summary,
    .course-material-delete, .onboarding-material-remove { min-height: 44px; }
    .course-material-delete, .onboarding-material-remove { min-width: 44px; }
  }
  @media (max-width: 900px) {
    .app-mobile-header { padding-top: calc(.5rem + env(safe-area-inset-top)); padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right)); }
    .app-mobile-nav[open] > div { max-height: calc(100dvh - 5rem - env(safe-area-inset-top)); overflow-y: auto; overscroll-behavior: contain; }
    .app-main { padding-bottom: env(safe-area-inset-bottom); }
    .nova-panel { max-height: none; scroll-margin-top: 5rem; }
    .onboarding-layout { min-height: 100dvh; }
  }
  @media (max-width: 600px) {
    input:not([type="submit"]), textarea, select { font-size: max(1rem, 16px) !important; }
    .study-day-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .study-section-heading, .course-section-heading, .source-picker-heading { flex-wrap: wrap; }
    .source-options { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
    .source-option { width: 100%; }
    .summary-grid { grid-template-columns: minmax(0, 1fr); }
    .onboarding-form { padding: 22px 18px; }
    .onboarding-ready dl div { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
    .lesson-toolbar { gap: .4rem 1rem; }
    .lesson-document h1 { font-size: clamp(1.9rem, 8vw, 2.5rem); }
    .dashboard-playful .calendar-paper { padding: 20px 12px; }
    .dashboard-playful .study-week { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
    .dashboard-playful .study-day span { font-size: 11px; }
    .dashboard-playful .study-day small { font-size: 10px; }
    .dashboard-playful .study-session-actions .button { min-height: 44px; }
    .dashboard-playful .study-session-actions .link-button, .dashboard-playful .study-session-actions summary { font-size: .8rem; }
    .dashboard-playful .snapshot-card p, .dashboard-playful .study-topic .eyebrow { font-size: .8rem; }
  }
}
