:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;--ink: #151922;--accent: #285de0;--muted: #636b79;--line: #e1e4eb;--soft: #f0f1f5;--meter: var(--accent);--danger: #a52e29;--page: #f5f5f8;--surface: #ffffff;--input: #f8f9fb;--on-solid: #ffffff;--success: #23683f;--success-bg: #edf7f0;--success-line: #abc6b5;--rest: #218547;color-scheme:light}:root[data-theme=dark]{--ink: #edf1f8;--accent: #a5bcff;--muted: #aeb8c9;--line: #3b475a;--soft: #283346;--page: #111824;--surface: #1b2433;--input: #202c3e;--on-solid: #111824;--danger: #ffb1a7;--success: #a3e7b9;--success-bg: #193528;--success-line: #467d59;--rest: #64d48b;color-scheme:dark}[data-theme=dark] :is(.sidebar,.panel,.account-link,.view-nav,.modal,.skip-link,.update-toast,.exercise-marker,.muscle-grid button,.week-day[aria-pressed=true],.account-signout .primary){background:var(--surface);border-color:var(--line)}[data-theme=dark] :is(.field input,.field select,.field textarea,.search-field input,.section-heading>select,.exercise-options button,.exercise-filters){background-color:var(--input);border-color:var(--line)}[data-theme=dark] :is(.exercise-options button:hover,.exercise-options button[aria-pressed=true],.meal-group .icon-button){background:var(--soft)}[data-theme=dark] :is(.exercise-add,.muscle-grid button[aria-pressed=true],.week-day[aria-pressed=true] strong){background:var(--ink);color:var(--on-solid)}[data-theme=dark] .notice,[data-theme=dark] .connection-banner{background:#3c3320;color:#f6d992;border-color:#796335}[data-theme=dark] .error{background:#40282b;color:var(--danger);border-color:#875651}[data-theme=dark] .success{background:var(--success-bg);color:var(--success);border-color:var(--success-line)}[data-theme=dark] :is(input,textarea)::placeholder{color:var(--muted)}[data-theme=dark] .danger-zone .primary{color:#111824}.programme-exercises{display:grid;gap:16px;margin-bottom:20px}.programme-exercise{border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:16px;background:var(--surface)}.programme-exercise h3{margin-bottom:8px}.programme-exercise .section-heading h3{display:flex;align-items:center;gap:8px}.programme-builder{padding:20px 0}.programme-cardio{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.workout-clock{font-variant-numeric:tabular-nums;font-size:32px;font-weight:750}.check-label{display:flex;align-items:center;gap:8px;min-height:48px;font-size:13px;cursor:pointer}.check-label input{width:24px;height:24px;accent-color:var(--rest)}.danger-text{color:var(--danger)}.guide-images{display:flex;gap:8px}.guide-images img{width:0;flex:1;min-width:0;max-height:300px;object-fit:contain;background:#fff;border-radius:12px}.demo-banner{padding:12px 20px;background:#fff1c9;color:#463611;text-align:center;font-size:13px}.nav-short-label{display:none}.profile-avatar{width:128px;margin-block:16px}.profile-avatar img{width:128px;height:128px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}.tracking-section h2{display:flex;align-items:center;gap:8px}.tracking-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block:20px}.tracking-stats p{margin:0;min-width:0}.tracking-stats strong,.tracking-stats span{display:block}.tracking-stats strong{font-size:22px;overflow-wrap:anywhere}.tracking-stats span{font-size:12px;color:var(--muted)}.completion-progress{width:100%;height:10px;accent-color:var(--rest)}.activity-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,1fr) auto;gap:12px;align-items:end}.reflection-grid{display:grid;gap:20px}.reflection-grid textarea{min-height:110px}.photo-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-block:20px}.photo-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 6px;border:1px dashed var(--line);border-radius:20px;background:var(--input);color:var(--ink)}.photo-slot.filled{background:var(--success-bg);border-color:var(--success-line);color:var(--success)}.photo-slot span,.photo-slot small{font-size:12px}.annual-calendar{margin-top:16px}.annual-calendar>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-weight:600}.annual-body{margin-top:16px}.year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px;margin-top:20px}.calendar-month{border:1px solid var(--line);border-radius:20px;padding:12px;background:var(--surface)}.calendar-month h3{text-transform:capitalize;text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.month-grid>span{color:var(--muted);font-size:12px}.month-grid button{min-height:38px;padding:4px 0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink)}.month-grid button[aria-pressed=true]{background:var(--accent);color:var(--on-solid)}.month-grid button:hover:not(:disabled){border-color:var(--accent)}@media(max-width:600px){.tracking-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-row{grid-template-columns:minmax(0,1fr) auto}.activity-row>.field:first-child{grid-column:1 / -1}}@media(min-width:801px){.demo-banner:has(+.app-shell){margin-left:236px}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}svg{flex-shrink:0}h1,h2,h3,p{margin:0 0 16px;overflow-wrap:anywhere}h1{font-size:clamp(30px,3vw,38px);line-height:1.2;letter-spacing:-1px;font-weight:750}h2{display:flex;align-items:center;gap:10px;font-size:19px;line-height:1.4}h3{font-size:16px}strong{font-weight:650;overflow-wrap:anywhere}small,.small{font-size:13px}.muted{color:var(--muted)}.full{width:100%}.button,.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid transparent;border-radius:16px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.4;text-align:center}.primary{background:var(--ink);color:var(--on-solid)}.primary:hover{background:#303746;color:#fff}.secondary{background:var(--soft);border-color:var(--line);color:var(--ink)}.secondary:hover,.icon-button:hover,.text-button:hover{background:var(--soft)}.text-button{padding:8px;background:transparent;color:var(--accent);border-radius:24px}.icon-button{width:44px;padding:8px;flex-shrink:0;background:var(--soft);color:var(--muted);border-radius:50%}.danger{color:var(--danger)}.tag{display:inline-block;padding:4px 8px;border-radius:20px;background:var(--soft);color:var(--muted);font-size:12px}.brand{display:inline-flex;align-items:center;white-space:nowrap;font-size:16px;font-weight:800;min-height:44px}.brand img{width:30px;height:30px;margin-right:8px}.brand span{color:var(--ink)}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);background:#fff;padding:12px;border:1px solid var(--accent);z-index:200;opacity:0;pointer-events:none}.skip-link:focus{transform:none;opacity:1;pointer-events:auto}.app-shell{min-height:100dvh;background:linear-gradient(180deg,#edf4ff 0,#f5f5f8 420px)}[data-theme=dark] .app-shell{background:linear-gradient(180deg,#1d2a41 0,var(--page) 420px)}.sidebar{position:fixed;inset:16px auto 16px 16px;width:220px;padding:24px 16px;background:#fff;border:1px solid var(--line);border-radius:28px;z-index:10}.sidebar>.brand{margin:0 0 32px 8px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a{display:flex;gap:12px;align-items:center;min-height:48px;padding:12px 16px;border-radius:24px;color:var(--muted);font-weight:600}.sidebar nav a:hover{background:var(--soft)}.sidebar nav a.active{background:var(--soft);color:var(--ink)}.main-area{margin-left:236px;min-width:0}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 32px;min-height:68px}.mobile-brand{display:none}.account-link{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:8px 12px;border-radius:24px;background:#fff;border:1px solid var(--line);font-weight:600}.account-link.active{border-color:#bac8e6;color:var(--accent);background:var(--soft)}.page-content{max-width:1200px;padding:16px 32px 48px;margin:auto}.page-content:focus{outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading h1{margin-bottom:8px}.page-heading p{margin:0}.page-heading>.button{flex-shrink:0}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;margin-bottom:20px;min-width:0;box-shadow:0 3px 12px #202b4210}.panel>:last-child{margin-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.section-heading h2,.section-heading h3,.section-heading .field{margin:0}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.view-nav{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:28px;background:#ffffffd9;box-shadow:0 4px 16px #202b4210;margin-bottom:24px;width:fit-content;max-width:100%}.view-nav a{display:flex;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;border-radius:24px;color:var(--muted);font-weight:600;font-size:14px}.view-nav a[aria-current=page]{background:var(--soft);color:var(--ink)}.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.today-grid>.nutrition-summary{grid-column:1 / -1;margin:0}.today-card{display:flex;flex-direction:column;margin:0}.today-value{font-size:28px;font-weight:700;line-height:1.25}.today-value span{display:inline;font-size:14px;font-weight:400;color:var(--muted);margin-top:8px}.today-card>.primary{margin-top:auto}.today-card>.text-button{margin-top:8px}.nutrition-summary h2{font-size:17px;margin-bottom:12px}.calorie-values{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.calorie-values p{margin:0;min-width:0}.calorie-values>p:first-child strong{font-size:32px;letter-spacing:-1px}.calorie-remaining{text-align:right;max-width:40%;font-size:13px;color:var(--muted)}.calorie-remaining strong{display:block;color:var(--ink);font-size:20px}.summary-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.nutrition-summary .primary,.app-shell[data-page=nutrition] .primary{background:var(--accent)}.nutrition-summary .primary:hover,.app-shell[data-page=nutrition] .primary:hover{background:#1f4fc4}.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px;gap:12px}.macro-grid>div{display:flex;flex-direction:column}.macro-grid strong{font-size:18px}.macro-label{font-size:13px;font-weight:600;margin-bottom:6px}.macro-grid p{font-size:13px;margin-bottom:12px}.macro-carbs{--meter: #31849a}.macro-fat{--meter: #8161bc}.macro-protein{--meter: #c38927}.segmented{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;margin-bottom:18px;border:1px solid var(--line);border-radius:22px;background:var(--input)}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;padding:8px 10px;border:0;border-radius:18px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;line-height:1.2}@media(hover:hover){.segmented button:hover:not(:disabled,[aria-pressed=true]){background:var(--soft);color:var(--ink)}}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--on-solid);box-shadow:0 2px 8px #11182722}.segmented button:disabled{opacity:1}.segmented.stacked button{flex-direction:column;gap:4px;min-height:56px;padding:8px 4px;font-size:12px}.favorite-icon{color:#c38927}.food-choice{display:flex;gap:8px;align-items:center;min-width:0}.food-search-bar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.food-search-bar .search-field{flex:1;min-width:0;margin-bottom:0}.food-search-bar input{min-width:0;width:100%}.scan-button{flex-shrink:0;min-height:48px;padding:10px 14px;border-radius:24px}.scan-button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--on-solid)}@media(max-width:359px){.scan-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.search-feedback:not(:empty){margin-bottom:14px}.food-group-title{display:flex;align-items:center;gap:8px;margin:4px 0 10px}.food-group-title svg{color:var(--muted)}.food-group-title .favorite-icon{color:#c38927}.shortcut-empty{margin:4px 4px 20px}.food-star{flex-shrink:0;color:var(--muted)}.food-star.is-favorite{color:#c38927}.search-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}.goal-distribution{padding:14px 0}.macro-share-bar{display:flex;height:10px;overflow:hidden;border-radius:10px;background:var(--line)}.macro-share-bar span{background:var(--meter);transition:width .15s ease}.macro-share-labels{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:.8rem}.macro-share-labels>span{border-left:3px solid var(--meter);padding-left:8px}.macro-share-labels strong{display:block}.daily-nutrients{margin-top:8px;border-top:1px solid var(--line)}.daily-nutrients>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 4px;list-style:none}.daily-nutrients>summary::-webkit-details-marker{display:none}.disclosure-chevron{color:var(--muted);transition:transform .2s ease}.daily-nutrients[open] .disclosure-chevron{transform:rotate(180deg)}.nutrition-breakdown h2{font-size:18px;margin-bottom:16px}.day-kind .segmented{margin-bottom:20px}.page-heading:has(>.streak-compact){flex-direction:row;align-items:center}.streak-compact{flex-shrink:0;position:relative;align-self:start;margin-left:auto}.streak-compact summary{display:flex;align-items:center;gap:6px;color:#c38927;padding:10px 12px;border-radius:18px;background:var(--surface);cursor:pointer;list-style:none}.streak-compact summary::-webkit-details-marker{display:none}.streak-popover{position:absolute;right:0;top:100%;width:min(250px,75vw);z-index:5;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px #0002}.copy-section{background:var(--input);padding:16px;border-radius:18px;display:grid;gap:12px}.copy-section h3{margin:0}@media(prefers-reduced-motion:reduce){.macro-share-bar span{transition:none}}.food-choice .food-row,.food-row>span{min-width:0;overflow-wrap:anywhere}.food-row svg{flex-shrink:0}.recipe-ingredients{display:grid;gap:12px}.recipe-ingredient{padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;display:grid;gap:8px}.barcode-scanner{display:grid;gap:12px;margin-bottom:16px}.barcode-camera{position:relative;overflow:hidden;aspect-ratio:4 / 3;border-radius:20px;background:#0b0f17}.barcode-camera[hidden]{display:none}.barcode-camera video{display:block;width:100%;height:100%;object-fit:cover}.barcode-frame{position:absolute;inset:30% 10%;border:3px solid #ffffffd9;border-radius:14px;box-shadow:0 0 0 999px #00000059}.barcode-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;color:#fff;font-size:14px}.meal-photo-input{display:flex;align-items:center;gap:10px}.meal-photo-input .field{min-width:0;flex:1}.selected-food{min-width:0;overflow-wrap:anywhere}.food-nutrition{padding:16px;border-radius:18px;background:var(--soft);margin-block:16px}.food-nutrition-total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.food-nutrition-total strong{font-size:1.35rem}.food-nutrition-total>span{color:var(--muted);font-size:.85rem}.food-nutrients{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.food-nutrients dl{margin-bottom:0}.food-nutrients dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-block:4px}.food-nutrients dd{margin:0;font-variant-numeric:tabular-nums}.nutrition-diary-row{min-width:0}.meal-entry-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.meal-entry-details{min-width:0;overflow-wrap:anywhere}.nutrition-diary-row img{display:block;max-width:100%;width:64px;height:64px;object-fit:cover;border-radius:16px}.meal-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;font-size:.82rem}.meal-macros>span{border-left:3px solid var(--meter);padding-left:7px;min-width:0;overflow-wrap:anywhere;color:var(--muted)}.meal-macros strong{display:block;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.nutrition-diary-row .meal-entry-actions{display:grid;grid-template-columns:repeat(3,44px) minmax(0,1fr);gap:4px;align-items:start}.meal-entry-actions .delete-action{justify-self:end;min-width:0;max-width:100%}.meal-entry-actions .delete-action .text-button{max-width:100%;padding-inline:4px}.nutrition-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.nutrition-pie{width:170px;display:block;margin:10px auto}.chart-legend{list-style:none;padding:0}.chart-legend li{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0;font-size:.85rem}.chart-legend strong{margin-left:auto}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nutrient-table{display:grid;gap:10px}.nutrient-table>div{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}.nutrient-table small{grid-column:1 / -1}.streak-panel h2{display:flex;align-items:center;gap:8px;font-size:1rem}.streak-panel svg{color:#c38927}.streak-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.streak-grid>div{display:flex;flex-direction:column;gap:6px;background:var(--input);padding:14px;border-radius:16px}.streak-grid small{color:var(--muted)}.welcome-emblem{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#1b2b23 0,#0c1411 62%);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;animation:intro-exit .3s ease-in 1.3s forwards}.welcome-emblem.is-leaving{animation:intro-exit .18s ease-in forwards}.intro-stage{display:flex;flex-direction:column;align-items:center;gap:22px;animation:intro-zoom .3s ease-in 1.3s forwards}.intro-logo{width:116px;height:116px;overflow:visible;filter:drop-shadow(0 0 28px #c6f36b33);animation:intro-pop .42s cubic-bezier(.34,1.56,.64,1) both}.intro-badge{fill:#101b18;stroke:#c6f36b3d;stroke-width:4}.intro-letter-line{fill:none;stroke:#c6f36b;stroke-width:12;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:intro-draw .5s cubic-bezier(.65,0,.35,1) .15s forwards,intro-settle .25s ease-out .6s forwards}.intro-letter-fill{fill:#c6f36b;opacity:0;animation:intro-fade-in .25s ease-out .55s forwards}.intro-bar{fill:#f5f7f3;transform:scaleX(0);transform-box:fill-box;transform-origin:left center;animation:intro-bar .28s cubic-bezier(.2,.8,.2,1) .62s forwards}.intro-shine{animation:intro-shine .45s ease-in-out .85s forwards}.intro-wordmark{margin:0;color:#f5f7f3;font-size:20px;font-weight:800;letter-spacing:.22em;white-space:nowrap}.intro-wordmark span{display:inline-block;opacity:0;transform:translateY(10px);animation:intro-letter .3s ease-out forwards}.intro-wordmark .accent{color:#c6f36b}@keyframes intro-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes intro-draw{to{stroke-dashoffset:0}}@keyframes intro-settle{to{stroke-width:0}}@keyframes intro-fade-in{to{opacity:1}}@keyframes intro-bar{to{transform:scaleX(1)}}@keyframes intro-shine{to{transform:translate(1000px)}}@keyframes intro-letter{to{opacity:1;transform:none}}@keyframes intro-zoom{to{transform:scale(1.06)}}@keyframes intro-exit{to{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.welcome-emblem{display:none;animation:none}}.section-label{margin-top:28px}.date-navigator{margin-bottom:24px}.date-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 8px;margin-bottom:16px}.date-toolbar .field{margin:0;flex:0 0 152px;min-width:0}.date-toolbar .row-actions{flex:1 1 192px;min-width:0;flex-wrap:nowrap;justify-content:flex-end;gap:4px}.input-action{position:relative;display:block;min-width:0}.field .input-action>input{padding-right:52px}.date-toolbar .input-action>input{padding-left:10px;padding-right:46px}.input-action>.icon-button{position:absolute;top:4px;right:4px;width:40px;height:40px;min-height:40px}.today-button{display:block;min-width:0;overflow:hidden;padding:8px 10px;border-radius:22px;font-size:13px;line-height:26px;text-overflow:ellipsis;white-space:nowrap}.week-strip{display:flex;gap:4px;overflow-x:auto;padding:4px;scrollbar-width:thin}.week-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:1 0 44px;min-height:70px;padding:8px 0;border:1px solid transparent;border-radius:20px;background:transparent;color:var(--muted);font-size:12px}.week-day strong{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:16px}.week-day[aria-current=date] strong{box-shadow:inset 0 0 0 1px var(--accent)}.week-day[aria-pressed=true]{background:#fff;border-color:var(--line);color:var(--ink)}.week-day[aria-pressed=true] strong{background:var(--ink);color:#fff;box-shadow:none}.week-day:disabled{cursor:not-allowed;opacity:.5}.meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.meal-group{margin:0;min-width:0}.meal-group .section-heading{margin-bottom:8px}.meal-group>.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.meal-group>.section-heading h3{overflow-wrap:anywhere}.meal-group>.section-heading .row-actions{display:grid;grid-template-columns:44px 44px;gap:4px}.meal-group>.section-heading .row-actions>span{grid-column:1 / -1;text-align:right}.meal-group .icon-button{background:#eaf0ff;color:var(--accent)}progress{display:block;width:100%;height:8px;appearance:none;border:none;border-radius:8px;background:var(--soft)}progress::-webkit-progress-bar{background:var(--soft);border-radius:8px}progress::-webkit-progress-value{background:var(--meter);border-radius:8px}progress::-moz-progress-bar{background:var(--meter);border-radius:8px}.empty{text-align:center;padding:28px 12px}.empty h3{margin-bottom:8px}.empty p{max-width:380px;margin:auto}.loading{display:flex;align-items:center;justify-content:center;min-height:150px;gap:12px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{padding:14px 16px;border:1px solid #e7d4a2;border-radius:10px;background:#fff8e7;color:#68521d;margin-bottom:16px;overflow-wrap:anywhere}.error{color:var(--danger);background:#fff2ef;border-color:#edc9c3}.success{color:#23683f;background:#edf7f0;border-color:#c7ddcf}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;min-width:0}.field-label{font-size:14px;font-weight:600}.field input,.field select,.field textarea,.search-field input,.section-heading>select{width:100%;min-width:0;min-height:48px;border:1px solid #c6cbd5;border-radius:16px;padding:10px 12px;color:inherit;background:#f8f9fb;font-size:16px}.field input::placeholder,.field textarea::placeholder,.search-field input::placeholder{color:#717886;opacity:1}.field select,.section-heading>select{appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat}.field textarea{resize:vertical;min-height:88px}.field input[type=date]{max-width:100%}.field input[type=file]{font-size:14px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline-offset:1px}.form fieldset{min-width:0;padding:0;margin:0;border:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form .button[type=submit]{margin-top:12px}.delete-action{display:inline-block}.delete-action .notice{max-width:300px}.modal{width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:28px;padding:24px;color:var(--ink);box-shadow:0 24px 80px #11182733}.modal::backdrop{background:#20263466;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.modal-heading h2{flex:1;margin:0;font-size:22px}.modal .form>fieldset>.button[type=submit]{width:100%}summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;border-radius:4px}.disclosure,.builder{border-top:1px solid var(--line);margin:16px 0}.disclosure>summary>span{margin-left:8px;font-weight:400}.disclosure-body{padding-top:12px}.settings-section>summary{display:flex;align-items:center;gap:10px}.settings-section>summary:after{content:"+";margin-left:auto;font-size:22px}.settings-section[open]>summary:after{content:"-"}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>.disclosure-body{padding-top:16px}.search-field{display:flex;align-items:center;gap:10px;margin-bottom:12px;border:1px solid var(--line);border-radius:28px;padding-left:14px;background:var(--soft);color:var(--muted)}.search-field:focus-within{outline:3px solid var(--accent);outline-offset:2px}.search-field input{background:transparent;border:0;border-radius:28px}.search-field input:focus-visible{outline:none}.food-list{margin-bottom:20px;display:grid;gap:8px}.food-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--input);text-align:left;color:inherit;min-height:60px}.food-row:hover{background:var(--soft)}.food-row strong,.diary-row strong,.plan-row strong,.journal-row strong{display:block}.food-row small,.diary-row small,.plan-row small,.journal-row small,.session summary small{display:block;margin-top:4px;color:var(--muted)}.diary-row{padding:12px 0;border-top:1px solid var(--line)}.diary-row .row-actions{justify-content:flex-end}.portion-preview{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--soft);border-radius:10px}.portion-preview strong{font-size:22px}.portion-preview span{color:var(--muted)}.routine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.routine-card{padding:20px;border:1px solid var(--line);border-radius:20px;min-width:0}.routine-card h3{margin-bottom:8px;font-size:18px}.routine-card ul{list-style:none;padding:0;margin:12px 0}.routine-card li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.routine-card li>span{white-space:nowrap;color:var(--muted)}.routine-card .disclosure{margin-bottom:0}.plan-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.plan-row>div{flex:1;min-width:0}.checkbox input{width:22px;height:22px;accent-color:var(--ink);flex-shrink:0}.exercise-options{list-style:none;padding:4px;margin:8px 0 16px;max-height:300px;overflow-y:auto;display:grid;gap:8px;scrollbar-width:thin}.exercise-options button{min-height:60px;width:100%;text-align:left;padding:12px;border:1px solid var(--line);border-radius:18px;background:#f5f6f9;color:inherit;display:flex;align-items:center;gap:10px}.exercise-options button:hover{background:#eaf0fc}.exercise-options button[aria-pressed=true]{background:#eaf0fc;border-color:#839bca}.exercise-options small{display:block;color:var(--muted);margin-top:4px}.exercise-info{flex:1;min-width:0}.exercise-marker,.exercise-add{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:10px}.exercise-marker{background:#fff;color:var(--muted)}.exercise-add{background:var(--ink);color:#fff}.exercise-filters{padding:8px 12px;background:#f5f6f9;border:1px solid var(--line);border-radius:20px;margin-bottom:16px}.exercise-filters summary{display:flex;align-items:center;gap:8px;font-size:14px}.exercise-filters summary::-webkit-details-marker{display:none}.exercise-filters summary>svg:last-child{margin-left:auto}.exercise-filters[open] summary>svg:last-child{transform:rotate(180deg)}.muscle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0}.muscle-grid button{min-height:48px;padding:10px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;text-align:left;font-size:14px;font-weight:600;overflow-wrap:anywhere}.muscle-grid button:first-child{grid-column:1 / -1}.muscle-grid button[aria-pressed=true]{background:var(--ink);color:#fff}.picker-results-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.session{border-bottom:1px solid var(--line)}.session>summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 0;list-style:none}.session>summary::-webkit-details-marker{display:none}.session>summary:after{content:"+";color:var(--muted);font-size:22px}.session[open]>summary:after{content:"-"}.session summary>div{flex:1;min-width:min(180px,100%)}.session-detail{padding-bottom:20px}.session-detail p,.journal-row p{white-space:pre-wrap}.set-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-radius:6px;background:var(--soft);padding:10px;margin-bottom:6px;font-size:14px}.session-detail .row-actions,.trend-chart{margin-top:16px}.trend-chart svg{display:block;width:100%;height:auto;min-height:140px;max-height:240px}.chart-range,.chart-dates{display:flex;justify-content:space-between;gap:16px;align-items:center}.chart-range strong{font-size:26px}.chart-range small{font-weight:400}.chart-range>span,.chart-dates{color:var(--muted);font-size:13px}.chart-dates{margin-top:8px}.chart-empty{display:grid;place-items:center;min-height:160px;padding:24px;text-align:center;color:var(--muted);border-radius:10px;background:var(--soft)}.section-heading>select{width:auto;max-width:100%}.journal-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.journal-row>div:first-child{flex:1;min-width:min(220px,100%)}.journal-row p{margin:8px 0 0}.gallery-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:20px}.photo-card{overflow:hidden;border:1px solid var(--line);border-radius:12px}.photo-card img{width:100%;aspect-ratio:3 / 4;object-fit:contain;background:var(--soft);display:block}.photo-card>div{display:flex;flex-direction:column;gap:6px;padding:12px}.photo-card span{color:var(--muted)}.account-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}.settings-section{padding-block:12px}.danger-zone{border-color:#edc9c3}.danger-zone>summary{color:var(--danger)}.danger-zone .primary{background:var(--danger)}.account-signout .primary{color:var(--muted);background:#fff;border-color:var(--line)}.connection-banner{position:sticky;top:0;z-index:30;display:flex;justify-content:center;align-items:flex-start;gap:10px;padding:12px 16px;color:#68521d;background:#fff1c9;font-size:14px}.connection-banner svg{margin-top:3px}.update-toast{position:fixed;bottom:24px;right:24px;z-index:100;max-width:380px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 32px #202b4226}.update-toast p{margin:8px 0}.privacy-page{max-width:800px;margin:32px auto;padding:32px}.privacy-page .brand{margin-bottom:24px}.privacy-page h2{margin-top:28px}.privacy-page a:not(.brand):not(.button){color:var(--accent);text-decoration:underline}.recovery{max-width:500px;margin:48px auto}.welcome{max-width:480px;padding:40px 16px;margin:auto}.welcome-heading{margin-bottom:24px}.welcome-heading .brand{margin-bottom:12px;font-size:20px}.welcome-heading p{margin:0}.auth-card h1{font-size:28px;margin-bottom:24px}.auth-card .form .primary{width:100%}.auth-switch{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:16px 0}.password-control{position:relative}.password-control input{width:100%;padding-right:56px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);color:var(--muted)}.password-requirements{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:5px;color:var(--muted);font-size:.8rem}.password-requirements li{display:flex;align-items:center;gap:7px}.password-requirements svg{flex-shrink:0}.password-requirements [data-valid=true]{color:var(--success)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.checkbox{display:block;font-size:14px;margin-bottom:16px}.checkbox input{vertical-align:middle;margin:0 8px 4px 0}.checkbox a{color:var(--accent);text-decoration:underline}.setup-card{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px}.setup-card ol{padding-left:20px}.setup-card li{margin-bottom:12px}@media(max-width:1100px){.today-grid{grid-template-columns:1fr}.today-value span{display:inline}.account-grid{grid-template-columns:1fr;gap:0}}@media(max-width:800px){.sidebar{inset:auto 12px calc(12px + env(safe-area-inset-bottom));width:auto;max-width:560px;margin-inline:auto;padding:6px;border:1px solid #ffffff;border-radius:40px;background:#ffffffed;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 8px 32px #252c4530,0 1px 4px #252c4520}.sidebar>.brand{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.sidebar nav a{flex-direction:column;gap:4px;padding:8px 2px;font-size:10px;min-width:0;border-radius:32px}.main-area{margin-left:0}.nav-full-label{display:none}.nav-short-label{display:inline}.topbar{justify-content:space-between;padding:calc(8px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:transparent}.mobile-brand{display:inline-flex}.page-content{padding:24px max(16px,env(safe-area-inset-right)) calc(120px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.meal-grid{grid-template-columns:1fr;gap:16px}.today-grid{gap:16px}.today-card{padding:20px}.today-card h2{margin-bottom:12px}.update-toast{bottom:calc(108px + env(safe-area-inset-bottom));left:16px;right:16px;max-width:none}}@media(max-width:500px){.page-heading{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:24px}.page-heading>.button{width:100%}.panel{padding:20px 16px;border-radius:24px}.settings-section{padding-block:12px}.section-heading>.row-actions,.section-heading>.field{max-width:100%}.view-nav{width:100%;gap:2px}.view-nav a{flex:1;min-width:0;padding:10px 8px;font-size:13px}.modal{width:calc(100% - 16px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:20px 16px;border-radius:24px}.modal-heading{gap:8px}.modal-heading h2{font-size:20px}.form-grid{gap:0 12px}.gallery-filters{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.privacy-page,.recovery{margin:16px}.welcome{padding-top:24px}.summary-actions>.primary{flex:1}.exercise-marker{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.panel h2:has(>svg),.panel h3:has(>svg),.programme-exercise h3,.settings-section summary:has(>svg){display:flex;align-items:center;gap:10px}.panel svg,.programme-exercise svg,.quick-actions svg{flex-shrink:0}.macro-check{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--danger);border-radius:18px;background:var(--input)}.macro-check.balanced{border-left-color:var(--success)}.macro-check p{margin:4px 0}.macro-check svg{flex-shrink:0;color:var(--danger)}.macro-check.balanced svg{color:var(--success)}.muscle-chips{display:flex;gap:8px;margin:16px 0;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.muscle-chips button{flex-shrink:0;white-space:nowrap;border:1px solid var(--line);background:var(--input);color:var(--ink);border-radius:24px;min-height:44px;padding:8px 14px}.muscle-chips button[aria-pressed=true]{background:var(--ink);color:var(--on-solid)}.equipment-badge{color:var(--muted);font-size:.85rem;margin:6px 0}.programme-exercise>.section-heading{align-items:flex-start;flex-wrap:wrap}.programme-exercise .section-heading h3{flex:1;min-width:140px}.cardio-settings{margin-top:14px}.cardio-settings>div>svg{color:var(--muted);margin-bottom:4px}.hero-heading,.weekly-invitation{display:flex;align-items:center;gap:16px}.hero-icon{display:inline-flex;padding:16px;border-radius:20px;color:var(--success);background:var(--success-bg)}.journal-hero{border-color:var(--success-line)}.journal-hero .field{margin:20px 0 14px}.hero-heading h2,.hero-heading p,.weekly-invitation h2,.weekly-invitation p{margin:0}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.quick-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 8px;color:var(--ink);font-size:.86rem;text-decoration:none}.quick-actions a:hover,.wellbeing-tile:hover{border-color:var(--accent)}.quick-actions svg{color:var(--accent)}.rhythm-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.rhythm-strip a{text-align:center;text-decoration:none;color:var(--muted)}.rhythm-strip a>span{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;border:1px solid var(--line);border-radius:16px}.rhythm-strip .has-workout>span{color:var(--success);background:var(--success-bg);border-color:var(--success-line)}.rhythm-strip [aria-current=date]>span{outline:2px solid var(--accent);outline-offset:2px}.wellbeing-grid,.goals-grid,.performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wellbeing-grid{margin:20px 0}.wellbeing-tile{display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:var(--input);color:var(--ink);padding:16px;border:1px solid var(--line);border-radius:20px;text-decoration:none}.wellbeing-tile svg{color:var(--success)}.wellbeing-tile strong{font-size:1.3rem}.wellbeing-tile span,.wellbeing-tile small{color:var(--muted);font-size:.82rem}.completion-ring{border-radius:50%;padding:6px;flex-shrink:0}.completion-ring>span{background:var(--surface);border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;gap:2px}.completion-ring strong{font-size:1.5rem}.completion-ring small{color:var(--muted)}.recorded-summary{margin-top:28px}.recorded-summary .goal-progress{background:var(--input);padding:14px;border-radius:16px}.recorded-summary progress{accent-color:var(--success)}.recorded-summary progress::-webkit-progress-value{background:var(--success)}.recorded-summary progress::-moz-progress-bar{background:var(--success)}.personal-targets{border-color:var(--success-line)}.performance-totals{display:flex;flex-wrap:wrap;gap:32px}.performance-totals p{display:flex;flex-direction:column}.performance-totals strong{font-size:1.7rem}.performance-totals span{color:var(--muted)}.weekly-invitation{grid-column:1 / -1;color:var(--ink);text-decoration:none}.weekly-invitation>div{flex:1;min-width:0}.weekly-invitation p{color:var(--muted);font-size:.85rem}.view-nav a{display:inline-flex;align-items:center;justify-content:center;gap:6px}@media(max-width:600px){.performance-grid,.goals-grid{grid-template-columns:1fr}.quick-actions{gap:6px}.quick-actions a{font-size:.75rem;padding:14px 4px;border-radius:16px}.rhythm-strip{gap:6px}.recorded-summary .section-heading{align-items:flex-start}.recorded-summary h2{font-size:1.1rem}.hero-icon{padding:12px;border-radius:16px}.weekly-invitation{gap:10px}.weekly-invitation h2{font-size:1.05rem}.view-nav a{gap:4px}}.active-workout{max-width:760px}.session-fieldset{min-width:0;margin:0;padding:0;border:0}.session-top{padding:16px}.session-top .eyebrow{margin:0 0 2px}.session-clock-row{display:flex;align-items:center;gap:14px}.session-clock-row .workout-clock{font-size:42px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.pill-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 16px;border:0;border-radius:999px;background:var(--soft);color:var(--ink);font-size:15px;font-weight:700}.pill-button[aria-pressed=true]{background:var(--accent);color:#fff}.session-times{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.time-chip{display:inline-flex;align-items:baseline;gap:8px;min-width:84px;min-height:44px;padding:10px 12px;border-radius:16px;background:var(--soft);color:var(--muted);font-size:14px}.time-chip strong{color:var(--ink);font-size:18px;font-variant-numeric:tabular-nums}.session-tools{display:flex;gap:8px;margin-left:auto}.session-tools .icon-button{width:44px;height:44px;border-radius:14px;color:var(--ink)}.session-progress{display:flex;gap:5px;margin-top:14px}.session-progress span{flex:1;height:5px;border-radius:3px;background:var(--line)}.session-progress .is-done{background:var(--rest)}.session-progress .is-current{background:var(--accent)}.session-top .notice{margin:12px 0 0}.log-exercise{padding:14px 12px;margin-bottom:12px}.log-exercise-head{display:grid;grid-template-columns:56px minmax(0,1fr) 40px;align-items:start;gap:12px}.exercise-thumb{position:relative;display:grid;place-items:center;width:56px;height:56px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;color:#5b6372;cursor:pointer}.exercise-thumb img{width:100%;height:100%;object-fit:contain}.thumb-play{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#000000b3;color:#fff}.log-exercise-title{min-width:0}.log-exercise-title h3{margin:0;font-size:18px;line-height:1.25}.log-exercise-title h3 button{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer}.log-exercise-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:4px}.log-exercise-tags .settings-button{width:32px;min-height:32px;height:32px;padding:4px;background:transparent}.side-badge{padding:2px 8px;border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:12px;font-weight:800}.brand-tag{padding:3px 8px;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.log-exercise-plan{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;color:var(--muted);font-size:14px}.count-pill{padding:2px 10px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.log-exercise.is-done .count-pill{background:var(--success-bg);color:var(--success)}.collapse-button{width:40px;min-height:40px;height:40px;background:transparent}.collapse-button svg{transition:transform .2s ease}.log-exercise.is-open .collapse-button svg{transform:rotate(180deg)}.log-exercise-body{margin-top:12px}.programme-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid #f1d38a;border-left:4px solid #f59e0b;border-radius:14px;background:#fff7e3;color:#4a3a12}.programme-note svg{margin-top:2px;color:#d97706}.exercise-note{display:block;width:100%;min-height:64px;margin-bottom:10px;padding:10px 12px;border:1px solid transparent;border-radius:14px;background:var(--soft);color:var(--ink);font:inherit;resize:vertical}.set-table{display:grid;gap:4px;margin-inline:-4px}.set-head,.set-row{display:grid;grid-template-columns:30px 22px minmax(0,.75fr) minmax(0,1.3fr) minmax(0,1fr) 48px 44px;align-items:center;gap:4px;padding:6px 4px;border-radius:14px}.set-head{padding-block:0;color:var(--muted);font-size:12px;font-weight:600;text-align:center}.set-head>svg{justify-self:center}.unit-toggle{justify-self:center;padding:2px 10px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:800}.set-row.is-current{background:color-mix(in srgb,var(--accent) 7%,transparent)}.set-row.is-done{background:var(--success-bg)}.set-video{position:relative;display:grid;place-items:center;width:30px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.set-video.has-video{color:var(--accent)}.set-video.is-busy{opacity:.45;pointer-events:none}.set-video:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.set-marker{color:var(--ink);font-size:15px;font-weight:800;text-align:center}.set-marker.side-left{color:#2563eb}.set-marker.side-right{color:#ea580c}.set-row.is-warmup .set-marker,.set-marker.warmup{color:#b45309}.set-previous{overflow:hidden;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;text-align:center;text-overflow:ellipsis;white-space:nowrap}.set-input{width:100%;min-width:0;height:44px;padding:0 2px;border:1px solid transparent;border-radius:12px;background:var(--soft);color:var(--ink);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.set-input:focus{border-color:var(--accent);background:var(--surface);outline:none}.set-input:disabled{opacity:1}.set-row.is-done .set-input{background:transparent;color:var(--success);-webkit-text-fill-color:var(--success)}.set-rest{height:34px;padding:0 2px;border:0;border-radius:10px;background:var(--soft);color:var(--ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.set-row.is-done .set-rest{background:transparent;color:var(--success)}.set-check{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--soft);color:color-mix(in srgb,var(--muted) 60%,transparent);cursor:pointer;transition:background .15s ease}.set-check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.set-check:has(input:checked){background:#16a34a;color:#fff}.set-check:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.set-check:has(input:disabled){cursor:default}.rest-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 46px 46px auto;align-items:center;gap:6px;padding:4px 4px 10px}.rest-control{display:grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border:0;border-radius:14px;background:#1f2937;color:#fff;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}.rest-control:disabled{opacity:.4}.rest-skip{padding-inline:14px;background:#000}.rest-track{position:relative;height:44px;overflow:hidden;border-radius:14px;background:#1c1c1e}.rest-fill{position:absolute;inset:0 auto 0 0;border-radius:14px;background:#16a34a;transition:width .25s linear}.rest-track output{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.rest-bar.is-done .rest-track output{font-size:16px}.add-set{margin-top:4px}.session-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.session-stats p{display:grid;gap:2px;margin:0;padding:12px 6px;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-align:center}.session-stats strong{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.session-stats span{color:var(--muted);font-size:13px}.cardio-finish .eyebrow{display:flex;align-items:center;gap:6px}.cardio-entry{padding:12px 0;border-top:1px solid var(--line)}.cardio-entry:first-of-type{border-top:0}.cardio-entry h3{margin:0 0 2px;font-size:20px}.cardio-entry h3 span{color:var(--muted);font-weight:700}.cardio-entry.is-done{padding:12px;border-top:0;border-radius:18px;background:var(--success-bg)}.cardio-done-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:10px}.cardio-minutes{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:600}.cardio-minutes input{width:84px;height:48px;border:1px solid var(--line);border-radius:14px;background:var(--input);color:var(--ink);font-size:18px;font-weight:700;text-align:center}.cardio-details summary{padding:8px 0;color:var(--accent);font-size:14px;font-weight:600;cursor:pointer}.button.is-success{border-color:#16a34a;background:#16a34a;color:#fff}.session-actions,.dialog-actions{display:grid;gap:10px}.session-actions{margin:20px 0 8px}.dialog-actions{margin-top:16px}.button.danger-fill{border-color:var(--danger);background:var(--danger);color:#fff}.unchecked-list{display:grid;gap:6px;margin-top:12px;padding:12px 14px;border-radius:18px;background:var(--soft)}.unchecked-list p{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0}.unchecked-list p>span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}.unchecked-marker{color:var(--muted);font-weight:800}.unchecked-list .unchecked-more{display:block;color:var(--muted);font-size:14px}.settings-list{display:grid;gap:10px}.settings-item{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 14px;border:0;border-radius:18px;background:var(--soft);color:var(--ink);font-size:16px;font-weight:600;text-align:left}button.settings-item{cursor:pointer}.settings-item>span{flex:1 1 auto;min-width:0}.settings-line>span{flex:1 0 auto}.settings-item>svg,.settings-line>svg{color:var(--muted)}.settings-stack{display:grid;gap:10px}.settings-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.settings-hint{margin:0;color:var(--muted);font-size:13px;font-weight:500}.settings-hint strong{color:var(--accent);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.segmented.compact{grid-auto-columns:max-content;gap:2px;margin:0;padding:2px;border-radius:999px;background:var(--surface)}.segmented.compact button{min-height:34px;padding:4px 9px;border-radius:999px;font-size:14px;white-space:nowrap}.stepper{display:inline-flex;align-items:center;gap:8px}.stepper output{min-width:24px;font-weight:800;font-variant-numeric:tabular-nums;text-align:center}.stepper .icon-button{width:36px;min-height:36px;height:36px;background:var(--surface);color:var(--ink)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip-row button{min-height:38px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:700}.chip-row button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--on-solid)}.rest-stepper{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0 4px}.rest-stepper output{min-width:150px;font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;text-align:center}.rest-stepper .icon-button{width:52px;height:52px;color:var(--ink)}.video-frame{position:relative;aspect-ratio:16 / 9;margin-bottom:12px;overflow:hidden;border-radius:18px;background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-drawings{margin-top:16px}.set-video-player{display:block;width:100%;max-height:60vh;margin-bottom:8px;border-radius:16px;background:#000}.builder-card{display:grid;gap:14px}.builder-card>.field,.builder-card .form-grid .field{margin-bottom:0}.builder-card-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px}.builder-card-head .exercise-thumb{width:52px;height:52px}.builder-card-head h3{display:flex;align-items:baseline;gap:8px;margin:0;font-size:17px;line-height:1.25;overflow-wrap:anywhere}.builder-index{display:inline-grid;flex-shrink:0;place-items:center;min-width:24px;height:24px;border-radius:8px;background:var(--soft);font-size:13px;font-weight:800}.builder-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.builder-line>span{flex:1 0 auto;font-weight:600}.builder-line>svg{color:var(--muted)}.builder-line>.segmented,.settings-line>.segmented{margin-left:auto}.builder-line>svg+.segmented.compact{flex:1;grid-auto-columns:minmax(0,1fr);margin-left:0}.brand-chips{display:flex;flex-wrap:wrap;gap:8px}.brand-chip{min-height:36px;padding:6px 12px;border:1px solid #0000001f;border-radius:10px;background:var(--brand-bg, var(--soft));color:var(--brand-ink, var(--ink));font-size:13px;font-weight:800;letter-spacing:.01em}.brand-chip[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.brand-chip.is-other{border-color:var(--line)}.builder-volume{gap:0 12px}.builder-rests{display:grid;gap:8px}.builder-label{display:flex;align-items:center;gap:8px;margin:0;font-weight:700}.rest-pills{display:flex;flex-wrap:wrap;gap:8px}.rest-pill{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 12px;border:1.5px dashed color-mix(in srgb,var(--accent) 55%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--ink);font-size:14px;cursor:pointer}.rest-pill span{color:var(--muted);font-size:12px;font-weight:700}.rest-pill strong{font-variant-numeric:tabular-nums}.rest-pill svg{color:var(--accent)}.builder-options{display:grid;gap:12px;padding:12px;border-radius:18px;background:var(--soft)}.switch-row{display:flex;align-items:center;gap:10px;min-height:40px;font-weight:600;cursor:pointer}.switch-row>span{flex:1}.switch-row>svg{color:var(--muted)}.switch-row input[role=switch]{position:relative;flex-shrink:0;width:46px;height:28px;margin:0;border-radius:999px;background:var(--line);appearance:none;cursor:pointer;transition:background .2s ease}.switch-row input[role=switch]:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.switch-row input[role=switch]:checked{background:var(--rest)}.switch-row input[role=switch]:checked:after{transform:translate(18px)}.switch-row input[role=switch]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.unilateral-options{display:grid;gap:10px}.unilateral-options .chip-row{margin:0}.builder-options .field{margin-bottom:0}.builder-note{justify-self:start}.history-times{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px}.history-exercise{padding:10px 0;border-top:1px solid var(--line)}.history-exercise:first-of-type{border-top:0}.history-exercise h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 6px;font-size:15px}.history-exercise h3 small{color:var(--muted);font-size:13px;font-weight:500}.history-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 6px;color:var(--muted);font-size:14px}.history-note svg{margin-top:3px}.session-detail .set-summary{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:12px}.set-summary .set-video{height:30px}.set-summary.is-warmup{opacity:.8}.cardio-summary small{display:block;color:var(--muted)}.active-session-bar{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 10px;width:min(560px,calc(100% - 24px));padding:14px 14px 12px 20px;border:1px solid #ffffff1a;border-radius:24px;background:#1c1c1f;color:#fff;text-decoration:none;box-shadow:0 12px 32px #00000047;transform:translate(-50%);animation:session-bar-in .25s ease-out}.active-session-text{display:grid;min-width:0}.active-session-text strong{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.active-session-text small{color:#a1a1aa;font-size:14px}.active-session-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#ffffff1f;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.active-session-chevron{color:#a1a1aa}.active-session-progress{display:flex;grid-column:1 / -1;gap:5px;margin-top:8px}.active-session-progress span{flex:1;height:4px;border-radius:2px;background:#ffffff2e}.active-session-progress .is-done{background:#4ade80}.active-session-progress .is-current{background:#f97316}.active-session-bar:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.app-shell:has(.active-session-bar) .page-content{padding-bottom:calc(210px + env(safe-area-inset-bottom))}body:has(.active-session-bar) .update-toast{bottom:calc(196px + env(safe-area-inset-bottom))}@keyframes session-bar-in{0%{opacity:0;transform:translate(-50%,16px)}}@media(min-width:801px){.active-session-bar{left:calc(50% + 118px);bottom:24px;width:min(560px,calc(100% - 284px))}.app-shell:has(.active-session-bar) .page-content{padding-bottom:140px}body:has(.active-session-bar) .update-toast{bottom:140px}}.rest-done{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#000;color:#fff}.rest-done::backdrop{background:#000}.rest-done-button{display:grid;place-content:center;gap:14px;width:100%;height:100%;padding:24px;border:0;background:transparent;color:inherit;text-align:center;cursor:pointer;animation:rest-done-in .35s ease-out}.rest-done-button:focus{outline:none}.rest-done-title{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:clamp(34px,9vw,54px);font-weight:850;letter-spacing:-.02em}.rest-done-title svg{color:#f97316}.rest-done-subtitle{color:#a1a1aa;font-size:20px;font-weight:700}@keyframes rest-done-in{0%{opacity:0;transform:scale(.94)}}[data-theme=dark] .pill-button[aria-pressed=true]{color:var(--on-solid)}[data-theme=dark] .exercise-thumb{border-color:var(--line)}[data-theme=dark] .programme-note{border-color:#796335;border-left-color:#f59e0b;background:#3c3320;color:#f6d992}[data-theme=dark] .set-marker.side-left{color:#9db7ff}[data-theme=dark] .set-marker.side-right{color:#ffb27a}[data-theme=dark] .set-row.is-warmup .set-marker,[data-theme=dark] .set-marker.warmup{color:#f6c768}[data-theme=dark] .rest-control{background:#3a4558}[data-theme=dark] .rest-skip{background:var(--ink);color:var(--on-solid)}[data-theme=dark] .rest-track{background:#0b0f16}[data-theme=dark] .button.danger-fill{color:#111824}[data-theme=dark] .brand-chip{border-color:#ffffff2e}@media(min-width:700px){.session-stats{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:379px){.set-input{font-size:16px}}@media(max-width:359px){.log-exercise{padding-inline:8px}.set-head,.set-row{grid-template-columns:22px 16px minmax(0,.7fr) minmax(0,1.25fr) minmax(0,.95fr) 40px 34px;gap:2px;padding-inline:2px}.set-check{width:34px}.rest-bar{grid-template-columns:40px minmax(0,1fr) 40px 40px auto;gap:4px}.rest-control{min-width:40px;height:40px}.time-chip{min-width:0}.session-clock-row .workout-clock{font-size:34px}}.set-row.is-warmup .set-marker{font-size:13px;letter-spacing:-.04em}
