:root {
  --ink: #0c0e10;
  --ink-2: #15181c;
  --paper: #f2f0e9;
  --paper-2: #e8e5dc;
  --surface: #fbfaf6;
  --line: #d9d5ca;
  --muted: #6c706e;
  --acid: #c8ff63;
  --acid-deep: #9be22e;
  --lavender: #b8a7ff;
  --mint: #93e6c4;
  --warning: #ffcf70;
  --danger: #ff7a6f;
  --shadow: 0 18px 60px rgba(24, 24, 20, .08);
  --radius: 26px;
  --radius-sm: 17px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; min-width: 320px; min-height: 100vh; color: var(--ink); font-family: var(--font); background: var(--paper); -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible { outline: 3px solid rgba(155, 226, 46, .6); outline-offset: 3px; }
.noise { position: fixed; inset: 0; pointer-events: none; opacity: .025; z-index: 100; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }

.app-shell { min-height: 100vh; }
.desktop-nav { display: none; }
.main-area { min-height: 100vh; padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
.mobile-header { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; position: sticky; top: 0; z-index: 30; background: rgba(242, 240, 233, .9); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(217, 213, 202, .75); }
.brand { display: inline-flex; align-items: center; gap: 10px; border: 0; background: none; font-weight: 900; font-size: 20px; letter-spacing: -.06em; cursor: pointer; padding: 0; }
.brand-mark { width: 26px; height: 26px; border-radius: 8px; background: var(--ink); display: flex; gap: 2px; align-items: flex-end; justify-content: center; padding: 6px; transform: rotate(-4deg); }
.brand-mark span { width: 3px; display: block; border-radius: 3px; background: var(--acid); }
.brand-mark span:nth-child(1) { height: 7px; }.brand-mark span:nth-child(2) { height: 14px; }.brand-mark span:nth-child(3) { height: 10px; }
.avatar-button, .mini-avatar { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); display: grid; place-items: center; font-size: 12px; font-weight: 850; }
.avatar-button { cursor: pointer; }
.view { display: none; padding: 28px 18px 44px; animation: viewIn .32s ease both; }
.view.active { display: block; }
@keyframes viewIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

h1, h2, h3, h4, p { margin-top: 0; }
h1 { font-size: clamp(36px, 8vw, 62px); line-height: .96; letter-spacing: -.065em; margin-bottom: 14px; max-width: 780px; }
h2 { letter-spacing: -.045em; line-height: 1.02; }
h3 { letter-spacing: -.025em; }
p { color: var(--muted); line-height: 1.55; }
.page-kicker, .eyebrow { font-size: 10px; font-weight: 900; letter-spacing: .13em; color: rgba(255,255,255,.56); margin-bottom: 10px; }
.page-kicker { color: #777a75; }
.eyebrow.dark { color: #767a75; }
.home-heading-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 22px; }
.home-heading-row p, .page-header > div > p { max-width: 650px; margin-bottom: 0; }
.page-header { margin-bottom: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.page-header h1 { margin-bottom: 12px; }
.page-header p { margin-bottom: 0; }
.desktop-only { display: none; }

.hero-workout-card { background: var(--ink); color: white; padding: 22px; border-radius: 30px; box-shadow: 0 24px 70px rgba(12,14,16,.18); overflow: hidden; position: relative; }
.hero-workout-card:after { content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(200,255,99,.14), transparent 65%); right: -90px; top: -80px; pointer-events: none; }
.hero-topline { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 2; }
.status-pill, .current-chip, .muted-chip { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 7px 10px; background: rgba(255,255,255,.09); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 5px rgba(200,255,99,.12); display: inline-block; }
.ghost-icon, .icon-button { border: 0; background: none; padding: 8px; cursor: pointer; display: grid; place-items: center; border-radius: 12px; }
.ghost-icon { color: white; }
.icon-button { border: 1px solid var(--line); background: var(--surface); width: 42px; height: 42px; }
.icon-button svg, .ghost-icon svg, .card-icon svg, button svg, .pr-callout svg, .cue-card > svg { width: 18px; height: 18px; stroke-width: 2; }
.hero-copy { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 0 25px; position: relative; z-index: 2; }
.hero-copy h2 { font-size: clamp(34px, 9vw, 58px); margin-bottom: 8px; }
.hero-sub { color: rgba(255,255,255,.62); margin: 0; font-size: 13px; }
.focus-orbit { width: 90px; height: 90px; flex: 0 0 auto; position: relative; display: grid; place-items: center; }
.orbit { position: absolute; inset: 8px; border: 1px solid rgba(200,255,99,.4); border-radius: 50%; transform: rotate(25deg) scaleY(.56); }
.orbit-two { transform: rotate(-30deg) scaleY(.56); }
.orbit-center { width: 42px; height: 42px; border-radius: 50%; background: var(--acid); color: var(--ink); display: grid; place-items: center; font-weight: 950; font-size: 20px; }
.exercise-strip { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; position: relative; z-index: 2; }
.exercise-strip span { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); border-radius: 999px; padding: 7px 9px; font-size: 10px; color: rgba(255,255,255,.75); }
.primary-button, .outline-button, .text-button, .finish-button, .inline-link, .upload-button { border: 0; cursor: pointer; font-weight: 850; }
.primary-button { min-height: 52px; border-radius: 16px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; background: var(--surface); color: var(--ink); }
.primary-button.acid { background: var(--acid); }
.primary-button.dark { background: var(--ink); color: white; }
.primary-button.compact, .outline-button.compact { min-height: 42px; padding: 0 14px; border-radius: 13px; margin-top: 18px; }
.primary-button.full, .outline-button.full { width: 100%; justify-content: center; }
.hero-workout-card > .primary-button { width: 100%; position: relative; z-index: 2; }
.primary-button:hover { transform: translateY(-1px); }
.outline-button { min-height: 45px; padding: 0 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; }
.text-button, .inline-link { background: none; color: var(--ink); padding: 5px 0; border-bottom: 1px solid var(--ink); }
.inline-link { font-size: 12px; display: inline-flex; align-items: center; gap: 4px; }
.inline-link svg { width: 14px; }
.section-title-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin: 34px 0 17px; }
.section-title-row h2, .section-title-row h3, .section-title-row p { margin-bottom: 0; }
.section-title-row.compact { margin: 0 0 18px; align-items: center; }
.section-title-row.compact h3 { margin: 0; }

