:root{font-family:Inter,ui-rounded,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;color:#162522;background:#f6f7f5;font-synthesis:none;text-rendering:optimizeLegibility;--accent: #26766f;--accent-dark: #1d5e59;--accent-soft: #e2f0ec;--paper: #ffffff;--muted: #72807c;--line: #e5e9e6;--nav-height: 74px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #26766f;outline-offset:3px}.muted{color:var(--muted);font-size:14px;line-height:1.55;margin:16px 0}.calendar-header{position:sticky;top:0;z-index:15;padding:calc(8px + env(safe-area-inset-top)) 0 12px;background:#f6f7f5;border-bottom:1px solid var(--line)}.today-page{padding-top:0}.calendar-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-title h1{font-size:29px;line-height:1.2}.calendar-title button,.week-controls button{border:0;background:transparent;color:var(--accent);min-height:48px;font-weight:650}.calendar-title button{min-width:70px}.week-controls{display:flex;align-items:center;justify-content:space-between;font-size:12px}.week-controls button{min-width:78px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.week button{min-height:70px;border:0;background:#fff;color:var(--muted);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.week strong{font-size:20px;color:#162522}.week button[aria-current=date]{box-shadow:inset 0 0 0 2px var(--accent)}.week button.selected{background:var(--accent);color:#fff}.week .selected strong{color:#fff}.day-dot{height:9px;line-height:9px;font-size:16px}.resource-links{display:flex;gap:12px;margin:12px 0}.resource-links a{flex:1;display:grid;place-items:center;min-height:52px;background:var(--accent-soft);color:var(--accent-dark);border-radius:14px;font-weight:650}.empty-day{background:#fff;border-radius:26px;padding:40px 22px 26px;margin:16px 0;text-align:center}.empty-day p{line-height:1.6;color:var(--muted)}.empty-symbol{font-size:56px;color:#a9c9c1;margin-bottom:15px}.secondary-button,.danger-button{display:flex;align-items:center;justify-content:center;min-height:52px;width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;margin-top:10px;font-weight:650}.secondary-button{color:var(--accent-dark)}.danger-button{color:#934e43;background:#faf3f1}.set-options{color:var(--muted);font-size:13px}summary{min-height:48px;display:flex;align-items:center;padding:8px 12px;cursor:pointer}summary:before{content:"···";margin-right:10px;font-size:20px}.set-options[open]{padding-bottom:12px}.swipe-item,.swipe-content{min-width:0;touch-action:pan-y}.swipe-content{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.swipe-content a{-webkit-user-drag:none}.revealed-actions{display:flex;padding:5px 8px 8px;border-radius:0 0 16px 16px;background:var(--accent-soft)}.revealed-actions button,.revealed-actions a{min-height:52px;flex:1;margin-top:0;border:0;border-radius:12px}.sheet{position:fixed;inset:auto 0 0;max-height:88dvh;width:min(100%,540px);max-width:100%;margin:0 auto;padding:14px 20px calc(20px + env(safe-area-inset-bottom));border:0;border-radius:28px 28px 0 0;color:#162522;background:#f6f7f5;overflow-y:auto;overscroll-behavior:contain}.sheet::backdrop{background:#14282373}.sheet h2{margin:14px 0 22px;font-size:25px;letter-spacing:-.025em}.sheet-grip{width:40px;height:4px;background:#ced8d3;border-radius:4px;margin:0 auto}.sheet-content{min-width:0}.button-stack{display:grid;gap:10px;margin:20px 0}.button-stack button{width:100%;min-height:62px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;color:#23453e;text-align:left;font-weight:650;font-size:17px}.button-stack button span{display:block;margin-top:6px;font-size:13px;color:var(--muted)}.form-field{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:14px;font-weight:650}.form-field input,.form-field select,.form-field textarea,.report-text{min-width:0;max-width:100%;width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:#162522;font:inherit;font-size:18px;padding:12px;min-height:54px}.form-field textarea{min-height:100px}input[type=date]{appearance:none}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}.category-grid button{height:64px;min-height:64px;min-width:0;padding:8px 10px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#294f44;font-size:15px}.category-icon-slot{width:60px;height:48px;flex:0 0 60px;display:grid;place-items:center}.category-icon{width:58px;height:58px;max-width:none;object-fit:contain}.category-icon-slot--legs .category-icon,.category-icon-slot--abs .category-icon,.category-icon-slot--arms .category-icon{width:60px;height:60px}.category-icon-slot--cardio .category-icon,.category-icon-slot--other .category-icon{width:56px;height:56px}.exercise-name-list{display:grid;gap:6px}.exercise-name-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;width:100%;min-height:60px;align-items:center;gap:8px;padding:10px 14px;border:0;border-radius:14px;color:#21453c;background:#fff;font-size:16px;text-align:left}.exercise-name-row span{overflow-wrap:anywhere}.exercise-name-row small{color:var(--muted);font-size:11px}.exercise-name-row b{font-size:20px;font-weight:400}.group-back{min-height:48px;padding:0 10px;border:0;color:var(--accent);background:transparent;font-weight:700}.subcategory-tabs{display:flex;max-width:100%;gap:7px;margin:12px 0 18px;padding-bottom:5px;overflow-x:auto;scrollbar-width:none}.subcategory-tabs button{flex:0 0 auto;min-height:48px;padding:9px 14px;border:1px solid var(--line);border-radius:14px;color:var(--accent-dark);background:#fff}.previous-result{background:#e9f1ee;padding:16px 18px;border-radius:18px;margin-bottom:20px}.previous-result p{margin-bottom:4px;line-height:1.6}.previous-result a{display:flex;min-height:48px;align-items:center;color:var(--accent);font-size:14px}.program-exercise{background:#fff;padding:16px 12px;border-radius:24px;margin:24px 0}.program-exercise h2{font-size:21px;margin-bottom:10px}.order-controls,.feeling-options,.period-options{display:flex;gap:6px;margin:16px 0}.order-controls button,.feeling-options button,.period-options button{min-height:52px;flex:1;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--accent-dark);font-size:14px}button[aria-pressed=true]:not(.complete-button):not(.week button){background:var(--accent);color:#fff}.template-number{display:grid;place-items:center;color:var(--accent)}.editor-page{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.editor-page>h1{font-size:32px;overflow-wrap:anywhere}button.top-back{border:0;background:transparent}.history-list{display:grid;gap:12px;margin-top:24px}.history-list a{display:flex;flex-direction:column;gap:8px;padding:20px;min-height:70px;border-radius:20px;background:#fff;line-height:1.5}.history-list small{color:var(--muted)}.chart-card{background:#fff;border-radius:24px;padding:20px 16px;margin:25px 0}.chart-card h2{font-size:21px}.weight-chart{width:100%}.weight-chart text{font:12px sans-serif;fill:#5b7169}.summary-card{padding:18px;margin-top:18px;background:var(--accent-soft);border-radius:18px}.summary-card p{overflow-wrap:anywhere}.notice{padding:16px;border-radius:15px;background:#f5eedc;line-height:1.6}.toast{position:fixed;z-index:50;bottom:calc(var(--nav-height) + 20px + env(safe-area-inset-bottom));left:50%;width:max-content;max-width:calc(100% - 32px);padding:12px 18px;border-radius:999px;color:#fff;background:#183f39;box-shadow:0 10px 30px #14322c38;transform:translate(-50%);font-weight:700}.month-open{flex:1;min-width:0!important;font-size:12px;text-transform:lowercase}.month-controls{display:grid;grid-template-columns:52px 1fr 52px;gap:8px}.month-controls button{min-height:52px;border:1px solid var(--line);border-radius:14px;color:var(--accent-dark);background:#fff;font-weight:700}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.month-weekdays{margin-top:16px;color:var(--muted);font-size:12px;text-align:center}.month-grid{margin:8px 0}.month-grid button{position:relative;min-width:0;min-height:48px;border:0;border-radius:13px;color:#263d37;background:#fff;font-size:16px}.month-grid button.outside{color:#aab2af;background:transparent}.month-grid button[aria-current=date]{box-shadow:inset 0 0 0 2px var(--accent)}.month-grid button[aria-pressed=true]{color:#fff;background:var(--accent)}.month-grid i{position:absolute;right:0;bottom:1px;left:0;color:currentColor;font-size:15px;font-style:normal;text-align:center}.inline-title{display:flex;min-height:52px;align-items:center;gap:10px;margin:-8px 0;padding:4px 0;border:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;text-align:left}.inline-title span{color:var(--muted);font-size:17px}.inline-title-form input{width:100%;min-height:58px;margin-bottom:4px;padding:5px 10px;border:2px solid var(--accent);border-radius:12px;color:#162522;background:#fff;font-size:30px;font-weight:750}.program-exercise-heading{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:6px}.program-exercise-heading h2{min-width:0;margin:0;overflow-wrap:anywhere}.drag-handle{display:grid;width:48px;height:48px;padding:0;place-items:center;border:0;border-radius:14px;color:#879690;background:transparent;font-size:26px;touch-action:none;cursor:grab;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.drag-handle:active{color:var(--accent-dark);background:var(--accent-soft);cursor:grabbing}.reorder-list{min-width:0}.reorder-list>div{transition:transform .15s ease,opacity .15s ease}.reorder-list>div.dragging{position:relative;z-index:8;opacity:.82;transform:scale(1.018)}.reorder-list>div.dragging>*{box-shadow:0 15px 35px #17463d2e}.long-press{min-width:0;touch-action:pan-y}.sets-list{gap:7px}.weightless-set{grid-template-columns:60px minmax(0,1fr)}.progress-overview,.body-page{padding-bottom:calc(var(--nav-height) + 38px + env(safe-area-inset-bottom))}.progress-block,.body-values{margin:18px 0;padding:18px;border-radius:22px;background:#fff}.progress-block h2,.body-values h2{margin-bottom:14px;font-size:21px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat-grid div{display:flex;min-height:92px;justify-content:center;flex-direction:column;padding:12px;border-radius:15px;background:var(--accent-soft)}.stat-grid strong{font-size:28px}.stat-grid span{margin-top:4px;color:var(--muted);font-size:12px}.regularity-chart{display:flex;height:150px;align-items:flex-end;gap:4px;overflow:hidden}.regularity-chart>div{position:relative;display:flex;min-width:0;height:132px;flex:1;align-items:center;justify-content:flex-end;flex-direction:column}.regularity-chart span{width:min(100%,28px);min-height:18px;border-radius:7px 7px 3px 3px;background:var(--accent)}.regularity-chart small{max-width:100%;margin-top:4px;overflow:hidden;color:var(--muted);font-size:9px}.regularity-chart b{position:absolute;top:0;font-size:10px}.weight-trends{display:grid;gap:7px}.weight-trends a{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:#f7f9f8}.weight-trends span{display:flex;min-width:0;flex-direction:column;gap:4px}.weight-trends strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weight-trends small{color:var(--muted)}.weight-trends b{flex:0 0 auto;color:var(--accent-dark);font-size:14px}.body-values div{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}.body-values span{color:var(--muted)}.body-values strong{text-align:right}.measurement-form small{color:var(--muted);font-weight:500}.body-change{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.body-change span{display:flex;min-width:0;flex-direction:column;gap:4px;padding:9px;border-radius:12px;background:var(--accent-soft);color:var(--muted);font-size:11px}.body-change b{color:#163a34;font-size:14px}.sync-detail{padding:12px;font-size:14px;line-height:1.5;text-align:center}.sync-detail button,.sync-detail a{display:inline-flex;align-items:center;min-height:48px;border:0;padding:8px 14px;background:#fff;border-radius:12px;color:var(--accent)}@media(max-width:375px){.page{padding-left:10px;padding-right:10px}.week{gap:0}.period-options{flex-wrap:wrap}.period-options button{min-width:52px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{min-width:320px;min-height:100%;background:#f6f7f5}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 100% -10%,rgba(191,225,216,.28),transparent 34%),#f6f7f5}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}.page{width:min(100%,540px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(22px + env(safe-area-inset-top)) 18px 32px}.today-page{padding-bottom:calc(var(--nav-height) + 38px + env(safe-area-inset-bottom))}.brand{margin-bottom:12px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.17em}h1,h2,p{margin-top:0}h1{margin-bottom:2px;font-size:clamp(34px,9vw,42px);line-height:1.05;letter-spacing:-.045em}.today-header{display:flex;align-items:flex-end;justify-content:space-between;margin:6px 4px 34px}.date{margin:8px 0 0;color:var(--muted);font-size:18px;text-transform:lowercase}.session-total{display:flex;flex-direction:column;align-items:flex-end;padding-bottom:4px;color:var(--muted)}.session-total strong{color:var(--accent);font-size:28px;line-height:1}.session-total span{margin-top:4px;font-size:13px}.workout-section{padding:22px 14px 16px;border:1px solid rgba(25,54,48,.06);border-radius:28px;background:#ffffffe6;box-shadow:0 14px 38px #1e342f12}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 16px}.eyebrow{margin-bottom:7px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em}.section-heading h2{margin-bottom:0;font-size:25px;letter-spacing:-.035em}.active-pill{padding:7px 10px;border-radius:999px;color:var(--accent-dark);background:var(--accent-soft);font-size:12px;font-weight:700}.exercise-list{display:grid;gap:8px}.exercise-card-row{display:grid;grid-template-columns:48px minmax(0,1fr);min-width:0;align-items:center}.exercise-card{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;min-width:0;align-items:center;min-height:74px;padding:9px 8px 9px 5px;border-radius:20px;transition:background .12s ease,transform .12s ease}.exercise-card:active{background:#f1f6f4;transform:scale(.985)}.progress-icon{display:grid;place-items:center;width:48px;height:48px;color:#a3aca9;font-size:31px;font-weight:600}.progress-icon.in-progress{color:#d39a3a}.progress-icon.complete{width:42px;height:42px;margin:3px;border-radius:50%;color:#fff;background:var(--accent);font-size:23px}.exercise-card-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.exercise-card-copy strong{overflow:hidden;font-size:17px;font-weight:680;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.exercise-card-copy span{color:var(--muted);font-size:13px}.chevron{width:22px;color:#9aa5a2}.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;padding:5px 12px calc(5px + env(safe-area-inset-bottom));border-top:1px solid rgba(24,48,43,.08);background:#fcfdfceb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.bottom-nav-inner{display:grid;grid-template-columns:repeat(3,1fr);max-width:540px;margin:0 auto}.bottom-nav a{display:flex;min-height:62px;align-items:center;justify-content:center;flex-direction:column;gap:3px;border-radius:16px;color:#87918e;font-size:11px;font-weight:650}.bottom-nav a.active{color:var(--accent)}.bottom-nav svg{width:25px;height:25px}.sync-badge{display:flex;min-height:34px;align-items:center;justify-content:center;gap:8px;width:fit-content;margin:18px auto 0;padding:7px 12px;border-radius:999px;color:var(--muted);background:#ffffffb3;font-size:12px}.sync-dot{width:7px;height:7px;border-radius:50%;background:#b3bbb8}.sync-synced .sync-dot{background:var(--accent)}.sync-offline .sync-dot,.sync-error .sync-dot{background:#d39a3a}.top-back{display:inline-flex;min-height:52px;align-items:center;gap:8px;margin:-4px 0 24px -6px;padding:0 12px 0 6px;color:var(--accent-dark);font-size:16px;font-weight:650}.top-back svg,.bottom-back svg{width:25px;height:25px}.exercise-page{padding-bottom:calc(26px + env(safe-area-inset-bottom))}.exercise-header{margin:0 4px 28px}.exercise-header h1{max-width:420px;font-size:clamp(34px,9vw,45px)}.exercise-meta{margin:12px 0 0;color:var(--muted);font-size:15px}.warmup-card{margin-bottom:26px;padding:18px 20px;border-radius:20px;color:#27413b;background:var(--accent-soft);font-size:17px;line-height:1.6}.warmup-card .eyebrow{margin-bottom:8px}.sets-title{margin:0 4px 13px;font-size:18px;letter-spacing:-.02em}.sets-list{display:grid;gap:7px}.set-row{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:stretch;min-height:76px;padding:8px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 6px 20px #1f36310b;transition:border-color .14s ease,background .14s ease}.set-row.completed{border-color:#b8d9d1;background:#f7fbfa}.complete-button{position:relative;display:grid;min-width:56px;min-height:60px;place-items:center;border:0;border-radius:16px;color:#8e9996;background:#f1f3f2;cursor:pointer}.completed .complete-button{color:#fff;background:var(--accent)}.check-symbol{font-size:31px;font-weight:700;line-height:1}.set-number{position:absolute;top:6px;left:8px;font-size:10px;font-weight:800;opacity:.72}.value-field{display:flex;min-width:0;min-height:60px;align-items:center;justify-content:center;flex-direction:column;border-radius:15px;background:#f7f8f7}.field-label{margin-bottom:1px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.09em}.value-field input{width:100%;min-width:0;height:48px;padding:0 5px;border:0;outline:0;color:#182824;background:transparent;font-size:25px;font-weight:720;line-height:1;text-align:center;appearance:textfield;-moz-appearance:textfield}.value-field input::-webkit-outer-spin-button,.value-field input::-webkit-inner-spin-button{margin:0;appearance:none}.value-field:focus-within{outline:2px solid rgba(38,118,111,.25);background:#fff}.no-weight strong{margin-top:7px;color:#5e6c68;font-size:13px;font-weight:650}.add-set-button,.bottom-back,.primary-button{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;gap:9px;border-radius:18px;font-weight:700}.add-set-button{margin-top:14px;border:1px dashed #b4c7c2;color:var(--accent-dark);background:transparent}.add-set-button svg{width:22px}.bottom-back{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:10;margin-top:22px;padding:0 20px;color:#fff;background:var(--accent);box-shadow:0 12px 30px #1d5e593d}.placeholder-page,.centered-state,.login-page{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.placeholder-page{padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.placeholder-icon,.login-icon{display:grid;width:76px;height:76px;margin-bottom:20px;place-items:center;border-radius:24px;color:var(--accent);background:var(--accent-soft)}.placeholder-icon svg,.login-icon svg{width:36px}.placeholder-page h1,.centered-state h1,.login-page h1{font-size:32px}.placeholder-page p,.centered-state p,.login-page p{max-width:340px;color:var(--muted);font-size:17px;line-height:1.5}.state-mark{display:grid;width:68px;height:68px;margin-bottom:22px;place-items:center;border-radius:50%;color:#a76e1a;background:#fff0d7;font-size:30px;font-weight:800}.primary-button{margin-top:16px;border:0;padding:0 22px;color:#fff;background:var(--accent)}.primary-button:disabled{opacity:.65}.login-card{width:100%;max-width:400px;padding:30px 24px;border-radius:28px;background:#fff;box-shadow:0 16px 45px #1a332d17}.login-card .login-icon{margin-right:auto;margin-left:auto}.login-card form,.login-card label{display:flex;flex-direction:column}.login-card label{gap:8px;align-items:flex-start;color:#495955;font-size:13px;font-weight:700}.login-card input{width:100%;height:54px;padding:0 15px;border:1px solid var(--line);border-radius:14px;outline:none;font-size:17px}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #26766f1f}.form-error{margin-top:10px;color:#ad3e3e;font-size:13px}.loading-page{padding-top:calc(42px + env(safe-area-inset-top))}.skeleton{overflow:hidden;border-radius:18px;background:linear-gradient(90deg,#e9ecea 25%,#f4f5f4,#e9ecea 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.skeleton-title{width:56%;height:46px;margin-bottom:34px}.skeleton-card{height:82px;margin-bottom:12px}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:560px){.page{padding-right:24px;padding-left:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
