:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color-scheme:light dark;--bg: #f2f5f1;--surface: #ffffff;--surface-raised: #ffffff;--surface-soft: #e8eee9;--surface-accent: #dceee3;--text: #17211b;--text-secondary: #526158;--text-tertiary: #6c776f;--border: #c8d1ca;--border-strong: #89968e;--accent: #176b45;--accent-strong: #0e5435;--accent-text: #ffffff;--danger: #a42b21;--warning: #8a4b00;--warning-bg: #fff0d7;--focus: #005fcc;--strength: #c84600;--cardio: #007a99;--mobility: #087a4b;--rest: #806500;--shadow: 0 10px 34px rgba(25, 54, 38, .09);--radius-sm: 12px;--radius: 18px;--radius-lg: 26px}:root[data-theme=dark]{--bg: #121212;--surface: #2a2a2a;--surface-raised: #303030;--surface-soft: #1c1c1c;--surface-accent: #253122;--text: #f7f7f7;--text-secondary: #d0d0d0;--text-tertiary: #b8b8b8;--border: #4b4b4b;--border-strong: #7d7d7d;--accent: #39ff14;--accent-strong: #68ff4d;--accent-text: #071104;--danger: #ff7b70;--warning: #ffd60a;--warning-bg: #383000;--focus: #00e5ff;--strength: #ff6700;--cardio: #00e5ff;--mobility: #52f2a8;--rest: #ffd60a;--shadow: 0 16px 42px rgba(0, 0, 0, .42)}@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg: #121212;--surface: #2a2a2a;--surface-raised: #303030;--surface-soft: #1c1c1c;--surface-accent: #253122;--text: #f7f7f7;--text-secondary: #d0d0d0;--text-tertiary: #b8b8b8;--border: #4b4b4b;--border-strong: #7d7d7d;--accent: #39ff14;--accent-strong: #68ff4d;--accent-text: #071104;--danger: #ff7b70;--warning: #ffd60a;--warning-bg: #383000;--focus: #00e5ff;--strength: #ff6700;--cardio: #00e5ff;--mobility: #52f2a8;--rest: #ffd60a;--shadow: 0 16px 42px rgba(0, 0, 0, .42)}}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-width:320px;min-height:100%;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{color:inherit;transition:background-color .24s ease,border-color .24s ease,color .24s ease,transform .16s ease,opacity .24s ease}button:active:not(:disabled){transform:scale(.975)}button,summary,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(30px,8vw,40px);line-height:1.04;letter-spacing:-.035em}h2{font-size:20px;line-height:1.2;letter-spacing:-.015em}p{color:var(--text-secondary);line-height:1.5}.icon{flex:0 0 auto}.app-shell{width:100%;max-width:520px;min-height:100dvh;margin:0 auto;background:var(--bg);position:relative;overflow-x:hidden;isolation:isolate}.app-shell--full{background:var(--bg)}.screen{padding:max(22px,env(safe-area-inset-top)) 18px calc(104px + env(safe-area-inset-bottom))}.fullscreen{min-height:100dvh;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.page-enter{animation:enter .34s cubic-bezier(.22,.8,.28,1) both}@keyframes enter{0%{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.tone-strength{--context-accent: var(--strength)}.tone-cardio{--context-accent: var(--cardio)}.tone-mobility{--context-accent: var(--mobility)}.tone-rest{--context-accent: var(--rest)}.eyebrow{display:block;color:var(--text-secondary);font-size:12px;line-height:1.2;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.lead{max-width:390px;font-size:17px;margin-bottom:28px}.lead-small{font-size:16px}.stack{display:grid;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:var(--accent-text)}.onboarding{min-height:100dvh;padding:max(22px,env(safe-area-inset-top)) 20px calc(108px + env(safe-area-inset-bottom));position:relative}.onboarding .brand{margin-bottom:30px}.onboarding>.eyebrow{margin:26px 0 10px}.step-line{height:4px;background:var(--surface-soft);border-radius:999px;overflow:hidden}.step-line span{height:100%;display:block;background:var(--accent);border-radius:inherit;transition:width .25s ease}.frequency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.frequency{min-height:82px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid;align-content:center;justify-items:center;gap:2px;cursor:pointer}.frequency strong{font-size:26px}.frequency span{color:var(--text-secondary);font-size:13px}.frequency.is-selected{background:var(--surface-accent);border:2px solid var(--accent);color:var(--accent-strong)}.choice-card{width:100%;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.choice-card.is-selected{border:2px solid var(--accent);background:var(--surface-accent)}.choice-main,.choice-main>span{display:block}.choice-main{flex:1}.choice-main>span:last-child{margin-top:6px;color:var(--text-secondary);font-size:14px;line-height:1.35}.choice-title-row{display:flex!important;align-items:center;flex-wrap:wrap;gap:8px}.badge{display:inline-flex!important;width:fit-content;padding:4px 7px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.radio-dot{width:22px;height:22px;border:2px solid var(--border-strong);border-radius:50%;position:relative}.is-selected .radio-dot{border-color:var(--accent)}.is-selected .radio-dot:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--accent)}.program-hero{padding:22px;background:var(--surface-accent);border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:var(--radius-lg)}.program-hero h2{margin:8px 0;font-size:26px}.program-hero p{margin-bottom:0}.day-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.day-preview summary{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;list-style:none}.day-preview summary::-webkit-details-marker{display:none}.day-preview summary strong{display:block;margin-top:4px}.day-preview[open] summary .icon{transform:rotate(90deg)}.day-preview>p{padding:0 16px;margin-bottom:10px;font-size:14px}.day-preview ol{padding:0 16px 10px 44px}.day-preview li{padding:8px 0}.day-preview li span,.day-preview li small{display:block}.day-preview li small{color:var(--text-secondary);margin-top:3px}.recommendation-banner{position:relative;padding:17px 48px 17px 17px;background:var(--surface);border:1px solid var(--border-strong);border-left:4px solid var(--rest);border-radius:var(--radius);box-shadow:var(--shadow)}.recommendation-banner strong{display:block;margin-bottom:6px;font-size:16px}.recommendation-banner p{margin:0;font-size:14px}.recommendation-banner>button{position:absolute;top:8px;right:8px;width:40px;height:40px;display:grid;place-items:center;color:var(--text-secondary);background:transparent;border:0;border-radius:12px;font-size:26px;cursor:pointer}.date-card{display:grid;gap:10px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.date-card>span{font-weight:700}.date-card input{width:100%;min-height:52px;padding:0 14px;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.notice{margin-top:14px;padding:14px;display:flex;gap:10px;color:var(--text-secondary);background:var(--surface-soft);border-radius:var(--radius-sm);font-size:14px;line-height:1.45}.success-icon{width:48px;height:48px;display:grid;place-items:center;color:var(--accent-text);background:var(--accent);border-radius:50%}.schedule-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px 14px}.schedule-row{min-height:66px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.schedule-row:last-child{border-bottom:0}.schedule-row>span:nth-child(2){min-width:0}.schedule-row strong,.schedule-row small{display:block}.schedule-row small{color:var(--text-secondary);margin-top:4px}.day-number{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);font-weight:750}.onboarding-actions{position:fixed;z-index:10;left:50%;bottom:0;width:min(520px,100%);transform:translate(-50%);display:flex;justify-content:flex-end;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -10px 24px #0000002e}.button{min-height:54px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:15px;border:0;font-weight:760;cursor:pointer}.button--primary{flex:1;background:var(--accent);color:var(--accent-text)}.button--primary:active{background:var(--accent-strong)}.button--secondary{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.button--ghost{background:transparent;color:var(--text)}.button--light{width:100%;background:var(--accent);color:var(--accent-text)}.icon-button{width:48px;height:48px;display:grid;place-items:center;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:15px;cursor:pointer}.text-button{min-height:44px;padding:0;background:transparent;border:0;color:var(--accent-strong);font-weight:750;cursor:pointer}.text-button--danger{color:var(--danger);padding:0 4px;font-size:13px}.screen-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.screen-header h1{margin:5px 0 0}.action-hero{padding:22px;border-radius:var(--radius-lg);color:var(--text);background:linear-gradient(145deg,var(--surface),var(--surface-raised));border:1px solid var(--border-strong);box-shadow:var(--shadow)}.action-hero__top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:650;color:var(--text-secondary)}.status-pill{padding:6px 9px;color:var(--accent-strong);background:var(--surface-accent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:999px}.action-hero h2{margin:24px 0 8px;font-size:28px;color:#fff}.action-hero h2{color:var(--text)}.action-hero p{margin-bottom:20px;color:var(--text-secondary)}.section-block{margin-top:18px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.section-block--flat{padding:18px 0 0;background:transparent;border:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h2{margin:0}.section-title .eyebrow+h2{margin-top:4px}.mini-stat{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--surface-soft);color:var(--accent-strong);font-weight:800}.program-progress{height:8px;margin:18px 0 9px;background:var(--surface-soft);border-radius:99px;overflow:hidden}.program-progress span{height:100%;display:block;border-radius:inherit;background:var(--accent)}.section-block small{color:var(--text-secondary)}.visit-list{margin-top:10px}.visit-row{min-height:74px;display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--border)}.visit-row:last-child{border-bottom:0}.visit-row.is-current{margin:0 -10px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.date-tile{width:48px;height:52px;display:grid;align-content:center;justify-items:center;border-radius:13px;background:var(--surface-soft)}.date-tile strong{font-size:19px}.date-tile span{color:var(--text-secondary);font-size:11px;text-transform:uppercase}.visit-copy{flex:1;min-width:0}.visit-copy strong,.visit-copy span{display:block}.visit-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visit-copy span{margin-top:5px;color:var(--text-secondary);font-size:13px}.current-mark{color:var(--accent-strong);font-size:12px;font-weight:750}.pending-program{margin-top:14px;padding:12px;display:flex;align-items:flex-start;gap:9px;color:var(--text-secondary);background:var(--surface-soft);border-radius:var(--radius-sm);font-size:13px;line-height:1.4}.pending-program strong{color:var(--text)}.empty-action{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:var(--accent-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-weight:750;cursor:pointer}.bottom-nav{position:fixed;z-index:40;left:50%;bottom:0;width:min(520px,100%);transform:translate(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -12px 26px #00000047}.bottom-nav button{min-height:54px;padding:5px 2px;display:grid;justify-items:center;align-content:center;gap:3px;color:var(--text-secondary);background:transparent;border:0;border-radius:12px;cursor:pointer}.bottom-nav span{font-size:10px;font-weight:650}.bottom-nav button.is-active{color:var(--accent-strong);background:var(--surface-accent);transform:translateY(-1px)}.save-error{position:sticky;z-index:30;top:0;padding:12px 16px;color:#fff;background:var(--danger);font-size:14px;font-weight:650}.topbar{min-height:calc(74px + env(safe-area-inset-top));padding:max(12px,env(safe-area-inset-top)) 14px 10px;display:flex;align-items:center;gap:8px;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;z-index:20;top:0;box-shadow:0 8px 20px #0000001f}.topbar>div{flex:1;min-width:0}.topbar strong,.topbar span{display:block}.topbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar span{margin-top:3px;color:var(--text-secondary);font-size:12px}.topbar--exercise{align-items:flex-start}.topbar--exercise .icon-button{flex:0 0 auto}.topbar--exercise>div{padding-top:5px}.timer-strip{min-height:46px;padding:0 18px;display:flex;align-items:center;gap:9px;color:#090909;background:var(--context-accent, var(--accent));transition:background-color .3s ease}.timer-strip span{flex:1;font-size:13px}.workout-content,.exercise-detail,.summary-content,.picker-content,.settings-content{padding:18px 18px 32px}.progress-card{display:flex;align-items:center;gap:18px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.progress-ring{--progress: 0deg;width:78px;height:78px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),var(--surface-soft) 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.progress-ring span{z-index:1;font-weight:800}.progress-card h2{margin:5px 0;font-size:26px}.progress-card p{margin:0;font-size:13px}.exercise-list{margin-top:16px;display:grid;gap:10px}.exercise-card-wrap{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--context-accent, var(--accent));border-radius:var(--radius);overflow:hidden;transition:border-color .24s ease,transform .2s ease}.exercise-card{width:100%;min-height:96px;padding:14px 12px;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:0;border-radius:var(--radius);cursor:pointer}.exercise-index{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;font-weight:800}.exercise-index.status-complete{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.exercise-index.status-in_progress{color:var(--warning);background:var(--warning-bg);border-color:color-mix(in srgb,var(--warning) 50%,var(--border))}.exercise-card__copy{flex:1;min-width:0}.exercise-card__copy>span,.exercise-card__copy>small{display:block}.exercise-card__title{display:flex!important;align-items:center;gap:6px}.exercise-card__title strong{font-size:17px;line-height:1.25;letter-spacing:-.01em;white-space:normal}.exercise-card__copy>span:nth-child(2){margin-top:5px;color:var(--text-secondary);font-size:13px}.exercise-card__copy>small{margin-top:6px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-top:1px solid var(--border);background:var(--border);animation:reveal-actions .24s ease both}.exercise-edit-actions button{min-height:48px;background:var(--surface-raised);border:0;font-weight:750;cursor:pointer}.exercise-edit-actions button:first-child{color:var(--context-accent, var(--accent-strong))}.exercise-edit-actions button.is-danger{color:var(--danger)}@keyframes reveal-actions{0%{opacity:0;transform:translateY(-5px)}}.add-row{width:100%;min-height:58px;margin-top:12px;display:flex;align-items:center;gap:12px;padding:0 14px;background:transparent;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--accent-strong);font-weight:750;cursor:pointer}.add-row>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--surface-accent)}.note-field{display:grid;gap:10px;margin-top:20px}.note-field>span{display:flex;align-items:center;gap:7px;font-weight:750}textarea{resize:vertical}.note-field textarea,.note-editor textarea{width:100%;padding:13px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);line-height:1.45}.reset-draft-row{width:100%;min-height:48px;margin-top:12px;color:var(--danger);background:transparent;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--border));border-radius:var(--radius-sm);font-weight:750;cursor:pointer}.sticky-action{position:fixed;z-index:35;left:50%;bottom:0;width:min(520px,100%);transform:translate(-50%);padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -10px 24px #00000038}.sticky-action .button{width:100%}.sticky-action .button span{margin-left:auto;padding:3px 7px;color:var(--accent-text);background:color-mix(in srgb,var(--accent-text) 18%,transparent);border-radius:8px}.field-error{display:block;margin-top:7px;color:var(--danger);text-align:center}.exercise-visual{height:184px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 65% 30%,color-mix(in srgb,var(--context-accent, var(--accent)) 24%,transparent),transparent 46%),var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-lg)}.visual-glyph{width:88px;height:88px;display:grid;place-items:center;color:var(--context-accent, var(--accent-strong));border:2px solid color-mix(in srgb,var(--context-accent, var(--accent)) 55%,var(--border));border-radius:30px;transform:rotate(-5deg)}.exercise-visual button,.show-visual{min-height:42px;padding:0 12px;color:var(--text);background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--border);border-radius:12px;cursor:pointer}.exercise-visual button{position:absolute;top:10px;right:10px}.show-visual{width:100%;margin-bottom:12px}.detail-card,.prescription-card,.technique-card{margin-top:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.detail-card__title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-weight:750}.detail-card__title small{color:var(--text-secondary);font-weight:500}.detail-card p{margin-bottom:0}.note-editor .text-button{margin-top:4px}.prescription-card{background:color-mix(in srgb,var(--context-accent, var(--accent)) 9%,var(--surface));border-left:3px solid var(--context-accent, var(--accent))}.prescription-card h2{margin:8px 0 5px;font-size:25px}.prescription-card p{margin:0;font-size:13px}.results-section{margin-top:24px}.result-list{display:grid;gap:9px;margin-top:12px}.result-row{min-height:70px;display:flex;align-items:center;gap:9px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.result-row.is-complete{border-color:color-mix(in srgb,var(--context-accent, var(--accent)) 60%,var(--border))}.set-number{width:24px;flex:0 0 auto;text-align:center;font-weight:800}.set-number sup{color:var(--accent-strong)}.result-fields{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.result-fields label{min-width:82px;flex:1;position:relative}.result-fields label>span{position:absolute;z-index:1;top:7px;left:10px;color:var(--text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}.result-fields input{width:100%;height:52px;padding:18px 10px 4px;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;font-weight:750}.row-check{width:24px;flex:0 0 auto;color:var(--context-accent, var(--accent-strong))}.timer-actions{flex-basis:100%;display:flex;gap:7px}.timer-actions button{min-height:42px;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:color-mix(in srgb,var(--context-accent, var(--accent)) 14%,var(--surface));color:var(--context-accent, var(--accent-strong));border:1px solid color-mix(in srgb,var(--context-accent, var(--accent)) 55%,var(--border));border-radius:10px;font-weight:750;cursor:pointer}.timer-value,.interval-state{min-width:72px;padding-bottom:14px;color:var(--text-secondary);text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.interval-state.is-rest{color:var(--rest)}.add-set{min-height:48px;margin-top:10px;padding:0 10px;display:flex;align-items:center;gap:6px;color:var(--accent-strong);background:transparent;border:0;font-weight:750;cursor:pointer}.technique-card summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;font-weight:750;list-style:none;cursor:pointer}.technique-card summary::-webkit-details-marker{display:none}.technique-card[open] summary .icon{transform:rotate(90deg)}.technique-card p{font-size:14px}.search-field{min-height:52px;display:flex;align-items:center;gap:8px;padding:0 13px;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px}.search-field input{width:100%;height:48px;color:var(--text);background:transparent;border:0;outline:0}.chip-scroll{display:flex;gap:8px;overflow-x:auto;padding:12px 1px;scrollbar-width:none}.chip-scroll::-webkit-scrollbar{display:none}.chip-scroll button{min-height:42px;padding:0 14px;flex:0 0 auto;background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer}.chip-scroll button.is-selected{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.library-list{display:grid}.library-row{width:100%;min-height:72px;display:flex;align-items:center;gap:12px;padding:9px 2px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);cursor:pointer}.library-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:var(--context-accent, var(--accent-strong));background:color-mix(in srgb,var(--context-accent, var(--accent)) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--context-accent, var(--accent)) 38%,var(--border))}.library-row>span:nth-child(2){flex:1;min-width:0}.library-row strong,.library-row small{display:block}.library-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-row small{margin-top:5px;color:var(--text-secondary)}.add-circle{width:36px;height:36px;display:grid;place-items:center;color:var(--accent-strong);background:var(--surface-accent);border-radius:50%}.summary-hero{padding:22px;text-align:center;border-radius:var(--radius-lg)}.summary-hero.is-complete{background:var(--surface-accent)}.summary-hero.is-partial{background:var(--warning-bg)}.summary-icon{width:58px;height:58px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;color:var(--accent-text);background:var(--accent)}.summary-hero h1{font-size:26px}.summary-hero p{margin-bottom:0}.summary-list{margin-top:16px;display:grid}.summary-list button{min-height:72px;display:flex;align-items:center;gap:10px;padding:10px 2px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);cursor:pointer}.summary-list button>span:nth-child(2){flex:1;min-width:0}.summary-list strong,.summary-list small{display:block}.summary-list small{margin-top:4px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-text{font-size:11px;font-weight:750}.status-text--not_started{color:var(--text-secondary)}.status-text--in_progress{color:var(--warning)}.status-text--complete{color:var(--accent-strong)}.immutable-note{margin-top:18px;padding:14px;display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary);background:var(--surface-soft);border-radius:var(--radius-sm);font-size:13px;line-height:1.45}.immutable-note strong{color:var(--text)}.immutable-note--warning{border:1px solid color-mix(in srgb,var(--warning) 55%,var(--border));background:var(--warning-bg)}.calendar-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;text-transform:capitalize}.calendar-head button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:12px;cursor:pointer}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{padding:8px 0;color:var(--text-secondary);text-align:center;font-size:11px;font-weight:750;text-transform:uppercase}.month-grid button{aspect-ratio:1;min-width:0;display:grid;align-content:center;justify-items:center;gap:3px;background:transparent;border:0;border-radius:12px;cursor:pointer}.month-grid button.is-today>span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.month-grid button.is-selected{color:var(--accent-text);background:var(--accent)}.month-grid i{width:5px;height:5px;border-radius:50%;background:var(--warning)}.month-grid button.is-selected i{background:var(--accent-text)}.month-grid i.is-done{width:12px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);border-radius:0;background:transparent;transform:rotate(-45deg)}.month-grid button.is-selected i.is-done{border-color:var(--accent-text)}.today-button{min-height:42px;margin:12px auto 0;display:block;padding:0 14px;color:var(--accent-strong);background:transparent;border:0;font-weight:750;cursor:pointer}.selected-day{margin-top:14px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.selected-day h2{margin:7px 0}.selected-day p{font-size:14px}.selected-day .button{width:100%}.completed-label{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong);font-weight:750}.planned-label{margin-top:10px;display:inline-flex;align-items:center;gap:6px;color:var(--cardio);font-weight:750}.empty-state{padding:42px 22px;display:grid;justify-items:center;text-align:center;color:var(--text-secondary)}.empty-state--tall{padding-top:22vh}.empty-state h2{margin:14px 0 6px;color:var(--text)}.empty-state p{max-width:310px}.modal-backdrop{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#000000b8;animation:modal-fade .24s ease both}.bottom-sheet{width:min(480px,100%);max-height:min(680px,calc(100dvh - 36px));padding:12px 20px 20px;overflow-y:auto;position:relative;background:var(--surface);border:1px solid var(--border-strong);border-top:3px solid var(--context-accent, var(--accent));border-radius:26px;box-shadow:var(--shadow);animation:sheet-in .3s cubic-bezier(.22,.8,.28,1) both}@keyframes modal-fade{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px) scale(.97)}}.sheet-handle{width:42px;height:5px;margin:0 auto 22px;background:var(--border-strong);border-radius:99px}.sheet-close{position:absolute;top:10px;right:10px;width:42px;height:42px;display:grid;place-items:center;color:var(--text-secondary);background:transparent;border:0;border-radius:12px;font-size:27px;cursor:pointer}.bottom-sheet h2{margin:8px 0;font-size:26px}.bottom-sheet .button{width:100%}.technique-copy{margin:18px 0;padding:14px;background:var(--surface-soft);border-radius:var(--radius-sm)}.technique-copy p{margin:8px 0 0}.cycle-prompt{min-height:100dvh;padding:max(22px,env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.cycle-prompt .brand{margin-bottom:auto}.cycle-visual{width:82px;height:82px;margin:28px 0 24px;display:grid;place-items:center;color:var(--accent-text);background:var(--accent);border-radius:28px;box-shadow:0 0 32px color-mix(in srgb,var(--accent) 28%,transparent)}.cycle-prompt h1{margin-top:10px}.cycle-actions{display:grid;gap:10px;margin-top:12px}.cycle-actions .button{width:100%}.duration-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:reveal-actions .24s ease both}.duration-menu button{min-height:50px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;color:var(--text);background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;cursor:pointer}.history-list{display:grid}.history-list button{min-height:78px;display:flex;align-items:center;gap:11px;padding:9px 2px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--border);cursor:pointer}.history-status{width:44px;height:44px;display:grid;place-items:center;border-radius:14px}.history-status.complete{color:var(--accent-strong);background:var(--surface-accent)}.history-status.partial{color:var(--warning);background:var(--warning-bg)}.history-list button>span:nth-child(2){flex:1;min-width:0}.history-list strong,.history-list small{display:block}.history-list small{margin-top:5px;color:var(--text-secondary);line-height:1.4}.history-hero{padding-bottom:18px}.history-hero h1{margin-top:12px;font-size:30px}.history-detail-list section{padding:15px 0;border-bottom:1px solid var(--border)}.history-detail-list section>div{display:flex;justify-content:space-between;gap:12px}.history-detail-list small{color:var(--text-secondary);text-align:right}.history-detail-list p{margin:8px 0 0;color:var(--text);font-weight:650}.history-detail-list blockquote{margin:10px 0 0;padding:8px 12px;color:var(--text-secondary);background:var(--surface-soft);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.settings-group{margin-bottom:18px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.settings-group h2{margin-bottom:14px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;background:var(--surface-soft);border-radius:13px}.segmented button{min-height:44px;padding:0 5px;background:transparent;border:0;border-radius:10px;font-size:13px;font-weight:650;cursor:pointer}.segmented button.is-selected{color:var(--text);background:var(--surface);box-shadow:0 2px 8px #00000014}.switch-row{min-height:66px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.switch-row strong,.switch-row small{display:block}.switch-row small{margin-top:4px;color:var(--text-secondary)}.switch-row input{appearance:none;width:52px;height:32px;flex:0 0 auto;padding:3px;background:var(--border-strong);border:0;border-radius:99px;cursor:pointer}.switch-row input:after{content:"";width:26px;height:26px;display:block;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0000003d;transition:transform .18s ease}.switch-row input:checked{background:var(--accent)}.switch-row input:checked:after{transform:translate(20px)}.info-row{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary)}.info-row strong{color:var(--text)}.settings-help{margin:14px 0 0;font-size:13px}.danger-row{width:100%;min-height:50px;padding:0;color:var(--danger);text-align:left;background:transparent;border:0;font-weight:750;cursor:pointer}@media(min-width:660px){body{padding:26px 0;background:color-mix(in srgb,var(--bg) 84%,#93a89a)}.app-shell{min-height:calc(100dvh - 52px);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.onboarding,.fullscreen{min-height:calc(100dvh - 54px)}.bottom-nav,.sticky-action,.onboarding-actions{bottom:26px;border-radius:0 0 28px 28px}.modal-backdrop{align-items:center}.bottom-sheet{border-radius:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:370px){.screen,.workout-content,.exercise-detail,.summary-content,.picker-content,.settings-content{padding-left:14px;padding-right:14px}.frequency-grid{grid-template-columns:repeat(3,1fr)}.bottom-nav span{font-size:9px}}