.week-card, .surface-card, .rail-card, .plan-day, .walk-day, .program-overview, .exercise-table-card, .exercise-browser, .guide-card, .mistakes-card, .progress-summary-grid article, .chart-card, .lifts-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.week-card { padding: 18px; }
.week-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.day { border: 0; background: transparent; border-radius: 15px; min-width: 0; padding: 9px 2px; color: var(--muted); }
.day small, .day em { display: block; font-style: normal; font-size: 8px; }
.day b, .day svg { display: block; width: 22px; height: 22px; margin: 8px auto; font-size: 11px; color: var(--ink); }
.day.done { background: var(--ink); color: white; }.day.done svg { color: var(--acid); }.day.done em { color: rgba(255,255,255,.6); }
.day.today { background: var(--acid); color: var(--ink); }.day.planned { background: var(--paper-2); }
.week-summary { display: grid; grid-template-columns: auto 1fr; gap: 3px 8px; align-items: baseline; margin-top: 18px; font-size: 12px; }
.week-summary span { color: var(--muted); }.thin-progress { grid-column: 1/-1; height: 4px; background: var(--paper-2); border-radius: 99px; overflow: hidden; margin-top: 8px; }.thin-progress i { display: block; height: 100%; background: var(--ink); border-radius: inherit; }
.two-card-grid { display: grid; gap: 12px; margin-top: 12px; }
.surface-card { padding: 18px; display: flex; gap: 15px; }
.surface-card h3 { margin-bottom: 6px; }.surface-card p { margin-bottom: 10px; font-size: 13px; }
.card-icon { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; flex: 0 0 auto; }
.card-icon.lavender { background: var(--lavender); }.card-icon.mint { background: var(--mint); }
.readiness-meter { height: 5px; background: var(--paper-2); border-radius: 99px; overflow: hidden; }.readiness-meter i { display: block; height: 100%; background: var(--mint); }
.home-rail { display: none; }
.rail-card { padding: 20px; }
.stat-row { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 12px; }.stat-row span { color: var(--muted); }
.score-badge { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--acid); font-weight: 900; }
.pr-callout { display: flex; gap: 10px; align-items: center; margin-top: 16px; padding: 12px; border-radius: 16px; background: var(--ink); color: white; }.pr-callout svg { color: var(--acid); }.pr-callout small, .pr-callout strong { display: block; }.pr-callout small { color: rgba(255,255,255,.5); font-size: 8px; margin-bottom: 3px; }.pr-callout strong { font-size: 11px; }
.quote-card { background: var(--lavender); margin-top: 12px; }.quote-card p { color: var(--ink); font-weight: 750; font-size: 15px; line-height: 1.5; }.quote-card small { font-size: 9px; font-weight: 900; letter-spacing: .1em; }

.segmented-control { display: inline-grid; grid-template-columns: 1fr 1fr; padding: 4px; background: var(--paper-2); border-radius: 14px; margin-bottom: 18px; }
.segmented-control button { border: 0; background: transparent; border-radius: 10px; padding: 10px 13px; color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 800; }.segmented-control button.active { background: var(--surface); color: var(--ink); box-shadow: 0 4px 14px rgba(0,0,0,.05); }
.plan-panel { display: none; }.plan-panel.active { display: grid; gap: 12px; }
.plan-day { padding: 16px; display: grid; grid-template-columns: 53px 1fr; gap: 14px; }
.plan-day.current { border: 2px solid var(--ink); }.plan-day.completed { opacity: .72; }
.plan-date { text-align: center; border-right: 1px solid var(--line); padding-right: 12px; }.plan-date span, .plan-date strong { display: block; }.plan-date span { font-size: 9px; font-weight: 900; letter-spacing: .1em; color: var(--muted); }.plan-date strong { font-size: 25px; margin-top: 5px; letter-spacing: -.05em; }
.plan-title-line { display: flex; justify-content: space-between; gap: 12px; }.plan-title-line small { font-weight: 900; color: var(--muted); font-size: 9px; letter-spacing: .1em; }.plan-title-line h3 { margin: 3px 0 7px; }.plan-body > p { font-size: 12px; margin-bottom: 10px; }
.completion-mark { width: 31px; height: 31px; border-radius: 50%; background: var(--ink); color: var(--acid); display: grid; place-items: center; }.completion-mark svg { width: 15px; }
.current-chip { background: var(--acid); align-self: start; }.muted-chip { background: var(--paper-2); align-self: start; }
.plan-meta { display: flex; flex-wrap: wrap; gap: 7px; }.plan-meta span { background: var(--paper-2); border-radius: 999px; padding: 6px 8px; font-size: 9px; color: var(--muted); }
.walk-day { padding: 18px; display: flex; align-items: center; gap: 14px; }.walk-day small { font-size: 9px; font-weight: 900; color: var(--muted); letter-spacing: .1em; }.walk-day h3 { margin: 4px 0; }.walk-day p { margin: 0; font-size: 12px; }
.program-overview { padding: 22px; display: grid; gap: 22px; }.program-overview h2 { font-size: 30px; margin-bottom: 10px; }.program-overview p { font-size: 13px; margin-bottom: 0; }.program-rule { background: var(--ink); color: white; border-radius: 20px; padding: 18px; display: flex; flex-direction: column; justify-content: center; }.program-rule small { color: rgba(255,255,255,.5); font-size: 9px; font-weight: 900; letter-spacing: .1em; }.program-rule strong { font-size: 28px; margin: 7px 0 2px; }.program-rule span { color: var(--acid); font-size: 12px; }
.week-progression-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.week-progression-grid article { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 16px; }.week-progression-grid span { font-size: 11px; color: var(--muted); font-weight: 900; }.week-progression-grid h3 { margin: 16px 0 5px; }.week-progression-grid p { font-size: 11px; margin: 0; }
.exercise-table-card { padding: 20px; }.muscle-row { display: grid; grid-template-columns: 74px 1fr 47px; gap: 10px; align-items: center; font-size: 11px; padding: 9px 0; }.muscle-row div { height: 7px; border-radius: 99px; background: var(--paper-2); overflow: hidden; }.muscle-row i { display: block; height: 100%; background: var(--ink); border-radius: inherit; }.muscle-row strong { text-align: right; }


