/* Phone layout: one thumb reachable primary navigation and generous touch targets. */
.mobile-nav { display:none; }
@media (max-width: 800px) {
  body { font-size:16px; }
  .sidebar { display:none; }
  .app-shell { display:block; min-height:100dvh; padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  main { min-height:100dvh; }
  .topbar { position:sticky; z-index:5; top:0; height:calc(58px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 16px 0; background:var(--paper); }
  .mobile-brand { display:block; font-size:19px; }
  .date { display:none; }
  .top-actions { gap:7px; }
  .language { display:grid; place-items:center; min-width:42px; min-height:42px; border:1px solid var(--line); border-radius:12px; background:transparent; font-size:12px; color:var(--ink); }
  #theme-toggle { font-size:20px; }
  #language-toggle { font-weight:700; }
  .language-toggle { display:inline-flex; min-width:56px; }
  #open-goal-modal { width:42px; min-width:42px; padding:0; font-size:0; }
  #open-goal-modal::before { content:"+"; font-size:22px; line-height:1; }
  .add-goal { min-height:42px; padding:0 12px; font-size:12px; white-space:nowrap; }
  .view { padding:25px 16px 30px; }
  .intro-row { align-items:center; gap:8px; }
  .intro-row h1 { font-size:34px; letter-spacing:-1.6px; }
  .garden-meter { display:grid; gap:0; font-size:10px; max-width:82px; }
  .meter-number { font-size:27px; }
  .goal-switcher { margin:22px -16px 12px; padding:0 16px 5px; scrollbar-width:none; }
  .goal-switcher::-webkit-scrollbar { display:none; }
  .goal-chip { min-height:39px; padding:8px 12px; font-size:13px; }
  .focus-card { display:flex; flex-direction:column; min-height:0; border-radius:17px; }
  .focus-copy { padding:23px 20px 0; max-width:none; }
  .focus-copy h2 { font-size:27px; line-height:1.13; margin-bottom:10px; }
  .focus-copy>p:not(.eyebrow):not(.deadline) { font-size:14px; }
  .checkin-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:20px; }
  .yes-button,.no-button { min-height:48px; padding:10px 9px; font-size:13px; }
  .deadline { line-height:1.45; margin-top:11px!important; }
  .tree-stage { min-height:290px; height:290px; }
  .tree { width:min(82vw,300px); height:290px; }
  .tree-aura { width:205px; height:205px; }
  .tree-caption { right:14px; bottom:12px; }
  .tree-caption strong { font-size:14px; }
  .tree-caption span { font-size:9px; }
  .below-grid { grid-template-columns:1fr; gap:10px; margin-top:10px; }
  .streak-card,.next-card { padding:19px 20px; }
  .calendar-layout { grid-template-columns:1fr; margin-top:19px; }
  .calendar-card { padding:12px; }
  .weekdays,.calendar-days { gap:3px; }
  .cal-day { min-width:0; min-height:0; aspect-ratio:1; padding:5px; font-size:11px; }
  .legend { flex-wrap:wrap; gap:8px 13px; font-size:9px; }
  .section-heading h1 { font-size:35px; }
  .insight-grid,.admin-stats { grid-template-columns:1fr; }
  .stat-big { padding:17px 20px; }
  .stat-big strong { margin:7px 0 2px; font-size:38px; }
  .chart-card { display:block; padding:20px; }
  .bar-chart { width:100%; padding:0; margin-top:20px; }
  #chart-empty { align-self:center; color:var(--muted); font-size:13px; line-height:1.5; }
  .archive-grid { gap:9px; }
  .medal-card { padding:15px; gap:11px; }
  .modal-backdrop { align-items:end; padding:0; }
  .modal { width:100%; max-height:calc(100dvh - env(safe-area-inset-top)); overflow:auto; overscroll-behavior:contain; border-radius:20px 20px 0 0; padding:28px 20px calc(24px + env(safe-area-inset-bottom)); }
  .modal h2 { font-size:29px; margin-bottom:19px; }
  .modal label { font-size:11px; margin-bottom:12px; }
  .modal input,.modal select { min-height:46px; font-size:16px; }
  .form-row { grid-template-columns:1fr 1fr; gap:10px; }
  .submit-goal { min-height:49px; font-size:15px; }
  .mobile-nav { position:fixed; z-index:8; inset:auto 0 0; display:flex; justify-content:space-around; gap:2px; padding:7px 5px calc(7px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:color-mix(in srgb,var(--paper) 94%,transparent); backdrop-filter:blur(18px); }
  .mobile-nav-item { display:flex; flex:1; min-width:0; min-height:52px; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; border-radius:11px; background:transparent; color:#798679; }
  .mobile-nav-item span { font-size:19px; line-height:1; }
  .mobile-nav-item small { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:10px var(--sans); }
  .mobile-nav-item.active { color:var(--green); background:color-mix(in srgb,var(--moss) 74%,transparent); }
  .nav-item [data-nav-label] { width:auto; }
  .toast { bottom:calc(76px + env(safe-area-inset-bottom)); width:max-content; max-width:calc(100vw - 32px); text-align:center; }
}
