: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}.overview-panel{display:grid;gap:1.25rem;padding:clamp(1.35rem,4vw,2rem);border:1px solid #345444;border-radius:1.25rem;background:linear-gradient(145deg,rgba(31,63,47,.3),transparent 45%),#0f1a14f0}.overview-heading{align-items:flex-end}.automatic-sync{display:flex;align-items:center;gap:.7rem;max-width:25rem;padding:.7rem .85rem;border:1px solid #355344;border-radius:.8rem;background:#07100b59}.automatic-sync div{display:grid;gap:.18rem}.automatic-sync small,.overview-heading span,.overview-recent .section-heading>span{color:#91a69a;font-size:.78rem}.overview-windows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.overview-window{display:grid;gap:1rem;padding:1rem;border:1px solid #2d493a;border-radius:.9rem;background:#050e094d}.overview-window>div:first-child{display:flex;justify-content:space-between;gap:1rem}.overview-window>div:first-child span{color:#81968a;font-size:.76rem}.overview-window dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0}.overview-window dl>div{display:grid;gap:.25rem}.overview-window dt{color:#81968a;font-size:.7rem;font-weight:700;text-transform:uppercase}.overview-window dd{margin:0;font-size:clamp(.95rem,2.5vw,1.25rem);font-weight:780;font-variant-numeric:tabular-nums}.coverage-notice{display:grid;gap:.25rem;padding:.8rem .95rem;border-left:.2rem solid #d1b65d;color:#dacb96;background:#d1b65d14}.coverage-notice span{color:#b6aa81;font-size:.82rem}.overview-trends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.overview-trend-card{min-width:0;margin:0;padding:.85rem;border:1px solid #2b4437;border-radius:.8rem;background:#050d0940}.overview-trend-card figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.overview-trend-card figcaption div{display:grid;gap:.18rem}.overview-trend-card figcaption span{color:#74dca3;font-size:.68rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.overview-trend-card figcaption b{color:#dceae2;font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap}.overview-trend-card svg{display:block;width:100%;margin-top:.4rem;overflow:visible}.overview-chart-grid{stroke:#2a4035;stroke-width:1}.overview-chart-line{fill:none;stroke:#6fe1a2;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2;vector-effect:non-scaling-stroke}.trend-dates{display:flex;justify-content:space-between;color:#71857a;font-size:.65rem}.trend-unavailable{display:grid;min-height:5rem;place-items:center;color:#73877c;font-size:.75rem}.overview-data-table{border-top:1px solid #294135;border-bottom:1px solid #294135;padding:.8rem 0}.overview-data-table summary{color:#b6c8be;cursor:pointer;font-size:.85rem;font-weight:700}.overview-recent{min-width:0}.overview-run-table{overflow-x:auto}.overview-run-table table{width:100%;min-width:48rem;border-collapse:collapse;font-size:.82rem;font-variant-numeric:tabular-nums}.overview-run-table th,.overview-run-table td{padding:.72rem .55rem;border-bottom:1px solid #273d32;text-align:left}.overview-run-table thead th{color:#7f9589;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}.overview-run-table button{padding:0;border:0;color:#dceae2;font-weight:750;text-align:left;background:transparent}.overview-run-table button:hover,.overview-run-table button:focus-visible{color:#8ce7b4;outline-offset:.2rem}.overview-freshness{display:grid;gap:.3rem;color:#84998d;font-size:.76rem}.overview-sync-warning{color:#f1c89d}.overview-error{border-color:#71473f;color:#ffc4b7}.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}.analysis-rebuild-status{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;padding:1rem 1.15rem;border:1px solid #365346;border-radius:1rem;background:#111f18eb}.analysis-rebuild-status--active{border-color:#4c8f6b;background:#29654429}.analysis-rebuild-status--success{border-color:#37654d}.analysis-rebuild-status--warning{border-color:#917d3d;background:#917d3d1f}.analysis-rebuild-status--error{border-color:#9d4e50;background:#9d4e501f}.analysis-rebuild-mark{width:.75rem;height:.75rem;margin-top:.3rem;border-radius:50%;background:#77dfa5;box-shadow:0 0 0 .3rem #77dfa51a}.analysis-rebuild-status--active .analysis-rebuild-mark{animation:analysis-pulse 1.6s ease-in-out infinite}.analysis-rebuild-status--warning .analysis-rebuild-mark{background:#dbc56f}.analysis-rebuild-status--error .analysis-rebuild-mark{background:#ed8588}.analysis-rebuild-content{display:grid;gap:.65rem}.analysis-rebuild-heading,.analysis-rebuild-counts{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap}.analysis-rebuild-heading strong{color:#f0f7f3;font-size:1rem}.analysis-rebuild-heading span,.analysis-rebuild-counts,.analysis-rebuild-status p{color:#a9bbb1;font-size:.82rem}.analysis-rebuild-status p{margin:0;line-height:1.5}.analysis-rebuild-status progress{width:100%;height:.55rem;overflow:hidden;border:0;border-radius:999px;color:#6ed99d;background:#16261e}.analysis-rebuild-status progress::-webkit-progress-bar{border-radius:999px;background:#16261e}.analysis-rebuild-status progress::-webkit-progress-value{border-radius:999px;background:#6ed99d}.analysis-rebuild-status progress::-moz-progress-bar{border-radius:999px;background:#6ed99d}@keyframes analysis-pulse{50%{opacity:.45;transform:scale(.82)}}.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}.recovery-panel{display:grid;gap:1rem;padding:clamp(1.4rem,4vw,2rem);border:1px solid #33483e;border-radius:1.25rem;background:#101b16e6}.recovery-heading h3{margin:0 0 .35rem;color:#f1f7f3;font-size:clamp(1.45rem,4vw,2rem);letter-spacing:-.035em}.recovery-heading>div:first-child{display:grid;gap:.2rem}.recovery-heading .eyebrow{margin-bottom:.25rem}.recovery-heading>.secondary-button{flex:0 0 auto}.recovery-date-line,.recovery-sync-status{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem 1rem;color:#91a49a;font-size:.78rem}.recovery-date-line strong,.recovery-sync-status strong{color:#dce9e1;font-size:.88rem}.recovery-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.recovery-metric{display:grid;min-height:8.4rem;align-content:space-between;gap:.45rem;padding:1rem;border:1px solid #2d4337;border-radius:.85rem;background:#0e1913}.recovery-metric>span{color:#99aa9f;font-size:.72rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.recovery-metric strong{color:#f0f7f3;font-size:clamp(1.45rem,3.5vw,2rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.recovery-metric small{color:#83968b;line-height:1.35}.recovery-trend{display:grid;gap:.75rem;padding-top:.35rem}.recovery-trend>div:first-child{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.35rem 1rem}.recovery-trend>div:first-child span{color:#82958a;font-size:.76rem}.recovery-table-wrap{overflow-x:auto;border:1px solid #293d33;border-radius:.75rem}.recovery-trend table{width:100%;border-collapse:collapse;font-size:.8rem;font-variant-numeric:tabular-nums}.recovery-trend th,.recovery-trend td{padding:.65rem .75rem;border-bottom:1px solid #263a30;text-align:right;white-space:nowrap}.recovery-trend th:first-child{text-align:left}.recovery-trend thead th{color:#8fa197;font-size:.69rem;letter-spacing:.04em;text-transform:uppercase}.recovery-trend tbody th{color:#c7d5cd;font-weight:650}.recovery-trend tbody tr:last-child th,.recovery-trend tbody tr:last-child td{border-bottom:0}.recovery-sync-status{padding:.8rem;border:1px solid #31483b;border-radius:.7rem;background:#31684a1a}.recovery-state{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .75rem;padding:.7rem .85rem;border:1px solid #465143;border-radius:.75rem;color:#aebaae;background:#6e69381a;font-size:.78rem}.recovery-state strong{color:#ede3a9}.recovery-state--warning{border-color:#794b3d;background:#8b45301f}.recovery-state--warning strong{color:#f5b59f}.recovery-state--complete{border-color:#365c48;background:#31684a1f}.recovery-state--complete strong{color:#8ee5b5}.recovery-baseline{min-height:2.5em;font-variant-numeric:tabular-nums}.metric-provenance{padding-top:.45rem;border-top:1px solid #25382f;color:#879a8f;font-size:.7rem}.metric-provenance summary,.recovery-provenance summary{color:#b7c8be;cursor:pointer;font-weight:700}.metric-provenance span{display:block;margin-top:.45rem;line-height:1.35}.recovery-trend tbody button{padding:.15rem .25rem;border:0;border-radius:.3rem;color:#c7d5cd;background:transparent;font:inherit;font-weight:650;cursor:pointer}.recovery-trend tbody button:hover,.recovery-trend tbody button:focus-visible,.recovery-trend tbody button[aria-current=date]{color:#8ee5b5;outline:none;background:#69e0a11a}.recovery-history-selected{background:#69e0a10a}.recovery-detail{display:grid;gap:1rem;padding:1rem;border:1px solid #2c4136;border-radius:1rem;background:#08100c8c}.recovery-detail-empty{padding:1rem;color:#8fa197;text-align:center}.recovery-detail-heading,.recovery-signals>div:first-child{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem}.recovery-detail-heading>div,.recovery-signals>div:first-child{display:grid}.recovery-detail-heading span,.recovery-signals>div:first-child span{color:#85988d;font-size:.75rem}.source-badge{padding:.3rem .55rem;border:1px solid #52635a;border-radius:999px;color:#bfd0c6!important;font-weight:700}.recovery-detail-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:.8rem}.recovery-detail-card,.recovery-signals{display:grid;align-content:start;gap:.9rem;padding:1rem;border:1px solid #293e33;border-radius:.8rem;background:#0d1712}.recovery-detail-card h4,.recovery-signals h4{margin:.15rem 0 0;color:#edf6f0;font-size:1.05rem}.sleep-stage-bar{display:flex;min-height:2.3rem;overflow:hidden;border-radius:.45rem;background:#1e2923}.sleep-stage{min-width:2px}.sleep-stage--deep,.sleep-stage-key--deep:before{background:#426da5}.sleep-stage--light,.sleep-stage-key--light:before{background:#68a5c8}.sleep-stage--rem,.sleep-stage-key--rem:before{background:#9a7dcb}.sleep-stage--awake,.sleep-stage-key--awake:before{background:#d59b6f}.sleep-stage--unknown{background:#66736c}.sleep-stage-legend{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin-top:.6rem;color:#9baca2;font-size:.7rem}.sleep-stage-key:before{display:inline-block;width:.55rem;height:.55rem;margin-right:.35rem;border-radius:50%;content:""}.recovery-supporting-metrics,.training-context-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:0}.recovery-supporting-metrics>div,.training-context-metrics>div{display:grid;gap:.15rem;padding:.65rem;border-radius:.55rem;background:#273b3073}.recovery-supporting-metrics dt,.training-context-metrics dt{color:#87998f;font-size:.68rem}.recovery-supporting-metrics dd,.training-context-metrics dd{margin:0;color:#dce9e1;font-variant-numeric:tabular-nums;font-weight:700}.recovery-calculation-note,.recovery-no-signal,.recovery-provenance p,.recovery-disclaimer{margin:0;color:#83968b;font-size:.74rem;line-height:1.5}.recovery-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.recovery-signal-card{display:grid;min-height:8.5rem;align-content:space-between;gap:.4rem;margin:0;padding:.75rem;border:1px solid #293e33;border-radius:.65rem;color:#81948a;background:#080f0ba6;font-size:.7rem}.recovery-signal-card figcaption{display:grid;gap:.15rem}.recovery-signal-card strong{color:#dbe8e0;font-size:.82rem}.recovery-signal-card svg{width:100%}.recovery-signal-card polyline{fill:none;stroke:#69e0a1;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;vector-effect:non-scaling-stroke}.signal-time-range{display:flex;justify-content:space-between}.recovery-provenance{padding:.85rem;border:1px solid #2b4035;border-radius:.7rem}.recovery-source-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.8rem 0}.recovery-source-list>div{display:grid;gap:.15rem;padding:.55rem;border-radius:.5rem;background:#273b3066;font-size:.7rem}.recovery-source-list strong{color:#bfd0c6;text-transform:capitalize}.recovery-source-list span{color:#84978c}.recovery-disclaimer{padding-left:.75rem;border-left:2px solid #59655f}.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-filters{display:grid;grid-template-columns:repeat(4,minmax(8rem,1fr));gap:.7rem;margin-top:1.2rem;padding:1rem;border:1px solid #2d4237;border-radius:.85rem;background:#09110d8c}.run-filters label{display:grid;gap:.35rem;color:#9fb1a7;font-size:.76rem}.run-filters input,.run-filters select{width:100%}.run-filter-actions{display:flex;align-items:flex-end;gap:.5rem}.load-more-runs{margin-top:1rem}.run-list-end{margin:1rem 0 0;color:#7f9287;font-size:.78rem}.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-heading-actions,.route-controls,.metric-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.run-data-state{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;padding:.8rem 1rem;border:1px solid #31483b;border-radius:.75rem;color:#9fb1a7;background:#31684a14;font-size:.78rem}.run-data-state strong{color:#f1c89d}.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}.route-map,.route-unavailable{margin:0;padding:1.2rem;border:1px solid #2d4237;border-radius:1rem;background:#0b130fbf}.route-map figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.route-map figcaption>div:first-child,.route-unavailable{display:grid;gap:.3rem}.route-map figcaption span,.route-unavailable p,.run-source-details>p{margin:0;color:#8fa197;font-size:.8rem;line-height:1.5}.route-controls button,.metric-tabs button{padding:.45rem .65rem;border:1px solid #3a5547;border-radius:.55rem;color:#b7c8be;background:#14231be6;font:inherit;font-size:.75rem}.metric-tabs button[aria-pressed=true]{border-color:#69e0a1;color:#e7fff1;background:#69e0a129}.route-controls button:hover,.route-controls button:focus-visible,.metric-tabs button:hover,.metric-tabs button:focus-visible{border-color:#69e0a1;outline:none}.route-plot{display:block;width:100%;height:min(52vw,28rem);min-height:16rem;margin-top:1rem;border-radius:.75rem;outline:1px solid #25382e;background:radial-gradient(circle at 30% 25%,rgba(105,224,161,.08),transparent 32%),#0a120e}.route-plot:focus-visible{outline:2px solid #69e0a1;outline-offset:.2rem}.route-plot polyline{fill:none;stroke:#69e0a1;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.route-plot circle{stroke:#08120d;stroke-width:2;vector-effect:non-scaling-stroke}.route-start{fill:#69e0a1}.route-finish{fill:#f09b72}.route-legend{display:flex;gap:1rem;margin-top:.7rem;color:#91a499;font-size:.75rem}.route-legend span:before{display:inline-block;width:.65rem;height:.65rem;margin-right:.35rem;border-radius:50%;content:"";background:#69e0a1}.route-legend .route-legend-finish:before{background:#f09b72}.sample-chart figcaption>div:first-child{display:grid;gap:.25rem}.chart-range{display:flex;justify-content:space-between;margin-top:.9rem;color:#87998f;font-size:.72rem;font-variant-numeric:tabular-nums}.run-source-details{padding:1rem;border:1px solid #2d4237;border-radius:.8rem;background:#0a120e99}.run-source-details summary{cursor:pointer;font-weight:750}.run-source-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.run-source-details dl>div{display:grid;min-width:0;gap:.25rem}.run-source-details dt{color:#83968b;font-size:.72rem}.run-source-details dd{margin:0;color:#c5d5cc}.source-checksum{grid-column:1 / -1}.source-checksum code{overflow-wrap:anywhere;color:#9bdcb8;font-size:.75rem}.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,.overview-heading,.performance-chart figcaption,.recovery-heading,.run-inspector-heading{align-items:stretch;flex-direction:column}.workspace-actions{align-items:stretch;flex-direction:column}.compact-field{min-width:0}.metric-grid,.recovery-metrics,.run-stat-grid{grid-template-columns:1fr 1fr}.overview-windows,.overview-trends{grid-template-columns:1fr}.overview-window dl{grid-template-columns:1fr 1fr}.analysis-columns,.profile-onboarding,.recovery-detail-columns,.recovery-signal-grid{grid-template-columns:1fr}.recovery-source-list,.run-filters{grid-template-columns:1fr 1fr}.route-map figcaption,.sample-chart figcaption{align-items:stretch;flex-direction:column}.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,.recovery-metrics,.run-stat-grid,.coach-card dl,.run-filters,.run-source-details dl,.recovery-source-list,.recovery-supporting-metrics,.training-context-metrics{grid-template-columns:1fr}.source-checksum{grid-column:auto}.run-heading-actions,.run-filter-actions{align-items:stretch;flex-direction:column}.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}.analysis-rebuild-status--active .analysis-rebuild-mark{animation:none}}
