.cadence-app{--cad-bg:#0e1417;--cad-card:#172128;--cad-card-2:#1e2b33;--cad-ink:#eef4f7;--cad-muted:#93a6b2;--cad-accent:#34d399;--cad-accent-ink:#04231a;--cad-ember:#ff6b4a;--cad-cold:#5cc4ff;--cad-line:#263540;--cad-line-strong:#33434e;--cad-good:#34d399;--cad-warn:#ffb020;--cad-surface-1:#131c22;--cad-surface-3:#1e2a32;--cad-surface-4:#26343d;--cad-ink-2:#b7c4cd;--cad-faint:#6c7a84;--cad-accent-soft:rgba(52,211,153,.14);--cad-accent-hair:rgba(52,211,153,.34);--cad-ember-soft:rgba(255,107,74,.14);--cad-cold-soft:rgba(92,196,255,.14);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--tap:44px;--ease-tide:cubic-bezier(0.22,1,0.36,1);--ease-exit:cubic-bezier(0.4,0,1,1);--d-1:120ms;--d-2:200ms;--d-3:280ms;--d-4:400ms;--d-hero:900ms;--stagger:60ms;min-height:100dvh;background:radial-gradient(1200px 600px at 50% -10%,#1b2831 0,transparent 60%),var(--cad-bg);color:var(--cad-ink);font:17px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.cadence-app *,.cadence-app :after,.cadence-app :before{box-sizing:border-box}.cad-wrap{max-width:640px;margin:0 auto;padding:22px 16px 72px}.cad-header{display:flex;align-items:center;gap:12px;margin-bottom:22px}.cad-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--cad-ink)}.cad-mark{width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(135deg,var(--cad-accent),var(--cad-cold));display:grid;place-items:center;color:var(--cad-accent-ink)}.cad-wordmark{font-weight:800;letter-spacing:-.01em;font-size:1.15rem}.cad-wordmark span{color:var(--cad-accent)}.cad-tag{color:var(--cad-muted);font-size:.82rem;margin-left:auto;text-align:right;line-height:1.25}.cad-status{flex:none;font-size:.72rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;padding:3px 9px;border-radius:999px;border:1px solid;line-height:1.3}.cad-status.on{color:var(--cad-accent)}.cad-status.ready{color:var(--cad-cold)}.cad-status.soon{color:#ffb27a}.cad-status.later{color:var(--cad-muted)}.cad-hero h1{font-size:1.7rem;line-height:1.15;margin:6px 0 10px;letter-spacing:-.02em}.cad-hero p{color:var(--cad-muted);margin:0 0 18px}.cad-cta{display:inline-flex;align-items:center;gap:8px;text-decoration:none;background:var(--cad-accent);color:var(--cad-accent-ink);font-weight:700;padding:13px 18px;border-radius:12px}.cad-cta:active{transform:translateY(1px)}.cad-card{background:var(--cad-card);border:1px solid var(--cad-line);border-radius:16px;padding:18px;margin:14px 0}.cad-card h2{color:var(--cad-muted);margin:0 0 12px}.cad-card h2,.cad-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.cad-eyebrow{color:var(--cad-accent);margin:0 0 6px}.cad-label{display:block;font-size:.82rem;color:var(--cad-muted);margin:0 0 7px;font-weight:600}.cad-seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.cad-seg button{flex:1 1 auto;min-width:64px;padding:10px 12px;border-radius:10px;cursor:pointer;background:var(--cad-card-2);color:var(--cad-ink);border:1px solid var(--cad-line);font-weight:600;font-size:.95rem}.cad-seg button[aria-pressed=true]{background:var(--cad-accent);color:var(--cad-accent-ink);border-color:var(--cad-accent)}.cad-timerow{display:flex;align-items:flex-end;gap:10px}.cad-timefield{flex:1 1}.cad-timefield input{width:100%;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;padding:12px 8px;border-radius:12px;background:var(--cad-card-2);color:var(--cad-ink);border:1px solid var(--cad-line)}.cad-timefield input:focus{outline:2px solid var(--cad-accent);outline-offset:1px}.cad-timefield small{display:block;text-align:center;color:var(--cad-muted);font-size:.72rem;margin-top:5px;letter-spacing:.04em}.cad-colon{font-size:1.4rem;font-weight:800;color:var(--cad-muted);padding-bottom:22px}.cad-bignum{display:flex;align-items:baseline;gap:12px}.cad-bignum .n{font-size:3.2rem;font-weight:800;letter-spacing:-.03em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cad-bignum .lab{color:var(--cad-muted);font-weight:600}.cad-proj{font-size:1.7rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.cad-delta{font-weight:700}.cad-delta.good{color:var(--cad-good)}.cad-delta.warn{color:var(--cad-warn)}.cad-note{color:var(--cad-muted);font-size:.92rem;margin:10px 0 0}.cad-note strong{color:var(--cad-ink)}.cad-paces{width:100%;border-collapse:collapse}.cad-paces td{padding:11px 0;border-top:1px solid var(--cad-line);vertical-align:baseline}.cad-paces tr:first-child td{border-top:0}.cad-paces .zone{font-weight:700}.cad-paces .zsub{display:block;color:var(--cad-muted);font-size:.78rem;font-weight:500}.cad-paces .val{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.cad-paces .val small{display:block;color:var(--cad-muted);font-weight:500;font-size:.76rem}.cad-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;vertical-align:middle}.cad-zone{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--cad-line)}.cad-zone:first-child{border-top:0}.cad-zone .k{font-weight:700;width:44px}.cad-zone .nm{color:var(--cad-muted);flex:1 1}.cad-zone .bpm{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.cad-empty{padding:8px 0}.cad-empty,.cad-foot{color:var(--cad-muted);text-align:center}.cad-foot{font-size:.8rem;margin-top:26px;line-height:1.5}.cad-planhead{margin-bottom:6px}.cad-planhead .goal{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:4px 0 2px}.cad-planhead .sub{color:var(--cad-muted);margin:0}.cad-vdotpill{display:inline-flex;align-items:baseline;gap:6px;background:var(--cad-card-2);border:1px solid var(--cad-line);border-radius:999px;padding:5px 12px;font-weight:700}.cad-vdotpill span{color:var(--cad-muted);font-weight:600;font-size:.8rem}.cad-upnext{background:linear-gradient(135deg,rgba(52,211,153,.14),rgba(92,196,255,.1));border:1px solid var(--cad-accent);border-radius:16px;padding:16px;margin:16px 0}.cad-upnext .k{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cad-accent);font-weight:800}.cad-upnext .t{font-size:1.15rem;font-weight:800;margin:4px 0 2px}.cad-upnext .d{color:var(--cad-muted);margin:0;font-size:.92rem}.cad-week{background:var(--cad-card);border:1px solid var(--cad-line);border-radius:16px;padding:16px;margin:12px 0}.cad-week.now{border-color:var(--cad-accent);box-shadow:0 0 0 1px var(--cad-accent)}.cad-week-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.cad-week-top .wk{font-weight:800;font-size:1.05rem}.cad-week-top .ph{color:var(--cad-muted);font-size:.85rem}.cad-week-top .mi{margin-left:auto;color:var(--cad-muted);font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.cad-pill{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;padding:2px 8px;border-radius:999px;margin-left:8px}.cad-pill.deload{background:rgba(92,196,255,.16);color:var(--cad-cold)}.cad-pill.race{background:var(--cad-ember);color:#23120c}.cad-sess{display:grid;grid-template-columns:42px 1fr auto;grid-gap:10px;gap:10px;align-items:baseline;padding:9px 0;border-top:1px solid var(--cad-line)}.cad-sess:first-of-type{border-top:0}.cad-sess .day{font-weight:800;font-size:.8rem;color:var(--cad-muted);letter-spacing:.03em}.cad-sess .body .st{font-weight:700}.cad-sess .body .sd{color:var(--cad-muted);font-size:.85rem;display:block;margin-top:1px}.cad-sess .pace{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;font-size:.85rem;white-space:nowrap;color:var(--cad-ink)}.cad-sess.k-long .body .st,.cad-sess.k-long .day{color:var(--cad-accent)}.cad-sess.k-race{background:rgba(255,107,74,.07);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}.cad-sess.k-race .body .st,.cad-sess.k-race .day{color:var(--cad-ember)}.cad-sess.k-quality .day{color:var(--cad-warn)}.cad-dotk{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:middle}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cad-app-shell{min-height:100dvh;display:flex;flex-direction:column}.cad-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px var(--sp-4);background:rgba(14,20,23,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--cad-line)}.cad-topbar .cad-wordmark{font-size:1.05rem}.cad-iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-pill);background:var(--cad-surface-3);border:1px solid var(--cad-line);color:var(--cad-ink);text-decoration:none;font-weight:700}.cad-iconbtn.coach{gap:6px;padding:0 14px}.cad-main{flex:1 1}.cad-main .cad-wrap{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.cad-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(14,20,23,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--cad-line);padding-bottom:max(env(safe-area-inset-bottom),var(--cad-safe-test,0px))}.cad-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--tap);padding:8px 4px 7px;text-decoration:none;color:var(--cad-muted);font-weight:600}.cad-tab .lab{font-size:.68rem;letter-spacing:.02em}.cad-tab svg{width:22px;height:22px}.cad-tab[aria-current=page]{color:var(--cad-accent)}.cad-coach{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--cad-surface-1);border-left:2px solid var(--cad-accent-hair);border-radius:0 var(--r-md) var(--r-md) 0;margin:var(--sp-4) 0}.cad-coach .mark{width:9px;height:9px;border-radius:50%;background:var(--cad-accent);margin-top:7px;flex:none}.cad-coach p{margin:0;color:var(--cad-ink-2);font-size:.95rem;line-height:1.4}.cad-today-eyebrow{display:flex;align-items:center;gap:8px;color:var(--cad-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:6px}.cad-today-eyebrow .kind{color:var(--cad-accent)}.cad-today-eyebrow .kind.hard{color:var(--cad-ember)}.cad-today-eyebrow .kind.rest{color:var(--cad-cold)}.cad-today-card{background:var(--cad-card);border:1px solid var(--cad-line);border-radius:var(--r-xl);padding:20px}.cad-today-title{font-size:1.7rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0 0 8px}.cad-today-detail{color:var(--cad-ink-2);margin:0 0 4px}.cad-today-why{color:var(--cad-muted);font-size:.92rem;margin:8px 0 0}.cad-today-paces{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.cad-chip{display:inline-flex;align-items:baseline;gap:6px;background:var(--cad-surface-1);border:1px solid var(--cad-line);border-radius:var(--r-pill);padding:6px 12px;font-weight:700;font-size:.9rem}.cad-chip .k{color:var(--cad-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.cad-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;border:none;border-radius:var(--r-md);background:var(--cad-accent);color:var(--cad-accent-ink);font-weight:800;font-size:1.02rem;cursor:pointer;margin-top:18px;transition:transform var(--d-1) var(--ease-tide)}.cad-btn:active{transform:translateY(1px)}.cad-btn.ghost{background:var(--cad-surface-3);color:var(--cad-ink);border:1px solid var(--cad-line)}.cad-sec{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cad-muted);font-weight:700;margin:var(--sp-8) 0 var(--sp-3)}.cad-scrim{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.55);animation:cadFade var(--d-3) var(--ease-tide)}.cad-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--cad-surface-3);border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:1px solid var(--cad-line-strong);padding:18px 16px calc(20px + env(safe-area-inset-bottom));max-height:90dvh;overflow-y:auto;animation:cadRise var(--d-4) var(--ease-tide)}.cad-sheet h3{font-size:1.25rem;font-weight:800;margin:4px 0 2px;letter-spacing:-.01em}.cad-sheet .lead{color:var(--cad-muted);margin:0 0 16px;font-size:.95rem}.cad-grip{width:40px;height:4px;border-radius:2px;background:var(--cad-line-strong);margin:2px auto 14px}.cad-rpe{display:grid;grid-template-columns:repeat(10,1fr);grid-gap:5px;gap:5px}.cad-rpe button{min-height:var(--tap);border-radius:var(--r-sm);border:1px solid var(--cad-line);background:var(--cad-surface-1);color:var(--cad-ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.cad-rpe button[aria-pressed=true]{background:var(--cad-accent);color:var(--cad-accent-ink);border-color:var(--cad-accent)}.cad-scalelabels{display:flex;justify-content:space-between;color:var(--cad-muted);font-size:.72rem;margin-top:6px}.cad-felt{display:flex;flex-wrap:wrap;gap:8px}.cad-felt button{min-height:var(--tap);padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--cad-line);background:var(--cad-surface-1);color:var(--cad-ink);font-weight:600;cursor:pointer}.cad-felt button[aria-pressed=true]{background:var(--cad-accent-soft);border-color:var(--cad-accent);color:var(--cad-ink)}.cad-bodymap{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:6px}.cad-region{display:flex;align-items:center;justify-content:space-between;min-height:var(--tap);padding:0 14px;border-radius:var(--r-md);border:1px solid var(--cad-line);background:var(--cad-surface-1);color:var(--cad-ink);font-weight:600;cursor:pointer}.cad-region .sev{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:var(--r-pill);font-size:.8rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--cad-surface-4);color:var(--cad-muted)}.cad-region[data-sev="1"]{border-color:var(--cad-warn)}.cad-region[data-sev="1"] .sev{background:var(--cad-warn);color:#241a03}.cad-region[data-sev="2"]{border-color:var(--cad-ember)}.cad-region[data-sev="2"] .sev{background:var(--cad-ember);color:#23120c}.cad-region[data-sev="3"]{border-color:var(--cad-ember);box-shadow:0 0 0 1px var(--cad-ember)}.cad-region[data-sev="3"] .sev{background:var(--cad-ember);color:#23120c}.cad-fieldlabel{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cad-muted);font-weight:700;margin:20px 0 8px}@keyframes cadFade{0%{opacity:0}to{opacity:1}}@keyframes cadRise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cadence-app *,.cadence-app :after,.cadence-app :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.12ms!important;scroll-behavior:auto!important}.cad-scrim,.cad-sheet{animation:cadFade var(--d-2) linear!important}}.cad-import-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--cad-line)}.cad-import-row:first-child{border-top:0}.cad-import-row .st{font-weight:700;text-transform:capitalize}.cad-import-row .sub{color:var(--cad-muted);font-size:.8rem;margin-left:8px}.cad-import-row .v{color:var(--cad-ink-2);font-size:.85rem;white-space:nowrap}.cad-choice{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:16px;margin-bottom:10px;border-radius:var(--r-lg);background:var(--cad-card);border:1px solid var(--cad-line);color:var(--cad-ink);cursor:pointer;transition:border-color var(--d-1) var(--ease-tide)}.cad-choice:active{transform:translateY(1px)}.cad-choice:hover{border-color:var(--cad-accent-hair)}.cad-choice .nm{font-weight:800;font-size:1.05rem}.cad-choice .bl{color:var(--cad-muted);font-size:.9rem}.cad-input{width:100%;padding:12px 14px;border-radius:var(--r-md);background:var(--cad-surface-1);border:1px solid var(--cad-line);color:var(--cad-ink);font-size:1rem}.cad-input:focus{outline:2px solid var(--cad-accent);outline-offset:1px}textarea.cad-input{resize:vertical;font-family:inherit;line-height:1.45;min-height:96px}.cad-spark{display:flex;align-items:flex-end;gap:5px;height:56px}.cad-spark .bar{flex:1 1;background:var(--cad-accent-soft);border:1px solid var(--cad-accent-hair);border-radius:3px 3px 0 0}.cad-spark .bar[data-empty]{background:var(--cad-surface-1);border-color:var(--cad-line)}.cad-login{min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.cad-login-card{width:100%;max-width:380px}.cad-login .cad-wordmark{font-size:1.5rem}.cad-login-lede{color:var(--cad-muted);margin:6px 0 22px;line-height:1.5;font-size:.95rem}.cad-stack{display:flex;flex-direction:column;gap:14px}.cad-field{display:block}.cad-muted-copy{color:var(--cad-muted);font-size:.92rem;line-height:1.5;margin:0}.cad-form-error{margin:4px 0 0;padding:10px 12px;border-radius:var(--r-md);font-size:.92rem;line-height:1.45;background:var(--cad-ember-soft);color:var(--cad-ink);border:1px solid var(--cad-ember)}.cad-input.code{letter-spacing:.35em;font-size:1.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.cad-login .cad-btn{margin-top:4px}