.form-library-grid { display: grid; gap: 14px; }
.exercise-browser { padding: 12px; min-width: 0; }
.exercise-search { min-height: 44px; padding: 0 13px; display: flex; align-items: center; gap: 9px; background: var(--paper-2); border-radius: 14px; }
.exercise-search svg { width: 17px; height: 17px; color: var(--muted); }
.exercise-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; }
.exercise-search input::placeholder { color: #91938f; }
.exercise-list { display: flex; gap: 8px; overflow-x: auto; padding-top: 10px; scrollbar-width: none; }
.exercise-list::-webkit-scrollbar { display: none; }
.exercise-library-item { min-width: 210px; border: 1px solid var(--line); background: rgba(255,255,255,.62); border-radius: 18px; padding: 10px; display: grid; grid-template-columns: 42px 1fr 20px; gap: 10px; align-items: center; text-align: left; cursor: pointer; }
.exercise-library-item > span:nth-child(2) { min-width: 0; }
.exercise-library-item strong, .exercise-library-item small { display: block; }
.exercise-library-item strong { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.exercise-library-item small { color: var(--muted); font-size: 8px; margin-top: 4px; }
.exercise-library-item > i { color: var(--muted); display: grid; place-items: center; }
.exercise-library-item > i svg { width: 15px; height: 15px; }
.exercise-library-item.active { background: var(--ink); color: white; border-color: var(--ink); box-shadow: 0 10px 24px rgba(12,14,16,.13); }
.exercise-library-item.active small, .exercise-library-item.active > i { color: rgba(255,255,255,.5); }
.exercise-library-item[hidden] { display: none; }
.exercise-thumb { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: var(--acid); color: var(--ink); font-size: 10px; font-weight: 950; }
.form-guide-shell { min-width: 0; }
.movement-demo-card { min-height: 350px; background: radial-gradient(circle at 50% 42%, #30363a, var(--ink) 70%); border: 1px solid #2a2f32; border-radius: 30px; padding: 18px; color: white; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; box-shadow: 0 24px 70px rgba(12,14,16,.15); }
.demo-toolbar { display: flex; align-items: center; justify-content: space-between; font-size: 8px; font-weight: 900; letter-spacing: .11em; color: rgba(255,255,255,.58); }
.demo-toolbar > span { display: flex; align-items: center; gap: 9px; }
.demo-pause { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.08); color: white; display: grid; place-items: center; cursor: pointer; backdrop-filter: blur(14px); }
.demo-pause svg { width: 16px; height: 16px; }
.movement-demo, .modal-movement-demo { display: grid; place-items: center; min-height: 245px; }
.movement-demo svg { width: min(100%, 390px); height: 245px; overflow: visible; }
.modal-movement-demo svg { width: min(100%, 300px); height: 190px; overflow: visible; }
.movement-demo.paused *, .modal-movement-demo.paused * { animation-play-state: paused !important; }
.demo-phase { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; font-size: 8px; letter-spacing: .1em; color: rgba(255,255,255,.5); font-weight: 900; }
.demo-phase i { height: 2px; border-radius: 99px; background: linear-gradient(90deg, var(--acid), rgba(255,255,255,.15)); }
.demo-line { fill: none; stroke: #f4f5f1; stroke-width: 12; stroke-linecap: round; stroke-linejoin: round; }
.demo-line.muted { stroke: #697174; }
.demo-machine { fill: none; stroke: #586064; stroke-width: 10; stroke-linecap: round; stroke-linejoin: round; }
.demo-joint { fill: var(--acid); }
.demo-weight { fill: var(--lavender); }
.demo-motion { animation: demoMove 2.2s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.demo-pull { animation: demoPull 2.1s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: top center; }
.demo-raise { animation: demoRaise 2s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: bottom center; }
.demo-calf { animation: demoCalf 1.7s ease-in-out infinite alternate; }
.demo-seat { fill: #384044; }
@keyframes demoMove { to { transform: translate(-25px, 19px) rotate(-13deg); } }
@keyframes demoPull { to { transform: translateY(42px); } }
@keyframes demoRaise { to { transform: rotate(-58deg); } }
@keyframes demoCalf { to { transform: translateY(-15px); } }
.form-detail-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; margin: 26px 0 14px; }
.form-detail-head h2 { font-size: clamp(31px, 7vw, 48px); margin-bottom: 8px; }
.form-detail-head p { font-size: 12px; margin-bottom: 0; max-width: 680px; }
.guide-plan-button { flex: 0 0 auto; }
.guide-meta { display: grid; grid-template-columns: repeat(3,1fr); background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 14px; box-shadow: var(--shadow); }
.guide-meta span { padding: 3px 12px; border-right: 1px solid var(--line); min-width: 0; }
.guide-meta span:last-child { border: 0; }
.guide-meta small, .guide-meta strong { display: block; }
.guide-meta small { color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .1em; }
.guide-meta strong { font-size: 11px; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guide-columns { display: grid; gap: 12px; margin-top: 12px; }
.guide-card { padding: 18px; }
.guide-card-heading { display: flex; gap: 12px; align-items: center; }
.guide-card-heading > span { width: 38px; height: 38px; border-radius: 13px; display: grid; place-items: center; background: var(--ink); color: var(--acid); font-size: 10px; font-weight: 950; }
.guide-card-heading small { color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .1em; }
.guide-card-heading h3 { margin: 3px 0 0; font-size: 18px; }
.guide-card ol, .modal-guide-columns ol { margin: 17px 0 0; padding-left: 20px; }
.guide-card li, .modal-guide-columns li { color: var(--muted); font-size: 11px; line-height: 1.55; padding: 5px 0 5px 5px; }
.guide-card li::marker, .modal-guide-columns li::marker { color: var(--ink); font-weight: 900; }
.form-cue-card { margin-top: 12px; background: var(--lavender); border-radius: 24px; padding: 18px; display: flex; gap: 14px; align-items: center; }
.form-cue-card .card-icon { background: rgba(255,255,255,.42); }
.form-cue-card small { font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.form-cue-card h3 { margin: 5px 0 3px; font-size: 18px; }
.form-cue-card p { margin: 0; color: rgba(12,14,16,.58); font-size: 10px; }
.mistakes-card { padding: 18px; margin-top: 12px; }
.mistakes-list { display: grid; gap: 8px; }
.mistakes-list span { display: flex; align-items: center; gap: 9px; min-height: 43px; padding: 9px 11px; background: #fff1ec; border-radius: 14px; color: #674139; font-size: 10px; line-height: 1.4; }
.mistakes-list i { width: 24px; height: 24px; border-radius: 50%; background: rgba(255,122,111,.17); display: grid; place-items: center; flex: 0 0 auto; }
.mistakes-list svg { width: 13px; height: 13px; }
.form-guide-inline-button { margin-top: 10px; border: 0; background: none; padding: 0; color: var(--ink); font-size: 10px; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.guide-modal-card { width: min(620px, 100%); max-height: min(780px, calc(100vh - 28px)); overflow-y: auto; background: rgba(251,250,246,.96); border: 1px solid rgba(255,255,255,.68); border-radius: 30px; padding: 20px; box-shadow: 0 30px 100px rgba(0,0,0,.32); }
.guide-modal-topbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.guide-modal-topbar small { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.guide-modal-topbar h2 { margin: 3px 0 0; font-size: 28px; }
.modal-movement-demo { min-height: 205px; margin: 14px 0; border-radius: 22px; background: var(--ink); overflow: hidden; }
.modal-guide-cue { background: var(--lavender); border-radius: 17px; padding: 14px; }
.modal-guide-cue small, .modal-guide-cue strong { display: block; }
.modal-guide-cue small { font-size: 7px; letter-spacing: .1em; font-weight: 900; }
.modal-guide-cue strong { font-size: 15px; margin-top: 4px; }
.modal-guide-columns { display: grid; gap: 10px; margin: 12px 0 16px; }
.modal-guide-columns > div { background: var(--paper-2); border-radius: 18px; padding: 14px; }
.modal-guide-columns small { font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.modal-guide-columns ol { margin-top: 8px; }


.progress-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }.progress-summary-grid article { padding: 16px; position: relative; }.progress-summary-grid small, .progress-summary-grid strong, .progress-summary-grid span { display: block; }.progress-summary-grid small { font-size: 8px; font-weight: 900; letter-spacing: .1em; color: var(--muted); }.progress-summary-grid strong { font-size: 27px; letter-spacing: -.05em; margin: 14px 0 2px; }.progress-summary-grid sup { font-size: 10px; letter-spacing: 0; margin-left: 2px; }.progress-summary-grid span { font-size: 10px; color: var(--muted); }.progress-summary-grid em { font-style: normal; font-size: 9px; font-weight: 850; background: var(--acid); border-radius: 99px; padding: 5px 7px; position: absolute; right: 11px; top: 11px; }
.charts-grid { display: grid; gap: 12px; margin-top: 12px; }.chart-card { padding: 18px; overflow: hidden; }.chart-tabs { display: flex; gap: 4px; background: var(--paper-2); padding: 3px; border-radius: 9px; }.chart-tabs button { border: 0; background: transparent; padding: 5px 7px; border-radius: 6px; font-size: 8px; font-weight: 900; cursor: pointer; }.chart-tabs button.active { background: var(--surface); }
.chart-wrap { margin: 0 -5px; }.chart-wrap svg { width: 100%; height: auto; overflow: visible; }.grid-lines line { stroke: #dedbd2; stroke-width: 1; }.area { fill: url(#weightFill); }.line { fill: none; stroke: var(--ink); stroke-width: 4; stroke-linecap: round; }.points circle { fill: var(--acid); stroke: var(--ink); stroke-width: 3; }.axis-labels text { font: 800 11px var(--font); fill: #8a8c87; }.chart-footer { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; color: var(--muted); }.chart-footer strong { color: var(--ink); }.legend-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; margin-right: 6px; }.acid-dot { background: var(--acid-deep); }
.heatmap { display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: stretch; margin: 22px 0; }.heat-labels { display: grid; grid-template-rows: repeat(3,1fr); gap: 7px; }.heat-labels span { font-size: 8px; color: var(--muted); display: grid; place-items: center; }.heat-cells { display: grid; grid-template-columns: repeat(5,1fr); grid-template-rows: repeat(3,31px); grid-auto-flow: column; gap: 7px; }.heat-cells i { background: var(--paper-2); border-radius: 8px; }.heat-cells i.hit { background: var(--ink); }.heat-cells i.planned { background: var(--acid); border: 2px dashed var(--ink); }.chart-note { font-size: 11px; margin: 0; }.chart-note strong { color: var(--ink); }
.lifts-card { padding: 18px; margin-top: 12px; }.lift-row { display: grid; grid-template-columns: 38px minmax(100px,1fr) 70px auto; gap: 10px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }.lift-icon { width: 34px; height: 34px; border-radius: 10px; background: var(--ink); color: var(--acid); display: grid; place-items: center; font-size: 9px; font-weight: 900; }.lift-row strong, .lift-row span { display: block; }.lift-row strong { font-size: 11px; }.lift-row span { font-size: 8px; color: var(--muted); margin-top: 3px; }.lift-row em { font-style: normal; font-size: 10px; font-weight: 900; }.sparkline { height: 30px; display: flex; align-items: flex-end; gap: 3px; }.sparkline i { flex: 1; background: var(--lavender); border-radius: 3px 3px 0 0; }


.bottom-nav { position: fixed; z-index: 40; left: 50%; right: auto; bottom: calc(10px + env(safe-area-inset-bottom)); transform: translateX(-50%); width: max-content; max-width: calc(100vw - 20px); min-height: 58px; display: flex; align-items: center; gap: 2px; padding: 6px; border-radius: 999px; overflow: hidden; isolation: isolate; background: linear-gradient(145deg, rgba(255,255,255,.74), rgba(236,239,235,.47)); border: 1px solid rgba(255,255,255,.84); box-shadow: 0 16px 42px rgba(28,32,30,.18), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(81,88,84,.1); -webkit-backdrop-filter: blur(28px) saturate(180%); backdrop-filter: blur(28px) saturate(180%); }
.bottom-nav::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 18% 0%, rgba(255,255,255,.94), transparent 35%), radial-gradient(circle at 80% 115%, rgba(184,167,255,.2), transparent 38%); pointer-events: none; }
.bottom-nav::after { content: ""; position: absolute; inset: 3px; z-index: -1; border-radius: inherit; border: 1px solid rgba(255,255,255,.34); pointer-events: none; }
.nav-item { border: 0; background: none; border-radius: 999px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 10px; font-weight: 850; transition: min-width .28s cubic-bezier(.22,.8,.25,1), background .22s ease, color .22s ease, box-shadow .22s ease; }
.bottom-nav .nav-item { height: 46px; min-width: 46px; padding: 0 13px; color: rgba(21,24,28,.48); white-space: nowrap; }
.bottom-nav .nav-item svg { width: 19px; height: 19px; flex: 0 0 auto; }
.bottom-nav .nav-item > span:last-child { max-width: 0; opacity: 0; overflow: hidden; transform: translateX(-5px); transition: max-width .28s cubic-bezier(.22,.8,.25,1), opacity .18s ease, transform .28s ease; }
.bottom-nav .nav-item.active { min-width: 92px; color: var(--ink); background: linear-gradient(145deg, rgba(255,255,255,.83), rgba(255,255,255,.46)); box-shadow: 0 5px 14px rgba(50,56,53,.12), inset 0 1px 0 rgba(255,255,255,.98), inset 0 -1px 0 rgba(41,47,44,.08); }
.bottom-nav .nav-item.active svg { color: #5f8f18; }
.bottom-nav .nav-item.active > span:last-child { max-width: 64px; opacity: 1; transform: none; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .bottom-nav { background: rgba(247,248,245,.96); } }


.workout-view { min-height: 100vh; padding-top: 18px; background: var(--paper); }
.workout-topbar { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; }.workout-topbar small { font-size: 8px; font-weight: 900; letter-spacing: .1em; color: var(--muted); }.workout-topbar h1 { font-size: 20px; margin: 2px 0 0; letter-spacing: -.04em; }.finish-button { background: var(--ink); color: white; border-radius: 12px; padding: 10px 13px; }
.live-summary { margin: 18px 0 14px; border-radius: 19px; background: var(--ink); color: white; display: grid; grid-template-columns: repeat(3,1fr); padding: 16px; }.live-summary div { text-align: center; border-right: 1px solid rgba(255,255,255,.13); }.live-summary div:last-child { border: 0; }.live-summary small, .live-summary strong { display: block; }.live-summary small { font-size: 7px; color: rgba(255,255,255,.45); font-weight: 900; letter-spacing: .1em; }.live-summary strong { font-size: 15px; margin-top: 6px; }
.exercise-progress { display: flex; gap: 5px; margin: 14px 0 20px; }.exercise-progress button { flex: 1; height: 5px; border: 0; border-radius: 99px; background: var(--line); padding: 0; cursor: pointer; }.exercise-progress button.active { background: var(--ink); }.exercise-progress button.complete { background: var(--acid-deep); }
.active-exercise-card { background: var(--surface); border: 1px solid var(--line); border-radius: 26px; overflow: hidden; box-shadow: var(--shadow); }.exercise-visual { height: 165px; background: var(--ink); color: white; padding: 20px; display: flex; justify-content: space-between; position: relative; overflow: hidden; }.exercise-visual:after { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(200,255,99,.2); border-radius:50%; right:-25px; top:-25px; box-shadow: 0 0 0 25px rgba(200,255,99,.035), 0 0 0 50px rgba(200,255,99,.025); }.exercise-number { font-size: 11px; color: rgba(255,255,255,.5); font-weight: 900; }.exercise-letter { position: relative; z-index: 2; align-self: center; margin-right: 30px; width: 72px; height: 72px; border-radius: 24px; background: var(--acid); color: var(--ink); display: grid; place-items: center; font-size: 28px; font-weight: 950; transform: rotate(6deg); }.exercise-info { padding: 18px; }.exercise-title-row { display: flex; justify-content: space-between; gap: 10px; }.exercise-title-row h2 { font-size: 27px; margin-bottom: 5px; }.exercise-title-row p { margin-bottom: 0; font-size: 11px; }.info-chip { align-self: flex-start; background: var(--lavender); border-radius: 99px; padding: 7px 9px; font-size: 8px; font-weight: 900; white-space: nowrap; }
.form-cue-inline { background: var(--paper-2); border-radius: 15px; padding: 12px; margin: 15px 0 8px; font-size: 11px; line-height: 1.45; display: flex; gap: 9px; align-items: flex-start; }.form-cue-inline svg { width: 17px; flex: 0 0 auto; }
.sets-table { width: 100%; border-collapse: collapse; }.sets-table th { text-align: center; color: var(--muted); font-size: 7px; letter-spacing: .09em; padding: 8px 3px; }.sets-table th:nth-child(2) { text-align: left; }.sets-table td { padding: 6px 3px; border-top: 1px solid var(--line); text-align: center; font-size: 11px; }.sets-table td:nth-child(2) { color: var(--muted); text-align: left; font-size: 9px; }.set-number { width: 26px; height: 26px; border-radius: 9px; background: var(--paper-2); display: grid; place-items: center; margin: auto; font-weight: 850; }.set-input { width: 55px; max-width: 100%; border: 1px solid var(--line); background: white; border-radius: 9px; padding: 8px 5px; text-align: center; }.complete-set { width: 32px; height: 32px; border: 1px solid var(--line); background: white; border-radius: 10px; cursor: pointer; display: grid; place-items: center; margin: auto; }.complete-set svg { width: 16px; }.sets-table tr.completed td { opacity: .62; }.sets-table tr.completed .complete-set { background: var(--acid); border-color: var(--acid-deep); opacity: 1; }.sets-table tr.completed .set-input { background: var(--paper-2); }
.exercise-controls { display: flex; gap: 8px; margin-top: 14px; }.exercise-controls button { flex: 1; }.workout-bottom-actions { position: sticky; bottom: 0; padding: 13px 0 calc(12px + env(safe-area-inset-bottom)); background: linear-gradient(transparent, var(--paper) 25%); display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: 14px; }.workout-bottom-actions button { justify-content: center; }
.rest-timer-toast { position: fixed; z-index: 80; left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); transform: translateX(-50%); min-width: 240px; background: var(--ink); color: white; padding: 12px 13px 12px 16px; border-radius: 17px; display: flex; align-items: center; justify-content: space-between; gap: 30px; box-shadow: 0 18px 55px rgba(0,0,0,.28); }.rest-timer-toast[hidden] { display: none; }.rest-timer-toast small, .rest-timer-toast strong { display: block; }.rest-timer-toast small { color: rgba(255,255,255,.45); font-size: 7px; letter-spacing: .1em; font-weight: 900; }.rest-timer-toast strong { font-size: 18px; margin-top: 2px; color: var(--acid); }.rest-timer-toast button { border: 0; background: rgba(255,255,255,.1); color: white; border-radius: 11px; padding: 9px 12px; font-weight: 850; cursor: pointer; }
.modal-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(12,14,16,.6); backdrop-filter: blur(8px); padding: 18px; display: grid; place-items: center; }.modal-backdrop[hidden] { display: none; }.finish-modal-card { width: min(420px, 100%); background: var(--surface); border-radius: 28px; padding: 25px; text-align: center; box-shadow: 0 30px 100px rgba(0,0,0,.3); }.success-ring { width: 66px; height: 66px; background: var(--acid); border-radius: 50%; display: grid; place-items: center; margin: 0 auto 18px; box-shadow: 0 0 0 9px rgba(155,226,46,.14); }.success-ring svg { width: 28px; }.finish-modal-card h2 { font-size: 34px; margin-bottom: 10px; }.finish-modal-card > p:not(.eyebrow) { font-size: 12px; }.finish-stats { display: grid; grid-template-columns: repeat(3,1fr); background: var(--paper-2); border-radius: 18px; padding: 14px; margin: 18px 0; }.finish-stats div { border-right: 1px solid var(--line); }.finish-stats div:last-child { border: 0; }.finish-stats small, .finish-stats strong { display: block; }.finish-stats small { font-size: 7px; color: var(--muted); font-weight: 900; }.finish-stats strong { font-size: 15px; margin-top: 5px; }

@media (min-width: 680px) {
  .view { padding: 38px 30px 60px; }
  .two-card-grid { grid-template-columns: 1fr 1fr; }
  .week-card { padding: 22px; }
  .plan-day { padding: 20px; grid-template-columns: 68px 1fr; }
  .program-overview { grid-template-columns: 1.5fr .8fr; }
  .progress-summary-grid { grid-template-columns: repeat(4,1fr); }
  .guide-columns, .modal-guide-columns { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 940px) {
  .app-shell { display: grid; grid-template-columns: 220px 1fr; max-width: 1440px; margin: 0 auto; }
  .desktop-nav { display: flex; position: sticky; top: 0; height: 100vh; flex-direction: column; padding: 28px 18px 22px; border-right: 1px solid var(--line); background: rgba(248,247,242,.65); backdrop-filter: blur(18px); }
  .desktop-nav .brand { padding: 0 10px; }
  .desktop-nav-links { display: grid; gap: 6px; margin-top: 50px; }
  .desktop-nav .nav-item { justify-content: flex-start; color: var(--muted); padding: 13px 14px; font-size: 12px; gap: 12px; }
  .desktop-nav .nav-item.active { background: var(--ink); color: var(--acid); }
  .desktop-nav-footer { margin-top: auto; display: flex; gap: 10px; align-items: center; padding: 12px 8px; }.desktop-nav-footer strong, .desktop-nav-footer small { display: block; }.desktop-nav-footer strong { font-size: 12px; }.desktop-nav-footer small { font-size: 9px; color: var(--muted); margin-top: 3px; }
  .mobile-header, .bottom-nav { display: none; }
  .main-area { padding-bottom: 0; min-width: 0; }
  .view { padding: 56px 48px 80px; }
  .desktop-only { display: grid; }
  .home-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 18px; align-items: start; }
  .home-rail { display: block; padding-top: 88px; }
  .form-library-grid { grid-template-columns: 270px minmax(0,1fr); align-items: start; }
  .exercise-browser { position: sticky; top: 30px; max-height: calc(100vh - 60px); overflow: hidden; }
  .exercise-list { display: grid; overflow-y: auto; overflow-x: hidden; max-height: calc(100vh - 140px); padding-right: 3px; }
  .exercise-library-item { min-width: 0; width: 100%; }
  .movement-demo-card { min-height: 440px; }
  .movement-demo svg { height: 320px; }
  .charts-grid { grid-template-columns: minmax(0,1.55fr) minmax(300px,.75fr); }
  .chart-card.wide { min-width: 0; }
  .plan-panel.active { max-width: 920px; }
  .workout-view { max-width: 780px; margin: 0 auto; padding-top: 38px; }
}

@media (max-width: 420px) {
  h1 { font-size: 36px; }
  .hero-copy { align-items: flex-end; }.focus-orbit { width: 70px; height: 70px; }.orbit-center { width: 36px; height: 36px; }
  .hero-workout-card { padding: 18px; }.hero-copy h2 { font-size: 34px; }
  .week-days { gap: 2px; }.day em { font-size: 7px; }
  .page-header { align-items: flex-start; flex-direction: column; }
  .form-detail-head { flex-direction: column; }
  .guide-plan-button { width: 100%; }
  .guide-meta { grid-template-columns: 1fr; }
  .guide-meta span { border-right: 0; border-bottom: 1px solid var(--line); padding: 9px 5px; }
  .guide-meta span:last-child { border-bottom: 0; }
  .movement-demo-card { min-height: 330px; }
  .movement-demo svg { height: 225px; }
  .lift-row { grid-template-columns: 34px minmax(100px,1fr) 54px auto; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}


/* Exercise library and detail sheet. Pattern adapted from Workout.cool's MIT-licensed
   exercise media modal; demonstration media comes from Free Exercise DB (Unlicense). */
body.modal-open { overflow: hidden; }
.form-library-view { max-width: 820px; margin: 0 auto; }
.library-topbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.library-topbar h1 { margin: 0; font-size: clamp(38px, 9vw, 48px); line-height: .95; letter-spacing: -.045em; }
.library-filter-button { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.66); box-shadow: 0 8px 26px rgba(12,14,16,.08); }
.library-filter-button svg { width: 20px; }
.library-search { height: 48px; padding: 0 15px; display: flex; align-items: center; gap: 10px; border-radius: 15px; background: rgba(118,118,128,.12); margin-bottom: 12px; }
.library-search svg { width: 18px; color: #787878; }
.library-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 15px; color: var(--ink); }
.library-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 -2px 22px; padding: 2px; }
.library-chips::-webkit-scrollbar { display: none; }
.library-chips button { border: 1px solid var(--line); background: rgba(255,255,255,.58); border-radius: 999px; white-space: nowrap; padding: 9px 13px; font-size: 12px; font-weight: 800; }
.library-chips button.active { background: var(--ink); color: white; border-color: var(--ink); }
.library-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 4px 9px; color: var(--muted); }
.library-section-heading strong { color: var(--ink); font-size: 14px; }
.library-section-heading span { font-size: 10px; }
.native-exercise-list { overflow: hidden; background: rgba(255,255,255,.75); border: 1px solid rgba(0,0,0,.08); border-radius: 22px; box-shadow: 0 18px 48px rgba(12,14,16,.08); }
.native-exercise-row { width: 100%; min-height: 78px; display: grid; grid-template-columns: 58px minmax(0,1fr) 20px; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border: 0; border-bottom: 1px solid rgba(0,0,0,.07); background: transparent; text-align: left; cursor: pointer; }
.native-exercise-row:last-child { border-bottom: 0; }
.native-exercise-row:active { background: rgba(118,118,128,.1); }
.native-exercise-photo { width: 58px; height: 58px; overflow: hidden; border-radius: 14px; background: #e5e5e5; }
.native-exercise-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.native-exercise-copy { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.native-exercise-copy strong { font-size: 15px; letter-spacing: -.015em; }
.native-exercise-copy small { color: var(--muted); font-size: 11px; }
.native-exercise-row > i { display: grid; color: #a0a0a0; }
.native-exercise-row > i svg { width: 16px; }
.library-credit { margin: 12px 4px 0; font-size: 9px; color: var(--muted); }

.exercise-detail-modal { padding: 0; align-items: flex-end; background: rgba(0,0,0,.34); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.exercise-detail-sheet { width: min(680px,100%); max-height: calc(100dvh - 12px); overflow-y: auto; overscroll-behavior: contain; background: #f7f7f8; border-radius: 30px 30px 0 0; box-shadow: 0 -18px 80px rgba(0,0,0,.28); animation: sheetUp .28s cubic-bezier(.2,.8,.2,1); }
@keyframes sheetUp { from { transform: translateY(24px); opacity: .6; } }
.sheet-handle { width: 38px; height: 5px; border-radius: 999px; background: rgba(60,60,67,.28); margin: 8px auto 2px; }
.exercise-detail-toolbar { position: sticky; top: 0; z-index: 4; height: 54px; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; padding: 4px 12px; background: rgba(247,247,248,.78); backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%); }
.sheet-toolbar-title { text-align: center; font-size: 13px; font-weight: 850; }
.sheet-circle-button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(118,118,128,.12); display: grid; place-items: center; }
.sheet-circle-button svg { width: 18px; }
.exercise-media-panel { position: relative; aspect-ratio: 4/3; margin: 0 12px; overflow: hidden; border-radius: 22px; background: #111; }
.exercise-media-panel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .18s ease; }
.media-gradient { position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(transparent,rgba(0,0,0,.42)); pointer-events: none; }
.media-phase-switch { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); display: grid; grid-template-columns: 1fr 1fr; width: 176px; padding: 3px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(30,30,30,.42); backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); }
.media-phase-switch button { height: 31px; border: 0; border-radius: 999px; background: transparent; color: rgba(255,255,255,.75); font-size: 11px; font-weight: 850; }
.media-phase-switch button.active { background: rgba(255,255,255,.94); color: #111; box-shadow: 0 3px 12px rgba(0,0,0,.18); }
.media-phase-switch button:disabled { opacity: .35; }
.exercise-detail-content { padding: 22px 18px calc(28px + env(safe-area-inset-bottom)); }
.detail-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.detail-overline { margin: 0 0 5px; font-size: 9px; font-weight: 900; letter-spacing: .09em; color: #777; }
.detail-title-row h2 { margin: 0; font-size: 34px; line-height: 1; letter-spacing: -.045em; }
.plan-check { flex: 0 0 auto; display: flex; align-items: center; gap: 5px; border-radius: 999px; background: rgba(87,199,45,.12); color: #277b13; padding: 7px 10px; font-size: 10px; font-weight: 850; }
.plan-check svg { width: 14px; }
.detail-summary { margin: 12px 0 18px; color: #68686d; font-size: 13px; line-height: 1.48; }
.detail-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 13px; background: rgba(118,118,128,.12); margin-bottom: 14px; }
.detail-tabs button { height: 34px; border: 0; border-radius: 10px; background: transparent; font-size: 12px; font-weight: 850; color: #69696e; }
.detail-tabs button.active { background: white; color: #111; box-shadow: 0 2px 8px rgba(0,0,0,.09); }
.detail-tab-panel { display: none; }
.detail-tab-panel.active { display: block; }
.single-cue { display: flex; flex-direction: column; gap: 5px; padding: 15px 16px; border-radius: 17px; background: #e8f6d2; margin-bottom: 12px; }
.single-cue span,.watch-out-block > span,.muscle-detail-card span { color: #647054; font-size: 8px; font-weight: 900; letter-spacing: .09em; }
.single-cue strong { font-size: 15px; line-height: 1.25; }
.native-instruction-list { counter-reset: step; list-style: none; padding: 0; margin: 0; overflow: hidden; background: white; border-radius: 18px; border: 1px solid rgba(0,0,0,.07); }
.native-instruction-list li { counter-increment: step; position: relative; min-height: 58px; padding: 14px 14px 14px 51px; color: #4f4f55; font-size: 12px; line-height: 1.45; border-bottom: 1px solid rgba(0,0,0,.07); }
.native-instruction-list li:last-child { border-bottom: 0; }
.native-instruction-list li::before { content: counter(step); position: absolute; left: 14px; top: 13px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: #111; color: white; font-size: 10px; font-weight: 900; }
.watch-out-block { margin-top: 12px; padding: 16px; border-radius: 18px; background: white; border: 1px solid rgba(0,0,0,.07); }
.watch-out-block > span { color: #8f5b55; }
.watch-out-block ul { margin: 10px 0 0; padding-left: 17px; }
.watch-out-block li { color: #6c6261; font-size: 11px; line-height: 1.45; padding: 3px 0; }
.muscle-detail-card { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgba(0,0,0,.07); border-radius: 18px; background: rgba(0,0,0,.08); }
.muscle-detail-card div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px; background: white; }
.muscle-detail-card span { color: #777; }
.muscle-detail-card strong { font-size: 13px; }
.exercise-detail-done { margin-top: 16px; }
.detail-source { margin: 9px 0 0; text-align: center; color: #999; font-size: 8px; }

@media (min-width: 760px) {
  .exercise-detail-modal { align-items: center; justify-content: center; padding: 24px; }
  .exercise-detail-sheet { max-height: min(880px,calc(100vh - 48px)); border-radius: 30px; }
  .native-exercise-list { display: grid; grid-template-columns: 1fr 1fr; }
  .native-exercise-row:nth-child(odd) { border-right: 1px solid rgba(0,0,0,.07); }
  .native-exercise-row:nth-last-child(-n+2) { border-bottom: 0; }
}
