/*
 * FormYou — Deine Routine. Dein Rhythmus.
 * The application system: warm paper, pine, citron, clear numbers, generous space.
 * Loaded after the feature styles so every existing interaction keeps its behavior.
 */
:root {
  --bg: #f6f5f0;
  --paper: #f6f5f0;
  --surface: #fffefa;
  --ink: #18382e;
  --muted: #626b60;
  --line: #dedfd6;
  --accent: #18382e;
  --accent-hover: #284d3f;
  --tint: #edf1e5;
  --lime: #dbef87;
  --good: #276349;
  --good-bg: #edf5ea;
  --warn: #875b25;
  --warn-bg: #faf0df;
  --danger: #ac3d43;
  --danger-bg: #fcf0ee;
  --radius: 12px;
  --sidebar: 0px;
  --shadow: 0 2px 3px #18382e02;
  --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'DM Sans', 'Manrope', sans-serif;
  --display: var(--font-display);
  --mono: var(--font-sans);
  font-family: var(--font-sans);
}
html { scroll-padding-top: 28px; }
body { background: var(--paper); font-size: 14px; line-height: 1.65; }
::selection { color: var(--ink); background: var(--lime); }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; letter-spacing: -.04em; }
h1 { font-size: clamp(38px, 4.5vw, 62px); line-height: 1.05; }
h2 { font-size: 27px; line-height: 1.18; }
h3 { font-size: 18px; line-height: 1.3; letter-spacing: -.025em; }
em { font-style: normal; font-weight: inherit; }
button, input, select, textarea { font-family: var(--font-sans); }
button, a, input, select, textarea, summary { touch-action: manipulation; }
button:disabled { cursor: not-allowed; }
:focus-visible { outline: 3px solid #728e58; outline-offset: 4px; }
input:focus-visible, select:focus-visible, textarea:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 3px #18382e14; }
.eyebrow { font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: .13em; line-height: 1.6; }
.description, .plan-description { font-size: 14px; line-height: 1.8; }
.details-note, .chart-caption, .hint, .legal { font-size: 12px; line-height: 1.75; }
.wordmark { font-family: var(--font-display); font-weight: 800; font-size: 38px; letter-spacing: -2.6px; }
.wordmark span { color: var(--ink); }

/* A calm, persistent brand frame. */
.journal-masthead { max-width: 1440px; padding: 27px 48px; border-bottom: 1px solid var(--line); gap: 26px; }
.journal-masthead .wordmark, .journal-footer .wordmark { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; }
.journal-masthead .wordmark > .form-symbol, .journal-footer .wordmark > .form-symbol { display: flex; align-items: center; gap: 3px; width: 27px; height: 30px; flex-shrink: 0; transform: skew(-16deg); color: var(--ink); }
.journal-masthead .form-symbol i, .journal-footer .form-symbol i { display: block; background: currentColor; width: 6px; height: 23px; }
.journal-masthead .form-symbol i:nth-child(2), .journal-footer .form-symbol i:nth-child(2) { height: 30px; }
.journal-masthead .form-symbol i:nth-child(3), .journal-footer .form-symbol i:nth-child(3) { height: 18px; }
.journal-footer .wordmark > .form-symbol { transform: skew(-16deg) scale(.78); width: 23px; margin-right: -2px; }
.journal-masthead .wordmark span { font: inherit; padding: 0; vertical-align: baseline; letter-spacing: inherit; }
.journal-edition { font: 600 9px/1.65 var(--font-sans); letter-spacing: .075em; padding-left: 24px; border-color: var(--line); color: var(--muted); }
.desktop-nav { gap: 4px; }
.desktop-nav a { min-height: 43px; padding: 11px 12px; font-size: 12px; font-weight: 600; border-radius: 7px; gap: 7px; color: var(--muted); transition: color .18s, background .18s; }
.desktop-nav a:hover { color: var(--ink); background: #eaece3; }
.desktop-nav a.active { color: var(--ink); background: #e7eddc; }
.nav-index { font: 500 9px var(--font-sans); opacity: 1; color: var(--muted); }
.journal-person { width: 38px; height: 38px; background: var(--ink); border: 1px solid var(--ink); color: var(--lime); font: 600 15px var(--font-sans); }
.journal-person:hover { background: var(--accent-hover); }
.layout { margin: 0; padding-bottom: 0; }
.journal-meta { max-width: 1440px; padding: 14px 48px; font: 600 10px/1.5 var(--font-sans); letter-spacing: .065em; border: 0; }
.journal-meta b { margin-left: 13px; font-weight: 600; }
.journal-meta .row { gap: 22px; }
.top-date { font: 500 11px var(--font-sans); letter-spacing: 0; }
.status { min-height: 32px; padding: 6px 10px; color: var(--good); background: var(--good-bg); border: 1px solid #dde7d6; border-radius: 20px; font: 600 10px/1.5 var(--font-sans); }
.status.pending { color: var(--warn); background: var(--warn-bg); border-color: #e9dcc3; }
.status.error { background: var(--danger-bg); border-color: #efd6d4; padding: 6px 10px; }
#main { max-width: 1344px; padding: 36px 48px 64px; min-height: calc(100vh - 260px); }
.journal-footer { max-width: 1248px; margin: 0 auto; padding: 27px 0 35px; border-color: var(--line); font: 500 10px/1.5 var(--font-sans); letter-spacing: .055em; color: var(--muted); }
.journal-footer .wordmark { font-size: 28px; letter-spacing: -1.7px; }
.journal-footer .text-btn { font-size: 11px; }
.page-heading { padding-bottom: 29px; margin-bottom: 30px; border-color: var(--line); align-items: flex-end; }
.page-heading .eyebrow { margin-bottom: 13px; }
.page-heading h1 { font-size: clamp(36px, 4.2vw, 58px); font-weight: 600; }
.page-heading p { margin-top: 15px; font-size: 14px; max-width: 610px; line-height: 1.75; }
.page-heading > .btn { margin-bottom: 2px; }

/* Controls have one scale across training, food, charts and dialogs. */
.btn, .coach-view .btn { min-height: 46px; padding: 12px 18px; font-size: 12px; font-weight: 650; border: 1px solid #d6dbcf; border-radius: 8px; color: var(--ink); background: var(--surface); box-shadow: none; line-height: 1.45; }
.btn:hover, .coach-view .btn:hover { background: #edf0e7; border-color: #bdc8b8; box-shadow: none; }
.btn.primary, .coach-view .btn.primary { color: var(--surface); background: var(--ink); border-color: var(--ink); }
.btn.primary:hover, .coach-view .btn.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: #fff; }
.btn.quiet { background: transparent; border-color: #c8cfbf; }
.btn.danger { color: var(--danger); background: var(--danger-bg); border-color: #ebcdca; }
.btn.small { min-height: 40px; font-size: 11px; padding: 9px 13px; }
.text-btn { min-height: 36px; font-size: 12px; color: var(--ink); font-weight: 650; }
.icon-btn { min-width: 40px; min-height: 40px; border-radius: 8px; background: var(--surface); border-color: var(--line); color: var(--muted); }
.icon-btn:hover { color: var(--ink); border-color: #c5cfbb; background: var(--tint); }
.pill, .coach-view .pill { border-radius: 5px; font: 600 10px/1.45 var(--font-sans); padding: 6px 9px; background: #edf0e6; color: #617057; }
.pill.lime, .coach-view .pill.lime { color: var(--ink); background: var(--lime); }
.field, .coach-view .field, .analytics-field { font-size: 12px; color: #47554a; font-weight: 600; gap: 8px; }
.field small { font-size: 11px; line-height: 1.6; }
.field input, .field select, .field textarea, select, input:not([type=checkbox]):not([type=file]), textarea,
.coach-view .field input, .coach-view .field select, .coach-view select, .coach-view input:not([type=checkbox]) { border-radius: 8px; border-color: #849379; background: var(--surface); min-height: 46px; padding: 12px 13px; font-size: 14px; color: var(--ink); }
input::placeholder, textarea::placeholder, .coach-view input::placeholder { color: #637057; }
.check-label, .coach-view .check-label { font-size: 12px; line-height: 1.75; }
.coach-view .check-label input { width: 18px; height: 18px; margin-top: 2px; }
.tabs, .nutrition-tabs, .analytics-ranges { padding: 5px; background: #eaece3; border: 1px solid #e1e3d8; border-radius: 10px; gap: 4px; }
.tab, .nutrition-tabs button, .analytics-ranges button { min-height: 42px; padding: 10px 16px; border-radius: 6px; font: 600 12px/1.5 var(--font-sans); color: #637057; background: transparent; border: 0; }
.tab.active, .nutrition-tabs button.active, .analytics-ranges button[aria-pressed=true] { background: var(--surface); color: var(--ink); box-shadow: 0 1px 4px #18382e09; }
.tab:hover, .nutrition-tabs button:hover { color: var(--ink); background: #f5f6ef; }
.tab.active:hover, .nutrition-tabs button.active:hover { background: var(--surface); }
.notice, .compact-note { background: #edf2e5; border: 1px solid #dce5d1; border-radius: 10px; color: #56664e; padding: 18px 20px; font-size: 12px; line-height: 1.8; }
.notice > .icon { color: #698453; }
.notice.warn { color: var(--warn); background: var(--warn-bg); border-color: #e9dcc3; }
.error-msg { font-size: 12px; }
.card, .coach-view .card { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 26px; box-shadow: var(--shadow); }
.card-head { margin-bottom: 20px; }
.card-head h2 { font: 600 25px/1.2 var(--font-display); letter-spacing: -.035em; }
.card-head h3 { font-size: 17px; }
.card-head .text-btn { font-size: 12px; }
.empty { min-height: 210px; padding: 30px 20px; }
.empty > .icon { width: 48px; height: 48px; border-radius: 14px; padding: 13px; background: #edf1e5; color: #6f8658; margin-bottom: 18px; }
.empty h3 { font: 600 17px/1.5 var(--font-display); max-width: 360px; }
.empty p { font-size: 12px; max-width: 340px; line-height: 1.8; }

/* Today: an open welcome, readable week and a distinctive session card. */
.journal-welcome { align-items: flex-end; margin: 5px 0 36px; gap: 36px; }
.journal-welcome .eyebrow { font-size: 10px; margin-bottom: 21px; }
.journal-welcome h1 { font: 600 clamp(54px, 5.6vw, 80px)/1.02 var(--font-display); letter-spacing: -.055em; }
.journal-welcome h1 em { color: #829375; }
.journal-welcome-note { max-width: 282px; padding: 0 4px 3px 0; }
.journal-cross { width: 41px; height: 41px; display: grid; place-items: center; color: var(--ink); border-radius: 50%; background: var(--lime); font-size: 36px; line-height: 1; margin-bottom: 15px; }
.journal-welcome-note p { font-size: 12px; line-height: 1.85; margin: 0 0 18px; }
.journal-section-label { font: 650 10px/1.6 var(--font-sans); letter-spacing: .09em; padding-bottom: 16px; color: var(--muted); }
.journal-section-label .text-btn { font: 600 11px/1.5 var(--font-sans); letter-spacing: 0; }
.journal-week { padding-top: 20px; margin-bottom: 27px; border-top: 1px solid var(--line); }
.journal-days { border: 0; gap: 8px; overflow: visible; }
.journal-day { min-height: 125px; padding: 16px 14px 14px; background: #eeefe7; border: 1px solid #e3e6da; border-radius: 9px; }
.journal-day:first-child { border: 1px solid #e3e6da; }
.journal-day > div { font: 650 10px/1.4 var(--font-sans); color: #637057; margin-bottom: 21px; }
.journal-day-date { font: 600 19px/1 var(--font-display); color: var(--ink); }
.journal-day > strong { font: 600 12px/1.5 var(--font-sans); color: var(--ink); }
.journal-day-state { font: 500 10px/1.5 var(--font-sans); margin-top: 6px; color: #637057; }
.journal-day-state .icon { width: 12px; height: 12px; }
.journal-day.is-today { background: var(--lime); border-color: #c8df74; }
.journal-day.is-today > div, .journal-day.is-today .journal-day-state { color: #506b39; }
.journal-day.is-done { box-shadow: inset 0 -3px #718c54; }
.journal-today { font: 700 8px/1.4 var(--font-sans); letter-spacing: .09em; top: -8px; left: 13px; color: var(--surface); background: var(--ink); padding: 3px 6px; border-radius: 4px; }
.journal-feature { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 24px; margin-bottom: 28px; }
.journal-session { background: #18382e; border-radius: 12px; min-height: 340px; padding: 35px 37px; isolation: isolate; }
.journal-session::before, .journal-session::after { content: ''; position: absolute; pointer-events: none; border: 1px solid #dbef8722; width: 310px; height: 310px; right: -130px; top: -120px; border-radius: 50%; z-index: -1; }
.journal-session::after { width: 410px; height: 410px; right: -180px; top: -170px; }
.journal-session > .eyebrow { color: #bacda9; font-size: 10px; letter-spacing: .13em; }
.journal-session h2 { font: 500 clamp(39px, 4vw, 57px)/1.06 var(--font-display); letter-spacing: -.045em; color: #f8f8ef; max-width: 88%; margin: 25px 0 18px; }
.journal-session h2 em { color: var(--lime); }
.journal-session p { font-size: 13px; line-height: 1.8; color: #bacbbd; max-width: 83%; }
.journal-session-action { gap: 19px; margin-top: 28px; }
.journal-session-action .btn.primary { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.journal-session-action .btn.primary:hover { background: #e9f7b7; border-color: #e9f7b7; }
.journal-session-action > span { font: 500 11px/1.7 var(--font-sans); color: #c0d0b7; }
.journal-session-stamp { font: 700 200px/1 var(--font-display); right: 4px; top: 95px; color: #dbef8709; letter-spacing: -.12em; z-index: -1; }
.journal-coach { border: 1px solid #dde2d2; background: #edf0e4; border-radius: 12px; padding: 26px 28px; }
.journal-coach-count { font: 500 52px/1 var(--font-display); letter-spacing: -.05em; margin: 22px 0 19px; gap: 18px; }
.journal-coach-count > span { font: 600 9px/1.8 var(--font-sans); color: #637057; letter-spacing: .09em; }
.journal-coach h2 { font: 500 32px/1.1 var(--font-display); letter-spacing: -.04em; }
.journal-coach h2 em { color: #6e8560; }
.journal-coach p { font-size: 12px; line-height: 1.75; margin: 16px 0; }
.journal-link { border-bottom: 0; border-top: 1px solid #d6decb; padding: 15px 0 0; font: 650 12px/1.6 var(--font-sans); min-height: 44px; }
.journal-coach > small { font: 500 10px/1.7 var(--font-sans); margin-top: 13px; }
.library-entry { padding: 23px 26px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); margin-bottom: 35px; }
.library-entry .eyebrow { margin-bottom: 10px; }
.library-entry h2 { font-size: 26px; }
.library-entry p { font-size: 12px; }
.library-entry .btn { flex-shrink: 0; }
.journal-numbers { margin-bottom: 34px; }
.journal-numbers .journal-section-label { border-bottom: 0; }
.journal-numbers .stat-grid { gap: 12px; border: 0; }
.journal-numbers .stat, .journal-numbers .stat:first-child, .journal-numbers .stat:last-child { padding: 23px 24px; border: 1px solid var(--line); background: var(--surface); border-radius: 10px; }
.journal-numbers .stat-top { font: 600 11px/1.6 var(--font-sans); min-height: 20px; }
.journal-numbers .stat-top .icon { display: block; width: 15px; height: 15px; color: #8b987d; }
.journal-numbers .value { font: 500 45px/1.1 var(--font-display); letter-spacing: -.05em; margin-top: 20px; }
.journal-numbers .value > span { font: 500 15px/1 var(--font-sans); }
.journal-numbers .stat-foot { font-size: 11px; line-height: 1.65; margin-top: 12px; max-width: none; }
.journal-history-grid { gap: 24px; grid-template-columns: 1fr 1.15fr; }
.journal-paper { padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.journal-paper h2 { font-size: 27px; margin: 6px 0 17px; }
.journal-paper .empty, .journal-paper .empty-chart { min-height: 205px; }
.journal-paper .table-wrap { margin-top: 20px; }

/* A clear first step for a real new account. */
.journal-onboarding { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 29px 31px; margin: 0 0 28px; border: 1px solid #cadab0; border-radius: 12px; background: #eaf1da; position: relative; }
.journal-onboarding::before { content: ''; align-self: stretch; width: 4px; background: #9bb672; border-radius: 3px; flex-shrink: 0; }
.journal-onboarding > div { flex: 1; min-width: 0; }
.journal-onboarding .eyebrow { color: #637057; font-size: 10px; }
.journal-onboarding h2 { font: 550 30px/1.18 var(--font-display); margin: 11px 0 13px; }
.journal-onboarding p { max-width: 615px; color: #627057; font-size: 13px; line-height: 1.8; }
.journal-onboarding > .btn { flex-shrink: 0; }

/* Training and the schedule are usable during an actual session. */
.training-toolbar { align-items: flex-end; margin-block: 26px; gap: 20px; }
.training-toolbar > .field { max-width: 235px; font-size: 11px; }
.training-toolbar > .field input { font-size: 13px; min-height: 44px; }
.exercise-preview { padding: 18px 0; gap: 15px; border-color: var(--line); }
.exercise-preview strong { font-size: 14px; font-weight: 650; }
.exercise-number { color: #637057; font: 550 11px/1 var(--font-sans); width: 24px; }
.exercise-preview small { font-size: 11px; line-height: 1.6; }
.exercise-preview .guide-open { font-size: 11px; min-height: 32px; }
.exercise-target { font-size: 13px; color: var(--ink); }
.exercise-title h3 { font: 600 27px/1.2 var(--font-display); letter-spacing: -.035em; }
.exercise-title p { font-size: 12px; line-height: 1.75; }
.exercise-title .eyebrow { font-size: 10px; }
.exercise-card { padding: 28px; border-color: #d8dfd0; }
.session-header { background: #f6f5f0f7; backdrop-filter: blur(12px); border-color: var(--line); padding-block: 10px 22px; }
.session-header h2 { font: 600 35px/1.12 var(--font-display); }
.session-header p { font-size: 12px; }
.previous { border-radius: 8px; background: #f0f3e9; border-color: #e0e7d5; font-size: 12px; padding: 12px 14px; margin: 22px 0 18px; }
.set-head { font-size: 10px; letter-spacing: .06em; padding-bottom: 11px; }
.set-row { padding: 11px 0; border-color: #e4e8dd; }
.set-row input { background: #f7f8f2!important; border-color: #849379!important; border-radius: 8px; min-height: 48px!important; font-size: 16px!important; }
.set-row.done input { background: #edf4dc!important; border-color: #d2e2b4!important; }
.set-done { width: 46px; height: 48px; border-radius: 8px; background: #eff3e7; border-color: #dce4cf; color: #637057; }
.set-row.done .set-done { background: var(--ink); color: var(--lime); border-color: var(--ink); }
.set-remove { color: #637057; }
.exercise-foot .text-btn, .exercise-card summary, .exercise-card .hint { font-size: 12px; }
.calendar { overflow: hidden; }
.calendar .card-head h2 { font-size: 27px; }
.calendar-toolbar .field { font-size: 11px; }
.calendar-grid { border-radius: 10px; overflow: hidden; border-color: var(--line); }
.calendar-day { padding: 17px 13px; background: #f8f9f2; border-color: var(--line); }
.calendar-day.is-today { background: #edf3df; }
.calendar-date { margin-bottom: 22px; }
.calendar-date span, .calendar-date small { font-size: 10px; }
.calendar-date strong { font: 600 26px/1 var(--font-display); }
.calendar-entry { gap: 11px; }
.calendar-entry > strong { font-size: 13px; line-height: 1.6; }
.calendar-entry small, .calendar-marker { font-size: 11px; line-height: 1.65; }
.calendar-entry .btn, .calendar-marker .btn { min-height: 40px; padding: 8px; font-size: 11px; border-radius: 6px; }
.calendar-rest { font-size: 12px; color: #637057; }
.calendar-preview { background: #edf1e5; border-radius: 9px; padding: 18px; }

/* Planlabor: a real planning workspace with readable decisions. */
.coach-view { --lab-paper: #f6f5f0; --lab-surface: #fffefa; --lab-ink: #18382e; --lab-muted: #626b60; --lab-line: #dedfd6; --lab-acid: #dbef87; --lab-clay: #ae6045; }
.coach-view .eyebrow { font: 700 10px/1.7 var(--font-sans); letter-spacing: .1em; }
.coach-view h1, .coach-view h2, .coach-view h3,
.coach-masthead-goal, .coach-masthead-footer strong, .coach-basis-number, .coach-proposal-stamp, .coach-report-metrics strong, .coach-change-list strong { font-family: var(--font-display); font-weight: 550; }
.coach-view p { font-size: 12px; line-height: 1.85; }
.coach-view small { font-size: 11px; line-height: 1.7; }
.coach-view .details-note, .coach-view .description { font-size: 12px; }
.coach-masthead { padding: 40px; min-height: 320px; gap: 48px; border-radius: 12px; background: var(--ink); }
.coach-masthead h1 { font: 500 clamp(44px, 5vw, 68px)/1.02 var(--font-display); letter-spacing: -.05em; margin: 24px 0 21px; }
.coach-masthead h1 em { color: var(--lime); }
.coach-masthead-copy > p { font-size: 13px; color: #bfccbd; max-width: 400px; }
.coach-masthead-data { padding-left: 34px; }
.coach-masthead-goal { font-size: 28px; line-height: 1.25; }
.coach-edition { font: 600 10px/1.7 var(--font-sans); letter-spacing: .1em; }
.coach-week-strip > span { font: 600 10px/1.5 var(--font-sans); }
.coach-week-strip i { height: 7px; border-radius: 4px; background: #42614c; }
.coach-masthead-footer { gap: 30px; }
.coach-masthead-footer strong { font-size: 34px; letter-spacing: -.04em; }
.coach-masthead-footer strong > span { font: 600 9px/1.6 var(--font-sans); letter-spacing: .08em; color: #b8c8aa; }
.coach-masthead-control { font-size: 11px; }
.coach-workbench { grid-template-columns: minmax(0, 1.75fr) minmax(260px, .85fr); gap: 26px; }
.coach-settings > summary h2 { font: 550 30px/1.15 var(--font-display); }
.coach-settings > summary p { font-size: 12px; }
.coach-day-open { width: 34px; height: 34px; background: #f1f4e9; border-color: #d8e0cc; }
.coach-form-section { grid-template-columns: 25px minmax(0, 1fr); padding: 25px 0; gap: 15px; }
.coach-section-number { font: 600 11px/1.5 var(--font-sans); color: #637057; }
.coach-section-heading h3 { font-size: 17px; }
.coach-section-heading > p { font-size: 12px; margin-top: 9px; }
.coach-fieldset legend { font-size: 12px; font-weight: 650; }
.coach-fieldset legend span { font-size: 11px; }
.coach-focus-choice span { padding: 10px 12px; font-size: 11px; border-radius: 7px; background: #fbfcf5; border-color: #d8dfce; color: #617456; }
.coach-focus-choice input:checked + span { background: #e6efcb; border-color: #bace96; color: #284d3c; }
.coach-choice > span:not(.sr-only) { width: 44px; height: 44px; border-radius: 7px; font: 600 11px var(--font-sans); background: #f7f9ef; border-color: #d8dfce; }
.coach-choice input:checked + span { background: var(--ink); color: var(--lime); border-color: var(--ink); }
.coach-equipment .check-label, .coach-station-grid .check-label { font-size: 12px; color: #5e6f51; }
.coach-preferences > summary { font-size: 12px; }
.coach-preferences > summary .muted { font-size: 10px; }
.coach-pref-row { grid-template-columns: minmax(0, 1fr) 126px; padding: 15px 0; }
.coach-pref-row strong { font-size: 12px; }
.coach-pref-row small { font-size: 10px; }
.coach-view .coach-pref-row select { font-size: 12px; min-height: 42px; border-radius: 6px; }
.coach-automatic, .coach-intent { background: #f0f5e5; border-radius: 8px; padding: 17px; }
.coach-automatic strong { font-size: 12px; }
.coach-automatic small { font-size: 11px; }
.coach-form-actions .btn { font-size: 12px; }
.coach-form-actions > .details-note { font-size: 11px; }
.coach-context { padding: 24px 10px 15px; }
.coach-basis-number { font-size: 68px; }
.coach-basis-number > span { font: 500 16px/1.5 var(--font-display); }
.coach-context-facts > div { padding: 15px 0; }
.coach-context-facts dt { font-size: 11px; }
.coach-context-facts dd { font-size: 12px; }
.coach-method li { font-size: 12px; }
.coach-method li > span { font-size: 10px; }
.coach-local-note strong, .coach-local-note p { font-size: 11px; }
.coach-view .coach-preview { border-color: #cbd9b6; border-radius: 12px; box-shadow: inset 0 4px 0 var(--lime); padding: 30px; }
.coach-preview-heading h2 { font: 550 36px/1.13 var(--font-display); }
.coach-proposal-stamp { font-size: 48px; }
.coach-proposal-stamp small { font-size: 9px; }
.coach-plan-report { background: #f0f4e7; border-color: #dce5ce; border-radius: 10px; }
.coach-report-intro h3 { font: 550 27px/1.2 var(--font-display); }
.coach-report-metrics strong { font-size: 32px; }
.coach-report-metrics span, .coach-report-basis { font-size: 11px; }
.coach-report-heading { font: 650 10px/1.6 var(--font-sans); letter-spacing: .045em; }
.coach-time-report strong { font-size: 12px; }
.coach-time-report small, .coach-time-report p, .coach-report-columns .details-note { font-size: 11px; }
.coach-coverage > div > div, .coach-coverage strong { font-size: 11px; }
.coach-coverage i { font-size: 9px; }
.coach-report-warnings { border-radius: 6px; }
.coach-report-warnings ul, .coach-selection-report ul, .coach-compromises ul { font-size: 12px; }
.coach-selection-report > summary, .coach-compromises summary { font-size: 12px; }
.coach-selection-report > summary > span { font-size: 10px; }
.coach-selection-report article > strong { font-size: 13px; }
.coach-selection-report article > .eyebrow, .coach-report-limitations { font-size: 10px; }
.coach-preview-day, .coach-variant { border-radius: 10px; background: #f8faf1; border-color: #dce3d1; }
.coach-preview-day h3 { font: 550 23px/1.3 var(--font-display); }
.coach-preview-exercises strong { font-size: 12px; }
.coach-preview-exercises span { font-size: 11px; }
.coach-plan .card-head h2 { font: 550 32px/1.2 var(--font-display); }
.coach-day > summary h3 { font: 550 25px/1.25 var(--font-display); }
.coach-recommendation h3 { font: 550 26px/1.2 var(--font-display); }
.coach-change-list strong { font-size: 23px; }
.coach-analysis-empty h3, .coach-view .empty h3 { font: 550 25px/1.25 var(--font-display); }
.coach-view > .card:not(.coach-plan):not(.coach-preview) > .card-head h2 { font: 550 29px/1.2 var(--font-display); }
.coach-variant h3 { font: 550 27px/1.15 var(--font-display); }
.coach-variant.selected { border-color: #95b875; background: #edf4dd; }
.coach-analysis-states h3 { font-size: 16px; }
.coach-analysis-states p, .coach-analysis-states li, .coach-diff li p, .coach-diff li strong { font-size: 12px; }
.coach-coverage-note, .coach-secondary, .coach-secondary p { font-size: 11px; }

/* Development and body data: numbers stay honest and easy to compare. */
.value { font-family: var(--font-display); font-size: 38px; font-weight: 550; letter-spacing: -.04em; }
.stat-top { font-size: 12px; }
.stat-foot { font-size: 11px; }
.chart .line, .analytics-line { stroke: #527848; }
.chart .area { fill: #dbef873b; }
.chart .point, .analytics-dot { stroke: #527848; fill: var(--surface); }
.analytics { gap: 24px; grid-template-columns: minmax(0, 1fr); }
.analytics > *, .analytics-toolbar > * { min-width: 0; }
.analytics-ranges { min-width: 0; max-width: 100%; }
.analytics-ranges button { min-width: 0; white-space: normal; }
.analytics-toolbar { padding: 0 0 4px; border: 0; background: none; }
.analytics-toolbar p { font-size: 13px; }
.analytics-summary { border-radius: 12px; border-color: var(--line); }
.analytics-summary > div { background: var(--surface); padding: 26px; }
.analytics-summary > div > span { font: 600 11px/1.6 var(--font-sans); }
.analytics-summary strong, .analytics-reading strong { font: 550 42px/1.1 var(--font-display); letter-spacing: -.045em; }
.analytics-summary small, .analytics-change { font-size: 11px; }
.analytics-performance, .analytics-grid > .card { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 27px; }
.analytics-section-head h2, .analytics-grid .analytics-section-head h2 { font: 550 26px/1.2 var(--font-display); }
.analytics-section-head p { font-size: 13px; }
.analytics-tag { font-size: 10px; border-radius: 5px; background: var(--tint); padding: 7px 10px; }
.analytics-inspector { padding: 15px 17px; border-radius: 8px; font-size: 12px; background: #f1f5e9; border-color: #dce4d0; }
.analytics-note, .analytics-data summary, .analytics-legend span { font-size: 11px; }
.analytics-bar > rect:first-child { fill: #9bb482; }
.analytics-adherence-completed { fill: #527848; background: #527848; }
.analytics-empty { background: #f7f9f0; border: 1px dashed #d5dec8; border-radius: 9px; }
.analytics-empty strong { font-size: 15px; }
.analytics-empty p { font-size: 12px; }
.analytics-comparison { border-radius: 9px; background: #edf3e2; }
.analytics-comparison h3 { font-size: 16px; }
.analytics-plan-changes { background: var(--surface); }
table { font-size: 12px; }
th, .journal-paper table th, .analytics-data th { font: 650 10px/1.5 var(--font-sans); letter-spacing: .07em; background: #eef1e7; padding: 12px; }
td { padding: 16px 12px; border-color: #e5e8dd; }
.history-row .text-btn { font-size: 12px; }
.history-meta, .journal-paper .history-meta { font-size: 10px; }
.setting-section { margin-bottom: 24px; }
.setting-section > h2 { font-size: 27px; }
.setting-section .description { font-size: 13px; margin: 13px 0 23px; }
.setting-section summary { font-size: 14px; min-height: 40px; }
.setting-section details { padding: 14px 0; }
.split-info strong { font: 550 25px/1.4 var(--font-display); }
.split-info > div { font-size: 12px; }

/* Nutrition shares the same frame, with the food itself providing the colour. */
.nutrition { --food-green: #4c714c; --food-soft: #edf2e4; }
.nutrition-heading { padding: 2px 0 31px; gap: 35px; }
.nutrition-heading h1 { font: 550 clamp(44px, 5.2vw, 73px)/1.03 var(--font-display); letter-spacing: -.05em; margin: 18px 0 21px; }
.nutrition-heading h1 em { color: #7d956c; }
.nutrition-heading p { font-size: 14px; line-height: 1.8; max-width: 500px; }
.nutrition-heading-note { border-color: var(--line); padding: 18px 35px; }
.nutrition-heading-note > span { font: 500 80px/1 var(--font-display); color: #7d956c; }
.nutrition-heading-note p { font: 600 11px/1.8 var(--font-sans); }
.nutrition-tabs { margin-bottom: 32px; }
.nutrition-tabs button { padding-inline: 18px; }
.nutrition-section-heading h2 { font: 550 32px/1.2 var(--font-display); }
.nutrition-section-heading p { font-size: 13px; line-height: 1.75; }
.nutrition-days, .nutrition-recipe-grid { gap: 20px; }
.nutrition-day, .nutrition-recipe-card, .nutrition-empty, .nutrition-fieldset, .nutrition-inline-form, .nutrition-supplements article,
.nutrition-energy-setup, .nutrition-energy-result, .nutrition-target-overview, .nutrition-day-state, .nutrition-progress-cards article, .nutrition-weight-panel { border-radius: 12px; border-color: var(--line); }
.nutrition-day, .nutrition-recipe-card { overflow: hidden; }
.nutrition-day.is-today { border-color: #adc68e; }
.nutrition-day > header h3 { font: 550 24px/1.2 var(--font-display); }
.nutrition-day > header .btn { font-size: 11px; border-radius: 7px; }
.nutrition-meal-label { font: 650 10px/1.5 var(--font-sans); }
.nutrition-meal-label span { font-size: 10px; }
.nutrition-meal-title { font: 550 24px/1.18 var(--font-display); letter-spacing: -.035em; }
.nutrition-meal > p { font-size: 12px; line-height: 1.65; }
.nutrition-macros { font-size: 11px; gap: 5px 13px; }
.nutrition-meal-actions .btn, .nutrition-day > footer > .btn { font-size: 11px; min-height: 42px; border-radius: 7px; }
.nutrition-day > footer { background: #f1f4e9; }
.nutrition-empty h3 { font: 550 28px/1.2 var(--font-display); }
.nutrition-empty p { font-size: 13px; }
.nutrition-notice { border-radius: 8px; font-size: 13px; }
.nutrition-footnote, .nutrition-catalog-summary { font-size: 12px; line-height: 1.8; }
.nutrition-fieldset { padding: 22px; }
.nutrition-fieldset legend { font-size: 13px; font-weight: 600; }
.nutrition-optin, .nutrition-log-summary { border-radius: 10px; }
.nutrition-optin p { font-size: 12px; }
.nutrition-filter .check-label { font-size: 12px; }
.nutrition-recipe-card { padding: 23px; transition: border-color .18s, box-shadow .18s; }
.nutrition-recipe-card:hover { border-color: #c3d1b5; box-shadow: 0 7px 22px #18382e06; }
.nutrition-recipe-card h3 { font: 550 27px/1.14 var(--font-display); letter-spacing: -.035em; min-height: 62px; }
.nutrition-recipe-card > p { font-size: 12px; }
.nutrition-recipe-card .btn { min-height: 42px; padding: 10px 13px; font-size: 11px; }
.nutrition-recipe-photo figcaption { font: 500 10px/1.6 var(--font-sans); background: #f1f4e9; padding: 8px 12px; }
.nutrition-recipe-photo.is-detail { border-radius: 9px; background: #edf2e4; }
.nutrition-recipe-photo.is-detail img { object-fit: cover; }
.nutrition-grocery-groups h3 { font: 550 26px/1.2 var(--font-display); border-color: var(--line); padding-bottom: 17px; }
.nutrition-grocery-row { padding: 16px 0; }
.nutrition-grocery-row small { font: 500 11px/1.6 var(--font-sans); }
.nutrition-grocery-row .btn { font-size: 11px; }
.nutrition-inline-form h3, .nutrition-recipe-detail h3, .nutrition-move h3 { font: 550 26px/1.2 var(--font-display); }
.nutrition-log-list h3 { font: 550 27px/1.2 var(--font-display); }
.nutrition-log-list p { font-size: 13px; }
.nutrition-supplements h3 { font: 550 34px/1.1 var(--font-display); }
.nutrition-supplements details { padding-top: 21px; }
.nutrition-supplements summary { font-size: 13px; }
.nutrition-partners article { border-radius: 10px; }
.nutrition-partners h4 { font: 550 27px/1.2 var(--font-display); }
.nutrition-home { padding: 31px; border: 1px solid #dde5ce; border-radius: 12px; background: #edf2e2; margin: 30px 0 0; }
.nutrition-home h2 { font: 550 32px/1.15 var(--font-display); }
.nutrition-home p { font-size: 13px; line-height: 1.8; }
.nutrition-energy-setup h3, .nutrition-target-overview strong, .nutrition-energy-result h3, .nutrition-day-state h3, .nutrition-weight-panel h3 { font: 550 29px/1.15 var(--font-display); }
.nutrition-energy-setup p, .nutrition-energy-result p, .nutrition-dialog > form p { font-size: 13px; }
.nutrition-target-overview p, .nutrition-target-status p { font-size: 12px; }
.nutrition-target-meter { height: 6px; border-radius: 6px; }
.nutrition-progress-cards article { background: #edf2e4; padding: 26px; }
.nutrition-progress-cards strong { font: 550 35px/1.1 var(--font-display); }
.nutrition-progress-table th { font: 650 10px/1.5 var(--font-sans); }
.nutrition-pagination form { font: 500 12px var(--font-sans); }

/* Exercise library and guidance. */
.library-heading { border-color: var(--line); padding-bottom: 30px; }
.library-heading h1 { font: 550 clamp(42px, 5.2vw, 70px)/1.03 var(--font-display); margin: 19px 0 23px; }
.library-heading p { font-size: 14px; line-height: 1.8; }
.library-heading-note { border-color: var(--line); padding-left: 32px; }
.library-big-number { font: 500 86px/.95 var(--font-display); letter-spacing: -.065em; }
.library-big-number span { font: 650 10px/1.7 var(--font-sans); margin: 13px 0 20px; }
.library-heading-note p { font-size: 12px; }
.library-results-bar { font: 550 12px/1.6 var(--font-sans); padding-block: 25px 19px; }
.library-results-bar .text-btn { font-size: 12px; }
.library-grid { gap: 22px; }
.library-card { border-radius: 12px; overflow: hidden; transition: border-color .18s, box-shadow .18s; }
.library-card:hover { border-color: #bacbae; box-shadow: 0 7px 22px #18382e06; }
.library-poster { background: #edf0e6; }
.library-play { width: 40px; height: 40px; font-size: 25px; }
.library-duration { font: 600 10px/1.4 var(--font-sans); border-radius: 5px; padding: 6px 8px; }
.library-card-copy { padding: 21px 22px 23px; }
.library-card-meta { font: 600 10px/1.5 var(--font-sans); letter-spacing: .06em; }
.library-favorite { width: 40px; min-height: 40px; border-radius: 7px; }
.library-card h2 { font: 550 27px/1.16 var(--font-display); min-height: 64px; margin: 8px 0 13px; }
.library-card p { font-size: 12px; line-height: 1.7; }
.library-card-link { font: 600 11px/1.6 var(--font-sans); margin-top: 18px; padding-top: 15px; }
.library-offline { padding: 32px 27px; margin-top: 30px; border: 1px solid var(--line); border-radius: 12px; background: #edf1e4; gap: 35px; }
.library-offline h2 { font-size: 32px; }
.library-offline p { font-size: 13px; }
.library-empty { border-radius: 10px; background: #f8faf1; }
.guide-video-wrap { border-radius: 9px 9px 0 0; background: #edf0e6; }
.guide-live-cue { background: #edf3e1; border-color: #d7e1c9; padding: 22px; }
.guide-live-cue > span { font: 650 11px/1.5 var(--font-sans); }
.guide-live-cue > p { font: 500 24px/1.4 var(--font-display); }
.guide-muscles { border-radius: 0 0 9px 9px; border-color: #d7e1c9; padding: 20px 22px; }
.guide-muscles h3 { font: 650 12px/1.5 var(--font-sans); }
.guide-muscles > p, .guide-video-caption { font-size: 11px; }
.guide-controls label { font: 550 12px/1.5 var(--font-sans); }
.guide-controls select { font-size: 13px; border-radius: 7px; }
.guide-chapters { border-radius: 8px; overflow: hidden; }
.guide-chapters button { font-size: 12px; padding: 17px 15px; }
.guide-chapters span { font: 600 10px/1.5 var(--font-sans); }
.guide-detail h3 { font: 550 27px/1.2 var(--font-display); }
.guide-cues { border-radius: 10px; background: #edf3e1; }
.guide-cues h3 { font-size: 24px; }
.guide-cues p, .guide-mistakes p, .guide-transcript p, .guide-sources p, .guide-sources li { font-size: 13px; }
.guide-transcript summary, .guide-sources summary { font-size: 13px; }
.guide-format { font: 600 11px/1.5 var(--font-sans); border-radius: 5px; }

/* Help and overlays keep the same visual language. */
.help-header h1 { font: 550 clamp(39px, 4.5vw, 63px)/1.08 var(--font-display); letter-spacing: -.045em; }
.help-header h1 em { font-family: var(--font-display); color: #7d956c; font-weight: inherit; }
.help-header p { font-size: 14px; }
.help-mark { font-family: var(--font-display); color: #bccaa8; font-size: 110px; }
.help-step { padding: 29px 0; }
.help-step-number { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #d9e3c9; border-radius: 50%; background: #f1f5e8; padding: 0; flex-shrink: 0; margin-top: 3px; font-size: 11px; }
.help-step h3 { font-size: 21px; }
.help-step p, .help-columns p, .help-faq details p { font-size: 13px; }
.help-status { font-size: 10px; }
.help-columns h2 { font-size: 27px; }
.help-sync, .help-privacy-note { background: #f0f4e7; border-radius: 8px; }
.help-sync-attention { background: var(--warn-bg); }
.help-sync > strong, .help-privacy-note strong { font-size: 13px; }
.help-sync p, .help-footer p { font-size: 12px; }
.product-help summary { font-size: 14px; min-height: 30px; }
.help-footer > span { font-size: 11px; }
dialog { border-radius: 16px; background: var(--surface); border: 1px solid #d4ddca; padding: 30px; box-shadow: 0 30px 120px #18382e30; }
dialog::backdrop { background: #0d211b65; backdrop-filter: blur(7px); }
.modal-head { margin-bottom: 24px; gap: 18px; }
.modal-head h2 { font: 550 31px/1.15 var(--font-display); letter-spacing: -.035em; }
.modal-head .icon-btn { min-width: 38px; min-height: 38px; width: 38px; height: 38px; border-radius: 50%; background: #eef2e7; }
.modal-copy { font-size: 13px; }
.modal-actions { margin-top: 27px; }
.record-exercise strong { font-size: 14px; }
.record-exercise p { font-size: 13px; }
.timer { border-radius: 12px; background: var(--ink); border-color: #365443; padding: 14px 17px; box-shadow: 0 12px 32px #18382e24; }
.timer small { color: #bfd0b1; font-size: 9px; }
.timer strong { font: 550 29px/1.2 var(--font-display); color: var(--lime); }
.timer .icon-btn { border-radius: 7px; }
#toast { background: var(--ink); color: #f7f8ef; font-size: 13px; padding: 14px 20px; border-radius: 9px; line-height: 1.65; box-shadow: 0 8px 26px #18382e20; }
#toast.error { background: #913e44; }
#save-alert { border-radius: 10px; margin-inline: auto; max-width: 1248px; }
.update-banner { background: #e6efcb; border-color: #d2dfb9; color: var(--ink); font-size: 12px; }

/* Readable supporting text, including the older planning feature's local colours. */
.coach-basis-number > span, .coach-context > p, .coach-method li > span,
.coach-local-note p, .coach-proposal-stamp small, .coach-report-intro p,
.coach-report-metrics span, .coach-report-basis, .coach-time-report small,
.coach-time-report p, .coach-coverage > div > div, .coach-selection-report > summary > span,
.coach-selection-report article > .eyebrow, .coach-selection-report article > p,
.coach-selection-report ul, .coach-report-limitations, .coach-preview-section-label > span:last-child,
.coach-preview-exercises > div, .coach-commit-panel p, .coach-day > summary p,
.coach-exercise > summary div > span, .coach-edit-indicator, .coach-exercise-body .check-label,
.coach-recommendation .eyebrow, .coach-recommendation > p, .coach-change-list span,
.coach-recommendation details, .coach-recommendation summary, .coach-analysis-empty p,
.coach-view .compact-note, .coach-history-details > summary, .coach-history small,
.coach-history p, .coach-decision-evidence, .coach-decision-evidence summary,
.coach-intent small, .coach-set-weights small, .coach-pref-row .coach-mainlift,
.coach-variant .eyebrow, .coach-variant > p, .coach-variant dt,
.coach-diff > summary span, .coach-analysis-states > summary span, .coach-diff li p,
.coach-diff li[data-change-kind=kept] .coach-diff-kind,
.coach-draft-exercise > .coach-preview-weight, .coach-analysis-states article > .eyebrow,
.coach-analysis-states p, .coach-analysis-states li, .coach-analysis-states .coach-next-step,
.coach-analysis-states details, .coach-coverage-note, .coach-secondary,
.coach-compromises summary, .coach-compromises ul { color: var(--muted); }
.coach-report-warnings .eyebrow, .coach-report-warnings ul,
.coach-view .notice.warn, .coach-diff li[data-change-kind=removed] .coach-diff-kind,
.coach-coverage i { color: #80572d; }

/* Laptop and tablet: retain space for content, keep every destination reachable. */
@media (max-width: 1250px) {
  .journal-masthead { padding: 24px 32px; gap: 22px; }
  .journal-edition { display: none; }
  .desktop-nav a { padding: 11px 13px; }
  .nav-index { display: none; }
  .journal-meta { padding-inline: 32px; }
  #main { padding: 32px 32px 54px; }
  .journal-footer { margin-inline: 32px; }
  .journal-welcome h1 { font-size: 70px; }
  .journal-day { padding-inline: 12px; }
  .journal-session { padding: 31px; }
  .journal-session h2 { font-size: 49px; }
  .journal-coach { padding: 26px; }
  .journal-coach h2 { font-size: 30px; }
  .journal-numbers .stat { padding: 21px!important; }
  .journal-numbers .value { font-size: 41px; }
  .coach-masthead { padding: 34px; gap: 33px; }
  .coach-masthead h1 { font-size: 57px; }
  .coach-workbench { grid-template-columns: minmax(0, 1.6fr) minmax(245px, .85fr); }
}
@media (max-width: 1050px) {
  .desktop-nav a { font-size: 11px; padding: 11px 10px; }
  .journal-masthead { gap: 18px; }
  .journal-person { width: 34px; height: 34px; }
  .journal-feature { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 18px; }
  .journal-welcome h1 { font-size: 62px; }
  .journal-welcome-note { max-width: 240px; }
  .journal-session { padding: 29px; }
  .journal-session h2 { font-size: 43px; max-width: 95%; }
  .journal-session p { max-width: 96%; }
  .journal-session-action { gap: 13px; }
  .journal-coach { padding: 24px; }
  .journal-coach h2 { font-size: 29px; }
  .journal-coach-count { font-size: 48px; }
  .journal-numbers .stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .journal-numbers .stat-top { font-size: 10px; }
  .journal-numbers .stat-top .icon { display: none; }
  .journal-numbers .value { font-size: 36px; }
  .journal-history-grid { grid-template-columns: 1fr; }
  .journal-paper { padding: 25px; }
  .journal-days { gap: 6px; }
  .journal-day > strong { font-size: 11px; }
  .journal-day-state { font-size: 9px; }
  .coach-workbench { grid-template-columns: 1fr; }
  .coach-context { padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: #edf1e4; }
  .coach-basis-number { margin-block: 22px; }
  .coach-context-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; }
  .coach-context > p { max-width: 680px; }
  .coach-masthead { gap: 26px; }
  .coach-masthead h1 { font-size: 51px; }
  .coach-masthead-goal { font-size: 25px; }
  .coach-masthead-data { padding-left: 25px; }
  .coach-masthead-footer { gap: 20px; }
  .coach-masthead-footer strong { font-size: 29px; }
  .library-grid { gap: 19px; }
  .library-card-copy { padding: 18px; }
  .library-card h2 { font-size: 25px; }
  .analytics-summary > div { padding: 24px; }
}

/* Mobile has seven fully labeled destinations, never squeezed into a tiny strip. */
@media (max-width: 900px) {
  .journal-masthead { padding: 22px 25px; gap: 18px; }
  .journal-masthead .wordmark { font-size: 35px; }
  .journal-edition { display: block; margin-left: auto; font-size: 8px; text-align: right; padding: 0; border: 0; }
  .journal-person { display: grid; }
  .desktop-nav { display: none; }
  .journal-meta { padding: 12px 25px; gap: 15px; font-size: 9px; }
  .journal-meta .row { gap: 15px; }
  .journal-meta .top-date { display: none; }
  #main { padding: 28px 25px 45px; }
  .layout { padding-bottom: calc(133px + env(safe-area-inset-bottom)); }
  .journal-footer { margin-inline: 25px; padding: 24px 0 25px; font-size: 9px; }
  .journal-footer > span:last-child { font-size: 9px; }
  .bottom-nav { position: fixed; inset: auto 12px 10px; z-index: 30; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); background: #18382ef8; border: 1px solid #47614a; border-radius: 15px; box-shadow: 0 8px 30px #142b242a; backdrop-filter: blur(15px); }
  .bottom-nav a { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 10px 5px; border-radius: 7px; font: 550 11px/1.3 var(--font-sans); color: #c5d3bd; }
  .bottom-nav a > .icon { width: 18px; height: 18px; }
  .bottom-nav a.active { background: var(--lime); color: var(--ink); font-weight: 700; }
  .bottom-nav a:hover { background: #294a3b; color: #fff; }
  .bottom-nav a.active:hover { background: var(--lime); color: var(--ink); }
  .bottom-nav a:nth-child(5), .bottom-nav a:nth-child(6), .bottom-nav a:nth-child(7) { margin-top: 1px; }
  .timer { left: 50%; bottom: calc(137px + env(safe-area-inset-bottom)); }
  #toast { bottom: calc(141px + env(safe-area-inset-bottom)); }
  .journal-feature { grid-template-columns: 1fr; gap: 20px; }
  .journal-session { min-height: 315px; padding: 33px; }
  .journal-session h2 { font-size: 52px; max-width: 90%; }
  .journal-session p { max-width: 75%; }
  .journal-coach { display: grid; grid-template-columns: 1fr 1.2fr; gap: 0 20px; padding: 25px 28px; }
  .journal-coach .journal-section-label { grid-column: 1/-1; margin-bottom: 17px; }
  .journal-coach-count { margin: 0; font-size: 49px; }
  .journal-coach h2 { font-size: 32px; align-self: center; }
  .journal-coach p, .journal-coach .journal-link, .journal-coach > small { grid-column: 1/-1; max-width: none; }
  .journal-coach p { margin: 23px 0 19px; }
  .journal-coach > small { margin-top: 12px; }
  .journal-numbers .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .journal-numbers .stat-top { font-size: 11px; }
  .journal-numbers .stat-top .icon { display: block; }
  .journal-numbers .value { font-size: 43px; }
  .coach-masthead { grid-template-columns: 1fr; padding: 33px; gap: 30px; }
  .coach-masthead h1 { font-size: 59px; }
  .coach-masthead-copy > p { max-width: 510px; }
  .coach-masthead-data { border-left: 0; border-top: 1px solid #ffffff25; padding: 26px 0 0; }
  .coach-masthead-goal { font-size: 28px; }
  .coach-week-strip { max-width: 410px; }
  .coach-masthead-footer { gap: 35px; }
  .coach-masthead-footer strong { font-size: 33px; }
  .coach-report-columns { grid-template-columns: 1fr; }
  .library-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nutrition-days, .nutrition-recipe-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nutrition-heading h1 { font-size: 59px; }
  .nutrition-heading-note { display: none; }
}
@media (max-width: 640px) {
  body { font-size: 14px; }
  .journal-masthead { padding: 20px; }
  .journal-masthead .wordmark { font-size: 33px; }
  .journal-person { width: 32px; height: 32px; font-size: 13px; }
  .journal-edition { font-size: 7px; letter-spacing: .07em; }
  .journal-meta { padding: 11px 20px; font-size: 8px; gap: 10px; min-height: 48px; }
  .journal-meta > span { max-width: 150px; font-size: 8px; line-height: 1.75; }
  .journal-meta b { display: inline; font-size: 8px; margin-left: 6px; }
  .status { max-width: 173px; font-size: 9px; padding: 6px 8px; text-align: left; white-space: normal; }
  #main { padding: 26px 20px 38px; }
  .journal-footer { margin-inline: 20px; font-size: 8px; gap: 13px; flex-wrap: wrap; }
  .journal-footer .wordmark { font-size: 25px; }
  .journal-footer .text-btn { font-size: 11px; }
  .journal-footer > span:last-child { font-size: 8px; }
  .bottom-nav { inset-inline: 8px; bottom: 8px; padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); gap: 3px; border-radius: 12px; }
  .bottom-nav a { min-height: 48px; font-size: 10px; flex-direction: column; gap: 4px; padding: 5px 2px; }
  .bottom-nav a > .icon { width: 17px; height: 17px; }
  .layout { padding-bottom: calc(135px + env(safe-area-inset-bottom)); }
  .page-heading { display: block; margin-bottom: 26px; padding-bottom: 25px; }
  .page-heading .eyebrow { font-size: 9px; margin-bottom: 13px; }
  .page-heading h1 { font: 550 clamp(35px,9vw,48px)/1.06 var(--font-display); letter-spacing: -.045em; }
  .page-heading p { font-size: 13px; margin-top: 15px; }
  .page-heading > .btn { margin-top: 20px; font-size: 12px; min-height: 44px; padding: 11px 15px; }
  .btn, .coach-view .btn { min-height: 44px; font-size: 12px; padding: 11px 15px; border-radius: 8px; }
  .text-btn { min-height: 40px; font-size: 12px; }
  .card, .coach-view .card { border-radius: 11px; padding: 22px; }
  .card-head h2 { font-size: 25px; }
  .card-head h3 { font-size: 17px; }
  .card-head .text-btn { font-size: 11px; }
  .field, .coach-view .field { font-size: 12px; }
  .field input, .field select, .field textarea, select, input:not([type=checkbox]):not([type=file]), textarea,
  .coach-view .field input, .coach-view .field select, .coach-view select, .coach-view input:not([type=checkbox]) { font-size: 16px; min-height: 47px; padding: 12px; }
  .form-grid { gap: 18px 13px; }
  .field small { font-size: 11px; }
  .notice, .compact-note { font-size: 12px; padding: 17px; }
  .notice .btn { font-size: 11px; min-height: 40px; }
  .description, .plan-description { font-size: 13px; }
  .details-note, .hint, .chart-caption { font-size: 12px; }
  .journal-welcome { display: block; margin: 2px 0 29px; }
  .journal-welcome .eyebrow { font-size: 9px; margin-bottom: 18px; }
  .journal-welcome h1 { font-size: clamp(43px,11.8vw,69px); line-height: 1.03; letter-spacing: -.055em; }
  .journal-welcome-note { display: flex; justify-content: space-between; align-items: center; gap: 16px; max-width: none; padding: 0; margin-top: 25px; }
  .journal-cross { display: none; }
  .journal-welcome-note p { font-size: 11px; line-height: 1.8; margin: 0; }
  .journal-welcome-note .btn { font-size: 11px; padding: 11px 12px; min-height: 44px; white-space: nowrap; }
  .journal-welcome-note .btn .icon { width: 15px; }
  .journal-section-label { font-size: 9px; letter-spacing: .06em; gap: 12px; }
  .journal-section-label .text-btn { font-size: 10px; }
  .journal-week { padding-top: 19px; margin-bottom: 23px; }
  .journal-days { grid-template-columns: repeat(7,minmax(104px,1fr)); gap: 7px; overflow-x: auto; overflow-y: hidden; padding-top: 9px; padding-bottom: 6px; margin-top: -3px; scrollbar-width: thin; scrollbar-color: #c5d1b6 transparent; scroll-snap-type: x proximity; }
  .journal-day { padding: 16px 12px 15px!important; min-height: 124px!important; text-align: left; scroll-snap-align: start; }
  .journal-day > div { display: flex; font-size: 10px; margin-bottom: 21px; }
  .journal-day-date { display: inline; font-size: 21px; margin-top: 0; }
  .journal-day > strong { font: 600 12px/1.4 var(--font-sans); }
  .journal-day-state { display: flex; font: 500 10px/1.5 var(--font-sans); margin-top: 6px; }
  .journal-today { top: -7px; left: 12px; transform: none; font-size: 7px; padding: 3px 5px; }
  .journal-feature { gap: 20px; margin-bottom: 24px; }
  .journal-session { padding: 29px 25px; min-height: 310px; border-radius: 11px; }
  .journal-session > .eyebrow { font-size: 9px; }
  .journal-session h2 { font-size: clamp(38px,10vw,53px); max-width: 100%; margin: 23px 0 17px; }
  .journal-session p { font-size: 12px; max-width: 100%; }
  .journal-session-action { gap: 15px; margin-top: 26px; align-items: flex-start; flex-direction: column; }
  .journal-session-action .btn { font-size: 12px; min-height: 46px; padding: 12px 15px; }
  .journal-session-action > span { font-size: 11px; }
  .journal-session-stamp { font-size: 185px; right: 2px; top: 104px; }
  .journal-coach { padding: 23px 24px; grid-template-columns: .9fr 1.1fr; gap: 0 13px; }
  .journal-coach .journal-section-label { margin-bottom: 19px; }
  .journal-coach-count { font-size: 43px; gap: 12px; }
  .journal-coach-count > span { font-size: 8px; letter-spacing: .025em; }
  .journal-coach h2 { font-size: 27px; }
  .journal-coach p { font-size: 12px; margin: 21px 0 17px; }
  .journal-coach > small { font-size: 10px; }
  .journal-link { font-size: 12px; }
  .library-entry { padding: 22px; display: block; margin-bottom: 29px; }
  .library-entry h2 { font-size: 27px; }
  .library-entry p { font-size: 12px; line-height: 1.7; }
  .library-entry .btn { margin-top: 19px; font-size: 12px; }
  .journal-onboarding { display: block; padding: 24px; margin-bottom: 25px; border-left: 4px solid #9bb672; }
  .journal-onboarding::before { display: none; }
  .journal-onboarding h2 { font-size: 28px; }
  .journal-onboarding p { font-size: 12px; }
  .journal-onboarding > .btn { margin-top: 20px; }
  .journal-numbers { margin-bottom: 28px; }
  .journal-numbers .journal-section-label > span:last-child { font-size: 8px; max-width: 110px; text-align: right; }
  .journal-numbers .stat-grid { gap: 10px; }
  .journal-numbers .stat, .journal-numbers .stat:nth-child(odd), .journal-numbers .stat:first-child, .journal-numbers .stat:last-child { padding: 19px 17px!important; border: 1px solid var(--line); border-radius: 9px; }
  .journal-numbers .stat-top { font-size: 10px; min-height: 34px; align-items: start; }
  .journal-numbers .stat-top .icon { display: none; }
  .journal-numbers .value { font-size: 39px; margin-top: 14px; }
  .journal-numbers .value > span { font-size: 13px; margin-left: 5px; }
  .journal-numbers .stat-foot { font-size: 10px; min-height: 34px; margin-top: 13px; }
  .journal-history-grid { gap: 20px; }
  .journal-paper { padding: 22px; border-radius: 11px; }
  .journal-paper h2 { font-size: 28px; }
  .journal-paper .empty, .journal-paper .empty-chart { min-height: 215px; }
  .journal-paper .table-wrap { margin: 17px -6px 0; }
  .journal-paper .history-meta { font-size: 10px; }
  .empty { min-height: 195px; padding-inline: 0; }
  .empty h3 { font-size: 16px; }
  .empty p { font-size: 12px; }
  .cols, .cols.equal { gap: 20px; grid-template-columns: 1fr; }
  .training-toolbar { gap: 18px; margin-block: 22px; }
  .training-toolbar .tabs { display: flex; flex-wrap: wrap; width: 100%; padding: 5px; gap: 4px; }
  .training-toolbar .tab { flex: 1 0 calc(50% - 5px); padding: 10px 9px; font-size: 11px; min-height: 43px; white-space: normal; }
  .training-toolbar > .field { max-width: none; width: 100%; font-size: 11px; }
  .training-toolbar > .field input { font-size: 16px; min-height: 46px; }
  .exercise-preview { gap: 10px; padding: 18px 0; }
  .exercise-preview strong { font-size: 13px; }
  .exercise-preview small { font-size: 11px; }
  .exercise-number { width: 19px; font-size: 10px; }
  .exercise-target { font-size: 12px; }
  .session-header h2 { font-size: 28px; }
  .session-header .eyebrow { font-size: 9px; }
  .session-header > .between > .btn { font-size: 11px; padding: 10px 12px; min-height: 43px; }
  .session-header p { font-size: 12px; }
  .exercise-card { padding: 22px 18px; margin-bottom: 20px; }
  .exercise-title h3 { font-size: 25px; }
  .exercise-title p { font-size: 12px; }
  .exercise-title .eyebrow { font-size: 9px; }
  .previous { padding: 12px; font-size: 11px; margin: 21px 0 17px; }
  .set-head, .set-row { grid-template-columns: 23px minmax(0,1fr) minmax(0,1fr) minmax(0,.85fr) 40px 24px; gap: 7px; }
  .set-head { font-size: 9px; letter-spacing: 0; }
  .set-row input { min-height: 46px!important; }
  .set-done { width: 40px; height: 46px; border-radius: 7px; }
  .set-remove { width: 24px; min-height: 44px; }
  .exercise-foot .text-btn, .exercise-card summary { font-size: 11px; }
  .calendar .card-head h2 { font-size: 25px; }
  .calendar-grid { grid-template-columns: 1fr; }
  .calendar-day { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 13px; padding: 19px 15px; border-right: 0; border-bottom: 1px solid var(--line); }
  .calendar-date { display: flex; flex-direction: column; align-items: center; margin: 0; gap: 7px; }
  .calendar-date strong { font-size: 27px; }
  .calendar-entry > strong { font-size: 14px; }
  .calendar-entry .btn { width: auto; min-height: 44px; padding: 10px 13px; font-size: 11px; }
  .calendar-rest { align-self: center; margin: 0; font-size: 12px; }
  .calendar-marker { grid-column: 2; }
  .calendar-toolbar .field { min-width: 0; width: 100%; }
  .calendar-footer .btn { width: 100%; }
  .coach-masthead { padding: 28px 25px; gap: 28px; border-radius: 11px; }
  .coach-masthead h1 { font-size: clamp(43px,11vw,61px); }
  .coach-masthead-copy > p { font-size: 13px; }
  .coach-masthead-data { padding-top: 24px; }
  .coach-masthead-goal { font-size: 27px; }
  .coach-masthead-footer { gap: 24px; flex-wrap: wrap; }
  .coach-masthead-footer strong { font-size: 32px; }
  .coach-masthead-footer .coach-time-range { font-size: 27px; }
  .coach-masthead-footer strong > span { font-size: 8px; }
  .coach-masthead-control { font-size: 10px; }
  .coach-view .coach-config { padding: 22px 20px; }
  .coach-settings > summary h2 { font-size: 28px; }
  .coach-form-section { grid-template-columns: 18px minmax(0,1fr); gap: 10px; padding: 24px 0; }
  .coach-section-heading h3 { font-size: 16px; }
  .coach-section-heading > p { font-size: 12px; }
  .coach-form-section .form-grid { grid-template-columns: 1fr; gap: 17px; }
  .coach-equipment { grid-template-columns: 1fr; gap: 14px; }
  .coach-form-actions { padding-left: 0; }
  .coach-form-actions .btn { font-size: 12px; }
  .coach-fieldset legend { font-size: 12px; }
  .coach-focus-choice span { padding: 10px; font-size: 11px; }
  .coach-day-choices { gap: 6px; }
  .coach-choice > span:not(.sr-only) { width: 36px; height: 42px; font-size: 10px; }
  .coach-pref-row { grid-template-columns: minmax(0,1fr) 108px; }
  .coach-pref-row strong { font-size: 11px; }
  .coach-view .coach-pref-row select { font-size: 12px; padding: 10px 6px; }
  .coach-context { padding: 24px; }
  .coach-context-facts { grid-template-columns: 1fr; }
  .coach-context-facts dt { font-size: 12px; }
  .coach-context-facts dd { font-size: 12px; }
  .coach-view .coach-preview { padding: 23px 20px; }
  .coach-preview-heading h2 { font-size: 31px; }
  .coach-proposal-stamp { font-size: 39px; padding-left: 15px; }
  .coach-proposal-stamp small { font-size: 8px; }
  .coach-plan-report { padding: 20px 16px; }
  .coach-report-intro { gap: 12px; }
  .coach-report-intro h3 { font-size: 25px; }
  .coach-report-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 23px 15px; }
  .coach-report-metrics strong { font-size: 31px; }
  .coach-report-metrics span { font-size: 11px; }
  .coach-preview-days, .coach-variants { grid-template-columns: 1fr; }
  .coach-preview-day { padding: 22px 18px; }
  .coach-preview-day h3 { font-size: 24px; }
  .coach-view p { font-size: 12px; }
  .coach-plan .card-head h2 { font-size: 29px; }
  .coach-day > summary h3 { font-size: 24px; }
  .coach-analysis-states p, .coach-analysis-states li, .coach-diff li p, .coach-diff li strong { font-size: 12px; }
  .coach-coverage-note, .coach-secondary, .coach-secondary p, .coach-compromises ul { font-size: 11px; }
  .analytics-summary > div { padding: 21px 17px; }
  .analytics-summary > div > span { font-size: 10px; }
  .analytics-summary strong, .analytics-reading strong { font-size: 37px; }
  .analytics-summary small { font-size: 10px; }
  .analytics-section-head h2, .analytics-grid .analytics-section-head h2 { font-size: 25px; }
  .analytics-section-head p { font-size: 12px; }
  .analytics-performance, .analytics-grid > .card { padding: 22px 19px; }
  .analytics-ranges { margin-top: 17px; grid-template-columns: repeat(4,minmax(0,1fr)); width: 100%; }
  .analytics-ranges button { font-size: 11px; min-height: 41px; padding: 10px 5px; }
  .analytics-inspector { font-size: 11px; padding: 13px; }
  .analytics-note, .analytics-data summary { font-size: 11px; }
  .analytics-tag { font-size: 9px; white-space: normal; text-align: center; }
  .analytics-field { font-size: 12px; }
  table { font-size: 11px; }
  th, .journal-paper table th, .analytics-data th { font-size: 9px; padding: 11px 8px; }
  td { padding: 14px 8px; }
  .history-row .text-btn, .journal-paper .history-row .text-btn { font-size: 11px; }
  .history-meta { font-size: 10px; }
  .setting-section > h2 { font-size: 25px; }
  .setting-section .description { font-size: 13px; }
  .setting-section summary { font-size: 13px; }
  .split-info > div { font-size: 11px; }
  .nutrition-heading { padding: 2px 0 26px; }
  .nutrition-heading h1 { font-size: clamp(41px,11vw,62px); margin: 16px 0 21px; }
  .nutrition-heading p { font-size: 13px; }
  .nutrition-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 5px; gap: 4px; }
  .nutrition-tabs button { padding: 11px 5px; font-size: 11px; min-height: 44px; }
  .nutrition-section-heading { gap: 20px; }
  .nutrition-section-heading h2 { font-size: 29px; }
  .nutrition-section-heading p { font-size: 12px; }
  .nutrition-days, .nutrition-recipe-grid, .nutrition-supplements, .nutrition-grocery-groups { grid-template-columns: 1fr; gap: 20px; }
  .nutrition-day > header, .nutrition-meal, .nutrition-day > footer { padding: 22px; }
  .nutrition-day > header h3 { font-size: 25px; }
  .nutrition-meal-title { font-size: 27px; }
  .nutrition-meal-label { font-size: 10px; }
  .nutrition-meal-label span { font-size: 10px; }
  .nutrition-macros { font-size: 12px; }
  .nutrition-recipe-card h3 { font-size: 28px; min-height: 0; }
  .nutrition-filter { gap: 17px; }
  .nutrition-recipe-card .btn { min-height: 44px; font-size: 12px; }
  .nutrition-home { padding: 26px; gap: 22px; }
  .nutrition-home h2 { font-size: 30px; }
  .nutrition-home p { font-size: 13px; }
  .nutrition-energy-setup h3, .nutrition-target-overview strong, .nutrition-energy-result h3 { font-size: 27px; }
  .nutrition-energy-setup, .nutrition-target-overview, .nutrition-energy-result { padding: 22px; }
  .nutrition-energy-result dl > div { font-size: 12px; }
  .nutrition-progress-cards article { padding: 23px; }
  .nutrition-progress-cards strong { font-size: 33px; }
  .nutrition-day-state, .nutrition-weight-panel { padding: 22px; }
  .nutrition-progress-table td, .nutrition-progress-table th { font-size: 11px; }
  .nutrition-ingredient-input select { font-size: 13px; }
  .nutrition-ingredient-input { grid-template-columns: minmax(0,1fr) 78px 42px; }
  .nutrition-catalog-summary { font-size: 12px; }
  .nutrition-inline-form { padding: 22px; }
  .nutrition-check-grid { grid-template-columns: 1fr; }
  .library-heading { gap: 18px; align-items: flex-end; }
  .library-heading h1 { font-size: clamp(39px,10vw,56px); margin: 16px 0 20px; }
  .library-heading p { font-size: 12px; }
  .library-heading-note { min-width: 65px; padding-left: 15px; margin-bottom: 6px; }
  .library-big-number { font-size: 52px; }
  .library-big-number span { font-size: 8px; line-height: 1.7; margin-bottom: 0; letter-spacing: .04em; }
  .library-heading-note p { display: none; }
  .library-filters { grid-template-columns: 1fr 1fr; gap: 14px; }
  .library-grid { grid-template-columns: 1fr; gap: 22px; }
  .library-card-copy { padding: 22px; }
  .library-card-meta { font-size: 10px; }
  .library-card h2 { font-size: 28px; min-height: 0; }
  .library-card p { font-size: 12px; min-height: 0; }
  .library-card-link { font-size: 11px; }
  .library-duration { left: 13px; bottom: 13px; font-size: 10px; padding: 6px 8px; }
  .library-play { right: 13px; bottom: 13px; width: 40px; height: 40px; }
  .library-results-bar { font-size: 11px; gap: 10px; }
  .library-results-bar .text-btn { font-size: 11px; }
  .library-offline { padding: 26px; grid-template-columns: 1fr; gap: 20px; }
  .library-offline h2 { font-size: 30px; }
  .library-offline p { font-size: 12px; }
  .guide-modal { padding: 21px!important; width: calc(100vw - 20px); }
  .guide-modal .modal-head h2 { font-size: 27px; }
  .guide-live-cue { padding: 17px; }
  .guide-live-cue > span { font-size: 10px; }
  .guide-live-cue > p { font-size: 22px; }
  .guide-muscles { padding: 18px 17px; }
  .guide-muscles h3 { font-size: 11px; }
  .guide-chapters button { font-size: 11px; padding: 14px 9px; }
  .guide-chapters span { font-size: 9px; }
  .guide-controls label { font-size: 11px; }
  .guide-controls select { font-size: 13px; min-width: 140px; }
  .guide-controls .btn { font-size: 11px; min-height: 44px; padding: 10px 12px; }
  .guide-detail h3 { font-size: 26px; }
  .guide-detail li, .guide-cues p, .guide-mistakes p { font-size: 13px; }
  .help-header h1 { font-size: 40px; }
  .help-header p { font-size: 13px; }
  .help-step { gap: 13px; padding-block: 25px; }
  .help-step h3 { font-size: 20px; }
  .help-step p { font-size: 13px; }
  .help-columns h2 { font-size: 26px; }
  .product-help summary { font-size: 13px; }
  dialog { padding: 25px 22px; width: calc(100% - 24px); border-radius: 13px; max-height: calc(100dvh - 32px); }
  .nutrition-dialog { padding: 24px 20px; width: calc(100% - 20px); }
  .modal-head h2 { font-size: 28px; }
  .modal-copy { font-size: 13px; }
  .modal-actions .btn { font-size: 12px; min-height: 44px; }
  .record-exercise strong { font-size: 13px; }
  .record-exercise p { font-size: 12px; }
  .timer { bottom: calc(136px + env(safe-area-inset-bottom)); border-radius: 10px; width: 330px; max-width: calc(100vw - 24px); padding: 13px; }
  .timer strong { font-size: 26px; }
  #toast { bottom: calc(139px + env(safe-area-inset-bottom)); font-size: 12px; max-width: calc(100vw - 28px); }
  #save-alert { margin-inline: 20px; font-size: 12px; }
}
@media (max-width: 390px) {
  #main { padding-inline: 16px; }
  .journal-masthead, .journal-meta { padding-inline: 16px; }
  .journal-masthead { gap: 14px; }
  .journal-edition { font-size: 6.5px; }
  .journal-footer { margin-inline: 16px; }
  .journal-welcome-note { gap: 10px; }
  .journal-welcome-note p { font-size: 10px; }
  .journal-welcome-note .btn { padding-inline: 10px; }
  .journal-session { padding: 27px 23px; }
  .journal-coach { padding: 22px; }
  .journal-coach h2 { font-size: 25px; }
  .journal-coach-count { font-size: 40px; gap: 9px; }
  .journal-coach-count > span { font-size: 7.5px; }
  .journal-numbers .stat, .journal-numbers .stat:nth-child(odd), .journal-numbers .stat:first-child, .journal-numbers .stat:last-child { padding: 18px 14px!important; }
  .journal-numbers .value { font-size: 36px; }
  .card, .coach-view .card { padding: 20px; }
  .exercise-card { padding: 21px 14px; }
  .set-head, .set-row { grid-template-columns: 20px minmax(0,1fr) minmax(0,1fr) minmax(0,.85fr) 37px 24px; gap: 5px; }
  .set-done { width: 37px; }
  .set-remove { width: 24px; }
  .set-head { font-size: 8px; }
  .bottom-nav a { font-size: 9px; }
  .coach-masthead { padding: 26px 22px; }
  .coach-view .coach-config { padding: 21px 17px; }
  .coach-form-section { grid-template-columns: 15px minmax(0,1fr); gap: 8px; }
  .coach-choice > span:not(.sr-only) { width: 32px; height: 42px; }
  .coach-day-choices { gap: 5px; }
  .coach-masthead-footer { gap: 19px; }
  .coach-masthead-footer .coach-time-range { font-size: 24px; }
  .coach-masthead-footer strong { font-size: 30px; }
  .nutrition-meal, .nutrition-day > header, .nutrition-day > footer { padding: 21px; }
  .nutrition-tabs button { font-size: 10px; }
  .nutrition-ingredient-input { grid-template-columns: minmax(0,1fr) 69px 36px; }
  .library-heading-note { min-width: 57px; padding-left: 12px; }
  .library-big-number { font-size: 45px; }
  .library-heading h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none!important; transition: none!important; }
}
@media print {
  body { background: #fff; color: #111; }
  .layout { padding: 0; }
  .journal-masthead, .journal-meta, .journal-footer, .bottom-nav { display: none!important; }
  #main { padding: 0; max-width: none; }
  .card, .journal-paper { box-shadow: none; break-inside: avoid; }
  .journal-days { overflow: visible; grid-template-columns: repeat(7,minmax(0,1fr)); }
  .journal-session { color: #111; background: #eef1e5; }
  .journal-session h2, .journal-session p { color: #111; }
}
