@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(../media/archivo-vietnamese-600-normal.1zzqv7ar6igs7.woff2)format("woff2"),url(../media/archivo-vietnamese-600-normal.16-jpdn3al-l2.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(../media/archivo-latin-ext-600-normal.2l9-i4f7r6g1y.woff2)format("woff2"),url(../media/archivo-latin-ext-600-normal.1hfm64ncbskgi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(../media/archivo-latin-600-normal.2xrlizciyxkaw.woff2)format("woff2"),url(../media/archivo-latin-600-normal.0nr2cwb3yjqye.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(../media/archivo-vietnamese-700-normal.25a_8s5zwlnqg.woff2)format("woff2"),url(../media/archivo-vietnamese-700-normal.3h6r4gj55h9zy.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(../media/archivo-latin-ext-700-normal.0gpopa80-w53j.woff2)format("woff2"),url(../media/archivo-latin-ext-700-normal.1jqfiymonp3ox.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(../media/archivo-latin-700-normal.0xklgcivxid3p.woff2)format("woff2"),url(../media/archivo-latin-700-normal.1o9h0if12mn82.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(../media/archivo-vietnamese-800-normal.00pzl5m20pa1x.woff2)format("woff2"),url(../media/archivo-vietnamese-800-normal.064vg2uego00z.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(../media/archivo-latin-ext-800-normal.0rse0snt41vt2.woff2)format("woff2"),url(../media/archivo-latin-ext-800-normal.1cp4yo0dybag3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(../media/archivo-latin-800-normal.3eeuy_h3stxve.woff2)format("woff2"),url(../media/archivo-latin-800-normal.169vk7srq_ic1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:900;src:url(../media/archivo-vietnamese-900-normal.06j30y9wx_ah9.woff2)format("woff2"),url(../media/archivo-vietnamese-900-normal.1shb48wcylqkn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:900;src:url(../media/archivo-latin-ext-900-normal.2s7xrlfpqhy0l.woff2)format("woff2"),url(../media/archivo-latin-ext-900-normal.3jxbx5pmarp7g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:900;src:url(../media/archivo-latin-900-normal.0vnzz0l6ef8ht.woff2)format("woff2"),url(../media/archivo-latin-900-normal.102uteaqc_4o2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-cyrillic-ext-400-normal.26b1kbv33iy62.woff2)format("woff2"),url(../media/hanken-grotesk-cyrillic-ext-400-normal.1pgmim4xr2og7.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-vietnamese-400-normal.1sfip73h1_7m1.woff2)format("woff2"),url(../media/hanken-grotesk-vietnamese-400-normal.1_yv2tyws5peb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-latin-ext-400-normal.2js7borcn2qw8.woff2)format("woff2"),url(../media/hanken-grotesk-latin-ext-400-normal.2-0tm_9ry8csn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/hanken-grotesk-latin-400-normal.18lpns2xtfj9z.woff2)format("woff2"),url(../media/hanken-grotesk-latin-400-normal.1m1yv-g7__21o.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/hanken-grotesk-cyrillic-ext-500-normal.38p38oaixczyc.woff2)format("woff2"),url(../media/hanken-grotesk-cyrillic-ext-500-normal.1weh3t-4r0149.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/hanken-grotesk-vietnamese-500-normal.3i7y-slsabp_q.woff2)format("woff2"),url(../media/hanken-grotesk-vietnamese-500-normal.3efgxbfxic8lr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/hanken-grotesk-latin-ext-500-normal.0q0v5cs4s7wwz.woff2)format("woff2"),url(../media/hanken-grotesk-latin-ext-500-normal.12izahxvxna1x.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/hanken-grotesk-latin-500-normal.2om_jlrhbwq6l.woff2)format("woff2"),url(../media/hanken-grotesk-latin-500-normal.3bq4ckd-nwon7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-cyrillic-ext-600-normal.2dvqylh00t8c1.woff2)format("woff2"),url(../media/hanken-grotesk-cyrillic-ext-600-normal.41ra41y8tcnql.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-vietnamese-600-normal.01hhw77rc76y9.woff2)format("woff2"),url(../media/hanken-grotesk-vietnamese-600-normal.3i-irnll22ros.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-latin-ext-600-normal.04kogq4iqfkmp.woff2)format("woff2"),url(../media/hanken-grotesk-latin-ext-600-normal.212vl8b0a3ru_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/hanken-grotesk-latin-600-normal.0c7b5n7trqal9.woff2)format("woff2"),url(../media/hanken-grotesk-latin-600-normal.059oydah0bc9-.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-cyrillic-ext-700-normal.0fl7aucw-tiyw.woff2)format("woff2"),url(../media/hanken-grotesk-cyrillic-ext-700-normal.3n5uo7-czhdoe.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-vietnamese-700-normal.3v9x6w6ev_bsw.woff2)format("woff2"),url(../media/hanken-grotesk-vietnamese-700-normal.3r53utmi9kf8j.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-latin-ext-700-normal.3zj6bzynjvcnc.woff2)format("woff2"),url(../media/hanken-grotesk-latin-ext-700-normal.18nifm-m6oxic.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/hanken-grotesk-latin-700-normal.061szqq7cg1k1.woff2)format("woff2"),url(../media/hanken-grotesk-latin-700-normal.1_m986hkp-5i9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root,[data-theme=light]{--bg-000:#f3f1ec;--bg-100:#fff;--bg-200:#e9e6df;--line:#d9d5cc;--ink:#0d1016;--ink-muted:#565b66;--ink-inverse:#fff;--run:#f7b49a;--on-run:#0d1016;--run-soft:#fdefe8;--run-text:#a63c13;--gym:#aeb8f5;--on-gym:#0d1016;--gym-soft:#eff1fe;--gym-text:#3442c4;--sport:#d2e79a;--on-sport:#0d1016;--sport-soft:#f4f9e4;--sport-text:#4d6600;--adapt-bg:#0d1016;--adapt-accent:#d2e79a;--on-adapt:#fff;--success:#0e7240;--warning:#8f5300;--danger:#be2216;--focus:#3349ff;--shadow-card:0 1px 2px #0d10160f, 0 4px 16px #0d10160f;--shadow-pop:0 12px 32px #0d101629}[data-theme=dark]{--bg-000:#0c0e13;--bg-100:#161a21;--bg-200:#1f242d;--line:#2d333e;--ink:#f4f2ed;--ink-muted:#a4aab6;--ink-inverse:#0d1016;--run:#f0ac90;--on-run:#0d1016;--run-soft:#2e211b;--run-text:#f5a584;--gym:#a3adf0;--on-gym:#0d1016;--gym-soft:#1f2238;--gym-text:#aeb8f5;--sport:#c8de8e;--on-sport:#0d1016;--sport-soft:#232817;--sport-text:#c8de8e;--adapt-bg:#c8de8e;--adapt-accent:#0d1016;--on-adapt:#0d1016;--success:#3ccb7f;--warning:#ffb938;--danger:#ff6b5e;--focus:#a3adff;--shadow-card:none;--shadow-pop:0 12px 32px #00000080}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-pill:999px;--font-display:"Archivo", "Arial Black", system-ui, sans-serif;--font-text:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif}.display-xl{font-family:var(--font-display);letter-spacing:-.02em;font-size:56px;font-weight:800;line-height:54px}.display-l{font-family:var(--font-display);letter-spacing:-.015em;font-size:40px;font-weight:800;line-height:40px}.title{font-family:var(--font-display);letter-spacing:-.01em;font-size:28px;font-weight:800;line-height:30px}.heading{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:24px}.metric{font-family:var(--font-display);letter-spacing:-.02em;font-size:44px;font-weight:800;line-height:44px}.metric-s{font-family:var(--font-display);font-size:24px;font-weight:700;line-height:28px}.body-l{font-family:var(--font-text);font-size:17px;font-weight:400;line-height:26px}.body{font-family:var(--font-text);font-size:15px;font-weight:400;line-height:22px}.body-strong{font-family:var(--font-text);font-size:15px;font-weight:600;line-height:22px}.label{font-family:var(--font-text);letter-spacing:.08em;font-size:12px;font-weight:700;line-height:16px}.caption{font-family:var(--font-text);font-size:13px;font-weight:500;line-height:18px}
@media (prefers-color-scheme:dark){[data-theme=system]{--bg-000:#0c0e13;--bg-100:#161a21;--bg-200:#1f242d;--line:#2d333e;--ink:#f4f2ed;--ink-muted:#a4aab6;--ink-inverse:#0d1016;--run:#f0ac90;--on-run:#0d1016;--run-soft:#2e211b;--run-text:#f5a584;--gym:#a3adf0;--on-gym:#0d1016;--gym-soft:#1f2238;--gym-text:#aeb8f5;--sport:#c8de8e;--on-sport:#0d1016;--sport-soft:#232817;--sport-text:#c8de8e;--adapt-bg:#c8de8e;--adapt-accent:#0d1016;--on-adapt:#0d1016;--success:#3ccb7f;--warning:#ffb938;--danger:#ff6b5e;--focus:#a3adff;--shadow-card:none;--shadow-pop:0 12px 32px #00000080}}
body{font-family:var(--font-text);background:var(--bg-000);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:22px}.metric,.metric-s,.fl-stat__value{font-variant-numeric:tabular-nums}.label{text-transform:uppercase}.fl-icon{flex:none;display:block}.fl-spin{animation:1.4s linear infinite fl-spin}@keyframes fl-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.fl-spin{animation:none}}.fl-btn{font-family:var(--font-text);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);cursor:pointer;border:0;font-weight:700;transition:transform .12s,filter .12s;display:inline-flex}.fl-btn--md{height:44px;padding:0 var(--space-5);font-size:15px}.fl-btn--lg{height:56px;padding:0 var(--space-8);font-size:17px}.fl-btn--primary{background:var(--run);color:var(--on-run)}.fl-btn--secondary{background:var(--ink);color:var(--ink-inverse)}.fl-btn--quiet{background:var(--bg-200);color:var(--ink)}.fl-btn:hover{filter:brightness(1.06)}.fl-btn:active{transform:scale(.97)}.fl-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.fl-btn:focus-visible,.fl-adapt__action:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.fl-chip{height:32px;padding:0 var(--space-3) 0 10px;border-radius:var(--radius-pill);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.fl-chip--run{background:var(--run-soft);color:var(--run-text)}.fl-chip--gym{background:var(--gym-soft);color:var(--gym-text)}.fl-chip--sport{background:var(--sport-soft);color:var(--sport-text)}.fl-chip--rest{background:var(--bg-200);color:var(--ink-muted)}.fl-chip--solid.fl-chip--run{background:var(--run);color:var(--on-run)}.fl-chip--solid.fl-chip--gym{background:var(--gym);color:var(--on-gym)}.fl-chip--solid.fl-chip--sport{background:var(--sport);color:var(--on-sport)}.fl-sync{align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:18px;display:inline-flex}.fl-sync--synced{color:var(--success)}.fl-sync--pending{color:var(--warning)}.fl-sync--failed{color:var(--danger)}.fl-sync--on{color:inherit;border-radius:var(--radius-pill);background:#0d101614;padding:4px 10px}.fl-card{isolation:isolate;box-sizing:border-box;gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;display:flex;position:relative;overflow:hidden}.fl-card--hero{border-radius:var(--radius-lg);padding:var(--space-6);gap:var(--space-3);min-height:260px}.fl-card__mark{z-index:-1;opacity:.12;position:absolute;bottom:-44px;right:-36px;transform:rotate(-14deg)}.fl-card__top{align-items:center;gap:var(--space-2);display:flex}.fl-card__badge{background:#0d101614;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.fl-card--hero .fl-card__badge{width:48px;height:48px}.fl-card__label{flex:1;min-width:0}.fl-card__title{margin:0}.fl-card--hero .fl-card__title{margin-top:var(--space-2);font-size:34px;line-height:36px}.fl-card__meta{opacity:.85;max-width:32ch;margin:0;font-size:15px;line-height:22px}.fl-card__stats{gap:var(--space-3) var(--space-6);margin:var(--space-2) 0 0;flex-wrap:wrap;display:flex}.fl-card__stat dt{letter-spacing:.08em;text-transform:uppercase;opacity:.8;align-items:center;gap:4px;font-size:12px;font-weight:700;line-height:16px;display:flex}.fl-card__stat dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:17px;font-weight:800;line-height:22px}.fl-card--hero .fl-card__stat dd{font-size:24px;line-height:28px}.fl-card__foot{padding-top:var(--space-2);margin-top:auto}.fl-card__done{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.fl-card--filled.fl-card--run{background:var(--run);color:var(--on-run)}.fl-card--filled.fl-card--gym{background:var(--gym);color:var(--on-gym)}.fl-card--filled.fl-card--sport{background:var(--sport);color:var(--on-sport)}.fl-card--filled.fl-card--rest,.fl-card--planned.fl-card--rest{background:var(--bg-200);color:var(--ink-muted)}.fl-card--rest .fl-card__badge{background:var(--bg-100)}.fl-card--planned.fl-card--run{background:var(--run-soft);color:var(--ink)}.fl-card--planned.fl-card--gym{background:var(--gym-soft);color:var(--ink)}.fl-card--planned.fl-card--sport{background:var(--sport-soft);color:var(--ink)}.fl-card--planned.fl-card--run .fl-card__label{color:var(--run-text)}.fl-card--planned.fl-card--gym .fl-card__label{color:var(--gym-text)}.fl-card--planned.fl-card--sport .fl-card__label{color:var(--sport-text)}.fl-card--planned.fl-card--run .fl-card__badge{background:var(--run);color:var(--on-run)}.fl-card--planned.fl-card--gym .fl-card__badge{background:var(--gym);color:var(--on-gym)}.fl-card--planned.fl-card--sport .fl-card__badge{background:var(--sport);color:var(--on-sport)}.fl-card--planned .fl-card__meta{color:var(--ink-muted);opacity:1}.fl-stat{box-sizing:border-box;gap:var(--space-1);padding:var(--space-5);border-radius:var(--radius-md);background:var(--bg-100);box-shadow:var(--shadow-card);color:var(--ink);flex-direction:column;display:flex}.fl-stat__head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.fl-stat__icon{background:var(--ink);width:36px;height:36px;color:var(--ink-inverse);border-radius:12px;place-items:center;display:grid}.fl-stat--run .fl-stat__icon{background:var(--run);color:var(--on-run)}.fl-stat--gym .fl-stat__icon{background:var(--gym);color:var(--on-gym)}.fl-stat--sport .fl-stat__icon{background:var(--sport);color:var(--on-sport)}.fl-stat__label{color:var(--ink-muted)}.fl-stat__value{align-items:baseline;gap:6px;display:flex}.fl-stat__unit{font-family:var(--font-display);color:var(--ink-muted);font-size:17px;font-weight:700}.fl-stat__detail{color:var(--ink-muted)}.fl-stat__bar{height:8px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--bg-200);overflow:hidden}.fl-stat__bar span{border-radius:inherit;background:var(--ink);height:100%;display:block}.fl-stat--run .fl-stat__bar span{background:var(--run-text)}.fl-stat--gym .fl-stat__bar span{background:var(--gym-text)}.fl-stat--sport .fl-stat__bar span{background:var(--sport-text)}.fl-adapt{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--adapt-bg);color:var(--on-adapt);display:flex}.fl-adapt__icon{background:var(--adapt-accent);width:36px;height:36px;color:var(--adapt-bg);border-radius:50%;flex:none;place-items:center;display:grid}.fl-adapt__body{flex:1;min-width:0}.fl-adapt__eyebrow{color:var(--adapt-accent)}.fl-adapt__text{margin:2px 0 0;font-size:15px;line-height:22px}.fl-adapt__action{font:inherit;height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--adapt-accent);color:var(--adapt-bg);cursor:pointer;border:0;flex:none;align-self:center;font-size:13px;font-weight:700}.fl-card--missed{opacity:.7}.fl-card--missed .fl-card__title{text-decoration:line-through;text-decoration-thickness:2px}a.fl-btn{box-sizing:border-box;text-decoration:none}a.fl-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.fl-adapt__action{min-height:44px}@media (prefers-reduced-motion:reduce){.fl-btn{transition:none}.fl-btn:active{transform:none}}
body{margin:0}a,a:hover{color:inherit}.fl{--bg:var(--bg-000);--surface:var(--bg-100);--surface2:var(--bg-200);--ink2:var(--ink-muted);--ink3:var(--ink-muted);--run-ink:var(--run-text);--gym-ink:var(--gym-text);--sport-ink:var(--sport-text);--rest:var(--bg-200);--on-rest:var(--ink-muted);--btn:var(--ink);--btn-ink:var(--ink-inverse);font-family:var(--font-text);color:var(--ink);background:var(--bg-000);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex}.disp{font-family:var(--font-display);letter-spacing:-.02em}.num{font-variant-numeric:tabular-nums}.btn{cursor:pointer;box-sizing:border-box;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 24px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--run);color:var(--on-run)}.btn-primary:hover{color:var(--on-run);filter:brightness(1.06)}.btn-ink{background:var(--ink);color:var(--ink-inverse)}.btn:active,.pill:active{transform:scale(.97)}.btn:focus-visible,.pill:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn-ghost{background:var(--surface2);color:var(--ink)}.btn-on{background:var(--bg-100);color:var(--ink);box-shadow:0 1px 2px #0d101624}.btn-on:hover,.btn-onlight:hover{color:var(--ink);filter:brightness(.97)}.btn-onlight{background:var(--bg-100);color:var(--ink);box-shadow:0 1px 2px #0d101624}.btn-sm{min-height:44px;padding:0 18px;font-size:14px}.card{background:var(--bg-100);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.cc{border-radius:var(--radius-md);box-sizing:border-box;isolation:isolate;padding:20px;position:relative;overflow:hidden}.hero{border-radius:var(--radius-lg)!important;padding:24px!important}.mark{z-index:-1;opacity:.16;pointer-events:none;position:absolute;bottom:-44px;right:-36px;transform:rotate(-14deg)}.c-run{background:var(--run);color:var(--on-run)}.c-gym{background:var(--gym);color:var(--on-gym)}.c-sport{background:var(--sport);color:var(--on-sport)}.c-rest{background:var(--bg-200);color:var(--ink-muted)}.c-pink,.c-adapt{background:var(--adapt-bg);color:var(--on-adapt)}.c-ink{background:var(--ink);color:var(--ink-inverse)}.accent{color:var(--adapt-accent)}.tile{background:#fff9;border-radius:12px;padding:14px}.tile-d{background:#fff9;border-radius:12px;padding:14px}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.chip-run{background:var(--run);color:var(--on-run)}.chip-gym{background:var(--gym);color:var(--on-gym)}.chip-sport{background:var(--sport);color:var(--on-sport)}.chip-rest{background:var(--bg-200);color:var(--ink-muted)}.chip-pink{background:var(--ink);color:var(--ink-inverse)}.chip-n{background:var(--bg-200);color:var(--ink-muted)}.chip-adapt{background:var(--adapt-bg);color:var(--adapt-accent)}.chip-w{color:inherit;background:#ffffff38}.chip-k{color:inherit;background:#fff9}.c-run .chip-w,.c-sport .chip-w,.c-gym .chip-w{background:#fff9}.bar-run{background:var(--run-text)}.bar-gym{background:var(--gym-text)}.bar-sport{background:var(--sport-text)}.bar-rest{background:var(--rest)}.lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-size:12px;font-weight:700}.lbl-c{letter-spacing:.08em;text-transform:uppercase;opacity:.85;font-size:12px;font-weight:700}.badge{background:#fff9;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.ttl{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.pill{background:var(--bg-100);min-height:46px;box-shadow:var(--shadow-card);color:var(--ink);font:inherit;cursor:pointer;box-sizing:border-box;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.pill.on{background:var(--btn);color:var(--btn-ink)}.ico{border-radius:16px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.shell{flex:1;display:flex}.side{display:none}.main{box-sizing:border-box;flex:1;min-width:0;padding:20px 16px 32px}.inner{flex-direction:column;gap:16px;max-width:1080px;margin:0 auto;display:flex}.tabbar{background:var(--bg-100);z-index:5;box-shadow:var(--shadow-pop);justify-content:space-around;padding:6px 4px 12px;display:flex;position:sticky;bottom:0}.tab{min-width:60px;min-height:52px;color:var(--ink3);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.tab.on{color:var(--ink)}.tab.on .fl-icon{color:var(--run-text)}.navlink{min-height:46px;color:var(--ink2);border-radius:14px;align-items:center;gap:12px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.navlink.on{background:var(--btn);color:var(--btn-ink)}.split{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.split>.a{flex-direction:column;flex:999 520px;gap:16px;min-width:0;display:flex}.split>.b{flex-direction:column;flex:300px;gap:16px;min-width:0;display:flex}.h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:800;line-height:30px}@media (min-width:900px){.side{background:var(--surface);box-sizing:border-box;flex-direction:column;flex:none;gap:4px;width:240px;padding:24px 16px;display:flex}.tabbar{display:none}.main{padding:36px 44px 56px}.h1{font-size:40px;line-height:40px}}.c-ink .tile,.c-adapt .tile{background:color-mix(in srgb,currentColor 12%,transparent)}.c-ink .tile-d,.c-adapt .tile-d,.c-pink .tile-d{background:color-mix(in srgb,currentColor 16%,transparent)}.c-ink .chip-k,.c-adapt .chip-k,.c-pink .chip-k{background:color-mix(in srgb,currentColor 20%,transparent)}.c-ink .chip-w,.c-adapt .chip-w,.c-pink .chip-w{background:color-mix(in srgb,currentColor 22%,transparent)}.c-ink .badge,.c-adapt .badge{background:color-mix(in srgb,currentColor 14%,transparent)}.c-adapt .btn-onlight,.c-pink .btn-onlight{background:color-mix(in srgb,currentColor 18%,transparent);color:inherit;box-shadow:none}.c-adapt .btn-onlight:hover,.c-pink .btn-onlight:hover{color:inherit}.c-rest .tile,.c-rest .tile-d,.c-rest .chip-k,.c-rest .badge{background:color-mix(in srgb,var(--bg-100) 60%,transparent)}.card .tile-d{background:var(--surface2)}.topbar{justify-content:space-between;align-items:center;gap:12px;max-width:1080px;margin:0 auto 14px;display:flex}@media (min-width:900px){.topbar{display:none}}.main{padding-top:max(20px, env(safe-area-inset-top))}.tabbar{padding-bottom:calc(12px + env(safe-area-inset-bottom))}@media (min-width:900px){.main{padding-top:max(36px, env(safe-area-inset-top))}}
html,body{background:var(--bg-000);color:var(--ink);margin:0}body{font-family:var(--font-text)}*,:before,:after{box-sizing:border-box}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:50;background:var(--ink);color:var(--ink-inverse);border-radius:12px;padding:12px 16px;font-weight:700;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.err{color:var(--danger);font-size:14px;font-weight:600}.ok{color:var(--success);font-size:14px;font-weight:600}form{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@keyframes fl-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.slide-in{animation:.18s ease-out fl-slide-in}
