:root{--iron-900: #17191D;--iron-800: #1F2227;--iron-700: #2A2E35;--iron-600: #3A3F48;--chalk: #F2F0EA;--chalk-dim: #9BA0A8;--plate-red: #D64949;--plate-red-press: #B93C3C;--plate-blue: #4A7FC1;--plate-yellow: #E0B33C;--plate-green: #55A06C;--font-display: "Barlow Condensed", ui-sans-serif, system-ui, sans-serif;--font-body: "Barlow", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-display: clamp(40px, 8vw, 64px);--fs-h1: clamp(30px, 5vw, 40px);--fs-h2: clamp(24px, 5vw, 34px);--fs-h3: 20px;--fs-body: 16px;--fs-sm: 14px;--fs-xs: 12px;--lh-tight: 1.05;--lh-snug: 1.2;--lh-body: 1.55;--tracking-display: -.03em;--tracking-kicker: .14em;--accent: #D64949;--accent-2: #4A7FC1;--accent-strong: #B93C3C;--accent-hover: #B93C3C;--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);--accent-line: color-mix(in srgb, var(--accent) 38%, var(--line));--cta: var(--plate-green);--good: var(--plate-green);--success: var(--plate-green);--warning: var(--plate-yellow);--info: var(--plate-blue);--danger: var(--plate-red);--danger-muted: #E07070;--bg: var(--iron-900);--panel: var(--iron-800);--panel2: var(--iron-700);--text: var(--chalk);--muted: var(--chalk-dim);--text-dim: #7C828B;--line: var(--iron-600);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-xl: 18px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .14);--shadow: 0 8px 22px rgba(0, 0, 0, .2);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .28);--shadow-accent: 0 10px 26px color-mix(in srgb, var(--accent) 32%, transparent);--focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--plate-blue);--field-bg: var(--iron-700);--field-border: var(--iron-600)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: var(--iron-900);--panel: var(--iron-800);--panel2: var(--iron-700);--text: var(--chalk);--muted: var(--chalk-dim);--line: var(--iron-600);--shadow: 0 8px 22px rgba(0, 0, 0, .2)}}html[data-theme=dark]{--bg: var(--iron-900);--panel: var(--iron-800);--panel2: var(--iron-700);--text: var(--chalk);--muted: var(--chalk-dim);--line: var(--iron-600);--shadow: 0 8px 22px rgba(0, 0, 0, .2)}html[data-theme=light]{--bg: #f6f3ee;--panel: #ffffff;--panel2: #f6efe6;--text: #17130f;--muted: #574f48;--line: #e6ddd1;--accent-soft: color-mix(in srgb, var(--accent) 12%, #ffffff);--field-bg: #fbf8f3;--field-border: #cdbdab;--shadow-sm: 0 2px 10px rgba(53, 35, 18, .06);--shadow: 0 8px 28px rgba(53, 35, 18, .1);--shadow-lg: 0 18px 46px rgba(53, 35, 18, .14)}html[data-theme=light] button.primary,html[data-theme=light] a.primary{color:#fff}*{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth}body{margin:0;min-height:100vh;width:100%;max-width:100%;overflow-x:hidden;padding-bottom:calc(88px + env(safe-area-inset-bottom));background:var(--bg);color:var(--text);font-family:var(--font-body)}img,video,canvas,iframe,svg{max-width:100%}button,a.file-label,.link{border:0;border-radius:12px;padding:11px 14px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,border-color .15s ease,background .15s ease}button:active,a.file-label:active,.link:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;transform:none;pointer-events:none;background:var(--panel2);color:color-mix(in srgb,var(--muted) 75%,transparent);border:1px solid var(--line);box-shadow:none;filter:none;opacity:1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}input,select,textarea{width:100%;max-width:100%;min-height:44px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);border-radius:12px;padding:12px 13px;font:inherit}input[type=color]{min-height:48px;padding:4px;cursor:pointer}textarea{min-height:90px;resize:vertical}input.is-readonly{cursor:not-allowed;opacity:.78}h1,h2,h3{margin:0 0 8px;font-family:var(--font-display);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--tracking-display)}p{color:var(--muted);line-height:1.55}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px clamp(16px,6vw,72px);background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand,.top-actions,.hero>*,.panel,.settings-card,.stat{min-width:0}.brand h1{margin:2px 0 4px;font-size:clamp(30px,5vw,40px);letter-spacing:-.04em}.brand p{margin:4px 0 0;font-size:14px}.app-kicker{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.top-actions,.hero-actions,.row{display:flex;gap:10px;align-items:center}.top-actions,.hero-actions{flex-wrap:wrap}.top-actions{justify-content:flex-end}.labeled-icon{flex-direction:column;gap:3px;min-width:88px;padding:9px 12px;font-size:13px}main{width:min(100%,1120px);margin:auto;padding:24px clamp(16px,4vw,48px) 156px}main.view-empty{padding-top:0;padding-bottom:0}#editor{width:min(100%,1240px);margin:auto}.today-grid{display:grid;gap:16px}.today-col{display:contents}.today-grid>.today-hero,.today-col>*{margin:0}@media(min-width:1024px){.today-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}.today-grid>.today-hero{grid-column:1 / -1;grid-row:1}.today-col-main{grid-column:1;grid-row:2}.today-col-side{grid-column:2;grid-row:2}.today-col{display:flex;flex-direction:column;gap:16px;min-width:0}.today-col-side .dashboard{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;margin:14px 0;box-shadow:var(--shadow)}.onboarding-panel{max-width:860px;margin:24px auto}.onboarding-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.onboarding-progress span{padding:10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-weight:900;text-align:center}.onboarding-progress span.active{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.onboarding-step{display:grid;gap:12px}.choice-grid{display:grid;gap:10px}.plan-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel2);cursor:pointer}.choice-card input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent)}.choice-card span{display:grid;gap:4px}.choice-card small{color:var(--muted);font-weight:800}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.primary,.success{background:var(--accent);color:#fff}.ghost,.file-label,.link{background:transparent;color:var(--text);border:1px solid var(--line)}.secondary-cta{background:transparent;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));padding:11px 14px}.secondary-cta:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.ghost:hover,.file-label:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.text-danger{background:transparent;color:var(--danger-muted);border:0;padding:8px 4px;font-size:14px;align-self:center}.text-danger:disabled{color:var(--muted)}.hidden{display:none!important}.dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--panel);border:1px solid var(--line);padding:14px;border-radius:16px}.stat span{display:block;color:var(--muted);font-size:14px}.stat strong{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.mini-icon{min-height:28px;padding:2px 6px;border-radius:8px;background:transparent;color:var(--accent);border:1px solid transparent}.weekly-target-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.weekly-target-editor input,.weekly-target-editor button{min-height:42px}.streak-bounce{animation:streakBounce .55s cubic-bezier(.2,1.4,.4,1)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:center;gap:18px}.today-hero h2{font-family:var(--font-display);font-size:var(--fs-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.eyebrow{display:inline-flex;margin-bottom:8px;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.hero-actions{flex-direction:column;align-items:stretch}.primary-cta{width:100%;align-self:stretch;min-height:54px;font-size:16px}.more-menu{position:relative}.more-menu summary{min-height:46px;list-style:none;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-weight:900;text-align:center;cursor:pointer}.more-menu summary::-webkit-details-marker{display:none}.more-menu[open]{z-index:12}.more-menu[open] button{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;padding:12px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip-help{display:block;margin-top:8px;color:var(--muted);font-weight:800}.timer-strip{display:flex;justify-content:space-between;align-items:center;gap:14px}.timer-strip strong{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(34px,7vw,48px);letter-spacing:-.01em;color:var(--accent);font-variant-numeric:tabular-nums}.timer-strip p{margin:0}.chips span,.tag,.version-pill{background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);padding:6px 10px;border-radius:999px;color:var(--accent);color:color-mix(in srgb,var(--accent) 72%,var(--text));font-size:13px;font-weight:800}.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.section-title-row p{margin:0}.progress-track{height:12px;margin:16px 0;background:var(--panel2);border:1px solid var(--line);border-radius:999px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),#9dff2e);border-radius:inherit;transition:width .25s ease}.rest-day-checklist .progress-track,.rest-day-checklist #checklistProgressText{display:none}.checklist-items,.exercise-list,.small-list,.history-list,.library-list,.photo-grid,#editList{display:grid;gap:10px;margin-top:12px}.library-list{gap:12px}.checklist-item{display:flex;align-items:center;gap:14px;min-width:0;padding:13px;border:1px solid var(--line);border-left:5px solid var(--type-color, var(--line));border-radius:18px;background:var(--panel2);cursor:pointer}.checklist-item input{width:22px;height:22px;accent-color:var(--type-color, var(--accent))}.checklist-copy{display:grid;gap:3px;min-width:0}.checklist-item.is-done{border-color:#22c55eb3;background:var(--panel2);background:color-mix(in srgb,var(--good) 12%,var(--panel2))}.checklist-item.is-done .checklist-copy strong,.checklist-item.is-done .checklist-copy small{text-decoration:line-through;opacity:.68}.section-heading{margin:10px 0 0}.section-heading p{margin:0}.exercise-card{position:relative;min-width:0;background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--type-color, var(--line));border-radius:18px;padding:16px}.exercise-card.is-resting{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.exercise-card.is-resting .exercise-head{padding-right:132px}.exercise-head{display:flex;justify-content:space-between;gap:16px;min-width:0}.exercise-title{font-size:20px;font-weight:900;color:color-mix(in srgb,var(--type-color, var(--text)) 26%,var(--text));overflow-wrap:anywhere}.exercise-rest-timer{position:absolute;top:12px;right:12px;display:none;align-items:center;gap:7px;padding:7px 8px 7px 10px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;background:var(--accent);color:#111;box-shadow:var(--shadow);font-weight:900}.exercise-rest-timer.is-active{display:inline-flex}.exercise-rest-timer.is-finished{background:var(--good)}.exercise-rest-timer span{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.exercise-rest-timer strong{min-width:42px;font-variant-numeric:tabular-nums}.exercise-rest-timer .restStop{width:24px;height:24px;padding:0;border-radius:999px;background:#11111124;color:#111}.meta,.muted{color:var(--muted);font-size:14px;overflow-wrap:anywhere}.exercise-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.autosave-hint{color:var(--muted);font-size:13px;font-weight:800}.row.wrap{flex-wrap:wrap}.edit-day-actions{display:grid;grid-template-columns:minmax(190px,1fr) repeat(3,minmax(132px,max-content));align-items:end;gap:12px;margin-top:12px}.edit-day-actions button{min-height:48px}.day-select-field{display:grid;gap:7px;position:relative;min-width:0}.day-select-field span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.day-select-field:after{content:"⌄";position:absolute;right:14px;bottom:12px;color:var(--accent);font-size:18px;font-weight:900;pointer-events:none}.day-select-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px;padding-right:42px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent 44%),var(--panel2);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));font-weight:900}.end{justify-content:flex-end}.set-list{display:grid;gap:10px;margin-top:12px}.set-row{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(116px,.9fr) minmax(190px,1.45fr) minmax(128px,.95fr) minmax(130px,1fr);gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.set-row-head{display:grid;gap:8px;align-self:center}.set-row-head .text-danger{justify-self:start}.inline-check{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:900}.inline-check input{width:18px;height:18px;accent-color:var(--accent)}.effort-grid{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px}.set-main-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.set-main-fields.is-single{grid-template-columns:1fr}.previous-set-reference{grid-column:3 / -1;color:var(--muted);font-size:12px;font-weight:900}.set-notes-field,.set-type-field,.set-effort-field{min-width:0}.set-row input,.set-row select,.set-row button,.exercise-actions button,.last-session-card button{min-height:44px}.last-session-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.last-session-card span,.last-session-card small{min-width:0}.last-session-card small{grid-column:1 / -1;color:var(--muted);font-weight:800}.session-note-label{margin-top:12px}.session-note-label textarea{min-height:72px}.volume-pill{color:var(--accent);font-size:13px;font-weight:900}.history-summary{margin-bottom:8px}.pr-list{display:grid;gap:8px;margin-top:10px}.pr-item{display:grid;gap:3px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.pr-item span{color:var(--muted);font-weight:800}.countdown{font-family:var(--font-display);font-size:clamp(48px,12vw,72px);font-weight:700;letter-spacing:-.01em;color:var(--accent);font-variant-numeric:tabular-nums}canvas{width:100%;max-height:340px;background:var(--panel2);border-radius:16px;padding:10px}.chart-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;align-items:center;margin:14px 0 8px}.chart-controls button{min-height:44px}.chart-summary{margin:0 0 12px;font-size:14px;font-weight:800}.chart-summary p{margin:0}.measure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr));gap:10px}.extra-tracking{padding:0;overflow:hidden}.extra-tracking details{padding:0;overflow:hidden}details>:not(summary){animation:details-open .18s ease}@keyframes details-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.extra-tracking summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}.extra-tracking summary::-webkit-details-marker{display:none}.extra-tracking summary span{font-weight:900}.extra-tracking summary small{color:var(--muted);font-weight:700}.extra-tracking summary:after{content:"Open";color:var(--accent);font-size:13px;font-weight:900}.extra-tracking details[open] summary{border-bottom:1px solid var(--line)}.extra-tracking details[open] summary:after{content:"Close"}.extra-grid{display:grid;gap:14px;padding:16px 18px 18px}.sub-panel{display:grid;gap:10px}.sub-panel h2{font-size:18px}.measurement-helper{margin-top:-4px}.history-item,.library-item,.edit-item,.tip,.settings-card,.empty-state{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:14px}.library-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:10px;border-left:4px solid color-mix(in srgb,var(--accent) 45%,var(--line))}.edit-item{border-left:4px solid var(--type-color, var(--line))}.library-group{display:grid;gap:0;padding:10px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 55%),var(--panel2)}.library-group summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:10px 12px;border-radius:14px;cursor:pointer;list-style:none;position:relative}.library-group summary::-webkit-details-marker{display:none}.library-group summary:before{content:"›";position:absolute;left:12px;top:50%;width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--accent);font-size:24px;font-weight:900;transform:translateY(-50%) rotate(0);transition:transform .18s ease,background .18s ease}.library-group[open] summary:before{transform:translateY(-50%) rotate(90deg);background:color-mix(in srgb,var(--accent) 12%,transparent)}.library-group-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;min-width:0;padding-left:42px}.library-group-title strong{min-width:0;overflow-wrap:break-word;word-break:normal;font-family:var(--font-display);font-weight:700;font-size:clamp(18px,2.2vw,28px);line-height:1.05}.library-group-title small{width:fit-content;padding:5px 9px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--muted);font-weight:900;white-space:nowrap}.library-group-action{min-width:92px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--accent);font-size:13px;font-weight:900;text-align:center}.library-group[open] .library-group-action{color:var(--text)}.library-add-button{min-width:92px;color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent)}.library-category{display:grid;gap:10px;min-width:0;border:1px solid color-mix(in srgb,var(--type-color, var(--line)) 38%,var(--line));border-radius:16px;background:var(--panel2);padding:10px}.library-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%;padding:10px;background:transparent;color:var(--text);border:0;text-align:left}.library-category-title{display:grid;gap:3px;min-width:0}.library-category-title strong{margin:0;font-size:18px;overflow-wrap:anywhere}.library-category-title small{color:var(--muted);font-weight:800}.library-category-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--type-color, var(--accent)) 16%,transparent);color:color-mix(in srgb,var(--type-color, var(--accent)) 76%,var(--text));font-weight:900;font-size:13px}.library-category-list{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.library-actions{display:flex;flex-direction:column;gap:8px;min-width:136px}.library-actions button{width:100%;white-space:nowrap}.library-item.compact p{margin:8px 0 0}.library-picker{max-height:min(82vh,900px);overflow:auto}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;margin-top:18px}.text-link{background:transparent;color:var(--accent);border:0;padding:0;justify-content:flex-start}.template-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:12px}.settings-card h3{margin-bottom:4px}.theme-card{grid-column:1 / -1}.color-field,.training-theme-row{display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:12px;margin-top:12px}.color-field span,.training-theme-row span{color:var(--muted);font-weight:900}.training-theme-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px 14px;margin-top:12px}.training-theme-row{margin-top:0;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.meals-panel{display:grid;gap:14px}.nutrition-feature-stack{display:grid;gap:12px}.nutrition-feature-card{display:grid;gap:14px;margin:0}.nutrition-feature-card h3{margin:0 0 4px}.nutrition-feature-card p{margin:0}.meal-dashboard,.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}.nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.water-card{grid-template-columns:minmax(0,1fr) minmax(180px,260px) minmax(220px,320px);align-items:center}.water-progress strong{display:block;margin-bottom:8px;color:var(--accent);font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:.01em;font-variant-numeric:tabular-nums}.water-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:end}.macro-card{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.macro-card span{color:var(--muted);font-size:13px;font-weight:900}.macro-card strong{font-size:clamp(24px,5vw,34px);line-height:1}.macro-card small{color:var(--muted);font-weight:800}.profile-grid,.meal-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;margin-top:12px}.meal-form>.field-label,.meal-form>button{align-self:start}.food-picker{display:grid;gap:8px;min-width:0}.meal-form .food-picker{grid-column:span 2}.food-picker-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.food-option{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.food-option:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.food-option.selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 14%,var(--panel2))}.food-option span{display:grid;gap:3px;min-width:0}.food-option strong{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.25}.selected-food-summary strong{overflow-wrap:anywhere}.food-option small,.selected-food-summary span{color:var(--muted);font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-option em{align-self:center;flex:0 0 auto;color:var(--accent);font-size:11px;font-style:normal;font-weight:900;line-height:1.2;text-align:right;text-transform:uppercase}.food-avatar{width:44px;height:44px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 13%,var(--panel2));color:var(--accent);font-size:13px;font-weight:900}.selected-food-summary{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.selected-food-summary>div{display:grid;gap:3px;min-width:0}.meal-form-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;align-self:end}.meal-form-actions button{width:100%}.ai-food-card,.recipe-card{align-content:start}.ai-panel-content{display:grid;gap:12px}.ai-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ai-card-header h3,.ai-card-header p{margin:0}.ai-card-header h3{margin-bottom:4px}.ai-status-pill{flex:0 0 auto;padding:6px 10px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);font-size:12px;font-weight:900;text-transform:uppercase}.ai-status-pill.disabled{border-color:color-mix(in srgb,var(--danger) 48%,var(--line));background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger-muted)}.ai-status-note{margin:4px 0 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--danger) 9%,transparent);color:var(--danger-muted);font-size:13px;font-weight:700;line-height:1.4}.scan-preview{display:grid;gap:10px;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.scan-preview img{width:100%;max-height:220px;object-fit:contain;border-radius:12px;background:var(--bg)}.scan-preview strong{overflow-wrap:anywhere}.scan-result-preview{display:grid}.macro-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px}.macro-mini-grid span{padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);font-size:13px;font-weight:900}.scan-result-image{width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.scan-status{margin:10px 0 0;font-weight:800}.ingredient-list,.saved-recipe-list,.recipe-suggestion-list{display:grid;gap:10px;margin-top:12px}.ingredient-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;max-height:250px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.ingredient-select{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;min-height:52px;padding:8px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text);text-align:left}.ingredient-select .food-avatar{width:36px;height:36px;border-radius:12px;font-size:12px}.ingredient-select span{overflow-wrap:anywhere;font-size:13px;font-weight:900}.ingredient-select.selected{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 12%,transparent)}.macro-remaining-line{margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--muted);font-size:13px;font-weight:700}.macro-remaining-line strong{color:var(--accent);font-variant-numeric:tabular-nums}.recipe-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.recipe-toolbar button{flex:1 1 190px}.recipe-dialog{max-height:min(86vh,920px);overflow:auto}.recipe-dialog .section-title-row{position:sticky;top:0;z-index:1;padding-bottom:12px;background:var(--panel);border-bottom:1px solid var(--line)}.ai-workout-planner{display:grid;gap:12px;border-color:color-mix(in srgb,var(--accent) 18%,var(--line));background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),var(--panel)}.ai-workout-planner textarea{min-height:92px;resize:vertical}.ai-workout-dialog{max-height:min(86vh,840px);overflow:auto}.ai-plan-list{display:grid;gap:10px;margin:14px 0}.ai-plan-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.ai-plan-item>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-weight:900}.ai-plan-item p{margin:3px 0;color:var(--muted);font-weight:800}.ai-plan-item small{color:var(--muted);font-weight:700}.ingredient-chip,.saved-recipe-item,.recipe-suggestion-card{display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.saved-recipe-item{grid-template-columns:64px minmax(0,1fr);align-items:center}.saved-recipe-item .recipe-actions{grid-column:1 / -1}.ingredient-chip{grid-template-columns:64px minmax(0,1fr) auto;align-items:center}.ingredient-copy,.meal-copy,.recipe-list-copy{min-width:0}.ingredient-chip strong,.saved-recipe-item strong,.recipe-suggestion-card strong{overflow-wrap:anywhere}.recipe-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.recipe-card-head p{margin:4px 0 0}.recipe-card-head span{flex:0 0 auto;color:var(--accent);font-weight:900}.recipe-suggestion-card h4{margin:8px 0 0;color:var(--text);font-size:16px}.recipe-suggestion-card ol,.recipe-suggestion-card ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.6}.recipe-suggestion-card ol li{margin-bottom:6px}.recipe-suggestion-card ol strong{color:var(--text)}.food-thumb,.ingredient-thumb,.recipe-thumb{width:64px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.ingredient-thumb.small{width:42px;height:42px;border-radius:12px}.recipe-reference-image{width:100%;height:clamp(160px,22vw,240px);object-fit:cover;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 48%),var(--panel2)}.recipe-ingredient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px}.recipe-ingredient-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.recipe-ingredient-item span{color:var(--muted);font-size:13px;font-weight:800;overflow-wrap:anywhere}.source-list{display:grid;gap:6px}.source-list a{color:var(--accent);font-weight:800;overflow-wrap:anywhere}.recipe-actions{display:flex;flex-wrap:wrap;gap:8px}.recipe-actions button{flex:1 1 140px}.local-recipe-card{align-content:start}.custom-food-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}.settings-stack{display:grid;gap:12px}.inline-setting{display:flex;align-items:flex-start;gap:10px;color:var(--text);font-weight:800}.inline-setting input[type=checkbox]{width:22px;height:22px;margin-top:2px;accent-color:var(--accent);flex:0 0 auto}.meal-list{display:grid;gap:10px;margin-top:12px}.meal-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.meal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.meal-actions button{min-height:40px}.meal-item strong{display:block}.meal-macros{color:var(--muted);font-size:13px;font-weight:800}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.photo-figure{display:grid;gap:4px}.photo-figure figcaption{font-size:11px;color:var(--muted);text-align:center}.photo-img-wrap{position:relative}.photo-img-wrap img{width:100%;border-radius:14px;border:1px solid var(--line);display:block}.photo-delete-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:999px;background:#000000a6;color:#fff;border:none;font-size:12px;font-weight:900;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.photo-img-wrap:hover .photo-delete-btn,.photo-img-wrap:focus-within .photo-delete-btn{opacity:1}.photo-delete-btn--placeholder{position:static;opacity:1;background:transparent;color:var(--danger-muted);font-size:13px;margin-top:4px}.photo-placeholder{display:grid;place-items:center;gap:4px;min-height:120px;border:1px dashed var(--line);border-radius:14px;padding:12px;text-align:center}.photo-placeholder span{font-size:28px}.photo-placeholder small{font-size:11px;color:var(--muted)}.measurement-tip{display:flex;justify-content:space-between;align-items:center;gap:8px}.empty-state{display:grid;gap:8px;place-items:center;text-align:center;padding:26px 18px}.empty-state.compact{place-items:start;text-align:left;padding:16px}.empty-state p{margin:0}.empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:24px}.empty-icon svg{width:24px;height:24px}dialog{border:0;border-radius:24px;background:transparent;color:var(--text);max-width:720px;width:92vw;max-height:calc(100dvh - 24px)}dialog::backdrop{background:#0000009e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-card{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;display:grid;gap:10px;box-shadow:var(--shadow);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}.confirm-card{border-color:color-mix(in srgb,var(--danger) 50%,var(--line))}.bottom-sheet-dialog{max-width:560px;margin-bottom:max(18px,env(safe-area-inset-bottom))}.completion-sheet{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.field-label{display:grid;gap:7px;color:var(--muted);font-weight:800;font-size:13px}.set-rep-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.more-toggle{background:transparent;color:var(--accent);border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));justify-self:start}.more-options{display:grid;gap:10px;max-height:0;overflow:hidden;opacity:0;transition:max-height .28s ease,opacity .2s ease,padding-top .2s ease}.more-options.open{max-height:760px;opacity:1;padding-top:4px}.right{margin-left:auto}iframe{width:100%;aspect-ratio:16 / 9;border:0;border-radius:16px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%) translateY(20px);max-width:min(90vw,520px);background:var(--panel);color:var(--text);border:1px solid var(--line);padding:14px 18px;border-radius:16px;box-shadow:var(--shadow);opacity:0;transition:.25s;z-index:100;pointer-events:none;text-align:center;font-weight:900}.dialog-toast{position:sticky;top:0;z-index:5;display:none;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:14px;background:var(--accent);color:#111;box-shadow:var(--shadow);text-align:center;font-weight:900}.show-dialog-toast{display:block}.show-toast{opacity:1!important;transform:translate(-50%) translateY(0)!important}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(64px + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--iron-600);border-radius:0;background:var(--iron-800)}.bottom-nav.nutrition-disabled{grid-template-columns:repeat(4,1fr)}.nav-tab{position:relative;flex-direction:column;gap:3px;min-width:0;min-height:44px;height:64px;padding:8px 6px 10px;border-radius:0;background:transparent;color:var(--chalk-dim);font-family:var(--font-display);font-weight:600;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;white-space:normal;overflow:hidden}.nav-tab span{font-size:18px}.nav-tab:before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:transparent}.nav-tab.active{background:transparent;box-shadow:none;color:var(--chalk)}.nav-tab.active:before{background:var(--plate-red)}.nav-tab .nav-tab-badge{position:absolute;top:7px;right:calc(50% - 18px);width:8px;height:8px;border-radius:50%;background:var(--plate-red);font-size:0}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:80}.confetti-layer span{position:absolute;top:26%;left:var(--x);width:9px;height:14px;border-radius:3px;background:var(--confetti);opacity:0}.confetti-layer.is-active span{animation:confettiBurst 1.5s cubic-bezier(.16,.8,.28,1) var(--delay) forwards}@keyframes confettiBurst{0%{opacity:0;transform:translateZ(0) rotate(0) scale(.7)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--dx),70vh,0) rotate(720deg) scale(1)}}@keyframes streakBounce{0%,to{transform:scale(1)}45%{transform:scale(1.24)}}@media(min-width:769px){body{padding-bottom:calc(180px + env(safe-area-inset-bottom))}main{padding-bottom:calc(240px + env(safe-area-inset-bottom))}}@media(max-width:820px){body{padding-bottom:calc(128px + env(safe-area-inset-bottom))}main{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.topbar,.hero{display:grid;grid-template-columns:1fr;gap:12px}.top-actions,.hero-actions{margin-top:0}.top-actions{justify-content:flex-start}.dashboard{grid-template-columns:repeat(2,1fr)}.measure-grid,.grid2,.settings-grid,.theme-card,.training-theme-controls,.meal-dashboard,.nutrition-grid,.water-card,.water-actions,.profile-grid,.meal-form,.meal-form-actions,.custom-food-form,.chart-controls,.template-tools,.plan-choice-grid,.edit-day-actions,.last-session-card{grid-template-columns:1fr}.last-session-card .copyPrevious{width:100%}.exercise-head,.library-item,.section-title-row{display:block}.library-item{display:grid;grid-template-columns:minmax(0,1fr)}.library-group summary{grid-template-columns:minmax(0,1fr);gap:8px}.library-group-title{grid-template-columns:minmax(0,1fr);justify-items:start;gap:6px 0}.library-group-title strong{font-size:20px}.library-group-action{justify-self:start}.library-add-button{width:100%}.theme-card{grid-column:auto}.library-actions{margin-top:12px;width:100%;min-width:0}.row{flex-wrap:wrap}.row:not(.edit-day-actions)>*{flex:1 1 160px}.timer-strip{display:grid}.timer-strip button,.onboarding-actions button{width:100%}.onboarding-actions{display:grid}}@media(max-width:760px){.exercise-card{padding:12px;border-radius:16px}.exercise-card.is-resting .exercise-head{padding-right:0}.exercise-head{display:block}.exercise-title{font-size:18px;padding-right:0}.exercise-rest-timer{position:static;margin-top:10px;width:fit-content}.last-session-card{grid-template-columns:1fr;padding:10px}.last-session-card .copyPrevious{width:100%}.session-note-label textarea{min-height:58px}.set-row{grid-template-columns:1fr;gap:10px;padding:11px;align-items:stretch}.set-row-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.set-row-head .inline-check{justify-self:center}.set-row-head .text-danger{justify-self:end;padding-left:8px;padding-right:8px}.set-type-field,.set-notes-field,.previous-set-reference{width:100%;grid-column:1 / -1}.set-main-fields,.set-effort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.set-main-fields.is-single{grid-template-columns:1fr}.exercise-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.exercise-actions button{width:100%}.exercise-actions .restBtn{order:1}.exercise-actions .addSet{order:2}.exercise-actions .videoBtn{order:3;grid-column:1 / -1}.exercise-actions .autosave-hint{order:4;grid-column:1 / -1}.exercise-actions .volume-pill{order:5;grid-column:1 / -1}}@media(max-width:640px){.top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.top-actions button{width:auto}.supporting-actions,.meal-form-actions{grid-template-columns:1fr}.meal-form .food-picker{grid-column:auto}dialog{width:calc(100vw - 18px)}.dialog-card{border-radius:20px;padding:16px}dialog .row.end{display:grid;grid-template-columns:1fr}.meal-item{grid-template-columns:56px minmax(0,1fr)}.meal-actions{grid-column:1 / -1;justify-content:stretch}.meal-actions button{flex:1 1 120px}.ingredient-chip{grid-template-columns:56px minmax(0,1fr)}.ingredient-chip .text-danger{grid-column:1 / -1;justify-self:stretch}.saved-recipe-item{grid-template-columns:56px minmax(0,1fr)}.food-thumb,.ingredient-thumb,.recipe-thumb,.food-avatar{width:56px;height:56px;border-radius:14px}.food-option,.selected-food-summary{grid-template-columns:56px minmax(0,1fr)}.food-option em{grid-column:2;justify-self:start}}@media(max-width:430px){main{padding-left:12px;padding-right:12px;padding-bottom:calc(142px + env(safe-area-inset-bottom))}.training-type-list{grid-template-columns:1fr}.training-type-card{padding:14px}.library-category-head{display:grid;grid-template-columns:1fr}.library-category-toggle{width:100%;min-width:0}.topbar{padding-left:12px;padding-right:12px}.panel,.stat{border-radius:20px}.dashboard,.set-rep-fields{grid-template-columns:1fr}.nav-tab{font-size:10px;padding-left:4px;padding-right:4px}.nav-tab span{font-size:17px}}@media(min-width:1180px){.bottom-nav{inset:14px auto auto 50%;transform:translate(-50%);width:max-content;max-width:none;height:max-content;display:flex;align-items:center;gap:4px;grid-template-columns:none;border:1px solid var(--iron-600);border-radius:14px;padding:5px;background:var(--iron-800)}.bottom-nav.nutrition-disabled{grid-template-columns:none}.nav-tab{flex-direction:row;align-items:center;gap:8px;min-height:38px;height:auto;padding:7px 14px;border-radius:10px;font-size:13px}.nav-tab span{font-size:15px}.nav-tab:before{top:auto;bottom:0;left:14px;right:14px;border-radius:3px 3px 0 0}.nav-tab.active{background:var(--iron-700)}.nav-tab .nav-tab-badge{position:static;margin-left:2px}body{padding-bottom:24px}main{padding-bottom:48px}}.targets-meta{margin:calc(-1 * var(--space-2)) 0 var(--space-3);font-size:var(--fs-sm);color:var(--muted)}.targets-meta strong{color:var(--text)}.targets-meta .targets-floored{color:var(--warning)}.optional-tag{font-size:var(--fs-xs);color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.btn-sm{padding:6px 12px;font-size:var(--fs-sm)}.trend-banner,.adaptive-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius);background:var(--panel2);border:1px solid var(--line);border-left:4px solid var(--accent)}.trend-banner-main,.adaptive-banner>div{display:flex;flex-direction:column;gap:2px;min-width:0}.trend-banner-main strong,.adaptive-banner strong{font-family:var(--font-display);font-size:var(--fs-h3)}.trend-banner-main span,.adaptive-banner span:not(.trend-kcal-pill):not(.trend-eta-pill){color:var(--muted);font-size:var(--fs-sm)}.trend-on-track,.trend-maintaining{border-left-color:var(--good)}.trend-too-slow,.trend-stalled{border-left-color:var(--warning)}.trend-too-fast,.trend-wrong-way{border-left-color:var(--danger)}.trend-kcal-pill,.trend-eta-pill{flex-shrink:0;padding:6px 12px;border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-sm);white-space:nowrap}.trend-kcal-pill{background:var(--accent-soft);color:var(--accent-strong)}.trend-eta-pill{background:var(--panel);color:var(--muted);border:1px solid var(--line)}.volume-landmark-list{display:flex;flex-direction:column;gap:var(--space-2)}.volume-landmark-row{display:grid;grid-template-columns:130px 1fr auto auto;align-items:center;gap:var(--space-3)}.vl-name{font-weight:600;font-size:var(--fs-sm)}.vl-bar{height:8px;border-radius:var(--radius-pill);background:var(--panel2);overflow:hidden}.vl-fill{display:block;height:100%;border-radius:var(--radius-pill);background:var(--accent)}.status-low .vl-fill{background:var(--warning)}.status-optimal .vl-fill{background:var(--good)}.status-high .vl-fill{background:var(--danger)}.vl-count{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.vl-tag{font-size:var(--fs-xs);font-weight:700;padding:3px 8px;border-radius:var(--radius-pill);white-space:nowrap}.status-low .vl-tag{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.status-optimal .vl-tag{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.status-high .vl-tag{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.strength-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.strength-tile{display:flex;flex-direction:column;gap:4px;padding:var(--space-3);border-radius:var(--radius);background:var(--panel2);border:1px solid var(--line)}.strength-lift{font-size:var(--fs-sm);color:var(--muted)}.strength-1rm{font-family:var(--font-display);font-size:var(--fs-h2);line-height:1}.strength-ratio{font-size:var(--fs-xs);color:var(--muted)}.strength-level{margin-top:4px;align-self:flex-start;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:var(--radius-pill);background:var(--panel);border:1px solid var(--line)}.level-untrained{color:var(--muted)}.level-novice{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,var(--line))}.level-intermediate{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,var(--line))}.level-advanced{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.level-elite{color:#fff;background:var(--accent);border-color:var(--accent)}.bmi-caveat{font-size:var(--fs-sm);font-style:italic;display:block;margin-top:6px}@media(max-width:560px){.volume-landmark-row{grid-template-columns:96px 1fr auto}.volume-landmark-row .vl-tag{display:none}}.cycle-tip{margin-top:var(--space-2);padding-left:var(--space-3);border-left:3px solid var(--accent);font-size:var(--fs-sm)}.mesocycle-panel{display:flex;flex-direction:column;gap:var(--space-3)}.mesocycle-panel.is-deload{border-color:color-mix(in srgb,var(--warning) 45%,var(--line))}.mesocycle-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.mesocycle-status{min-width:0;flex:1}.mesocycle-status p{margin:6px 0 0;color:var(--muted);font-size:var(--fs-sm)}.phase-pill{display:inline-block;font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:var(--tracking-display);padding:4px 12px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-strong)}.phase-deload{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.phase-overreach{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.mesocycle-progress{display:flex;gap:6px;flex-shrink:0}.meso-week{width:26px;height:8px;border-radius:var(--radius-pill);background:var(--panel2);border:1px solid var(--line)}.meso-week.current{background:var(--accent);border-color:var(--accent)}.meso-week.deload{border-color:var(--warning);border-style:dashed}.meso-week.current.deload{background:var(--warning)}.mesocycle-config>summary{cursor:pointer;font-size:var(--fs-sm);color:var(--muted);list-style:none}.mesocycle-config>summary::-webkit-details-marker{display:none}.mesocycle-config>summary:before{content:"⚙ "}.mesocycle-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line)}.mesocycle-controls .field-label{min-width:130px}.deload-note{margin:var(--space-2) 0;padding:8px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning);font-size:var(--fs-sm)}.warmup-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:var(--space-2) 0}.warmup-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.warmup-set{font-size:var(--fs-sm);padding:3px 10px;border-radius:var(--radius-pill);background:var(--panel2);border:1px solid var(--line);white-space:nowrap}.edit-deload-tag{margin:4px 0;font-size:var(--fs-sm);color:var(--warning);font-weight:600}.rest-suggestion{margin:6px 0 0;font-size:var(--fs-sm);color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rest-suggestion .text-link{font-size:var(--fs-sm)}.scan-mode-toggle{display:inline-flex;padding:3px;gap:3px;border-radius:var(--radius-pill);background:var(--panel2);border:1px solid var(--line);margin-bottom:var(--space-3)}.scan-mode-toggle button{border:0;background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:600;padding:6px 14px;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur, .18s),color var(--dur, .18s)}.scan-mode-toggle button.active{background:var(--accent);color:#fff}.plate-scan-dialog{width:min(560px,94vw);max-height:85vh;overflow-y:auto}.plate-scan-actions{margin-top:var(--space-3);gap:var(--space-2)}.plate-ingredient-list{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0;width:100%;min-width:0}.plate-ingredient{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--panel2);border:1px solid var(--line)}.plate-ingredient.is-added{opacity:.6;border-color:color-mix(in srgb,var(--good) 45%,var(--line))}.plate-ingredient-main{min-width:0;display:flex;flex-direction:column;gap:2px}.plate-ingredient-main strong{overflow-wrap:anywhere;word-break:normal}.plate-ingredient-main strong{font-size:var(--fs-body)}.plate-grams-field{display:inline-flex;align-items:center;gap:4px}.plate-grams-field input{width:68px;text-align:right}.plate-grams-field span{color:var(--muted);font-size:var(--fs-sm)}.plate-ingredient-macro{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;min-width:92px;text-align:right}@media(max-width:560px){.plate-ingredient{grid-template-columns:1fr auto;grid-template-areas:"main grams" "macro add"}.plate-ingredient-main{grid-area:main}.plate-grams-field{grid-area:grams;justify-self:end}.plate-ingredient-macro{grid-area:macro;text-align:left;min-width:0}.plate-ingredient button{grid-area:add;justify-self:end}}.meals-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seg-toggle{display:inline-flex;padding:3px;gap:3px;border-radius:var(--radius-pill);background:var(--panel2);border:1px solid var(--line)}.seg-toggle button{border:0;background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:600;padding:7px 16px;border-radius:var(--radius-pill);cursor:pointer;transition:background .16s,color .16s}.seg-toggle button.active{background:var(--accent);color:#fff}.tool-tabs{display:flex;width:100%;margin-bottom:var(--space-4)}.tool-tabs button{flex:1;text-align:center}.tool-panel[hidden]{display:none}.meal-group{margin-top:10px}.meal-group-label{display:block;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin:8px 0 6px}.set-stepper{margin-top:10px}.set-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.set-chip{min-height:42px;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--panel2);color:var(--text);font-weight:600;cursor:pointer;transition:background .16s,border-color .16s,color .16s}.set-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-strong)}.set-chip.done{border-color:color-mix(in srgb,var(--good) 55%,var(--line));color:var(--good)}.set-chip.active.done{background:color-mix(in srgb,var(--good) 16%,transparent)}.set-chip.add{border-style:dashed;color:var(--muted)}.set-editor{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:14px}.set-editor-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.set-editor-head strong{font-family:var(--font-display);font-size:var(--fs-h3)}.set-type-field{margin-left:auto;min-width:150px}.set-editor-head .text-danger{align-self:center}.set-done-btn{margin-top:14px;width:100%;padding:13px;font-weight:700;font-size:var(--fs-body);border-radius:12px;cursor:pointer;border:1px solid transparent}.set-done-btn.is-done{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good);border-color:color-mix(in srgb,var(--good) 50%,var(--line))}.edit-item{padding:0}.edit-item>summary.edit-item-summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px}.edit-item>summary.edit-item-summary::-webkit-details-marker{display:none}.edit-item-title{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.edit-item-title strong{display:flex;align-items:center;gap:8px}.edit-item-caret{color:var(--muted);transition:transform .2s;flex-shrink:0;font-size:18px}.edit-item[open] .edit-item-caret{transform:rotate(180deg)}.edit-item-body{padding:0 14px 14px;display:grid;gap:10px}@media(max-width:560px){.set-type-field{margin-left:0;width:100%}}.exercise-card.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 10px 34px #f9731624}.exercise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exercise-head-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.exercise-head .meta{margin-top:4px}.status-pill.in-progress{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-strong)}.icon-btn{padding:3px 11px;line-height:1;font-size:15px}.exercise-card.collapsed{padding:0}.collapsed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px}.collapsed-main{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.collapsed-main strong{font-size:var(--fs-body)}.collapsed-main .muted{font-size:var(--fs-sm)}.done-check{color:var(--good);flex-shrink:0}.set-table{margin-top:8px}.set-table-head,.set-table-row{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(0,1fr) 74px 44px;gap:8px;align-items:center}.set-table-head{padding:2px 2px 6px}.set-table-head span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}.set-table-head span:not(:first-child){padding-left:4px}.set-table-row{padding:4px 0}.set-num{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:48px;border:0;background:transparent;cursor:pointer;font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text)}.set-table-row.done .set-num,.set-tick{color:var(--good)}.set-input{height:48px;width:100%;text-align:center;background:var(--field-bg, var(--panel2));border:1px solid var(--field-border, var(--line));border-radius:12px;font-size:17px;font-weight:700;color:var(--text)}.set-input::placeholder{color:var(--muted);font-weight:600;opacity:.5}.set-table-row.done .set-input{border-color:color-mix(in srgb,var(--good) 35%,var(--line))}.set-note-btn{height:48px;width:100%;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:12px;color:var(--muted);cursor:pointer}.set-note-btn.has-note{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.set-note-pop{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px;margin:6px 0;background:var(--panel);border:1px solid var(--line);border-radius:12px}.set-note-pop .field-label:nth-child(3){grid-column:1 / -1}.set-note-pop .text-danger{grid-column:1 / -1;justify-self:start;background:none;border:0;cursor:pointer;padding:0}.set-table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.add-set-btn{padding:9px 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-weight:700;cursor:pointer}.set-table-foot .volume-pill{color:var(--muted);font-size:var(--fs-sm)}.set-table-foot .volume-pill strong{color:var(--text);font-family:var(--font-display);font-size:var(--fs-h3);margin-left:4px}@media(max-width:560px){.set-table-head,.set-table-row{grid-template-columns:38px minmax(0,1fr) minmax(0,1fr) 60px 42px;gap:6px}.set-input{font-size:16px}.set-note-pop{grid-template-columns:1fr}}.set-num{cursor:default}.set-delete-btn{height:48px;width:100%;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:12px;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.set-delete-btn:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.set-delete-btn:disabled{opacity:.4;cursor:not-allowed}.rest-inline{display:inline-flex;align-items:center;margin-left:10px;padding:2px 10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-strong);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:700;vertical-align:middle}.collapsed-row{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.collapsed-right{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.exercise-card.ex-acc{transition:border-color .2s ease,box-shadow .2s ease}.exercise-card.ex-acc .exercise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.exercise-head-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.exercise-head-text .exercise-title{display:flex;align-items:center;flex-wrap:wrap}.ex-caret{font-size:16px;color:var(--muted);line-height:1;padding:2px 4px;flex-shrink:0;transition:transform .26s ease}.ex-acc.open .ex-caret{transform:rotate(180deg)}.exercise-body-wrap{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s ease,opacity .2s ease}.ex-acc.open .exercise-body-wrap{grid-template-rows:1fr;opacity:1}.exercise-body{overflow:hidden;min-height:0}@media(prefers-reduced-motion:reduce){.exercise-card.ex-acc,.exercise-body-wrap,.ex-caret{transition:none}}.more-hub{display:flex;flex-direction:column;gap:var(--space-2)}.more-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);width:100%;min-height:64px;padding:var(--space-3) var(--space-4);border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-800);color:var(--chalk);text-align:left;cursor:pointer}.more-row:hover{background:var(--iron-700)}.more-row-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--iron-700);border:1px solid var(--iron-600);font-size:17px}.more-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.more-row-text strong{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:.03em;text-transform:uppercase}.more-row-text small{color:var(--chalk-dim);font-size:var(--fs-sm)}.more-row-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-sm);background:var(--plate-red);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:600}.more-sync{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3)}.more-sync-dot{width:10px;height:10px;border-radius:50%;background:var(--plate-green)}.more-sync-dot.sync-offline,.more-sync-dot.sync-error{background:var(--plate-yellow)}.more-sync-dot.sync-syncing,.more-sync-dot.sync-loading{background:var(--plate-blue)}.more-sync-dot.sync-signed-out,.more-sync-dot.sync-disabled{background:var(--iron-600)}@media(min-width:1024px){.more-hub,.more-sync{max-width:720px;margin-left:auto;margin-right:auto}}.today-page{display:grid;gap:var(--space-4)}.today-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.today-greeting{margin:2px 0 0;font-family:var(--font-display);font-weight:700;font-size:clamp(30px,6vw,42px);line-height:1;letter-spacing:.01em;text-transform:uppercase}.streak-widget{display:grid;justify-items:end;gap:4px}.streak-bars{display:flex;align-items:flex-end;gap:3px;min-height:36px}.streak-bars span{width:9px;border-radius:2px 2px 0 0}.streak-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;color:var(--plate-yellow);white-space:nowrap}.today-grid{display:grid;gap:var(--space-4)}.today-col-main,.today-col-side{display:grid;gap:var(--space-4);align-content:start}@media(min-width:1024px){.today-grid{grid-template-columns:3fr 2fr}}.start-card{border-left:4px solid var(--plate-red);display:grid;gap:var(--space-3)}.start-type-tag{display:inline-flex;align-items:center;gap:6px;width:max-content;font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--type-color, var(--accent))}.start-type-tag i{width:10px;height:10px;border-radius:3px;background:var(--type-color, var(--accent))}.start-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(24px,5vw,32px);line-height:1.05;text-transform:uppercase;letter-spacing:.01em}.start-preview{list-style:none;margin:0;padding:0;display:grid;gap:6px}.start-preview li{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.start-ex-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-ex-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--chalk-dim);white-space:nowrap}.start-more{color:var(--chalk-dim);font-size:13px}.start-btn{width:100%;min-height:52px;border:none;border-radius:var(--radius);background:var(--plate-red);color:#fff;font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 26px color-mix(in srgb,var(--plate-red) 32%,transparent);cursor:pointer}.start-btn:active{background:var(--plate-red-press)}.week-strip-card{display:grid;gap:var(--space-3)}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week-dot-wrap{display:grid;justify-items:center;gap:4px}.week-dot-wrap small{color:var(--chalk-dim);font-size:11px}.week-dot{width:16px;height:16px;border-radius:50%;background:var(--iron-600);border:2px solid transparent}.week-dot.trained{background:var(--plate-green)}.week-dot.today{border-color:var(--plate-red);background:transparent}.week-dot.today.trained{background:var(--plate-green)}.week-strip-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.glance-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);width:100%;text-align:left;cursor:pointer}.glance-card:hover{background:var(--iron-700)}.pr-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--plate-yellow) 55%,var(--iron-600));background:color-mix(in srgb,var(--plate-yellow) 12%,var(--iron-800));color:var(--plate-yellow);font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.06em}.glance-copy{display:grid;gap:2px;min-width:0}.glance-copy strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glance-copy small{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--chalk-dim);font-size:12px}.glance-chevron{color:var(--chalk-dim);font-size:18px}.glance-kcal{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:17px;color:var(--plate-red);white-space:nowrap}.glance-kcal small{color:var(--chalk-dim);font-size:12px}.today-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.ai-planner-card{border:1.5px dashed color-mix(in srgb,var(--plate-blue) 60%,var(--iron-600));background:#4a7fc112}.ai-generate-btn{min-height:44px;padding:10px 18px;border:1px solid color-mix(in srgb,var(--plate-blue) 60%,var(--iron-600));border-radius:var(--radius);background:transparent;color:var(--plate-blue);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase}.ai-generate-btn:hover:not(:disabled){background:color-mix(in srgb,var(--plate-blue) 14%,transparent)}.ai-generate-btn:disabled{opacity:.5}.week-split{display:grid;gap:6px}.split-row{border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-800);overflow:hidden}.split-row.is-rest{opacity:.5}.split-row.is-open{border-color:color-mix(in srgb,var(--plate-red) 45%,var(--iron-600))}.split-row-head{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:8px 12px;background:transparent;border:none;color:var(--chalk);text-align:left;cursor:pointer}.split-day{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;text-transform:uppercase;color:var(--chalk-dim)}.split-row.is-open .split-day{color:var(--chalk)}.split-name{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.03em;text-transform:uppercase}.split-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--chalk-dim);white-space:nowrap}.split-tag i{width:9px;height:9px;border-radius:3px;background:var(--type-color, var(--accent))}.split-detail{padding:0 12px 12px;display:grid;gap:8px}.split-detail ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}.split-detail li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px}.split-ex-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.split-ex-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--chalk-dim);white-space:nowrap}.split-detail>.ghost{justify-self:start}@media(min-width:1024px){.muscle-map-body{display:grid;grid-template-columns:minmax(260px,1fr) 1.4fr;gap:var(--space-5);align-items:start}.muscle-map-figure{position:sticky;top:12px}}.history-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}@media(min-width:1024px){.history-stat-grid{grid-template-columns:repeat(4,1fr)}}.hstat{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-700);border-left-width:3px}.hstat span{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim)}.hstat strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px}.hstat strong small{font-size:12px;color:var(--chalk-dim)}.hstat-blue{border-left-color:var(--plate-blue)}.hstat-green{border-left-color:var(--plate-green)}.hstat-yellow{border-left-color:var(--plate-yellow)}.hstat-red{border-left-color:var(--plate-red)}.summary-month-line{margin:12px 0 0;font-size:13px}.summary-month-line strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--chalk)}.vl-bar{position:relative;overflow:visible}.vl-band{position:absolute;top:-2px;bottom:-2px;border-radius:3px;background:color-mix(in srgb,var(--chalk) 12%,transparent);border:1px dashed color-mix(in srgb,var(--chalk) 25%,transparent)}.vl-fill{position:relative;z-index:1}.volume-landmark-row.status-optimal .vl-fill{background:var(--plate-green)}.volume-landmark-row.status-low .vl-fill{background:var(--plate-yellow)}.volume-landmark-row.status-high .vl-fill{background:var(--plate-red)}.volume-landmark-row.status-optimal .vl-tag{color:var(--plate-green)}.volume-landmark-row.status-low .vl-tag{color:var(--plate-yellow)}.volume-landmark-row.status-high .vl-tag{color:var(--plate-red)}.vl-caption{margin:10px 0 0;font-size:12px}.strength-track-list{display:grid;gap:var(--space-4)}.strength-track-row{display:grid;gap:6px}.strength-track-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.strength-track-head .strength-lift{font-family:var(--font-display);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.04em}.strength-track-head .strength-1rm{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:16px}.strength-track-head .strength-ratio{color:var(--chalk-dim);font-size:13px;margin-left:auto}.strength-track{position:relative;height:8px;border-radius:4px;background:linear-gradient(to right,var(--iron-600) 0 25%,var(--plate-green) 25% 50%,var(--plate-blue) 50% 75%,var(--plate-yellow) 75% 100%)}.strength-marker{position:absolute;top:-4px;width:3px;height:16px;border-radius:2px;background:var(--chalk);box-shadow:0 0 0 2px var(--iron-800);transform:translate(-50%)}.strength-track-labels{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--chalk-dim)}.pr-list{display:grid;gap:6px}.pr-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-800)}.pr-row-copy{display:grid;gap:1px;min-width:0}.pr-row-copy strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-row-copy small{color:var(--chalk-dim);font-size:12px}.pr-row-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:15px;color:var(--plate-yellow);white-space:nowrap}.body-delta-row{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:var(--space-2);margin-bottom:var(--space-3)}@media(min-width:1024px){.history-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:start}}.meals-add-header-btn{display:none;min-height:40px;padding:8px 14px;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-700);color:var(--chalk);font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase}@media(min-width:1024px){.meals-add-header-btn{display:inline-flex}}.meals-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-5);padding:var(--space-4);border:1px solid var(--iron-600);border-radius:var(--radius-lg);background:var(--iron-800);margin-bottom:var(--space-4)}.kcal-ring-wrap{position:relative;width:120px;height:120px}.kcal-ring{width:120px;height:120px;transform:rotate(-90deg)}.kcal-ring-track{fill:none;stroke:var(--iron-600);stroke-width:9}.kcal-ring-fill{fill:none;stroke:var(--plate-red);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.kcal-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;gap:0}.kcal-ring-center strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:24px;line-height:1.05}.kcal-ring-center small{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px;color:var(--chalk-dim)}.macro-bars{display:grid;gap:10px;min-width:0}.macro-bar{display:grid;gap:4px}.macro-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.macro-bar-head span{font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--chalk-dim)}.macro-bar-head strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.macro-bar-track{height:8px;border-radius:4px;background:var(--iron-700);overflow:hidden}.macro-bar-track span{display:block;height:100%;border-radius:4px}.macro-red .macro-bar-track span{background:var(--plate-red)}.macro-blue .macro-bar-track span{background:var(--plate-blue)}.macro-yellow .macro-bar-track span{background:var(--plate-yellow)}.macro-fiber-note{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--chalk-dim)}@media(max-width:560px){.meals-hero{grid-template-columns:1fr;justify-items:center}.macro-bars{width:100%}}.meal-slot-grid{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}@media(min-width:1024px){.meal-slot-grid{grid-template-columns:1fr 1fr;align-items:start}}.meal-slot-card{display:grid;gap:var(--space-2)}.meal-slot-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.meal-slot-head h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.05em;text-transform:uppercase}.meal-slot-kcal{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--chalk-dim)}.food-row{border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-800)}.food-row .meal-macros{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--chalk-dim)}.meal-slot-empty{width:100%;min-height:48px;padding:10px 14px;border:1.5px dashed var(--iron-600);border-radius:var(--radius);background:transparent;color:var(--chalk-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;text-align:left;cursor:pointer}.meal-slot-empty:hover{border-color:var(--chalk-dim);color:var(--chalk)}.meals-fab{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:40;width:56px;height:56px;border:none;border-radius:50%;background:var(--plate-red);color:#fff;font-size:28px;line-height:1;box-shadow:0 10px 26px color-mix(in srgb,var(--plate-red) 40%,transparent);cursor:pointer}.meals-fab:active{background:var(--plate-red-press)}@media(min-width:1024px){.meals-fab{display:none}}.settings-card h3{font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--chalk-dim)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.setting-row-label{font-size:14px}.segmented.seg-sm{padding:3px}.segmented.seg-sm button{min-height:36px;padding:6px 14px;font-size:13px}.account-card .account-email{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;color:var(--chalk)}.signout-btn{min-height:44px;padding:10px 18px;border:1px solid color-mix(in srgb,var(--plate-red) 55%,var(--iron-600));border-radius:var(--radius);background:transparent;color:var(--plate-red);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase}.signout-btn:hover{background:color-mix(in srgb,var(--plate-red) 10%,transparent)}.leaderboard-row.me{background:color-mix(in srgb,var(--plate-red) 9%,var(--iron-800));border-color:color-mix(in srgb,var(--plate-red) 40%,var(--iron-600))}.lb-rank{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;min-width:30px;color:var(--chalk-dim)}.lb-rank.is-first{color:var(--plate-yellow)}.lb-metric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.lb-gap-callout{margin:10px 0 0;padding:8px 12px;border:1px dashed color-mix(in srgb,var(--plate-yellow) 45%,var(--iron-600));border-radius:var(--radius);color:var(--plate-yellow);font-size:13px}.share-consent-row{margin-top:10px}.share-consent-row small{display:block;font-size:12px}.inline-setting input[type=checkbox],.inline-check input[type=checkbox]{accent-color:var(--plate-green)}.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}@media(min-width:1024px){.admin-stats{grid-template-columns:repeat(3,1fr)}}.admin-stats .stat-card strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.auth-page{display:grid;place-items:start center;padding-top:clamp(24px,8vh,80px)}.auth-card{max-width:420px;width:100%}.auth-logotype{margin:0;font-family:var(--font-display);font-weight:700;font-size:40px;letter-spacing:.02em;line-height:1;text-transform:uppercase}.auth-logotype span{color:var(--plate-red)}.auth-tagline{margin:4px 0 8px;color:var(--chalk-dim);font-size:15px}.auth-card input:focus-visible{outline:none;border-color:var(--plate-red);box-shadow:0 0 0 1px var(--plate-red)}.auth-card .text-link,.auth-card a{color:var(--plate-blue)}.admin-audit-row span,.admin-audit-row strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.admin-audit-row strong{color:var(--chalk)}.admin-audit-row span{color:var(--chalk-dim)}button:focus-visible,a:focus-visible,select:focus-visible,[role=tab]:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--focus)}@media(prefers-reduced-motion:no-preference){@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.train-queue-chip,.more-row,.glance-card,.split-row,.meal-slot-card,.pr-row{animation:rise-in .25s ease both}button:not(:disabled):active{transform:scale(.97)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}button:active{transform:none!important}}.toast-stack .toast-pr{background:var(--plate-yellow);color:#1d1605;animation:toast-spring .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes toast-spring{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.brand-logotype{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.brand-logotype span{color:var(--plate-red)}.library-add-all{flex-shrink:0;white-space:nowrap}.quick-log-input{width:100%;min-height:76px;resize:vertical;font-size:15px}.quick-log-results{margin-top:4px}.recipe-request-input{width:100%;font-size:15px}.voice-btn{min-height:44px}.voice-btn.is-recording{animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--plate-red) 45%,transparent)}50%{box-shadow:0 0 0 6px transparent}}#root{min-height:100vh}.react-app-shell{padding-top:22px}.react-topbar .brand p{color:var(--muted)}.migration-banner{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent) 16%,transparent),transparent 36%),var(--panel)}.react-hero{align-items:stretch}.react-hero .primary-cta{align-self:center;min-width:min(100%,260px)}.compact-select{min-width:min(100%,240px)}.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-top:16px}.week-card{display:grid;gap:8px;min-width:0;padding:14px;border:1px solid var(--line);border-left:4px solid var(--type-color, var(--accent));border-radius:16px;background:var(--panel2)}.week-card strong{font-size:18px}.week-card span{color:var(--muted);font-weight:800}.week-card ul{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--muted)}.sync-card{grid-column:1 / -1;display:grid;gap:14px}.sync-form,.sync-meta{display:grid;gap:10px}.sync-meta{color:var(--muted);font-size:13px;font-weight:800}.sync-status{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--muted);font-weight:800}.sync-status.warning{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.switch-row{display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--text);font-weight:900}.switch-row input{width:20px;height:20px}.react-bottom-nav{z-index:40}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,520px)}.verify-card{width:min(100%,620px);text-align:center}.verify-illustration{position:relative;display:grid;place-items:center;width:140px;height:120px;margin:0 auto 18px;border-radius:34px;background:radial-gradient(circle at 70% 25%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 36%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 14%,var(--panel2)),var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))}.verify-envelope{font-size:62px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.28))}.verify-check{position:absolute;right:22px;top:22px;display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--accent);color:#071011;font-size:28px;font-weight:1000;box-shadow:0 12px 24px color-mix(in srgb,var(--accent) 28%,transparent)}.verify-help{display:grid;gap:4px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel2);text-align:left}.verify-help strong{color:var(--text)}.verify-help span{color:var(--muted);font-weight:800}.auth-form,.onboarding-step,.nutrition-feature-stack,.small-list,.history-list,.library-list,.checklist-items,.exercise-list{display:grid;gap:12px}.auth-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.library-item-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.auth-notice{display:grid;gap:4px;margin:14px 0;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.auth-notice strong{color:var(--accent)}.auth-notice span{color:var(--text);font-weight:800}.password-strength,.password-strength-row{display:grid;gap:6px}.password-strength small{color:var(--muted);font-weight:800}.strength-label{font-size:12px;font-weight:800;color:var(--muted)}.strength-label.strength-0,.strength-label.strength-1{color:#ef4444}.strength-label.strength-2{color:#f59e0b}.strength-label.strength-3{color:var(--success)}.strength-label.strength-4{color:var(--accent)}.password-strength-bar{display:block;width:100%;height:10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);position:relative;overflow:hidden;transition:background .25s}.password-strength-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:width .3s ease,background .3s ease}.password-strength-bar.score-0:after,.password-strength-bar.score-1:after{width:25%;background:#ef4444}.password-strength-bar.score-2:after{width:50%;background:#f59e0b}.password-strength-bar.score-3:after{width:75%;background:var(--success)}.password-strength-bar.score-4:after{width:100%;background:var(--accent)}.form-error{color:var(--danger-muted);font-weight:900}.form-success{color:var(--accent);font-weight:900}.toast-success{background:var(--cta);color:#0b1410;font-weight:900;font-size:14px;padding:12px 24px;border-radius:999px;box-shadow:0 8px 24px #0000004d;pointer-events:none}.toast-stack{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;max-width:calc(100vw - 32px)}.toast-stack .toast-success{animation:toast-pop .2s ease;max-width:100%;text-align:center}.toast-stack .toast-error{background:var(--danger, #e5484d);color:#fff}@keyframes toast-pop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.friend-code-row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:10px 0}.friend-code-block{display:grid;gap:4px}.friend-code-label{font-size:12px;font-weight:800;color:var(--muted)}.friend-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;font-size:16px;letter-spacing:.5px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:10px;padding:8px 12px}.share-fields{margin-top:6px;padding:10px 12px;border-left:2px solid color-mix(in srgb,var(--accent) 40%,var(--line));display:grid;gap:6px}.share-fields .muted{margin:0 0 2px}.friend-add-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.friend-add-row input{flex:1;min-width:200px}.friend-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.friend-row:first-of-type{border-top:none}.friend-identity{display:flex;align-items:center;gap:10px;min-width:0}.friend-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,var(--panel2));color:var(--accent);font-weight:900;font-size:13px;flex-shrink:0}.friend-pending{font-size:12px;font-weight:700;color:var(--muted);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.segmented{display:flex;gap:4px;margin-top:12px;padding:4px;background:var(--panel2);border:1px solid var(--line);border-radius:12px}.segmented button{flex:1;background:transparent;border:none;color:var(--muted);font-weight:800;padding:8px 10px;border-radius:9px;cursor:pointer}.segmented button.active{background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--accent)}.leaderboard-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.leaderboard-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.leaderboard-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.leaderboard-row.me{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--panel2))}.lb-rank{width:22px;text-align:center;font-weight:900;color:var(--muted);flex-shrink:0}.lb-identity{display:grid;gap:2px;min-width:0;flex:1}.lb-sub{font-size:12px;color:var(--muted)}.lb-metric{font-weight:900;white-space:nowrap}.history-tabs{margin:6px 0 14px}.plan-tabs{margin:0 0 14px}.muscle-side-toggle{flex:0 0 auto}.muscle-map-body{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:18px;align-items:start;margin-top:8px}.muscle-map-figure{display:flex;justify-content:center;align-items:flex-start}.muscle-map-figure svg{max-width:min(100%,260px);height:auto}.muscle-map-figure svg path:hover{opacity:.85}.muscle-map-hint{padding-top:4px}.muscle-detail{min-width:0}.muscle-detail-head h3{margin:0 0 4px}.muscle-detail-head p{margin:0 0 12px}.muscle-exercise-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.muscle-exercise-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-sm)}.muscle-exercise-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.muscle-exercise-copy .meta{color:var(--muted);font-size:13px}.muscle-exercise-actions{display:flex;gap:8px;flex:0 0 auto}.muscle-exercise-actions button{min-height:36px}.muscle-exercise-actions .is-added{background:color-mix(in srgb,var(--success) 18%,var(--panel2));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 45%,var(--line));cursor:default}.muscle-day-picker{margin:0 0 12px;max-width:280px}.muscle-day-picker select{min-height:36px}@media(max-width:640px){.muscle-map-body{grid-template-columns:1fr;gap:10px}.muscle-detail{border-top:1px solid var(--line);padding-top:12px}}@media(max-width:480px){.muscle-exercise-row{flex-wrap:wrap}.muscle-exercise-actions{width:100%;justify-content:flex-end}}.plan-day-hint{margin:0 0 10px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,var(--panel2));border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:var(--radius-sm)}.settings-collapse{margin-top:8px}.settings-collapse>summary{cursor:pointer;font-weight:800;color:var(--accent);padding:8px 0;list-style:none}.settings-collapse>summary::-webkit-details-marker{display:none}.settings-collapse>summary:before{content:"▸";display:inline-block;margin-right:8px;transition:transform .15s ease}.settings-collapse[open]>summary:before{transform:rotate(90deg)}.share-fields.is-disabled{opacity:.5}.share-fields.is-disabled .inline-setting{cursor:not-allowed}.training-topbar{display:flex;align-items:center;gap:10px;margin:4px 0 10px}.training-mode{display:block}.train-topbar{display:flex;align-items:center;gap:12px;padding:10px 0}.train-topbar-title{display:grid;gap:1px;min-width:0;flex:1}.train-topbar-title strong{font-family:var(--font-display);font-weight:800;font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.train-topbar-sub{font-size:11px;font-weight:700;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase}.train-timer-chip{font-family:var(--font-mono);font-weight:700;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:6px 12px;white-space:nowrap}.train-topbar-right{display:flex;align-items:center;gap:10px}.train-count{font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}@media(max-width:560px){.train-topbar{flex-wrap:wrap;row-gap:10px}.train-topbar-title{flex:1 1 auto}.train-topbar-right{margin-left:auto}}.icon-btn{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0}.icon-btn:hover{border-color:var(--accent-line);color:var(--accent)}.train-progress{height:4px;border-radius:999px;background:var(--panel2);overflow:hidden;margin-bottom:14px}.train-progress>span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.train-layout{display:grid;grid-template-columns:1fr 240px;gap:14px;align-items:start}.train-main{display:grid;gap:12px;min-width:0}.train-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;display:grid;gap:12px}.train-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.train-card-title{display:grid;gap:4px;min-width:0}.train-card-title h2{font-family:var(--font-display);font-weight:800;font-size:24px;margin:0;line-height:1.1}.train-card-title .meta{color:var(--muted);font-size:13px}.ex-type-tag{justify-self:start;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:var(--radius-sm);padding:2px 8px}.train-card-icons{display:flex;gap:6px}.train-stat-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.train-chip{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;display:grid;gap:2px}.train-chip span{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.train-chip strong{font-family:var(--font-mono);font-size:14px}.train-chip strong.accent{color:var(--accent)}.train-aim{font-size:12px;color:var(--muted);margin:0}.set-table-row.is-active .set-input{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.set-row-end{display:inline-flex;align-items:center;justify-content:center}.train-nav-btns{display:flex;justify-content:space-between;gap:10px}.train-rail{display:grid;gap:12px;position:sticky;top:12px}.train-rail .panel{padding:12px}.rest-card{text-align:center}.rest-count,.rail-timer .mono{font-family:var(--font-mono);font-size:30px;font-weight:800;color:var(--accent);display:block;margin:4px 0 8px}.rail-timer{text-align:center}.rail-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.rail-item{width:100%;display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px;text-align:left}.rail-item:hover{border-color:var(--accent-line)}.rail-item.is-done{opacity:.6}.rail-item.is-done .rail-copy strong{text-decoration:line-through}.rail-num{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:12px;font-weight:800}.rail-num.done{color:var(--success);border-color:color-mix(in srgb,var(--success) 50%,var(--line))}.rail-copy{display:grid;gap:1px;min-width:0}.rail-copy strong{font-size:14px}.rail-copy small{color:var(--muted);font-size:12px}.rail-empty{font-size:13px;padding:4px 0}.rail-done-summary{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;padding:2px 0}.rail-done-summary .eyebrow{color:var(--success)}.rail-done-chevron{color:var(--muted);transition:transform .15s ease}.rail-done-chevron.open{transform:rotate(180deg)}@media(max-width:760px){.train-layout{grid-template-columns:1fr}.train-rail{position:static}.train-rail .rest-card{display:none}}@media(min-width:761px){.training-mode .rest-sticky{display:none}}.rest-sticky{position:fixed;left:50%;transform:translate(-50%);bottom:calc(76px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--accent-line);border-radius:var(--radius-pill);padding:8px 14px;box-shadow:var(--shadow)}.rest-sticky .mono{font-family:var(--font-mono);color:var(--accent);font-weight:800}.rest-sticky-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rest-sticky button{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 10px;font-size:13px}.set-input,.set-num,.set-tick,.timer-strip strong,.stat strong,.summary-stats strong,.lb-metric,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.file-upload-label{display:inline-block;cursor:pointer}.file-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-upload-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--text);font-weight:800;font-size:inherit;cursor:pointer;transition:background .15s,border-color .15s}.file-upload-btn:hover{background:var(--panel2);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.file-upload-label:focus-within .file-upload-btn{outline:3px solid rgba(115,255,0,.42);outline-offset:2px}.sync-pill,.version-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}.sync-synced,.sync-uploaded,.sync-downloaded,.sync-merged{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.sync-syncing,.sync-loading{border-color:color-mix(in srgb,#f59e0b 50%,var(--line));color:#f59e0b}.sync-error,.sync-offline{border-color:color-mix(in srgb,var(--danger) 50%,var(--line));color:var(--danger-muted)}.env-banner,.degraded-banner,.session-banner{padding:8px 14px;text-align:center;font-size:13px;font-weight:900}.env-banner{background:#dc2626;color:#fff}.degraded-banner,.session-banner{background:color-mix(in srgb,#f59e0b 18%,var(--panel));color:var(--text)}.session-banner button{margin-left:10px;min-height:34px;padding:6px 12px}.skeleton-list,.skeleton-card{display:grid;gap:10px}.skeleton-card{margin-top:14px;padding:18px;border:1px solid var(--iron-600);border-radius:var(--radius-lg);background:var(--iron-700)}.skeleton-card span{height:14px;border-radius:999px;background:linear-gradient(90deg,#ffffff0f,#ffffff26,#ffffff0f);background-size:200% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-card span:nth-child(1){width:42%}.skeleton-card span:nth-child(2){width:78%}.skeleton-card span:nth-child(3){width:60%}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-panel{display:grid;gap:18px}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.admin-user-list,.admin-ai-list,.admin-food-list,.admin-audit-list,.admin-contact-list{display:grid;gap:10px}.admin-section-copy{margin-bottom:14px}.admin-section-copy h3,.admin-section-copy p{margin-top:0}.admin-user-list.compact{margin-top:16px}.admin-user-row,.admin-account-row,.admin-ai-row,.admin-food-row,.admin-audit-row,.admin-contact-row{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel2)}.admin-user-row{grid-template-columns:minmax(260px,1fr) auto minmax(140px,180px) auto;align-items:center}.admin-account-row{grid-template-columns:minmax(260px,1fr) minmax(280px,420px);align-items:center}.admin-ai-row{grid-template-columns:minmax(220px,1fr) auto minmax(140px,180px);align-items:center}.admin-ai-modules{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.admin-ai-modules legend{width:100%;padding:0;margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-ai-modules[disabled]{opacity:.5}.admin-ai-row>.row{grid-column:1 / -1}.admin-user-row strong,.admin-account-row strong,.admin-ai-row strong,.admin-food-row strong,.admin-audit-row strong,.admin-contact-row strong{color:var(--text)}.admin-user-row span,.admin-user-row small,.admin-account-row span,.admin-account-row small,.admin-ai-row span,.admin-ai-row small,.admin-food-row small,.admin-audit-row span,.admin-contact-row span{display:block;color:var(--muted);font-weight:800}.admin-row-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-account-actions{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:8px;align-items:end}.compact-label{margin:0}.compact-label input{min-height:44px}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}.status-pill.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.status-pill.disabled{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));color:var(--danger-muted)}.admin-food-row,.admin-audit-row,.admin-contact-row{grid-template-columns:1fr auto;align-items:center}.admin-contact-row p{margin:8px 0 0;color:var(--text)}.admin-tabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--line);padding-bottom:2px;margin-bottom:4px}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab-btn{position:relative;padding:8px 16px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:700;border-radius:8px 8px 0 0;cursor:pointer;transition:color .15s,background .15s}.admin-tab-btn:hover{color:var(--text);background:var(--hover)}.admin-tab-btn.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.admin-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger-muted);color:#fff;font-size:10px;font-weight:900;margin-left:6px}.admin-tab-content{display:grid;gap:18px}.admin-search{width:100%;margin-bottom:12px}.admin-ai-history{grid-column:1 / -1;display:grid;gap:4px;margin-top:4px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.admin-ai-history-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.admin-announcement-row{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel2);margin-bottom:10px}.status-pill.info{border-color:color-mix(in srgb,var(--accent-2) 45%,var(--line));color:var(--accent-2)}.status-pill.warning{border-color:color-mix(in srgb,#f59e0b 45%,var(--line));color:#f59e0b}.status-pill.success{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.gap-xs{gap:6px}.admin-ai-row{flex-wrap:wrap;align-items:start}@media(max-width:900px){.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:18px;background:#0000009e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-backdrop .dialog-card{width:min(100%,720px)}.contact-success-dialog{display:grid;justify-items:start;gap:12px;width:min(100%,520px)!important;padding:28px;text-align:left}.contact-success-dialog h2,.contact-success-dialog p{margin:0}.contact-success-dialog .primary{width:100%;margin-top:8px}.contact-success-icon{display:grid;width:62px;height:62px;place-items:center;border-radius:20px;background:color-mix(in srgb,var(--accent) 20%,var(--panel2));color:var(--accent);font-size:36px;font-weight:1000}.guide-dialog{position:relative;isolation:isolate;display:grid;gap:16px;max-height:min(88vh,760px);overflow:auto}.guide-actions{display:grid;gap:8px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--accent) 10%,var(--panel2))}.guide-video-frame{position:relative;z-index:0;overflow:hidden;width:100%;height:clamp(190px,42vw,420px);aspect-ratio:16 / 9;margin-bottom:4px;border:1px solid var(--line);border-radius:18px;background:#050b10}.guide-video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.guide-video-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;width:fit-content;text-decoration:none}.guide-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-section{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel2)}.guide-section.full{grid-column:1 / -1}.guide-section h4,.guide-section p{margin-top:0}.guide-section ul{margin:0;padding-left:18px;color:var(--muted);font-weight:800}.chart-shell{width:100%;min-height:280px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--panel2)}.timer-strip{display:flex;justify-content:space-between;gap:14px;align-items:center}.supporting-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.primary{background:var(--accent);color:#081006}.success{background:var(--good);color:#081006}.ghost,.secondary-cta{border:1px solid var(--line);background:var(--panel2);color:var(--text)}.danger{background:var(--danger);color:#fff}.secondary-danger{border:1px solid color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 12%,var(--panel2));color:var(--danger-muted)}.text-danger{background:transparent;color:var(--danger-muted);padding-left:0;padding-right:0}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.section-title-row p,.settings-card p,.auth-card p{margin-top:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chips span,.tip{color:var(--muted);font-weight:800}.dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px}.stat span{display:block;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.stat strong{font-size:30px}.stat-edit-button{justify-content:flex-start;gap:10px;width:100%;padding:0;background:transparent;color:var(--text)}.weekly-target-edit{display:grid;grid-template-columns:auto minmax(70px,1fr);gap:8px;align-items:center}.weekly-target-edit input{min-height:40px;padding:8px 10px}.progress-track{height:12px;overflow:hidden;border-radius:999px;background:var(--line)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.checklist-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.checklist-item input{width:24px;height:24px;accent-color:var(--accent)}.checklist-copy{display:grid;gap:2px}.checklist-copy small{color:var(--muted);font-weight:800}.training-type-preview summary{width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;color:var(--text);cursor:pointer;font-weight:900;list-style:none}.training-type-preview summary::-webkit-details-marker{display:none}.training-type-preview[open] summary{margin-bottom:8px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}@media(max-width:720px){.react-hero .primary-cta,.compact-select{width:100%}.week-grid,.sync-form{grid-template-columns:1fr}.migration-banner h2{font-size:24px}.auth-page{padding:12px}.auth-name-grid{grid-template-columns:1fr}.library-item-actions,.guide-video-link{width:100%}.library-item-actions button{flex:1}.guide-grid{grid-template-columns:1fr}.guide-video-frame{height:210px}.timer-strip,.section-title-row{display:grid}.dashboard,.admin-stats,.admin-form-grid,.admin-user-row,.admin-account-row,.admin-ai-row,.admin-food-row,.admin-audit-row,.admin-contact-row,.admin-account-actions{grid-template-columns:1fr}}.avatar-btn{width:36px;height:36px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,var(--panel2));color:var(--accent);border:2px solid color-mix(in srgb,var(--accent) 35%,var(--line));font-size:13px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s;padding:0}.avatar-btn:hover,.avatar-btn.active{background:color-mix(in srgb,var(--accent) 28%,var(--panel2));border-color:var(--accent)}.topbar-badge-host{position:relative;font-size:16px;line-height:1}.profile-menu-wrap{position:static;display:inline-flex}.profile-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(260px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;padding:6px;animation:notif-in .15s ease}.profile-menu-head{display:flex;align-items:center;gap:10px;padding:8px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.profile-menu-avatar{cursor:default;pointer-events:none}.profile-menu-id{display:grid;gap:2px;min-width:0}.profile-menu-id strong{font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-id small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:none;border-radius:10px;background:transparent;color:var(--text);font-size:14px;font-weight:700;text-align:left;cursor:pointer;transition:background .12s}.profile-menu-item:hover{background:var(--panel2)}.profile-menu-item.danger{color:var(--danger-muted)}.profile-menu-item.danger:hover{background:color-mix(in srgb,var(--danger) 12%,var(--panel2))}.topbar-login{height:36px;padding:0 16px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:#081006;font-size:13px;font-weight:800;cursor:pointer;flex-shrink:0;transition:filter .15s}.topbar-login:hover{filter:brightness(1.06)}.top-actions{position:relative}.notif-dropdown,.profile-menu{right:0;left:auto;max-width:calc(100vw - 24px)}.profile-panel{display:grid;gap:18px;max-width:880px;margin-inline:auto}@media(min-width:640px){.profile-form-grid{grid-template-columns:1fr 1fr;align-items:start}.profile-form-grid>button,.profile-form-grid>.form-error,.profile-form-grid>.form-success,.profile-form-grid>.password-strength{grid-column:1 / -1}}.profile-header{display:flex;align-items:center;gap:20px;padding:20px;background:var(--panel2);border:1px solid var(--line);border-radius:20px}.profile-header h2{margin:0 0 4px}.profile-header p{margin:0 0 8px}.profile-avatar-large{width:64px;height:64px;border-radius:999px;background:color-mix(in srgb,var(--accent) 20%,var(--panel));color:var(--accent);border:2px solid color-mix(in srgb,var(--accent) 40%,var(--line));font-size:22px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-form{display:grid;gap:14px;margin-top:4px}.profile-meta{display:grid;gap:10px;margin-top:4px}.profile-meta-row{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--line)}.profile-meta-row:last-child{border-bottom:none}.profile-meta-row span:first-child{font-weight:700;color:var(--text)}.profile-meta-row code{font-size:11px;background:var(--panel2);padding:3px 7px;border-radius:6px;word-break:break-all}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:4px}.metric-tile{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.metric-tile span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.metric-tile strong{font-size:22px}.metric-tile small{font-size:11px;color:var(--muted)}.plate-dialog{width:min(100%,440px)!important}.plate-list{display:grid;gap:8px;margin:12px 0}.plate-row{display:flex;align-items:center;gap:12px}.plate-chip{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 18%,var(--panel2));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));font-weight:900}.plate-count{font-weight:700;color:var(--text)}.plate-total{margin:4px 0 0;color:var(--muted)}.progression-hint{margin:4px 0 10px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--text);font-weight:700;font-size:13px}.superset-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,var(--panel2));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.pace-readout{display:block;color:var(--muted);font-weight:700;margin-top:-4px}.quick-pick{display:grid;gap:10px;margin-bottom:14px}.quick-pick-group{display:grid;gap:6px}.quick-pick-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.quick-pick-chips{display:flex;flex-wrap:wrap;gap:6px}.quick-chip{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.quick-chip:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.quick-chip.selected{background:color-mix(in srgb,var(--accent) 18%,var(--panel2));border-color:var(--accent);color:var(--accent)}.fav-toggle{margin-left:auto;background:transparent;border:none;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:4px}.fav-toggle.active{color:var(--accent)}.macro-split-body{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px}.macro-split-legend{display:grid;gap:10px}.macro-legend-row{display:flex;align-items:center;gap:10px;font-weight:700}.macro-legend-row strong{margin-left:auto}.macro-legend-dot{width:12px;height:12px;border-radius:4px}@media(max-width:540px){.macro-split-body{grid-template-columns:1fr}}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:4px}.summary-block{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.summary-block-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.summary-stats div{display:grid;gap:2px}.summary-stats strong{font-size:22px}.summary-stats small{font-size:11px;color:var(--muted)}.calendar-heatmap{--cal-cell: clamp(18px, 3.4vw, 34px);--cal-gap: 5px;--cal-label: 30px;display:flex;flex-direction:column;gap:8px;margin:10px auto 0;width:fit-content;max-width:100%}.calendar-months{display:flex;gap:var(--cal-gap);padding-left:calc(var(--cal-label) + var(--cal-gap));font-size:10px;font-weight:800;color:var(--muted)}.calendar-month{width:var(--cal-cell);white-space:nowrap;overflow:visible}.calendar-body{display:flex;gap:var(--cal-gap)}.calendar-weekday-labels{display:grid;grid-template-rows:repeat(7,var(--cal-cell));gap:var(--cal-gap);width:var(--cal-label);font-size:10px;color:var(--muted);font-weight:800}.calendar-weekday-labels span{display:flex;align-items:center}.calendar-grid{display:flex;gap:var(--cal-gap)}.calendar-week{display:grid;grid-template-rows:repeat(7,var(--cal-cell));gap:var(--cal-gap)}.calendar-cell{width:var(--cal-cell);height:var(--cal-cell);border-radius:5px;background:var(--panel2);border:1px solid var(--line)}.calendar-cell.level-1{background:color-mix(in srgb,var(--accent) 28%,var(--panel2));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.calendar-cell.level-2{background:color-mix(in srgb,var(--accent) 52%,var(--panel2));border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.calendar-cell.level-3{background:color-mix(in srgb,var(--accent) 76%,var(--panel2));border-color:color-mix(in srgb,var(--accent) 80%,var(--line))}.calendar-cell.level-4{background:var(--accent);border-color:var(--accent)}.calendar-cell.future{opacity:.35}.calendar-cell.today{outline:2px solid color-mix(in srgb,var(--accent) 60%,var(--line));outline-offset:1px}.calendar-legend{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:11px;font-weight:700}.calendar-legend .calendar-cell{width:14px;height:14px}.bodyfat-estimate{padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,var(--panel2));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));font-weight:700;margin-bottom:10px}.bodyfat-estimate small{color:var(--muted);font-weight:600}.notif-wrap{position:static;display:inline-flex}.notif-bell{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);color:var(--text);cursor:pointer;padding:0;transition:background .15s,border-color .15s,color .15s}.notif-bell:hover,.notif-bell.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.notif-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(360px,calc(100vw - 32px));max-height:70vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;animation:notif-in .15s ease}@keyframes notif-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.notif-count-pill{min-width:22px;height:22px;padding:0 8px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center}.notif-list{overflow-y:auto;display:grid}.notif-item{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);border-left:3px solid transparent}.notif-item:last-child{border-bottom:none}.notif-item.notif-info{border-left-color:var(--accent-2)}.notif-item.notif-warning{border-left-color:#f59e0b}.notif-item.notif-success{border-left-color:var(--accent)}.notif-item-icon{font-size:16px;flex-shrink:0;line-height:1.4}.notif-item-copy{display:grid;gap:3px;min-width:0}.notif-item-copy strong{font-size:14px}.notif-item-copy p{margin:0;font-size:13px;color:var(--muted);line-height:1.45}.notif-item-copy small{font-size:11px;color:var(--muted);font-weight:700}.notif-empty{display:grid;place-items:center;gap:8px;padding:32px 16px;text-align:center}.notif-empty span{font-size:28px;opacity:.6}.notif-empty p{margin:0;color:var(--muted)}.template-manage-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.template-manage-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-sm)}.template-manage-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.template-manage-copy .meta{color:var(--muted);font-size:13px}.template-editor-dialog{max-width:560px;width:100%;max-height:86vh;overflow-y:auto}.template-edit-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}.template-edit-item{padding:12px;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-sm)}.template-edit-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap}.template-edit-head .meta{color:var(--muted);font-size:13px}.template-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.library-filters{display:grid;grid-template-columns:1fr minmax(140px,220px);gap:10px;align-items:end}.superset-toggle{font-size:13px;font-weight:700}@media(max-width:540px){.library-filters{grid-template-columns:1fr}}.user-detail-dialog{width:min(860px,96vw);max-height:88vh;overflow-y:auto}.user-detail-stats{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:16px}.user-detail-stats .stat-card strong small{font-size:.6em;color:var(--muted);font-weight:600}.user-detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.user-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.user-detail-meta>div{display:flex;flex-direction:column;gap:2px}.user-detail-meta span{font-size:12px;color:var(--muted)}.user-detail-meta strong{font-size:14px;text-transform:capitalize}.user-detail-ai{margin-top:14px}.user-detail-ai h4{margin-bottom:6px}.user-detail-ai-row{display:flex;justify-content:space-between;padding:4px 0;border-top:1px solid var(--line);font-size:13px;text-transform:capitalize}.user-detail-session{padding:8px 0;border-top:1px solid var(--line)}.user-detail-session:first-of-type{border-top:0}.user-detail-session>div{display:flex;align-items:center;gap:8px}.user-detail-session small{color:var(--muted);font-size:12px}@media(max-width:640px){.user-detail-cols,.user-detail-meta{grid-template-columns:1fr}}.train-session-tag{display:inline-flex;align-items:center;gap:6px;width:max-content;font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--type-color, var(--accent))}.train-session-tag i{width:10px;height:10px;border-radius:3px;background:var(--type-color, var(--accent))}.train-sets-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:15px;white-space:nowrap}.train-sets-count small{font-family:var(--font-display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim)}.train-end-btn{min-height:44px;padding:8px 14px;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-700);color:var(--chalk);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.train-end-btn:hover{border-color:var(--chalk-dim)}.training-mode .train-progress{height:5px;border-radius:3px;background:var(--iron-700);overflow:hidden}.training-mode .train-progress>span{background:var(--plate-red)}.training-mode .train-layout{display:flex;flex-direction:column;gap:14px;align-items:stretch}.training-mode .train-main{order:0;display:grid;gap:12px;min-width:0}.training-mode .train-rail{order:1;position:static;display:grid;gap:10px}@media(min-width:1024px){.training-mode .train-layout{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start}.training-mode .train-rail{order:0;grid-column:1;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}.training-mode .train-main{order:1;grid-column:2}}.train-queue{display:grid;gap:6px}.train-queue-chip{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-800);color:var(--chalk);text-align:left;cursor:pointer}.train-queue-chip .queue-state{width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid var(--iron-600);background:var(--iron-700);font-family:var(--font-mono);font-size:12px;font-weight:600}.train-queue-chip .queue-copy{display:grid;gap:0;min-width:0}.train-queue-chip .queue-copy strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.train-queue-chip .queue-copy small{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--chalk-dim)}.train-queue-chip.is-done{border-color:color-mix(in srgb,var(--plate-green) 40%,var(--iron-600))}.train-queue-chip.is-done .queue-state{color:var(--plate-green);border-color:color-mix(in srgb,var(--plate-green) 50%,var(--iron-600));background:color-mix(in srgb,var(--plate-green) 12%,var(--iron-800))}.train-queue-chip:not(.is-done):not(.is-active){opacity:.55}.train-queue-chip.is-active{border-color:color-mix(in srgb,var(--plate-red) 55%,var(--iron-600));background:var(--iron-700);box-shadow:inset 3px 0 0 var(--plate-red)}.train-queue-chip.is-summary{border-color:color-mix(in srgb,var(--plate-yellow) 55%,var(--iron-600))}.train-queue-chip.is-summary .queue-state{color:var(--plate-yellow)}.train-ghost-line{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--plate-blue)}.set-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;padding:8px 4px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}.set-table-row.is-pending{opacity:.45}.set-table-row.is-current{opacity:1;background:var(--iron-700);border:1px solid var(--iron-600);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.set-table-row.done{background:color-mix(in srgb,var(--plate-green) 8%,transparent);border-radius:var(--radius-sm)}.set-table-row.done .set-value{color:color-mix(in srgb,var(--plate-green) 70%,var(--chalk))}.set-table-row.is-pr .set-value{color:var(--plate-yellow)}.set-table-row.done{cursor:pointer}.set-tick.pr{color:var(--plate-yellow);font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.06em;border:1px solid color-mix(in srgb,var(--plate-yellow) 55%,var(--iron-600));border-radius:var(--radius-sm);padding:1px 5px}.train-steppers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stepper-group{display:grid;gap:4px}.stepper-group.rpe-group{grid-column:1 / -1}.stepper-label{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim)}.stepper{display:grid;grid-template-columns:44px 1fr 44px;align-items:stretch;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-700);overflow:hidden}.stepper-btn{min-height:44px;border:none;background:transparent;color:var(--chalk);font-size:20px;font-weight:600;touch-action:manipulation;user-select:none;-webkit-user-select:none}.stepper-btn:active{background:var(--iron-600)}.stepper-value{min-height:44px;border:none;border-left:1px solid var(--iron-600);border-right:1px solid var(--iron-600);background:transparent;color:var(--chalk);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600;text-align:center}.stepper-input{min-height:44px;width:100%;border:none;border-left:1px solid var(--iron-600);border-right:1px solid var(--iron-600);background:var(--iron-800);color:var(--chalk);font-family:var(--font-mono);font-size:18px;font-weight:600;text-align:center}.stepper-input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--plate-blue)}.rpe-chips{display:flex;gap:8px;flex-wrap:wrap}.rpe-chip{min-height:44px;min-width:56px;padding:8px 12px;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-700);color:var(--chalk-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.rpe-chip.selected{border-color:color-mix(in srgb,var(--plate-red) 60%,var(--iron-600));background:color-mix(in srgb,var(--plate-red) 16%,var(--iron-700));color:var(--chalk)}.rpe-input{max-width:80px;border-radius:var(--radius);border:1px solid var(--iron-600)}.action-zone{position:sticky;bottom:0;z-index:20;margin:0 -4px;padding:18px 4px calc(10px + env(safe-area-inset-bottom))}.action-zone:before{content:"";position:absolute;top:-26px;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent,var(--iron-900) 70%);pointer-events:none;z-index:-1}.log-set-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:56px;padding:10px 16px;border:none;border-radius:var(--radius);background:var(--plate-red);color:#fff;font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 26px color-mix(in srgb,var(--plate-red) 35%,transparent);cursor:pointer}.log-set-btn:active{background:var(--plate-red-press)}.log-set-btn:disabled{opacity:.5;box-shadow:none;cursor:default}.log-set-values{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;letter-spacing:0;text-transform:none;opacity:.9}.rest-zone{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--plate-blue) 45%,var(--iron-600));border-radius:var(--radius);background:var(--iron-800)}.rest-ring{width:52px;height:52px;transform:rotate(-90deg)}.rest-ring-track{fill:none;stroke:var(--iron-600);stroke-width:6}.rest-ring-fill{fill:none;stroke:var(--plate-blue);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.rest-zone-copy{display:grid;gap:1px;min-width:0}.rest-zone-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;color:var(--plate-blue);line-height:1}.rest-zone-copy small{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--chalk-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rest-zone-actions{display:flex;gap:6px}.rest-zone-actions button{min-height:44px}.session-complete{display:grid;gap:12px}.session-complete-eyebrow{color:var(--plate-green)}.session-complete-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:28px;text-transform:uppercase;letter-spacing:.02em;color:var(--plate-green)}.session-complete-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:640px){.session-complete-stats{grid-template-columns:repeat(4,1fr)}}.sc-stat{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--iron-600);border-radius:var(--radius);background:var(--iron-700)}.sc-stat span{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim)}.sc-stat strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px}.sc-stat strong.pr{color:var(--plate-yellow)}.session-complete-next{margin:0;color:var(--chalk-dim);font-size:14px}.session-complete-next strong{color:var(--chalk)}.session-complete .log-set-btn{background:var(--plate-green);box-shadow:0 10px 26px color-mix(in srgb,var(--plate-green) 30%,transparent)}.session-complete .log-set-btn:active{background:color-mix(in srgb,var(--plate-green) 85%,#000)}.train-note-panel textarea{width:100%;min-height:72px;resize:vertical}.action-zone-row{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:8px;align-items:stretch}.rest-manual-btn{min-height:56px;border:1px solid color-mix(in srgb,var(--plate-blue) 50%,var(--iron-600));border-radius:var(--radius);background:var(--iron-700);color:var(--plate-blue);font-size:22px;cursor:pointer}.rest-manual-btn:active{background:var(--iron-600)}
