/* Forma / Everyday Athletics. Local type, editorial hierarchy, functional detail. */
:root {
 color-scheme:light; --bg:#f5f3ed; --rail:#f5f3ed; --panel:#fffefa; --panel-raised:#eceae3; --field:#f8f7f2;
 --line:#d5d3ca; --line-quiet:#e4e1d8; --control-line:#9b9c93; --text:#222620; --text-soft:#464940; --muted:#696d63;
 --accent:#c03a1b; --accent-ink:#fff; --accent-surface:#f9e8df; --accent-surface-hover:#f5dacd; --accent-line:#d49980;
 --accent-hover:#ac3014; --hover:#eeece5; --danger:#a83528; --danger-line:#bd7568; --warning:#7b541e; --warning-line:#bc9a68; --warning-surface:#fbf0da;
 --orange:#ed542e; --radius:4px; --sans:'Manrope',Arial,sans-serif; --display:'Barlow Condensed','Arial Narrow',Impact,sans-serif; --mono:var(--sans);
}
html { scroll-padding-top:100px; }
body { font:14px/1.65 var(--sans); background:var(--bg); color:var(--text); }
::selection { color:var(--text); background:#f1ba90; }
:where(button,a,input,textarea,select,summary):focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.site-navigation { position:relative; inset:auto; width:100%; padding:0 max(32px,calc((100vw - 1280px)/2)); min-height:91px; display:flex; flex-direction:row; align-items:center; gap:64px; overflow:visible; border:0; border-bottom:1px solid var(--line); background:var(--bg); }
.brand { display:flex; align-items:center; gap:8px; padding:0; color:var(--text); font:800 italic 43px/1 var(--sans); letter-spacing:-3.7px; }
.brand .brand-star { color:var(--orange); font:500 34px/1 Arial,sans-serif; letter-spacing:0; margin-top:3px; }
nav { display:flex; align-self:stretch; align-items:stretch; gap:31px; margin:0; flex:1; padding:0; overflow:visible; }
nav a { min-height:44px; position:relative; display:flex; align-items:center; padding:0; gap:5px; border:0; border-radius:0; color:var(--muted); font:600 12px/1.4 var(--sans); white-space:nowrap; }
nav a span { font:inherit; }
nav a.active { background:transparent; box-shadow:none; backdrop-filter:none; color:var(--text); }
nav a.active::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:3px; background:var(--orange); }
nav .settings-link { margin-left:auto; }
.nav-caption { font-size:9px; font-weight:700; letter-spacing:.12em; white-space:nowrap; padding-left:22px; border-left:1px solid var(--line); }
main { max-width:1344px; margin:0 auto; padding:0 32px; }
.utility-bar { min-height:56px; display:flex; align-items:center; padding:0; border:0; }
.eyebrow,.mini-label,.action-number { font:700 10px/1.5 var(--sans); letter-spacing:.12em; color:var(--muted); }
.utility-bar>.eyebrow { font-size:9px; letter-spacing:.13em; }
.pill { background:transparent; border:0; padding:0; font:600 9px/1.5 var(--sans); letter-spacing:.07em; color:var(--muted); }
.pill::before { content:''; display:inline-block; width:5px; height:5px; margin-right:7px; border-radius:50%; background:currentColor; vertical-align:middle; }
.pill[data-state="saved"] { color:#506c48; }
h1 { font-family:var(--display); font-size:clamp(48px,5.6vw,76px); line-height:.98; letter-spacing:-.02em; text-transform:uppercase; font-weight:700; margin:10px 0 0; text-wrap:balance; }
h2 { font:700 22px/1.2 var(--sans); letter-spacing:-.05em; }
h3 { font:700 17px/1.3 var(--sans); letter-spacing:-.035em; }
p { color:var(--muted); }
.intro { padding:29px 0 34px; border-bottom:1px solid var(--line); margin-bottom:28px; }
.intro p { margin-top:17px; font-size:14px; }
.intro>.eyebrow { color:var(--accent); }
.card { border:1px solid var(--line); background:var(--panel); padding:26px; box-shadow:none; border-radius:var(--radius); }
.card h2 { margin-bottom:16px; }
button,.button { min-height:44px; padding:11px 17px; border:1px solid var(--line); border-radius:3px; background:transparent; color:var(--text); font:600 12px/1.5 var(--sans); box-shadow:none; gap:15px; }
.primary,button.primary,.button.primary { background:var(--text); color:var(--panel); border-color:var(--text); }
.danger { color:var(--danger); border-color:var(--danger-line); }
input,select,textarea { font-family:var(--sans); font-size:14px; border-radius:3px; background:var(--field); border-color:var(--control-line); }
input[type="checkbox"] { accent-color:var(--accent); }
label { font:600 12px/1.5 var(--sans); margin-top:19px; }
.small { font-size:12px; }
summary { font-size:13px; }
.secondary-panel { padding:0; }
.secondary-panel>summary { padding:20px 24px; font-size:15px; letter-spacing:-.025em; font-weight:700; }
.secondary-panel>summary>.small { margin:4px 0 0 0; font-size:12px; letter-spacing:0; }
.secondary-content { padding:0 24px 24px; }
#notice:not(:empty) { border-radius:3px; background:var(--accent-surface); border-color:var(--accent-line); color:var(--text); box-shadow:none; }
.banner { border-radius:3px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.section-heading h2 { margin:0; font-size:17px; letter-spacing:-.035em; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:17px; min-height:36px; color:var(--text); font-size:11px; font-weight:700; text-decoration:none; }
.text-link>span { font-size:17px; font-weight:400; }
/* The daily view uses a composition, not a wall of cards. */
.daily-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:20px 0 33px; }
.daily-heading h1 { font-size:clamp(60px,6vw,84px); margin:10px 0 0; line-height:.9; font-weight:800; }
.daily-heading h1 span { color:var(--muted); }
.today-date { display:flex; align-items:center; gap:16px; padding-bottom:5px; }
.date-number { font:600 83px/.9 var(--display); letter-spacing:-.035em; border-right:1px solid var(--line); padding-right:18px; }
.today-date>div { display:flex; flex-direction:column; }
.today-date strong { font-size:13px; }
.today-date>div>span { font-size:12px; color:var(--muted); }
.today-date .date-local { font-size:8px; letter-spacing:.1em; margin-top:8px; }
.today-layout { display:grid; grid-template-columns:minmax(0,1.95fr) minmax(310px,1fr); gap:32px; }
.training-feature { display:grid; grid-template-columns:.95fr 1fr; min-height:365px; background:var(--text); overflow:hidden; border-radius:3px; }
.feature-copy { display:flex; flex-direction:column; align-items:flex-start; padding:29px 29px 20px; min-width:0; }
.feature-copy>.eyebrow { color:#c2c9bb; font-size:8px; letter-spacing:.1em; }
.feature-copy h2 { color:#f8f6f0; font:700 clamp(44px,4.1vw,59px)/.98 var(--display); text-transform:uppercase; letter-spacing:-.01em; margin:30px 0 15px; }
.feature-copy p { font-size:12px; line-height:1.75; color:#c8cdc2; margin:0 0 23px; max-width:30ch; }
.feature-copy .primary { background:var(--orange); border-color:var(--orange); color:#171c16; font-weight:800; padding:12px 17px; font-size:11px; min-height:45px; }
.feature-index { margin-top:auto; display:flex; justify-content:space-between; gap:18px; width:100%; color:#b4bbab; font-size:8px; font-weight:600; letter-spacing:.08em; padding-top:29px; }
.feature-photo { position:relative; margin:0; min-width:0; overflow:hidden; }
.feature-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:51% 55%; }
.feature-photo figcaption { position:absolute; left:15px; right:15px; bottom:16px; display:flex; justify-content:space-between; color:white; text-shadow:0 1px 6px #000; font-size:8px; letter-spacing:.13em; font-weight:700; }
.feature-photo figcaption span { font-size:16px; }
.daily-ledger { padding:8px 0 0; display:flex; flex-direction:column; }
.daily-ledger>.section-heading { padding-bottom:21px; border-bottom:1px solid var(--line); }
.live-dot { width:5px; height:5px; border-radius:50%; background:var(--orange); }
.ledger-row { display:flex; align-items:center; gap:13px; padding:22px 0; border-bottom:1px solid var(--line); color:var(--text); text-decoration:none; }
.ledger-icon { color:var(--muted); }
.ledger-icon .icon { width:20px; height:20px; }
.ledger-label { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:700; }
.ledger-label small { font-size:10px; font-weight:400; color:var(--muted); }
.ledger-row>strong { font:600 36px/1 var(--display); margin-left:auto; display:flex; align-items:baseline; gap:5px; white-space:nowrap; }
.ledger-row>strong small { font:500 9px/1 var(--sans); color:var(--muted); }
.ledger-row>span:last-child { font-size:15px; color:var(--muted); }
.ledger-note { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:18px; font-size:9px; color:var(--muted); }
.ledger-note>span { font-size:22px; line-height:1; }
.week-strip { display:grid; grid-template-columns:300px 1fr; align-items:center; gap:30px; padding:23px 0; margin-top:29px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.week-caption h2 { font-size:21px; margin:8px 0 2px; }
.week-caption h2 span { font-size:12px; font-weight:500; letter-spacing:-.01em; color:var(--muted); }
.week-caption .text-link { font-size:10px; }
.week-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; list-style:none; padding:0; margin:0; }
.week-day { display:flex; flex-direction:column; align-items:center; gap:5px; margin:0; padding:8px 4px; border:1px solid transparent; border-radius:3px; color:var(--muted); font-size:10px; }
.week-day strong { font:600 29px/1.1 var(--display); color:var(--text); }
.week-day.is-today { background:#e9e7df; border-color:var(--line); color:var(--text); }
.day-marker { font-size:12px; color:#777c70; line-height:1; }
.week-day.is-today .day-marker { color:var(--orange); }
.day-marker.is-complete { color:var(--accent); }
.daily-bottom { display:grid; grid-template-columns:minmax(0,1.95fr) minmax(310px,1fr); gap:32px; padding:32px 0; }
.journal-panel>.section-heading { padding-bottom:23px; border-bottom:1px solid var(--line); }
.journal-panel .section-heading .eyebrow { display:block; font-size:8px; margin-bottom:7px; }
.journal-empty { display:flex; align-items:center; gap:25px; min-height:210px; padding:25px; }
.empty-mark { font:300 50px/1 var(--sans); color:var(--muted); width:65px; height:82px; display:grid; place-items:center; border:1px solid var(--line); transform:rotate(-6deg); flex-shrink:0; background:var(--panel); }
.journal-empty h3 { font-size:19px; margin:0; }
.journal-empty p { font-size:12px; margin:8px 0; max-width:36ch; }
.journal-entry { display:flex; align-items:center; gap:17px; padding:17px 0; text-decoration:none; color:var(--text); border-bottom:1px solid var(--line); }
.entry-icon { display:grid; place-items:center; width:36px; height:36px; background:var(--panel-raised); }
.entry-icon .icon { width:17px; }
.journal-entry>span:nth-child(2) { flex:1; min-width:0; }
.journal-entry strong { font-size:12px; display:block; overflow-wrap:anywhere; }
.journal-entry small,.journal-entry time { font-size:10px; color:var(--muted); }
.journal-entry small { display:block; margin-top:4px; }
.reset-panel { position:relative; overflow:hidden; background:#e8e9df; padding:25px 29px; border-radius:3px; }
.reset-panel .eyebrow { font-size:8px; }
.reset-mark { position:absolute; right:21px; top:57px; font:400 92px/1 Arial,sans-serif; color:#b0b79e; }
.reset-panel h2 { position:relative; font:600 43px/.98 var(--display); text-transform:uppercase; letter-spacing:-.01em; margin:23px 0 15px; }
.reset-panel p { font-size:11px; margin:0 0 12px; position:relative; max-width:28ch; }
.reset-panel .text-link { border-top:1px solid #c6cbbb; display:flex; padding-top:12px; position:relative; }
.quick-bar { display:flex; align-items:center; gap:26px; padding:19px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.quick-bar>.eyebrow { font-size:8px; margin-right:auto; }
.quick-bar a { display:flex; gap:25px; align-items:center; color:var(--text); text-decoration:none; font-size:11px; font-weight:700; }
.quick-bar a>span { color:var(--accent); font-size:17px; }
.quick-bar button { min-height:34px; font-size:10px; padding:7px 12px; }
footer { display:flex; align-items:center; border:0; padding:28px 0; margin:0; font-size:10px; }
footer>span { margin-right:auto; }
footer a { color:var(--muted); text-decoration:none; }
.footer-wordmark { font:800 italic 24px/1 var(--sans); color:var(--text); letter-spacing:-2px; margin-right:12px; }
.footer-wordmark span { color:var(--orange); font-style:normal; font-size:20px; margin-left:5px; }
/* Shared views retain every form and disclosure, with lighter framing. */
.food-week button,.food-tabs button { border-radius:3px; }
.food-week { gap:8px; }
.practice-grid { gap:20px; }
.practice-grid .card { border:0; border-top:2px solid var(--text); border-radius:0; background:transparent; padding:23px 0; }
.practice-grid h3 { font:600 31px/1.1 var(--display); text-transform:uppercase; letter-spacing:0; }
.practice-equipment { background:#eeece4; border-radius:2px; padding:14px 16px; }
.practice-grid button { align-self:flex-start; min-width:180px; }
.library-modes { border-bottom:1px solid var(--line); padding-bottom:0; gap:28px; }
.library-modes button { border:0; border-bottom:3px solid transparent; border-radius:0; padding:15px 0; background:transparent; font-size:14px; }
.library-modes button[aria-pressed="true"] { background:transparent; border-color:var(--orange); color:var(--text); box-shadow:none; }
.practice-switch { background:transparent; padding:0; border:0; gap:8px; }
.practice-switch button { border-radius:3px; }
.practice-switch button[aria-pressed="true"],.support-choices button[aria-pressed="true"] { background:var(--text); color:var(--panel); border-color:var(--text); box-shadow:none; }
.practice-guidance { border-left:1px solid var(--control-line); padding-left:17px; }
.practice-guidance>p { font-size:12px; }
.practice-guidance details p { font-size:12px; }
.catalogue-item { border-radius:0; background:transparent; border-left:0; border-right:0; }
.catalogue-item>summary { padding-left:0; padding-right:8px; }
.catalogue-item>summary strong { font-size:15px; }
.catalogue-item[open]>summary { background:var(--panel-raised); padding-left:18px; }
.walk-card { background:var(--text); color:var(--panel); border-color:var(--text); }
.walk-card p,.walk-card .eyebrow,.walk-card .timer,.walk-card summary { color:#c8cdc2; }
.walk-card .distance { color:var(--panel); font:600 84px/1 var(--display); }
.walk-card .distance small { color:#c8cdc2; }
.walk-card button.primary { background:var(--orange); color:var(--text); border-color:var(--orange); }
.walk-card button { color:var(--panel); border-color:#686e60; }
.walk-compass { border-color:#686e60; color:#c8cdc2; }
.walk-card details { border-color:#535a4c; }
.support-stack { max-width:900px; }
.support-response { border-radius:0; border-color:var(--orange); background:var(--panel-raised); }
.training-tools { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.training-tools .planner-card,.training-tools .session-record { margin-bottom:24px; }
#daily-output { border-radius:0; }
@media (hover:hover) {
 nav a:hover,nav a.active:hover { color:var(--text); background:transparent; }
 nav a:hover::after { content:''; position:absolute; bottom:-1px; height:3px; left:0; right:0; background:var(--control-line); }
 nav a.active:hover::after { background:var(--orange); }
 button:not(:disabled):hover,.button:hover { color:var(--text); background:var(--hover); border-color:var(--control-line); }
 button.primary:not(:disabled):hover,.button.primary:hover { background:#3e4538; border-color:#3e4538; color:white; }
 .feature-copy .button.primary:hover { background:#ff6b45; border-color:#ff6b45; color:#171c16; }
 .text-link:hover,.quick-bar a:hover { color:var(--accent); }
 .ledger-row:hover .ledger-label,.journal-entry:hover strong { color:var(--accent); }
 .ledger-row:hover>span:last-child,.text-link:hover>span { transform:translate(2px,-2px); }
 .text-link>span,.ledger-row>span:last-child { transition:transform .15s ease; }
 button.danger:hover { color:var(--danger); background:#f9e4de; }
 .walk-card button:hover { color:var(--text); }
}
@media (max-width:1180px) {
 .site-navigation { padding:0 28px; gap:45px; }
 .nav-caption { display:none; }
 nav { gap:28px; }
 main { margin:0 auto; padding:0 28px; }
 .today-layout,.daily-bottom { gap:25px; grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); }
 .feature-copy { padding:25px 22px 20px; }
 .feature-copy h2 { font-size:48px; }
 .feature-index { gap:8px; font-size:7px; }
 .ledger-label { font-size:11px; }
 .ledger-label small { font-size:9px; }
 .ledger-row { gap:9px; }
 .ledger-row>strong { font-size:32px; }
 .quick-bar { gap:20px; }
 .week-strip { grid-template-columns:250px 1fr; }
}
@media (max-width:940px) {
 .site-navigation { gap:34px; }
 nav { gap:22px; }
 .today-layout,.daily-bottom { grid-template-columns:1fr; }
 .daily-ledger { padding-top:5px; }
 .daily-ledger>.section-heading { padding-bottom:12px; }
 .ledger-row { padding:14px 0; }
 .ledger-label { font-size:13px; }
 .ledger-label small { font-size:11px; }
 .ledger-note { padding-top:13px; }
 .training-feature { min-height:370px; grid-template-columns:.8fr 1fr; }
 .feature-copy h2 { font-size:58px; }
 .reset-panel { padding:25px 29px; }
 .reset-panel h2 br { display:none; }
 .reset-panel h2 { font-size:38px; margin-top:18px; }
 .reset-panel p { max-width:none; }
 .reset-mark { top:10px; right:25px; font-size:120px; opacity:.5; }
 .reset-panel .text-link { margin-top:20px; }
 .quick-bar { flex-wrap:wrap; gap:15px 25px; }
 .quick-bar>.eyebrow { flex-basis:100%; }
 .journal-empty { min-height:170px; }
 .daily-heading h1 { font-size:72px; }
 .today-date { gap:10px; }
 .date-number { font-size:64px; padding-right:12px; }
 .two { gap:20px; }
}
@media (max-width:720px) {
 html { scroll-padding-top:20px; }
 .site-navigation { display:block; padding:21px 20px 0; min-height:0; }
 .brand { font-size:34px; letter-spacing:-2.8px; }
 .brand .brand-star { font-size:28px; }
 nav { display:flex; overflow:auto; gap:27px; padding:0; margin-top:17px; scrollbar-width:none; }
 nav::-webkit-scrollbar { display:none; }
 nav a { padding:14px 0; font-size:11px; flex-shrink:0; }
 nav a.active::after,nav a:hover::after { bottom:0; }
 nav a span { display:inline; }
 nav .settings-link { margin-left:0; }
 main { margin:0; padding:0 20px; }
 .utility-bar { min-height:48px; }
 .utility-bar>.eyebrow { font-size:7px; }
 .pill { font-size:7px; max-width:60%; }
 .daily-heading { padding:20px 0 25px; gap:10px; align-items:start; }
 .daily-heading>.eyebrow,.daily-heading .eyebrow { font-size:8px; }
 .daily-heading h1 { font-size:clamp(44px,10.8vw,68px); margin-top:9px; }
 .today-date { padding-top:21px; gap:8px; }
 .date-number { font-size:42px; padding:0; border:0; }
 .today-date>div { display:none; }
 .training-feature { min-height:340px; grid-template-columns:1.05fr .95fr; }
 .feature-copy { padding:23px 17px 18px; }
 .feature-copy>.eyebrow { font-size:7px; max-width:18ch; line-height:1.6; }
 .feature-copy h2 { font-size:42px; margin-top:29px; }
 .feature-copy p { font-size:10px; line-height:1.7; }
 .feature-copy .primary { font-size:10px; padding:10px 12px; gap:15px; }
 .feature-index { font-size:6px; padding-top:27px; }
 .feature-photo figcaption { font-size:6px; left:10px; right:10px; }
 .daily-ledger>.section-heading h2 { font-size:16px; }
 .ledger-row { gap:15px; padding:18px 0; }
 .ledger-row>strong { font-size:34px; }
 .week-strip { grid-template-columns:1fr; gap:16px; margin-top:24px; padding:23px 0; }
 .week-caption { display:grid; grid-template-columns:1fr auto; align-items:center; }
 .week-caption>.eyebrow { grid-column:1/-1; font-size:8px; }
 .week-caption h2 { margin:6px 0 0; }
 .week-caption .text-link { margin-top:6px; }
 .week-days { gap:5px; }
 .week-day { padding:8px 2px; font-size:9px; }
 .week-day strong { font-size:26px; }
 .daily-bottom { padding:25px 0; gap:18px; }
 .journal-panel>.section-heading { gap:15px; padding-bottom:19px; }
 .section-heading h2 { font-size:16px; }
 .journal-panel .text-link { font-size:9px; gap:9px; }
 .journal-panel .section-heading .eyebrow { font-size:7px; }
 .journal-empty { padding:23px 7px; gap:20px; }
 .empty-mark { width:48px; height:65px; font-size:36px; }
 .journal-empty h3 { font-size:17px; }
 .journal-empty p { font-size:11px; }
 .journal-entry { gap:10px; }
 .journal-entry time { max-width:48px; text-align:right; font-size:9px; }
 .quick-bar { display:grid; grid-template-columns:1fr 1fr; gap:16px 22px; }
 .quick-bar>.eyebrow { grid-column:1/-1; }
 .quick-bar a { gap:10px; font-size:10px; justify-content:space-between; }
 .quick-bar button { font-size:9px; padding:8px; }
 footer { flex-direction:row; flex-wrap:wrap; gap:12px; padding:25px 0; font-size:9px; }
 .footer-wordmark { font-size:22px; }
 footer>span { margin:0; }
 footer>a:last-child { margin-left:auto; }
 h1 { font-size:52px; }
 .intro { padding:20px 0 25px; margin-bottom:24px; }
 .intro p { font-size:13px; }
 .card { padding:21px; }
 .secondary-panel { padding:0; }
 .secondary-panel>summary { padding:20px; }
 .secondary-content { padding:0 20px 20px; }
 .training-tools { grid-template-columns:1fr; gap:0; }
 .training-tools .planner-card,.training-tools .session-record { margin-bottom:14px; }
 .training-tools { margin-bottom:14px; }
 input,select,textarea { font-size:16px; }
 .library-modes { gap:20px; }
 .library-modes button { flex:1; font-size:12px; }
 .practice-grid { grid-template-columns:1fr; }
 .practice-grid .card { padding:20px 0; }
 .practice-grid h3 { font-size:30px; }
 .practice-grid button { width:100%; }
 .practice-guidance>p { font-size:11px; }
 .catalogue-item>summary { padding:17px 8px 17px 0; }
 .walk-card .distance { font-size:70px; }
}
@media (max-width:360px) {
 main { padding:0 16px; }
 .site-navigation { padding-left:16px; padding-right:16px; }
 .feature-copy h2 { font-size:37px; }
 .feature-copy { padding-left:14px; padding-right:12px; }
 .feature-copy .primary { padding:10px; gap:8px; }
 .feature-index { flex-direction:column; gap:4px; }
 .daily-heading h1 { font-size:44px; }
 .daily-heading>.today-date { display:none; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
@media (forced-colors:active) { .feature-copy,.walk-card { background:Canvas; color:CanvasText; } .feature-copy h2,.feature-copy p { color:CanvasText; } }
.daily-assistant { border:1px solid var(--line); margin-bottom:24px; border-radius:3px; }
.daily-assistant>summary { padding:16px 23px; font-size:13px; }
.daily-assistant>summary>.small { display:inline; margin-left:15px; font-size:11px; }
.daily-assistant>.card { margin:0; border:0; border-top:1px solid var(--line); background:transparent; }
.practice-switch button[aria-pressed="true"] span { color:#e5d4c8; }
@media (max-width:720px) {
 .daily-assistant>summary>.small { display:block; margin-left:0; margin-top:5px; }
 .reset-panel h2 { max-width:80%; line-height:1.05; }
}
.food-workspace { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:32px; align-items:start; margin-bottom:24px; }
.food-workspace .food-layout { display:block; margin:0; }
.food-workspace .camera-card { margin-top:18px; }
.food-overview .food-slots { display:block; }
.food-overview .meal-slot { margin:0; padding:19px 0; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; }
.food-overview .meal-slot h3 { font-size:16px; }
.food-overview .meal-slot .section-top { margin-bottom:10px; }
.food-overview .meal-slot .empty { padding:0; font-size:12px; }
.food-overview .food-summary { margin-bottom:6px; }
@media (max-width:940px) { .food-workspace { grid-template-columns:1fr; gap:25px; } }
@media (max-width:720px) {
 .feature-copy h2 { font-size:clamp(29px,8.7vw,42px); }
 .feature-photo figcaption { font-size:7px; }
}
/* Guided training inherits the quiet paper-and-ink layout. */
.workout-player {border:1px solid var(--line,#d6d6cc);border-top:4px solid #ed542e;background:#faf9f5;padding:clamp(22px,4vw,48px);margin:0 0 32px;scroll-margin-top:30px;}
.workout-player .section-top{gap:24px;align-items:start;}
.workout-player h2{margin:8px 0 24px;max-width:700px;}
.session-clock{display:grid;gap:4px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
#session-elapsed{font-size:30px;font-weight:600;}
.workout-player progress{display:block;width:100%;height:5px;accent-color:#ed542e;border:0;margin:6px 0 30px;}
.workout-player progress::-webkit-progress-bar{background:#deded5;}
.workout-player progress::-webkit-progress-value{background:#ed542e;}
.session-step{max-width:760px;}
.session-step h3{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:14px 0;}
.session-dose{font-weight:600;}
.session-step>ol{padding-left:22px;line-height:1.9;}
.session-rest{display:flex;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid #dddcd4;margin:28px 0 16px;padding-top:20px;}
.session-rest>span{min-width:220px;font-variant-numeric:tabular-nums;}
.session-footer{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:28px;border-top:1px solid #dddcd4;padding-top:20px;}
.session-footer .small{margin:0;max-width:440px;}
.activity-context{border-left:2px solid #ed542e;padding:8px 0 8px 16px;line-height:1.7;}
.workout-player select{max-width:460px;}
@media(max-width:620px){.workout-player .section-top{display:block;}.session-clock{text-align:left;margin-bottom:20px;}.session-footer{align-items:start;flex-direction:column;}.workout-player .actions>button{flex:1 1 140px;}}

/* Small screens: every destination is visible, controls fit fingers, copy wraps. */
@media (max-width:800px) {
 html { scroll-padding-top:20px; }
 body { font-size:16px; }
 .site-navigation { display:block; padding:18px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left)); }
 .brand { font-size:34px; width:max-content; margin-bottom:16px; }
 .nav-caption { display:none; }
 .site-navigation nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:0 8px; overflow:visible; margin:0; padding:0; }
 .site-navigation nav a { justify-content:center; min-height:48px; padding:10px 4px; font-size:13px; white-space:normal; text-align:center; }
 .site-navigation nav .settings-link { margin-left:0; }
 main { padding:0 max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
 .utility-bar { gap:12px; flex-wrap:wrap; padding:12px 0; min-height:52px; }
 .utility-bar>.eyebrow,.pill { font-size:10px; }
 .intro p,.practice-guidance>p,.journal-empty p,.food-overview .meal-slot .empty { font-size:14px; }
 .small,.secondary-panel>summary>.small,.daily-assistant>summary>.small { font-size:13px; line-height:1.65; }
 label,summary { font-size:14px; }
 input,select,textarea { font-size:16px; min-width:0; max-width:100%; }
 input:not([type="checkbox"]):not([type="radio"]),select { min-height:48px; }
 textarea { min-height:112px; resize:vertical; }
 button,.button { min-height:48px; font-size:14px; white-space:normal; overflow-wrap:anywhere; touch-action:manipulation; }
 input[type="checkbox"],input[type="radio"] { min-width:22px; min-height:22px; }
 .text-link,footer a { min-height:44px; align-items:center; display:inline-flex; }
 .actions { gap:10px; flex-wrap:wrap; }
 .actions>button,.actions>.button { flex:1 1 140px; }
 .coach-card,.secondary-content,.workout-player,.practice-grid .card { min-width:0; }
 .coach-card { padding:20px; }
 .assistant-prompts { display:grid; grid-template-columns:1fr; }
 .assistant-prompts button { text-align:left; width:100%; }
 .conversation-message { max-width:100%; overflow-wrap:anywhere; }
 .conversation-message p { font-size:15px; line-height:1.75; }
 .practice-grid h3,.workout-player h2,.session-step h3 { overflow-wrap:anywhere; }
 .practice-grid h3 { font-size:30px; }
 .library-modes { gap:12px; }
 .library-modes button { font-size:13px; min-width:0; }
 .practice-filters,.planner-fields { grid-template-columns:minmax(0,1fr); }
 .session-rest>span { min-width:0; width:100%; }
 .session-footer { flex-direction:column; align-items:stretch; }
 .session-footer button { width:100%; }
 .source-link,.exercise-source,.human-support a { overflow-wrap:anywhere; }
 .human-support .actions { display:grid; grid-template-columns:minmax(0,1fr); }
 .daily-heading h1 { font-size:clamp(44px,12vw,76px); }
 .quick-bar a,.quick-bar button { font-size:13px; min-height:48px; }
 footer { font-size:12px; }
}
@media (max-width:420px) {
 .food-week { grid-template-columns:repeat(4,minmax(44px,1fr)); overflow:visible; }
}

/* Keep navigation reachable without giving up the reading width on phones. */
[data-human-help] { display:inline-flex; align-items:center; min-height:48px; max-width:100%; padding:8px 0; }
@media (max-width:800px) {
 html { scroll-padding-top:calc(112px + env(safe-area-inset-top)); }
 .site-navigation {
  position:sticky; top:-68px; z-index:20;
  padding-top:calc(18px + env(safe-area-inset-top));
  background:var(--bg);
 }
 .site-navigation .brand { line-height:34px; }
 .site-navigation nav { background:inherit; }
 .site-navigation nav a.active { background:rgba(190,58,29,.055); }
 :is(input,select,textarea,summary,button,[tabindex="-1"]) { scroll-margin-block:16px; }
 .food-date-bar .actions { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; gap:10px; }
 .food-date-bar .actions>button { width:100%; min-width:0; padding:10px; }
 .card.recipe-library { padding:0; }
 .recipe-library>summary { padding:18px 16px; }
 .recipe-browser-content { padding:0 16px 16px; }
 .meal-idea-grid { grid-template-columns:minmax(0,1fr); gap:0; }
 .meal-idea-grid .meal-idea { padding:22px 0; border:0; border-top:1px solid var(--line); background:transparent; border-radius:0; }
 .meal-idea-grid .meal-idea:last-child { padding-bottom:0; }
 .meal-idea h3 { font-size:21px; line-height:1.35; }
 .meal-idea>button { width:100%; margin-top:18px; }
 .meal-idea details a,.exercise-source a,.source-link { display:inline-flex; align-items:center; min-height:44px; }
 summary { min-height:48px; align-content:center; }
 .conversation-thread { max-height:none; overflow:visible; overscroll-behavior:auto; }
 .conversation-message.from-user { margin-left:0; }
 .section-assistant>summary { flex-wrap:wrap; gap:4px 12px; padding-bottom:8px; }
 .section-assistant>summary .small { margin:0; }
 .workout-player { padding:20px 16px; }
 .practice-grid .card { padding:22px 18px; }
}
/* A short landscape screen needs its full height for the form or exercise. */
@media (max-width:800px) and (max-height:500px) {
 html { scroll-padding-top:16px; }
 .site-navigation { position:relative; top:auto; }
}

.connection-banner {border-left:3px solid var(--accent,#b83d24);background:#eee8db;padding:16px 20px;margin-top:16px;font-size:14px;line-height:1.6;}
.welcome-panel {border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin:0 0 32px;display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;}
.welcome-panel h2 {font-size:32px;margin:10px 0;}
.welcome-panel p {max-width:540px;}
.welcome-panel>.small {grid-column:1/-1;margin:0;}
.welcome-steps {padding:0;margin:0;list-style:none;}
.welcome-steps li {display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;}
.welcome-steps li:last-child {border:0;}
.welcome-steps li>span {font-size:11px;color:var(--muted);}
.welcome-steps a {color:inherit;text-decoration:none;display:block;min-height:48px;flex:1;}
.welcome-steps small {display:block;margin-top:4px;color:var(--muted);font-size:13px;}
.help-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.help-grid .card {margin:0;min-width:0;}
.help-grid h2 {font-size:27px;margin-bottom:18px;}
.help-grid p,.help-grid li,.policy-copy p {font-size:15px;line-height:1.8;}
.help-grid a,.policy-copy a {overflow-wrap:anywhere;}
.policy-copy {max-width:840px;margin:0 auto 40px;}
.policy-copy h2 {font-size:25px;margin:32px 0 12px;}
.policy-copy h2:first-child {margin-top:0;}
.privacy-links,.footer-links {display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.privacy-links {margin-bottom:24px;}
.public-page main {max-width:1160px;margin:auto;}
.public-page .site-navigation {min-height:90px;justify-content:space-between;}
.public-page .brand {margin:0;}
.public-page .intro {margin-top:50px;}
@media(max-width:800px){
 .welcome-panel,.help-grid {grid-template-columns:minmax(0,1fr);}
 .welcome-panel {gap:12px;padding:22px 0;}
 .help-grid {gap:16px;}
 .help-grid .card,.policy-copy {padding:22px 18px;}
 .help-grid h2 {font-size:25px;}
 .help-grid a:not(.button),.policy-copy a:not(.button) {display:inline-block;padding-block:8px;}
 .public-page .site-navigation {position:relative;top:auto;display:flex;padding-block:20px;}
 .privacy-links>.button {flex:1 1 160px;}
 .footer-links {gap:8px 18px;}
}

/* Give each task a clear place, with secondary choices opened on demand. */
body { font-size:15px; line-height:1.75; }
.intro { padding:36px 0 40px; margin-bottom:36px; }
.intro p { font-size:15px; max-width:58ch; line-height:1.8; }
.small { font-size:13px; }
.quick-bar button { min-height:44px; }
.card { padding:30px; margin-bottom:28px; }
.secondary-panel { padding:0; }
.secondary-panel>summary { padding:23px 26px; line-height:1.55; }
.secondary-panel>summary>.small { display:block; margin:5px 0 0; font-weight:400; }
.secondary-content { padding:0 26px 28px; }
.training-tools { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:42px; }
.training-tools>.planner-card,.training-tools>.session-record,.training-tools>.daily-assistant { margin:0; min-width:0; background:transparent; }
.training-tools>details[open] { grid-column:1/-1; }
.training-tools>details>summary { padding:21px 22px; font-size:15px; }
.training-tools>details>summary>.small { display:block; margin:5px 0 0; font-size:12px; font-weight:400; }
.training-tools .daily-assistant>.card { margin:0; padding:28px; }
.library-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px 32px; border-bottom:1px solid var(--line); margin-bottom:26px; }
.library-toolbar .library-modes { margin:0; border:0; gap:30px; min-width:0; }
.library-toolbar .library-modes button { padding:18px 0; gap:12px; font-size:15px; }
.library-modes button>span { color:var(--muted); font-size:12px; font-weight:400; }
.library-toolbar .practice-switch { margin:0; padding:8px 0; }
.library-toolbar .practice-switch button { min-width:110px; gap:20px; }
.practice-filters { gap:24px; margin-bottom:28px; max-width:900px; }
.practice-filters label { margin-bottom:10px; }
.practice-guidance { max-width:none; border:0; border-left:2px solid var(--line); margin:0 0 36px; padding:0 0 0 18px; }
.practice-guidance>summary { padding:3px 0; min-height:48px; font-size:13px; color:var(--text-soft); cursor:pointer; }
.practice-guidance>summary strong { font-weight:600; }
.practice-guidance>summary span { display:block; margin-top:3px; color:var(--muted); font-weight:400; }
.practice-guidance>p { max-width:80ch; font-size:14px; margin:16px 0; line-height:1.8; }
.practice-category-heading { gap:12px 24px; }
.practice-category-heading h2 { font-size:25px; letter-spacing:-.035em; }
.practice-intro { max-width:65ch; margin:14px 0 26px; font-size:14px; }
.practice-grid { gap:28px 38px; }
.practice-grid .card { padding:28px 0; }
.practice-grid h3 { font-size:34px; line-height:1.1; margin:16px 0 14px; }
.practice-grid .practice-focus { line-height:1.8; margin-bottom:24px; }
.practice-grid .practice-equipment { padding:17px 19px; line-height:1.7; margin-bottom:22px; }
.practice-grid summary { padding-block:16px; line-height:1.7; }
.practice-grid button { min-height:48px; margin-top:20px; }
.practice-grid button+button { margin-top:10px; }
.library-context { margin:-12px 0 26px; padding:0; border:0; max-width:75ch; }
.library-context>summary { min-height:44px; padding:8px 0; color:var(--muted); font-size:13px; }
.library-context p { margin:6px 0 16px; }
.catalogue-item>summary { padding:24px 12px 24px 0; gap:24px; }
.catalogue-item>summary strong { font-size:17px; line-height:1.5; }
.catalogue-equipment { margin-top:7px; }
.catalogue-detail { padding:22px 24px 30px; max-width:80ch; }
.catalogue-detail p,.catalogue-detail li { line-height:1.8; }
.catalogue-detail .demo-steps li { margin-block:16px; }
.catalogue-footer { padding:18px 0; margin:20px 0 38px; }
.food-workspace { gap:48px; margin:32px 0 42px; }
.food-overview .meal-slot { padding:25px 0; }
.food-overview .meal-slot .empty { background:transparent; border:0; margin-top:14px; }
.food-overview .food-summary { margin:0 0 12px; }
.food-date-bar { margin-bottom:24px; }
.food-view-bar { margin-top:26px; }
.food-week { gap:10px; }
.food-week button { background:transparent; border-color:transparent; }
.food-week button:not([aria-pressed="true"]):hover { border-color:var(--line); }
.meal-details .fields { gap:20px; }
.meal-details label { margin-top:24px; }
.meal-details .section-top { gap:14px; flex-wrap:wrap; }
.meal-details .section-top>.mini-label { padding:0; border:0; text-align:left; }
.recipe-library>summary { padding:4px 0; }
.recipe-library>summary>.small { display:block; margin-top:4px; }
.meal-idea-grid { gap:24px; }
.meal-idea h3 { font-size:23px; line-height:1.4; margin:12px 0; }
.meal-idea>p { line-height:1.8; }
.support-stack,.human-help-panel { max-width:820px; }
.coach-card { padding:34px; }
.coach-card h2 { font-size:28px; line-height:1.3; margin:12px 0 16px; }
.coach-introduction { max-width:65ch; line-height:1.8; }
.coach-human-link { margin:8px 0 18px; }
.assistant-starters { border:0; margin:20px 0; padding:0; }
.assistant-starters>summary { padding:10px 0; min-height:44px; font-size:14px; }
.assistant-prompts { margin:8px 0 18px; gap:10px; }
.assistant-prompts button { padding:12px 16px; }
.coach-output>p { font-size:13px; color:var(--muted); }
.conversation-thread:not(:has(.conversation-message)) { margin:0; }
#coach-form>label { margin-top:24px; }
#coach-message { min-height:132px; line-height:1.75; }
.assistant-sharing { margin:20px 0; }
.assistant-context { margin:0; line-height:1.75; }
.assistant-context-details,.assistant-privacy { border:0; padding:0; margin:8px 0 0; }
.assistant-context-details { margin-left:28px; }
.assistant-context-details>summary,.assistant-privacy>summary { min-height:44px; padding:8px 0; font-size:13px; color:var(--muted); }
.assistant-permission { border-top:1px solid var(--line); padding-top:22px; margin-top:24px; }
.assistant-permission>p { max-width:65ch; margin:0; line-height:1.8; }
.assistant-permission label { margin-top:16px; }
.assistant-feedback { margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }
.human-help-panel { margin:0 0 36px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.human-support { padding:0 26px 28px; }
@media(max-width:1050px) {
 .training-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .training-tools>.daily-assistant { grid-column:1/-1; }
 .library-toolbar { gap:8px 24px; }
 .food-workspace { gap:32px; }
}
@media(max-width:800px) {
 body { font-size:16px; }
 .intro { padding:26px 0 32px; margin-bottom:28px; }
 .intro p { font-size:15px; line-height:1.8; }
 .card { padding:24px 20px; margin-bottom:24px; }
 .secondary-panel { padding:0; }
 .secondary-panel>summary { padding:21px 20px; }
 .secondary-content { padding:0 20px 24px; }
 .training-tools { grid-template-columns:minmax(0,1fr); gap:0; margin-bottom:30px; border-top:1px solid var(--line); }
 .training-tools>.planner-card,.training-tools>.session-record,.training-tools>.daily-assistant { border:0; border-bottom:1px solid var(--line); border-radius:0; }
 .training-tools>details>summary { padding:16px 2px; }
 .training-tools>details>summary>.small { font-size:13px; }
 .training-tools .daily-assistant>.card { padding:24px 20px; }
 .library-toolbar { display:block; padding-bottom:16px; margin-bottom:24px; }
 .library-toolbar .library-modes { gap:24px; }
 .library-toolbar .library-modes button { font-size:14px; flex:1 1 0; gap:8px; padding:16px 0; }
 .library-toolbar .practice-switch { display:flex; padding:16px 0 0; }
 .library-toolbar .practice-switch button { flex:1; min-width:0; }
 .practice-filters { gap:18px; margin-bottom:24px; }
 .practice-guidance { margin-bottom:30px; padding-left:14px; }
 .practice-guidance>summary { font-size:13px; }
 .practice-category-heading { display:block; }
 .practice-category-heading h2 { font-size:23px; }
 .practice-category-heading p { margin-top:8px; }
 .practice-grid { gap:28px; }
 .practice-grid .card { padding:24px 0; margin:0; }
 .practice-grid h3 { font-size:32px; }
 .practice-grid button { width:100%; }
 .catalogue-item>summary { padding:22px 8px 22px 0; gap:14px; }
 .catalogue-item>summary strong { font-size:16px; }
 .catalogue-detail { padding:18px 16px 26px; }
 .catalogue-footer { gap:18px; }
 .food-workspace { margin:28px 0 34px; }
 .food-week { gap:5px; }
 .food-week button { min-height:72px; padding:10px 4px; }
 .food-week button span { font-size:12px; }
 .food-overview .meal-slot { padding:24px 0; }
 .meal-details .fields { gap:18px; }
 .meal-idea-grid { gap:0; }
 .recipe-library>summary { padding:21px 20px; }
 .recipe-browser-content { padding:0 20px 24px; }
 .meal-idea-grid .meal-idea { padding:28px 0; }
 .coach-card { padding:26px 20px; }
 .coach-card h2 { font-size:25px; }
 .assistant-prompts { grid-template-columns:minmax(0,1fr); }
 #coach-message { min-height:144px; }
 .human-support { padding:0 20px 24px; }
}
/* Opening views: clear priorities, less travel before the first action. */
.daily-heading { align-items:center; padding:12px 0 24px; gap:24px; }
.daily-heading h1 { font-size:clamp(44px,4.7vw,64px); line-height:.98; }
.today-date .date-number { font-size:58px; }
.entry-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 24px; }
.entry-actions a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; padding:16px 20px; border:1px solid var(--line); border-radius:3px; background:var(--panel); text-decoration:none; color:var(--text); font-size:14px; font-weight:650; }
.entry-actions a:first-child { background:var(--text); color:var(--panel); border-color:var(--text); }
.entry-actions a>span:last-child { color:var(--accent); font-size:22px; font-weight:400; }
.entry-actions a:first-child>span:last-child { color:#ff9b75; }
.entry-actions a:hover { border-color:var(--text); }
.welcome-panel { display:block; padding:0; margin:0 0 24px; border-top:0; background:transparent; }
.welcome-panel>summary { min-height:48px; padding:8px 0; font-size:13px; cursor:pointer; }
.welcome-panel>summary>span { margin-left:12px; color:var(--muted); }
.welcome-content { display:grid; grid-template-columns:1fr 1fr; gap:16px 40px; padding:8px 0 24px; }
.welcome-content>.small { grid-column:1/-1; margin:0; }
.training-feature { min-height:288px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.feature-copy { padding:24px; }
.feature-copy h2 { font-size:clamp(36px,3.7vw,48px); margin:16px 0 12px; overflow-wrap:anywhere; }
.feature-copy p { font-size:13px; line-height:1.7; margin-bottom:18px; }
.feature-index { padding-top:18px; font-size:9px; }
.daily-ledger { padding-top:0; }
.daily-ledger>.section-heading { padding-bottom:15px; }
.ledger-row { padding:16px 0; }
.ledger-label { font-size:13px; }
.ledger-label small { font-size:11px; }
.ledger-note { font-size:11px; }
.week-strip { grid-template-columns:260px 1fr; margin-top:24px; padding:20px 0; }
.daily-bottom { padding:28px 0; }
.journal-empty { min-height:150px; padding:22px 0; }
.daily-extra { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:24px; }
.daily-extra>summary { cursor:pointer; min-height:52px; padding:12px 0; font-weight:600; }
.daily-extra>summary .small { margin-left:14px; font-weight:400; color:var(--muted); }
.daily-extra .quick-bar { border:0; padding:8px 0 20px; gap:18px 28px; }
/* Space between groups, without an oversized heading before every form. */
.intro { padding:22px 0 26px; margin-bottom:28px; }
.intro h1 { font-size:clamp(42px,4.7vw,64px); line-height:1.02; }
.intro p { margin-top:14px; }
@media(min-width:801px) and (max-width:940px) {
 .today-layout { grid-template-columns:minmax(0,1.65fr) minmax(255px,1fr); gap:28px; }
 .training-feature { grid-template-columns:1fr; }
 .feature-photo { display:none; }
 .feature-copy h2 { font-size:46px; }
 .daily-bottom { grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr); gap:28px; }
}
@media(max-width:800px) {
 .daily-heading { padding:10px 0 20px; align-items:center; }
 .daily-heading h1 { font-size:clamp(38px,8.7vw,54px); }
 .daily-heading .today-date { padding:0; }
 .today-date .date-number { font-size:40px; }
 .entry-actions { gap:10px; margin-bottom:20px; }
 .entry-actions a { min-height:66px; padding:12px; font-size:13px; gap:6px; line-height:1.5; }
 .entry-actions a>span:last-child { font-size:18px; }
 .welcome-panel { margin-bottom:20px; }
 .welcome-panel>summary>span { display:block; margin:3px 0 0; }
 .welcome-content { grid-template-columns:1fr; gap:12px; }
 .training-feature { grid-template-columns:minmax(0,1fr) minmax(0,.55fr); min-height:0; }
 .feature-copy { padding:22px 18px; }
 .feature-copy h2 { font-size:clamp(30px,7vw,42px); margin-top:14px; }
 .feature-copy p { font-size:13px; line-height:1.65; }
 .feature-copy .primary { font-size:12px; min-height:48px; padding:11px 14px; }
 .feature-index { font-size:8px; flex-wrap:wrap; gap:8px; }
 .feature-photo figcaption { display:none; }
 .today-layout { gap:24px; }
 .daily-ledger { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; }
 .daily-ledger>.section-heading,.ledger-note { grid-column:1/-1; }
 .daily-ledger .ledger-row { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:16px 0; }
 .ledger-icon,.ledger-label small,.ledger-row>span:last-child { display:none; }
 .ledger-label { font-size:12px; font-weight:600; }
 .ledger-row>strong { margin:0; font-size:32px; flex-wrap:wrap; gap:4px; }
 .ledger-row>strong small { font-size:11px; }
 .ledger-note { margin:0; padding-top:10px; font-size:11px; }
 .week-strip { grid-template-columns:1fr; gap:12px; margin-top:22px; padding:20px 0; }
 .daily-bottom { padding:24px 0; }
 .reset-panel { padding:22px; }
 .reset-panel h2 { font-size:32px; margin:14px 0 10px; }
 .reset-panel p { font-size:14px; }
 .daily-extra>summary .small { display:block; margin:4px 0 0; }
 .daily-extra .quick-bar { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
 .intro { padding:18px 0 22px; margin-bottom:24px; }
 .intro h1 { font-size:42px; }
}
@media(max-width:360px) {
 .entry-actions { gap:8px; }
 .entry-actions a { padding:10px; font-size:12px; }
 .entry-actions a>span:last-child { display:none; }
 .feature-copy { padding:20px 16px; }
 .training-feature { grid-template-columns:minmax(0,1fr); }
 .training-feature .feature-photo { display:none; }
 .daily-ledger { gap:0 12px; }
 .daily-ledger .ledger-label { font-size:11px; }
}
