.marketing{--bg:#07080a;--bg-elevated:#0d0f13;--surface:#12151b;--surface-2:#1a1e27;--surface-3:#232833;--border:#ffffff0f;--border-strong:#ffffff1f;--highlight:#ffffff14;--accent:#c8f135;--accent-soft:#a8d12a;--accent-dim:#c8f1351a;--accent-glow:#c8f13538;--accent-text:#0a0c08;--ice:#6ee7f5;--ice-dim:#6ee7f51f;--danger:#ff5c45;--warn:#f5b942;--danger-dim:#ff5c451f;--text:#f4f5f7;--muted:#9aa0ad;--muted-2:#5e6574;--warm:#c4b8a5;--topbar-bg:#07080ab8;--dock-bg:#12151be6;--overlay-bg:#000000b3;--hero-mid:#151a22;--scrim-from:#07080ae0;--media-title:#fff;--media-date:#ffffffbf;--grid-line:#ffffff12;--grid-opacity:.035;--ambient-1:#c8f13512;--ambient-2:#6ee7f50a;--ambient-3:#c8f13508;--auth-brand-bg:linear-gradient(160deg, #0c1018 0%, #07080a 50%, #0a1208 100%);--ghost-hover-bg:#ffffff08;--photo-remove-bg:#000000bf;--sheet-shadow:0 -12px 48px #00000080;--shadow-card:0 12px 40px #00000059;--shadow-dock:0 12px 40px #00000080;--shadow-log:0 8px 24px #0003;--shadow-log-hover:0 14px 36px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent-ink:#c8f135;--radius-xs:6px;--radius-sm:10px;--radius:14px;--radius-lg:20px;--radius-xl:28px;--font-num:"Bebas Neue", system-ui, sans-serif;--font:"Outfit", system-ui, sans-serif;font-family:var(--font);letter-spacing:normal;font-size:1rem;font-weight:400;line-height:1.5}[data-theme=light] .marketing{--bg:#f3f5ec;--bg-elevated:#fff;--surface:#fff;--surface-2:#eef2e3;--surface-3:#e2e8d4;--border:#1c240c1a;--border-strong:#1c240c29;--highlight:#fff;--accent:#c8f135;--accent-soft:#d8ff52;--accent-dim:#c8f13547;--accent-glow:#b4dc1e66;--accent-text:#1a2600;--accent-ink:#3a5800;--ice:#0e8a9e;--ice-dim:#0e8a9e1f;--danger:#e11d48;--warn:#d98a0b;--danger-dim:#e11d481a;--text:#12160c;--muted:#4a5240;--muted-2:#6b7460;--warm:#8a7a55;--topbar-bg:#f3f5ece6;--dock-bg:#fffffff2;--overlay-bg:#12160a66;--hero-mid:#f7f9f0;--scrim-from:#12160ac7;--media-title:#fff;--media-date:#ffffffd9;--grid-line:#3a58000f;--grid-opacity:.45;--ambient-1:#c8f1352e;--ambient-2:#0e8a9e0f;--ambient-3:#c8f13514;--auth-brand-bg:linear-gradient(160deg, #e8f5a8 0%, #f3f5ec 48%, #d4f0f4 100%);--ghost-hover-bg:#1c240c0d;--photo-remove-bg:#000000b3;--sheet-shadow:0 -12px 40px #12160a1a;--shadow-card:0 12px 32px #3a580012;--shadow-dock:0 12px 36px #12160a1a;--shadow-log:0 8px 22px #12160a0f;--shadow-log-hover:0 14px 32px #3a58001a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body:has(.marketing){background:#07080a}[data-theme=light] body:has(.marketing){background:#f3f5ec}.marketing{background:var(--bg);min-height:100dvh;color:var(--text);scroll-behavior:smooth;flex-direction:column;display:flex}@media (prefers-reduced-motion:reduce){.marketing{scroll-behavior:auto}}.mkt-nav{z-index:40;background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);box-shadow:0 1px 0 color-mix(in srgb, var(--text) 6%, transparent);border-bottom:none;position:sticky;top:0}.mkt-scroll-progress{transform-origin:0;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--ice) 70%, var(--accent)));opacity:.95;pointer-events:none;will-change:transform;width:100%;height:2px;position:absolute;top:0;left:0;transform:scaleX(0)}[data-theme=light] .mkt-nav{background:#f3f5ecd1}.mkt-nav-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:14px 22px;display:flex}.mkt-logo{letter-spacing:.16em;color:var(--accent-ink,var(--accent));flex-shrink:0;font-size:1.05rem;font-weight:800;text-decoration:none}.mkt-logo span{color:var(--text)}.mkt-logo--sm{font-size:.95rem}.mkt-nav-links{align-items:center;gap:22px;display:none}.mkt-nav-links a{color:var(--muted);transition:color .14s var(--ease-out);font-size:.84rem;font-weight:600;text-decoration:none}.mkt-nav-links a:hover{color:var(--text)}@media (width>=760px){.mkt-nav-links{display:flex}}.mkt-nav-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.mkt-nav-cta{display:none}@media (width>=520px){.mkt-nav-cta{display:inline-flex}}.mkt-btn{letter-spacing:-.01em;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;transition:transform .1s ease-out, background-color .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), color .18s var(--ease-out), opacity .18s var(--ease-out);border:1px solid #0000;border-radius:980px;justify-content:center;align-items:center;gap:.2em;padding:0 18px;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.mkt-btn:active{transform:scale(.97)}.mkt-btn--primary{background:var(--accent);color:var(--accent-text);box-shadow:0 .5px 0 #fff6 inset, 0 1px 2px #0000000f, 0 8px 24px -6px var(--accent-glow)}@media (hover:hover) and (pointer:fine){.mkt-btn--primary:hover{background:color-mix(in srgb, var(--accent) 92%, #fff)}}.mkt-btn--primary:active{box-shadow:inset 0 .5px #ffffff40,0 1px 2px #00000014}.mkt-btn--ghost{background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--text);border-color:color-mix(in srgb, var(--text) 12%, transparent);-webkit-backdrop-filter:blur(12px)saturate(160%)}@media (hover:hover) and (pointer:fine){.mkt-btn--ghost:hover{background:color-mix(in srgb, var(--surface) 100%, transparent);border-color:color-mix(in srgb, var(--text) 20%, transparent)}}.mkt-btn--text{color:var(--accent-ink,var(--accent));min-height:44px;box-shadow:none;background:0 0;border-color:#0000;padding-left:10px;padding-right:8px;font-weight:600}[data-theme=dark] .mkt-btn--text{color:var(--accent)}@media (hover:hover) and (pointer:fine){.mkt-btn--text:hover{opacity:.78}}.mkt-btn--text:active{opacity:.65;transform:scale(.98)}.mkt-btn-chevron{margin-left:.05em;font-size:1.15em;font-weight:400;line-height:1;translate:0 .02em}.mkt-btn--lg{min-height:48px;padding:0 22px;font-size:1.0625rem}.mkt-btn--text.mkt-btn--lg{padding-left:4px;padding-right:4px}.mkt-text-link{letter-spacing:-.01em;color:var(--accent-ink,var(--accent));font-size:.9375rem;font-weight:600;text-decoration:none}.mkt-text-link:hover{opacity:.8}.mkt-hero{padding:2rem 1.375rem 3rem;position:relative;overflow:hidden}@media (width>=900px){.mkt-hero{padding:3.5rem 1.5rem 5rem}}.mkt-hero-layout{z-index:1;grid-template-columns:1fr;align-items:center;gap:2.5rem;max-width:68rem;margin:0 auto;display:grid;position:relative}@media (width>=900px){.mkt-hero-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:3rem 2.5rem;min-height:min(100dvh - 5.5rem,42rem)}}.mkt-hero-copy{z-index:1;flex-direction:column;align-items:flex-start;max-width:34rem;display:flex;position:relative}@media (width<=899px){.mkt-hero-copy{text-align:left;width:100%;max-width:28rem;margin-inline:auto}}.mkt-hero-device{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}@media (width<=899px){.mkt-hero-device{max-width:15.5rem;margin:.25rem auto 0}}@media (width>=900px){.mkt-hero-device{justify-content:flex-end;padding-inline-end:.5rem}}.mkt-hero-glow{background:radial-gradient(ellipse 55% 70% at 18% 18%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 62%), radial-gradient(ellipse 45% 55% at 88% 42%, color-mix(in srgb, var(--ice) 8%, transparent), transparent 58%);pointer-events:none;z-index:0;height:75%;position:absolute;inset:-10% -20% auto}.mkt-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin:0 0 .75rem;font-size:.75rem;font-weight:600;line-height:1.3}.mkt-hero-title{letter-spacing:-.035em;color:var(--text);font-optical-sizing:auto;text-wrap:balance;margin:0 0 1rem;font-size:clamp(2.5rem,9.5vw,4.25rem);font-weight:800;line-height:1.02}@media (width>=900px){.mkt-hero-title{letter-spacing:-.042em;margin-bottom:1.125rem;font-size:clamp(3.25rem,5.2vw,4.5rem);line-height:.98}}.mkt-hero-line{white-space:nowrap;display:block}.mkt-hero-line--accent{color:var(--accent-ink,var(--accent))}[data-theme=dark] .mkt-hero-line--accent{color:var(--accent)}.mkt-hero-sub{color:var(--muted);letter-spacing:-.011em;text-wrap:pretty;max-width:34ch;margin:0 0 1.75rem;font-size:clamp(1.0625rem,2.1vw,1.1875rem);font-weight:500;line-height:1.47}.mkt-hero-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;width:100%;margin:0 0 1.75rem;display:flex}@media (width<=899px){.mkt-hero-actions{flex-direction:column;align-items:stretch;gap:.625rem;margin-bottom:1.5rem}.mkt-hero-actions .mkt-btn--primary{width:100%}.mkt-hero-actions .mkt-btn--text{justify-content:center;width:100%}}.mkt-proof{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.mkt-proof li{border:1px solid color-mix(in srgb, var(--text) 10%, transparent);background:color-mix(in srgb, var(--surface) 70%, transparent);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-radius:980px;padding:.375rem .75rem;font-size:.6875rem;font-weight:600;line-height:1.3}[data-theme=dark] .mkt-proof li{color:color-mix(in srgb, var(--text) 72%, transparent);border-color:color-mix(in srgb, var(--text) 12%, transparent);background:color-mix(in srgb, var(--surface) 55%, transparent)}[data-theme=light] .mkt-proof li{color:var(--muted-2)}.mkt-section{padding:48px 22px 56px;scroll-margin-top:80px}.mkt-section-inner{width:100%;max-width:1100px;margin:0 auto}.mkt-section-head{max-width:36rem;margin-bottom:28px}.mkt-section-head--center{text-align:center;margin-left:auto;margin-right:auto}.mkt-section-title{letter-spacing:-.03em;margin:0 0 10px;font-size:1.35rem;font-weight:800;line-height:1.2}.mkt-section-title--lg{letter-spacing:-.035em;margin-bottom:12px;font-size:clamp(1.65rem,3.5vw,2.25rem)}.mkt-section-lead{color:var(--muted);max-width:42ch;margin:0;font-size:1.05rem;font-weight:500;line-height:1.55}.mkt-section-lead--center{margin-left:auto;margin-right:auto}.mkt-feature-grid{grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.mkt-feature-grid{grid-template-columns:1fr 1fr;gap:14px}}.mkt-feature-card{border-radius:var(--radius-lg);border:1px solid var(--border);border-top-color:var(--highlight);background:var(--surface);box-shadow:var(--shadow-card);transition:transform .18s var(--ease-out), border-color .18s var(--ease-out);padding:22px 20px 20px}@media (hover:hover) and (pointer:fine){.mkt-feature-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}}.mkt-feature-mark{background:linear-gradient(90deg, var(--accent), transparent);border-radius:99px;width:28px;height:3px;margin-bottom:14px}.mkt-feature-title{letter-spacing:-.02em;margin:0 0 8px;font-size:1.08rem;font-weight:800}.mkt-feature-body{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.mkt-section--spotlight{padding-top:24px;padding-bottom:64px}.mkt-spotlight{border-radius:var(--radius-xl);border:1px solid var(--border);background:radial-gradient(ellipse 70% 80% at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%), var(--surface);box-shadow:var(--shadow-card);grid-template-columns:1fr;align-items:center;gap:28px;padding:32px 24px;display:grid}@media (width>=860px){.mkt-spotlight{grid-template-columns:1.1fr .9fr;gap:40px;padding:40px 36px}}.mkt-spotlight-copy .mkt-section-lead{margin-bottom:16px}.mkt-bullet-list{color:var(--muted);margin:0 0 22px;padding:0 0 0 1.1rem;font-size:.92rem;line-height:1.55}.mkt-bullet-list li{margin-bottom:6px}.mkt-spotlight-visual{justify-content:center;display:flex}.mkt-device{--device-w:280px;width:var(--device-w);aspect-ratio:502/1036;filter:drop-shadow(0 2px 4px #0000001f)drop-shadow(0 18px 36px #00000047)drop-shadow(0 40px 64px #0000002e);max-width:100%;position:relative}[data-theme=light] .mkt-device{filter:drop-shadow(0 2px 3px #12160a14)drop-shadow(0 16px 32px #12160a24)drop-shadow(0 36px 56px #12160a1a)}.mkt-device-stage{position:absolute;inset:0}.mkt-device-screen{border-radius:calc(var(--device-w) * .128);background:var(--bg);color:var(--text);z-index:0;flex-direction:column;display:flex;position:absolute;inset:2.22% 4.78%;overflow:hidden;box-shadow:inset 0 0 0 .5px #ffffff14}[data-theme=light] .mkt-device-screen{box-shadow:inset 0 0 0 .5px #0000000f}.mkt-device-frame{object-fit:fill;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;position:absolute;inset:0}.mkt-status-bar{height:calc(var(--device-w) * .105);padding:0 calc(var(--device-w) * .055) 4px;font-size:calc(var(--device-w) * .042);letter-spacing:-.02em;color:var(--text);z-index:1;flex-shrink:0;justify-content:space-between;align-items:flex-end;font-weight:600;display:flex;position:relative}.mkt-status-time{font-variant-numeric:tabular-nums;min-width:2.6em}.mkt-status-trail{align-items:center;gap:4px;height:1em;display:flex}.mkt-status-signal{opacity:.92;background:linear-gradient(currentColor,currentColor) 0 100%/.18em 40% no-repeat,linear-gradient(currentColor,currentColor) .26em 100%/.18em 55% no-repeat,linear-gradient(currentColor,currentColor) .52em 100%/.18em 75% no-repeat,linear-gradient(currentColor,currentColor) .78em 100%/.18em 100% no-repeat;width:1em;height:.72em}.mkt-status-wifi{opacity:.9;background-color:#0000;background-image:radial-gradient(circle at 50% 100%,currentColor .12em,#0000 .13em),radial-gradient(circle at 50% 110%,#0000 .22em,currentColor .23em .32em,#0000 .33em),radial-gradient(circle at 50% 120%,#0000 .38em,currentColor .39em .48em,#0000 .49em);background-position:0 0,0 0,0 0;background-repeat:no-repeat;background-size:auto,auto,auto;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:.78em;height:.6em}.mkt-status-battery{opacity:.92;box-sizing:border-box;border:.1em solid;border-radius:.18em;width:1.35em;height:.68em;position:relative}.mkt-status-battery:before{content:"";background:currentColor;border-radius:.06em;position:absolute;inset:.12em .28em .12em .12em}.mkt-status-battery:after{content:"";opacity:.7;background:currentColor;border-radius:0 .08em .08em 0;width:.12em;height:.32em;margin-top:-.16em;position:absolute;top:50%;right:-.22em}.mkt-screen-body{min-height:0;padding:2px calc(var(--device-w) * .042) 0;flex-direction:column;flex:1;display:flex;overflow:hidden}.mkt-home-indicator{width:34%;height:4px;margin:6px auto calc(var(--device-w) * .028);background:color-mix(in srgb, var(--text) 55%, transparent);opacity:.85;border-radius:99px;flex-shrink:0}.mkt-screen-home,.mkt-screen-progress{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:hidden}.mkt-screen-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-size:.55rem;font-weight:700}.mkt-screen-greeting{letter-spacing:-.03em;color:var(--text);margin-bottom:2px;font-size:.95rem;font-weight:800;line-height:1.15}.mkt-screen-greeting em{color:var(--accent-ink,var(--accent));font-style:normal}[data-theme=dark] .mkt-screen-greeting em{color:var(--accent)}.mkt-screen-bar{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mkt-screen-title{letter-spacing:-.03em;font-size:1rem;font-weight:800;line-height:1.1}.mkt-screen-sub{color:var(--muted-2);margin-top:2px;font-size:.58rem;font-weight:600}.mkt-screen-hero{border:1px solid var(--border);border-top-color:var(--highlight);background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:8px 10px;padding:10px 11px 11px;display:grid}.mkt-screen-hero-main{grid-area:1/1}.mkt-screen-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);font-size:.52rem;font-weight:700}.mkt-screen-streak{font-family:var(--font-num);background:linear-gradient(145deg, var(--accent), #6ecf88);color:#0000;-webkit-background-clip:text;background-clip:text;margin:2px 0 0;font-size:2.15rem;font-weight:700;line-height:.95}.mkt-screen-hero-note{color:var(--muted);margin:4px 0 0;font-size:.58rem;font-weight:600;line-height:1.25}.mkt-screen-ring-wrap{grid-area:1/2;align-self:center;width:48px;height:48px;position:relative}.mkt-screen-ring{background:conic-gradient(var(--accent) 0 288deg, var(--surface-2) 288deg 360deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px))}.mkt-screen-ring-label{font-family:var(--font-num);letter-spacing:-.03em;color:var(--text);place-items:center;font-size:.72rem;font-weight:700;display:grid;position:absolute;inset:0}.mkt-screen-ring-label span{color:var(--muted-2);font-size:.52rem;font-weight:600}.mkt-screen-actions{flex-wrap:wrap;grid-area:2/1/auto/-1;align-items:center;gap:5px;display:flex}.mkt-screen-badge-live{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:.52rem;font-weight:700;display:inline-flex}.mkt-screen-live-dot{background:var(--accent);width:5px;height:5px;box-shadow:0 0 6px var(--accent-glow);border-radius:50%}.mkt-screen-pill{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.58rem;font-weight:700}.mkt-screen-pill--lime{background:var(--accent);color:var(--accent-text);border-color:#0000;box-shadow:inset 0 1px #ffffff4d}.mkt-screen-pill--sm{padding:4px 8px;font-size:.55rem}.mkt-screen-week{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(7,1fr);gap:3px;padding:6px 4px;display:grid}.mkt-screen-day{color:var(--muted-2);letter-spacing:.02em;flex-direction:column;align-items:center;gap:4px;font-size:.48rem;font-weight:700;display:flex}.mkt-screen-day i{background:var(--surface-3);border-radius:50%;width:7px;height:7px;display:block}.mkt-screen-day.is-done i{background:var(--accent);box-shadow:0 0 6px var(--accent-glow)}.mkt-screen-day.is-today span{color:var(--accent-ink,var(--accent))}[data-theme=dark] .mkt-screen-day.is-today span{color:var(--accent)}.mkt-screen-card{border:1px solid color-mix(in srgb, var(--ice) 28%, var(--border));background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--ice) 16%, transparent), transparent 55%), var(--surface);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.mkt-screen-card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--ice);font-size:.5rem;font-weight:800}.mkt-screen-card-title{letter-spacing:-.02em;font-size:.88rem;font-weight:800}.mkt-screen-card-meta{color:var(--muted-2);margin-top:2px;font-size:.52rem;font-weight:600}.mkt-screen-dock{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;justify-content:space-around;align-items:center;margin-top:auto;padding:7px 6px;display:flex}.mkt-screen-dock>span{background:var(--surface-3);border-radius:50%;width:7px;height:7px}.mkt-screen-dock .is-on{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.mkt-screen-dock-plus{color:var(--accent-text);box-shadow:0 2px 8px var(--accent-glow);place-items:center;font-size:.95rem;font-weight:700;line-height:1;display:grid;background:var(--accent)!important;border-radius:9px!important;width:26px!important;height:26px!important}.mkt-screen-chart-block{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:8px 8px 6px}.mkt-screen-chart-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px;padding-left:2px;font-size:.52rem;font-weight:800}.mkt-screen-chart{align-items:flex-end;gap:6px;height:64px;padding:0 2px;display:flex}.mkt-screen-chart-col{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;height:100%;display:flex}.mkt-screen-chart-track{background:var(--surface-2);border-radius:4px 4px 2px 2px;flex:1;align-items:flex-end;width:100%;min-height:0;display:flex;overflow:hidden}.mkt-screen-chart-fill{background:linear-gradient(180deg, var(--accent), #9fc412);border-radius:4px 4px 2px 2px;width:100%;min-height:6px}.mkt-screen-chart-n{font-family:var(--font-num);color:var(--text);font-size:.52rem;font-weight:700;line-height:1}.mkt-screen-chart-l{color:var(--muted-2);letter-spacing:.04em;font-size:.45rem;font-weight:700}.mkt-screen-group{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-shrink:0;overflow:hidden}.mkt-screen-group--dim{opacity:.92;flex:1;min-height:0}.mkt-screen-group-head{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:7px 10px 6px;font-size:.55rem;font-weight:800;display:flex}.mkt-screen-group-count{font-variant-numeric:tabular-nums;opacity:.8;margin-left:auto}.mkt-screen-lift{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.mkt-screen-lift:last-child{border-bottom:none}.mkt-screen-lift-name{letter-spacing:-.02em;margin-bottom:1px;font-size:.74rem;font-weight:700}.mkt-screen-lift-nums{font-family:var(--font-num);color:var(--muted);font-size:.68rem;font-weight:600}.mkt-screen-lift-nums .up{color:var(--accent-ink,var(--accent));margin-right:2px;font-weight:800}[data-theme=dark] .mkt-screen-lift-nums .up{color:var(--accent)}.mkt-screen-lift-when{color:var(--muted-2);margin-top:2px;font-size:.48rem;font-weight:600}.mkt-screen-badge{background:var(--accent-dim);color:var(--accent-ink,var(--accent));border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 7px;font-size:.55rem;font-weight:800}[data-theme=dark] .mkt-screen-badge{color:var(--accent)}.mkt-screen-badge--hold{background:var(--surface-2);color:var(--muted-2);border-color:var(--border);font-weight:700}@media (width>=900px){.mkt-device{--device-w:300px}}.mkt-reveal{opacity:0;transition:opacity .28s var(--ease-out), transform .28s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(12px)}.mkt-reveal.is-visible{opacity:1;transform:translateY(0)}.mkt-privacy-points>.mkt-reveal{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);flex-direction:column;gap:6px;padding:18px 16px;display:flex}.mkt-privacy-points>.mkt-reveal strong{letter-spacing:-.02em;font-size:.95rem;font-weight:800}.mkt-privacy-points>.mkt-reveal span{color:var(--muted);font-size:.86rem;line-height:1.45}.mkt-feature-grid>.mkt-feature-card.mkt-reveal{list-style:none}.mkt-privacy{max-width:800px}.mkt-privacy-points{grid-template-columns:1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.mkt-privacy-points{grid-template-columns:repeat(3,1fr);gap:14px}}.mkt-privacy-points li{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);flex-direction:column;gap:6px;padding:18px 16px;display:flex}.mkt-privacy-points strong{letter-spacing:-.02em;font-size:.95rem;font-weight:800}.mkt-privacy-points span{color:var(--muted);font-size:.86rem;line-height:1.45}.mkt-final-cta{text-align:center;border-radius:var(--radius-xl);border:1px solid var(--border);background:radial-gradient(ellipse 80% 100% at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 65%), var(--surface);margin:8px 22px 0;padding:56px 22px 64px}.mkt-final-title{letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800}.mkt-final-copy{color:var(--muted);margin:0 0 22px;font-size:1rem}@media (prefers-reduced-motion:reduce){.mkt-feature-card{transition:none}.mkt-feature-card:hover{transform:none}}.mkt-footer{border-top:1px solid var(--border);margin-top:auto;padding:28px 22px 36px}.mkt-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;max-width:1100px;margin:0 auto;display:flex}.mkt-footer-credit{color:var(--muted-2);margin:0;font-size:.8rem;font-weight:600}.mkt-credit-link{color:inherit;text-underline-offset:3px;transition:color .14s var(--ease-out), opacity .14s var(--ease-out);font-weight:700;text-decoration:none}.mkt-credit-link:hover{color:var(--accent-ink,var(--accent));text-decoration:underline}[data-theme=dark] .mkt-credit-link:hover{color:var(--accent)}@media (prefers-reduced-motion:reduce){.mkt-btn{transition:none}.mkt-btn:active{transform:none}.mkt-reveal{opacity:1;transition:none;transform:none}.mkt-scroll-progress{transition:none}.mkt-feature-card:hover{transform:none}}@media (prefers-reduced-transparency:reduce){.mkt-nav{background:var(--bg);-webkit-backdrop-filter:none}.mkt-btn--ghost{-webkit-backdrop-filter:none;background:var(--surface)}}:root,[data-theme=dark]{--bg:#000;--bg-elevated:#0b0b0c;--surface:#1c1c1e;--surface-2:#2c2c2e;--surface-3:#3a3a3c;--fill:#7676803d;--text:#fff;--muted:#ebebf59e;--muted-2:#ebebf552;--border:#ffffff14;--border-strong:#ffffff24;--separator:#54545899;--highlight:transparent;--accent:#c8f135;--accent-soft:#a8d12a;--accent-text:#0a0c08;--accent-ink:#c8f135;--ring-accent:#c8f135;--accent-dim:#c8f13529;--accent-glow:transparent;--c-heart:#ff375f;--c-sleep:#5e5ce6;--c-strength:#ff9f0a;--c-activity:#64d2ff;--activity-ink:var(--c-activity);--heart-ink:var(--c-heart);--sleep-ink:var(--c-sleep);--strength-ink:var(--c-strength);--danger-ink:var(--danger);--ice:var(--c-activity);--ice-dim:color-mix(in srgb, var(--c-activity) 16%, transparent);--warn:#ffd60a;--warn-ink:#ffd60a;--danger:#ff453a;--danger-dim:color-mix(in srgb, var(--danger) 16%, transparent);--warm:#c4b8a5;--glow-strength:.55;--wash-strength:.22;--material-bar:#1c1c1eb8;--material-filter:saturate(180%) blur(20px);--topbar-bg:var(--material-bar);--dock-bg:var(--material-bar);--overlay-bg:#000000b3;--scrim-from:#000000d9;--media-title:#fff;--media-date:#ffffffbf;--photo-remove-bg:#000000bf;--ghost-hover-bg:#ffffff0a;--hero-mid:var(--surface);--grid-line:transparent;--grid-opacity:0;--ambient-1:transparent;--ambient-2:transparent;--ambient-3:transparent;--auth-brand-bg:var(--bg-elevated);--shadow-card:none;--shadow-dock:none;--shadow-log:none;--shadow-log-hover:none;--sheet-shadow:0 -12px 48px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f2f2f7;--bg-elevated:#fff;--surface:#fff;--surface-2:#f2f2f7;--surface-3:#e5e5ea;--fill:#7878801f;--text:#000;--muted:#3c3c439e;--muted-2:#3c3c4352;--border:#3c3c431f;--border-strong:#3c3c4333;--separator:#3c3c432e;--highlight:transparent;--accent:#c8f135;--accent-soft:#d8ff52;--accent-text:#0a0c08;--accent-ink:#4a6800;--ring-accent:#a6d608;--accent-dim:#c8f13538;--accent-glow:transparent;--c-heart:#ff2d55;--c-sleep:#5856d6;--c-strength:#ff9500;--c-activity:#32ade6;--warn:#fc0;--warn-ink:#a37a00;--danger:#ff3b30;--activity-ink:#0071a4;--heart-ink:#c4002b;--sleep-ink:#3634a3;--strength-ink:#9c5700;--danger-ink:#c4291d;--warm:#8a7a55;--glow-strength:.22;--wash-strength:.1;--material-bar:#f9f9f9cc;--overlay-bg:#0006;--scrim-from:#000000c7;--media-date:#ffffffd9;--photo-remove-bg:#000000b3;--ghost-hover-bg:#0000000a;--shadow-card:0 1px 2px #0000000a;--shadow-log:0 1px 2px #0000000a;--shadow-log-hover:0 1px 2px #0000000a;--sheet-shadow:0 -8px 32px #0000001f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .logo,[data-theme=light] .auth-logo-mobile,[data-theme=light] .auth-brand-mark,[data-theme=light] .link-btn,[data-theme=light] .tag.type,[data-theme=light] .badge.done,[data-theme=light] .week-day.logged .n,[data-theme=light] .metric .num.accent,[data-theme=light] .stat-card .value.accent,[data-theme=light] .confirm-email,[data-theme=light] .confirm-icon,[data-theme=light] .empty-mark{color:var(--accent-ink)}[data-theme=light] .logo span,[data-theme=light] .auth-logo-mobile span,[data-theme=light] .auth-brand-mark span{color:var(--text)}[data-theme=light] .heatmap-cell.l1{background:#c8f13573}[data-theme=light] .heatmap-cell.l2{background:#96be14b3}[data-theme=light] .heatmap-cell.l3{background:#7ea000}:root{--radius-xs:6px;--radius-sm:10px;--radius:12px;--radius-lg:22px;--radius-xl:28px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-num:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-brand:"Bebas Neue", sans-serif;--font-display:"Bebas Neue", var(--font-num), sans-serif;--fs-large-title:2.125rem;--lh-large-title:1.2;--fw-large-title:700;--ls-large-title:-.022em;--fs-title1:1.75rem;--lh-title1:1.21;--fw-title1:700;--ls-title1:-.02em;--fs-title2:1.375rem;--lh-title2:1.27;--fw-title2:700;--ls-title2:-.016em;--fs-title3:1.25rem;--lh-title3:1.25;--fw-title3:600;--ls-title3:-.014em;--fs-headline:1.0625rem;--lh-headline:1.29;--fw-headline:600;--ls-headline:-.01em;--fs-body:1.0625rem;--lh-body:1.29;--fw-body:400;--ls-body:-.01em;--fs-callout:1rem;--lh-callout:1.31;--fw-callout:400;--ls-callout:-.005em;--fs-subhead:.9375rem;--lh-subhead:1.33;--fw-subhead:400;--ls-subhead:0;--fs-footnote:.8125rem;--lh-footnote:1.38;--fw-footnote:400;--ls-footnote:0;--fs-caption:.75rem;--lh-caption:1.33;--fw-caption:400;--ls-caption:0;--fs-caption2:.625rem;--ease:cubic-bezier(.23, 1, .32, 1);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--ease-spring:cubic-bezier(.34, 1.2, .64, 1);--dur-press:.12s;--dur-fast:.18s;--dur-ui:.25s;--dur-sheet:.36s;--dur-page:.42s;--dur-theme:.52s;--dur-tab-in:.3s;--dur-tab-out:.22s;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--header-h:44px;--dock-h:49px;--gutter:16px;--max-w:760px}@media (prefers-reduced-transparency:reduce){:root,[data-theme=dark],[data-theme=light]{--material-bar:var(--bg-elevated);--material-filter:none}}@media (prefers-contrast:more){:root,[data-theme=dark]{--muted:#ebebf5cc;--muted-2:#ebebf599;--border:#fff6;--border-strong:#fff9;--separator:#fff6;--material-bar:var(--bg-elevated);--material-filter:none}[data-theme=light]{--muted:#3c3c43d9;--muted-2:#3c3c43a6;--border:#00000073;--border-strong:#000000a6;--separator:#0006;--material-bar:var(--bg-elevated);--material-filter:none}.card,.health-card,.settings-card,.list-group{border:1px solid var(--border-strong)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-body);letter-spacing:var(--ls-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;transition:background-color var(--dur-theme) var(--ease-out), color var(--dur-theme) var(--ease-out);overflow-x:hidden}button,input,textarea,select{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.t-large-title{font-size:var(--fs-large-title);line-height:var(--lh-large-title);font-weight:var(--fw-large-title);letter-spacing:var(--ls-large-title)}.t-title1{font-size:var(--fs-title1);line-height:var(--lh-title1);font-weight:var(--fw-title1);letter-spacing:var(--ls-title1)}.t-title2{font-size:var(--fs-title2);line-height:var(--lh-title2);font-weight:var(--fw-title2);letter-spacing:var(--ls-title2)}.t-title3{font-size:var(--fs-title3);line-height:var(--lh-title3);font-weight:var(--fw-title3);letter-spacing:var(--ls-title3)}.t-headline{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline)}.t-body{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-body);letter-spacing:var(--ls-body)}.t-callout{font-size:var(--fs-callout);line-height:var(--lh-callout);font-weight:var(--fw-callout);letter-spacing:var(--ls-callout)}.t-subhead{font-size:var(--fs-subhead);line-height:var(--lh-subhead);font-weight:var(--fw-subhead);letter-spacing:var(--ls-subhead)}.t-footnote{font-size:var(--fs-footnote);line-height:var(--lh-footnote);font-weight:var(--fw-footnote);letter-spacing:var(--ls-footnote)}.t-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-caption);letter-spacing:var(--ls-caption)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-transform:none;font-weight:700;line-height:1.1}.body-stat-value,.body-tile-value,.empty-mark,.chart-readout-value,.today-tile-value,.week-day .n,.strength-latest,.strength-pr-value,.progress-streak-num,.progress-stat-value,.muscle-group-count,.muscle-lift-nums,.lift-compare-value,.lift-chart-vol,.stepper-input,.lift-summary-nums,.lift-prev-value{font-variant-numeric:tabular-nums}.label{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}.page-title{font-size:var(--fs-large-title);line-height:var(--lh-large-title);font-weight:var(--fw-large-title);letter-spacing:var(--ls-large-title);text-align:left}::view-transition-old(root){animation-duration:var(--dur-theme);animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:var(--dur-theme);animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-name:theme-fade-out}::view-transition-new(root){animation-name:theme-fade-in}@keyframes theme-fade-out{to{opacity:0}}@keyframes theme-fade-in{0%{opacity:0}}html.theme-animating,html.theme-animating body,html.theme-animating .topbar,html.theme-animating .dock-bar,html.theme-animating .card,html.theme-animating .list-group,html.theme-animating .segmented,html.theme-animating .hero-panel,html.theme-animating .metric,html.theme-animating .metrics,html.theme-animating .log-card,html.theme-animating .week-day,html.theme-animating .sheet,html.theme-animating .auth-card,html.theme-animating .menu-pop,html.theme-animating .cal-card,html.theme-animating .heatmap-card,html.theme-animating .empty,html.theme-animating .form-section,html.theme-animating .detail-block,html.theme-animating .field input,html.theme-animating .field textarea,html.theme-animating .search-input,html.theme-animating .btn-ghost,html.theme-animating .btn-icon,html.theme-animating .user-chip,html.theme-animating .theme-icon-btn,html.theme-animating .focus-btn,html.theme-animating .type-btn,html.theme-animating .preset-btn,html.theme-animating .filter-chip,html.theme-animating .tag,html.theme-animating .badge,html.theme-animating .stat-card,html.theme-animating .cal-cell{transition:background-color var(--dur-theme) var(--ease-out), background var(--dur-theme) var(--ease-out), color var(--dur-theme) var(--ease-out), border-color var(--dur-theme) var(--ease-out), box-shadow var(--dur-theme) var(--ease-out), fill var(--dur-theme) var(--ease-out), stroke var(--dur-theme) var(--ease-out)!important}.theme-icon-btn{transition:background-color .25s var(--ease-out), color .25s var(--ease-out), border-color .25s var(--ease-out), transform .2s var(--ease-spring)}.theme-icon-btn:active{transform:scale(.92)rotate(-12deg)}.btn,.btn-icon,.dock-slot,.dock-log,.chip--button,.filter-chip,button.list-row,a.list-row,button.card,a.card,button.health-card,button.settings-card,.segmented button{transition-property:transform,background-color,border-color,color,opacity,box-shadow;transition-duration:var(--dur-press), var(--dur-fast), var(--dur-fast), var(--dur-fast), var(--dur-fast), var(--dur-fast);transition-timing-function:var(--ease-out)}.btn:active:not(:disabled),.btn-icon:active:not(:disabled),.dock-slot:active,.dock-log:active,.chip--button:active,.filter-chip:active,button.list-row:active,a.list-row:active,button.card:active,a.card:active,button.health-card:active,button.settings-card:active,.segmented button:active{transform:scale(.97)}.btn{min-height:44px;font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline);border-radius:var(--radius);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-ghost{background:var(--fill);color:var(--text)}.btn-ice{background:var(--ice-dim);color:var(--ice)}.btn-danger{background:var(--danger-dim);color:var(--danger)}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--fill) 70%, var(--text) 8%)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}}.btn-sm{border-radius:var(--radius-sm);min-height:34px;font-size:var(--fs-subhead);line-height:var(--lh-subhead);letter-spacing:var(--ls-subhead);padding:0 14px;font-weight:600}.btn-lg{min-height:50px;padding:0 22px}.btn-full{width:100%}.btn-icon{border-radius:var(--radius);background:var(--fill);width:44px;height:44px;color:var(--muted);place-items:center;padding:0;display:inline-grid}@media (hover:hover) and (pointer:fine){.btn-icon:hover{color:var(--text)}}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}.field input,.field textarea,.field select{background:var(--surface-2);border-radius:var(--radius-sm);width:100%;min-height:44px;font-size:var(--fs-body);line-height:var(--lh-body);appearance:none;border:none;outline:none;padding:11px 14px}.field input::placeholder,.field textarea::placeholder{color:var(--muted-2)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--accent-ink);outline-offset:0}.field textarea{resize:vertical;min-height:88px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.field-row{grid-template-columns:1fr}}.app-shell{min-height:100dvh;padding-bottom:calc(var(--dock-h) + var(--safe-bottom) + 16px)}.page{max-width:var(--max-w);padding:8px max(var(--gutter), env(safe-area-inset-right,0px)) 0 max(var(--gutter), env(safe-area-inset-left,0px));margin:0 auto}.page-stage{width:100%;min-height:50vh;position:relative;overflow:clip}.page-layer{will-change:transform, opacity;width:100%}.page-layer--enter.page-layer--forward{animation:page-in-forward var(--dur-tab-in) var(--ease-out) both}.page-layer--enter.page-layer--back{animation:page-in-back var(--dur-tab-in) var(--ease-out) both}.page-layer--exit{pointer-events:none;z-index:0;width:100%;position:absolute;inset:0 auto auto 0}.page-layer--enter{z-index:1;position:relative}.page-layer--exit.page-layer--forward{animation:page-out-forward var(--dur-tab-out) var(--ease-out) both}.page-layer--exit.page-layer--back{animation:page-out-back var(--dur-tab-out) var(--ease-out) both}@keyframes page-in-forward{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0,0)}}@keyframes page-in-back{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0,0)}}@keyframes page-out-forward{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-10px)}}@keyframes page-out-back{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(10px)}}@media (prefers-reduced-motion:reduce){.page-layer--enter.page-layer--forward,.page-layer--enter.page-layer--back{animation:fade-in var(--dur-fast) linear both}.page-layer--exit.page-layer--forward,.page-layer--exit.page-layer--back{animation:fade-out var(--dur-fast) linear both}}.page-enter{animation:page-enter var(--dur-ui) var(--ease-out) both}.page-header{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.topbar{z-index:50;height:calc(var(--header-h) + var(--safe-top));padding:var(--safe-top) max(var(--gutter), env(safe-area-inset-right,0px)) 0 max(var(--gutter), env(safe-area-inset-left,0px));justify-content:flex-end;align-items:center;display:flex;position:sticky;top:0}.topbar:before{content:"";z-index:-1;background:var(--material-bar);-webkit-backdrop-filter:var(--material-filter);backdrop-filter:var(--material-filter);border-bottom:1px solid var(--border);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);pointer-events:none;position:absolute;inset:0}.app-shell[data-scrolled=true] .topbar:before{opacity:1}.topbar-title{inset:var(--safe-top) 64px 0;font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline);white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.app-shell[data-scrolled=true] .topbar-title{opacity:1}.topbar-right{align-items:center;gap:8px;display:flex;position:relative}.logo{font-family:var(--font-brand);letter-spacing:.08em;color:var(--accent-ink);font-size:1.6rem;font-weight:400;line-height:1}.logo span{color:var(--text)}.user-chip{background:var(--fill);width:34px;height:34px;color:var(--text);transition-property:transform,border-color;transition-duration:var(--dur-press), var(--dur-fast);transition-timing-function:var(--ease-out);border:1px solid #0000;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.user-chip:active{transform:scale(.94)}.avatar{width:100%;height:100%;color:var(--text);font-size:var(--fs-subhead);letter-spacing:0;text-transform:uppercase;background:0 0;border-radius:50%;place-items:center;font-weight:600;line-height:1;display:grid}.dock-bar{z-index:60;height:calc(var(--dock-h) + var(--safe-bottom));padding:0 0 var(--safe-bottom);background:var(--material-bar);-webkit-backdrop-filter:var(--material-filter);backdrop-filter:var(--material-filter);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);align-items:stretch;display:grid;position:fixed;bottom:0;left:0;right:0}.dock-slot{min-width:0;color:var(--muted);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px 2px;display:flex}.dock-slot-icon{place-items:center;width:26px;height:26px;display:grid}.dock-slot-icon svg{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.dock-slot-label{font-size:var(--fs-caption2);letter-spacing:.01em;font-weight:500;line-height:1.2}.dock-slot.active{color:var(--accent-ink)}.dock-slot.active .dock-slot-icon svg{stroke-width:2.1px}.dock-log-wrap{place-items:center;display:grid}.dock-log{background:var(--accent);width:46px;height:46px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.dock-log-plus{place-items:center;display:grid}.dock-log-plus svg{stroke:currentColor;fill:none;stroke-width:2.4px;stroke-linecap:round;width:22px;height:22px}@media (hover:hover) and (pointer:fine){.dock-slot:hover:not(.active){color:var(--text)}}@media (width>=720px){.dock-bar{padding-inline:calc(50% - 260px)}}.progress-page .page-header{margin-bottom:0}.icon-badge{width:32px;height:32px;color:var(--muted);background:var(--fill);border-radius:9px;flex:none;place-items:center;display:grid}.icon-badge svg{width:18px;height:18px}.icon-badge--strength{color:var(--c-strength);background:color-mix(in srgb, var(--c-strength) 16%, transparent)}.icon-badge--activity{color:var(--c-activity);background:color-mix(in srgb, var(--c-activity) 16%, transparent)}.unit{font-family:var(--font);font-weight:400;font-size:var(--fs-footnote);letter-spacing:0;color:var(--muted)}.progress-note{color:var(--muted);margin:8px 16px 0}.progress-note--solo{margin:0 16px}.week-bars{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.week-bar-col{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.week-bar-count{font-size:var(--fs-callout);line-height:var(--lh-callout);color:var(--text)}.week-bar-track{background:var(--fill);border-radius:7px;align-items:flex-end;width:14px;height:88px;display:flex;overflow:hidden}.week-bar-fill{background:var(--ring-accent);width:100%;transition:height var(--dur-sheet) var(--ease-out);border-radius:7px}.week-bar-label{color:var(--muted);text-align:center;white-space:nowrap}.load-row{flex-wrap:wrap;row-gap:4px;padding-top:12px;padding-bottom:12px}.load-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.load-label{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body)}.load-vs{color:var(--muted)}.load-side{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.load-value{font-size:var(--fs-headline);line-height:var(--lh-headline);white-space:nowrap}.load-row .load-chip{font-size:var(--fs-caption);line-height:var(--lh-caption);background:var(--fill);color:var(--muted);padding:2px 8px}.load-row .load-chip--steady{background:var(--accent-dim);color:var(--accent-ink)}.load-row .load-chip--ramping{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn-ink)}.load-status-text{color:var(--muted);flex:0 0 100%;padding-left:44px}.pr-main{flex-direction:column;flex:1;min-width:0;display:flex}.pr-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pr-kind{color:var(--muted)}.pr-side{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.pr-value{font-size:var(--fs-headline);line-height:var(--lh-headline)}.pr-date{color:var(--muted)}.lifts-header .lifts-count{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:0;color:var(--muted);font-weight:400}.progress-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;padding:32px 24px 24px;display:flex}.progress-empty .spinner{margin-bottom:12px}.progress-empty-icon{background:var(--fill);width:64px;height:64px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.progress-empty-icon svg{width:30px;height:30px}.progress-empty-title{color:var(--text);margin:0 0 4px}.progress-empty-copy{max-width:30ch;color:var(--muted);margin:0 0 20px}.muscle-group+.muscle-group .section-header--group{margin-top:20px}.section-header--group{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline);margin:16px 0 8px}.section-header--group h3{font:inherit;letter-spacing:inherit;margin:0}.muscle-group-add{min-height:32px;padding:0 0 0 12px}.lifts-header{margin-bottom:0}.muscle-lift-row{padding-top:10px;padding-bottom:10px}.muscle-lift-main{flex-direction:column;flex:1;min-width:0;display:flex}.muscle-lift-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.muscle-lift-nums{color:var(--muted);font-variant-numeric:tabular-nums}.muscle-lift-updated{color:var(--muted)}.lift-trend{color:var(--muted);white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.lift-trend-arrow{font-size:var(--fs-callout);font-weight:700}.lift-trend-label{font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.lift-trend.status-up{color:var(--accent-ink)}.lift-trend.status-down{color:var(--danger)}.section-meta{font-size:var(--fs-footnote);color:var(--muted)}.lift-progress-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin:0 0 2px;font-size:.68rem;font-weight:800}.lift-delta-banner{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.lift-delta-banner.status-up{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.lift-delta-banner.status-down{background:var(--danger-dim);border-color:color-mix(in srgb, var(--danger) 28%, transparent)}.lift-delta-arrow{text-align:center;width:1.4rem;font-size:1.6rem;font-weight:800;line-height:1}.lift-delta-banner.status-up .lift-delta-arrow{color:var(--accent-ink,var(--accent))}[data-theme=dark] .lift-delta-banner.status-up .lift-delta-arrow{color:var(--accent)}.lift-delta-banner.status-down .lift-delta-arrow{color:var(--danger)}.lift-delta-label{letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.lift-delta-sub{color:var(--muted-2);margin-top:2px;font-size:.72rem;font-weight:600}.lift-compare-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.lift-compare-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px 12px 10px}.lift-compare-card--prev{opacity:.88}.lift-compare-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-bottom:6px;font-size:.62rem;font-weight:800}.lift-compare-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--text);font-size:.95rem;font-weight:600;line-height:1.25}.lift-compare-meta{color:var(--muted-2);margin-top:6px;font-size:.7rem;font-weight:600}.lift-chart-block{margin-bottom:12px}.lift-chart{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;align-items:flex-end;gap:6px;min-height:120px;margin-top:8px;padding:12px 8px 8px;display:flex;overflow-x:auto}.lift-chart-col{flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:28px;display:flex}.lift-chart-track{justify-content:center;align-items:flex-end;width:100%;height:72px;display:flex}.lift-chart-bar{background:linear-gradient(180deg, var(--accent), #9fc412);width:70%;max-width:22px;min-height:4px;transition:height .28s var(--ease-out);border-radius:6px 6px 3px 3px}.lift-chart-vol{font-family:var(--font-num);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.65rem;font-weight:600}.lift-chart-date{color:var(--muted-2);white-space:nowrap;font-size:.58rem;font-weight:600}.stepper{background:var(--fill);border-radius:9px;align-items:center;gap:2px;padding:2px;display:inline-flex}.stepper-btn{width:36px;height:32px;color:var(--accent-ink);transition:transform var(--dur-press) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border-radius:7px;place-items:center;font-size:1.25rem;font-weight:500;line-height:1;display:grid}.stepper-btn:active{background:var(--fill);transform:scale(.94)}.stepper-input{width:52px;min-width:0;color:var(--text);font-size:var(--fs-headline);text-align:center;appearance:textfield;background:0 0;border:none;outline:none;padding:0}.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-input:focus-visible{background:var(--fill);border-radius:6px;outline:none}.stepper-input::placeholder{color:var(--muted-2)}.stepper--weight .stepper-input{width:64px}.set-row{gap:8px}.set-row .list-row-label{flex:auto;min-width:52px}.set-row-load{min-width:58px;color:var(--muted);font-size:var(--fs-footnote);text-align:right;white-space:nowrap;flex:none;font-weight:500}.set-row-remove{width:28px;height:28px;color:var(--danger);transition:opacity var(--dur-fast) var(--ease-out);flex:none;place-items:center;margin-right:-6px;display:grid}.set-row-remove svg,.set-add-row svg{fill:currentColor;width:22px;height:22px}.set-row-remove:disabled{opacity:.25;cursor:not-allowed}.sheet .set-add-row{color:var(--accent-ink);justify-content:flex-start;gap:10px}.lift-summary{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:2px;margin-bottom:20px;padding:12px 16px;display:flex}.lift-summary-muscle{color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-caption)}.lift-summary-name{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline)}.lift-summary:not(.is-ready) .lift-summary-name{color:var(--muted)}.lift-summary-nums{color:var(--c-strength);font-size:var(--fs-subhead);font-weight:600;line-height:var(--lh-subhead)}.lift-prev-note{color:var(--muted);font-size:var(--fs-footnote);line-height:var(--lh-footnote);margin:-8px 4px 20px}.lift-prev-note .num{color:var(--text);font-weight:600}.lp-muted{color:var(--muted)}.lp-delta{font-size:var(--fs-subhead);line-height:var(--lh-subhead);align-items:center;gap:6px;margin-top:10px;display:inline-flex}.lp-delta-arrow{color:var(--muted);font-weight:700}.lp-delta--up .lp-delta-arrow{color:var(--accent-ink)}.lp-delta--down .lp-delta-arrow{color:var(--danger)}.lp-delta-label{font-weight:600}.lp-delta-sub{color:var(--muted)}.lp-pair,.lp-bests{gap:8px;margin-bottom:20px;display:grid}.lp-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-bests{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.lp-tile{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:2px;min-width:0;padding:12px;display:flex}.lp-tile-label{color:var(--muted);font-size:var(--fs-footnote);line-height:var(--lh-footnote)}.lp-tile-value{font-size:var(--fs-subhead);line-height:var(--lh-subhead);overflow-wrap:anywhere;font-weight:600}.lp-tile-num{font-size:var(--fs-title2);line-height:var(--lh-title2);color:var(--text);flex-wrap:wrap;align-items:baseline;column-gap:4px;margin-top:2px;display:flex}.lp-tile-num small{color:var(--muted);font-family:var(--font);font-size:var(--fs-footnote);letter-spacing:0;font-weight:400}.lp-tile-meta{min-height:1.33em;color:var(--muted);font-size:var(--fs-caption);line-height:var(--lh-caption)}.lp-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;padding:0 4px;display:flex}.lp-head-solo{margin-bottom:8px;padding:0 4px}.lp-1rm{color:var(--c-strength);font-size:var(--fs-headline)}.lp-bars{border-radius:var(--radius);background:var(--surface-2);align-items:stretch;gap:6px;padding:12px 12px 8px;display:flex}.lp-bar-col{flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;display:flex}.lp-bar-track{align-items:flex-end;width:100%;height:84px;display:flex}.lp-bar{background:var(--c-strength);border-radius:4px 4px 2px 2px;width:100%;min-height:4px}.lp-bar-col:last-child .lp-bar{opacity:1}.lp-bar-col:not(:last-child) .lp-bar{opacity:.55}.lp-bar-vol{letter-spacing:-.04em;white-space:nowrap;max-width:100%;font-size:.625rem;font-weight:600}.lp-bar-date{color:var(--muted);font-size:var(--fs-caption);white-space:nowrap;align-self:stretch;line-height:1.2}.lp-bar-date[data-edge=start]{text-align:left}.lp-bar-date[data-edge=end]{text-align:right}.lp-spark{border-radius:var(--radius);background:var(--surface-2);padding:14px 16px}.lp-spark .sparkline{--tone:var(--c-strength)}.lp-spark .sparkline-dot{box-shadow:0 0 0 3px var(--surface-2)}.lp-updated{margin:-4px 4px 20px}.card,.health-card,.settings-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:none;padding:16px}button.card,button.health-card,button.settings-card{text-align:left;width:100%;color:inherit;display:block}.section-header{font-size:var(--fs-title3);line-height:var(--lh-title3);font-weight:var(--fw-title3);letter-spacing:var(--ls-title3);justify-content:space-between;align-items:baseline;gap:12px;margin:24px 0 8px;display:flex}.section-header a,.section-header button,.section-header-link{font-size:var(--fs-subhead);line-height:var(--lh-subhead);letter-spacing:var(--ls-subhead);color:var(--accent-ink);font-weight:400;text-decoration:none}.list-group{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.list-row{text-align:left;width:100%;min-height:44px;color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;text-decoration:none;display:flex;position:relative}.list-row+.list-row:after{content:"";background:var(--separator);transform-origin:top;pointer-events:none;height:1px;position:absolute;top:0;left:16px;right:0;transform:scaleY(.5)}.list-row-label{flex:1;min-width:0}.list-row-value{color:var(--muted);text-align:right}.list-row--nav:before{content:"";border-top:2px solid var(--muted-2);border-right:2px solid var(--muted-2);box-sizing:border-box;flex:none;order:3;width:8px;height:8px;margin-left:4px;margin-right:2px;transform:rotate(45deg)scale(.85)}button.list-row:active,a.list-row:active{background:var(--fill);transform:none}@media (hover:hover) and (pointer:fine){button.list-row:hover,a.list-row:hover{background:var(--fill)}}.segmented,.mode-seg{background:var(--fill);border:none;border-radius:9px;gap:0;padding:2px;display:inline-flex}.segmented--full{width:100%;display:flex}.segmented button,.mode-seg button{min-height:28px;font-size:var(--fs-subhead);line-height:var(--lh-subhead);letter-spacing:var(--ls-subhead);color:var(--text);box-shadow:none;white-space:nowrap;text-align:center;background:0 0;border-radius:7px;flex:1 1 0;padding:4px 12px;font-weight:600}.segmented button.active,.segmented button[aria-pressed=true],.segmented button[aria-selected=true],.mode-seg button.active{background:var(--surface-3);color:var(--text)}[data-theme=light] .segmented button.active,[data-theme=light] .segmented button[aria-pressed=true],[data-theme=light] .segmented button[aria-selected=true],[data-theme=light] .mode-seg button.active{background:#fff;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.chip,.badge,.tag{background:var(--fill);color:var(--muted);font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);text-transform:none;border:none;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.chip--accent,.badge.done{background:var(--accent-dim);color:var(--accent-ink)}.chip--button{cursor:pointer}.rec-card--error small,.body-section-error small{font-size:var(--fs-caption);color:var(--muted-2);margin-top:2px;display:block}.home-greeting{margin:0}.home-date{margin-bottom:4px}.home-greeting .page-title{text-wrap:balance;margin-top:2px}.section-header h2{font:inherit;letter-spacing:inherit;margin:0}.section-header-note{font-size:var(--fs-subhead);line-height:var(--lh-subhead);letter-spacing:var(--ls-subhead);color:var(--muted);font-weight:400}.home-page .section-header button,.body-page .section-header button{position:relative}.home-page .section-header button:after,.body-page .section-header button:after{content:"";position:absolute;inset:-12px -8px}.home-hero{flex-direction:column;gap:16px;display:flex}.home-hero-top{flex-wrap:wrap;align-items:center;gap:16px 20px;display:flex}.goal-ring-wrap{flex:none;line-height:0;position:relative}.home-hero-stats{flex-direction:column;flex:150px;gap:10px;min-width:0;display:flex}.home-goal-hit{margin:0}.home-stat{flex-direction:column;gap:4px;display:flex}.home-stat-value{flex-wrap:wrap;align-items:baseline;gap:0 6px;min-width:0;display:flex}.home-stat-value .t-display{color:var(--text)}.home-stat-unit{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);white-space:nowrap}.home-hero-note{color:var(--muted)}.home-hero-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-status{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);align-items:center;gap:8px;display:inline-flex}.home-status.done{color:var(--text)}.status-dot{background:var(--muted-2);border-radius:50%;flex:none;width:8px;height:8px}.home-status.done .status-dot{background:var(--ring-accent)}.home-hero-foot .btn-sm{position:relative}.home-hero-foot .btn-sm:after{content:"";position:absolute;inset:-5px -4px}.week-strip{border-top:1px solid var(--separator);grid-template-columns:repeat(7,1fr);gap:2px;padding-top:12px;display:grid}.week-day{min-height:56px;color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding:2px 0;display:flex}.week-day-label{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);font-weight:600}.week-day .n{background:var(--fill);width:34px;height:34px;color:var(--text);font-size:var(--fs-subhead);border-radius:50%;place-items:center;line-height:1;display:grid}.week-day.logged .n{background:var(--ring-accent);color:var(--accent-text)}.week-day.today .week-day-label{color:var(--text)}.week-day.today .n{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--muted)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px 0;display:grid}.metric{flex-direction:column;gap:4px;min-width:0;padding:0 16px;display:flex}.metric+.metric{border-left:1px solid var(--separator)}.metric .label{white-space:nowrap}.metric .num{font-size:var(--fs-title1);color:var(--text);line-height:1.1}.heatmap-card{flex-direction:column;gap:12px;display:flex}.heatmap-card .segmented{align-self:flex-start}.heatmap-wrap{overflow-x:auto}.heatmap{gap:4px;max-width:520px;display:flex}.heatmap-col{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.heatmap-cell{aspect-ratio:1;background:var(--fill);border-radius:4px;width:100%}.heatmap-cell.l1{background:#c8f1354d}.heatmap-cell.l2{background:#c8f1359e}.heatmap-cell.l3{background:var(--accent)}.heatmap-legend{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);align-items:center;gap:4px;display:flex}.heatmap-legend .swatch{background:var(--fill);border-radius:4px;width:12px;height:12px}.heatmap-legend .swatch:first-of-type{margin-left:4px}.heatmap-legend .swatch:last-of-type{margin-right:4px}.heatmap-legend .swatch.l1{background:#c8f1354d}.heatmap-legend .swatch.l2{background:#c8f1359e}.heatmap-legend .swatch.l3{background:var(--accent)}.logs-grid{display:block}.logs-grid:not(.list-group){background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.log-card{animation:fade-up var(--dur-ui) var(--ease-out) both;animation-delay:var(--stagger,0s);gap:12px;padding-top:12px;padding-bottom:12px}.log-card-media{background:var(--fill);border-radius:12px;flex:none;width:56px;height:56px;overflow:hidden}.log-card-media img{object-fit:cover;width:100%;height:100%}.log-card-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.log-card-date{color:var(--muted)}.log-card-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.log-card-detail,.log-card-extras{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.log-card-side{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.log-card-duration{font-size:var(--fs-headline);line-height:var(--lh-headline);color:var(--text);white-space:nowrap}.log-card-kcal{color:var(--muted);white-space:nowrap}.log-card-kcal .num{font-weight:600}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--fill);color:var(--muted);font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:0;text-transform:none;border:none;border-radius:999px;padding:3px 10px;font-weight:600}.tag.type{background:var(--accent-dim);color:var(--accent-ink)}.tag.meal{background:var(--ice-dim);color:var(--ice)}.empty{text-align:center;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:center;padding:40px 24px;display:flex}.empty-mark{background:var(--fill);width:64px;height:64px;font-family:var(--font-num);color:var(--muted);border:none;border-radius:50%;place-items:center;margin:0 auto 16px;font-size:1.4rem;font-weight:700;display:grid}.empty-mark svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.empty h3{font-size:var(--fs-title3);line-height:var(--lh-title3);font-weight:var(--fw-title3);letter-spacing:var(--ls-title3);margin-bottom:4px}.empty p{max-width:30ch;font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);margin:0 auto 20px}.empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.btn-rest{border-style:none}.log-card--rest .log-card-title{color:var(--muted);font-weight:400}.log-card--rest .log-card-date,.log-card--rest .log-card-detail{color:var(--muted)}.log-card--rest .log-card-media{opacity:.6}.log-card--rest{padding-top:10px;padding-bottom:10px}.cal-card{padding:8px 12px 16px}.sheet--calendar .cal-card{margin:0}.cal-nav{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.cal-month{text-align:center;min-width:0}.cal-nav .btn-icon{color:var(--accent-ink);background:0 0}.cal-nav .btn-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:2px;display:grid}.cal-dow{text-align:center;color:var(--muted);padding-bottom:6px;font-weight:600}.cal-cell{min-height:48px;color:var(--text);background:0 0;border:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;padding:2px 0 0;display:flex}.cal-cell.filler{pointer-events:none}.cal-day{width:36px;height:36px;font-size:var(--fs-body);letter-spacing:0;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:50%;place-items:center;font-weight:500;line-height:1;display:grid}.cal-dot{background:0 0;border-radius:50%;width:5px;height:5px}.cal-cell--session .cal-dot{background:var(--ring-accent)}.cal-cell--rest .cal-dot{background:var(--muted-2)}.cal-cell--rest .cal-day{color:var(--muted)}.cal-cell.selected .cal-day{background:var(--fill);font-weight:700}.cal-cell.today .cal-day{background:var(--accent);color:var(--accent-text);font-weight:700}.cal-cell.today.selected .cal-day{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.cal-day-panel{border-top:1px solid var(--separator);margin:12px 4px 0;padding-top:12px}.cal-day-panel h3{margin:0 0 4px}.cal-day-empty p{color:var(--muted);margin-bottom:12px}.cal-day-item{text-align:left;width:100%;min-height:52px;color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex;position:relative}.cal-day-item+.cal-day-item:before{content:"";background:var(--separator);transform-origin:top;height:1px;position:absolute;top:0;left:0;right:0;transform:scaleY(.5)}.cal-day-item:after{content:"";border-top:2px solid var(--muted-2);border-right:2px solid var(--muted-2);flex:none;width:8px;height:8px;margin-right:4px;transform:rotate(45deg)scale(.85)}.cal-day-item-main{flex-direction:column;flex:1;min-width:0;display:flex}.cal-day-item-meta{color:var(--muted)}.sheet-root{z-index:100;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-scrim{touch-action:none;background:#0006;position:absolute;inset:0}.sheet{--sheet-bg:var(--surface);background:var(--sheet-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:560px;max-height:min(92dvh,860px);box-shadow:var(--sheet-shadow);color:var(--text);will-change:transform;outline:none;flex-direction:column;display:flex;position:relative}[data-theme=light] .sheet{--sheet-bg:var(--bg-elevated)}.sheet:after{content:"";background:var(--sheet-bg);pointer-events:none;height:160px;position:absolute;top:100%;left:0;right:0}.sheet-grab{touch-action:none;-webkit-user-select:none;user-select:none;background:var(--sheet-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0;cursor:grab;flex:none;padding-top:5px;position:relative}.sheet-grab:after{content:"";background:var(--separator);transform-origin:bottom;opacity:0;height:1px;transition:opacity var(--dur-fast) var(--ease-out);pointer-events:none;position:absolute;bottom:0;left:0;right:0;transform:scaleY(.5)}.sheet-grab[data-scrolled]:after{opacity:1}.sheet-grabber{background:var(--muted-2);border-radius:3px;width:36px;height:5px;margin:0 auto;display:block}.sheet-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:0 8px;display:grid}.sheet-header-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:62vw;margin:0;overflow:hidden}.sheet-header-side{align-items:center;min-width:0;display:flex}.sheet-header-side--start{justify-content:flex-start}.sheet-header-side--end{justify-content:flex-end}.sheet-action{min-height:44px;font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-body);letter-spacing:var(--ls-body);color:var(--accent-ink);white-space:nowrap;transition:opacity var(--dur-fast) var(--ease-out);padding:0 10px}.sheet-action--primary{font-size:var(--fs-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline)}.sheet-action--danger{color:var(--danger)}.sheet-action:active:not(:disabled){opacity:.5}.sheet-action:disabled{opacity:.4;cursor:not-allowed}.sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:8px 16px calc(24px + var(--safe-bottom));flex:auto;overflow:hidden auto}.sheet--has-footer .sheet-scroll{padding-bottom:20px}.sheet-footer{padding:12px 16px calc(12px + var(--safe-bottom));background:var(--sheet-bg);flex:none;position:relative}.sheet-footer:before{content:"";background:var(--separator);transform-origin:top;pointer-events:none;height:1px;position:absolute;top:0;left:0;right:0;transform:scaleY(.5)}.sheet-footer-actions{gap:10px;display:flex}.sheet-footer-actions .sheet-footer-main{flex:1}.sheet .list-group,.sheet .sheet-card{background:var(--surface-2);box-shadow:none}.sheet-section{margin-bottom:20px}.sheet-label{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);color:var(--muted);margin:0 0 6px;padding:0 4px}.sheet-hint{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);color:var(--muted);margin:6px 0 0;padding:0 4px}.sheet-note{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);margin:0 0 12px}.sheet-note[data-ok=true]{color:var(--accent-ink)}.sheet-error{border-radius:var(--radius-sm);background:var(--danger-dim);color:var(--danger);font-size:var(--fs-subhead);line-height:var(--lh-subhead);margin:0 0 16px;padding:10px 14px}.sheet-card{border-radius:var(--radius);padding:12px 16px}.sheet-card p{font-size:var(--fs-body);line-height:var(--lh-body);white-space:pre-wrap}.sheet-title-block{margin:4px 4px 16px}.sheet-title-block .t-subhead{color:var(--muted);margin-top:2px}.sheet .field{margin-bottom:20px}.sheet .field label{padding:0 4px}.sheet .field input,.sheet .field textarea,.sheet .field select{border-radius:var(--radius);padding:11px 16px}.list-row-input{min-width:0;min-height:24px;color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body);text-align:right;appearance:none;background:0 0;border:none;outline:none;flex:1;padding:0}.list-row-input::placeholder{color:var(--muted-2)}.list-row-input:focus-visible{outline:none}.sheet .list-row:focus-within{background:var(--fill)}.list-row-unit{color:var(--muted);flex:none}.row-inline{align-items:center;gap:6px;display:inline-flex}.sheet-select{background-color:var(--fill);min-width:44px;color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body);text-align:left;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23888' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border:none;border-radius:8px;outline:none;padding:5px 24px 5px 12px}.sheet-select:focus-visible{outline:2px solid var(--accent-ink)}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.sheet-chip{min-height:36px;font-size:var(--fs-subhead);line-height:var(--lh-subhead);letter-spacing:var(--ls-subhead);color:var(--text);cursor:pointer;padding:6px 14px}.sheet-chip[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.sheet-chip--small{min-height:30px;font-size:var(--fs-footnote);padding:4px 12px}.sheet-chip--muted{color:var(--muted)}.sheet-chip__meta{font-size:var(--fs-caption);opacity:.6;font-weight:600}.metric-chips{flex-wrap:wrap;gap:6px;display:flex}.metric-chip{--mc:var(--muted);background:color-mix(in srgb, var(--mc) 16%, transparent);color:var(--text);font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.metric-chip:before{content:"";background:var(--mc);border-radius:50%;width:6px;height:6px}.metric-chip--heart{--mc:var(--c-heart)}.metric-chip--activity{--mc:var(--c-activity)}.metric-chip--strength{--mc:var(--c-strength)}.sheet-steps{margin:4px 0 20px}.sheet-step-head{margin:0 4px 16px}.sheet-step-head p{color:var(--muted);margin-top:2px}.sheet-pane{animation:sheet-pane-forward .28s var(--ease-out) both}.sheet-pane--back{animation-name:sheet-pane-back}@keyframes sheet-pane-forward{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0,0)}}@keyframes sheet-pane-back{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){.sheet-pane,.sheet-pane--back{animation:none}}.sheet-workout{align-items:flex-start}.sheet-workout-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.sheet-workout-sub{color:var(--muted);font-size:var(--fs-footnote);line-height:var(--lh-footnote)}button.list-row:disabled{opacity:.5;cursor:not-allowed}.list-row-trail{font-size:var(--fs-subhead);color:var(--accent-ink);flex:none;align-self:center;font-weight:600}.list-row-trail--muted{color:var(--muted);font-weight:400}.sheet-icon-btn{width:32px;height:32px;color:var(--muted-2);border-radius:50%;flex:none;align-self:center;place-items:center;margin-right:-6px;display:grid}.sheet-icon-btn svg{fill:currentColor;width:22px;height:22px}.sheet-icon-btn:active{color:var(--muted)}.sheet-banner{border-radius:var(--radius);background:var(--surface-2);color:var(--muted);font-size:var(--fs-subhead);line-height:var(--lh-subhead);margin:0 0 20px;padding:12px 16px}.sheet-summary-line{color:var(--muted);font-size:var(--fs-footnote);line-height:var(--lh-footnote);margin-top:10px;padding:0 4px}.sheet-summary-line strong{color:var(--text);font-weight:600}.sheet-photo-add{position:relative}.sheet-photo-add input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.sheet-photo-add.is-drag .list-row{background:var(--fill)}.sheet-photo-add .list-row{min-height:56px}.photo-preview{border-radius:var(--radius-lg);background:var(--surface-2);margin-bottom:8px;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:220px}.photo-preview--portrait{aspect-ratio:3/4;width:min(100%,240px);max-height:320px;margin-left:auto;margin-right:auto}.photo-preview--portrait img{object-fit:cover;width:100%;height:100%;max-height:none}.photo-preview .remove{z-index:2;background:var(--photo-remove-bg);color:#fff;font-size:var(--fs-footnote);border-radius:999px;padding:5px 12px;font-weight:600;position:absolute;top:8px;right:8px}.photo-size-badge{z-index:2;color:#fff;font-size:var(--fs-caption);background:#000000a6;border-radius:999px;padding:3px 10px;font-weight:600;position:absolute;bottom:8px;left:8px}.review-photo{border-radius:var(--radius);max-height:180px;margin-top:12px;overflow:hidden}.review-photo img{object-fit:cover;width:100%;height:180px}.sheet-review-label{width:60px;color:var(--muted);font-size:var(--fs-subhead);flex:none}.sheet-review-value{text-align:right;overflow-wrap:anywhere;flex:1;min-width:0}.sheet-danger-row{color:var(--danger);justify-content:center;font-weight:400}.sheet-danger-row[data-confirm=true]{font-weight:600}.detail-hero{border-radius:var(--radius-lg);background:var(--surface-2);margin:0 0 16px;overflow:hidden}.detail-hero img{object-fit:cover;width:100%;max-height:300px}.detail-meta{color:var(--muted);margin-top:2px}.detail-focus-note{color:var(--muted);margin-top:8px}.detail-chips{flex-wrap:wrap;gap:6px;display:flex}.sheet-review-value .metric-chips{justify-content:flex-end}.auth-screen{background:var(--bg);grid-template-columns:1fr;min-height:100dvh;display:grid}@media (width>=900px){.auth-screen{grid-template-columns:1.05fr 1fr}}.auth-brand{background:var(--bg-elevated);flex-direction:column;justify-content:space-between;gap:32px;min-height:100dvh;padding:44px 48px 40px;display:none;position:relative}@media (width>=900px){.auth-brand{display:flex}}.auth-brand-mark{font-family:var(--font-brand);letter-spacing:.08em;color:var(--accent-ink);font-size:2rem;font-weight:400;line-height:1}.auth-brand-mark span{color:var(--text)}.auth-brand-kicker{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);margin:10px 0 0}.auth-brand-mid{flex-direction:column;gap:28px;width:100%;display:flex}.auth-brand-rule{display:none}.auth-brand-headline{letter-spacing:-.03em;color:var(--text);margin:0 0 16px;font-size:clamp(2.5rem,4.4vw,4rem);font-weight:700;line-height:1.1}.auth-brand-headline .auth-brand-line{white-space:nowrap;display:block}.auth-brand-headline .auth-brand-line--accent{color:var(--accent-ink)}.auth-brand-sub{max-width:36ch;color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);display:block}.auth-proof-chips{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.auth-proof-chips li{background:var(--fill);color:var(--muted);font-size:var(--fs-footnote);line-height:var(--lh-footnote);border-radius:999px;padding:4px 12px;font-weight:600}.auth-brand-credit{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);flex-direction:column;align-items:flex-start;gap:8px;display:flex}.auth-brand-home-link,.auth-site-link{min-height:44px;color:var(--accent-ink);font-size:var(--fs-body);line-height:var(--lh-body);transition:opacity var(--dur-fast) var(--ease-out);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.auth-brand-home-link{min-height:0;font-size:var(--fs-footnote)}.auth-brand-home-link:active,.auth-site-link:active{opacity:.4}.auth-site-link svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:18px}.auth-form-side{padding:calc(var(--safe-top) + 8px) 16px 32px;background:var(--bg);align-content:start;place-items:start center;min-height:100dvh;display:grid}@media (width>=900px){.auth-form-side{align-content:center;place-items:center}}.auth-form-wrap{width:100%;max-width:400px}.auth-form-wrap .theme-auth-row{margin-bottom:8px}.auth-card{width:100%;animation:fade-up var(--dur-page) var(--ease-out) both;position:relative}.auth-logo-mobile{font-family:var(--font-brand);letter-spacing:.08em;color:var(--accent-ink);text-align:center;margin:40px 0 20px;font-size:3.5rem;font-weight:400;line-height:1}.auth-logo-mobile span{color:var(--text)}@media (width>=900px){.auth-logo-mobile{display:none}}.auth-card-head{text-align:center;margin-bottom:28px}.auth-card-title{font-size:var(--fs-title2);line-height:var(--lh-title2);font-weight:var(--fw-title2);letter-spacing:var(--ls-title2);color:var(--text);margin:0 0 4px}.auth-tag{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);margin:0}.auth-form .list-group{margin-bottom:20px}.auth-row{cursor:text;transition:background-color var(--dur-fast) var(--ease-out)}.auth-row:focus-within{background:var(--fill)}.auth-row-label{width:6.5rem;color:var(--text);flex:none}.auth-row input{min-width:0;min-height:22px;color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);appearance:none;caret-color:var(--accent-ink);background:0 0;border:none;outline:none;flex:1 1 0;padding:0}.auth-row input::placeholder{color:var(--muted-2)}.auth-link{width:100%;min-height:44px;color:var(--accent-ink);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);text-align:center;transition:opacity var(--dur-fast) var(--ease-out);margin-top:4px;padding:0 8px;display:block}.auth-link:active:not(:disabled){opacity:.4}.auth-link:disabled{opacity:.4;cursor:default}.auth-link--inline{width:auto;min-height:0;font-size:inherit;line-height:inherit;margin:0;padding:0;display:inline}.auth-switch{text-align:center;font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);margin-top:16px}.auth-credit-mobile{text-align:center;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);margin-top:8px;display:block}.auth-credit-link{color:inherit;text-underline-offset:3px;text-decoration:none}@media (hover:hover) and (pointer:fine){.auth-credit-link:hover{color:var(--accent-ink);text-decoration:underline}}@media (width>=900px){.auth-credit-mobile{display:none}}.auth-error{background:var(--danger-dim);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--fs-footnote);line-height:var(--lh-footnote);border:none;margin-bottom:16px;padding:10px 14px}.auth-footer{text-align:center;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);margin-top:28px}.config-banner{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--warn) 16%, transparent);width:100%;color:var(--warn-ink);font-size:var(--fs-footnote);line-height:var(--lh-footnote);margin:0 auto 16px;padding:10px 14px}.confirm-panel{text-align:center;animation:scale-in .24s var(--ease)}.confirm-icon{background:var(--fill);width:56px;height:56px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.confirm-icon svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.confirm-title{font-size:var(--fs-title3);line-height:var(--lh-title3);font-weight:var(--fw-title3);letter-spacing:var(--ls-title3);margin-bottom:8px}.confirm-body{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);margin-bottom:20px}.confirm-email{color:var(--text);word-break:break-all;font-weight:600}.confirm-steps{text-align:left;background:var(--surface);border-radius:var(--radius);color:var(--muted);font-size:var(--fs-subhead);line-height:var(--lh-subhead);margin:0 0 20px;padding:14px 16px 14px 36px}.confirm-steps li{margin-bottom:6px}.confirm-steps li:last-child{margin-bottom:0}.confirm-success{background:var(--accent-dim);color:var(--accent-ink);border-radius:var(--radius-sm);font-size:var(--fs-footnote);line-height:var(--lh-footnote);margin-bottom:16px;padding:10px 14px}.link-btn{color:var(--accent-ink);text-underline-offset:2px;cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.theme-seg{background:var(--fill);border-radius:9px;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:12px;padding:2px;display:grid}.theme-seg button{min-height:28px;font-size:var(--fs-subhead);line-height:var(--lh-subhead);letter-spacing:var(--ls-subhead);color:var(--text);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:7px;padding:4px 6px;font-weight:600}.theme-seg button.active{background:var(--surface-3);color:var(--text)}[data-theme=light] .theme-seg button.active{background:#fff;box-shadow:0 3px 8px #0000001f,0 3px 1px #0000000a}.theme-icon-btn{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--muted);place-items:center;transition:border-color .14s,color .14s,background .14s;display:grid}.theme-icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.theme-icon-btn svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.theme-auth-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.filter-row{scrollbar-width:none;gap:8px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-chip{background:var(--fill);min-height:32px;color:var(--text);font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);text-transform:none;border:none;border-radius:999px;flex-shrink:0;padding:4px 14px;font-weight:600}.filter-chip.active{background:var(--accent);color:var(--accent-text)}.search-input{background:var(--fill);border-radius:var(--radius-sm);width:100%;min-height:44px;font-size:var(--fs-body);line-height:var(--lh-body);border:none;outline:none;margin-bottom:12px;padding:10px 14px}.search-input::placeholder{color:var(--muted)}.search-input:focus{outline:2px solid var(--accent-ink);outline-offset:0}.toast{top:calc(var(--safe-top) + 8px);z-index:200;background:var(--material-bar);max-width:min(90vw,360px);-webkit-backdrop-filter:var(--material-filter);backdrop-filter:var(--material-filter);border:1px solid var(--border);color:var(--text);font-size:var(--fs-subhead);line-height:var(--lh-subhead);letter-spacing:var(--ls-subhead);text-align:center;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-out), transform .25s var(--ease-out);border-radius:999px;padding:10px 18px;font-weight:600;position:fixed;left:50%;transform:translate(-50%,-16px);box-shadow:0 6px 24px #0000002e}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{color:var(--danger)}.boot-screen{background:var(--bg);place-items:center;gap:16px;min-height:100dvh;display:grid}.spinner{border:3px solid var(--fill);border-top-color:var(--accent-ink);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes metrics-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-pop{0%{opacity:0;transform:scale(.94)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.cal-day-panel,.heatmap-card,.boot-screen .logo{animation:fade-up var(--dur-ui) var(--ease-out) both}.boot-screen .spinner{animation:spin .7s linear infinite, fade-in .3s var(--ease-out) both}@property --ring-p{syntax:"<number>";inherits:true;initial-value:0}@property --ring-end{syntax:"<number>";inherits:true;initial-value:0}.ring{--ring-color:var(--ring-accent);--ring-start:color-mix(in srgb, var(--ring-color) 68%, #000);--ring-track-alpha:18%;--ring-size:96px;--ring-w:12px;animation:ring-sweep .7s var(--ease-out) both;flex:none;position:relative}[data-theme=light] .ring{--ring-track-alpha:14%}.ring[data-tone=accent]{--ring-color:var(--ring-accent)}.ring[data-tone=heart]{--ring-color:var(--c-heart)}.ring[data-tone=sleep]{--ring-color:var(--c-sleep)}.ring[data-tone=strength]{--ring-color:var(--c-strength)}.ring[data-tone=activity]{--ring-color:var(--c-activity)}.ring[data-tone=warn]{--ring-color:var(--warn)}.ring[data-tone=danger]{--ring-color:var(--danger)}.ring-track,.ring-arc{-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-w) - .5px), #000 calc(100% - var(--ring-w) + .5px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-w) - .5px), #000 calc(100% - var(--ring-w) + .5px));mask:radial-gradient(farthest-side, transparent calc(100% - var(--ring-w) - .5px), #000 calc(100% - var(--ring-w) + .5px));border-radius:50%;position:absolute;inset:0}.ring-track{background:color-mix(in srgb, var(--ring-color) var(--ring-track-alpha), transparent)}.ring-arc{background:conic-gradient(from 0deg, var(--ring-start) 0deg, var(--ring-color) calc(var(--ring-p) * 360deg), transparent calc(var(--ring-p) * 360deg))}.ring-dot{top:0;left:calc(50% - var(--ring-w) / 2);width:var(--ring-w);height:var(--ring-w);transform-origin:50% calc(var(--ring-size) / 2);border-radius:50%;position:absolute}.ring-dot--start{background:var(--ring-start)}.ring-dot--end{background:var(--ring-color);transform:rotate(calc(var(--ring-end) * 360deg));box-shadow:1.5px 0 3px #0000004d}.ring-center{inset:var(--ring-w);text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.ring-label{color:var(--text);font-size:calc(var(--ring-size) * var(--ring-label-scale,.26));white-space:nowrap;line-height:1}.ring-sub{font-size:max(.625rem, calc(var(--ring-size) * .12));color:var(--muted);white-space:nowrap;margin-top:2px;line-height:1.2}.ring--glow{--ring-start:color-mix(in srgb, var(--ring-color) 70%, #000)}[data-theme=light] .ring--glow{--ring-start:color-mix(in srgb, var(--ring-color) 70%, #fff)}.ring-glow{filter:blur(calc(var(--ring-w) * 1.1));opacity:var(--glow-strength);pointer-events:none;position:absolute;inset:0}.ring-label.t-display{padding-top:.04em}@keyframes ring-sweep{0%{--ring-p:0;--ring-end:0}}.tone-heart{--tone:var(--c-heart)}.tone-sleep{--tone:var(--c-sleep)}.tone-strength{--tone:var(--c-strength)}.tone-activity{--tone:var(--c-activity)}.tone-warn{--tone:var(--warn)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.dot.pulse{animation:none}.page-enter,.hero-panel,.goal-ring-wrap,.home-greeting,.metrics,.log-card,.week-day,.auth-card{opacity:1!important;animation:none!important;transform:none!important}.overlay,.sheet{transition:none!important}.overlay.is-visible .sheet,.overlay .sheet{opacity:1!important;transform:none!important}.btn:active,.btn-icon:active,.dock-slot:active,.dock-log:active,.user-chip:active,.filter-chip:active,.segmented button:active,button.card:active,a.card:active,button.health-card:active{transform:none!important}.toast{transform:translate(-50%);transition:opacity var(--dur-fast) linear!important}.topbar:before,.topbar-title{transition:opacity var(--dur-fast) linear!important}.page-layer--enter,.page-layer--exit{animation-duration:var(--dur-fast)!important}.ring{animation:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}html.theme-animating,html.theme-animating body,html.theme-animating .topbar,html.theme-animating .dock-bar,html.theme-animating .card,html.theme-animating .hero-panel,html.theme-animating .log-card{transition:none!important}}.duration-pickers{grid-template-columns:1fr 1fr;gap:12px;display:grid}.duration-pick{background:var(--surface-2);border-radius:var(--radius-sm);border:none;align-items:center;gap:8px;padding:2px 12px 2px 4px;display:flex}.duration-pick:focus-within{outline:2px solid var(--accent-ink);outline-offset:0}.duration-pick select{appearance:none;color:var(--text);font-family:var(--font-num);font-size:var(--fs-title3);font-variant-numeric:tabular-nums;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23888' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right 6px center no-repeat;border:none;outline:none;flex:1;padding:10px 22px 10px 8px;font-weight:700}.duration-unit{font-size:var(--fs-footnote);letter-spacing:0;color:var(--muted);flex-shrink:0;font-weight:400}@media (prefers-contrast:more){.field input,.field textarea,.field select,.search-input,.duration-pick,.filter-chip,.segmented,.theme-seg{border:1px solid var(--border-strong)}}@media (width>=720px){.logs-grid,.logs-grid.two-col,.logs-grid.three-col{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.logs-grid,.logs-grid.two-col,.logs-grid.three-col{grid-template-columns:repeat(3,1fr)}}.instrument,.glow-dial,.arc-gauge,:is(.instrument,.glow-dial,.arc-gauge,.t-tone)[data-tone=accent]{--tone:var(--ring-accent);--tone-ink:var(--accent-ink)}:is(.instrument,.glow-dial,.arc-gauge,.t-tone)[data-tone=heart]{--tone:var(--c-heart);--tone-ink:var(--heart-ink)}:is(.instrument,.glow-dial,.arc-gauge,.t-tone)[data-tone=sleep]{--tone:var(--c-sleep);--tone-ink:var(--sleep-ink)}:is(.instrument,.glow-dial,.arc-gauge,.t-tone)[data-tone=strength]{--tone:var(--c-strength);--tone-ink:var(--strength-ink)}:is(.instrument,.glow-dial,.arc-gauge,.t-tone)[data-tone=activity]{--tone:var(--c-activity);--tone-ink:var(--activity-ink)}:is(.instrument,.glow-dial,.arc-gauge,.t-tone)[data-tone=warn]{--tone:var(--warn);--tone-ink:var(--warn-ink)}:is(.instrument,.glow-dial,.arc-gauge,.t-tone)[data-tone=danger]{--tone:var(--danger);--tone-ink:var(--danger-ink)}.instrument{isolation:isolate;--grain-opacity:.06;position:relative;overflow:hidden}[data-theme=light] .instrument{--grain-opacity:.035}.instrument:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--tone) calc(var(--wash-strength) * 100%), transparent), transparent 70%);position:absolute;inset:0}.instrument:after{content:"";z-index:-1;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.t-display{font-family:var(--font-display);letter-spacing:.01em;font-variant-numeric:tabular-nums;font-weight:400;line-height:.88}.t-display--xl{font-size:clamp(64px,20vw,96px)}.t-display--l{font-size:48px}.t-display--m{font-size:34px}.t-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.t-eyebrow.t-tone{color:var(--tone-ink)}.arc-gauge{flex:none;max-width:100%;margin-inline:auto;display:block;position:relative}.arc-gauge__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.arc-gauge__track{stroke:color-mix(in srgb, var(--text) 10%, transparent)}.arc-gauge__glow,.arc-gauge__knob-glow{opacity:var(--glow-strength)}.arc-gauge__glow{stroke:var(--tone)}.arc-gauge__knob-glow{fill:var(--tone)}.arc-gauge__knob{fill:var(--tone);stroke:var(--surface);stroke-width:3px}.arc-gauge__stop-a{stop-color:color-mix(in srgb, var(--tone) 70%, #000)}[data-theme=light] .arc-gauge__stop-a{stop-color:color-mix(in srgb, var(--tone) 70%, #fff)}.arc-gauge__stop-b{stop-color:var(--tone)}.arc-gauge__tick{stroke:var(--text)}.arc-gauge__marker-label,.arc-gauge__end-label{fill:var(--muted);font-family:var(--font);letter-spacing:.02em;font-size:11px;font-weight:600}.arc-gauge__center{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:4px;width:100%;display:flex;position:absolute;left:0}.arc-gauge__center--mid{transform:translateY(-50%)}.arc-gauge__center--base{width:max(0px, calc(var(--gauge-size) - 2 * var(--gauge-thickness) - 24px));left:50%;transform:translate(-50%,-100%)}.arc-gauge__label{color:var(--text);font-size:var(--gauge-label-size,72px);white-space:nowrap}.arc-gauge__sub{color:var(--muted)}@media (prefers-reduced-transparency:reduce){.instrument:before,.instrument:after{display:none}}.invite-gate{text-align:center;animation:scale-in var(--dur-page) var(--ease-out) both;flex-direction:column;align-items:center;gap:8px;padding:8px 8px 0;display:flex}.invite-gate-icon{background:var(--fill);width:56px;height:56px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.invite-gate-icon svg{stroke:currentColor;fill:none;flex-shrink:0;width:26px;height:26px}.invite-gate-title{font-size:var(--fs-title3);line-height:var(--lh-title3);font-weight:var(--fw-title3);letter-spacing:var(--ls-title3);color:var(--text);margin:0}.invite-gate-body{max-width:280px;font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);margin:0 0 8px}.admin-topbar-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--muted);cursor:pointer;transition:color .14s var(--ease), border-color .14s var(--ease), background .14s var(--ease);background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.admin-topbar-btn:hover{color:var(--text);background:var(--fill)}}.admin-topbar-btn:active{transition:transform .1s var(--ease);transform:scale(.94)}.admin-topbar-btn svg{stroke:currentColor;fill:none;flex-shrink:0;width:18px;height:18px}.admin-overlay{z-index:900;background:var(--overlay-bg);animation:fade-in .18s var(--ease-out) both;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=680px){.admin-overlay{align-items:center;padding:24px}}.admin-panel{background:var(--bg-elevated);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:680px;max-height:94dvh;box-shadow:var(--sheet-shadow);flex-direction:column;animation:.3s cubic-bezier(.32,.72,0,1) both slide-up;display:flex;overflow:hidden}@media (width>=680px){.admin-panel{border-radius:var(--radius-lg);max-height:88dvh;box-shadow:var(--sheet-shadow);animation:.26s cubic-bezier(.23,1,.32,1) both admin-scale-in}}[data-theme=light] .admin-panel{background:var(--bg)}.admin-panel .field input{background:var(--surface)}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes admin-scale-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.admin-panel-header{border-bottom:1px solid var(--separator);flex-shrink:0;align-items:center;gap:10px;padding:16px 16px 14px;display:flex}.admin-panel-icon{border-radius:var(--radius-sm);background:var(--fill);width:32px;height:32px;color:var(--muted);flex-shrink:0;place-items:center;display:grid}.admin-panel-icon svg{flex-shrink:0;display:block}.admin-panel-title{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline);color:var(--text);flex:1;margin:0}.admin-close-btn{background:var(--fill);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:color .12s var(--ease), background .12s var(--ease), transform .1s var(--ease);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.admin-close-btn:hover{color:var(--text)}}.admin-close-btn:active{transform:scale(.92)}.admin-panel-tabs-container{border-bottom:1px solid var(--separator);flex-shrink:0;padding:0 16px}.admin-panel-tabs{gap:0;display:flex}.admin-panel-tab{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);cursor:pointer;transition:color .14s var(--ease), border-color .14s var(--ease);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 14px 11px;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.admin-panel-tab:hover{color:var(--text)}}.admin-panel-tab.active{color:var(--text);border-bottom-color:var(--accent-ink)}.admin-tab-badge{min-width:18px;height:18px;font-size:var(--fs-caption);background:var(--accent);color:var(--accent-text);letter-spacing:0;border-radius:20px;justify-content:center;align-items:center;padding:0 5px;font-weight:700;display:inline-flex}.admin-tab-badge--neutral{background:var(--fill);color:var(--muted)}.admin-stat-bar{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px 16px 0;display:grid}.admin-stat-bar--single{grid-template-columns:1fr}.admin-stat-card{background:var(--surface);border-radius:var(--radius);border:none;flex-direction:column;gap:3px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.admin-stat-card--expired{opacity:.6}.admin-stat-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-bottom:2px;display:block}.admin-stat-dot--pending{background:var(--warn)}.admin-stat-dot--accepted{background:var(--ring-accent)}.admin-stat-value{font-family:var(--font-num);font-size:var(--fs-title1);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);font-weight:700;line-height:1}.admin-stat-label{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted)}.admin-table-section{flex-direction:column;flex:1;gap:0;padding:16px 16px 28px;display:flex;overflow-y:auto}.admin-section-title{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);align-items:center;gap:7px;margin:0 0 8px;padding:0;font-weight:400;display:flex}.admin-section-count{min-width:18px;height:16px;font-size:var(--fs-caption);background:var(--fill);color:var(--muted);letter-spacing:0;border-radius:20px;justify-content:center;align-items:center;padding:0 5px;font-weight:600;display:inline-flex}.admin-divider{background:0 0;flex-shrink:0;height:1px;margin:16px 0}.admin-generate-section{margin-bottom:0}.admin-field-optional{color:var(--muted);opacity:.7;font-weight:400}.admin-generate-form{flex-direction:column;gap:12px;display:flex}.admin-chips-row{flex-direction:column;gap:10px;display:flex}.admin-chip-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-chip-label{font-size:var(--fs-footnote);color:var(--muted);flex-shrink:0;min-width:62px;font-weight:400}.admin-chip{font-size:var(--fs-footnote);background:var(--fill);color:var(--text);cursor:pointer;transition:background .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease), transform .1s var(--ease);white-space:nowrap;border:none;border-radius:20px;padding:5px 12px;font-weight:600}@media (hover:hover) and (pointer:fine){.admin-chip:hover{background:color-mix(in srgb, var(--fill) 70%, var(--text) 8%)}}.admin-chip:active{transform:scale(.95)}.admin-chip--active{background:var(--accent);color:var(--accent-text);border-color:#0000}.admin-generate-btn{justify-content:center;align-items:center;gap:7px;width:100%;display:inline-flex}.admin-generate-btn:active:not(:disabled){transition:transform .1s var(--ease);transform:scale(.98)}.admin-btn-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}.admin-table-wrap{border-radius:var(--radius);background:var(--surface);overflow-x:auto}.invite-table{border-collapse:collapse;width:100%;font-size:.82rem}.invite-table th{text-align:left;font-size:var(--fs-caption);color:var(--muted);border-bottom:1px solid var(--separator);white-space:nowrap;background:var(--surface);padding:8px 12px;font-weight:400}.invite-table td{border-bottom:1px solid var(--separator);color:var(--text);vertical-align:middle;padding:10px 12px}.invite-table tr:last-child td{border-bottom:none}@media (hover:hover) and (pointer:fine){.invite-table tr:hover td{background:var(--fill)}}.invite-td-code{font-family:Courier New,monospace;font-size:.78rem}.invite-td-uses,.invite-td-date,.invite-td-expiry{color:var(--muted);white-space:nowrap}.invite-td-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.invite-td-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.78rem;overflow:hidden}.invite-code-chip{background:var(--fill);border-radius:var(--radius-xs);letter-spacing:.04em;padding:2px 6px;font-family:Courier New,monospace;font-size:.75rem}.invite-no-note{color:var(--muted);opacity:.45;font-style:italic}.invite-row--revoked td,.invite-row--expired td{opacity:.45}.invite-badge{font-size:var(--fs-caption);white-space:nowrap;border:none;border-radius:20px;align-items:center;padding:3px 9px;font-weight:600;display:inline-flex}.invite-badge--pending{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn-ink)}.invite-badge--accepted,.invite-badge--active{background:var(--accent-dim);color:var(--accent-ink)}.invite-badge--expired{background:var(--fill);color:var(--muted)}.invite-badge--revoked{background:var(--danger-dim);color:var(--danger)}.invite-action-btn{border-radius:var(--radius-xs);font-size:var(--fs-footnote);background:var(--fill);color:var(--text);cursor:pointer;transition:background .12s var(--ease), border-color .12s var(--ease), transform .1s var(--ease);white-space:nowrap;border:none;align-items:center;gap:4px;padding:5px 10px;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.invite-action-btn:hover:not(:disabled){background:color-mix(in srgb, var(--fill) 70%, var(--text) 8%)}}.invite-action-btn:active:not(:disabled){transform:scale(.95)}.invite-action-btn:disabled{opacity:.4;cursor:not-allowed}.invite-action-btn--copied{color:var(--accent-ink)!important;background:var(--accent-dim)!important}.invite-action-btn--revoke{background:var(--danger-dim);color:var(--danger)}@media (hover:hover) and (pointer:fine){.invite-action-btn--revoke:hover:not(:disabled){background:var(--danger);color:#fff}}.invite-cards{flex-direction:column;gap:8px;display:none}.invite-table-desktop{display:block}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.invite-card{background:var(--surface);border-radius:var(--radius);animation:card-in .22s var(--ease-out) both;transition:opacity .15s var(--ease);border:none;flex-direction:column;gap:11px;padding:13px 13px 11px;display:flex}.invite-card--revoked,.invite-card--expired{opacity:.5}.invite-card-top{flex-direction:column;gap:7px;display:flex}.invite-card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.invite-card-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.invite-card-details{font-size:var(--fs-footnote);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invite-card-detail-label{font-weight:400;font-size:var(--fs-caption);color:var(--muted);margin-right:3px}.invite-card-detail-sep{color:var(--muted-2)}.invite-card-actions{align-items:center;gap:8px;display:flex}.invite-copy-btn{border-radius:var(--radius-sm);font-size:var(--fs-subhead);background:var(--accent-dim);color:var(--accent-ink);cursor:pointer;transition:background .13s var(--ease), color .13s var(--ease), transform .1s var(--ease);border:none;flex:1;justify-content:center;align-items:center;gap:7px;padding:11px 16px;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.invite-copy-btn:hover:not(:disabled){background:color-mix(in srgb, var(--accent-dim) 70%, var(--accent-ink) 14%)}}.invite-copy-btn:active:not(:disabled){transform:scale(.97)}.invite-copy-btn:disabled{opacity:.35;cursor:not-allowed}.invite-copy-btn--copied{color:var(--accent-ink)!important;background:var(--accent-dim)!important}.invite-card-revoke{flex-shrink:0;padding:11px 14px;font-size:.82rem}.admin-user-card{align-items:center;flex-direction:row!important;gap:12px!important;padding:12px 13px!important}.admin-user-avatar{background:var(--accent);width:36px;height:36px;color:var(--accent-text);font-size:var(--fs-subhead);letter-spacing:-.02em;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.admin-user-avatar--sm{width:26px;height:26px;font-size:var(--fs-caption);border-radius:50%}.admin-user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-user-name{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.admin-user-meta{font-size:var(--fs-footnote);color:var(--muted)}.admin-user-cell{align-items:center;gap:8px;display:flex}.admin-loading,.admin-empty{text-align:center;font-size:var(--fs-subhead);color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:36px 16px;display:flex}.admin-error{margin:8px 16px 0}@media (width<=700px){.invite-cards{display:flex}.invite-table-desktop{display:none}.admin-stat-bar{grid-template-columns:repeat(2,1fr)}.admin-chips-row{gap:8px}.admin-chip-group{gap:5px}.admin-chip-label{min-width:56px}}.health-row{border-radius:var(--radius);background:var(--surface-2);margin:0 0 12px;padding:12px}.health-row-head{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.health-row-title{font-weight:600;font-size:var(--fs-subhead);align-items:center;gap:8px;display:inline-flex}.health-row-meta{font-size:var(--fs-footnote);color:var(--muted)}.health-row-meta.warn,.health-row-error{color:var(--danger)}.health-row-error{font-size:var(--fs-footnote);margin-top:8px}.health-row-actions{gap:6px;display:flex}.health-row-actions .btn{flex:1}.health-dot{background:var(--muted-2);border-radius:50%;flex:none;width:8px;height:8px}.health-dot[data-status=connected]{background:var(--ring-accent)}.health-dot[data-status=expired]{background:var(--danger)}.detect-card{margin-top:24px}.detect-row{gap:12px;padding-block:12px}.detect-icon{background:var(--accent-dim);width:36px;height:36px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.detect-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.detect-card-copy{min-width:0}.detect-card-title{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-headline);letter-spacing:var(--ls-headline)}.detect-card-facts{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);margin-top:1px}.detect-dismiss{width:44px;height:44px;color:var(--muted-2);flex:none;place-items:center;margin:-6px -6px -6px 0;display:grid}.detect-dismiss svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.rec-card--error{color:var(--muted);font-size:var(--fs-subhead);justify-content:space-between;align-items:center;gap:12px;display:flex}.readiness{align-items:center;gap:20px;margin-bottom:20px;display:flex}.readiness-copy{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.readiness-zone{color:var(--tone-ink);text-transform:uppercase;letter-spacing:.04em}.readiness-line{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);margin:0}.readiness--building{font-size:var(--fs-subhead);color:var(--muted);margin-bottom:16px;line-height:1.4;display:block}.rec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.rec-tile{background:var(--surface-2);border-radius:var(--radius);min-width:0;padding:12px}.rec-tile--sleep{grid-column:1/-1}.rec-tile--sleep .t-eyebrow{color:var(--c-sleep)}.rec-tile--heart .t-eyebrow{color:var(--c-heart)}.rec-num{color:var(--text);white-space:nowrap;margin-top:6px}.rec-num small{font-family:var(--font);font-size:var(--fs-footnote);letter-spacing:0;color:var(--muted);margin-left:4px;font-weight:600}.rec-delta{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);margin-top:4px;display:block}.rec-delta.good{color:var(--accent-ink)}.rec-delta.bad{color:var(--danger)}.sleep-bar{border-radius:999px;gap:2px;height:8px;margin-top:10px;display:flex;overflow:hidden}.sleep-seg.deep{background:var(--sleep-deep)}.sleep-seg.rem{background:var(--sleep-rem)}.sleep-seg.light{background:var(--sleep-light)}.sleep-seg.awake{background:var(--sleep-awake)}.sleep-legend{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);gap:12px;margin-top:8px;display:flex}.sleep-legend span:before{content:"";vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.sleep-legend .deep:before{background:var(--sleep-deep)}.sleep-legend .rem:before{background:var(--sleep-rem)}.rec-hint{font-size:var(--fs-subhead);margin-top:12px;font-weight:600}.rec-hint.low{color:var(--danger)}.rec-foot{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--muted);margin:12px 0 0}.heatmap-cell.steps.l1,.heatmap-legend .swatch.steps.l1{background:color-mix(in srgb, var(--c-activity) 32%, transparent)}.heatmap-cell.steps.l2,.heatmap-legend .swatch.steps.l2{background:color-mix(in srgb, var(--c-activity) 62%, transparent)}.heatmap-cell.steps.l3,.heatmap-legend .swatch.steps.l3{background:var(--c-activity)}.health-stats{flex-direction:column;gap:8px;min-width:0;display:flex}.health-stats-facts{font-weight:600;font-size:var(--fs-subhead)}.health-stats.compact .health-stats-facts{font-size:var(--fs-footnote)}.health-stats-demo{font-size:var(--fs-caption);color:var(--muted-2)}.zone-bar{border-radius:999px;gap:2px;height:8px;display:flex;overflow:hidden}.zone-seg.fat{background:var(--heart-light)}.zone-seg.cardio{background:var(--heart-mid)}.zone-seg.peak{background:var(--c-heart)}.zone-legend{font-size:var(--fs-footnote);color:var(--muted);flex-wrap:wrap;gap:12px;display:flex}.zone-legend span:before{content:"";border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.zone-legend .fat:before{background:var(--heart-light)}.zone-legend .cardio:before{background:var(--heart-mid)}.zone-legend .peak:before{background:var(--c-heart)}.health-attached{border:1px solid var(--accent-dim);border-radius:var(--radius);background:var(--surface-2);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.fitbit-pick{flex-direction:column;gap:6px;display:flex}.fitbit-pick-row{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color .16s var(--ease-out);align-items:center;gap:10px;padding:10px 12px;font-size:.82rem;display:flex}.fitbit-pick-row span{color:var(--muted);flex:1;min-width:0}.fitbit-pick-row em{color:var(--muted-2);font-size:.7rem;font-style:normal;font-weight:700}.fitbit-pick-row em.attach{color:var(--text)}.fitbit-pick-row:hover:not(:disabled){border-color:var(--accent)}.fitbit-pick-row:disabled{opacity:.55;cursor:not-allowed}.tag.health{background:var(--ice-dim);color:var(--c-activity)}:root{--activity-light:color-mix(in srgb, var(--c-activity) 36%, transparent);--activity-mid:color-mix(in srgb, var(--c-activity) 66%, transparent);--heart-light:color-mix(in srgb, var(--c-heart) 36%, transparent);--heart-mid:color-mix(in srgb, var(--c-heart) 66%, transparent);--sleep-deep:color-mix(in srgb, var(--c-sleep) 68%, #000);--sleep-rem:var(--c-sleep);--sleep-light:color-mix(in srgb, var(--c-sleep) 52%, #fff);--sleep-awake:var(--muted-2)}.tone-accent{--tone:var(--accent-ink)}.tone-accent-soft{--tone:color-mix(in srgb, var(--accent-ink) 40%, transparent)}.tone-ice{--tone:var(--c-activity)}.tone-ice-soft{--tone:var(--activity-mid)}.tone-danger{--tone:var(--danger)}.tone-rem{--tone:var(--c-sleep)}.tone-muted{--tone:var(--muted-2)}.chart-empty{font-size:var(--fs-subhead);color:var(--muted);margin:8px 0}.chart-readout{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.chart-readout-value{font-size:var(--fs-title1);line-height:1.1}.chart-readout-value small{font-family:var(--font);font-size:var(--fs-subhead);letter-spacing:0;color:var(--muted);margin-left:4px;font-weight:400}.chart-readout-meta{font-size:var(--fs-footnote);color:var(--muted)}.step-bars-plot{align-items:flex-end;gap:6px;height:136px;padding-top:18px;display:flex;position:relative}.step-bars-plot.dense{gap:3px}.step-bars-goal{border-top:1.5px dashed var(--muted-2);pointer-events:none;z-index:1;position:absolute;left:0;right:0}.step-bars-goal span{font-size:var(--fs-caption);color:var(--muted);font-weight:600;position:absolute;top:-17px;right:0}.step-bar{cursor:pointer;flex:1;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.step-bar-fill{background:var(--activity-mid);transform-origin:bottom;width:100%;animation:bar-grow .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * 18ms);transition:opacity var(--dur-fast) var(--ease-out);border-radius:6px 6px 3px 3px}.step-bars-plot.dense .step-bar-fill{border-radius:3px 3px 1px 1px}.step-bar.hit .step-bar-fill,.step-bar.active .step-bar-fill{background:var(--c-activity)}.step-bars-plot:has(.step-bar.active) .step-bar:not(.active) .step-bar-fill{opacity:.6}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.step-bars-axis{gap:6px;margin-top:6px;display:flex}.step-bars-axis span{text-align:center;font-size:var(--fs-caption);color:var(--muted);flex:1;font-weight:600}.sparkline{width:100%;position:relative}.sparkline svg{width:100%;height:100%;overflow:visible}.sparkline-line{fill:none;stroke:var(--tone,var(--accent-ink));stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.sparkline-dot{background:var(--tone,var(--accent-ink));width:7px;height:7px;box-shadow:0 0 0 3px var(--surface-2);border-radius:50%;margin:-3.5px 0 0 -3.5px;position:absolute}.day-curve-plot{touch-action:pan-y;cursor:crosshair;background-image:linear-gradient(to right, var(--separator) .5px, transparent .5px);background-size:25% 100%;height:110px;position:relative}.day-curve-plot svg{width:100%;height:100%;display:block}.day-curve-area{fill:color-mix(in srgb, var(--c-heart) 14%, transparent)}.day-curve-line{fill:none;stroke:var(--c-heart);stroke-width:1.75px;stroke-linejoin:round}.day-curve-cursor{background:var(--text);opacity:.5;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.day-curve-axis,.hypnogram-axis{font-size:var(--fs-caption);color:var(--muted);justify-content:space-between;margin-top:6px;font-weight:600;display:flex}.hypnogram-plot{flex-direction:column;gap:4px;display:flex}.hypnogram-lane{grid-template-columns:44px 1fr;align-items:center;gap:8px;display:grid}.hypnogram-lane-label{font-size:var(--fs-caption);color:var(--muted)}.hypnogram-track{background:var(--surface-2);border-radius:4px;height:16px;position:relative}.hypnogram-seg{animation:chart-fade .5s var(--ease-out) both;border-radius:4px;position:absolute;top:0;bottom:0}.stage-awake{background:var(--sleep-awake)}.stage-rem{background:var(--sleep-rem)}.stage-light{background:var(--sleep-light)}.stage-deep{background:var(--sleep-deep)}.hypnogram-axis{padding-left:52px}@keyframes chart-fade{0%{opacity:0}to{opacity:1}}.stacked-bar-track{border-radius:999px;gap:2px;height:10px;display:flex;overflow:hidden}.stacked-bar-part{background:var(--tone);min-width:3px}.stacked-bar-legend{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:8px;display:flex}.stacked-bar-legend i{vertical-align:0;background:var(--tone);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.stacked-bar-legend b{color:var(--text);font-weight:600}@media (prefers-reduced-motion:reduce){.step-bar-fill,.hypnogram-seg{animation:none}}.today-strip{color:var(--text)}.today-strip-row{align-items:center;gap:14px;display:flex}.today-strip-tiles{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.today-tile{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:6px;min-width:0;padding:12px;display:flex}.today-tile-label{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;display:flex}.today-tile-icon{fill:none;width:14px;height:14px;stroke:var(--tone,var(--muted));stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.today-tile-value{font-size:var(--fs-title3);white-space:nowrap;color:var(--text);line-height:1.1}.today-tile-value small{font-family:var(--font);font-size:var(--fs-caption);letter-spacing:0;color:var(--muted);margin-left:2px;font-weight:600}.history-page .page-header{margin-bottom:12px}.history-calendar-btn{align-items:center;gap:6px;display:inline-flex}.history-calendar-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.search-field{margin-bottom:12px;display:block;position:relative}.search-field svg{fill:none;width:16px;height:16px;stroke:var(--muted);stroke-width:2.2px;stroke-linecap:round;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-field .search-input{border-radius:10px;margin-bottom:0;padding-left:36px}.search-field .search-input::-webkit-search-cancel-button{filter:grayscale()}.history-page .filter-row{margin:0 calc(var(--gutter) * -1) 0;padding:0 var(--gutter);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.history-page .filter-chip{min-height:36px;padding:4px 16px}.month-group:first-of-type .section-header{margin-top:16px}.month-group .section-header h2{font:inherit;letter-spacing:inherit;margin:0}.month-group-count{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:0;color:var(--muted);font-weight:400}.body-synced{color:var(--muted);margin-top:2px}.body-section .section-header{align-items:center}.body-section-meta{align-items:center;display:flex}.body-section-note{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted)}.body-section-error{font-size:var(--fs-subhead);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.body-loading{place-items:center;min-height:30vh;display:grid}.body-skeleton{gap:10px;display:grid}.body-skeleton span{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;border-radius:6px;height:14px;animation:1.4s linear infinite body-shimmer;display:block}.body-skeleton span:first-child{border-radius:var(--radius);height:96px}.body-skeleton span:last-child{width:60%}@keyframes body-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.body-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.body-stats>div{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex}.body-stats .label{white-space:nowrap}.body-stat-value{font-size:var(--fs-title3);white-space:nowrap;line-height:1.1}.body-stat-value small,.body-tile-value small{font-family:var(--font);font-size:var(--fs-footnote);letter-spacing:0;color:var(--muted);margin-left:3px;font-weight:600}.body-stats+.stacked-bar{margin-top:16px}.body-page .page-header .btn-sm{position:relative}.body-page .page-header .btn-sm:after{content:"";position:absolute;inset:-5px -4px}.body-block{margin-top:20px}.body-block-title{font-size:var(--fs-subhead);line-height:var(--lh-subhead);margin-bottom:8px;font-weight:600}.body-block-title span{color:var(--muted);font-weight:400}.body-tiles,.vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.body-tile{border-radius:var(--radius);background:var(--surface-2);text-align:left;min-width:0;color:var(--text);flex-direction:column;gap:4px;padding:12px;display:flex}.body-tile-value{font-size:var(--fs-title1);line-height:1.1}.body-tile .sparkline{margin-top:8px}.sleep-nights{align-items:flex-end;gap:4px;height:56px;margin-bottom:16px;display:flex}.sleep-night{cursor:pointer;flex:1;align-items:flex-end;height:100%;padding:0;display:flex}.sleep-night-bar{background:color-mix(in srgb, var(--c-sleep) 38%, transparent);width:100%;min-height:3px;transition:background-color var(--dur-fast) var(--ease-out);border-radius:4px}.sleep-night.active .sleep-night-bar{background:var(--c-sleep)}@media (hover:hover) and (pointer:fine){.sleep-night:hover:not(.active) .sleep-night-bar{background:color-mix(in srgb, var(--c-sleep) 60%, transparent)}}.vitals-tile{cursor:pointer}.vitals-tile.expanded{grid-column:1/-1}.vitals-note{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted)}.body-connect{text-align:center;padding:28px 22px}.body-connect h2{margin:12px 0 6px}.body-connect p{max-width:34ch;color:var(--muted);font-size:var(--fs-callout);line-height:var(--lh-callout);margin:0 auto 16px}.body-connect-mark{background:var(--accent-dim);border-radius:50%;place-items:center;width:48px;height:48px;display:inline-grid}.body-connect-mark svg{fill:none;width:24px;height:24px;stroke:var(--accent-ink);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.body-foot{text-align:center;margin:24px 0 8px}@media (prefers-reduced-motion:reduce){.body-skeleton span{animation:none}}@media (display-mode:standalone){.mkt-nav{padding-top:env(safe-area-inset-top,0px)}html,body{overscroll-behavior-y:none}.dock-slot,.dock-log,.user-chip,.btn,.list-row,.log-card,.step-bar,.sleep-night,.heatmap-cell,.cal-cell,.week-day{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.set-head{margin-bottom:24px}.set-back{min-height:44px;color:var(--accent-ink);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);transition:opacity var(--dur-fast) var(--ease-out);align-items:center;gap:4px;margin:-8px 0 0 -8px;padding:0 8px;display:inline-flex}.set-back svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:18px}.set-back:active{opacity:.4}.set-group{margin-bottom:32px}.set-group--tight{margin-bottom:16px}.set-group-title{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);color:var(--muted);margin:0 0 8px;padding:0 16px;font-weight:400}.set-footer{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);color:var(--muted);margin:8px 0 0;padding:0 16px}.set-error{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--danger);margin:8px 0 0;padding:0 16px}.settings-page .set-save{margin:0 0 32px}.settings-page .set-error{margin-bottom:16px}.settings-page .list-row[disabled],.settings-page .list-row:disabled{opacity:.4;cursor:default}.set-row-control{padding-block:8px}.set-action{color:var(--accent-ink);justify-content:flex-start}.set-action--danger{color:var(--danger)}.set-action--center{justify-content:center}.set-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.set-row-note{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);color:var(--muted);margin:0;display:block}.set-row-note strong{color:var(--text);font-weight:600}.set-row-error{color:var(--danger);font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote)}.set-inline-btn{min-height:44px;color:var(--accent-ink);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);flex:none;margin:-11px -8px -11px 0;padding:0 8px}.set-inline-btn:active{opacity:.4}.set-status{align-items:center;gap:10px;display:flex}.set-dot{background:var(--muted-2);border-radius:50%;flex:none;width:10px;height:10px}.set-dot[data-status=connected]{background:var(--ring-accent)}.set-dot[data-status=expired]{background:var(--danger)}.set-field{cursor:text}.set-input{min-width:0;min-height:22px;color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);text-align:right;appearance:none;caret-color:var(--accent-ink);transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:0;outline:none;flex:1 1 0;padding:0}.set-input:focus{color:var(--text)}.set-field{transition:background-color var(--dur-fast) var(--ease-out)}.set-field:focus-within{background:var(--fill)}.set-field .list-row-label{flex:none}.set-input.num-input{font-variant-numeric:tabular-nums;appearance:textfield}.set-input.num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.set-input.num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.set-input[type=date]{text-align:right;min-width:0;height:22px}.set-input[type=date]::-webkit-datetime-edit{text-align:right;padding:0}.set-input[type=date]::-webkit-date-and-time-value{text-align:right}.set-input[type=date]::-webkit-calendar-picker-indicator{display:none}.settings-page .list-row>.segmented{flex:none}.settings-page .list-row>.segmented--full{flex:auto}.set-about{text-align:center;color:var(--muted);margin:-16px 0 0}.set-about a{color:inherit;text-underline-offset:2px;text-decoration:underline}.settings-note{font-size:var(--fs-footnote);line-height:var(--lh-footnote);color:var(--muted);margin:0}.user-chip.active{border-color:var(--accent)}.set-switch-row{gap:16px;padding-block:10px}.set-switch-text{flex:1;min-width:0}.set-switch-label{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);color:var(--text);display:block}.set-switch-desc{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);color:var(--muted);margin:1px 0 0}.switch{background:var(--fill);cursor:pointer;width:51px;height:31px;transition:background-color .2s var(--ease-out);border:none;border-radius:999px;flex:none;padding:0;display:block;position:relative}[data-theme=light] .switch{background:#78788029}.switch.on{background:var(--accent)}.switch:disabled{opacity:.5;cursor:default}.switch-knob{width:27px;height:27px;transition:transform .2s var(--ease-out);background:#fff;border-radius:50%;display:block;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029,0 3px 1px #0000000f}.switch.on .switch-knob{transform:translate(20px)}@media (prefers-reduced-motion:reduce){.switch,.switch-knob{transition:none}}.rest-day-copy{color:var(--muted);font-size:var(--fs-body);margin:8px 4px 0;line-height:1.4}.rest-day-copy strong{color:var(--text);font-weight:600}.grind-age-card{position:relative}.grind-age-card.grind-age-card--button{text-align:left;align-items:center;gap:16px;display:flex}.grind-age-card .arc-gauge{margin-inline:0}.grind-age-line{font-size:var(--fs-subhead);line-height:var(--lh-subhead);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.grind-age-skeleton{flex-direction:column;gap:10px;display:flex}.grind-age-skeleton span{background:var(--fill);width:55%;height:14px;animation:grind-age-pulse 1.4s var(--ease-out) infinite;border-radius:7px;display:block}.grind-age-skeleton span+span{width:80%}@keyframes grind-age-pulse{50%{opacity:.45}}.grind-age-meta{flex-direction:column;flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.grind-age-gap{color:var(--text);align-items:flex-start;gap:6px;display:flex}.ga-arrow{fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px;margin-top:3px}.ga-arrow--older{stroke:var(--danger)}.ga-arrow--younger{stroke:var(--accent-ink)}.grind-age-chevron{border-top:2px solid var(--muted-2);border-right:2px solid var(--muted-2);flex:none;width:8px;height:8px;margin-right:4px;transform:rotate(45deg)scale(.85)}.grind-age-note{color:var(--muted);font-size:var(--fs-caption);position:absolute;bottom:6px;left:16px}.ga-eyebrow{margin:4px 0 2px}.ga-stale{color:var(--muted);margin:-12px 0 12px}.ga-state{color:var(--muted);flex-direction:column;align-items:flex-start;gap:12px;display:flex}.ga-state p{margin:0}.ga-skel{flex-direction:column;align-items:center;gap:12px;padding-block:24px;display:flex}.ga-skel__dial,.ga-skel__line{background:var(--fill);animation:grind-age-pulse 1.4s var(--ease-out) infinite;display:block}.ga-skel__dial{aspect-ratio:1;border-radius:50%;width:min(220px,70%);margin-bottom:8px}.ga-skel__line{border-radius:7px;width:60%;height:14px}.ga-skel__line--short{width:40%}.ga-hero{padding-bottom:20px}.ga-hero-gauge{padding-top:4px}.ga-stats{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:16px;padding-top:16px;display:grid}.ga-stat{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.ga-stat+.ga-stat{border-left:1px solid var(--border)}.ga-stat__tone{color:var(--tone-ink)}.ga-sentence{color:var(--muted);text-align:center;text-wrap:balance;margin:16px 0 0}.ga-pace{margin-top:16px}.ga-pace>.t-eyebrow{margin:0 0 4px}.ga-pace-note{color:var(--muted);text-align:center;text-wrap:balance;margin:12px 0 0}.ga-pace-title{font-size:var(--fs-headline);line-height:var(--lh-headline);letter-spacing:var(--ls-headline);margin:0 0 16px;font-weight:600}.ga-dots{gap:6px;display:flex}.ga-dot{aspect-ratio:1;background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:50%;flex:1 1 0;max-width:20px}.ga-dot[data-filled=true]{background:var(--tone);box-shadow:0 0 10px color-mix(in srgb, var(--tone) calc(var(--glow-strength) * 100%), transparent)}.ga-pace-sub{color:var(--muted);margin:16px 0 0}.age-trend{width:100%;min-height:176px}.age-trend__svg{display:block;overflow:visible}.age-trend__empty{color:var(--muted);text-align:center;margin:0;padding:24px 8px}.age-trend__ref{stroke:var(--muted-2);stroke-width:1.5px;stroke-dasharray:4 4}.age-trend__ref-label,.age-trend__x{fill:var(--muted);font-family:var(--font);letter-spacing:.02em;font-size:11px;font-weight:600}.age-trend__line{stroke:var(--tone);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:age-trend-draw .9s var(--ease-out) both}.age-trend__stop-a{stop-color:var(--tone);stop-opacity:.2}.age-trend__stop-b{stop-color:var(--tone);stop-opacity:0}.age-trend__area{animation:age-trend-fade .7s var(--ease-out) .2s both}.age-trend__dot-glow{fill:var(--tone);opacity:var(--glow-strength)}.age-trend__dot{fill:var(--tone);stroke:var(--surface);stroke-width:2.5px}.age-trend__dot,.age-trend__dot-glow,.age-trend__value{animation:age-trend-fade .4s var(--ease-out) .65s both}.age-trend__value{fill:var(--tone-ink);letter-spacing:.02em;font-size:20px}@keyframes age-trend-draw{0%{stroke-dashoffset:1px}}@keyframes age-trend-fade{0%{opacity:0}}.ga-group+.ga-group{margin-top:24px}.ga-group-head{font-size:var(--fs-footnote);line-height:var(--lh-footnote);letter-spacing:var(--ls-footnote);justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 8px;padding:0 16px;display:flex}.ga-group-title{font:inherit;color:var(--muted);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.ga-group-title:before{content:"";background:var(--tone);border-radius:50%;width:8px;height:8px}.ga-group-net,.ga-years{color:var(--muted);flex:none}.ga-group-net{font-weight:600}.ga-years{font-size:var(--fs-headline)}:is(.ga-group-net,.ga-years)[data-dir=young]{color:var(--accent-ink)}:is(.ga-group-net,.ga-years)[data-dir=old]{color:var(--danger)}.ga-factors{margin:0;padding:0;list-style:none}.ga-factor{flex-wrap:wrap;align-items:center;row-gap:8px;min-height:56px}.ga-factor-main{flex-direction:column;flex:1 1 0;gap:1px;min-width:0;display:flex}.ga-factor-label{font-size:var(--fs-body);line-height:var(--lh-body);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ga-tag{font-size:var(--fs-caption);padding:0 8px;font-weight:500;line-height:1.5}.ga-factor-value{color:var(--muted)}.ga-factor-note{color:var(--muted);flex:0 0 100%;margin:0}.ga-bar{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:3px;flex:0 0 100%;height:6px;position:relative;overflow:hidden}.ga-bar:before{content:"";z-index:1;background:var(--muted-2);width:2px;position:absolute;top:0;bottom:0;left:calc(50% - 1px)}.ga-bar__fill{background:var(--tone);width:50%;transform:scaleX(var(--ga-fill,0));animation:ga-bar-in .6s var(--ease-out) both;position:absolute;top:0;bottom:0}.ga-bar[data-dir=young] .ga-bar__fill{transform-origin:100%;right:50%}.ga-bar[data-dir=old] .ga-bar__fill{transform-origin:0;left:50%}.ga-bar[data-dir=flat] .ga-bar__fill{display:none}@keyframes ga-bar-in{0%{transform:scaleX(0)}}.ga-form .list-row:focus-within{background:var(--fill)}.ga-msg{color:var(--danger);margin:12px 4px 0}.ga-msg[data-ok=true]{color:var(--accent-ink)}.ga-save{margin-top:16px}.ga-disclaimer{color:var(--muted);margin:24px 4px 0}@media (prefers-reduced-motion:reduce){.grind-age-skeleton span,.ga-skel__dial,.ga-skel__line,.ga-bar__fill,.age-trend__line,.age-trend__area,.age-trend__dot,.age-trend__dot-glow,.age-trend__value{animation:none}}.strength-latest{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--text);font-size:.85rem;font-weight:700}.strength-trend{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;margin-top:8px;padding:12px 14px}.strength-bests{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.strength-bests .lift-compare-card{min-width:0;padding:10px}.strength-bests .lift-compare-value{white-space:nowrap;font-size:.88rem}.strength-bests .lift-compare-meta{min-height:1em;margin-top:4px}.home-page>.health-card{margin-top:24px}[data-theme=light] .week-day.logged .n{color:var(--accent-text)}[data-theme=light] .heatmap-legend .swatch.l1{background:#c8f13573}[data-theme=light] .heatmap-legend .swatch.l2{background:#96be14b3}[data-theme=light] .heatmap-legend .swatch.l3{background:#7ea000}[data-theme=light] .heatmap-legend .swatch.steps.l1{background:color-mix(in srgb, var(--c-activity) 32%, transparent)}[data-theme=light] .heatmap-legend .swatch.steps.l2{background:color-mix(in srgb, var(--c-activity) 62%, transparent)}[data-theme=light] .heatmap-legend .swatch.steps.l3{background:var(--c-activity)}[data-theme=light] .heatmap-cell.steps.l1{background:color-mix(in srgb, var(--c-activity) 32%, transparent)}[data-theme=light] .heatmap-cell.steps.l2{background:color-mix(in srgb, var(--c-activity) 62%, transparent)}[data-theme=light] .heatmap-cell.steps.l3{background:var(--c-activity)}[data-theme=light] .empty-mark{color:var(--muted)}.sheet .cal-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.sheet .cal-day-panel{margin:12px 0 0}.sheet .cal-day-item{background:var(--surface-2)}.detail-fitbit{flex-direction:column;gap:10px;display:flex}.detail-fitbit .health-stats-facts{display:none}.sheet .spinner{border-width:2px}
