:root{--app-canvas: #f8fafc;--app-surface: #ffffff;--app-banner: #e7ecf8;--app-subtle-surface: #f5f7fb;--app-ink: #0f172a;--app-muted: #475569;--app-accent: #1d4ed8;--app-border: #cbd5e1;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:3.5;color:var(--app-ink);background-color:var(--app-canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;min-height:100%;overflow-x:hidden;background:var(--app-canvas);text-rendering:optimizeLegibility}#root{width:100%;min-height:100%}button{border:none;border-radius:8px;background-color:#000;color:#fff;font-family:inherit;font-size:1em;font-weight:500;cursor:pointer;transition:background .2s,border-color .25s}button:hover{border-color:#646cff;background-color:#100d42}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.main{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100vh;height:100dvh;overflow:hidden;background:var(--app-canvas);color:var(--app-ink);text-align:center}.main.public-entry{justify-content:flex-start;height:auto;min-height:100vh;min-height:100dvh;padding:0;overflow:visible}.main.signed-in-home{justify-content:flex-start;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.main.signed-in-home>.title{margin-top:clamp(2.25rem,6vw,4rem)}.title{margin:0;font-size:4.5rem;line-height:1}.subtitle{margin:0;font-size:1.55em}.section-navigation{display:flex;justify-content:center;gap:2em;box-sizing:border-box;width:100%;max-width:100%;padding:0 1rem}.main:not(.signed-in-home) .section-navigation{display:none}.section-trigger{position:relative;z-index:1;flex:0 0 auto;box-sizing:border-box;width:7rem;min-width:7rem;min-height:3rem;overflow:hidden;border:solid black;border-radius:8px;background-color:var(--app-surface);box-shadow:0 1em .5em #ccc;color:#000;font-weight:700;text-align:center}.section-trigger-icon{display:none}.section-trigger-label{line-height:1}.section-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;box-sizing:border-box;width:100%;max-width:100vw;height:100%;min-width:0;overflow-x:hidden;overflow-y:auto;background-color:var(--app-canvas);text-align:center}.section-panel:before{position:absolute;top:0;right:0;left:0;height:5.75rem;border-bottom:1px solid var(--app-border);background:var(--app-banner);content:""}.section-panel-content{position:relative;z-index:1;box-sizing:border-box;width:min(100%,1200px);min-height:100%;margin:0 auto;padding:4rem clamp(1rem,4vw,3rem) 2rem}.training-stale{color:#7c4a03}.training-read-only{min-inline-size:0;margin:0;padding:0;border:0}.section-panel *,.section-panel *:before,.section-panel *:after{box-sizing:border-box}.section-heading{margin-top:0;margin-bottom:1em;color:var(--app-ink);line-height:1em}.close{position:absolute;top:1rem;right:1rem;z-index:3;width:2.75rem;height:2.75rem;padding:0;border:none;border-radius:4px;background-color:#0056b3;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}@media (max-width: 768px){.main.signed-in-home{justify-content:flex-start;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.section-navigation{position:fixed;right:0;bottom:0;left:0;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;width:100%;padding:.375rem max(.75rem,env(safe-area-inset-right)) calc(.375rem + env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));border-top:1px solid var(--app-border);background:#e7ecf8f5;box-shadow:0 -.35rem 1.25rem #0f172a1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.main:not(.signed-in-home) .section-navigation{display:grid}.section-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:100%;min-width:0;min-height:3.5rem;padding:.375rem .25rem;border:0;border-radius:.75rem;background:transparent;box-shadow:none;color:#475569;font-size:.75rem;line-height:1;cursor:pointer}.section-trigger[aria-current=page]{background:var(--app-surface);color:var(--app-accent)}.section-trigger-icon{display:block;width:1.5rem;height:1.5rem;fill:none;stroke:currentcolor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.section-panel-content{padding:4rem .75rem calc(5.5rem + env(safe-area-inset-bottom))}.title{margin-bottom:1rem;font-size:clamp(48px,15vw,56px)}.subtitle{margin-top:1rem;margin-bottom:2rem;font-size:1.1rem;line-height:1.5em}}.login-btn{box-sizing:border-box;min-width:8rem;min-height:2.75rem;padding:.65rem 1.25rem;border:2px solid #111827;border-radius:.5rem;background-color:#111827;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease,color .3s ease}.login-btn:hover,.logout-btn:hover{background-color:#1d4ed8;color:#fff}.session-controls{position:static;display:flex;align-items:center;align-self:stretch;justify-content:flex-end;gap:.75rem;box-sizing:border-box;width:100%;padding:clamp(.85rem,2vw,1.25rem) clamp(1rem,3vw,2rem);border-bottom:1px solid var(--app-border);background:var(--app-banner);line-height:1.2}.session-user{margin:0;color:var(--app-muted);font-size:.9rem}.logout-btn{box-sizing:border-box;width:auto;padding:10px 20px;border:solid;border-radius:5px;background-color:var(--app-surface);box-shadow:0 .4rem 1rem #0f172a14;color:var(--app-ink);font-size:1rem;font-weight:600}.auth-message{max-width:32rem;margin:1.5rem 1rem 0;color:#454545;line-height:1.5}.auth-error{color:#9f1d1d}.startup-error{display:grid;justify-items:center;gap:1rem;max-width:32rem;margin:1.5rem 1rem 0;color:#9f1d1d;line-height:1.5}.startup-error p{margin:0}.startup-error button{min-height:2.75rem;padding:.65rem 1.25rem}.login-wrapper{display:inline-block}.login-popup{position:fixed;top:50%;left:50%;z-index:1000;box-sizing:border-box;width:min(calc(100vw - 2rem),28rem);max-height:calc(100dvh - 2rem);padding:1.5rem;overflow-y:auto;border:2px solid #111827;border-radius:1rem;background:#fff;box-shadow:0 1.5rem 4rem #0f172a40;color:#111827;line-height:1.5;text-align:left;transform:translate(-50%,-50%)}.login-popup form{display:grid;gap:.75rem}.login-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.login-popup h2{margin:0;font-size:1.4rem;line-height:1.2}.login-close{flex:0 0 auto;width:2.75rem;height:2.75rem;padding:0;background:#fff;color:#111827;font-size:1.5rem;line-height:1}.login-help{margin:0;color:#374151}.login-popup label{font-weight:650}.login-popup input{box-sizing:border-box;width:100%;min-height:2.75rem;padding:.6rem .7rem;border:1px solid #4b5563;border-radius:.4rem;font:inherit}.login-submit{min-height:2.75rem;margin-top:.25rem}.login-submit:disabled,.login-secondary:disabled,.login-close:disabled,.login-popup input:disabled{cursor:wait;opacity:.65}.login-secondary{justify-self:start;min-height:2.75rem;padding:.4rem 0;background:transparent;color:#1d4ed8;font-weight:650;text-decoration:underline;text-underline-offset:.2em}.login-secondary:hover{background:transparent;color:#1e3a8a}.login-popup .error{margin:0;color:#9f1d1d;font-weight:600}.login-success{margin:0;padding:.85rem;border-radius:.5rem;background:#ecfdf5;color:#065f46;font-weight:600}.public-access{box-sizing:border-box;width:min(100%,68rem);margin:1.5rem auto 0;padding:clamp(1.25rem,3vw,2rem);border:1px solid #cbd5e1;border-radius:1rem;background:#f8fafc;color:#111827;line-height:1.55;text-align:left}.public-access-status{display:inline-block;margin:0 0 .6rem;padding:.2rem .65rem;border-radius:999px;background:#fef3c7;color:#78350f;font-size:.85rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.public-access h2,.public-access h3{color:#111827}.public-access h2{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.15}.public-access h3{margin:0 0 .5rem;font-size:1.05rem;line-height:1.3}.public-access-summary{max-width:54rem;margin:.8rem 0 1rem}.trust-navigation{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1.25rem;padding:.75rem 0;border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1}.trust-navigation a,.public-access a{color:#1d4ed8;font-weight:650;text-underline-offset:.2em}.trust-navigation a{display:inline-flex;align-items:center;min-width:2.75rem;min-height:2.75rem}.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.trust-grid>section{min-width:0;padding:1rem;border:1px solid #dbe3ee;border-radius:.75rem;background:#fff}.trust-grid p{margin:0}.public-access :target{scroll-margin-top:1rem}.public-access a:focus-visible,.login-popup input:focus-visible,.login-popup button:focus-visible{outline:3px solid #2563eb;outline-offset:3px}@media (max-width: 768px){.session-controls{flex-wrap:wrap;justify-content:flex-end}.session-user{max-width:min(55vw,18rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trust-grid{grid-template-columns:1fr}.login-btn{width:100%}}.landing-page{--landing-canvas: var(--app-canvas);--landing-surface: var(--app-surface);--landing-ink: var(--app-ink);--landing-muted: var(--app-muted);--landing-accent: var(--app-accent);--landing-border: var(--app-border);--landing-banner: var(--app-banner);--landing-content-width: 100rem;--landing-card-radius: 1rem;--landing-card-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .1);--landing-space-page: clamp(1rem, 2.25vw, 2rem);--landing-space-section: clamp(2rem, 6vw, 4.5rem);box-sizing:border-box;width:100%;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at top,rgba(29,78,216,.08),transparent 34rem),var(--landing-canvas);color:var(--landing-ink);line-height:1.5;text-align:left}.landing-page *,.landing-page *:before,.landing-page *:after{box-sizing:border-box}.landing-page__frame{width:min(100%,var(--landing-content-width));margin:0 auto;padding:clamp(1rem,3vw,2rem) var(--landing-space-page) var(--landing-space-section)}.landing-skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1100;display:inline-flex;align-items:center;min-height:2.75rem;padding:.65rem 1rem;border:2px solid var(--landing-ink);border-radius:.5rem;background:var(--landing-surface);color:var(--landing-ink);font-weight:700;transform:translateY(calc(-100% - 1rem))}.landing-skip-link:focus{outline:3px solid var(--landing-accent);outline-offset:3px;transform:translateY(0)}#landing-main-content:focus{outline:none}.landing-header{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:0 calc(-1 * var(--landing-space-page));padding:clamp(.85rem,2vw,1.25rem) var(--landing-space-page);border-bottom:1px solid rgba(15,23,42,.12);background:var(--landing-banner)}.landing-header__wordmark{margin:0;color:var(--landing-ink);font-size:clamp(1.9rem,4vw,2.5rem);font-weight:700;line-height:1;letter-spacing:-.045em}.landing-header__navigation{display:flex;align-items:center;gap:.75rem}.landing-header__navigation>a{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.6rem .75rem;border-radius:.5rem;color:var(--landing-ink);font-weight:650;text-decoration-thickness:.1em;text-underline-offset:.25em}.landing-header__navigation>a:hover{background:#1d4ed814;color:var(--landing-accent)}.landing-header__navigation>a:focus-visible,.landing-header__navigation .login-btn:focus-visible{outline:3px solid var(--landing-accent);outline-offset:3px}.landing-header__navigation .login-btn{width:auto}.landing-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:clamp(38rem,72svh,44rem);align-items:center;column-gap:clamp(.75rem,1vw,1rem);min-height:calc(100svh - 7.25rem);padding:clamp(1.5rem,3vw,3rem) 0}.landing-hero__copy{position:relative;z-index:2;grid-column:1 / 5;grid-row:1;display:grid;grid-template-rows:auto auto 1fr;align-self:stretch;gap:clamp(1rem,2vw,1.35rem);min-width:0;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--landing-border);border-radius:var(--landing-card-radius) 0 0 var(--landing-card-radius);background:var(--landing-banner)}.landing-hero h1{max-width:14ch;margin:0;color:var(--landing-ink);font-size:clamp(2.75rem,4vw,4rem);font-weight:600;line-height:1.02;letter-spacing:-.045em}.landing-hero__summary{max-width:36rem;margin:0;color:var(--landing-muted);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.5}.landing-hero__actions{display:flex;align-items:center;align-self:end;gap:1rem;margin-top:0}.landing-hero__ios-status{display:grid;grid-template-columns:auto minmax(0,1fr);flex:1 1 auto;align-items:center;gap:.75rem;min-width:0;padding:.85rem 1rem;border:1px solid var(--landing-border);border-radius:.75rem;background:#ffffffb8}.landing-hero__platform{flex:0 0 auto;padding:.25rem .55rem;border-radius:999px;background:#1d4ed81a;color:var(--landing-accent);font-size:.8rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.landing-hero__ios-status p{min-width:0;margin:0;color:var(--landing-muted);font-size:.9rem;line-height:1.45}.landing-hero__ios-status strong{color:var(--landing-ink)}.landing-hero__ios-status a{display:inline-flex;align-items:center;grid-column:2;justify-self:start;flex:0 0 auto;min-width:2.75rem;min-height:2.75rem;color:var(--landing-accent);font-size:.9rem;font-weight:650;text-underline-offset:.2em;white-space:nowrap}.landing-hero__ios-status a:focus-visible,.landing-hero__actions .login-btn:focus-visible{outline:3px solid var(--landing-accent);outline-offset:3px}.landing-hero__actions .login-wrapper{flex:0 0 auto}.landing-hero__actions .login-btn{min-width:10rem}.landing-hero__media{position:relative;z-index:1;grid-column:3 / 11;grid-row:1;min-width:0;height:100%;overflow:hidden;border-radius:var(--landing-card-radius);background:#cbd5e1;box-shadow:var(--landing-card-shadow)}.landing-hero__media:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(15,23,42,.08),transparent 58%,rgba(15,23,42,.2));content:"";pointer-events:none}.landing-hero__video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}.landing-preview{position:relative;z-index:2;display:grid;grid-column:8 / 13;grid-row:1;align-self:center;justify-self:end;gap:1.25rem;width:100%;min-width:0;padding:clamp(1.25rem,3vw,1.75rem);border:1px solid var(--landing-border);border-radius:var(--landing-card-radius);background:#ffffffe6;box-shadow:var(--landing-card-shadow)}.landing-preview__header{display:grid;gap:.5rem}.landing-preview__run-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.landing-preview__product-areas>p,.landing-preview__run-heading p{margin:0;color:var(--landing-muted);font-size:.75rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.landing-preview__sample-badge{justify-self:end;flex:0 0 auto;padding:.2rem .5rem;border-radius:999px;background:#e2e8f0;color:var(--landing-ink);font-size:.72rem;font-weight:700}.landing-preview__header h2{margin:0;color:var(--landing-ink);font-size:clamp(1.55rem,3vw,2rem);line-height:1.1;letter-spacing:-.035em}.landing-preview__product-areas{position:relative;display:grid;gap:.45rem}.landing-preview__area-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.3rem;border-radius:.7rem;background:#e2e8f0}.landing-preview__area-buttons button{min-width:0;min-height:2.75rem;padding:.45rem .35rem;border:0;border-radius:.45rem;background:transparent;color:var(--landing-muted);cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;text-align:center;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.landing-preview__area-buttons button:hover{color:var(--landing-ink)}.landing-preview__area-buttons button[aria-pressed=true]{background:var(--landing-surface);color:var(--landing-accent);box-shadow:0 1px 3px #0f172a1f}.landing-preview__area-buttons button:focus-visible{position:relative;z-index:4;outline:3px solid var(--landing-accent);outline-offset:2px}.landing-preview__demo-cursor{--landing-preview-cursor-x: 16.667%;position:absolute;top:2.4rem;left:var(--landing-preview-cursor-x);z-index:3;width:2.25rem;height:2.8rem;pointer-events:none;filter:drop-shadow(0 .2rem .2rem rgba(15,23,42,.28));transform-origin:.25rem .25rem;transition:left .7s cubic-bezier(.22,1,.36,1)}.landing-preview__demo-cursor--track{--landing-preview-cursor-x: 50%}.landing-preview__demo-cursor--analyze{--landing-preview-cursor-x: 83.333%}.landing-preview__demo-cursor svg{position:relative;z-index:2;display:block;width:100%;height:100%;overflow:visible}.landing-preview__demo-cursor path{fill:#fff;stroke:var(--landing-ink);stroke-linejoin:round;stroke-width:2}.landing-preview__demo-cursor>span{position:absolute;top:-.45rem;left:-.45rem;width:1.35rem;height:1.35rem;border:2px solid var(--landing-accent);border-radius:50%;opacity:0}.landing-preview__demo-cursor--clicking{animation:landing-preview-cursor-press .24s ease-out}.landing-preview__demo-cursor--clicking>span{animation:landing-preview-cursor-ring .24s ease-out}.landing-preview__stage{display:grid;min-width:0}.landing-preview__panel{grid-area:1 / 1;min-width:0;visibility:hidden;pointer-events:none}.landing-preview__panel[data-active=true]{visibility:visible;animation:landing-preview-panel-enter .28s ease-out}.landing-preview__run-card{display:grid;align-content:start;gap:1rem;height:100%;min-height:15rem;padding:1rem;border:1px solid var(--landing-border);border-radius:.85rem;background:var(--landing-surface)}.landing-preview__run-heading h3{margin:.2rem 0 0;color:var(--landing-ink);font-size:1rem}.landing-preview__distance{display:grid;flex:0 0 auto;text-align:right}.landing-preview__distance strong{color:var(--landing-ink);font-size:1.2rem;line-height:1.1}.landing-preview__distance span{color:var(--landing-muted);font-size:.7rem}.landing-preview__coach-note{margin:0;padding:.75rem;border-left:3px solid var(--landing-accent);border-radius:0 .55rem .55rem 0;background:#1d4ed812;color:var(--landing-muted);font-size:.82rem;line-height:1.45}.landing-preview__saved-state{display:inline-flex;align-items:center;justify-self:start;gap:.4rem;padding:.35rem .6rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:.78rem;font-weight:750}.landing-preview__saved-state span{font-size:.9rem}.landing-preview__trend{display:flex;align-items:flex-end;gap:.45rem;height:4.5rem;padding:.65rem .75rem 0;border-radius:.65rem;background:linear-gradient(to top,rgba(203,213,225,.6) 1px,transparent 1px) 0 0 / 100% 33.333%,#f8fafce6}.landing-preview__trend span{flex:1 1 0;min-width:0;border-radius:.3rem .3rem 0 0;background:#1d4ed852}.landing-preview__trend span:nth-child(1){height:38%}.landing-preview__trend span:nth-child(2){height:56%}.landing-preview__trend span:nth-child(3){height:72%}.landing-preview__trend span:nth-child(4){height:94%;background:var(--landing-accent)}.landing-preview__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem;margin:0}.landing-preview__details div{min-width:0}.landing-preview__details dt{color:var(--landing-muted);font-size:.73rem}.landing-preview__details dd{margin:.15rem 0 0;color:var(--landing-ink);font-size:.9rem;font-weight:700;overflow-wrap:anywhere}@media (min-width: 1101px){.landing-preview{grid-column:9 / 13;gap:.8rem;width:min(100%,25rem);padding:1rem 1.125rem}.landing-preview__header{gap:.35rem}.landing-preview__header h2{font-size:1.4rem;line-height:1.12}.landing-preview__product-areas{gap:.35rem}.landing-preview__area-buttons{gap:.25rem;padding:.25rem}.landing-preview__run-card{gap:.75rem;min-height:13rem;padding:.85rem}.landing-preview__coach-note{padding:.65rem}.landing-preview__trend{height:3.75rem}.landing-preview__details{gap:.65rem .85rem}}@keyframes landing-preview-cursor-press{50%{transform:scale(.82)}}@keyframes landing-preview-cursor-ring{0%{opacity:.8;transform:scale(.45)}to{opacity:0;transform:scale(1.35)}}@keyframes landing-preview-panel-enter{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}.landing-how-it-works{display:grid;gap:clamp(1.5rem,3vw,2.25rem);padding:var(--landing-space-section) 0}.landing-how-it-works__intro{display:grid;gap:.6rem;max-width:48rem}.landing-how-it-works__eyebrow{margin:0;color:var(--landing-accent);font-size:.85rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.landing-how-it-works__intro h2{margin:0;color:var(--landing-ink);font-size:clamp(2rem,5vw,3.5rem);line-height:1;letter-spacing:-.045em}.landing-how-it-works__intro>p:last-child{margin:0;color:var(--landing-muted);font-size:clamp(1rem,2vw,1.15rem)}.landing-how-it-works__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.landing-how-it-works__card{display:flex;flex-direction:column;gap:.85rem;min-width:0;padding:clamp(1.25rem,2.5vw,1.65rem);border:1px solid var(--landing-border);border-radius:var(--landing-card-radius);background:var(--landing-surface);box-shadow:0 .8rem 2.5rem #0f172a12}.landing-how-it-works__card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.landing-how-it-works__card-heading>span{color:var(--landing-accent);font-size:.85rem;font-weight:800;letter-spacing:.08em}.landing-how-it-works__status{margin:0;padding:.25rem .55rem;border-radius:999px;background:#e2e8f0;color:var(--landing-ink);font-size:.72rem;font-weight:750;text-align:center}.landing-how-it-works__card h3{margin:.15rem 0 0;color:var(--landing-ink);font-size:1.35rem;line-height:1.2;letter-spacing:-.025em}.landing-how-it-works__card>p:not(.landing-how-it-works__status){margin:0;color:var(--landing-muted);line-height:1.6}.landing-how-it-works__card strong{color:var(--landing-ink)}.landing-how-it-works__boundary{padding-top:.85rem;border-top:1px solid var(--landing-border)}.landing-platforms{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(1.5rem,4vw,3.5rem);margin-bottom:var(--landing-space-section);padding:clamp(1.5rem,4vw,3rem);border-radius:var(--landing-card-radius);background:var(--landing-ink);box-shadow:var(--landing-card-shadow);color:var(--landing-surface)}.landing-platforms__intro{display:grid;align-content:start;gap:.75rem}.landing-platforms__eyebrow,.landing-platforms__label{margin:0;color:#93c5fd;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.landing-platforms__intro h2{margin:0;color:var(--landing-surface);font-size:clamp(2rem,4.5vw,3.25rem);line-height:1;letter-spacing:-.045em}.landing-platforms__intro>p:last-child,.landing-platforms__card>p:not(.landing-platforms__label){margin:0;color:#cbd5e1;line-height:1.55}.landing-platforms__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.landing-platforms__card{display:flex;flex-direction:column;gap:.8rem;min-width:0;padding:1.25rem;border:1px solid rgba(203,213,225,.35);border-radius:.85rem;background:#ffffff0f}.landing-platforms__card h3{margin:0;color:var(--landing-surface);font-size:1.5rem;letter-spacing:-.025em}.landing-platforms__card strong{color:var(--landing-surface)}.landing-platforms__status{padding-top:.8rem;border-top:1px solid rgba(203,213,225,.35);font-size:.88rem}.landing-platforms__card>a,.landing-platforms__card .login-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.75rem;margin-top:auto;padding:.65rem 1rem;border:2px solid var(--landing-surface);border-radius:.5rem;background:var(--landing-surface);color:var(--landing-ink);font-size:.95rem;font-weight:700;text-align:center;text-decoration:none}.landing-platforms__card .login-wrapper{display:block;width:100%;margin-top:auto}.landing-platforms__card>a:hover,.landing-platforms__card .login-btn:hover{border-color:#bfdbfe;background:#bfdbfe;color:var(--landing-ink)}.landing-platforms__card>a:focus-visible,.landing-platforms__card .login-btn:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.landing-page .public-access{width:100%;margin:0;border-color:var(--landing-border);border-radius:var(--landing-card-radius);background:var(--landing-surface);box-shadow:var(--landing-card-shadow)}.landing-page .public-access a{color:var(--landing-accent)}@media (prefers-reduced-motion: reduce){.landing-preview__area-buttons button{transition:none}.landing-preview__demo-cursor{display:none}.landing-preview__panel[data-active=true]{animation:none}}@media (max-width: 640px){.landing-page__frame{padding-top:1rem;padding-bottom:2rem}.landing-header{align-items:stretch;flex-direction:column;gap:1rem}.landing-header__wordmark{text-align:center}.landing-header__navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.landing-header__navigation .login-wrapper,.landing-header__navigation .login-btn{width:100%}.landing-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;min-height:0;padding:0 0 clamp(2.5rem,6vw,4.5rem)}.landing-hero__copy{grid-column:1;grid-row:1;padding:3.25rem 0 clamp(2rem,4vw,3rem);border:0;background:transparent;box-shadow:none}.landing-hero__media{grid-column:1;grid-row:2;height:min(36rem,125vw)}.landing-preview{grid-column:1;grid-row:3;width:calc(100% - 1rem);margin:-3rem 0 0 auto;transform:none}.landing-hero__actions,.landing-hero__ios-status{align-items:stretch;flex-direction:column}.landing-hero__ios-status{grid-template-columns:minmax(0,1fr)}.landing-hero__ios-status a{grid-column:1;align-self:flex-start;white-space:normal}.landing-hero__actions .login-wrapper,.landing-hero__actions .login-btn{width:100%}.landing-how-it-works__cards,.landing-platforms,.landing-platforms__cards{grid-template-columns:minmax(0,1fr)}}@media (min-width: 641px) and (max-width: 1100px){.landing-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;max-width:54rem;min-height:0;padding:0 0 clamp(2.5rem,6vw,4.5rem)}.landing-hero__copy{grid-column:1;grid-row:1;padding:clamp(3rem,7vw,5.5rem) 0 clamp(2rem,4vw,3rem);border:0;background:transparent;box-shadow:none}.landing-hero__media{grid-column:1;grid-row:2;width:82%;height:clamp(34rem,78vw,44rem)}.landing-preview{grid-column:1;grid-row:3;width:min(90%,38rem);margin:-9rem 0 0 auto;transform:none}.landing-how-it-works__cards,.landing-platforms{grid-template-columns:minmax(0,1fr)}}.account-settings-btn{box-sizing:border-box;min-height:2.75rem;padding:.6rem .9rem;border:2px solid #334155;background:#fff;color:#111827;font-weight:650}.account-settings-btn:hover{background:#e2e8f0;color:#111827}.account-settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;box-sizing:border-box;padding:1rem;overflow-y:auto;background:#0f172aad;color:#111827;line-height:1.5;text-align:left}.account-settings-dialog{box-sizing:border-box;width:min(100%,40rem);max-height:calc(100dvh - 2rem);padding:clamp(1.25rem,4vw,2rem);overflow-y:auto;border:2px solid #334155;border-radius:1rem;background:#fff;box-shadow:0 1.5rem 4rem #0f172a4d}.account-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.account-settings-eyebrow{margin:0 0 .25rem;color:#475569;font-size:.82rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.account-settings-dialog h2,.account-settings-dialog h3,.account-deletion-receipt h1{margin:0;line-height:1.2}.account-support-diagnostics{margin-top:1.5rem;padding:1rem;border-radius:.75rem;background:#eff6ff}.account-support-diagnostics p{margin:.75rem 0 0}.account-support-diagnostics button{min-height:2.75rem;margin-top:.9rem;padding:.6rem .85rem}.account-support-diagnostics label{display:grid;gap:.4rem;margin-top:.75rem}.account-support-diagnostics textarea{box-sizing:border-box;width:100%;min-height:9rem;resize:vertical;font:.8rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.account-support-diagnostics .account-support-diagnostics-note{color:#475569;font-size:.9rem}.account-deletion-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #cbd5e1}.account-settings-dialog h2:focus,.account-deletion-error:focus{outline:3px solid #2563eb;outline-offset:.25rem}.account-settings-close{flex:0 0 auto;width:2.75rem;height:2.75rem;padding:0;background:transparent;color:#111827;font-size:1.75rem;line-height:1}.account-settings-close:hover{background:#e2e8f0;color:#111827}.account-deletion-facts{padding-left:1.4rem}.account-settings-dialog form{display:grid;gap:.75rem;margin-top:1.25rem}.account-settings-dialog label{font-weight:700}.account-settings-dialog input{box-sizing:border-box;width:100%;min-height:2.75rem;padding:.65rem .75rem;border:1px solid #475569;border-radius:.45rem;font:inherit}.account-deletion-submit,.account-deletion-resolve,.account-deletion-done{min-height:3rem;padding:.7rem 1rem;font-weight:750}.account-deletion-submit{background:#991b1b}.account-deletion-submit:hover{background:#7f1d1d}.account-deletion-submit:disabled,.account-deletion-resolve:disabled,.account-settings-close:disabled,.account-settings-dialog input:disabled{cursor:wait;opacity:.6}.account-deletion-status{margin:0;color:#334155}.account-deletion-error,.account-deletion-signout-error{margin:0;color:#991b1b;font-weight:650}.account-deletion-receipt{box-sizing:border-box;width:min(calc(100% - 2rem),42rem);margin:auto;padding:clamp(1.5rem,5vw,2.5rem);border:2px solid #0f766e;border-radius:1rem;background:#f0fdfa;color:#111827;line-height:1.55;text-align:left}.account-deletion-request-id{display:grid;gap:.6rem;padding:1rem;border-radius:.6rem;background:#fff}.account-deletion-request-id span{font-weight:700}.account-deletion-request-id code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.account-deletion-request-id button{justify-self:start;min-height:2.75rem;padding:.6rem .85rem}.account-deletion-signout-error{display:grid;gap:.75rem}.account-deletion-signout-error p{margin:0}.account-deletion-signout-error button{justify-self:start;min-height:2.75rem;padding:.6rem .85rem}@media (max-width: 768px){.session-controls{position:static;box-sizing:border-box;width:min(calc(100% - 1.5rem),34rem);margin:1rem auto 1.5rem;justify-content:center;flex-wrap:wrap}.session-user{flex:1 0 100%;width:100%;max-width:100%;overflow:visible;overflow-wrap:anywhere;white-space:normal;text-overflow:clip;text-align:center}.account-settings-dialog{max-height:calc(100dvh - 1rem)}}.plan-container{width:100%;max-width:60rem;margin:0 auto;color:#172033;font-family:inherit;line-height:1.5;text-align:left}.plan-header{margin-bottom:1.5rem;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--app-border);border-radius:1rem;background:var(--app-banner)}.plan-heading{text-align:center}.plan-name{margin:0 0 .25rem;color:#4f5f76;font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.plan-heading .section-heading{margin-bottom:.35rem;font-size:clamp(1.6rem,5vw,2.25rem);line-height:1.15}.plan-week-dates{margin:0;color:#4f5f76}.plan-week-controls{display:flex;align-items:end;justify-content:center;gap:.75rem;margin:1.25rem 0}.plan-week-controls button,.plan-week-controls select{min-height:2.75rem}.plan-week-controls button{padding:.65rem 1rem}.plan-week-controls button:disabled{background:#d8e0eb;color:#536277;cursor:not-allowed}.plan-week-controls label{display:grid;gap:.25rem;color:#34435a;font-size:.85rem;font-weight:700;line-height:1.3;text-align:left}.week-selector{min-width:6rem;padding:.5rem .75rem;border:1px solid #8593a8;border-radius:.5rem;background:#fff;color:#172033;font:inherit;font-size:1rem;cursor:pointer}.plan-week-summary,.plan-workout-details{margin:0}.plan-week-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.plan-week-summary>div{min-width:0;padding:.875rem;border:1px solid #d8e0eb;border-radius:.75rem;background:var(--app-surface)}.plan-week-summary dt,.plan-workout-details dt{color:#536277;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.plan-week-summary dd,.plan-workout-details dd{margin:.2rem 0 0;overflow-wrap:anywhere;font-weight:700}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.875rem;margin:0;padding:0;list-style:none}.plan-grid li{min-width:0}.plan-day{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;min-height:10.5rem;padding:1rem;border:1px solid #ccd5e2;border-left-width:.4rem;border-radius:.875rem;background:var(--app-surface);color:#172033;font:inherit;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.plan-day:hover{border-color:#4b6f9d;background:var(--app-surface);box-shadow:0 .5rem 1.25rem #1f2f441f;transform:translateY(-1px)}.plan-day:focus-visible{outline:3px solid #1167b1;outline-offset:3px}.plan-day.completed{box-shadow:inset 0 0 0 2px #278b57}.plan-day.skipped{border-style:dashed;background:#f5f6f8}.plan-day-date{color:#536277;font-size:.875rem;font-weight:700}.plan-day-workout{font-size:1.25rem;font-weight:800}.plan-day-meta{color:#34435a;overflow-wrap:anywhere}.plan-day-status{margin-top:auto;padding:.25rem .55rem;border-radius:999px;background:#e5eaf1;color:#34435a;font-size:.8rem;font-weight:800}.plan-day-status.completed{background:#dff3e8;color:#155b37}.plan-day-status.skipped{background:#eceef2;color:#4b5565}.long-run,.race-run{border-left-color:#b54747}.easy-run,.recovery-run{border-left-color:#278b57}.tempo-run,.intervals-run{border-left-color:#a36b00}.rest-day{border-left-color:#718096}.plan-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0a111c9e}.plan-modal-content{width:min(100%,30rem);max-height:min(42rem,calc(100dvh - 2rem));padding:clamp(1.25rem,4vw,2rem);overflow-y:auto;border-radius:1rem;background-color:var(--app-surface);box-shadow:0 1.5rem 3rem #0a111c4d;color:#172033;line-height:1.5;text-align:left}.plan-modal-content h3{margin:0;font-size:1.75rem;line-height:1.2}.plan-modal-date{margin:.35rem 0 1.25rem;color:#536277}.plan-workout-details{display:grid;gap:.75rem}.plan-workout-details>div{padding-bottom:.75rem;border-bottom:1px solid #e1e6ed}.plan-workout-notes{margin-top:1.25rem;padding:1rem;border-radius:.75rem;background:var(--app-subtle-surface)}.plan-workout-notes h4,.plan-workout-notes p{margin:0}.plan-workout-notes p{margin-top:.35rem;overflow-wrap:anywhere}.plan-modal-content>button{width:100%;min-height:2.75rem;margin-top:1.5rem;padding:.65rem 1rem}@media (max-width: 600px){.plan-week-controls{flex-wrap:wrap}.plan-week-controls label{order:-1;width:100%}.week-selector{width:100%}.plan-week-controls button{flex:1 1 calc(50% - .375rem);min-width:0}.plan-week-summary,.plan-grid{grid-template-columns:1fr}.plan-day{min-height:9.5rem}}@media (prefers-reduced-motion: reduce){.plan-day{transition:none}}.next-workout-summary{width:min(100%,42rem);box-sizing:border-box;margin:1.25rem auto;padding:1.25rem;border:1px solid var(--app-border);border-radius:.9rem;background:var(--app-surface);color:#16202a;line-height:1.5;text-align:left}.next-workout-summary h2,.next-workout-summary p{margin:0}.next-workout-summary h2{margin-top:.2rem;font-size:clamp(1.25rem,3vw,1.65rem)}.next-workout-summary h2+p,.next-workout-target,.next-workout-summary.empty p:not(.next-workout-label){margin-top:.55rem}.next-workout-label{color:#315866;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.next-workout-target{font-weight:700}.next-workout-summary button{min-height:2.75rem;margin-top:1rem;padding:.6rem 1rem}.plan-approval-state{box-sizing:border-box;width:min(100%,44rem);margin:0 auto;padding:clamp(1.25rem,4vw,2rem);border:1px solid #d7dde4;border-radius:.75rem;background:#f8fafc;color:#17202a;line-height:1.5;text-align:left}.plan-approval-state.approved{border-color:#28754d;background:#f2fbf6;text-align:center}.plan-approval-state h2,.plan-approval-state h3{line-height:1.25}.plan-approval-state h2:focus,.plan-approval-outcome:focus{outline:3px solid #2e6fbb;outline-offset:.25rem}.plan-approval-eyebrow{margin:0;color:#475569;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.plan-approval-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}.plan-approval-summary div{padding:.75rem;border:1px solid #d7dde4;border-radius:.5rem;background:#fff}.plan-approval-summary dt{font-size:.85rem;font-weight:700}.plan-approval-summary dd{margin:.2rem 0 0}.plan-approval-pending,.plan-approval-outcome{margin:1rem 0 0;padding:.85rem 1rem;border-radius:.5rem}.plan-approval-pending{background:#eef4fb}.plan-approval-outcome{border:1px solid #9a6a00;background:#fffaf0}.plan-approval-outcome h3,.plan-approval-outcome p{margin:0}.plan-approval-outcome p{margin-top:.35rem}.plan-approval-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.plan-approval-actions button{min-height:2.75rem;padding:.65rem 1rem}.plan-approval-actions .secondary{border:1px solid #17202a;background:#fff;color:#17202a}@media (max-width: 600px){.plan-approval-summary{grid-template-columns:1fr}.plan-approval-actions{flex-direction:column}.plan-approval-actions button{width:100%}}.plan-result-state{box-sizing:border-box;width:min(100%,36rem);margin:0 auto;padding:clamp(1.25rem,4vw,2rem);border:1px solid #d7dde4;border-radius:.75rem;background:#f8fafc;color:#17202a;line-height:1.5;text-align:center}.plan-result-state.unsupported{border-color:#7b5800;background:#fffaf0}.plan-result-state.invalid-input{border-color:#8b2635;background:#fff7f8}.plan-result-state h2{margin:.5rem 0;line-height:1.25}.plan-result-state-label{margin:0;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.plan-result-reasons-heading{margin:1rem 0 .25rem;font-weight:700;text-align:left}.plan-result-reasons{margin:0;padding-left:1.25rem;text-align:left}.plan-result-reasons li+li{margin-top:.5rem}.plan-result-state button{min-height:2.75rem;margin-top:.75rem;padding:.65rem 1rem}@media (max-width: 600px){.plan-result-state button{width:100%}}.plan-proposal-builder{box-sizing:border-box;width:min(100%,54rem);margin:0 auto;color:#17202a;line-height:1.5;text-align:left}.plan-proposal-header{max-width:42rem;margin:0 auto 1.25rem;text-align:center}.plan-proposal-header h2,.plan-proposal-unavailable h2{margin:.35rem 0 .65rem;line-height:1.15}.plan-proposal-eyebrow{margin:0;color:#475569;font-size:.82rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.plan-proposal-boundary{margin:1rem 0 1.5rem;padding:.8rem 1rem;border:1px solid #a8b9ca;border-radius:.65rem;background:#f2f6fa;color:#334155;font-size:.92rem}.plan-proposal-form,.plan-proposal-start-dates,.plan-proposal-safety{display:grid;gap:1rem}.plan-proposal-start-dates,.plan-proposal-safety{margin:0;padding:clamp(1rem,3vw,1.5rem);border:1px solid #d7dde4;border-radius:.85rem;background:#fff}.plan-proposal-start-dates legend,.plan-proposal-safety legend{padding:0 .3rem;font-size:1.05rem;font-weight:750}.plan-proposal-start-dates p,.plan-proposal-safety p{margin:0;color:#475569}.plan-proposal-start-dates .plan-proposal-field-error,.plan-proposal-safety .plan-proposal-field-error{color:#9f1239;font-weight:700}.plan-proposal-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem}.plan-proposal-choice-grid label{display:flex;gap:.7rem;align-items:flex-start;min-width:0;padding:.85rem;border:1px solid #cbd5e1;border-radius:.7rem;cursor:pointer}.plan-proposal-choice-grid label:has(input:checked){border-color:#1d5f9f;background:#edf6ff;box-shadow:0 0 0 1px #1d5f9f}.plan-proposal-choice-grid input{flex:0 0 auto;margin-top:.25rem}.plan-proposal-choice-grid span{display:grid;min-width:0;gap:.15rem}.plan-proposal-choice-grid small{color:#475569}.plan-proposal-safety-choices{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.plan-proposal-safety-choices label{display:inline-flex;gap:.45rem;align-items:center;min-height:2.75rem;font-weight:700;cursor:pointer}.plan-proposal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.plan-proposal-actions button,.plan-proposal-unavailable button{min-height:2.75rem;padding:.65rem 1rem}.plan-proposal-actions .secondary{border:1px solid #17202a;background:#fff;color:#17202a}.plan-proposal-unavailable{padding:clamp(1.25rem,4vw,2rem);border:1px solid #d7dde4;border-radius:.85rem;background:#f8fafc;text-align:center}.plan-proposal-unavailable p:not(.plan-proposal-eyebrow){max-width:38rem;margin-right:auto;margin-left:auto}.plan-proposal-result .proposed-plan,.plan-proposal-result .plan-result-state{margin-top:1.25rem}@media (max-width: 600px){.plan-proposal-actions{flex-direction:column-reverse}.plan-proposal-actions button,.plan-proposal-unavailable button{width:100%}}.proposed-plan{width:min(100%,54rem);margin:0 auto;color:#17202a;line-height:1.5;text-align:left}.proposed-plan-header{text-align:center}.proposed-plan-header h2,.proposed-plan h3,.proposed-plan h4{line-height:1.25}.proposed-plan-status{display:inline-block;margin:0 0 .75rem;padding:.35rem .75rem;border:1px solid #7b5800;border-radius:999px;background:#fff4cc;color:#573e00;font-weight:700}.proposed-plan-dates,.proposed-plan-provenance dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}.proposed-plan-dates div,.proposed-plan-provenance dl div{padding:.75rem;border:1px solid #d7dde4;border-radius:.5rem;background:#f8fafc}.proposed-plan dt{font-size:.85rem;font-weight:700}.proposed-plan dd{margin:.2rem 0 0;overflow-wrap:anywhere}.proposed-plan-phase-list,.proposed-plan-workouts{padding:0;list-style:none}.proposed-plan-phase-list{display:flex;flex-wrap:wrap;gap:.75rem}.proposed-plan-phase-list li{padding:.55rem .75rem;border-radius:.5rem;background:#eef4fb}.proposed-plan-week-list{display:grid;gap:1rem}.proposed-plan-week{padding:1rem;border:1px solid #d7dde4;border-radius:.75rem}.proposed-plan-week h4,.proposed-plan-week p{margin-top:0}.proposed-plan-workouts{display:grid;gap:.6rem;margin-bottom:0}.proposed-plan-workouts li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding-top:.6rem;border-top:1px solid #e6eaf0}.proposed-plan-provenance{margin-top:1.5rem}.proposed-plan-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.proposed-plan-actions button{min-height:2.75rem;padding:.65rem 1rem}.proposed-plan-actions .secondary{border:1px solid #17202a;background:#fff;color:#17202a}@media (max-width: 600px){.proposed-plan-dates,.proposed-plan-provenance dl{grid-template-columns:1fr}.proposed-plan-actions{flex-direction:column-reverse}.proposed-plan-actions button{width:100%}}.tracker{display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;gap:2rem;width:min(100%,900px);max-width:900px;margin:auto;padding:2rem}.entry,.shoe-tracking{box-sizing:border-box;flex:1;min-width:0;padding:clamp(16px,1.5rem,24px);border-radius:8px;border:1px solid var(--app-border);background:var(--app-surface);box-shadow:0 4px 10px #0000001a;color:#000}.space-y-3{display:flex;flex-direction:column;align-items:center}.tracker input,.tracker select,.tracker textarea,.tracker button{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:2.75rem;font:inherit}.tracker textarea{min-height:5rem;resize:vertical}.tracker form,.tracker li{display:flex;flex-direction:column;gap:.5rem;min-width:0}.entry h2,.entry h3,.shoe-tracking h3{max-width:100%;overflow-wrap:anywhere}.tracker ul{margin:0;padding:0}.training-error{color:#8a1c1c}.training-empty-state,.training-status,.training-field-hint{color:#555}.tracker-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.training-field-hint,.run-notes{margin:0}.tracker li{list-style-type:none}.run-entry-form label,.run-edit-form label,.shoe-entry-form label{display:grid;gap:.35rem;width:100%;min-width:0;font-weight:700;text-align:left}.elapsed-duration-input{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;margin:0;padding:0;border:0;text-align:left}.elapsed-duration-input legend{margin-bottom:.35rem;padding:0;font-weight:700}.elapsed-duration-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,.35rem,12px);width:100%;min-width:0}.elapsed-duration-segments label{box-sizing:border-box;grid-template-columns:minmax(0,1fr);width:auto;max-width:none;min-width:0;font-size:clamp(16px,.85rem,24px)}.elapsed-duration-segments label span{max-width:100%;white-space:nowrap;text-align:center}.elapsed-duration-segments input{display:block;width:100%;max-width:100%;inline-size:100%;max-inline-size:100%;min-inline-size:0;min-width:0;text-align:center}.shoe-mileage-total{font-weight:700}.shoe-mileage-breakdown{color:#555;font-size:.92rem}.shoe-mileage-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.shoe-status{padding:.15rem .45rem;border-radius:999px;font-size:.78rem;font-weight:700}.shoe-status--active{background:#dcfce7;color:#166534}.shoe-status--retired{background:#e2e8f0;color:#334155}.shoe-retire-button{margin-top:.25rem}.confirmation-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;box-sizing:border-box;padding:1rem;background:#0f172aad}.confirmation-dialog{box-sizing:border-box;width:min(100%,30rem);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:clamp(1.25rem,4vw,2rem);border:2px solid #334155;border-radius:1rem;background:#fff;box-shadow:0 1.5rem 4rem #0f172a4d;color:#111827;line-height:1.5;text-align:left}.confirmation-eyebrow{margin:0 0 .25rem;color:#475569;font-size:.82rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.confirmation-dialog h2{margin:0;line-height:1.2}.confirmation-summary{margin:1rem 0;font-weight:750}.confirmation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}.confirmation-dialog .confirmation-cancel,.confirmation-dialog .confirmation-confirm{min-height:3rem;padding:.7rem 1rem;font-weight:750}.confirmation-dialog .confirmation-cancel{border:2px solid #334155;background:#fff;color:#111827}.confirmation-dialog .confirmation-confirm--danger{border:2px solid #991b1b;background:#991b1b;color:#fff}.confirmation-dialog .confirmation-confirm--caution{border:2px solid #92400e;background:#92400e;color:#fff}.confirmation-dialog .confirmation-cancel:hover{background:#e2e8f0;color:#111827}.confirmation-dialog .confirmation-confirm--danger:hover{background:#7f1d1d;color:#fff}.confirmation-dialog .confirmation-confirm--caution:hover{background:#78350f;color:#fff}@media (max-width: 420px){.confirmation-actions{grid-template-columns:1fr}}@media (max-width: 768px){.tracker{flex-direction:column;align-items:center;gap:1rem;width:100%;padding:0}.entry,.shoe-tracking{width:100%}}.analyze-container{box-sizing:border-box;position:relative;width:100%;min-width:0;padding:20px;border-radius:8px;color:#000;text-align:center}.analyze-cards{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:20px}.latest-run-summary{box-sizing:border-box;width:100%;max-width:56rem;margin:0 auto 2rem;padding:1.25rem;border:1px solid #c7d5e3;border-radius:12px;background:var(--app-surface);box-shadow:0 8px 24px #1f2a3714;text-align:left}.latest-run-eyebrow{margin:0;color:#4a6075;font-size:.875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.latest-run-summary h2{margin:.25rem 0 0;color:#102a43;font-size:clamp(1.35rem,4vw,1.75rem)}.latest-run-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:1rem;margin:1.25rem 0 0}.latest-run-details div{min-width:0}.latest-run-details dt{color:#52667a;font-size:.875rem;font-weight:600}.latest-run-details dd{margin:.25rem 0 0;color:#102a43;font-size:1rem;font-weight:700;overflow-wrap:anywhere}.analyze-card{width:30%;min-width:10em;min-height:5em;border:1px solid #ccc;border-radius:8px;background-color:var(--app-surface);box-shadow:0 4px 10px #0000001a}.analyze-card h2{margin:0;color:#007bff;font-size:1.2rem}.analyze-card p{margin:0;font-size:1.5rem}.weekly-trend,.pace-trend,.effort-pattern{box-sizing:border-box;width:100%;max-width:56rem;margin:2rem auto 0;padding:1rem;border:1px solid #d9e2ec;border-radius:8px;background:var(--app-surface);text-align:left}.weekly-trend h2,.weekly-trend-context,.pace-trend h2,.pace-trend-context,.effort-pattern h2,.effort-pattern-context{margin:0}.weekly-trend h2,.pace-trend h2,.effort-pattern h2{color:#005fcc;font-size:1.25rem}.weekly-trend-context,.pace-trend-context,.effort-pattern-context{margin-top:.35rem;color:#34495e}.weekly-trend-chart,.pace-trend-chart{width:100%;min-width:0;height:18rem;margin-top:.75rem;overflow:hidden}.weekly-trend-data,.pace-trend-data,.effort-pattern-data{margin-top:.75rem}.weekly-trend-data summary,.pace-trend-data summary,.effort-pattern-data summary{color:#005fcc;cursor:pointer;font-weight:600}.weekly-trend-data table,.pace-trend-data table,.effort-pattern-data table{width:100%;margin-top:.75rem;border-collapse:collapse;table-layout:fixed}.weekly-trend-data caption,.pace-trend-data caption,.effort-pattern-data caption{padding-bottom:.5rem;font-weight:600;text-align:left}.weekly-trend-data th,.weekly-trend-data td,.pace-trend-data th,.pace-trend-data td,.effort-pattern-data th,.effort-pattern-data td{padding:.5rem;border-bottom:1px solid #d9e2ec;overflow-wrap:anywhere;text-align:left}.effort-pattern-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.effort-pattern-item{display:flex;min-width:0;flex-direction:column;gap:.25rem;padding:.75rem;border:1px solid #c7d5e3;border-left:.35rem solid #627d98;border-radius:8px;background:#f7fafc}.effort-pattern-item--much_easier_than_expected,.effort-pattern-item--easier_than_expected{border-left-color:#2f855a}.effort-pattern-item--about_right{border-left-color:#2b6cb0}.effort-pattern-item--harder_than_expected,.effort-pattern-item--much_harder_than_expected{border-left-color:#b7791f}.effort-pattern-item--missing{border-left-color:#718096}.effort-pattern-item time{color:#52667a;font-size:.875rem;font-weight:600}.effort-pattern-item span{color:#102a43;font-weight:700;overflow-wrap:anywhere}@media (max-width: 768px){.analyze-container{width:100%;margin:0 auto}.weekly-trend,.pace-trend,.effort-pattern{padding:.75rem}.weekly-trend-chart,.pace-trend-chart{height:16rem}.weekly-trend-data,.pace-trend-data,.effort-pattern-data{overflow-x:auto}}.onboarding-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;box-sizing:border-box;overflow-y:auto;background:var(--app-canvas);color:#111827;line-height:1.5;text-align:left}.onboarding-card{box-sizing:border-box;width:min(100%,70rem);min-height:100%;margin:0 auto;padding:clamp(1rem,4vw,3rem)}.onboarding-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--app-border);border-radius:1rem;background:var(--app-banner)}.onboarding-header>div{max-width:48rem}.onboarding-eyebrow{margin:0 0 .35rem;color:#1d4ed8;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.onboarding-header h1{margin:0;font-size:clamp(2rem,6vw,3.6rem);line-height:1.05}.onboarding-header p:not(.onboarding-eyebrow){max-width:44rem;margin:.8rem 0 0;color:#374151}.onboarding-close{flex:0 0 auto;min-height:2.75rem;padding:.65rem 1rem;border:1px solid #94a3b8;background:var(--app-surface);color:#111827}.onboarding-error-summary{margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #b91c1c;border-radius:.65rem;background:#fef2f2;color:#7f1d1d;font-weight:650}.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.onboarding-question{min-width:0;margin:0;padding:clamp(16px,1.15rem,20px);border:1px solid var(--app-border);border-radius:.85rem;background:var(--app-surface)}.onboarding-question-wide{grid-column:1 / -1}.onboarding-question>label:first-child,.onboarding-question legend{max-width:100%;padding:0;color:#111827;font-size:1.05rem;font-weight:750;line-height:1.3;overflow-wrap:anywhere}.onboarding-question legend{float:left;width:100%;margin:0 0 .8rem}.onboarding-question legend+*{clear:both}.onboarding-question label span,.onboarding-question legend span{color:#475569;font-size:.9rem;font-weight:500}.onboarding-question>p:not(.onboarding-field-error,.onboarding-character-count){margin:.35rem 0 .8rem;color:#475569;font-size:.92rem}.onboarding-question input[type=text],.onboarding-question input[type=date],.onboarding-question input[type=number],.onboarding-question select,.onboarding-question textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:2.75rem;padding:.6rem .7rem;border:1px solid #64748b;border-radius:.45rem;background:#fff;color:#111827;font:inherit;line-height:1.3}.onboarding-question input[type=date]{display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;overflow:hidden}.onboarding-question input[type=date]::-webkit-date-and-time-value{inline-size:100%;min-inline-size:0;text-align:left}.onboarding-question textarea{min-height:6rem;resize:vertical}.onboarding-question input[aria-invalid=true],.onboarding-question select[aria-invalid=true],.onboarding-question textarea[aria-invalid=true]{border-color:#b91c1c}.onboarding-question input:focus-visible,.onboarding-question select:focus-visible,.onboarding-question textarea:focus-visible,.onboarding-close:focus-visible,.onboarding-actions button:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.onboarding-choice-row,.onboarding-option-grid,.onboarding-day-grid{display:flex;flex-wrap:wrap;gap:.65rem}.onboarding-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-choice-row label,.onboarding-option-grid label,.onboarding-day-grid label,.onboarding-confirmation{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.45rem .7rem;border:1px solid #cbd5e1;border-radius:.55rem;background:#f8fafc;color:#1f2937;cursor:pointer}.onboarding-choice-row input,.onboarding-option-grid input,.onboarding-day-grid input,.onboarding-confirmation input{flex:0 0 auto;width:1.15rem;height:1.15rem;margin:0}.onboarding-inline-field{display:grid;gap:.35rem;max-width:20rem;margin-top:1rem;color:#1f2937;font-weight:650}.onboarding-date-row,.onboarding-three-column-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.onboarding-three-column-row{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-date-row label,.onboarding-three-column-row label{display:grid;gap:.35rem;min-width:0;color:#1f2937;font-weight:650}.onboarding-field-error{margin:.55rem 0 0;color:#9f1d1d;font-size:.9rem;font-weight:650}.onboarding-character-count{margin:.25rem 0 0;color:#64748b;font-size:.8rem;text-align:right}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding:1rem;border:1px solid var(--app-border);border-radius:.85rem;background:var(--app-surface)}.onboarding-actions p{margin:0;color:#475569;font-size:.9rem}.onboarding-actions>div{display:flex;flex:0 0 auto;gap:.65rem}.onboarding-actions button{min-height:2.75rem;padding:.65rem 1rem}.onboarding-secondary-action{border:1px solid #64748b;background:#fff;color:#111827}.onboarding-actions button:disabled,.onboarding-close:disabled{cursor:wait;opacity:.65}.runner-profile-entry{display:grid;justify-items:center;gap:.35rem;margin:0 1rem 1.5rem;line-height:1.4}.runner-profile-entry p{margin:0;color:#475569;font-size:.9rem}.runner-profile-entry button{min-height:2.75rem;padding:.6rem 1rem;border:1px solid #64748b;background:var(--app-surface);color:#111827}.training-home-status{display:grid;justify-items:center;gap:.75rem;margin:0 1rem 1.5rem;line-height:1.5}.training-home-status p{margin:0}.training-home-status.training-error{color:#9f1d1d}@media (max-width: 768px){.onboarding-card{padding:clamp(16px,1rem,20px)}.onboarding-header h1{overflow-wrap:anywhere}.onboarding-header,.onboarding-actions{align-items:stretch;flex-direction:column}.onboarding-close{align-self:flex-start}.onboarding-grid,.onboarding-option-grid,.onboarding-date-row,.onboarding-three-column-row{grid-template-columns:minmax(0,1fr)}.onboarding-question-wide{grid-column:auto}.onboarding-actions>div{display:grid;width:100%}}
