.mobile-main-menu, .mobile-settings-link { display: none; }
.mobile-detail { font-size: 16px; line-height: 1.55; }
.mobile-detail h1 { font-size: clamp(28px, 5vw, 38px); line-height: 1.2; margin: 0 0 16px; }
.mobile-detail h2 { font-size: 23px; line-height: 1.3; }
.mobile-detail .card, .mobile-detail .today-metric { min-width: 0; }
.mobile-detail a, .mobile-detail button { overflow-wrap: anywhere; }
.mobile-back { display: inline-flex; align-items: center; min-height: 48px; width: fit-content; }
.metric-periods { display: flex; flex-wrap: wrap; gap: 8px; }
.metric-periods a { display: grid; place-items: center; min-height: 48px; padding: 8px 20px; border-radius: 24px; border: 1px solid var(--border); }
.metric-periods [aria-current="true"] { background: var(--primary); color: var(--primary-foreground); }
.metric-chart svg { width: 100%; height: auto; }
.metric-chart input { width: 100%; min-height: 48px; }
.mobile-sheet { max-width: 560px; width: calc(100% - 32px); max-height: 85dvh; overflow: auto; background: var(--card-strong); color: var(--ink); border: 1px solid var(--border); border-radius: 20px; padding: 24px; }
.mobile-sheet::backdrop { background: rgb(0 0 0 / .45); }
.mobile-sheet form { display: flex; justify-content: flex-end; }
.goal-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.goal-values span, .goal-values strong { display: block; overflow-wrap: anywhere; }
.goal-values strong { font-size: 24px; }
.goal-measure { padding-block: 16px; border-bottom: 1px solid var(--border); }
.mobile-detail .daily-unit-row { display: grid; grid-template-columns: minmax(0,1fr) 80px; gap: 12px; }
.mobile-detail .daily-unit-row input { width: 100%; }
.mobile-detail .ghost-button, .mobile-detail .ghost-button-inline { min-height: 48px; white-space: normal; text-align: center; }
.mobile-detail .stack-form textarea { width: 100%; }
@media (max-width: 720px) {
  .desktop-main-menu, #chat-sidebar-toggle { display: none !important; }
  .mobile-main-menu { display: grid; }
  .mobile-settings-link { display: inline-flex; }
  .mobile-sheet { margin: auto 0 0; width: 100%; max-width: none; border-radius: 20px 20px 0 0; padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); }
  .mobile-detail .card { padding: 16px; }
  .mobile-detail .nutrition-metric-grid { display: grid; grid-template-columns: minmax(0,1fr); }
}
.mobile-meals { display: none; }
.today-insight { grid-template-columns: 1fr; }
.today-metric.tone-training { border-top: 3px solid #7166a8; }
.agent-status-detail { display: none; }
html[data-debug-mode="on"] .agent-status-detail { display: block; }
.today-recovery-card { color: #fff; }
.today-workspace details { margin-block: 16px; }
.today-workspace summary { cursor: pointer; min-height: 48px; padding-block: 12px; }
.today-workspace .primary-button { display: flex; align-items: center; justify-content: center; min-height: 48px; }
.today-expert-card { display: grid; gap: 12px; padding: 20px; border: 1px solid color-mix(in oklab, var(--lavender) 52%, var(--border)); border-radius: 20px; background: linear-gradient(125deg, color-mix(in oklab, var(--lavender) 18%, var(--card)), var(--card)); }
.today-expert-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.today-expert-head h2 { margin: 2px 0 0; font-size: 20px; letter-spacing: -.04em; }.today-expert-card [data-expert-insight-copy] { margin: 0; white-space: pre-line; line-height: 1.55; }.today-expert-badge { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--primary-foreground); background: #7166a8; font: 12px "IBM Plex Mono", monospace; font-weight: 700; }.today-expert-card .text-action { justify-self: start; }
@media (max-width: 720px) {
  body[data-chat-sidebar-collapsed="true"] .app-shell { grid-template-columns: minmax(0, 1fr); }
  .today-recovery-card, .today-metric-grid { grid-template-columns: minmax(0, 1fr); }
  .today-metric { min-height: 0; padding: 16px; }
  .today-metric strong { font-size: 30px; }
  .today-metric small, .today-metric > span, .muted-copy, .today-recovery-card p:not(.eyebrow) { font-size: 16px; }
  .today-header { flex-wrap: wrap; }
  .sync-status { max-width: none; font-size: 14px; }
  .mobile-topbar .mobile-topbar-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    color: var(--ink-soft);
    background: color-mix(in oklab, var(--card-strong) 90%, var(--primary) 10%);
    box-shadow: none;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
  }
  .mobile-topbar .mobile-topbar-action:hover,
  .mobile-topbar .mobile-topbar-action:focus-visible {
    border-color: color-mix(in oklab, var(--primary) 45%, var(--border));
    color: var(--primary);
    background: color-mix(in oklab, var(--primary) 10%, var(--card-strong));
  }
  .mobile-topbar .mobile-action-icon {
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    color: var(--primary);
    font-size: 18px;
    line-height: 1;
  }
  .mobile-latest-entry-note {
    margin: 0 0 10px;
    color: var(--ink-soft);
    font-size: 14px;
  }
  .mobile-bottom-nav a { font-size: 14px; }
  .hermes-float-launcher { display: inline-flex !important; right: 12px; bottom: 84px; z-index: 75; }
  .hermes-float { inset: auto 8px 78px !important; width: calc(100% - 16px) !important; max-height: calc(100dvh - 100px); }
  .hermes-float-head .agent-head { flex-direction: row; }
  .app-chat-sidebar, body[data-chat-sidebar-collapsed="true"] .app-chat-sidebar {
    top: auto; bottom: 0; width: 100%; height: 85dvh; border-radius: 20px 20px 0 0;
    background: var(--card-strong); pointer-events: none; transform: translateY(100%); visibility: hidden;
  }
  .app-chat-sidebar.is-open, body[data-chat-sidebar-collapsed="true"] .app-chat-sidebar.is-open { transform: translateY(0); visibility: visible; pointer-events: auto; }
  .mobile-disclosure { min-width: 0; border: 1px solid var(--border); border-radius: 18px; background: var(--card); }
  .mobile-disclosure > summary { padding: 16px; min-height: 48px; cursor: pointer; }
  .mobile-disclosure > section { border: 0; }
  .mobile-meals { display: grid; gap: 12px; }
  .desktop-meals { display: none; }
  .nutrition-substance-rail { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-columns: auto; grid-auto-flow: row; }
  .nutrition-metric-grid { gap: 12px; }
  .card { border-radius: 18px; padding: 16px; }
  .workspace { gap: 20px; }
  button, summary, .ghost-button-inline, input, select { min-height: 48px; }
  .today-workspace, .today-workspace > *, .mobile-disclosure { min-width: 0; overflow-wrap: anywhere; }
}

@media (max-width: 420px) {
  .mobile-topbar .mobile-topbar-action { width: 44px; padding: 0; }
  .mobile-topbar .mobile-action-label { display: none; }
}
