html{--mat-sys-background: light-dark(#f9faf3, #121410);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f1f1eb, #2f312d);--mat-sys-inverse-primary: light-dark(#02e600, #026e00);--mat-sys-inverse-surface: light-dark(#2f312d, #e2e3dc);--mat-sys-on-background: light-dark(#1a1c18, #e2e3dc);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #013a00);--mat-sys-on-primary-container: light-dark(#015300, #77ff61);--mat-sys-on-primary-fixed: light-dark(#002200, #002200);--mat-sys-on-primary-fixed-variant: light-dark(#015300, #015300);--mat-sys-on-secondary: light-dark(#ffffff, #263422);--mat-sys-on-secondary-container: light-dark(#3c4b37, #d7e8cd);--mat-sys-on-secondary-fixed: light-dark(#121f0e, #121f0e);--mat-sys-on-secondary-fixed-variant: light-dark(#3c4b37, #3c4b37);--mat-sys-on-surface: light-dark(#1a1c18, #e2e3dc);--mat-sys-on-surface-variant: light-dark(#43483f, #dfe4d7);--mat-sys-on-tertiary: light-dark(#ffffff, #502400);--mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);--mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);--mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);--mat-sys-outline: light-dark(#73796e, #8d9387);--mat-sys-outline-variant: light-dark(#c3c8bc, #43483f);--mat-sys-primary: light-dark(#026e00, #02e600);--mat-sys-primary-container: light-dark(#77ff61, #015300);--mat-sys-primary-fixed: light-dark(#77ff61, #77ff61);--mat-sys-primary-fixed-dim: light-dark(#02e600, #02e600);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#54634d, #bbcbb2);--mat-sys-secondary-container: light-dark(#d7e8cd, #3c4b37);--mat-sys-secondary-fixed: light-dark(#d7e8cd, #d7e8cd);--mat-sys-secondary-fixed-dim: light-dark(#bbcbb2, #bbcbb2);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f9faf3, #121410);--mat-sys-surface-bright: light-dark(#f9faf3, #383a35);--mat-sys-surface-container: light-dark(#eeeee7, #1e201c);--mat-sys-surface-container-high: light-dark(#e8e9e1, #282b26);--mat-sys-surface-container-highest: light-dark(#e2e3dc, #333531);--mat-sys-surface-container-low: light-dark(#f3f4ed, #1a1c18);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0c0f0b);--mat-sys-surface-dim: light-dark(#dadbd3, #121410);--mat-sys-surface-tint: light-dark(#026e00, #02e600);--mat-sys-surface-variant: light-dark(#dfe4d7, #43483f);--mat-sys-tertiary: light-dark(#964900, #ffb787);--mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);--mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);--mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);--mat-sys-neutral-variant20: #2c3229;--mat-sys-neutral10: #1a1c18;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-large-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-medium-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-small-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-display-large-font: Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-display-medium-font: Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-display-small-font: Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-headline-large-font: Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-headline-medium-font: Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-headline-small-font: Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 600 .875rem / 1.25rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-large-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 600;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 600 .75rem / 1rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-medium-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 600;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 600 .688rem / 1rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-small-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 600;--mat-sys-title-large: 400 1.375rem / 1.75rem Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-title-large-font: Bricolage Grotesque, -apple-system, Segoe UI, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 600 1rem / 1.5rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-medium-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 600;--mat-sys-title-small: 600 .875rem / 1.25rem -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-small-font: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 600;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(/fonts/bricolage-grotesque-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Bricolage Grotesque", -apple-system, "Segoe UI", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg: #f6f7f2;--surface: #fff;--text: #172c25;--muted: #63766e;--accent: #287b4f;--accent-soft: #e7efdf;--line: #dfe5dd;--brand-bg: #17392e;--brand-text: #eff6d8;--brand-highlight: #c9e999;--error: #a92c2c;--warning-bg: #fff1d6;--warning-text: #735022;--mat-sys-primary: var(--accent);--mat-sys-on-primary: var(--surface);color-scheme:light}:root[data-theme=dark]{--bg: #121c18;--surface: #1a2821;--text: #e8efe5;--muted: #a1b1a5;--accent: #a6d981;--accent-soft: #2b402c;--line: #324138;--brand-bg: #1c392d;--brand-text: #eff6d8;--brand-highlight: #c9e999;--error: #ffa9a9;--warning-bg: #3e3220;--warning-text: #ffe0a5;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body)}a{color:var(--accent);text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,p{margin-top:0}h1,h2,h3,h4,.wordmark,.monogram{font-family:var(--font-display);font-optical-sizing:auto;text-wrap:balance}h1{font-size:clamp(2.2rem,4vw,4rem);font-weight:800;letter-spacing:-.035em;line-height:1.02}h2{font-size:2rem;font-weight:700;letter-spacing:-.025em;line-height:1.15}h3,h4{font-weight:700;letter-spacing:-.01em}small{color:var(--muted);line-height:1.6}.wordmark{color:inherit;font-size:1.8rem;font-weight:800;letter-spacing:-.01em;line-height:1}.wordmark span{color:var(--accent);margin-left:.02em}.monogram{display:inline-flex;align-items:flex-start;color:inherit;font-size:1.6rem;font-weight:800;line-height:1}.monogram span{color:var(--accent);font-size:.62em;margin:-.12em -.06em 0}.eyebrow{font-family:var(--font-display);font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--muted)}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:45% 55%}.brand-panel{background:var(--brand-bg);color:var(--brand-text);padding:3rem 4rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.brand-panel .eyebrow,.brand-panel small,.brand-panel .wordmark span,.brand-panel .monogram span{color:var(--brand-highlight)}.brand-panel h1{max-width:450px}.brand-lines{display:flex;gap:14px;height:100px;align-items:end;margin-top:3rem}.brand-lines i{background:var(--brand-highlight);width:17%;border-radius:5px;height:30%}.brand-lines i:nth-child(2){height:45%}.brand-lines i:nth-child(3){height:60%}.brand-lines i:nth-child(4){height:80%}.brand-lines i:nth-child(5){height:100%}.auth-content{padding:2rem;display:grid;place-content:center;position:relative}.preferences{position:absolute;right:2rem;top:1rem}.auth-card{width:min(390px,85vw);padding:4rem 0}form{display:grid;gap:1.2rem}label{font-size:.85rem;font-weight:600;display:grid;gap:.5rem}input{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);padding:.95rem}.consent{grid-template-columns:auto 1fr;align-items:start;gap:.6rem;font-weight:400;line-height:1.45}.consent input{width:auto;margin-top:.2rem;accent-color:var(--accent)}.primary-action{margin-top:.7rem;min-height:48px}.auth-links{display:grid;gap:1rem;margin-top:1.8rem;font-size:.9rem}.notice,.error{border-radius:8px;padding:1rem;background:var(--accent-soft);line-height:1.5}.error{color:var(--error)}.shell{min-height:100dvh;display:grid;grid-template-columns:240px 1fr}.sidebar{padding:2.5rem 1.5rem;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:3rem}nav{display:grid;gap:.5rem}nav a{color:var(--muted);display:flex;gap:1rem;padding:1rem;border-radius:9px}nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}nav a span{width:20px;text-align:center}.logout{margin-top:auto}.workspace{min-width:0}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;border-bottom:1px solid var(--line)}header .monogram{display:none}.verify-banner{background:var(--warning-bg);color:var(--warning-text);padding:.5rem 3rem;font-size:.85rem}.page{padding:4rem 3rem;max-width:1100px}.lead{font-size:1.1rem;color:var(--muted);line-height:1.7;max-width:560px}.panel{margin-top:3rem;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:2rem}.intro-panel{display:flex;gap:2rem;align-items:center}.intro-panel h2{font-size:1.5rem}.intro-panel p{color:var(--muted);line-height:1.5;margin-bottom:0}.brand-emblem{background:var(--accent-soft);color:var(--accent);border-radius:50%;padding:2rem;font-family:var(--font-display);font-weight:800;font-size:2rem}@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.brand-panel{padding:1.5rem 2rem;min-height:130px}.brand-panel>div,.brand-panel>small{display:none}.auth-content{padding:1rem}.preferences{top:-5rem;right:1rem;background:var(--surface);border-radius:12px}.auth-card{padding-top:3rem}.shell{display:block;padding-bottom:85px}.sidebar{padding:0;border:0}.sidebar>.wordmark,.sidebar>.logout{display:none}nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);gap:0}nav a{flex:1;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .25rem;font-size:.7rem;border-radius:0}header{height:72px;padding:0 1.5rem}header .monogram{display:inline-flex}header .eyebrow{display:none}.page{padding:2.5rem 1.5rem}.verify-banner{padding:.8rem 1.5rem}.intro-panel{flex-direction:column;align-items:start}}.wide{max-width:1300px}.row{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.between{justify-content:space-between}.row input,.row select{width:auto;min-width:0;flex:1}.row h2{margin-bottom:0}.page button,.button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:.7rem 1rem;min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:.4rem}.page button:hover{background:var(--accent-soft)}.page .primary,.button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.page .danger{color:var(--error)}.page button:disabled{opacity:.5}.page label{margin:1rem 0}.page input[type=checkbox]{width:auto}.page select,.page textarea{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.7rem;max-width:100%;font:inherit}.page textarea{width:100%;min-height:90px}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0}.compact{margin-top:1rem;padding:1.3rem}.compact span,.compact small{display:block;color:var(--muted);margin-top:.5rem}.dashboard-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.macros-panel h2{font-size:1.3rem}.macro-grid{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.macro-grid b{display:block;margin-top:.5rem}progress{width:100%;height:12px;accent-color:var(--accent);margin:1rem 0}.routine-row{display:grid;grid-template-columns:2fr repeat(5,minmax(55px,1fr));align-items:center;gap:.5rem;border-bottom:1px solid var(--line);padding:1rem 0}.routine-row>input{grid-column:span 3}.routine-row input{padding:.5rem}.routine-row label{font-size:.7rem}.set-row{display:grid;grid-template-columns:35px minmax(65px,1.2fr) repeat(3,minmax(40px,1fr)) 55px;gap:.4rem;align-items:center}.set-row input{padding:.7rem .4rem;text-align:center}.set-heading{color:var(--muted);font-size:.75rem;margin:1rem 0}.set-row select{font-size:.65rem;padding:.2rem;width:100%}.set-row .previous{flex-direction:column;border:0;padding:.3rem;font-size:.8rem;min-width:0}.set-row small{font-size:.55rem}.completed{background:var(--accent-soft);border-radius:10px}.quick-set{gap:.3rem;justify-content:flex-end}.quick-set button{padding:.4rem .5rem;font-size:.7rem;min-height:40px}.exercise-card h3{margin:0}.rest-bar{position:fixed;bottom:0;left:0;right:0;background:var(--brand-bg);color:var(--brand-text);padding:1rem;display:flex;justify-content:center;gap:1rem;align-items:center;z-index:30}.live-session{padding-bottom:100px}.shell:has(.live-session){grid-template-columns:1fr}.shell:has(.live-session) .sidebar,.shell:has(.live-session) header{display:none}.food-results{display:flex;gap:.5rem;flex-wrap:wrap;max-height:280px;overflow:auto}.food-results button{display:flex;flex-direction:column;align-items:start;max-width:250px;text-align:left}.chips{display:flex;gap:.3rem;flex-wrap:wrap}.chips button{background:var(--accent-soft)}.log-row{display:flex;align-items:center;gap:.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}.log-row>div{flex:1}.log-row small{display:block}.scanner{width:100%;max-height:350px;object-fit:cover}.chart{height:360px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.photo-grid img{width:100%;height:280px;object-fit:contain;background:var(--bg)}.compare-side{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.compare-side img{width:100%;max-height:600px;object-fit:contain}.compare-overlay{position:relative}.compare-overlay img{width:100%;height:550px;object-fit:contain}.compare-overlay img+img{position:absolute;inset:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%}td,th{padding:1rem;text-align:left;border-bottom:1px solid var(--line)}.attribution{font-size:.75rem}.legal{line-height:1.8;max-width:850px}@media(max-width:760px){.dashboard-grid,.form-grid{grid-template-columns:1fr}.routine-row{grid-template-columns:repeat(3,minmax(0,1fr))}.routine-row b{grid-column:1/-1}.rest-bar{gap:.3rem;padding:.7rem .3rem;font-size:.8rem}.rest-bar button{padding:.5rem}.chart{height:280px}.panel{padding:1.2rem}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid .panel{padding:.5rem}.photo-grid img{height:200px}.compare-overlay img{height:400px}}
