/* Shared phone polish for the web app, Android WebView, and iOS WKWebView. */
:root {
  --app-motion-fast: 160ms;
  --app-motion-ease: cubic-bezier(.2, .7, .2, 1);
}
html { -webkit-text-size-adjust: 100%; scroll-padding-bottom: 120px; }
body.creator-app, .lesson-page-body { -webkit-tap-highlight-color: transparent; }
body.creator-app button, .lesson-page-body button,
body.creator-app a, .lesson-page-body a { touch-action: manipulation; }
body.creator-app button, .lesson-page-body button {
  transition: background-color var(--app-motion-fast), border-color var(--app-motion-fast),
    color var(--app-motion-fast), scale var(--app-motion-fast) var(--app-motion-ease);
}
body.creator-app button:not(:disabled):active,
.lesson-page-body button:not(:disabled):active { scale: .98; }
body.creator-app #academy-nav button { min-height: 56px; }
body.creator-app #academy-nav button > span {
  width: 34px; height: 34px;
  transition: border-color 180ms, background-color 180ms, color 180ms;
}
body.creator-app #creator-account[aria-current="page"] { border-color: #d4b873 !important; }
body.creator-app .settings-card button,
body.creator-app .profile-owner-actions button { min-height: 48px; }
body.creator-app .settings-card dd,
body.creator-app .profile-bio { overflow-wrap: anywhere; }
.lesson-page-body .session-chapter.chapter-forward {
  animation: mobile-chapter-forward 240ms var(--app-motion-ease) both;
}
.lesson-page-body .session-chapter.chapter-back {
  animation: mobile-chapter-back 220ms var(--app-motion-ease) both;
}
.lesson-page-body .session-progress-track span { transition-duration: 240ms; }
@keyframes mobile-chapter-forward {
  from { opacity: .4; transform: translateX(12px); }
  to { opacity: 1; transform: none; }
}
@keyframes mobile-chapter-back {
  from { opacity: .4; transform: translateX(-12px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 850px) {
  body.creator-app .academy-content { padding-left: 20px; padding-right: 20px; }
  body.creator-app .app-home-intro h2 { font-size: clamp(38px, 10.5vw, 54px); line-height: 1.03; }
  body.creator-app .home-intro-copy { max-width: 38ch; margin-top: 16px; line-height: 1.6; }
  body.creator-app .assigned-manager-card { border-radius: 16px; }
  body.creator-app .assigned-manager-actions { flex-wrap: wrap; }
  body.creator-app .assigned-manager-actions button,
  body.creator-app .assigned-manager-actions a {
    min-height: 44px; padding: 10px 12px; font-size: 9px; line-height: 1.3;
    border-radius: 8px; white-space: normal;
  }
  body.creator-app .assigned-manager-copy > strong { white-space: normal; }
  body.creator-app .settings-card { padding: 24px 20px; }
  body.creator-app .settings-card button { padding: 14px; font-size: 12px; line-height: 1.4; }
  body.creator-app .app-back { display: inline-flex; align-items: center; min-height: 44px; }
  body.creator-app .academy-card-meta { row-gap: 10px; }
  body.creator-app .academy-card-number b { font-size: 30px; font-variant-numeric: tabular-nums; }
  body.creator-app .academy-card-cta { min-height: 56px; }
  body.creator-app #artist-notifications { min-width: 44px; min-height: 44px; }
  #notification-panel { padding-top: max(24px, env(safe-area-inset-top)); }
  #close-notifications { min-width: 44px; min-height: 44px; }
  #onboarding-stage input, #onboarding-stage textarea,
  body.creator-app input, body.creator-app textarea, body.creator-app select,
  .lesson-page-body input:not([type="checkbox"]), .lesson-page-body textarea,
  .lesson-page-body select { font-size: 16px; }
  .lesson-page-body .session-tabs button { min-height: 48px; }
  .lesson-page-body .session-controls { padding: 8px; border-radius: 20px; }
  .lesson-page-body .session-controls button { min-height: 56px; border-radius: 12px; }
  .lesson-page-body .checklist label { min-height: 56px; line-height: 1.5; }
  .lesson-page-body .quiz-options button { min-height: 64px; }
  .lesson-page-body .session-stage { overflow: clip; }
}
@media (max-width: 360px) {
  body.creator-app .academy-content { padding-left: 16px; padding-right: 16px; }
  .academy-card-meta { gap: 7px; letter-spacing: .025em; }
  .academy-card-track { flex-basis: 100%; }
  .academy-meta-divider { display: none; }
  body.creator-app .academy-card-copy h3 { font-size: 26px; }
  body.creator-app .assigned-manager-actions button,
  body.creator-app .assigned-manager-actions a { padding: 9px; }
  .lesson-page-body .session-controls {
    left: 8px; right: 8px; gap: 4px;
    grid-template-columns: minmax(64px, .8fr) auto minmax(120px, 1.4fr);
  }
  .lesson-page-body .session-controls button { font-size: 14px; }
  .lesson-page-body .session-tabs button strong { font-size: 11px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  body.creator-app .access-header { height: 60px; padding-top: 0; }
  body.creator-app #academy > .academy-rail { bottom: 6px; }
  .lesson-page-body { --lesson-header-height: 54px; }
  .lesson-page-body .lesson-site-header { min-height: 54px; }
  .lesson-page-body .session-controls { position: static; width: calc(100% - 32px); margin: 16px auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.creator-app *, .lesson-page-body *,
  body.creator-app *::before, body.creator-app *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}
