:root{--ink:#f4f5f0;--panel:#fff;--panel-2:#f7f8f2;--line:#e2e4da;--text:#14150f;--muted:#63665c;--chalk:#7a9900;--chalk-ink:#14150f;--loading-halo-peak:.1;--good:#1a8f5a;--warn:#a15b00;--bad:#b0273a;--radius:14px;--tap:48px}:root[data-theme=dark]{--ink:#0a0a08;--panel:#141410;--panel-2:#1e1e18;--line:#33342a;--text:#f5f6ef;--muted:#a3a596;--chalk:#c8ff00;--chalk-ink:#10130a;--loading-halo-peak:.18;--good:#14b8a6;--warn:#ffb020;--bad:#ff5470}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:1200px;min-height:100%;padding-bottom:calc(64px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.app-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 8px;display:flex}.app-header-primary{flex:auto;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.app-header-primary .app-brand{white-space:nowrap;flex:0 auto;min-width:0}.app-header-statuses{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:4px 8px;min-width:0;display:flex}.header-status,.header-status-action{max-width:100%}.header-status-action{min-height:var(--tap);max-width:100%;font:inherit;white-space:normal;overflow-wrap:anywhere;text-align:left;justify-content:center;align-items:center;padding:8px 10px;font-size:12px;line-height:1.25;text-decoration:none;display:inline-flex}button.header-status-action{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer}.header-status-offline{align-items:center;min-height:24px;display:inline-flex}.header-status-error{border-color:var(--bad);color:var(--bad)}.app-brand{letter-spacing:.02em;align-items:center;gap:8px;margin:0;font-size:22px;font-weight:800;line-height:1.2;display:flex}.brand-mark{flex:none;width:24px;height:24px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}main{gap:12px;padding:8px 16px 24px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card h2{margin:0 0 4px;font-size:17px;line-height:1.2}.card .sub{color:var(--muted);font-size:13px}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.grow{flex:1}button{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--line);min-height:var(--tap);min-width:var(--tap);cursor:pointer;border-radius:10px;padding:8px 16px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}button.primary{background:var(--chalk);color:var(--chalk-ink);border-color:var(--chalk);font-weight:700}button.ghost{background:0 0}button.step{padding:0;font-size:20px;font-weight:700}button.step:disabled{opacity:.4;cursor:not-allowed}input[type=number],input[type=text],textarea,select{appearance:none;font:inherit;color:var(--text);background-color:var(--ink);border:1px solid var(--line);min-height:var(--tap);border-radius:10px;width:100%;padding:8px 12px}.num{font-variant-numeric:tabular-nums;text-align:center;color:var(--text);-webkit-text-fill-color:var(--text);font-weight:800}.set-row{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:12px 0;display:flex}.set-row:last-of-type{border-bottom:none}.set-row-header{justify-content:space-between;align-items:center;display:flex}.set-row-inputs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (width<=374px){.set-row-inputs{grid-template-columns:minmax(0,1fr)}}.set-row-header button{min-width:var(--tap);min-height:var(--tap);padding:0 6px}.set-row-header button.ghost{color:var(--muted);border-color:#0000}.set-row-header .set-nr{color:var(--muted);font-size:17px}.set-row-header .set-nr.warmup{color:var(--chalk)}.set-row-title,.set-row-tools{gap:4px;min-width:0}.set-row-header .set-delete-button{min-width:var(--tap);min-height:var(--tap);margin-block:-8px;padding:0;font-size:22px;line-height:1}.set-row .field .row{gap:4px}.set-row .step{min-width:var(--tap);min-height:var(--tap);width:var(--tap);border-radius:10px}.set-row input.num{min-width:0;min-height:var(--tap);height:var(--tap);border-radius:10px;padding:0;font-size:18px}.set-nr{color:var(--muted);font-weight:700}.set-nr.warmup{color:var(--chalk)}.field label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.ghost-prev{color:var(--muted);font-variant-numeric:tabular-nums;min-height:16px;margin-top:4px;font-size:12px}.suggestion{background:color-mix(in srgb, var(--good) 18%, var(--panel));border:1px solid var(--good);border-radius:10px;padding:8px 12px;font-size:14px}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.chip.header-status-action{padding:8px 10px;display:inline-flex}.chip.header-status-error{border-color:var(--bad);color:var(--bad)}.chip-select{flex-wrap:wrap;gap:8px;display:flex}.chip-toggle{min-height:var(--tap);border:1px solid var(--line);color:var(--muted);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:inline-flex;position:relative}.chip-toggle input[type=checkbox]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chip-toggle.selected{border-color:var(--chalk);color:var(--chalk);background:color-mix(in srgb, var(--chalk) 12%, var(--panel))}.chip-toggle:has(input:focus-visible){outline:2px solid var(--chalk);outline-offset:2px}.tabbar{background:var(--panel-2);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{justify-content:space-around;width:100%;max-width:1200px;display:flex}.tabbar a{color:var(--muted);min-width:72px;min-height:var(--tap);border-radius:10px;align-content:center;justify-items:center;gap:2px;font-size:12px;text-decoration:none;display:grid}.tabbar a.active{color:var(--chalk);font-weight:700}.tabbar a.desktop-profile-tab{display:none}.mobile-profile-link{min-width:48px;min-height:48px;color:var(--muted);flex:none;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.mobile-profile-link.active{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--chalk);text-decoration-color:var(--chalk);text-underline-offset:4px}.mobile-profile-link:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}@media (width<=767px){.app-header{padding-top:max(16px, env(safe-area-inset-top));grid-template-columns:minmax(0,1fr);align-items:start;row-gap:4px;padding-inline-start:max(16px, env(safe-area-inset-left));padding-inline-end:max(16px, env(safe-area-inset-right));display:grid}.app-header-primary{width:100%;min-height:48px}.app-header-statuses{justify-content:flex-start;width:100%}.app-header-statuses>*{min-width:0}.tabbar-inner{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.tabbar a{flex:1;min-width:0}}@media (width>=768px){.tabbar a.desktop-profile-tab{display:grid}.mobile-profile-link{display:none}}.instructions{white-space:pre-line;max-width:70ch}.equipment-card summary::-webkit-details-marker{display:none}.equipment-chevron{color:var(--muted);flex-shrink:0;margin-left:auto;transition:transform .15s}.equipment-card[open] .equipment-chevron{transform:rotate(180deg)}.cues{gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.cues li{gap:8px;display:flex}.cues li:before{content:"–";color:var(--muted)}.offline-banner{background:var(--panel-2);border:1px dashed var(--line);color:var(--muted);border-radius:10px;padding:8px 12px;font-size:13px}.loading{color:var(--muted);align-items:center;padding:10px 14px;font-size:13px;display:flex}.loading-content{align-items:center;gap:12px;display:flex}.loading-full{width:100%;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));justify-content:center}.loading-full .loading-content{text-align:center;flex-direction:column;justify-content:center;gap:16px;width:100%;max-width:320px}.loading-icon-box{flex:none;place-items:center;display:grid;position:relative}.loading-inline .loading-icon-box,.loading-inline .loading-mark{width:28px;height:28px}.loading-full .loading-icon-box{width:80px;height:80px}.loading-full .loading-mark{z-index:1;width:80px;height:80px;animation:1.6s cubic-bezier(.45,0,.2,1) infinite loading-lift;position:relative}.loading-full .loading-halo{background:var(--chalk);filter:blur(18px);opacity:.1;border-radius:50%;width:104px;height:104px;animation:1.6s cubic-bezier(.45,0,.2,1) infinite loading-halo;position:absolute}.loading-bar,.loading-plate{fill:var(--chalk)}.loading-plate{transform-box:fill-box;transform-origin:50%}.loading-full .loading-plate{animation:1.6s cubic-bezier(.45,0,.2,1) infinite loading-plates}.loading-inline .loading-plate{animation:2.2s ease-in-out infinite loading-pulse}.loading-inline .loading-plate-r{animation-delay:.3s}.loading-full .loading-label{color:var(--muted);letter-spacing:.01em;text-align:center;font-size:15px;font-weight:600;line-height:22px}@keyframes loading-lift{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes loading-plates{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes loading-halo{0%,to{opacity:.1}50%{opacity:var(--loading-halo-peak)}}@keyframes loading-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (width>=768px){.loading-full .loading-icon-box,.loading-full .loading-mark{width:88px;height:88px}.loading-full .loading-label{font-size:16px;line-height:24px}}@media (prefers-reduced-motion:reduce){.loading-full .loading-mark,.loading-full .loading-plate,.loading-full .loading-halo{animation:none}}.sync-loading-overlay{z-index:50;width:100%;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--ink);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sync-loading-overlay .loading-full{min-height:100%;padding:0}.chip-sync{align-items:center;gap:6px;display:inline-flex}.chip-sync-dot{background:var(--chalk);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.2s ease-in-out infinite loading-pulse}@media (forced-colors:active){.mobile-profile-link:focus-visible,.header-status-action:focus-visible{outline-color:highlight}.chip.header-status-error{color:linktext;border-color:linktext}.chip-sync-dot{background:highlight}}.warn-banner{background:color-mix(in srgb, var(--warn) 14%, var(--panel));border:1px solid var(--warn);color:var(--text);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}dialog.sheet{margin:0;border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:var(--panel);width:100%;max-width:480px;color:inherit;padding:20px 16px calc(20px + env(safe-area-inset-bottom));margin-inline:auto;position:fixed;inset:auto 0 0}dialog.sheet::backdrop{background:#00000080}dialog.sheet h2{margin:0 0 4px;font-size:17px}dialog.sheet .sheet-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}dialog.sheet.full{width:100%;max-width:none;height:100%;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border:none;border-radius:0;flex-direction:column;inset:0}dialog.sheet.full[open]{display:flex}.macro-grid{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:6px;display:grid}.macro-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px}.macro-card .eyebrow{margin-bottom:2px}.macro-val{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.macro-goal{color:var(--muted);margin-top:1px;font-size:10.5px}.macro-bar{background:var(--line);border-radius:999px;height:4px;margin-top:4px;overflow:hidden}.macro-bar>span{background:var(--chalk);border-radius:999px;height:100%;display:block}.food-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 4px;display:flex}.food-row:last-child{border-bottom:none}.food-name{font-size:14px;font-weight:700}.food-meta{color:var(--muted);margin-top:2px;font-size:12px}.food-row-actions{flex-shrink:0;gap:4px}.food-row-main{min-width:0;min-height:var(--tap);text-align:left;background:0 0;border:none;border-radius:6px;flex-direction:row;flex:auto;justify-content:center;align-items:center;gap:8px;padding:2px 0;display:flex}.food-row-main .food-name,.food-row-main .food-meta{overflow-wrap:anywhere;max-width:100%;display:block}.food-row-text{flex-direction:column;flex:auto;align-items:flex-start;min-width:0;display:flex}.food-row-edit-icon{color:var(--muted);flex-shrink:0}.food-row>div:first-child{min-width:0}.food-edit-btn{padding:0;font-size:16px}.intake-edit-name{overflow-wrap:anywhere;margin:0;font-weight:700}.intake-edit-item{display:block}.food-item-active{min-height:var(--tap);cursor:pointer;gap:10px}.food-item-active input{width:22px;height:22px}.nutrition-page{gap:8px}.nutrition-daynav{margin-bottom:2px}.nutrition-daylabel{text-align:center}.nutrition-daylabel-eyebrow{margin:0}.nutrition-logged-heading{margin:12px 0 6px}.nutrition-logged-card{padding:2px 12px}.search-cta{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-style:dashed;justify-content:flex-start;min-width:0;padding:8px 10px;font-size:13.5px;line-height:1.2;overflow:hidden}.nutrition-trends-link{text-align:center;margin:10px 0 0}.nutrition-trends-link .sub{min-height:var(--tap);line-height:var(--tap);align-items:center;gap:5px;padding:0 4px;text-decoration:none;display:inline-flex}.trends-icon{flex:none}.nutrition-trends-link .sub:hover,.nutrition-trends-link .sub:focus-visible{text-decoration:underline}.add-btn{min-width:var(--tap);min-height:var(--tap);color:var(--chalk);border-color:var(--chalk);border-radius:999px;flex:none;font-size:20px;font-weight:800}.remove-x{color:var(--muted);background:0 0;border:none;min-width:40px;min-height:40px;font-size:15px}.search-wrap input{font-size:15px}.daytype-wrap{text-align:center;margin:2px 0 14px}.daytype-chip{min-height:var(--tap);border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:700;display:inline-flex}.daytype-chip .dt-mode{color:var(--muted);font-size:12px;font-weight:500}.daytype-chip.override{border-color:var(--chalk);color:var(--chalk);background:color-mix(in srgb, var(--chalk) 12%, var(--panel))}.daytype-chip.override .dt-mode{color:color-mix(in srgb, var(--chalk) 75%, var(--text) 25%)}.daytype-floor-note{color:var(--muted);margin-top:6px;max-width:34ch;margin-inline:auto;font-size:11.5px}.macro-bar.band{position:relative}.macro-bar .zone{background:color-mix(in srgb, var(--text) 10%, transparent);position:absolute;top:0;bottom:0}.macro-bar .fill{border-radius:999px;position:absolute;top:0;bottom:0;left:0}.macro-status{text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:10px;font-weight:700}.macro-card[data-status=onder] .fill{background:var(--warn)}.macro-card[data-status=onder] .macro-status{color:color-mix(in srgb, var(--warn) 75%, var(--text) 25%)}.macro-card[data-status=binnen] .fill{background:var(--good)}.macro-card[data-status=binnen] .macro-status{color:color-mix(in srgb, var(--good) 75%, var(--text) 25%)}.macro-card[data-status=boven] .fill{background:var(--chalk)}.macro-card[data-status=boven] .macro-status{color:color-mix(in srgb, var(--chalk) 75%, var(--text) 25%)}.macro-card[data-status=leeg] .fill{background:var(--line)}.macro-card[data-status=leeg] .macro-status{color:var(--muted)}.macro-card.no-target .macro-goal{visibility:hidden}.macro-incomplete{color:var(--muted);margin-top:2px;font-size:10px;font-style:italic}.dt-list{margin:0;padding:0;list-style:none}.dt-row{text-align:left;background:var(--panel);border:1px solid var(--line);width:100%;min-height:var(--tap);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.dt-row .dt-dot{border:1.5px solid var(--line);border-radius:999px;flex:none;place-items:center;width:18px;height:18px;display:grid}.dt-row[aria-pressed=true]{border-color:var(--chalk);background:color-mix(in srgb, var(--chalk) 10%, var(--panel))}.dt-row[aria-pressed=true] .dt-dot{border-color:var(--chalk);background:var(--chalk)}.dt-row[aria-pressed=true] .dt-dot:after{content:"";background:var(--chalk-ink);border-radius:999px;width:8px;height:8px}.dt-row .dt-body{flex:1;min-width:0}.dt-row .dt-title{font-size:13.5px;font-weight:700}.dt-row .dt-meta{color:var(--muted);margin-top:2px;font-size:11.5px}.dt-divider{align-items:center;gap:8px;margin:14px 0 8px;display:flex}.dt-divider .line{background:var(--line);flex:1;height:1px}.dt-divider span{text-transform:uppercase;letter-spacing:.08em;color:var(--warn);white-space:nowrap;font-size:10.5px;font-weight:700}.week-strip{grid-template-columns:repeat(7,1fr);gap:5px;margin:12px 0 8px;display:grid}.week-seg{flex-direction:column;align-items:center;gap:4px;display:flex}.week-seg .bar{background:var(--line);border-radius:8px;width:100%;height:34px}.week-seg[data-status=onder] .bar{background:var(--warn)}.week-seg[data-status=binnen] .bar{background:var(--good)}.week-seg[data-status=boven] .bar{background:var(--chalk)}.week-seg[data-status=niet-gelogd] .bar{background:repeating-linear-gradient(45deg, var(--line), var(--line) 3px, var(--panel-2) 3px, var(--panel-2) 6px)}.week-seg .lbl{color:var(--muted);font-size:10.5px;font-weight:700}.week-summary{margin-top:8px;font-size:13px}.week-avg{color:var(--muted);margin-top:4px;font-size:12px}.trend-incomplete-note{color:var(--muted);margin-top:6px;font-size:11.5px;font-style:italic}.gap-12{gap:12px}.exercise-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.exercise-list-item{color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:8px 12px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.exercise-list-item:hover{border-color:var(--chalk);background:color-mix(in srgb, var(--panel-2) 90%, var(--chalk))}.exercise-thumb{object-fit:cover;background:var(--ink);border:1px solid var(--line);border-radius:8px;flex-shrink:0;width:52px;height:52px}.exercise-card-thumb{object-fit:cover;background:var(--ink);border:1px solid var(--line);border-radius:8px;flex-shrink:0;width:46px;height:46px}.exercise-thumb-placeholder{background:var(--panel-2);color:var(--muted);letter-spacing:.02em;place-items:center;font-size:14px;font-weight:700;display:grid}.exercise-info{flex-direction:column;display:flex}.exercise-title{color:var(--text);font-size:15px;font-weight:700}.exercise-detail-hero{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);width:100%;margin:12px 0;overflow:hidden}.exercise-detail-img{object-fit:contain;background:var(--ink);width:100%;max-height:380px;display:block}.exercise-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;display:grid}.history-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.history-pager button{min-height:var(--tap);white-space:nowrap;flex-shrink:0}.history-pager button:disabled{opacity:.58;cursor:not-allowed}.history-pager-status{overflow-wrap:anywhere;text-align:center;min-width:0;color:var(--muted);flex-basis:100%;margin:0;font-size:13px;font-weight:400}.segmented{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;gap:6px;padding:4px;display:flex}.segmented button{min-height:40px;color:var(--muted);background:0 0;border:none;border-radius:8px;flex:1;font-size:13px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--chalk);color:var(--chalk-ink)}.period-chips{gap:6px;display:flex}.period-chips button{flex:1;min-height:36px;padding:4px;font-size:12.5px}.period-chips button[aria-pressed=true]{border-color:var(--chalk);color:var(--chalk);background:color-mix(in srgb, var(--chalk) 12%, var(--panel-2))}.pr-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pr-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:12px;padding:10px}.pr-card .pr-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10.5px}.pr-card .pr-val{margin-top:4px;font-size:16px;font-weight:800}.pr-card .pr-date{color:var(--muted);margin-top:2px;font-size:10.5px}.vol-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.vol-row:last-child{border-bottom:none}@media (width>=768px){.detail-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}}.welcome-hero{--ink:#0a0a08;--panel:#141410;--line:#33342a;--text:#f5f6ef;--muted:#a3a596;--chalk:#c8ff00;--chalk-ink:#10130a;--tap:48px;min-height:100%;color:var(--text);background:radial-gradient(ellipse 70% 55% at 50% 38%, color-mix(in srgb, var(--panel) 45%, var(--ink)) 0%, var(--ink) 72%);display:flex}.welcome{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:480px;margin:0 auto;padding:48px 32px;display:flex}.wm-mark{width:112px;height:112px;margin-bottom:24px}.wm-word{letter-spacing:-.01em;margin:0 0 12px;font-size:32px;font-weight:800;line-height:1.2}.wm-tagline{margin:0 0 16px;font-size:16px;font-weight:600;line-height:1.4}.wm-sub{max-width:38ch;color:var(--muted);margin:0 0 32px;font-size:13px}.wm-cta{width:100%;max-width:320px;min-height:var(--tap);border:1px solid var(--chalk);background:var(--chalk);color:var(--chalk-ink);letter-spacing:.01em;border-radius:10px;padding:12px 24px;font-size:16px;font-weight:800}.wm-cta:focus-visible{outline:2px solid var(--chalk);outline-offset:3px}@media (width>=768px){.wm-mark{width:168px;height:168px;margin-bottom:32px}.wm-word{font-size:44px}.wm-tagline{font-size:19px}.wm-sub{max-width:44ch;font-size:14px}}.program-editor{min-width:0;padding-bottom:112px;overflow-x:clip}.program-editor h1{margin:0;font-size:24px}.program-editor ul{gap:12px;margin:12px 0;padding:0;list-style:none;display:grid}.program-assignment fieldset{border:1px solid var(--line);border-radius:10px;gap:10px;min-width:0;display:grid}.program-assignment legend{font-weight:700}.program-type,.program-actions{flex-wrap:wrap;gap:8px;display:flex}.program-type label{align-items:center;gap:8px;min-height:48px;padding:4px 8px;display:inline-flex}.program-target{min-width:48px;min-height:48px}.program-savebar{bottom:calc(64px + env(safe-area-inset-bottom));z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:12px;display:grid;position:sticky}.program-dialog{inset:auto 16px calc(80px + env(safe-area-inset-bottom));z-index:10;background:var(--panel);border:1px solid var(--line);border-radius:14px;max-width:480px;padding:20px;position:fixed;box-shadow:0 8px 36px #0000004d}.exercise-stats-link{color:var(--text);align-items:center;min-width:48px;min-height:48px;text-decoration:underline;display:inline-flex}.detail-col,.workset-charts,.workset-day{min-width:0}.workset-charts{max-width:100%}.workset-day{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;margin:24px 0 0;padding-top:12px}.workset-day figcaption{font-size:.8125rem;font-weight:600}.workset-frame{grid-template-columns:minmax(3.5rem,max-content) minmax(0,1fr);gap:8px;display:grid}.workset-axis{min-width:3.5rem;height:112px;margin-top:24px;font-size:.75rem;position:relative}.workset-axis span{white-space:nowrap;position:absolute;right:0;transform:translateY(-50%)}.workset-scroll{min-width:0;padding:24px 0 4px;overflow-x:auto}.workset-strip{width:max-content;min-width:100%;display:flex}.workset-slot{text-align:center;flex:none;width:max-content}.workset-label-width:before{content:attr(data-label)}.workset-label-width{visibility:hidden;white-space:nowrap;height:0;padding-inline:4px;font-size:.75rem;display:block}.workset-plot{border-bottom:1px solid var(--muted);background:repeating-linear-gradient(to top, transparent 0, transparent 27px, var(--line) 27px, var(--line) 28px);justify-content:center;align-items:end;height:112px;display:flex}.workset-bar{background:var(--chalk);border-right:1px solid var(--panel);border-radius:2px 2px 0 0;width:14px;position:relative}.workset-bar span{transform-origin:0 100%;white-space:nowrap;color:var(--text);font-size:.75rem;line-height:1rem;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)rotate(-45deg)}.workset-zero:after{content:"";border:1px solid var(--text);background:var(--panel);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:9px}.workset-reps{margin-top:4px;font-size:.8125rem;font-weight:600;line-height:1.25rem}.workset-number{color:var(--muted);font-size:.75rem;line-height:1.125rem}.workset-controls{flex-wrap:wrap;align-items:center;gap:8px;font-size:.8125rem;display:flex}.workset-controls button,.workset-day summary{min-width:48px;min-height:48px}.workset-day summary{cursor:pointer;padding-block:12px}.workset-day details{overflow-wrap:anywhere;font-size:.8125rem}.workset-scroll:focus-visible,.workset-day summary:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}.workset-divider{border-left:1px dashed var(--muted);height:112px;margin:0 16px}.workset-day-date{color:var(--muted);text-align:center;margin-top:8px;font-size:.75rem}@media (forced-colors:active){.workset-bar{background:canvastext}.workset-zero:after{background:canvas;border-color:canvastext}}.page-heading{min-width:0}.page-heading h1{margin:0;font-size:24px;line-height:1.2}.page-heading.row{flex-wrap:wrap}.page-heading .sub{color:var(--muted);font-size:14px}.session-panel,.empty-state,.scope-line{background:var(--panel-2);color:var(--muted);border-radius:10px;margin:0;padding:10px 12px}.session-panel p,.empty-state p{margin:0}.session-summary{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13.5px;line-height:1.2;overflow:hidden}.completion-confirm{border-top:1px solid var(--line);gap:6px;min-width:0;margin-top:8px;padding-top:8px;display:grid}#completion-question{color:var(--text);margin:0;font-size:16px;font-weight:700;line-height:1.25}#completion-explain{color:var(--muted);overflow-wrap:break-word;margin:0;font-size:13.5px;line-height:1.35}.completion-actions{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;min-width:0;display:grid}.completion-actions button{min-width:0;min-height:48px;padding:8px 14px}.completion-primary{white-space:normal}.completion-actions .completion-cancel{min-width:96px;padding-inline:12px}.completion-confirm button:disabled{cursor:not-allowed;opacity:.58}.completion-confirm [role=alert]{color:var(--bad);margin:2px 0 0;font-size:13.5px;line-height:1.35}@media (width<=319px){.completion-actions{grid-template-columns:minmax(0,1fr)}.completion-actions .completion-cancel{width:100%}}@media (width>=768px){.completion-actions{max-width:320px}}.set-delete-confirm{border-top:1px solid var(--line);gap:6px;min-width:0;margin:8px 0 4px;padding:8px 0 0;display:grid}.set-delete-confirm p{margin:0}.set-delete-question{color:var(--text);font-size:16px;font-weight:700;line-height:1.25}button.danger{color:var(--bad);border:2px solid var(--bad);background:0 0;font-weight:700}.set-delete-confirm .completion-primary{white-space:nowrap;padding-inline:8px}.set-delete-confirm .completion-primary.set-delete-retry{white-space:normal}.set-delete-confirm [role=alert]{color:var(--bad);font-size:13.5px;line-height:1.35}.set-delete-notice{gap:6px;min-width:0;margin:8px 0;padding:8px 12px;display:grid}.set-delete-notice p{margin:0}.set-delete-notice button{color:var(--text);background:var(--panel);border:2px solid var(--text);font-size:16px;font-weight:700}.set-delete-notice button:focus-visible{outline-color:var(--text)}@media (forced-colors:active){.set-delete-confirm{border-top-color:canvastext}button.danger,.set-delete-notice button{color:buttontext;background:buttonface;border-color:buttontext}.set-delete-notice button:focus-visible{outline-color:highlight}.completion-confirm{border-top-color:canvastext}.completion-confirm button:focus-visible{outline-color:highlight}.completion-actions .completion-primary{color:buttontext;background:buttonface;border:2px solid buttontext}.completion-actions .completion-cancel{color:buttontext;background:buttonface;border-color:buttontext}}.training-day-segmented{flex-wrap:wrap}.training-day-select{max-width:100%}.training-day-heading,.library-group h2,.logged-outside-plan h2{color:var(--text);margin:12px 0 8px;font-size:16px}.training-group,.library-group,.logged-outside-plan{min-width:0}.optional-section{margin-top:10px}.optional-section summary{cursor:pointer;min-height:48px;color:var(--text);align-items:center;font-weight:700;display:flex}.training-progress{color:var(--muted);margin-top:2px;font-size:14px}.exercise-order{color:var(--muted);margin-right:6px;font-size:.9em}.library-tools{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.library-tools .field{min-width:min(100%,220px)}.filter-trigger{flex:none}.badge-row{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.error-chip{border-color:var(--bad);color:var(--bad)}.tertiary-link{min-height:48px;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--chalk);text-decoration-color:var(--chalk);text-underline-offset:3px;align-items:center;display:inline-flex}.primary-link{background:var(--chalk);min-height:48px;color:var(--chalk-ink);border-radius:10px;justify-content:center;align-items:center;padding:8px 16px;font-weight:700;text-decoration:none;display:inline-flex}.account-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-row p{margin:0}.account-details{flex:1;min-width:0}.account-email{overflow-wrap:anywhere}.account-row .ghost{flex:none}.profile-link{min-height:48px;color:inherit;padding:8px 0;text-decoration:none}input[type=search]{appearance:none;font:inherit;color:var(--text);background-color:var(--ink);border:1px solid var(--line);min-height:var(--tap);border-radius:10px;width:100%;padding:8px 12px}.exercise-list-item{min-height:64px}.exercise-info{min-width:0}.exercise-info .sub{color:var(--muted);font-size:14px}.exercise-title{color:var(--text);white-space:normal;overflow-wrap:anywhere;font-size:16px;font-weight:700}.segmented{flex-wrap:wrap}.segmented button{min-height:48px}.chip-toggle.selected{color:var(--text)}@media (width<=767px){.exercise-grid{grid-template-columns:minmax(0,1fr)}.library-tools .field{flex-basis:100%}}@media (width>=768px){.exercise-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.exercise-head-card{container-type:inline-size}.exercise-head{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid}.exercise-head-thumb{border:1px solid var(--line);background:var(--ink);border-radius:12px;grid-area:1/1/span 3;align-self:center;place-items:center;width:64px;min-width:64px;height:64px;padding:0;display:grid;overflow:hidden}.exercise-head-thumb img{object-fit:cover;width:100%;height:100%;display:block}.exercise-head-thumb .exercise-thumb-placeholder{width:100%;height:100%}.exercise-head .eyebrow{overflow-wrap:anywhere;grid-area:1/2/auto/4;margin:0;font-size:11px}.exercise-head h2{overflow-wrap:anywhere;grid-area:2/2/auto/4;margin:0;font-size:19px;line-height:1.2}.exercise-head .goal-line{flex-wrap:wrap;grid-area:3/2;align-items:baseline;gap:0 10px;min-width:0;display:flex}.goal-scheme{font-size:15px}.exercise-head .goal-line .sub{color:var(--muted);font-size:13px}button.cue-toggle{min-height:var(--tap);min-width:var(--tap);color:var(--text);background:0 0;border-color:#0000;grid-area:3/3;justify-self:end;align-items:center;gap:2px;margin:-13px -10px -13px 0;padding:0 6px 0 12px;font-size:14px;font-weight:700;display:inline-flex}.chev{color:var(--muted);flex:none}button.cue-toggle[aria-expanded=true] .chev,.exercise-explainer[open]>summary .chev{transform:rotate(180deg)}@container (width<=320px){.exercise-head .goal-line{grid-column:2/4}button.cue-toggle{grid-area:4/2/auto/4;justify-self:start;margin:-4px 0 -12px -12px}}.cue-panel{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}button.linkish{min-height:var(--tap);min-width:0;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:0 2px;font-weight:700}.more-explainer{align-items:center;margin:2px 0 -12px -2px;font-size:14px;display:inline-flex}.daycard .eyebrow{margin:0}.dayrow{min-height:var(--tap);color:var(--text);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.dayrow:last-child{border-bottom:none}.dayrow:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}.log-head{min-height:var(--tap);align-items:center;gap:8px;margin:-6px 0 0;display:flex}.log-head h2{flex:auto;min-width:0;margin:0}.rest-chip{min-height:var(--tap);flex:none;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:700;display:inline-flex}.rest-chip [aria-hidden=true]{color:var(--muted)}.rest-panel{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;gap:4px;margin:4px 0 8px;padding:12px;display:grid}.rest-panel[hidden]{display:none}.rest-panel .sub{color:var(--muted);margin:0;font-size:13px}.rest-value{font-variant-numeric:tabular-nums;text-align:center;min-width:72px;font-size:22px;font-weight:800}.rest-auto{min-height:var(--tap);align-items:center;gap:10px;font-size:15px;display:flex}.rest-auto input{width:22px;height:22px;min-height:0;accent-color:var(--chalk)}.row-tag{white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;color:var(--text);border:1.5px solid var(--text);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.row-tag.edit{border-style:dashed;border-color:var(--muted)}.row-tag:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}.set-row.editing{background:var(--panel-2);border-bottom:none;border-radius:12px;margin:0 -10px;padding-left:10px;padding-right:10px}.set-done,.set-done-edit,.add-set{width:100%}.set-done,.set-done-edit{scroll-margin-bottom:calc(64px + 84px + 8px + env(safe-area-inset-bottom));margin:4px 0 8px}.set-done-edit{border:1.5px solid var(--text);background:0 0;font-weight:700}.add-set{margin-top:12px}.set-line{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:36px minmax(0,1fr) 22px auto;align-items:center;gap:4px;min-height:52px;padding:2px 0;display:grid}.sl-nr{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.sl-nr.warm{color:var(--chalk)}.sl-txt{min-width:0}.sl-main{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:17px;font-weight:800;line-height:1.25;display:block}.sl-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px;line-height:1.3;display:block}.sl-check{color:var(--chalk);text-align:center;font-size:18px;font-weight:800}:root:not([data-theme=dark]) .sl-check,:root:not([data-theme=dark]) .sl-nr.warm{color:#4d6100}button.sl-edit{min-height:var(--tap);min-width:var(--tap);color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:4px;background:0 0;border-color:#0000;padding:0 8px;font-size:14px;font-weight:700;text-decoration-thickness:1px}.ex-done{border-top:2px solid var(--text);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:4px;min-height:56px;margin-top:-1px;padding:6px 0;display:grid}.ex-done strong{font-size:16px;display:block}.exercise-explainer>summary{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;margin:-4px 0;font-size:17px;font-weight:700;list-style:none;display:flex}.exercise-explainer>summary::-webkit-details-marker{display:none}.exercise-explainer>summary:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}.instructions-rich{max-width:70ch}.instructions-rich h3{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:16px 0 4px;font-size:12px;font-weight:700}.instructions-rich p{margin:8px 0 0}.instructions-rich ol,.instructions-rich ul{gap:4px;margin:0;padding-left:22px;display:grid}.exercise-edit-link{min-height:var(--tap);color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:3px;align-items:center;font-weight:700;display:inline-flex}.detail-col-secondary,.detail-col:first-child{flex-direction:column;gap:12px;display:flex}@media (width<=767px){.detail-layout{flex-direction:column;gap:12px;display:flex}}.restbar{left:0;right:0;bottom:calc(61px + env(safe-area-inset-bottom));z-index:20;background:var(--panel-2);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:76px;padding:10px 10px 10px 16px;display:grid;position:fixed;box-shadow:0 -8px 20px #0003}body.resting .app{padding-bottom:calc(64px + 84px + env(safe-area-inset-bottom))}.rb-prog{background:var(--line);height:4px;position:absolute;top:-1px;left:0;right:0}.rb-prog i{background:var(--chalk);height:100%;display:block}.rb-text{min-width:0}.rb-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:700;display:block;overflow:hidden}.rb-time{font-variant-numeric:tabular-nums;font-size:32px;font-weight:800;line-height:1.05;display:block}.rb-actions{gap:6px;display:flex}.rb-actions button{white-space:nowrap;min-width:52px;padding:0 10px;font-size:15px;font-weight:700}.restbar[data-state=soon]{border-top-color:var(--chalk)}.restbar[data-state=soon] .rb-prog{height:6px;top:-3px}.restbar[data-state=soon] .rb-label{color:var(--text)}.restbar[data-state=soon] .rb-time{color:var(--chalk)}:root:not([data-theme=dark]) .restbar[data-state=soon] .rb-time{color:#4d6100}.restbar[data-state=end]{background:var(--chalk);color:var(--chalk-ink);border-top-color:var(--chalk)}.restbar[data-state=end] .rb-label{color:var(--chalk-ink)}.restbar[data-state=end] .rb-time{font-size:22px}.restbar[data-state=end] .rb-actions button{color:var(--chalk-ink);border:1.5px solid var(--chalk-ink);background:0 0}.restbar[data-state=end] .rb-actions button.rb-next{background:var(--chalk-ink);color:var(--chalk)}.restbar[data-state=end] button:focus-visible{outline-color:var(--chalk-ink)}@media (width>=768px){.restbar{border:1px solid var(--line);border-radius:14px 14px 0 0;width:min(100%,560px);left:50%;right:auto;transform:translate(-50%)}}@media (forced-colors:active){.row-tag,.set-done-edit,.restbar{border-color:canvastext}.restbar[data-state=end]{forced-color-adjust:auto;border-top:3px solid highlight}.rb-prog i{background:highlight}}
