@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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{--bg:#f3f4f7;--surface:#fff;--surface-2:#eef0f4;--ink:#0d1117;--muted:#667085;--line:#e3e6ec;--accent:#2b5cff;--accent-ink:#fff;--accent-soft:#2b5cff1a;--easy:#0f9d75;--long:#2b5cff;--thr:#f0641e;--vo2:#e23d5b;--race:#8b3dff;--rest:#8a94a6;--ok:#0f9d75;--warn:#d98a00;--bad:#d92d20;--ok-soft:#0f9d751f;--warn-soft:#d98a0024;--bad-soft:#d92d201a;--shadow:0 1px 2px #1018280d, 0 4px 16px #1018280d;--s1:#2a78d6;--s2:#eb6834;--grid:#e6e8ee;--axis:#8a94a6;--seq1:#9ec5f4;--seq2:#3987e5;--seq3:#104281;--sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0c10;--surface:#14181f;--surface-2:#1d222b;--ink:#f2f4f7;--muted:#98a2b3;--line:#252b35;--accent:#7090ff;--accent-ink:#0a0c10;--accent-soft:#7090ff29;--easy:#34c79b;--long:#7090ff;--thr:#ff8a4c;--vo2:#ff6b85;--race:#b388ff;--rest:#7c8698;--ok:#34c79b;--warn:#f0b23c;--bad:#ff6b5e;--ok-soft:#34c79b24;--warn-soft:#f0b23c24;--bad-soft:#ff6b5e24;--shadow:none;--s1:#3987e5;--s2:#d95926;--grid:#252b35;--axis:#7c8698;--seq1:#184f95;--seq2:#3987e5;--seq3:#9ec5f4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0a0c10;--surface:#14181f;--surface-2:#1d222b;--ink:#f2f4f7;--muted:#98a2b3;--line:#252b35;--accent:#7090ff;--accent-ink:#0a0c10;--accent-soft:#7090ff29;--easy:#34c79b;--long:#7090ff;--thr:#ff8a4c;--vo2:#ff6b85;--race:#b388ff;--rest:#7c8698;--ok:#34c79b;--warn:#f0b23c;--bad:#ff6b5e;--ok-soft:#34c79b24;--warn-soft:#f0b23c24;--bad-soft:#ff6b5e24;--shadow:none;--s1:#3987e5;--s2:#d95926;--grid:#252b35;--axis:#7c8698;--seq1:#184f95;--seq2:#3987e5;--seq3:#9ec5f4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0;line-height:1.2}h1{font-size:26px;font-weight:800}h2{font-size:20px;font-weight:700}h3{font-size:17px;font-weight:700}p{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.num,.mono{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{color:var(--muted);font-size:13px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);padding:calc(env(safe-area-inset-top,0px) + 10px) 18px 10px;align-items:center;gap:10px;display:flex;position:sticky;top:0}.top h1{flex:1;font-size:24px}.top .sub{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:500;display:block}.iconbtn{background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow);color:var(--ink);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.iconbtn.spin svg{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wrap{max-width:560px;padding:6px 16px calc(96px + env(safe-area-inset-bottom,0px));gap:14px;margin:0 auto;display:grid}.tabs{z-index:6;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border:0;justify-items:center;gap:2px;padding:4px 2px;font-size:11.5px;font-weight:600;display:grid}.tabs button span{border-radius:15px;place-items:center;width:56px;height:30px;display:grid}.tabs button[aria-current=page]{color:var(--accent)}.tabs button[aria-current=page] span{background:var(--accent-soft)}.card{background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:20px;gap:12px;padding:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between;align-items:center;gap:10px;display:flex}.stack{gap:8px;display:grid}.eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.btn{background:var(--accent);min-height:46px;color:var(--accent-ink);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn.ghost{background:var(--accent-soft);color:var(--accent)}.btn.quiet{background:var(--surface-2);color:var(--ink)}.btn.danger{background:var(--bad-soft);color:var(--bad)}.btn.sm{border-radius:10px;min-height:34px;padding:4px 12px;font-size:13.5px}.btn.wide{width:100%}.btn.grow{flex:1}.btn:disabled{opacity:.5;cursor:default}.btn:active:not(:disabled){transform:scale(.98)}.chip{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.chip.k{background:color-mix(in srgb, var(--k) 14%, transparent);color:var(--k)}.k-easy,.k-recovery{--k:var(--easy)}.k-long{--k:var(--long)}.k-threshold,.k-sweetspot{--k:var(--thr)}.k-vo2{--k:var(--vo2)}.k-racepace,.k-race{--k:var(--race)}.k-rest{--k:var(--rest)}.callout{background:var(--accent-soft);border-radius:14px;padding:11px 14px;font-size:14px}.callout.warn{background:var(--warn-soft)}.callout.bad{background:var(--bad-soft)}.callout.ok{background:var(--ok-soft)}.dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.dot.green,.dot.ok{background:var(--ok)}.dot.amber,.dot.warn{background:var(--warn)}.dot.red,.dot.bad{background:var(--bad)}.goal{gap:10px;display:grid}.goal .count{color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.meter{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.meter i{background:var(--accent);border-radius:3px;height:100%;display:block}.strip{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.strip button{color:var(--muted);background:0 0;border:0;border-radius:14px;justify-items:center;gap:4px;padding:6px 0 8px;font-size:12px;font-weight:600;display:grid}.strip button b{width:34px;height:34px;color:var(--ink);border-radius:50%;place-items:center;font-size:15px;font-weight:700;display:grid}.strip button.now b{background:var(--ink);color:var(--bg)}.strip button i{background:0 0;border-radius:50%;width:8px;height:8px;font-style:normal}.strip button i.plan{background:var(--k)}.strip button i.done{background:var(--ok);color:#fff;place-items:center;width:16px;height:16px;margin:-4px 0;font-size:10px;display:grid}.strip button i.miss{box-shadow:inset 0 0 0 2px var(--line);background:0 0}.hero{background:var(--surface);box-shadow:var(--shadow);border-radius:24px;overflow:hidden}.hero-top{background:linear-gradient(140deg, var(--k), color-mix(in srgb, var(--k) 62%, #000));color:#fff;gap:6px;padding:18px 18px 16px;display:grid}.hero-top .lbl{letter-spacing:.04em;text-transform:uppercase;opacity:.85;justify-content:space-between;font-size:12.5px;font-weight:600;display:flex}.hero-top h2{letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1.1}.hero-stats{gap:22px;margin-top:8px;display:flex}.hero-stats div b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1.15;display:block}.hero-stats div span{opacity:.85;font-size:12px}.hero-body{gap:12px;padding:16px;display:grid}.big-title{letter-spacing:-.03em;font-size:26px;font-weight:800;line-height:1.12}.sess{text-align:left;background:0 0;border:0;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;width:100%;padding:10px 0;display:grid}.sess+.sess{border-top:1px solid var(--line)}.tile-ic{background:color-mix(in srgb, var(--k) 14%, transparent);width:44px;height:44px;color:var(--k);border-radius:14px;place-items:center;display:grid}.sess .t{font-weight:600;line-height:1.25;display:block}.sess .s{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.sess.done .t{color:var(--muted)}.sess.missed .t,.sess.skipped .t{color:var(--muted);text-decoration:line-through}.sess.missed .tile-ic,.sess.skipped .tile-ic{filter:grayscale();opacity:.6}.mark{width:26px;height:26px;box-shadow:inset 0 0 0 2px var(--line);color:#0000;border-radius:50%;place-items:center;font-size:13px;font-weight:700;line-height:1;display:grid}.mark.done{background:var(--ok);box-shadow:none;color:#fff}.mark.warn{background:var(--warn);box-shadow:none;color:#fff}.mark.bad{background:var(--bad);box-shadow:none;color:#fff}.mark.missed,.mark.skipped{color:var(--muted)}.steps{gap:6px;display:grid}.step{background:var(--surface-2);border-radius:12px;grid-template-columns:4px 74px 1fr;align-items:stretch;gap:12px;padding:10px 12px 10px 0;display:grid;overflow:hidden}.step:before{content:"";background:var(--z);border-radius:0 3px 3px 0}.step .len{font-variant-numeric:tabular-nums;align-self:center;font-size:14px;font-weight:700}.step b{font-weight:600}.step .tg{color:var(--muted);font-size:13px}.step.i-z1,.step.i-z2{--z:var(--easy)}.step.i-z3,.step.i-ss,.step.i-z4{--z:var(--thr)}.step.i-z5{--z:var(--vo2)}.step.i-race{--z:var(--race)}.facts{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.facts div{background:var(--surface-2);border-radius:12px;padding:8px 11px}.facts b{color:var(--muted);font-size:11.5px;font-weight:500;display:block}.facts span{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.facts span .small{font-size:12px;font-weight:500}.ai{background:var(--accent-soft);white-space:pre-wrap;border-radius:14px;padding:12px 14px;font-size:14px}.week summary{cursor:pointer;gap:8px;list-style:none;display:grid}.week summary::-webkit-details-marker{display:none}.week .wh{grid-template-columns:40px 1fr auto;align-items:center;gap:12px;display:grid}.week .wn{background:var(--surface-2);border-radius:12px;place-items:center;width:40px;height:40px;font-size:16px;font-weight:800;display:grid}.week.cur .wn{background:var(--accent);color:var(--accent-ink)}.week .wt b{font-weight:700;line-height:1.25;display:block}label.f{gap:5px;min-width:0;font-size:13.5px;font-weight:600;display:grid}label.f small{color:var(--muted);font-size:12px;font-weight:400}input[type=text],input[type=number],input[type=date],input[type=password],select,textarea{background:var(--surface-2);border:1.5px solid #0000;border-radius:12px;width:100%;min-width:0;min-height:46px;padding:11px 12px;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none}textarea{resize:vertical;min-height:72px}.f-time{gap:5px;min-width:0;display:grid}.f-time .lab{font-size:13.5px;font-weight:600}.f-time small{color:var(--muted);font-size:12px}.hms{gap:6px;display:flex}.hms label{color:var(--muted);flex:1;justify-items:center;gap:2px;min-width:0;font-size:11.5px;display:grid}.hms input{text-align:center;font-variant-numeric:tabular-nums;padding:11px 4px;font-weight:600}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grid2{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);align-items:end;gap:10px;display:grid}.grid4{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.days button,.seg button{background:var(--surface-2);min-height:44px;color:var(--muted);border:0;border-radius:12px;padding:4px 12px;font-size:14px;font-weight:600}.days button{padding:4px 0}.days button[aria-pressed=true],.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg.fill button{flex:1}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:6px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}tr:last-child td{border-bottom:0}td.m{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.tscroll{overflow-x:auto}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tile{background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:12px 14px}.tile b{letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1.1;display:block}.tile span{color:var(--muted);font-size:12px}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart text{fill:var(--axis);font-family:var(--sans);font-size:10px}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:12px;height:3px;display:inline-block}.legend i.sq{border-radius:3px;height:10px}.readout{font-variant-numeric:tabular-nums;min-height:20px;font-size:13px;font-weight:500}.dist{border-radius:8px;gap:2px;height:28px;display:flex;overflow:hidden}.dist div{min-width:2px}.scrim{z-index:20;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:560px;max-height:92dvh;padding:10px 16px calc(22px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;align-content:start;gap:14px;animation:.22s ease-out up;display:grid;overflow-y:auto}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.sheet .grab{background:var(--line);border-radius:2px;justify-self:center;width:40px;height:4px}.toast{left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:30;text-align:center;border-radius:14px;max-width:calc(100% - 32px);padding:11px 16px;font-size:14px;font-weight:500;position:fixed;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
