/* PILAT / Build mode — native, private and touch-first. */
:root {
  color-scheme: dark;
  --paper: #090d12; --surface: #121820; --surface-raised: #19212c; --white: #0c1118;
  --ink: #f3f6fb; --muted: #a2aebd; --line: #2a3442; --lime: #ccff6b; --lime-dark: #10210a;
  --blue: #88d9ff; --red: #ff9d96; --green-soft: rgba(204,255,107,.09); --blue-soft: rgba(136,217,255,.08);
  --warning-bg: #292219; --warning-line: #6b5431; --warning-ink: #f6d99f;
  --shadow: 0 12px 40px #00000020; --radius: 22px;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-family: var(--font); font-size: 16px; font-weight: 400; line-height: 1.5; color: var(--ink); background: var(--paper);
  -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility;
}
:root[data-theme='light'] {
  color-scheme: light; --paper: #edf1f4; --surface: #fbfcfe; --surface-raised: #e9eef4; --white: #fff;
  --ink: #14202d; --muted: #596879; --line: #cdd7e1; --lime: #bbef5a; --lime-dark: #203504;
  --blue: #006e9b; --red: #a32b2b; --green-soft: #e8f2d5; --blue-soft: #e2f1fb;
  --warning-bg: #fff5df; --warning-line: #e3c88f; --warning-ink: #704c13; --shadow: 0 12px 36px #21395309;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100dvh; background: radial-gradient(ellipse at 90% -5%, #88d9ff05, transparent 42%), var(--paper); }
button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; cursor: pointer; }
button, a, input, select, textarea { touch-action: manipulation; outline-offset: 4px; }
button:disabled { cursor: default; opacity: .5; }
:focus-visible { outline: 3px solid var(--blue); }
/* Dialogs may restore focus to the page container after its contents change. */
#main:focus, #main:focus-visible { outline: none; }
a { color: var(--blue); text-underline-offset: 4px; }
svg { display: block; max-width: 100%; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.13; letter-spacing: -.04em; }
h1 { font-size: clamp(2rem, 6vw, 3.5rem); font-weight: 850; margin-bottom: 12px; }
h2 { font-size: 1.5rem; font-weight: 800; }
h3 { font-size: 1.12rem; font-weight: 750; }
p { margin-bottom: 12px; }
small { font-size: .8rem; }
[hidden] { display: none !important; }
.app-shell { width: min(1100px, 100%); margin: 0 auto; padding: max(16px, env(safe-area-inset-top)) 26px calc(118px + env(safe-area-inset-bottom)); }
.topbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 5px 0 28px; }
.brand { display: flex; align-items: center; gap: 11px; min-width: 0; text-decoration: none; color: var(--ink); }
.brand-mark { width: 42px; height: 42px; background: var(--lime); color: #101708; border-radius: 12px 12px 4px 12px; display: grid; place-items: center; font-size: 1.85rem; font-weight: 950; line-height: 1; letter-spacing: -.1em; flex: 0 0 auto; box-shadow: 0 0 25px #ccff6b08; }
.brand-mark svg { width: 28px; height: 28px; }
.brand-title { font-size: 1.29rem; line-height: 1.1; font-weight: 900; letter-spacing: .17em; }
.brand-caption { display: block; font-size: .58rem; font-weight: 700; color: var(--muted); letter-spacing: .13em; text-transform: uppercase; margin-top: 4px; }
.topbar-actions { display: flex; gap: 7px; align-items: center; }
.theme-toggle { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); color: var(--muted); }
.theme-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.status-pill { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 13px; font-size: .72rem; font-weight: 700; background: var(--surface); color: var(--ink); }
.status-pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--lime); flex: 0 0 auto; box-shadow: 0 0 9px #ccff6b30; }
.status-pill.offline::before { background: #f4bf6b; box-shadow: none; }
.page { animation: page-in .22s ease-out; }
.page-heading { margin: 8px 0 24px; }
.page-heading p { max-width: 660px; }
.eyebrow { display: block; font-size: .67rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 10px; line-height: 1.5; }
.muted, .card-subtitle { color: var(--muted); }
.hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(150px, .7fr); gap: 20px; padding: 32px; background: radial-gradient(ellipse at 85% 45%, #a7ff5720, transparent 54%), linear-gradient(135deg, #1c2722, #131e21 48%, #111820); color: #f3f6fb; border: 1px solid #35453b; border-radius: 27px; overflow: hidden; margin-bottom: 18px; box-shadow: var(--shadow); }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(#ffffff03 1px, transparent 1px), linear-gradient(90deg, #ffffff03 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(90deg, transparent 25%, black 100%); }
.hero::after { content: ''; position: absolute; top: 0; left: 32px; width: 70px; height: 3px; background: #ccff6b; border-radius: 0 0 3px 3px; }
.hero-copy { align-self: center; min-width: 0; position: relative; z-index: 2; }
.hero .eyebrow { color: #ccff6b; }
.hero-title { font-size: clamp(2.1rem, 6.5vw, 3.9rem); font-weight: 900; line-height: .99; letter-spacing: -.055em; margin-bottom: 15px; }
.hero-topline { display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin-bottom: 15px; }
.hero-topline .eyebrow { margin: 0; }
.hero-topline .chip { min-height: 24px; padding: 3px 7px; white-space: nowrap; font-size: .59rem; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 5px 14px; color: #bbccb9; font-size: .7rem; font-weight: 600; margin-top: 16px; }
.hero p, .hero .muted { color: #c0ccce; max-width: 470px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.hero-bodymap { display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; min-width: 0; padding: 0; align-self: center; }
.hero-bodymap img, img.hero-bodymap { width: min(235px, 100%); max-height: 335px; object-fit: contain; filter: drop-shadow(0 0 30px #ccff6b15); }
.bodymap-caption { text-align: center; color: #7da68a; font-size: .56rem; font-weight: 700; letter-spacing: .18em; line-height: 1.7; margin-top: -7px; }
.bodymap-caption strong { color: #ccff6b; font-size: .62rem; }
.hero-orbit { display: flex; flex-direction: column; justify-content: center; align-items: center; align-self: center; justify-self: center; width: min(220px, 100%); aspect-ratio: 1; border: 2px solid #ccff6b; border-radius: 50%; padding: 18px; text-align: center; box-shadow: inset 0 0 0 10px #161e21, inset 0 0 0 11px #657c43, 0 0 25px #ccff6b08; }
.hero-number { font-size: 4.7rem; font-weight: 850; letter-spacing: -.08em; line-height: 1; color: #ccff6b; font-variant-numeric: tabular-nums; }
.hero-number > span { font-size: .42em; font-weight: 650; letter-spacing: -.035em; color: #b5c7b6; }
.hero-label { font-size: .69rem; font-weight: 600; line-height: 1.35; color: #c0ccce; max-width: 150px; margin-top: 8px; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border: 1px solid var(--line); border-radius: 13px; font-weight: 750; line-height: 1.2; text-decoration: none; color: var(--ink); background: var(--surface-raised); text-align: center; transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.button.primary { background: var(--lime); color: #172209; border-color: var(--lime); box-shadow: 0 4px 18px #a6df380d; }
.hero .button.primary { background: #ccff6b; border-color: #ccff6b; }
.button.secondary { background: var(--surface-raised); color: var(--ink); border-color: var(--line); }
.button.ghost { background: transparent; border-color: var(--line); }
.hero .button.ghost { color: #e1e9e3; border-color: #576b5b; }
.button.danger { color: var(--red); border-color: #ad565644; background: #bc454510; }
.button.small { min-height: 44px; padding: 10px 13px; font-size: .8rem; }
.button.full-width { width: 100%; }
.button svg { width: 18px; height: 18px; }
.button:active, .check-button:active, .tab-button:active, .theme-toggle:active { transform: scale(.975); }
.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 27px; }
.metric-card { border: 1px solid var(--line); background: var(--surface); border-radius: 19px; padding: 18px; min-width: 0; position: relative; overflow: hidden; }
.metric-card:first-child { background: linear-gradient(120deg, var(--green-soft), transparent 85%), var(--surface); }
.metric-value { display: block; max-width: 100%; overflow-wrap: anywhere; font-size: 1.85rem; font-weight: 850; line-height: 1.12; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.metric-card > .muted { display: block; font-size: .7rem; line-height: 1.4; margin-top: 9px; }
.metrics-grid:has(> .metric-card:last-child:nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric-value small { font-size: .78rem; font-weight: 600; color: var(--muted); margin-left: 3px; letter-spacing: 0; }
.metric-label { display: block; font-size: .71rem; font-weight: 650; color: var(--muted); margin: 0 0 9px; line-height: 1.35; }
.measure-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 16px 0 22px; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 28px 0 13px; }
.section-heading h2, .section-heading h3 { margin: 0; }
.section-heading h2 { font-size: 1.25rem; }
.section-heading p { margin: 0; font-size: .78rem; color: var(--muted); }
.card { background: linear-gradient(140deg, #ffffff02, transparent 50%), var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 16px; min-width: 0; }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 13px; margin-bottom: 16px; }
.card-header > div { min-width: 0; }
.card h2 { font-size: 1.3rem; margin-bottom: 13px; }
.card-title { margin: 0 0 5px; font-weight: 800; font-size: 1.12rem; }
.card-subtitle { font-size: .84rem; line-height: 1.45; margin: 0; }
.overview-grid, .content-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.workout-list { display: grid; gap: 10px; }
.workout-card { display: flex; align-items: center; gap: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 19px; padding: 18px; text-align: left; color: var(--ink); min-width: 0; width: 100%; }
.workout-card.active, .workout-card.current { border-color: #81b63b80; background: linear-gradient(120deg, var(--green-soft), transparent), var(--surface); }
.workout-index { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: var(--surface-raised); color: var(--muted); font-weight: 800; font-size: .86rem; font-variant-numeric: tabular-nums; }
.workout-card.active .workout-index, .workout-card.current .workout-index { background: var(--lime); color: #172209; }
.workout-meta { flex: 1; min-width: 0; }
.workout-meta h3 { margin: 0 0 5px; }
.workout-meta p { margin: 0; font-size: .78rem; color: var(--muted); }
.workout-card > .button { flex: 0 0 auto; }
.workout-card > div { flex: 1; min-width: 0; }
.workout-card > div > h3 { margin: 0 0 5px; }
.workout-card > div > p { margin: 0 0 7px; font-size: .78rem; }
.workout-card .workout-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .7rem; color: var(--muted); }
.chip { display: inline-flex; align-items: center; min-height: 27px; font-size: .67rem; font-weight: 700; border: 1px solid var(--line); border-radius: 8px; padding: 4px 8px; background: var(--surface-raised); color: var(--muted); line-height: 1.3; }
.chips, .focus-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.hero .chip, .hero .focus-chips > span { border-color: #60735466; background: #ccff6b09; color: #e0eccc; }
.focus-chips > span, .focus-chips > button { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 9px; background: var(--green-soft); border: 1px solid #7ca23f44; border-radius: 7px; color: var(--ink); font-size: .66rem; font-weight: 700; }
.week-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin: 14px 0 14px; }
.day-cell { min-width: 0; min-height: 71px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 8px 3px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-raised); font-size: .66rem; text-align: center; line-height: 1.35; overflow-wrap: anywhere; }
.day-cell strong { display: block; font-size: .78rem; margin-top: 6px; }
.day-cell small { font-size: .58rem; color: var(--muted); }
.day-cell.strength { border-color: #719f3970; background: var(--green-soft); }
.day-cell.rest { color: var(--muted); }
.day-cell.today { outline: 2px solid var(--lime); outline-offset: 2px; }
.session-grid, .cycle-grid, .session-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.session-card { border: 1px solid var(--line); border-radius: 18px; background: var(--surface); padding: 16px; min-width: 0; color: var(--ink); text-align: left; display: flex; flex-direction: column; gap: 7px; }
.session-card h3 { margin: 0; font-size: 1rem; }
.session-card p { margin: 0; color: var(--muted); font-size: .72rem; }
.session-card .button { margin-top: auto; width: 100%; }
.session-card.current, .session-card.active, .session-card.session-next { border-color: #98ce4c80; background: linear-gradient(140deg, var(--green-soft), transparent), var(--surface); }
.session-card > strong { font-size: 1.04rem; letter-spacing: -.035em; line-height: 1.2; }
.session-card > small { font-size: .68rem; color: var(--muted); }
.session-card > span:last-child:not(.session-state) { color: var(--muted); font-size: 1.2rem; margin-top: 8px; align-self: flex-end; }
.session-state { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: .61rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 5px; }
.session-card.current .session-state, .session-card.active .session-state, .session-next .session-state { color: var(--lime); }
[data-theme='light'] .session-next .session-state { color: var(--lime-dark); }
.coach-card { position: relative; background: linear-gradient(115deg, var(--blue-soft), transparent 70%), var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin: 18px 0; overflow: hidden; }
.coach-card::before { content: ''; position: absolute; left: 0; top: 24px; bottom: 24px; width: 3px; border-radius: 0 3px 3px 0; background: var(--blue); }
.coach-head { display: flex; align-items: flex-start; justify-content: flex-start; gap: 12px; margin-bottom: 13px; }
.coach-icon { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; border: 1px solid #88d9ff28; background: var(--blue-soft); color: var(--blue); border-radius: 12px; font-size: 1.1rem; }
.coach-head h2 { margin-top: 5px; margin-bottom: 0; }
.coach-card.caution { background: linear-gradient(115deg, #d0a14710, transparent 70%), var(--surface); }
.coach-card.caution::before { background: var(--warning-ink); }
.coach-head .eyebrow { color: var(--blue); margin: 0; }
.coach-head svg { width: 22px; height: 22px; color: var(--blue); }
.coach-card h2 { font-size: 1.28rem; margin: 0 0 10px; }
.coach-card p { font-size: .84rem; color: var(--muted); margin-bottom: 12px; }
.coach-action { display: flex; align-items: center; gap: 12px; margin-top: 15px; }
.coach-action .button { min-height: 44px; font-size: .8rem; }
.coach-action > p { margin: 0; font-size: .72rem; }
.insight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0 24px; }
.insight-card { padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); min-width: 0; }
.insight-card .eyebrow { color: var(--blue); font-size: .61rem; }
.insight-card h3 { font-size: 1.03rem; margin: 0 0 9px; }
.insight-card p { font-size: .78rem; color: var(--muted); margin: 0; }
.insight-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--blue-soft); color: var(--blue); margin-bottom: 14px; }
.insight-icon svg { width: 18px; height: 18px; }
.muscle-row { display: block; padding: 13px 0; font-size: .78rem; }
.muscle-row + .muscle-row { border-top: 1px solid var(--line); }
.muscle-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.muscle-label strong { font-size: .84rem; font-weight: 650; }
.muscle-label > span { font-variant-numeric: tabular-nums; color: var(--ink); }
.muscle-row > small { display: block; margin-top: 6px; line-height: 1.3; }
.muscle-row > span:last-child, .muscle-row > strong:last-child { text-align: right; font-variant-numeric: tabular-nums; font-size: .75rem; }
.muscle-row small { font-size: .66rem; color: var(--muted); }
.muscle-track { position: relative; height: 7px; background: var(--surface-raised); border-radius: 100px; overflow: hidden; }
.muscle-fill { height: 100%; width: 0; background: linear-gradient(90deg, #83b84f, #ccff6b); border-radius: inherit; transition: width .35s ease; }
.muscle-fill.blue { background: linear-gradient(90deg, #397f9f, #88d9ff); }
.record-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.record-card { position: relative; min-width: 0; border: 1px solid var(--line); border-radius: 18px; padding: 18px; background: linear-gradient(140deg, var(--green-soft), transparent 80%), var(--surface); }
.record-card .eyebrow { color: var(--muted); font-size: .58rem; letter-spacing: .08em; }
.record-label { display: block; color: var(--lime); font-size: .57rem; font-weight: 750; letter-spacing: .085em; margin-bottom: 9px; }
[data-theme='light'] .record-label { color: var(--lime-dark); }
.record-card > small { display: block; font-size: .63rem; color: var(--muted); margin-top: 6px; }
.record-card h3 { font-size: .88rem; margin: 0 0 14px; }
.record-card strong { font-size: 1.65rem; font-weight: 850; letter-spacing: -.05em; font-variant-numeric: tabular-nums; line-height: 1.1; display: block; }
.record-card strong small { font-size: .7rem; color: var(--muted); font-weight: 600; letter-spacing: 0; }
.record-card p { font-size: .7rem; color: var(--muted); margin: 9px 0 0; }
.tabs { position: fixed; z-index: 30; bottom: 0; left: 50%; transform: translateX(-50%); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; width: min(1100px, 100%); background: color-mix(in srgb, var(--paper) 89%, transparent); border-top: 1px solid var(--line); padding: 10px max(12px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right)); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.tab-button { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 55px; padding: 5px 1px; border: 0; border-radius: 13px; background: transparent; color: var(--muted); font-size: .63rem; font-weight: 600; line-height: 1.2; transition: color .18s ease, background .18s ease; }
.tab-button svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.tab-button.active { color: var(--lime); background: var(--green-soft); font-weight: 800; }
[data-theme='light'] .tab-button.active { color: var(--lime-dark); }
.tab-button.active::before { content: ''; position: absolute; top: 0; width: 15px; height: 2px; background: currentColor; border-radius: 3px; }
.tab-button.active svg { stroke-width: 2.1; }
.workout-toolbar { position: sticky; top: max(8px, env(safe-area-inset-top)); z-index: 10; display: block; padding: 15px 18px; border: 1px solid var(--line); border-radius: 17px; background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); margin-bottom: 18px; box-shadow: var(--shadow); }
.workout-toolbar strong { display: block; font-size: .9rem; }
.workout-toolbar p { margin: 2px 0 0; font-size: .72rem; color: var(--muted); }
.workout-toolbar .card-header { align-items: center; margin-bottom: 10px; }
.workout-toolbar .progress-track { width: 100%; margin: 10px 0 12px; }
.exercise-nav { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: thin; padding: 3px 0 8px; margin: 0 0 14px; scroll-snap-type: x proximity; }
.exercise-tab { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; max-width: 220px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--muted); padding: 9px 13px; font-size: .76rem; font-weight: 650; text-decoration: none; scroll-snap-align: start; }
.exercise-tab.active, .exercise-tab[aria-current='step'] { color: var(--ink); border-color: #729b4180; background: var(--green-soft); }
.exercise-tab.done, .exercise-tab.complete { color: var(--lime); }
[data-theme='light'] .exercise-tab.done { color: var(--lime-dark); }
.exercise-card { background: var(--surface); border: 1px solid var(--line); border-radius: 21px; margin-bottom: 15px; padding: 21px; min-width: 0; scroll-margin-top: 105px; }
.exercise-card:focus-within { border-color: #71894b; }
.exercise-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.exercise-number { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; background: var(--surface-raised); color: var(--lime); flex: 0 0 auto; font-size: .78rem; font-weight: 800; font-variant-numeric: tabular-nums; }
[data-theme='light'] .exercise-number { color: var(--lime-dark); }
.exercise-info { flex: 1; min-width: 0; }
.exercise-info h2, .exercise-info h3 { font-size: 1.18rem; margin: 1px 0 7px; line-height: 1.16; }
.exercise-info p { margin: 0; font-size: .75rem; line-height: 1.4; color: var(--muted); }
.exercise-progress { display: flex; gap: 4px; margin: 0 0 17px; }
.exercise-progress > span { flex: 1; height: 3px; background: var(--surface-raised); border-radius: 3px; }
.exercise-progress > span.done, .exercise-progress > span.active { background: var(--lime); }
.exercise-details { font-size: .79rem; color: var(--muted); line-height: 1.5; border-top: 1px solid var(--line); padding-top: 9px; margin-top: 16px; }
.exercise-details summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 650; color: var(--ink); }
.exercise-details summary::before { content: '+'; margin-right: 10px; font-size: 1.1rem; font-weight: 700; color: var(--muted); }
.exercise-details[open] summary::before { content: '−'; }
.exercise-details p { margin-bottom: 8px; }
.set-table { display: grid; gap: 9px; width: 100%; }
.set-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) minmax(0, 1fr) 62px 44px; align-items: center; gap: 8px; border-radius: 12px; min-width: 0; }
.set-row.header, .set-row.set-head, .set-header { color: var(--muted); font-size: .59rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; text-align: center; line-height: 1.3; }
.set-row.done { background: var(--green-soft); }
.set-row.done .input { border-color: #6a8b414a; color: var(--ink); }
.set-label { text-align: center; font-size: .76rem; font-weight: 700; color: var(--muted); }
.input { min-height: 48px; width: 100%; min-width: 0; padding: 11px 12px; font-size: 16px; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: 11px; line-height: 1.2; font-variant-numeric: tabular-nums; transition: border-color .15s ease; }
.set-row .input { text-align: center; padding: 11px 4px; font-weight: 650; }
.input:focus { border-color: var(--blue); }
.input::placeholder { color: var(--muted); opacity: .65; }
.input:disabled { opacity: .48; }
textarea.input { resize: vertical; min-height: 90px; }
select.input { padding-right: 28px; }
input[type='checkbox'], input[type='radio'] { accent-color: var(--lime); width: 22px; height: 22px; }
.field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.field-label { display: block; font-size: .75rem; font-weight: 650; color: var(--muted); }
.field small { color: var(--muted); font-size: .71rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid .full-width { grid-column: 1 / -1; }
.form-section { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.form-section h3 { margin-bottom: 16px; }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 20px; }
.check-button { width: 44px; height: 48px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); background: var(--white); font-size: 1.1rem; font-weight: 750; transition: color .15s ease, background .15s ease, transform .15s ease; }
.check-button[aria-pressed='true'], .done .check-button { background: var(--lime); border-color: var(--lime); color: #172209; }
.check-button svg { width: 20px; height: 20px; }
.previous-set { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; font-size: .7rem; color: var(--muted); padding: 0 0 12px; }
.previous-set strong { color: var(--blue); font-weight: 600; }
.previous-set small { font-size: .66rem; }
.progress-track { height: 6px; background: var(--surface-raised); border-radius: 100px; overflow: hidden; margin: 12px 0; }
.progress-fill { height: 100%; background: var(--lime); border-radius: inherit; transition: width .25s ease; }
.hero .progress-track { background: #344335; }
.hero .progress-fill { background: #ccff6b; }
.timer-bar { z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #779a4460; background: #14201a; color: #f3f6fb; border-radius: 18px; padding: 12px 16px; box-shadow: 0 12px 40px #00000060; }
.timer-value { font-size: 1.85rem; font-weight: 850; letter-spacing: -.04em; color: #ccff6b; font-variant-numeric: tabular-nums; line-height: 1.15; }
.timer-bar .eyebrow { color: #acbbac; font-size: .58rem; margin-bottom: 3px; }
.timer-bar .muted { color: #bac9b8; font-size: .7rem; }
.timer-bar .button { min-height: 44px; font-size: .75rem; color: #dce9dd; border-color: #4d6651; background: #213325; }
.timer-bar .button.ghost { background: transparent; }
.rest-ring { width: 53px; height: 53px; flex: 0 0 auto; border-radius: 50%; border: 3px solid #ccff6b40; display: grid; place-items: center; background: conic-gradient(#ccff6b var(--rest-progress, 0%), #243728 0); position: relative; }
.rest-ring::before { content: ''; position: absolute; inset: 3px; border-radius: inherit; background: #14201a; }
.rest-ring > * { z-index: 1; }
.rest-ring:has(svg) { background: transparent; border: 0; color: #ccff6b; }
.rest-ring:has(svg)::before { display: none; }
.rest-ring svg { width: 48px; height: 48px; }
#timer.timer-bar { position: fixed; top: auto; bottom: calc(91px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: min(1048px, calc(100% - 36px)); margin: 0; }
body:has(#timer:not([hidden])) .toast { bottom: calc(181px + env(safe-area-inset-bottom)); }
body:has(#timer:not([hidden])) .app-shell { padding-bottom: calc(206px + env(safe-area-inset-bottom)); }
.notice { background: var(--surface-raised); border: 1px solid var(--line); border-radius: 13px; padding: 13px 15px; font-size: .79rem; color: var(--muted); line-height: 1.5; margin-bottom: 16px; }
.notice p:last-child { margin: 0; }
.notice.success { background: var(--green-soft); border-color: #718d415a; color: var(--ink); }
.notice.warning { background: var(--warning-bg); border-color: var(--warning-line); color: var(--warning-ink); }
.toast { position: fixed; z-index: 100; bottom: calc(96px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); background: var(--surface-raised); color: var(--ink); border: 1px solid var(--line); padding: 13px 18px; border-radius: 14px; width: max-content; max-width: calc(100% - 32px); text-align: center; font-size: .82rem; box-shadow: 0 8px 30px #00000035; animation: toast-in .18s ease-out; }
.empty-state { padding: 28px 18px; text-align: center; color: var(--muted); font-size: .85rem; border: 1px dashed var(--line); border-radius: 19px; }
.empty-state h2, .empty-state strong { color: var(--ink); display: block; font-size: 1.1rem; margin-bottom: 9px; }
.empty-state p:last-child { margin-bottom: 0; }
.empty-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 17px; color: var(--blue); background: var(--blue-soft); border-radius: 15px; font-size: 1.6rem; }
.chart { min-height: 160px; position: relative; width: 100%; overflow: hidden; margin: 18px 0 8px; }
.chart svg { width: 100%; height: auto; color: var(--lime); }
.chart:not(:has(svg)) { min-height: 0; border-top: 1px solid var(--line); padding-top: 17px; margin-bottom: 17px; }
.chart:not(:has(svg)) h3 { font-size: 1rem; margin-bottom: 8px; }
.chart:not(:has(svg)) p { font-size: .75rem; margin-bottom: 0; }
.chart-grid { stroke: var(--line); stroke-width: 1; stroke-dasharray: 3 5; fill: none; }
.chart-label { fill: var(--muted); font-size: 12px; font-family: var(--font); }
.chart-line { stroke: var(--lime); stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
[data-theme='light'] .chart-line { stroke: #64891f; }
.chart-point { fill: var(--lime); stroke: var(--surface); stroke-width: 2; }
.history-item { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: .82rem; }
.history-item:last-child { border-bottom: 0; padding-bottom: 0; }
.history-item:first-child { padding-top: 0; }
.history-item strong { display: block; font-size: .92rem; margin-bottom: 4px; }
.history-item h3 { margin-bottom: 7px; }
.history-item .eyebrow { font-size: .59rem; color: var(--muted); letter-spacing: .07em; margin-bottom: 7px; }
.history-item p { margin: 0; font-size: .75rem; color: var(--muted); }
.history-item time { color: var(--muted); font-size: .72rem; white-space: nowrap; }
.dialog { position: fixed; z-index: 90; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(540px, calc(100% - 28px)); max-height: calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 25px; padding: 25px; box-shadow: 0 25px 90px #00000070; }
dialog.dialog { margin: 0; }
dialog.dialog::backdrop, .dialog-backdrop { background: #04070ca6; backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.dialog-backdrop { position: fixed; inset: 0; z-index: 80; }
.dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.dialog-header h2 { font-size: 1.5rem; margin: 3px 0 0; }
.dialog-header .button { flex: 0 0 auto; padding: 8px 12px; }
.dialog-body { font-size: .88rem; }
.dialog-body form > .button { margin-top: 19px; }
.dialog-footer { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; margin-top: 24px; }
.onboarding { width: min(600px, 100%); margin: 0 auto; }
.onboarding .hero { grid-template-columns: 1fr; }
.segment-control { display: flex; gap: 4px; padding: 4px; background: var(--white); border: 1px solid var(--line); border-radius: 13px; width: 100%; margin-bottom: 18px; }
.segment-button { flex: 1; min-width: 0; min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-size: .78rem; font-weight: 650; padding: 9px 6px; line-height: 1.25; }
.segment-button.active { color: #172209; background: var(--lime); font-weight: 800; }
.help-list { margin: 0; padding-left: 20px; color: var(--muted); font-size: .81rem; }
.help-list li { padding: 0 0 12px 2px; }
.help-list li::marker { color: var(--blue); }
.help-list li:last-child { padding-bottom: 0; }
.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.guide-grid:has(> .card:last-child:nth-child(2)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guide-step { padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); min-width: 0; }
.guide-step strong { display: block; font-size: .98rem; margin: 10px 0 8px; }
.guide-step p { font-size: .8rem; color: var(--muted); margin: 0; }
.guide-step .workout-index { width: 30px; height: 30px; border-radius: 9px; }
.file-input { width: 100%; min-height: 48px; font-size: .83rem; padding: 8px; border: 1px solid var(--line); border-radius: 12px; }
.file-input::file-selector-button { border: 0; border-radius: 8px; padding: 9px 12px; font: inherit; font-weight: 650; color: #172209; background: var(--lime); margin-right: 10px; cursor: pointer; }
.inline-note { font-size: .73rem; color: var(--muted); margin-top: 8px; }
.checkbox-row { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 8px 0; font-size: .83rem; }
.checkbox-row input { flex: 0 0 auto; margin: 0; }
.field:has(input[type='checkbox']) { min-height: 44px; justify-content: center; margin-bottom: 8px; }
.field > span:has(input[type='checkbox']) { display: flex; align-items: flex-start; gap: 9px; font-size: .8rem; color: var(--muted); line-height: 1.5; }
.field input[type='checkbox'] { flex: 0 0 auto; margin: 0; }
.divider { height: 1px; background: var(--line); margin: 20px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.nowrap { white-space: nowrap; }
.account-status { max-width: 180px; line-height: 1.2; text-align: center; }
.account-status svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.8; flex: 0 0 auto; }
.account-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; margin-bottom: 16px; }
.account-row > div { min-width: 0; }
.account-row h2 { font-size: 1.17rem; margin-bottom: 9px; }
.account-row p { font-size: .8rem; }
.account-row p:last-child { margin-bottom: 0; }
.account-row .button { flex: 0 0 auto; max-width: 220px; }
.account-email { display: block; color: var(--ink); font-size: .91rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; margin-bottom: 5px; }
.sync-status { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; color: var(--lime); font-weight: 600; line-height: 1.4; }
[data-theme='light'] .sync-status { color: #527123; }
.sync-status::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.sync-status.pending { color: var(--warning-ink); }
.sync-status.error { color: var(--red); }
.offline-pill { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--warning-line); background: var(--warning-bg); color: var(--warning-ink); border-radius: 100px; padding: 6px 9px; font-size: .7rem; font-weight: 650; line-height: 1.3; }
.auth-tabs { display: flex; gap: 4px; border: 1px solid var(--line); background: var(--white); padding: 4px; border-radius: 13px; margin: 0 0 20px; }
.auth-tabs button { flex: 1; min-width: 0; min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-size: .8rem; font-weight: 650; padding: 9px 6px; line-height: 1.25; }
.auth-tabs button.active, .auth-tabs button.primary, .auth-tabs button[aria-selected='true'], .auth-tabs button[aria-pressed='true'] { color: #172209; background: var(--lime); }
.auth-form { display: grid; gap: 15px; }
.auth-form > .button { width: 100%; min-height: 50px; margin-top: 3px; }
.auth-form p { margin-bottom: 0; }
.auth-form .notice { margin: 0; }
.recovery-code { display: block; width: 100%; max-width: 100%; padding: 16px; margin: 14px 0; background: var(--green-soft); border: 1px dashed #87aa4b; border-radius: 13px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1rem; font-weight: 700; line-height: 1.7; letter-spacing: .065em; overflow-wrap: anywhere; user-select: all; -webkit-user-select: all; }
.session-recap { text-align: center; padding: 6px 0; }
.session-recap h2 { font-size: 2rem; margin: 0 0 9px; }
.session-recap p { color: var(--muted); font-size: .82rem; }
.completion-mark { position: relative; display: grid; place-items: center; width: 82px; height: 82px; margin: 5px auto 23px; border-radius: 26px; background: var(--lime); color: #172209; font-size: 2.5rem; font-weight: 700; transform: rotate(-8deg); box-shadow: 0 0 0 9px var(--green-soft); animation: mark-in .36s cubic-bezier(.2,.9,.3,1.3); }
.completion-mark svg { width: 38px; height: 38px; stroke: currentColor; fill: none; stroke-width: 2.8; stroke-linecap: round; }
.recap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 20px 0; }
.recap-stat { min-width: 0; padding: 15px 9px; background: var(--white); border: 1px solid var(--line); border-radius: 15px; }
.recap-stat strong { display: block; font-size: 1.55rem; font-weight: 850; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.recap-stat span, .recap-stat p { font-size: .65rem; color: var(--muted); margin: 4px 0 0; display: block; line-height: 1.3; }
@keyframes page-in { from { opacity: .55; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes toast-in { from { opacity: 0; margin-bottom: -5px; } to { opacity: 1; margin-bottom: 0; } }
@keyframes mark-in { from { opacity: .1; scale: .75; rotate: -12deg; } to { opacity: 1; scale: 1; rotate: 0deg; } }
@media (hover: hover) {
  .button:hover { border-color: var(--muted); }
  .button.primary:hover { filter: brightness(1.07); border-color: var(--lime); }
  .workout-card:hover, .session-card:hover { border-color: #809461; }
  .tab-button:hover { background: var(--surface-raised); color: var(--ink); }
  .theme-toggle:hover { color: var(--ink); }
}
@media (min-width: 800px) {
  .tabs { width: min(760px, calc(100% - 48px)); bottom: 16px; border: 1px solid var(--line); border-radius: 22px; padding: 8px 13px; box-shadow: 0 10px 40px #00000030; }
  .tab-button { flex-direction: row; gap: 10px; font-size: .82rem; }
  .tab-button.active::before { display: none; }
  .workout-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
  .workout-detail-grid .exercise-card { margin: 0; }
  .workout-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .app-shell { padding-left: max(18px, env(safe-area-inset-left)); padding-right: max(18px, env(safe-area-inset-right)); }
  .topbar { padding-bottom: 24px; }
  .brand { gap: 9px; }
  .brand-mark { width: 38px; height: 38px; font-size: 1.65rem; border-radius: 11px 11px 4px 11px; }
  .brand-title { font-size: 1.16rem; letter-spacing: .14em; }
  .brand-caption { font-size: .53rem; letter-spacing: .075em; }
  .hero { grid-template-columns: minmax(0, 1fr) 107px; gap: 12px; padding: 25px 20px 21px; border-radius: 24px; }
  .hero::after { left: 20px; }
  .hero-title { font-size: 2.07rem; }
  .hero .eyebrow { font-size: .59rem; letter-spacing: .12em; }
  .hero-copy > p { font-size: .8rem; line-height: 1.5; }
  .hero .chips { max-width: calc(100% + 119px); width: calc(100% + 119px); position: relative; z-index: 3; margin-top: 17px; }
  .hero-bodymap { width: 107px; align-self: start; margin-top: 27px; }
  .hero-bodymap img, img.hero-bodymap { width: 123px; max-width: 123px; height: 192px; max-height: none; }
  .bodymap-caption { font-size: .43rem; margin-top: -4px; }
  .bodymap-caption strong { font-size: .48rem; }
  .hero-orbit { width: 95px; padding: 9px; box-shadow: none; align-self: start; margin-top: 31px; }
  .hero-number { font-size: 2.45rem; }
  .hero-label { font-size: .54rem; line-height: 1.3; margin-top: 4px; max-width: 73px; }
  .hero-actions { margin-top: 19px; grid-column: 1 / -1; }
  .hero-actions .button.primary { width: 100%; min-height: 53px; font-size: .88rem; }
  .hero-actions .button.ghost { width: 100%; min-height: 44px; font-size: .77rem; border: 0; padding-top: 8px; padding-bottom: 8px; background: #ffffff05; }
  .hero-copy .hero-actions { width: calc(100% + 119px); }
  .onboarding .hero-copy .hero-actions, .onboarding .hero .chips { width: 100%; }
  .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 23px; }
  .metrics-grid:has(> .metric-card:last-child:nth-child(3)) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .metric-card { padding: 14px 12px; border-radius: 16px; }
  .metric-value { font-size: 1.48rem; }
  .metric-label { font-size: .64rem; margin-bottom: 8px; }
  .metric-card > .muted { font-size: .62rem; }
  .overview-grid, .content-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .card, .coach-card { padding: 19px; border-radius: 20px; }
  .workout-card { padding: 16px; gap: 11px; }
  .workout-meta h3 { font-size: 1rem; }
  .workout-card > .button { padding: 9px 10px; font-size: .71rem; }
  .exercise-card { padding: 17px 15px; }
  .exercise-info h2, .exercise-info h3 { font-size: 1.05rem; }
  .set-row { grid-template-columns: 22px minmax(0, 1fr) minmax(0, 1fr) 48px 44px; gap: 6px; }
  .set-row.set-head { font-size: .54rem; }
  .exercise-card .notice { font-size: .75rem; padding: 11px 12px; }
  .guide-grid, .guide-grid:has(> .card:last-child:nth-child(2)) { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .guide-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 4px 12px; }
  .guide-step strong { margin: 3px 0 5px; }
  .guide-step p { grid-column: 2; }
  .session-grid, .cycle-grid, .session-strip { display: grid; grid-auto-flow: column; grid-auto-columns: 155px; grid-template-columns: none; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; scroll-snap-type: x proximity; }
  .session-card { scroll-snap-align: start; padding: 15px; }
  .insight-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .insight-card { padding: 16px; }
  .insight-card .eyebrow { margin-bottom: 7px; }
  .insight-card h3 { margin-bottom: 7px; }
  .insight-icon { float: left; margin-right: 13px; margin-bottom: 5px; }
  .record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .record-card { padding: 15px; }
  .record-card strong { font-size: 1.5rem; }
  .muscle-row { padding: 12px 0; }
  .workout-toolbar { gap: 10px; padding: 13px 15px; }
  .workout-toolbar .progress-track { width: 100%; }
  .dialog { padding: 23px 18px; }
  .dialog-header h2 { font-size: 1.35rem; }
  .account-status { max-width: 117px; font-size: .64rem; padding: 8px 9px; }
  .topbar-actions { gap: 6px; }
  .theme-toggle { width: 44px; height: 44px; }
  .account-row { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  .account-row > div { flex: 1 1 180px; }
  .account-row .button { max-width: none; width: 100%; }
  .auth-tabs { flex-wrap: wrap; }
  .auth-tabs button { flex: 1 1 90px; }
  .recovery-code { font-size: .9rem; padding: 13px; letter-spacing: .025em; }
  .timer-bar { padding: 10px 12px; gap: 8px; }
  .timer-bar .button { padding: 9px 10px; font-size: .71rem; }
  .timer-value { font-size: 1.7rem; }
}
@media (max-width: 360px) {
  .app-shell { padding-left: 13px; padding-right: 13px; }
  .brand-caption { display: none; }
  .hero { padding: 22px 17px 19px; grid-template-columns: minmax(0, 1fr) 91px; gap: 10px; }
  .hero-title { font-size: 1.87rem; }
  .hero-bodymap { width: 91px; }
  .hero-bodymap img, img.hero-bodymap { width: 106px; max-width: 106px; height: 176px; }
  .hero-orbit { width: 82px; }
  .hero-number { font-size: 2.1rem; }
  .hero-label { font-size: .51rem; }
  .hero-copy .hero-actions, .hero .chips { width: calc(100% + 101px); }
  .set-row { grid-template-columns: 18px minmax(0, 1fr) minmax(0, 1fr) 44px 44px; gap: 5px; }
  .exercise-card { padding: 14px 12px; }
  .metric-card { padding: 12px 9px; }
  .metric-value { font-size: 1.25rem; }
  .metric-label { font-size: .6rem; }
  .form-grid { gap: 12px; }
  .account-status { max-width: 96px; font-size: .62rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media print {
  :root { color-scheme: light; --paper: white; --surface: white; --surface-raised: #eee; --ink: black; --muted: #444; --line: #bbb; --lime: #65782c; --white: white; }
  .tabs, .timer-bar, .toast, .hero-actions, .form-actions, .topbar-actions { display: none !important; }
  .app-shell { padding: 0; }
  .card, .exercise-card, .workout-card { break-inside: avoid; }
  .hero { background: white; color: black; border: 1px solid var(--line); }
  .hero p, .hero .muted, .hero .eyebrow { color: black; }
}
