:root{color:#edf4ef;background:#0c1310;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 78% 7%,rgba(78,208,137,.16),transparent 34rem),radial-gradient(circle at 5% 80%,rgba(51,115,91,.14),transparent 30rem),#0c1310}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:#8ce7b4;font-weight:650;text-underline-offset:.22em}a:hover{color:#c2f6d8}.shell{display:grid;min-height:100vh;place-items:center;width:min(100% - 2rem,72rem);margin:0 auto;padding:clamp(2rem,8vh,6rem) 0}.auth-card{width:min(100%,34rem);padding:clamp(1.5rem,5vw,3rem);border:1px solid #26372f;border-radius:1.5rem;background:#121c17e0;box-shadow:0 2rem 6rem #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow,.panel-kicker{margin:0 0 .7rem;color:#71d99f;font-size:.75rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(2.7rem,9vw,5.4rem);letter-spacing:-.06em;line-height:.94}h2{margin:0;font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:-.035em}.lede{max-width:40rem;margin:1.3rem 0 2rem;color:#acbcb3;font-size:1.03rem;line-height:1.65}.auth-form{display:grid;gap:1rem;margin-bottom:1.25rem}.field{display:grid;gap:.45rem}.field>span{color:#dce9e1;font-size:.88rem;font-weight:700}.field input,.field select{width:100%;min-height:3rem;padding:.7rem .85rem;border:1px solid #354b40;border-radius:.7rem;color:#f2f7f4;outline:none;background:#0d1712;transition:border-color .14s ease,box-shadow .14s ease}.field input:focus,.field select:focus{border-color:#68daa0;box-shadow:0 0 0 .2rem #68daa026}.field-hint{margin:-.55rem 0 0;color:#899a90;font-size:.82rem}.primary-button,.secondary-button{min-height:2.85rem;padding:.7rem 1rem;border-radius:.7rem;font-weight:750}.primary-button{border:1px solid #72dda3;color:#07110c;background:#72dda3;box-shadow:0 .8rem 2rem #37b47024}.primary-button:hover:not(:disabled){border-color:#a8efc7;background:#a8efc7}.secondary-button{border:1px solid #3a5146;color:#dce9e1;background:transparent}.secondary-button:hover:not(:disabled){border-color:#6d9480;background:#68daa012}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.25rem}.notice{margin:0;padding:.75rem .85rem;border:1px solid;border-radius:.65rem;font-size:.88rem;line-height:1.5}.error-notice{border-color:#7f443d;color:#ffc4b7;background:#9d453821}.success-notice{border-color:#396f53;color:#a9edc8;background:#49a7741f}.dashboard-shell{width:min(100% - 2rem,76rem);min-height:100vh;margin:0 auto;padding:clamp(2rem,7vw,5rem) 0}.dashboard-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(3rem,8vw,6rem)}.dashboard-header h1{font-size:clamp(3.5rem,10vw,7rem)}.training-workspace{display:grid;gap:1rem;margin-bottom:1rem}.workspace-heading,.profile-onboarding,.run-inspector{padding:clamp(1.4rem,4vw,2.2rem);border:1px solid #2b4035;border-radius:1.25rem;background:#111b16e6}.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.workspace-heading h2,.profile-onboarding h3,.analysis-panel h3,.run-inspector h3{margin:0;font-size:clamp(1.55rem,4vw,2.25rem);letter-spacing:-.035em}.workspace-heading p:not(.eyebrow),.profile-onboarding p,.run-inspector-heading p{max-width:48rem;margin:.7rem 0 0;color:#9fb1a7;line-height:1.55}.workspace-actions{display:flex;align-items:flex-end;flex:0 0 auto;gap:.75rem}.compact-field{display:grid;min-width:13rem;gap:.35rem}.compact-field span,.classification-control>span{color:#aebdb5;font-size:.75rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.compact-field select,.classification-control select,.pace-fieldset input{min-height:2.85rem;padding:.65rem .8rem;border:1px solid #3a5146;border-radius:.7rem;color:#edf4ef;outline:none;background:#0d1712}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.metric-card{position:relative;display:grid;min-height:10rem;align-content:space-between;gap:.35rem;padding:1.2rem;overflow:hidden;border:1px solid #30453a;border-radius:1rem;background:#111c16}.metric-card:before{position:absolute;inset:0 auto 0 0;width:.25rem;content:"";background:#62daa0}.metric-card--fatigue:before{background:#f09b72}.metric-card--form:before{background:#86b7ff}.metric-card--quality:before{background:#d6c36a}.metric-card>span{color:#a6b6ad;font-size:.78rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.metric-card strong{color:#f3faf6;font-size:clamp(2rem,5vw,3.15rem);font-variant-numeric:tabular-nums;letter-spacing:-.05em;line-height:1}.metric-card small{min-height:2.4em;color:#899c91;line-height:1.4}.performance-chart,.sample-chart{margin:0;padding:1.2rem;border:1px solid #2d4237;border-radius:1rem;background:#0b130fbf}.performance-chart figcaption,.sample-chart figcaption,.section-heading,.run-inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.performance-chart figcaption>div:first-child,.sample-chart figcaption{display:flex;flex-direction:column;gap:.25rem}.performance-chart figcaption span,.sample-chart figcaption span,.section-heading>span{color:#8fa197;font-size:.78rem}.performance-chart svg,.sample-chart svg{display:block;width:100%;margin-top:1rem;overflow:visible}.chart-line,.sample-chart polyline{fill:none;stroke:#69e0a1;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.chart-line--fatigue{stroke:#f09b72}.chart-line--form{stroke:#86b7ff;stroke-width:2}.chart-zero{stroke:#516158;stroke-dasharray:6 8;stroke-width:1;vector-effect:non-scaling-stroke}.chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.chart-legend span:before{display:inline-block;width:.65rem;height:.65rem;margin-right:.4rem;border-radius:50%;content:"";background:#69e0a1}.chart-legend .legend-fatigue:before{background:#f09b72}.chart-legend .legend-form:before{background:#86b7ff}.chart-days{display:flex;justify-content:space-between;color:#788b80;font-size:.75rem}.analysis-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(17rem,.7fr);gap:1rem}.analysis-panel{padding:clamp(1.2rem,3vw,1.7rem);border:1px solid #2b4035;border-radius:1rem;background:#111b16d1}.analysis-panel h3{font-size:1.5rem}.run-list{display:grid;margin-top:1rem}.run-list button{display:grid;grid-template-columns:6rem minmax(12rem,1fr) auto 5rem;align-items:center;gap:1rem;width:100%;padding:.9rem .35rem;border:0;border-top:1px solid #2a3c33;color:inherit;text-align:left;background:transparent}.run-list button:hover,.run-list button:focus-visible{outline:none;background:#69e0a10f}.run-date,.run-load{color:#8fa197;font-size:.78rem;font-variant-numeric:tabular-nums}.run-main{display:grid;min-width:0;gap:.3rem}.run-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-main small{color:#a3b3aa;font-variant-numeric:tabular-nums}.classification{padding:.3rem .55rem;border:1px solid #4d6257;border-radius:999px;color:#bdcbc3;font-size:.72rem;font-weight:750}.classification--subthreshold{border-color:#a68e41;color:#f1da87;background:#a68e411f}.classification--easy{border-color:#3b7553;color:#a9edc8}.classification--race{border-color:#96564c;color:#ffb9aa}.coach-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1.25rem 0}.coach-card dl>div,.run-stat-grid>div{display:grid;gap:.25rem;padding:.8rem;border:1px solid #2c4136;border-radius:.7rem;background:#050c0833}.coach-card dt,.run-stat-grid span{color:#899c91;font-size:.72rem;font-weight:700;text-transform:uppercase}.coach-card dd{margin:0;font-size:1.1rem;font-weight:750}.coach-note,.data-warning{color:#a8b8af;font-size:.88rem;line-height:1.55}.data-warning{padding:.7rem;border-left:.2rem solid #c5a954;background:#c5a95414}.analysis-empty{display:flex;flex-direction:column;gap:.4rem;padding:2rem;border:1px dashed #3b5146;border-radius:1rem;color:#99aca1;background:#050c0833}.analysis-empty.compact{margin-top:1rem;padding:1.25rem}.profile-onboarding{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(20rem,1.2fr);align-items:start;gap:clamp(1.5rem,5vw,4rem)}.profile-form{display:grid;gap:1rem}.pace-fieldset{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:.55rem;margin:0;padding:0;border:0}.pace-fieldset legend{margin-bottom:.5rem;color:#dce9e1;font-size:.88rem;font-weight:700}.pace-fieldset label{display:grid;gap:.3rem}.pace-fieldset label span{color:#899c91;font-size:.72rem}.pace-fieldset strong,.pace-separator{padding-bottom:.75rem}.pace-fieldset input{width:100%}.profile-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.profile-form-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.run-inspector{display:grid;gap:1rem}.run-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.run-stat-grid strong{font-size:1.15rem;font-variant-numeric:tabular-nums}.classification-control{display:grid;grid-template-columns:auto minmax(12rem,20rem);align-items:center;gap:.5rem 1rem}.classification-control small{grid-column:1 / -1;color:#899c91}.split-table-wrap{overflow-x:auto}.split-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.split-table caption{padding:.7rem 0;color:#dce9e1;font-size:1rem;font-weight:750;text-align:left}.split-table th,.split-table td{padding:.65rem;border-bottom:1px solid #2a3c33;text-align:right}.split-table th:first-child,.split-table caption{text-align:left}.user-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.8rem 1rem;color:#aebdb5;font-size:.9rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(17rem,.85fr);gap:1rem}.panel{min-height:19rem;padding:clamp(1.4rem,4vw,2.2rem);border:1px solid #26372f;border-radius:1.25rem;background:#111b16d1}.panel h2{margin-bottom:1.75rem}.panel>p:not(.panel-kicker){color:#acbcb3;line-height:1.65}.empty-state{padding:1.1rem;border:1px dashed #3b5146;border-radius:.8rem;color:#dce9e1;background:#050c0833}.empty-state p{margin:.55rem 0 0;color:#93a49a;line-height:1.55}.connect-button{width:100%;margin-top:1rem}.connection-form{display:grid;gap:1rem;margin-top:1rem;padding:1rem;border:1px solid #31483c;border-radius:.85rem;background:#07100b6b}.button-row,.account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.account-actions{justify-content:space-between;margin-top:1rem}.status-badge{padding:.35rem .55rem;border:1px solid #52615a;border-radius:999px;color:#c8d4cd;font-size:.78rem;font-weight:750}.status-badge--connected{border-color:#397451;color:#a9edc8;background:#49a7741f}.status-badge--reauth_required,.status-badge--disconnected{border-color:#7f5d3d;color:#f2cca2;background:#9d6f3821}.panel>.notice{margin-top:1rem}.status-panel{display:flex;flex-direction:column}.archive-panel{grid-column:1 / -1}.archive-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.archive-count{display:grid;gap:.2rem;padding:1rem;border:1px solid #30453a;border-radius:.8rem;background:#050c0833}.archive-count strong{color:#dff7e9;font-size:clamp(1.6rem,5vw,2.4rem)}.archive-count span,.sync-status span{color:#93a49a;font-size:.84rem}.sync-status{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;margin-top:1rem;padding:.85rem 0}.archive-actions{margin:.5rem 0 1rem}.status-row{display:flex;align-items:center;margin-top:auto;padding-top:2rem;color:#b8c8bf;font-weight:700;gap:.75rem}.status-dot{width:.75rem;height:.75rem;flex:0 0 auto;border-radius:50%;background:#77827b;box-shadow:0 0 0 .28rem #77827b1f}.status-dot--ready{background:#52d890;box-shadow:0 0 0 .28rem #52d8901f}@media(max-width:720px){.dashboard-header{align-items:flex-start;flex-direction:column}.user-actions{align-items:flex-start;justify-content:flex-start;flex-direction:column}.dashboard-grid{grid-template-columns:1fr}.panel{min-height:0}.archive-counts{grid-template-columns:1fr}.workspace-heading,.performance-chart figcaption,.run-inspector-heading{align-items:stretch;flex-direction:column}.workspace-actions{align-items:stretch;flex-direction:column}.compact-field{min-width:0}.metric-grid,.run-stat-grid{grid-template-columns:1fr 1fr}.analysis-columns,.profile-onboarding{grid-template-columns:1fr}.run-list button{grid-template-columns:4.5rem minmax(0,1fr);gap:.5rem .8rem}.classification,.run-load{grid-column:2;justify-self:start}.profile-form-row{grid-template-columns:1fr}}@media(max-width:440px){.metric-grid,.run-stat-grid,.coach-card dl{grid-template-columns:1fr}.pace-fieldset{grid-template-columns:1fr auto 1fr}.pace-fieldset strong{grid-column:1 / -1;padding:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
