@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-400-normal-CJkVxub1.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-400-normal-Dbdydbkh.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-vietnamese-400-normal-Cg2kxhWu.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-400-normal-B8TCSmUq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-400-normal-2ppkqaOR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-500-normal-WMJmRWOr.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-500-normal-B7C_nQD_.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-vietnamese-500-normal-DiU8zqi-.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-500-normal-CvE5C8T-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-latin-ext-500-normal-9VZagAe1.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-500-normal-CqEEAICU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-600-normal-C5KBqx06.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-600-normal-BtwufOTE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-vietnamese-600-normal-Y4VTTRme.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-600-normal-5YsyKbU1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-700-normal-iShZaXYX.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-700-normal-pWfpUei5.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-vietnamese-700-normal-CV6qDkkj.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-700-normal-BCh_uG_5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-700-normal-8-d-IyIQ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2"),url(/build/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/spectral-cyrillic-ext-400-normal-B4-YHs9i.woff2) format("woff2"),url(/build/assets/spectral-cyrillic-ext-400-normal--n_iQ4wr.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/spectral-cyrillic-400-normal-Bx9Tn3WZ.woff2) format("woff2"),url(/build/assets/spectral-cyrillic-400-normal-X3p2PSzL.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/spectral-vietnamese-400-normal-C7CRHYqk.woff2) format("woff2"),url(/build/assets/spectral-vietnamese-400-normal-CWkMWCzb.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/spectral-latin-ext-400-normal-XDLFwhqg.woff2) format("woff2"),url(/build/assets/spectral-latin-ext-400-normal-BHbqXr-7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/spectral-latin-400-normal-CTVgUekv.woff2) format("woff2"),url(/build/assets/spectral-latin-400-normal-D34IWA1h.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/spectral-cyrillic-ext-500-normal-bcG1qx3J.woff2) format("woff2"),url(/build/assets/spectral-cyrillic-ext-500-normal-B5u3KHyE.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/spectral-cyrillic-500-normal-medSbGbm.woff2) format("woff2"),url(/build/assets/spectral-cyrillic-500-normal-CNC_J6mt.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/spectral-vietnamese-500-normal-qnENts6X.woff2) format("woff2"),url(/build/assets/spectral-vietnamese-500-normal-BfZg6KYt.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/spectral-latin-ext-500-normal-CC9VEg_t.woff2) format("woff2"),url(/build/assets/spectral-latin-ext-500-normal-Bmnp8FUT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/spectral-latin-500-normal-nNjq7_Cd.woff2) format("woff2"),url(/build/assets/spectral-latin-500-normal-PrYyf_gG.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Plus Jakarta Sans,sans-serif;color:#002328;background:#fff;font-synthesis:none;--ink:#002328;--paper:#f1ece9;--granite:#475f58;--grape:#413c58;--line:#f1ece9;--muted:#598b6c;--danger:#9c3736;--type-page:clamp(46px,5vw,76px);--type-page-compact:clamp(36px,4vw,52px);--type-page-profile:clamp(32px,4vw,50px);--type-page-athlete:clamp(48px,5.4vw,82px);--type-hero:clamp(52px,5.7vw,92px);--type-hero-auth:clamp(58px,6.5vw,100px);--type-lead:clamp(16px,1.42vw,21px);--type-quote:clamp(24px,3vw,42px);--type-display-small:36px;--type-section-large:31px;--type-section:25px;--type-card:20px;--type-subheading:16px;--type-body-large:14px;--type-body:13px;--type-supporting:12px;--type-label:11px;--type-meta:10px;--type-micro:9px;--type-metric:42px;--type-metric-large:52px;--type-metric-xlarge:64px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-display:.95;--leading-tight:1.1;--leading-heading:1.2;--leading-compact:1.4;--leading-body:1.6;--leading-loose:1.7;--tracking-tight:-.055em;--tracking-heading:-.035em;--tracking-normal:0;--tracking-wide:.08em;--tracking-label:.17em;--tracking-eyebrow:.19em;--rule-soft:rgba(0,35,40,.1);--rule:rgba(0,35,40,.15);--rule-on-dark:rgba(255,255,255,.2)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid rgba(0,35,40,.15);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid rgba(0,35,40,.15);outline-offset:1px}input[type=checkbox]{accent-color:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-size:var(--type-page-compact);line-height:var(--leading-tight);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);margin-bottom:14px}h2{font-size:var(--type-section);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:var(--weight-medium)}h3{font-size:var(--type-subheading);font-weight:var(--weight-semibold)}p{line-height:var(--leading-loose)}small{font-size:var(--type-supporting)}.muted{color:var(--muted)}.eyebrow{font-size:var(--type-meta);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);line-height:var(--leading-body);margin-bottom:16px}.heading-dot{color:#598b6c}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:14px 21px;min-height:48px;font-size:var(--type-body);font-weight:var(--weight-semibold);line-height:var(--leading-heading);transition:background .15s}.button:hover{background:#05363d}.button.secondary{background:transparent;color:var(--ink);border-color:#00232826}.button.secondary:hover{background:#f1fffb}.button.small{font-size:var(--type-supporting);min-height:40px;padding:10px 14px}.button.wide{width:100%}.button.danger{background:var(--danger);border-color:var(--danger)}.icon-button{border:0;background:transparent;color:inherit;display:inline-grid;place-items:center;width:40px;height:40px;flex-shrink:0}.icon-button:hover{background:#598b6c20}.topbar{height:92px;padding:0 4.5vw;background:var(--ink);color:var(--paper);display:flex;align-items:center;gap:45px}.brand{display:flex;align-items:center;gap:12px;font-size:var(--type-card);font-weight:var(--weight-bold);letter-spacing:var(--tracking-eyebrow)}.brand small{font-size:var(--type-micro);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);display:block;margin-top:3px}.brand-mark{position:relative;display:grid;place-items:center;width:40px;height:42px;border:1px solid rgba(89,139,108,.439);font-size:var(--type-section-large);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);padding-right:4px}.brand-mark>span{position:absolute;right:-5px;top:-9px;background:var(--ink);font-size:var(--type-card);line-height:1}.desktop-nav{display:flex;align-self:stretch;gap:30px;margin-left:45px}.desktop-nav a{font-size:var(--type-supporting);color:#f1ece9;display:flex;align-items:center;border-bottom:2px solid transparent;padding:0 3px}.desktop-nav a.active{color:#fff;border-color:#00232826}.topbar-end{margin-left:auto;display:flex;align-items:center;gap:18px}.stage-label{border:1px solid rgba(0,35,40,.15);color:#f1ece9;padding:5px 7px;font-size:var(--type-micro);letter-spacing:var(--tracking-label)}.user-link{display:flex;align-items:center;gap:9px;font-size:var(--type-supporting)}.avatar{display:grid;place-items:center;border-radius:50%;background:#fff;color:#4a494d;width:34px;height:34px;flex-shrink:0;font-size:var(--type-label);font-weight:var(--weight-semibold)}.avatar.large{width:43px;height:43px;font-size:var(--type-supporting)}.avatar.small{width:25px;height:25px;font-size:var(--type-micro)}.main{max-width:1440px;margin:0 auto;padding:56px 4.5vw 80px;min-height:calc(100vh - 166px)}.footer{display:flex;justify-content:space-between;align-items:center;padding:25px 4.5vw;border-top:1px solid rgba(255,255,255,.2);font-size:var(--type-micro);letter-spacing:var(--tracking-label);color:#598b6c}.footer>span:last-child{display:flex;align-items:center;gap:10px;letter-spacing:var(--tracking-wide);font-size:var(--type-label)}.footer-divider{margin:0 16px;color:#598b6c}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:38px}.page-heading .eyebrow{color:#598b6c}.page-intro{font-size:var(--type-body);color:var(--muted);margin:0}.page-heading.compact{margin-top:30px}.page-heading.compact h1{font-size:var(--type-page-compact)}.athlete-overview{display:grid;grid-template-columns:1fr 2fr;margin-bottom:40px;border:1px solid rgba(255,255,255,.2);min-height:175px}.stat-block{padding:24px 30px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:24px}.stat-block>.eyebrow{grid-column:1/3;margin:0;color:#598b6c}.stat-block strong{font:var(--weight-regular) var(--type-metric-xlarge)/var(--leading-heading) "Spectral",serif;letter-spacing:var(--tracking-tight)}.stat-block>span:last-child{font-size:var(--type-label);line-height:var(--leading-loose);max-width:140px;color:#598b6c}.overview-statement{position:relative;background:var(--ink);color:#f1ece9;padding:26px 36px;overflow:hidden}.overview-statement .eyebrow{color:#598b6c;font-size:var(--type-micro);margin-bottom:15px}.overview-statement p{font-size:var(--type-section);line-height:var(--leading-heading);font-weight:var(--weight-regular);letter-spacing:var(--tracking-heading);margin:0}.overview-statement>svg{position:absolute;right:32px;bottom:25px;color:#f1ece9}.overview-statement:after{content:"";position:absolute;right:100px;top:-80px;width:260px;height:300px;border:1px solid rgba(89,139,108,.125);transform:rotate(32deg);box-shadow:30px 0 #598b6c09,60px 0 #598b6c09}.directory{background:#fff;border:1px solid rgba(0,35,40,.15)}.directory-tools{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:0 24px;border-bottom:1px solid rgba(0,35,40,.15);min-height:78px}.tabs{display:flex;gap:26px;align-self:stretch}.tabs button,.tabs a{border:0;border-bottom:2px solid transparent;background:transparent;color:#598b6c;font-size:var(--type-supporting);font-weight:var(--weight-semibold);display:flex;align-items:center;gap:9px;padding:20px 0}.tabs .active{color:var(--ink);border-bottom-color:var(--ink)}.tabs span{font-size:var(--type-meta);font-weight:var(--weight-regular);background:#fff;padding:3px 6px}.tabs.standalone{border-bottom:1px solid rgba(0,35,40,.15);margin-bottom:28px}.search{display:flex;align-items:center;gap:10px;color:#598b6c;max-width:380px;width:43%}.search input{background:transparent;border:0;font-size:var(--type-label);min-width:0;width:100%;padding:11px 2px}.table-heading,.athlete-row{display:grid;grid-template-columns:1.4fr 1.2fr .9fr 22px;align-items:center;gap:20px;padding:19px 26px}.table-heading{font-size:var(--type-micro);letter-spacing:var(--tracking-label);color:#598b6c;border-bottom:1px solid rgba(0,35,40,.15);padding-top:17px;padding-bottom:17px}.athlete-row{min-height:91px;border-bottom:1px solid rgba(0,35,40,.15);transition:background .15s}.athlete-row:hover{background:#f1fffb}.person{display:flex;align-items:center;gap:15px;min-width:0}.person strong{display:block;font-size:var(--type-body);font-weight:var(--weight-semibold)}.person small{display:block;margin-top:5px;font-size:var(--type-micro);letter-spacing:var(--tracking-wide);color:#598b6c}.email-cell{font-size:var(--type-label);color:#598b6c;overflow-wrap:anywhere}.tag-cell{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag{display:inline-block;background:#f1fffb;border:1px solid rgba(0,35,40,.15);color:#475f58;font-size:var(--type-micro);letter-spacing:var(--tracking-wide);padding:5px 8px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;font-size:var(--type-meta);color:#598b6c}.pagination>div{display:flex;gap:8px}.empty-state{padding:60px 24px;text-align:center;display:flex;align-items:center;flex-direction:column;color:var(--muted)}.empty-state>svg{margin-bottom:20px}.empty-state h2{margin:0 0 12px;color:var(--ink)}.empty-state p{font-size:var(--type-body);max-width:400px;margin-bottom:24px}.back-link{display:inline-flex;align-items:center;gap:8px;color:#475f58;font-size:var(--type-label)}.form-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(0,2.5fr);gap:60px}.form-sidebar{padding:28px 0}.section-number{font:var(--weight-regular) var(--type-metric) "Spectral",serif;color:#598b6c;display:block;margin-bottom:18px}.form-sidebar h2{font-size:var(--type-section)}.form-sidebar p{font-size:var(--type-supporting);color:#598b6c;max-width:240px}.form-panel{background:#fff;border:1px solid rgba(0,35,40,.15);padding:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.field{margin-bottom:23px}.field label,.tag-picker legend{display:block;font-size:var(--type-label);font-weight:var(--weight-semibold);margin-bottom:9px}.required{color:#598b6c}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;border:1px solid rgba(0,35,40,.15);background:#fff;color:var(--ink);padding:12px 13px;border-radius:0;font-size:var(--type-body);min-height:46px;max-width:100%}.field textarea{resize:vertical;line-height:var(--leading-loose);vertical-align:top}.field input[type=file]{font-size:var(--type-supporting);padding:10px}.field-error{font-size:var(--type-label);color:var(--danger);margin:7px 0 0;line-height:var(--leading-body)}.field-hint{font-size:var(--type-meta);line-height:var(--leading-body);color:#598b6c;margin:7px 0 0}.form-divider{border-top:1px solid rgba(0,35,40,.15);margin:13px 0 26px}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid rgba(0,35,40,.15);margin-top:28px;padding-top:24px;flex-wrap:wrap}.tag-picker{padding:0;border:0;display:flex;flex-wrap:wrap;gap:14px 24px}.check{display:flex;gap:8px;align-items:center;font-size:var(--type-label);color:#475f58}.check input{width:16px;height:16px}.panel{background:#fff;border:1px solid rgba(0,35,40,.15)}.profile-heading{display:flex;gap:26px;align-items:center;margin:35px 0 40px}.profile-heading h1{font-size:var(--type-page-profile);margin-bottom:15px}.profile-heading>.button{margin-left:auto}.profile-avatar{width:85px;height:85px;font:var(--weight-regular) var(--type-display-small) "Spectral",serif}.profile-heading .eyebrow{margin-bottom:10px;font-size:var(--type-micro)}.profile-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.2fr);gap:26px;align-items:start}.profile-details{padding:28px}.profile-details dl{margin:25px 0 0}.profile-details dt{font-size:var(--type-micro);letter-spacing:var(--tracking-wide);color:#598b6c;text-transform:uppercase;margin-top:22px}.profile-details dd{margin:7px 0 0;font-size:var(--type-supporting);overflow-wrap:anywhere}.capitalize{text-transform:capitalize}.access-section{border-top:1px solid rgba(0,35,40,.15);margin-top:28px;padding-top:23px}.access-section h3{font-size:var(--type-supporting)}.access-section p{font-size:var(--type-label);color:#598b6c}.access-section>small{display:block;font-size:var(--type-micro);margin-top:10px;line-height:var(--leading-body)}.profile-context{padding:26px;margin-top:20px}.profile-context .eyebrow{font-size:var(--type-micro)}.profile-context>p:last-child{font-size:var(--type-supporting);color:#475f58;margin-bottom:0}.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere}.lifecycle{padding:28px 4px}.lifecycle .eyebrow{color:#598b6c;font-size:var(--type-micro)}.text-button{display:flex;align-items:center;gap:10px;border:0;background:none;color:#475f58;padding:10px 0;font-size:var(--type-label)}.text-button.destructive{color:#9c3736}.notes-panel{padding:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:15px}.section-heading .eyebrow{font-size:var(--type-micro);color:#598b6c;margin-bottom:9px}.section-heading h2{font-size:var(--type-section);margin:0}.count-label{font:var(--weight-regular) var(--type-display-small) "Spectral",serif;color:#598b6c}.note-form{padding-bottom:27px;border-bottom:1px solid rgba(0,35,40,.15)}.note-form .field{margin-bottom:12px}.note-form-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.note-form select{border:1px solid rgba(0,35,40,.15);background:#fff;font-size:var(--type-meta);padding:10px;color:#475f58;max-width:65%;border-radius:0}.note-form .field-hint{margin-top:12px}.note{padding:28px 0;border-bottom:1px solid rgba(0,35,40,.15)}.note-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--type-micro);color:#598b6c}.note-meta strong{font-size:var(--type-meta);font-weight:var(--weight-semibold);color:#475f58}.note-private,.note-visible{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:var(--type-micro);padding:4px 6px;background:#f1fffb;color:#598b6c}.note-visible{background:#f1fffb;color:#598b6c}.note>p{font-size:var(--type-supporting);color:#475f58;margin:15px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.empty-notes{padding:44px 15px;text-align:center;color:#598b6c}.empty-notes p{color:#475f58;margin:12px 0 6px;font-size:var(--type-body)}.empty-notes span{font-size:var(--type-label)}.notes-panel .pagination{padding:20px 0 0}.dialog{border:1px solid rgba(0,35,40,.15);max-width:510px;width:calc(100% - 32px);padding:26px;background:#fff;color:var(--ink);box-shadow:0 30px 100px #00232830}.dialog::backdrop{background:#00232899;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.dialog-head h2{font-size:var(--type-section);margin:0}.dialog-body p{font-size:var(--type-body);color:#475f58}.dialog-body .danger-copy{color:#9c3736}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;flex-wrap:wrap}.dialog .field{margin-top:20px;margin-bottom:0}.delete-page{max-width:800px;margin:40px auto;padding:42px}.delete-page>svg{color:var(--danger);margin-bottom:20px}.delete-page h1{font-size:var(--type-display-small)}.delete-page>p{font-size:var(--type-body);max-width:650px}.delete-page .eyebrow{color:var(--danger)}.scientist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.scientist-card{padding:27px;background:#fff;border:1px solid rgba(0,35,40,.15);display:flex;flex-direction:column;align-items:start}.scientist-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:14px;margin-bottom:25px}.scientist-photo{width:70px;height:70px;object-fit:cover;border-radius:50%;font:var(--weight-regular) var(--type-section-large) "Spectral",serif}.role-label{font-size:var(--type-micro);letter-spacing:var(--tracking-label);color:#598b6c}.scientist-card h2{font-size:var(--type-section);margin-bottom:6px}.scientist-title{font-size:var(--type-label);color:#598b6c;margin-bottom:20px}.scientist-bio{font-size:var(--type-supporting);line-height:var(--leading-loose);color:#475f58;white-space:pre-wrap}.qualifications{font-size:var(--type-meta);white-space:pre-wrap;color:#598b6c;border-top:1px solid rgba(0,35,40,.15);padding-top:16px;line-height:var(--leading-loose)}.scientist-footer{margin-top:auto;width:100%;padding-top:18px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.2);font-size:var(--type-meta)}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--type-label);color:#475f58}.photo-preview{width:70px;height:70px;object-fit:cover;display:block;margin-bottom:12px;border-radius:50%}.tags-panel{max-width:800px}.tag-row{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid rgba(0,35,40,.15)}.tag-row:last-child{border-bottom:0}.tag-row>div{display:flex;gap:12px}.notice{padding:16px 20px;border:1px solid #598b6c;background:#f1fffb;font-size:var(--type-supporting);line-height:var(--leading-body);color:#598b6c;margin-bottom:25px}.toast{max-width:900px;margin:20px auto -20px;background:#f1fffb;color:#598b6c;padding:14px 22px;display:flex;gap:10px;align-items:center;font-size:var(--type-supporting);border:1px solid #598b6c}.status-dot{width:6px;height:6px;border-radius:50%;background:#598b6c;flex-shrink:0}.auth-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.auth-story{background:var(--ink);color:var(--paper);padding:44px 55px;position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:100vh}.auth-story>.brand,.auth-copy,.auth-bottom{position:relative;z-index:1}.auth-copy{margin-top:auto;padding:130px 0 100px}.auth-copy .eyebrow{color:#598b6c;font-size:var(--type-micro)}.auth-copy h1{font-size:var(--type-hero-auth);font-weight:var(--weight-regular);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);margin:27px 0}.auth-copy>p:last-child{font-size:var(--type-body-large);color:#598b6c;line-height:var(--leading-loose)}.auth-bottom{font-size:var(--type-micro);letter-spacing:var(--tracking-label);color:#598b6c;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(71,95,88,.314);padding-top:25px}.auth-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 110% 30%,rgba(71,95,88,.251),transparent 65%)}.auth-art i{position:absolute;left:48%;top:-16%;width:50%;height:145%;border:1px solid rgba(89,139,108,.125);transform:rotate(33deg)}.auth-art i:nth-child(2){left:57%}.auth-art i:nth-child(3){left:66%}.auth-art i:nth-child(4){left:75%}.auth-art i:nth-child(5){left:84%}.auth-art i:nth-child(6){left:93%}.auth-art i:nth-child(7){left:102%}.auth-content{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:60px 40px;position:relative;background:#fff}.auth-form{width:100%;max-width:370px}.auth-form .eyebrow{font-size:var(--type-micro);color:#598b6c}.auth-form h2{font-size:var(--type-display-small);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--leading-heading);margin-bottom:15px}.auth-form .intro{font-size:var(--type-supporting);color:#598b6c;margin-bottom:35px}.auth-form .field{margin-bottom:22px}.auth-form .field input{background:transparent}.form-inline{display:flex;align-items:center;justify-content:space-between;margin:5px 0 27px}.auth-help{font-size:var(--type-meta);color:#598b6c;text-align:center;margin:25px 0 0}.auth-footnote{position:absolute;bottom:25px;font-size:var(--type-micro);color:#598b6c}.auth-back{display:inline-block;margin-top:25px;font-size:var(--type-label);color:#598b6c}.skip-link{position:absolute;left:15px;top:-100px;z-index:100;background:#fff;color:var(--ink);padding:12px}.skip-link:focus{top:15px}.mobile-toggle,.mobile-nav,.mobile-only{display:none}@media(min-width:1500px){.main{padding-left:65px;padding-right:65px}}@media(max-width:1050px){.topbar{gap:25px}.desktop-nav{margin-left:10px}.topbar-end{gap:12px}.stat-block{grid-template-columns:1fr}.stat-block>.eyebrow{grid-column:auto}.stat-block>span:last-child{display:none}.scientist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-layout{gap:30px;grid-template-columns:200px minmax(0,1fr)}.auth-story{padding:35px}.profile-grid{grid-template-columns:240px minmax(0,1fr)}.notes-panel{padding:24px}}@media(max-width:760px){.topbar{height:76px;padding:0 22px;gap:15px}.brand{font-size:var(--type-subheading);gap:10px}.brand-mark{width:32px;height:34px;font-size:var(--type-section)}.desktop-nav,.desktop-logout,.user-name{display:none}.stage-label{font-size:var(--type-micro)}.topbar-end{gap:10px}.mobile-toggle{display:inline-grid}.mobile-nav{display:flex;flex-direction:column;background:#05363d;color:#f1ece9;padding:10px 22px 20px;gap:5px}.mobile-nav a,.mobile-nav button{display:block;padding:13px 0;border:0;border-bottom:1px solid rgba(89,139,108,.251);background:none;text-align:left;color:inherit;font-size:var(--type-body)}.main{padding:35px 22px 55px;min-height:calc(100vh - 170px)}.page-heading{align-items:flex-start;gap:24px;flex-direction:column;margin-bottom:28px}.page-heading .eyebrow{font-size:var(--type-micro)}.page-heading h1{font-size:var(--type-display-small)}.page-heading .button{min-height:43px;padding:12px 18px}.athlete-overview{grid-template-columns:105px 1fr;min-height:160px;margin-bottom:28px}.stat-block{padding:20px 16px}.stat-block .eyebrow{font-size:var(--type-micro)}.stat-block strong{font-size:var(--type-metric-xlarge)}.overview-statement{padding:22px 20px}.overview-statement .eyebrow{font-size:var(--type-micro);max-width:140px}.overview-statement p{font-size:var(--type-card)}.overview-statement>svg{right:15px;bottom:13px;width:22px}.overview-statement:after{right:-80px}.directory-tools{flex-direction:column;padding:0 17px 10px;gap:2px;align-items:stretch}.tabs{gap:25px}.tabs button,.tabs a{padding:17px 0;font-size:var(--type-label)}.search{width:100%;max-width:none}.search input{font-size:var(--type-label)}.table-heading{display:none}.athlete-row{grid-template-columns:1fr 18px;gap:10px;padding:20px 17px}.email-cell{grid-column:1;font-size:var(--type-meta);padding-left:58px;margin-top:-5px}.athlete-row>svg{grid-row:1/3;grid-column:2}.tag-cell{grid-column:1/3;padding-left:58px}.tag-cell:has(.muted){display:none}.person strong{font-size:var(--type-supporting)}.pagination{padding:17px}.footer{padding:23px 22px;gap:18px;align-items:flex-start;font-size:var(--type-micro);letter-spacing:var(--tracking-wide)}.footer>span:last-child{font-size:var(--type-micro);white-space:nowrap}.footer-divider{margin:0 6px}.form-layout{grid-template-columns:1fr;gap:15px}.form-sidebar{padding:0 0 10px}.form-sidebar .section-number{display:none}.form-sidebar h2{font-size:var(--type-card);margin-bottom:8px}.form-sidebar p{max-width:none;font-size:var(--type-label);margin-bottom:8px}.form-panel{padding:24px 19px}.form-grid{grid-template-columns:1fr;gap:0}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{font-size:var(--type-subheading)}.field label{font-size:var(--type-label)}.form-actions{gap:9px}.form-actions .button{font-size:var(--type-label);padding:12px 15px}.profile-heading{gap:15px;flex-wrap:wrap;margin:28px 0}.profile-heading h1{font-size:var(--type-section-large)}.profile-avatar{width:59px;height:59px;font-size:var(--type-section)}.profile-heading>.button{margin-left:0;min-height:40px;font-size:var(--type-label)}.profile-heading .tag-cell{padding:0}.profile-heading .eyebrow{font-size:var(--type-micro)}.profile-grid{grid-template-columns:1fr;gap:20px}.profile-details{padding:24px}.profile-details dl{display:grid;grid-template-columns:100px 1fr;gap:18px 10px;margin-top:20px}.profile-details dt,.profile-details dd{margin:0;font-size:var(--type-meta)}.profile-details dd{font-size:var(--type-label)}.profile-context{margin-top:15px}.lifecycle{padding:20px 0;display:flex;flex-wrap:wrap;gap:5px 25px}.lifecycle .eyebrow{width:100%;margin-bottom:5px}.notes-panel{padding:23px 19px}.section-heading h2{font-size:var(--type-section)}.note-form-bottom select{font-size:var(--type-meta);padding:10px 7px}.note-form-bottom .button{font-size:var(--type-meta);padding:10px}.note-meta{gap:6px;font-size:var(--type-micro)}.note-meta strong{font-size:var(--type-micro)}.note-private,.note-visible{margin-left:0;font-size:var(--type-micro)}.note>p{font-size:var(--type-supporting)}.scientist-grid{grid-template-columns:1fr;gap:18px}.scientist-card{padding:24px}.scientist-card h2{font-size:var(--type-section)}.tags-panel .empty-state{padding:35px 20px}.delete-page{padding:28px 22px;margin:10px 0}.delete-page h1{font-size:var(--type-section-large)}.dialog{padding:23px}.dialog-head h2{font-size:var(--type-card)}.dialog-actions .button{font-size:var(--type-label);padding:12px 15px}.toast{margin:14px 15px -15px;padding:13px 15px;font-size:var(--type-label)}.auth-shell{grid-template-columns:1fr}.auth-story{min-height:0;padding:24px 26px}.auth-copy{padding:55px 0 15px}.auth-copy h1{font-size:var(--type-metric-large);margin:16px 0}.auth-copy>p:last-child{display:none}.auth-copy .eyebrow{font-size:var(--type-micro)}.auth-bottom{display:none}.auth-content{padding:42px 26px 70px;min-height:540px}.auth-form{max-width:430px}.auth-form h2{font-size:var(--type-display-small)}.auth-form .intro{margin-bottom:26px}.auth-form .field input{font-size:var(--type-subheading)}.auth-footnote{bottom:14px}.auth-art i{left:60%;top:-60%;height:250%}.empty-state{padding:45px 20px}}.field select,.goal-form select,.note-form select{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='m1 1 7 7 7-7' fill='none' stroke='%23002328' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px;border:1px solid rgba(0,35,40,.15);border-radius:0;color:var(--ink);font-size:var(--type-body);min-height:46px;padding:12px 42px 12px 13px;width:100%}.field select:focus,.goal-form select:focus,.note-form select:focus{border-color:#00232826;outline:2px solid rgba(0,35,40,.15);outline-offset:1px}.goal-form input{background:#fff;border:1px solid rgba(0,35,40,.15);border-radius:0;color:var(--ink);font-size:var(--type-body);min-height:46px;padding:12px 13px}.table-heading,.athlete-row{grid-template-columns:1.4fr 1.2fr .9fr minmax(420px,auto)}.table-heading>span:last-child{text-align:right}.athlete-row-actions{display:flex;gap:8px;justify-self:end;width:100%}.athlete-row-action{align-items:center;border:1px solid rgba(0,35,40,.15);color:var(--ink);display:inline-flex;flex:1;font-size:var(--type-label);font-weight:var(--weight-semibold);gap:6px;justify-content:center;min-height:42px;padding:8px 11px;white-space:nowrap}.athlete-row-action:hover{background:#f1fffb}.athlete-row-action.primary{background:var(--ink);border-color:var(--ink);color:#fff}.athlete-row-action.primary:hover{background:#05363d}.athlete-id{color:#598b6c;font-size:var(--type-meta);letter-spacing:var(--tracking-wide)}@media(max-width:760px){.athlete-row{grid-template-columns:1fr}.athlete-row .email-cell,.athlete-row .athlete-id{grid-column:1;padding-left:58px}.athlete-row-actions{grid-column:1;justify-self:start;margin-left:58px;margin-top:5px}.table-heading>span:last-child{display:none}}.eyebrow,.athlete-id{letter-spacing:var(--tracking-normal)!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.app-shell{background:var(--paper);min-height:100vh}.prototype-topbar{position:relative;z-index:10;height:88px;display:grid;grid-template-columns:1fr auto 1fr;gap:0;padding:0 4.5vw;background:var(--ink);color:var(--paper)}.prototype-brand{justify-self:start;font-size:var(--type-card);letter-spacing:var(--tracking-eyebrow);line-height:1;font-weight:var(--weight-bold)}.prototype-brand:before{content:"G";display:grid;place-items:center;width:31px;height:35px;margin-right:11px;border:1px solid rgba(255,255,255,.46);font-size:var(--type-card);letter-spacing:var(--tracking-tight);font-weight:var(--weight-medium)}.prototype-brand small{font-size:var(--type-micro);letter-spacing:var(--tracking-eyebrow);text-align:center;margin-top:5px}.prototype-menu{justify-self:center;align-self:center;margin:0;gap:0;border:1px solid rgba(255,255,255,.24);background:#0023282e;box-shadow:0 14px 40px #0023282e}.prototype-menu a{height:43px;padding:0 21px;border:0;border-right:1px solid var(--rule-on-dark);font-size:var(--type-label);color:#ffffffd1;letter-spacing:var(--tracking-wide)}.prototype-menu a:last-child{border-right:0}.prototype-menu a.active{background:var(--ink);border-bottom:0;color:#fff}.prototype-user{justify-self:end;margin-left:0;color:#fff;gap:12px}.prototype-user .user-link{font-size:var(--type-supporting)}.prototype-user .avatar{width:34px;height:34px;background:#598b6c;color:#fff}.prototype-user .icon-button{color:#f1ece9;width:32px}.prototype-user .icon-button:hover{background:#ffffff1a}.stage-label{border-color:#ffffff47;color:#f1ece9}.main{max-width:1440px;padding-top:62px}.page-heading{margin-bottom:45px}.page-heading .eyebrow{font-size:var(--type-meta);letter-spacing:var(--tracking-eyebrow)}.page-heading h1{font-size:var(--type-page);line-height:var(--leading-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.page-intro{font-size:var(--type-body-large);line-height:var(--leading-body);max-width:480px}.panel,.directory,.form-panel{border-color:#00232826;border-radius:0;background:#ffffffb8}.button,.btn{border-radius:0}.button{font-size:var(--type-supporting);letter-spacing:var(--tracking-wide)}.athlete-overview{border-color:#00232826;min-height:198px}.stat-block{background:#ffffff85}.overview-statement{background:var(--ink)}.directory-tools{min-height:72px}.tabs button,.tabs a{font-size:var(--type-label)}.athlete-row{min-height:96px}.profile-heading{margin-top:5px}.profile-grid{gap:14px}.notes-panel,.profile-details{padding:28px}.scientist-grid{gap:14px}.scientist-card{border-color:#00232826;border-radius:0;background:#ffffffb8}.footer{background:var(--ink);border-top:0;color:#f1ece9;padding:28px 4.5vw}.footer-divider{color:#598b6c}@media(max-width:760px){.prototype-topbar{height:76px;display:flex;padding:0 20px}.prototype-brand{font-size:var(--type-subheading)}.prototype-brand:before{width:27px;height:30px;font-size:var(--type-subheading);margin-right:9px}.prototype-menu,.prototype-user .user-name,.prototype-user .desktop-logout{display:none}.prototype-user{margin-left:auto}.mobile-nav{background:var(--ink);border-top:1px solid var(--rule-on-dark)}.mobile-nav a,.mobile-nav button{color:var(--paper);border-color:#ffffff24}.main{padding-top:38px}.page-heading h1{font-size:var(--type-metric)}.page-heading .eyebrow{letter-spacing:var(--tracking-eyebrow)}.athlete-overview{min-height:165px}.footer{background:var(--ink)}}.session-ledger{border:1px solid var(--rule);background:#ffffffb8}.ledger-head,.session-row{display:grid;grid-template-columns:1.45fr 1fr 1.1fr .75fr 22px;gap:20px;align-items:center;padding:18px 25px}.ledger-head{font-size:var(--type-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:#598b6c;border-bottom:1px solid var(--rule-soft)}.session-row{min-height:87px;border-bottom:1px solid var(--rule-soft);transition:background .15s}.session-row:last-child{border-bottom:0}.session-row:hover{background:#f1fffb}.session-row strong{display:block;font-size:var(--type-body)}.session-row small{display:block;margin-top:7px;color:#598b6c;font-size:var(--type-meta)}.session-athlete,.result-list{font-size:var(--type-label);color:#475f58}.result-list{display:flex;align-items:center;gap:7px;text-transform:capitalize}.session-status,.parse-status{display:inline-flex;width:max-content;border:1px solid rgba(0,35,40,.15);padding:5px 7px;font-size:var(--type-meta);line-height:1;letter-spacing:var(--tracking-normal);text-transform:none;color:#475f58}.session-status.published,.parse-status.ready{background:#f1fffb;border-color:#598b6c;color:#598b6c}.session-status.ready_for_review,.parse-status.needs_review{background:#9c37361a;border-color:#9c3736;color:#9c3736}.session-status.in_progress,.parse-status.queued,.parse-status.reading{background:#f1fffb;color:#475f58}.parse-status.failed{background:#9c37361a;border-color:#9c3736;color:#9c3736}.session-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:32px 0 40px}.session-title h1{margin-bottom:12px}.session-title>div>p:last-child{font-size:var(--type-body);color:#598b6c;margin:0}.session-actions{display:flex;gap:10px;flex-wrap:wrap}.session-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,.8fr);gap:14px;align-items:start}.session-main{display:grid;gap:14px}.vault,.result-workbench,.published-results,.session-aside{border:1px solid var(--rule);background:#ffffffb8}.vault{padding:28px}.vault-heading{display:flex;justify-content:space-between;gap:25px;align-items:start;border-bottom:1px solid var(--rule-soft);padding-bottom:24px}.vault-heading h2{font-size:var(--type-section-large);margin:0 0 8px}.vault-heading p:last-child{font-size:var(--type-supporting);max-width:540px;color:#598b6c;margin:0}.file-button{flex-shrink:0}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.vault-empty{padding:38px 5px 12px;display:flex;gap:14px;align-items:center;color:#598b6c;font-size:var(--type-supporting)}.document-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:19px 0;border-bottom:1px solid var(--rule-soft)}.document-row:last-child{border-bottom:0}.document-icon{display:grid;place-items:center;width:34px;height:37px;background:#f1fffb;color:#475f58}.document-copy{min-width:0}.document-copy strong,.document-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-copy strong{font-size:var(--type-supporting)}.document-copy span{font-size:var(--type-meta);color:#598b6c;margin-top:5px}.parse-error{display:block;margin-top:6px;color:#9c3736;font-size:var(--type-micro);white-space:normal}.document-tools{display:flex;align-items:center;gap:9px}.document-tools a,.document-tools button{border:0;background:transparent;padding:6px;color:#475f58;font-size:var(--type-meta);display:inline-flex;align-items:center;gap:4px}.result-workbench{padding:28px}.result-tabs{display:flex;border-bottom:1px solid var(--rule);overflow:auto}.result-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:transparent;padding:13px 10px;color:#598b6c;font-size:var(--type-label);white-space:nowrap}.result-tabs button.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:var(--weight-semibold)}.result-entry{padding-top:22px}.result-entry>p{font-size:var(--type-supporting);color:#598b6c;margin-bottom:22px}.result-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.result-fields label{display:block}.result-fields label span{display:block;font-size:var(--type-meta);font-weight:var(--weight-semibold);margin-bottom:8px}.result-fields em{font-style:normal;color:#598b6c;font-weight:var(--weight-regular)}.result-fields input{width:100%;min-height:44px;border:1px solid rgba(0,35,40,.15);background:#fff;padding:10px;font-size:var(--type-body)}.session-aside{padding:25px}.session-aside>dl{margin:22px 0 0}.session-aside dt{font-size:var(--type-micro);letter-spacing:var(--tracking-label);text-transform:uppercase;color:#598b6c;margin-top:20px}.session-aside dd{font-size:var(--type-supporting);line-height:var(--leading-body);margin:7px 0 0}.internal-session-note{border-top:1px solid var(--rule-soft);margin-top:25px;padding-top:20px}.internal-session-note .eyebrow{font-size:var(--type-micro)}.internal-session-note p:last-child{font-size:var(--type-label);white-space:pre-wrap;color:#598b6c}.session-radio{display:flex;gap:24px;padding-top:2px}.session-radio label{font-size:var(--type-supporting);display:flex;gap:8px;align-items:center}.published-results{padding:28px}.result-display{padding:18px 0;border-top:1px solid var(--rule-soft)}.result-display h2{text-transform:capitalize}.result-display dl{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:var(--type-supporting)}.result-display dt{text-transform:capitalize;color:#598b6c}.result-display dd{margin:0;font-family:Spectral,serif;font-size:var(--type-card)}@media(max-width:900px){.session-layout{grid-template-columns:1fr}.result-fields{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.ledger-head{display:none}.session-row{grid-template-columns:1fr auto;gap:10px;padding:20px 16px}.session-row .session-athlete,.session-row .result-list,.session-row .session-status{grid-column:1}.session-row>svg{grid-column:2;grid-row:1/4}.session-title{display:block;margin:26px 0 28px}.session-actions{margin-top:20px}.vault,.result-workbench,.published-results,.session-aside{padding:20px}.vault-heading{display:block}.file-button{margin-top:18px}.document-row{grid-template-columns:32px minmax(0,1fr);gap:11px}.parse-status,.document-tools{grid-column:2}.result-fields{grid-template-columns:1fr}.session-aside{order:-1}.session-radio{gap:16px;flex-wrap:wrap}}.portal-cover{position:relative;min-height:calc(100vh - 88px);margin:-62px -4.5vw 0;padding:150px 5vw 48px;display:grid;grid-template-rows:1fr auto;color:#fff;overflow:hidden;background:linear-gradient(90deg,#002328e6,#0023288c 52%,#00232840),radial-gradient(ellipse at 85% 15%,#598b6c 0,transparent 45%),linear-gradient(140deg,#002328 10%,#05363d 58%,#475f58)}.portal-cover:after{content:"";position:absolute;inset:-30%;background:repeating-linear-gradient(122deg,transparent 0 54px,rgba(255,255,255,.1) 55px 56px,transparent 57px 109px);transform:translate(45%);opacity:.45}.portal-hero,.cover-stats{position:relative;z-index:1}.portal-hero{align-self:center;max-width:760px}.portal-hero .eyebrow{color:#ffffffbf}.portal-hero h1{font-size:var(--type-hero-auth);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);margin:25px 0}.portal-hero>p:last-of-type{font-size:var(--type-lead);line-height:var(--leading-body);color:#ffffffd6;max-width:680px}.portal-ctas{display:flex;gap:13px;align-items:center;margin-top:31px}.button.light{background:#fff;border-color:#00232826;color:var(--ink)}.portal-link{display:inline-flex;gap:8px;align-items:center;color:inherit;font-size:var(--type-supporting);border-bottom:1px solid currentColor;padding:11px 0}.cover-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.25)}.cover-stats article{padding:25px 25px 6px 0;border-right:1px solid var(--rule-on-dark)}.cover-stats article:not(:first-child){padding-left:27px}.cover-stats article:last-child{border-right:0}.cover-stats strong{font:var(--weight-medium) var(--type-metric)/1 "Spectral",serif;letter-spacing:var(--tracking-heading);display:block}.cover-stats span{display:block;margin-top:9px;font-size:var(--type-meta);text-transform:uppercase;letter-spacing:var(--tracking-label);color:#ffffffa8}.cover-stats em{font-style:normal;text-transform:none;letter-spacing:var(--tracking-normal)}.portal-latest{margin:52px 0 14px;padding:29px;border:1px solid var(--rule);background:#ffffffa3;display:flex;align-items:center;justify-content:space-between;gap:25px}.portal-latest h2{font-size:var(--type-section-large);margin:0 0 8px}.portal-latest p:last-child{font-size:var(--type-supporting);color:#598b6c;margin:0}.portal-focus{margin:14px 0 0;padding:32px;background:var(--grape);color:#fff}.portal-focus .eyebrow{color:#ffffffb3}.portal-focus blockquote{max-width:780px;font-size:var(--type-quote);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading);margin:26px 0}.portal-focus small{color:#ffffffad;font-size:var(--type-meta)}.portal-empty{padding:85px 25px;text-align:center;border:1px solid var(--rule);background:#ffffffa6}.portal-empty h2{font-size:var(--type-section-large);margin:18px 0 9px}.portal-empty p{max-width:470px;margin:0 auto;color:#598b6c;font-size:var(--type-body)}.dash-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.dash-head h1{font-size:var(--type-page);margin:0}.dash-head>p{max-width:480px;color:#598b6c;font-size:var(--type-body);margin:0}.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:14px;background:#ffffff80}.kpi{padding:25px;border-right:1px solid var(--rule)}.kpi:last-child{border-right:0}.kpi .value{font:var(--weight-medium) var(--type-metric)/1 "Spectral",serif;letter-spacing:var(--tracking-heading)}.kpi .label{font-size:var(--type-label);color:#598b6c;margin-top:8px}.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mosaic .panel{min-height:250px;padding:25px;display:flex;flex-direction:column}.mosaic .panel h2{font-size:var(--type-card);margin:0}.mosaic .big{font:var(--weight-medium) var(--type-metric-xlarge)/1 "Spectral",serif;letter-spacing:var(--tracking-heading);margin-top:23px}.mosaic .panel>small{margin-top:13px;color:#598b6c;font-size:var(--type-meta)}.mosaic .dark{background:var(--ink);color:#fff}.mosaic .dark small{color:#ffffffa6}.mosaic .grape{background:var(--grape);color:#fff}.mosaic .grape p:last-of-type{font-size:var(--type-supporting);color:#ffffffb3;margin-top:8px}.mosaic .grape .portal-link{margin-top:auto}.trend-bars{margin-top:auto;height:80px;display:flex;align-items:end;gap:7px}.trend-bars i{flex:1;min-height:5px;background:#fff}.dark .trend-bars i{background:#ffffff4d}.trend-bars i:last-child{background:var(--ink)}.dark .trend-bars i:last-child{background:#fff}@media(max-width:760px){.portal-cover{min-height:calc(100vh - 76px);margin:-38px -22px 0;padding:120px 22px 27px}.portal-hero h1{font-size:var(--type-metric-large)}.portal-hero>p:last-of-type{font-size:var(--type-subheading)}.portal-ctas{align-items:start;flex-direction:column}.cover-stats{grid-template-columns:1fr 1fr;margin-top:54px}.cover-stats article{padding:16px 10px!important;border-bottom:1px solid var(--rule-on-dark)}.cover-stats strong{font-size:var(--type-display-small)}.portal-latest{display:block;padding:23px;margin-top:34px}.portal-latest .button{margin-top:19px}.dash-head{display:block}.dash-head>p{margin-top:16px}.kpis{grid-template-columns:1fr 1fr}.kpi:nth-child(2){border-right:0}.kpi:nth-child(-n+2){border-bottom:1px solid var(--rule)}.mosaic{grid-template-columns:1fr}}.athlete-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.athlete-sessions{margin-top:20px;border-top:1px solid var(--rule);padding:24px 0 4px}.athlete-sessions .section-heading{margin-bottom:14px}.athlete-session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--rule-soft)}.athlete-session-row strong,.athlete-session-row small{display:block}.athlete-session-row strong{font-size:var(--type-label)}.athlete-session-row small{font-size:var(--type-micro);color:#598b6c;margin-top:5px;text-transform:capitalize}.compact-empty{font-size:var(--type-label);color:#598b6c;padding:13px 0}@media(max-width:760px){.athlete-actions{width:100%;margin:2px 0 0}.athlete-actions .button{flex:1;font-size:var(--type-meta);padding:11px 10px}.athlete-session-row{align-items:flex-start}.athlete-session-row .session-status{flex-shrink:0}}@media(max-width:760px){.icon-button,.mobile-toggle{min-height:44px;min-width:44px}.session-actions{display:grid;grid-template-columns:1fr}.session-actions .button{justify-content:center;min-height:46px}.dialog-actions{display:grid;grid-template-columns:1fr}.dialog-actions .button{justify-content:center;min-height:46px}}.prototype-brand:before{content:none}.prototype-brand .brand-logo{display:block;height:auto;width:145px}@media(max-width:760px){.prototype-brand .brand-logo{width:128px}}.prototype-topbar{background:var(--graft-jet);color:#fff;display:grid;gap:0;grid-template-columns:1fr auto 1fr;height:auto;min-height:78px;padding:18px 4.5vw;position:relative}.prototype-brand{align-self:center;display:block;justify-self:start;line-height:0}.prototype-brand .brand-logo{display:block;height:auto;width:154px}.prototype-menu{align-self:center;background:#fff;border:0;border-radius:999px;box-shadow:0 14px 40px #0023282e;display:flex;gap:2px;justify-self:center;margin:0;padding:4px}.prototype-menu a{align-items:center;border:0;border-radius:999px;color:var(--graft-jet);display:flex;font-size:var(--type-label);font-weight:var(--weight-bold);justify-content:center;min-height:42px;padding:0 18px;transition:background-color .18s ease,color .18s ease}.prototype-menu a:hover,.prototype-menu a:focus-visible,.prototype-menu a.active{background:var(--graft-jet);color:#fff}.prototype-user{align-items:center;color:#fff;display:flex;gap:12px;justify-self:end;margin:0}.prototype-user .user-link{color:inherit;font-size:var(--type-supporting)}.prototype-user .avatar{background:#598b6c;color:#fff;height:34px;width:34px}.stage-label{background:#00232847;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fffc;padding:6px 11px}.prototype-user .desktop-logout{align-items:center;background:#0023284d;border:1px solid rgba(255,255,255,.42);border-radius:9px;color:#fff;display:inline-flex;height:36px;justify-content:center;margin-left:4px;width:36px}.prototype-user .desktop-logout:hover,.prototype-user .desktop-logout:focus-visible{background:#f1fffb;color:var(--graft-jet)}@media(max-width:900px){.prototype-topbar{display:flex;min-height:74px;padding:16px 20px}.prototype-brand .brand-logo{width:126px}.prototype-menu{display:none}.prototype-user{margin-left:auto}.prototype-user .user-name,.prototype-user .desktop-logout,.prototype-user .stage-label{display:none}.prototype-user .mobile-toggle{display:grid}.mobile-nav{background:var(--graft-jet);border:0;left:0;padding:8px 20px 19px;position:absolute;right:0;top:74px;z-index:30}.mobile-nav a{border-bottom:1px solid var(--rule-on-dark);color:#fff;padding:14px 0}}.auth-brand{display:block;line-height:0}.auth-brand img{display:block;height:auto;width:154px}.auth-story{background:var(--graft-jet)}.auth-art{background:linear-gradient(90deg,#002328eb,#002328c2 42%,#00232852),url(/images/graft-trail-runner-login-v1.png) center/cover no-repeat!important}.auth-copy>p:last-child{white-space:nowrap}@media(max-width:760px){.auth-brand img{width:128px}.auth-copy>p:last-child{white-space:normal}}select:not([multiple]){appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='M1 1.25 8 8.25 15 1.25' stroke='%23002328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:14px;border:1px solid rgba(0,35,40,.15);border-radius:0;color:var(--ink);min-height:46px;padding:11px 42px 11px 13px;transition:border-color .15s ease,box-shadow .15s ease}select:not([multiple]):hover{border-color:#00232826}select:not([multiple]):focus{border-color:#00232826;box-shadow:0 0 0 3px #598b6c33;outline:0}.session-review-notice{margin:0 0 24px}.athlete-sessions-panel{margin:0 0 14px;padding:28px}.athlete-sessions-panel .section-heading{margin-bottom:18px}.athlete-sessions-panel .athlete-session-row:last-child{border-bottom:0}@media(max-width:760px){.athlete-sessions-panel{padding:23px 19px}}.profile-main{min-width:0;display:grid;align-content:start;gap:14px}.profile-main .athlete-sessions-panel{margin:0}.lifecycle{padding:28px;display:grid;gap:12px}.lifecycle .eyebrow{margin:0 0 4px}.lifecycle .button{justify-content:flex-start}@media(max-width:760px){.lifecycle{padding:23px 19px;display:grid;gap:10px}}.athlete-goals{padding:28px}.athlete-goals>.eyebrow{margin-bottom:20px}.goal-list{border-top:1px solid var(--rule-soft);margin:0 0 20px}.goal-row{align-items:center;border-bottom:1px solid var(--rule-soft);display:flex;gap:12px;justify-content:space-between;padding:14px 0}.goal-row strong,.goal-row small{display:block}.goal-row strong{font-size:var(--type-supporting)}.goal-row small{color:#598b6c;font-size:var(--type-meta);margin-top:5px}.goal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.goal-form select,.goal-form .goal-context,.goal-form .button{grid-column:1/-1}.goal-form .button{width:100%;min-height:46px}.goal-form input{min-width:0;width:100%}@media(max-width:480px){.athlete-goals{padding:23px 19px}.goal-form{grid-template-columns:1fr}.goal-form .goal-date{grid-column:1/-1}}.profile-context .eyebrow,.athlete-goals>.eyebrow,.lifecycle .eyebrow{font-size:var(--type-meta)}.lifecycle{margin-top:14px}.note-form-bottom .field-hint{margin:0}.note-delete{align-items:center;background:transparent;border:0;color:var(--danger);display:inline-flex;font-size:var(--type-meta);gap:5px;margin-left:10px;padding:5px 0}.note-delete:hover{text-decoration:underline}.profile-context .eyebrow,.athlete-goals>.eyebrow,.lifecycle .eyebrow{color:var(--ink)}.athlete-row-action.destructive{border-color:var(--danger);color:var(--danger)}.athlete-row-action.destructive:hover{background:#9c37361a}.portal-cover:after{display:none}.athlete-profile-grid{align-items:start}.profile-side-stack{display:grid;gap:20px}.athlete-details-form .field{margin-bottom:16px}.athlete-details-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.profile-details>.button{margin-top:24px}.profile-self-service{border-top:1px solid rgba(0,35,40,.15);margin-top:24px;padding-top:22px}.profile-self-service h3{font-size:var(--type-body);margin:0 0 8px}.profile-self-service p{color:#598b6c;font-size:var(--type-label);line-height:var(--leading-body);margin:0 0 14px}.profile-self-service .field-hint{display:block}.data-deletion-request{padding:28px}.data-deletion-request .eyebrow{margin-bottom:11px}.data-deletion-request h2{font-size:var(--type-section);margin:0 0 10px}.data-deletion-request>p:not(.eyebrow){color:#598b6c;font-size:var(--type-supporting);line-height:var(--leading-body);margin:0 0 20px}.button.secondary.danger-outline{border-color:var(--danger);color:var(--danger)}.button.secondary.danger-outline:hover{background:#9c37361a}@media(max-width:760px){.profile-side-stack{gap:16px}.data-deletion-request{padding:24px}.athlete-details-actions{justify-content:stretch}.athlete-details-actions .button{flex:1}}.athlete-session-info{color:inherit;display:block;min-width:0}.athlete-session-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.session-delete-pill{background:#9c37361a;border:1px solid #9c3736;color:#9c3736;font:var(--weight-semibold) var(--type-meta) "Plus Jakarta Sans",sans-serif;padding:5px 7px}.session-delete-pill:hover,.session-delete-pill:focus-visible{background:#9c3736;border-color:#9c3736;color:#9c3736}@media(max-width:760px){.athlete-session-actions{align-items:flex-end;flex-direction:column}.session-delete-pill{min-height:31px}}.athlete-session-content{display:grid;gap:22px}.published-results{background:transparent;border:0;padding:0}.published-results>.eyebrow{border-bottom:1px solid var(--graft-line);color:#598b6c;margin:0;padding:0 0 14px}.athlete-result-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.athlete-portal-shell .session-result-card{background:#ffffffb8;border-color:var(--graft-line);color:var(--graft-jet);display:flex;flex-direction:column;margin:0;min-height:330px;padding:25px}.session-result-card h2{border-bottom:1px solid var(--graft-line);font-size:var(--type-section);margin:0 0 22px;padding-bottom:15px}.session-result-card dl{display:grid;gap:12px;margin:0}.session-result-card dt{color:#598b6c;font-size:var(--type-label);line-height:var(--leading-compact);text-transform:none}.session-result-card dd{color:var(--graft-jet);font:var(--weight-medium) var(--type-section)/var(--leading-tight) "Spectral",serif;letter-spacing:var(--tracking-heading);margin:0}.athlete-source-documents{background:#ffffffb8;border:1px solid var(--graft-line);padding:28px}.athlete-source-documents-heading{border-bottom:1px solid var(--graft-line);padding-bottom:20px}.athlete-source-documents h2{font-size:var(--type-section);margin:0 0 7px}.athlete-source-documents p:last-child{color:#598b6c;font-size:var(--type-supporting);line-height:var(--leading-body);margin:0}.athlete-source-documents .eyebrow{margin:0 0 12px}.athlete-document-list{display:grid;gap:10px;margin-top:18px}.athlete-document-link{align-items:center;border:1px solid var(--graft-line);display:grid;font-size:var(--type-body);font-weight:var(--weight-semibold);gap:13px;grid-template-columns:38px minmax(0,1fr) auto;padding:13px 15px;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.athlete-document-link>span:nth-child(2){min-width:0}.athlete-document-icon{align-items:center;background:#f1fffb;color:#475f58;display:flex;height:38px;justify-content:center;width:38px}.athlete-document-link>svg{color:#598b6c}@media(hover:hover){.athlete-document-link:hover{background:#f1fffb;border-color:#00232826;box-shadow:0 12px 26px #0023281a;transform:translateY(-4px)}}.athlete-document-link:focus-visible{box-shadow:0 0 0 2px #05363d33,0 12px 26px #0023281a}@media(max-width:1000px){.athlete-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.athlete-result-grid{grid-template-columns:1fr}.athlete-portal-shell .session-result-card,.athlete-source-documents{min-height:0;padding:20px}.session-result-card h2{margin-bottom:19px}.athlete-document-link{font-size:var(--type-supporting);padding:12px}}@media(prefers-reduced-motion:reduce){.athlete-document-link{transition:none}.athlete-document-link:hover{transform:none}}.admin-tabs{align-self:flex-start;background:#ffffff80;border:1px solid var(--rule);display:inline-flex;gap:4px;margin-bottom:28px;max-width:100%;padding:4px}.admin-tabs button{background:transparent;border:0;color:#598b6c;cursor:pointer;font:inherit;font-size:var(--type-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);min-height:42px;padding:11px 16px;transition:background .15s,color .15s}.admin-tabs button:hover{background:#f1fffb;color:var(--ink)}.admin-tabs button.active{background:var(--ink);color:#fff}.admin-tabs button:focus{outline:0}.admin-tabs button:focus-visible{box-shadow:inset 0 -3px #598b6c26}.admin-panel{border:1px solid var(--rule);background:#ffffffb8;padding:30px}.admin-panel-head{align-items:flex-start;border-bottom:1px solid var(--rule-soft);display:flex;gap:20px;justify-content:space-between;margin-bottom:24px;padding-bottom:22px}.admin-panel-head h2{font-size:var(--type-section-large);margin:0 0 8px}.admin-panel-head p,.admin-note{color:#598b6c;font-size:var(--type-supporting);line-height:var(--leading-body);margin:0;max-width:650px}.admin-note{margin:-4px 0 24px}.parser-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.parser-card{border:1px solid var(--rule);background:#fff}.parser-card header{border-bottom:1px solid var(--rule-soft);padding:22px}.parser-card h3{font-size:var(--type-card);margin:7px 0}.parser-card code{color:#598b6c;font-size:var(--type-meta)}.parser-field-head,.parser-field{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) 80px 105px;gap:10px;padding:13px 22px}.parser-field-head{border-bottom:1px solid var(--rule-soft);color:#598b6c;font-size:var(--type-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase}.parser-field{border-bottom:1px solid var(--rule-soft);font-size:var(--type-label)}.parser-field:last-child{border-bottom:0}.parser-field strong,.parser-field small{display:block}.parser-field strong{font-size:var(--type-supporting)}.parser-field small{color:#598b6c;font-size:var(--type-micro);margin-top:3px}.parser-field>span{color:#598b6c;font-size:var(--type-meta)}.toggle{align-items:center;color:#598b6c;cursor:pointer;display:flex;font-size:var(--type-meta);gap:6px}.toggle input{accent-color:var(--ink)}.dashboard-control-list{display:grid;gap:12px}.dashboard-control{align-items:end;border:1px solid var(--rule);display:grid;gap:12px;grid-template-columns:1.1fr minmax(115px,.85fr) 75px minmax(135px,.9fr) 60px minmax(180px,1.5fr) auto auto auto;padding:18px}.dashboard-control .field{margin:0}.dashboard-control .field label{font-size:var(--type-micro)}.dashboard-control input,.dashboard-control textarea{font-size:var(--type-label);min-height:38px;padding:8px}.dashboard-control-key strong,.dashboard-control-key span{display:block}.dashboard-control-key strong{font-size:var(--type-label)}.dashboard-control-key span{color:#598b6c;font-size:var(--type-micro);margin-top:4px}.dashboard-description textarea{min-height:54px}.dashboard-switch{font-size:var(--type-micro);line-height:var(--leading-compact);max-width:92px}.dashboard-save{align-self:end;gap:5px;padding:10px 12px}.new-dashboard-metric{border:1px solid var(--rule);margin-top:24px;padding:24px}.new-dashboard-metric h3{font-size:var(--type-card);margin:0 0 6px}.new-dashboard-metric>p{color:#598b6c;font-size:var(--type-label);margin:0 0 18px}.new-metric-grid{display:grid;gap:13px;grid-template-columns:repeat(4,minmax(0,1fr))}.new-metric-grid .field{margin:0}.new-metric-description{grid-column:span 4}.new-metric-actions{align-items:center;display:flex;gap:18px;margin-top:16px}.new-metric-actions .button{margin-left:auto}.privacy-requests{display:grid;gap:15px}@media(max-width:1180px){.dashboard-control{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-description{grid-column:span 2}.dashboard-switch{max-width:none}.dashboard-save{justify-self:start}.parser-grid{grid-template-columns:1fr}}@media(max-width:760px){.admin-panel{padding:20px 16px}.admin-panel-head{align-items:flex-start;flex-direction:column}.parser-field-head{display:none}.parser-field{grid-template-columns:1fr auto;gap:8px;padding:14px}.parser-field>span{grid-column:1}.toggle{grid-column:2;grid-row:1/3}.dashboard-control{grid-template-columns:1fr 1fr}.dashboard-control-key,.dashboard-description{grid-column:span 2}.new-metric-grid{grid-template-columns:1fr}.new-metric-description{grid-column:auto}.new-metric-actions{align-items:flex-start;flex-direction:column;gap:10px}.new-metric-actions .button{margin-left:0}.admin-tabs{gap:4px;overflow:auto}.admin-tabs button{white-space:nowrap}}.parser-management-head,.parser-management-row{grid-template-columns:minmax(0,1fr) 110px 90px}.status-pill{background:#fff;border:1px solid rgba(0,35,40,.15);color:#475f58;display:inline-flex;font-size:var(--type-micro);line-height:1;padding:6px 8px;width:max-content}.status-pill.live{background:#f1fffb;border-color:#598b6c;color:#598b6c}.status-pill.hidden{background:#fff;border-color:#00232826;color:#475f58}.status-pill.unused{background:#f1fffb;border-color:#00232826;color:#598b6c}.status-pill.overview{background:#fff;border-color:#fff3;color:#475f58}.dashboard-parser-groups{display:grid;gap:20px}.dashboard-parser-group{background:#fff;border:1px solid var(--rule)}.dashboard-parser-group>header{align-items:center;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:20px;padding:21px 24px}.dashboard-parser-group header .eyebrow{margin-bottom:6px}.dashboard-parser-group h3{font-size:var(--type-card);margin:0}.dashboard-parser-group header p:last-child{color:#598b6c;font-size:var(--type-meta);margin:5px 0 0}.parser-count{color:#598b6c;font-size:var(--type-meta)}.metric-group{padding:21px 24px}.metric-group+.metric-group{border-top:1px solid var(--rule-soft)}.metric-group h4{font-size:var(--type-supporting);margin:0 0 14px}.metric-unused>p,.legacy-metrics>p{color:#598b6c;font-size:var(--type-label);line-height:var(--leading-body);margin:0 0 15px}.metric-list{display:grid;gap:8px}.metric-row{align-items:center;border:1px solid rgba(0,35,40,.15);display:grid;gap:13px;grid-template-columns:minmax(0,1fr) auto auto;min-height:57px;padding:11px 13px}.metric-row-title strong,.metric-row-title small{display:block}.metric-row-title strong{font-size:var(--type-supporting)}.metric-row-title small{color:#598b6c;font-size:var(--type-micro);margin-top:4px}.metric-status{display:flex;gap:6px}.metric-row-actions{align-items:center;display:flex;gap:3px}.text-button{align-items:center;background:transparent;border:0;color:#475f58;display:inline-flex;font-size:var(--type-meta);font-weight:var(--weight-bold);gap:4px;padding:8px}.text-button:hover{text-decoration:underline}.metric-toggle{border:1px solid rgba(0,35,40,.15);height:34px;width:34px}.metric-edit{align-items:end;background:#f1fffb;border-top:1px solid rgba(0,35,40,.15);display:grid;gap:12px;grid-column:1/-1;grid-template-columns:1fr 90px 1fr 70px minmax(180px,1.6fr) auto auto auto;margin:7px -13px -11px;padding:16px}.metric-edit .field{margin:0}.metric-edit .field label{font-size:var(--type-micro)}.metric-edit input,.metric-edit textarea{font-size:var(--type-label);min-height:38px;padding:8px}.metric-edit-description textarea{min-height:62px}.metric-edit .check{font-size:var(--type-micro);max-width:95px}.unused-row{grid-template-columns:minmax(0,1fr) auto auto}.metric-disabled-note{color:#9c3736;font-size:var(--type-meta);grid-column:1/-1;margin:0}.legacy-metrics{border:1px solid var(--rule);margin-top:22px;padding:24px}.legacy-metrics h3{font-size:var(--type-card);margin:0 0 7px}@media(max-width:1040px){.metric-edit{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-edit-description{grid-column:span 2}}@media(max-width:760px){.parser-management-row{grid-template-columns:1fr auto}.parser-management-row .status-pill{grid-column:1}.dashboard-parser-group>header{align-items:flex-start;flex-direction:column}.metric-group{padding:18px 14px}.metric-row{grid-template-columns:1fr auto}.metric-status{grid-column:1}.metric-row-actions{grid-column:2;grid-row:1/3}.unused-row .button{grid-column:1;width:max-content}.metric-edit{grid-template-columns:1fr 1fr;margin:7px -13px -11px}.metric-edit-description{grid-column:span 2}.metric-edit .check{max-width:none}.legacy-metrics{padding:19px 14px}}.passport-summary-heading{display:flex;gap:11px;align-items:flex-start;color:var(--ink,#002328);margin:7px 0 12px}.passport-summary h2,.passport-staff-panel h2{margin:0;font-size:var(--type-card)}.passport-status{display:inline-flex;align-items:center;margin-top:5px;padding:4px 8px;border:1px solid rgba(0,35,40,.15);background:#fff;color:#475f58;font-size:var(--type-supporting);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.passport-awaiting_completion .passport-status{background:#fff;border-color:#00232826;color:#9c3736}.passport-do_not_proceed .passport-status{background:#9c37361a;border-color:#9c3736;color:#9c3736}.passport-summary p,.passport-staff-panel>p{color:#475f58;line-height:var(--leading-body)}.passport-flags{display:flex;gap:7px;flex-wrap:wrap;padding:0;margin:14px 0;list-style:none}.passport-flags li{padding:5px 8px;border:1px solid rgba(0,35,40,.15);background:#fff;color:#9c3736;font-size:var(--type-body)}.passport-review-form{display:grid;grid-template-columns:minmax(170px,1fr) minmax(240px,2fr) auto;gap:12px;align-items:end;margin-top:16px}.passport-review-form label{display:grid;gap:5px;font-size:var(--type-body);font-weight:var(--weight-bold);color:#4a494d}.passport-review-form select,.passport-review-form textarea{width:100%;box-sizing:border-box;padding:8px;border:1px solid rgba(0,35,40,.15);background:#fff;color:#002328;font:inherit}@media(max-width:800px){.passport-review-form{grid-template-columns:1fr}.passport-review-form .button{justify-self:start}}.passport-page-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin:18px 0 28px}.passport-page-heading h1{margin:4px 0 8px}.passport-page-heading>div:first-child>p:last-child{max-width:660px;color:#475f58;font-size:var(--type-subheading);line-height:var(--leading-body)}.passport-review-callout{display:flex;gap:12px;min-width:280px;padding:16px;border:1px solid rgba(0,35,40,.15);background:#fff;color:#05363d}.passport-review-callout span{display:block;margin-top:3px;font-size:var(--type-body-large)}.passport-form{display:grid;gap:22px}.passport-section{padding:28px 32px}.passport-section-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}.passport-section-heading>span{display:grid;place-items:center;width:34px;height:34px;background:#05363d;color:#fff;font-weight:var(--weight-bold)}.passport-section-heading h2{margin:2px 0 0;font-size:var(--type-section)}.passport-section-intro{margin:-4px 0 22px;color:#598b6c}.passport-fields{display:grid;gap:16px}.passport-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.passport-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.passport-fields label,.passport-block-label{display:grid;gap:6px;color:#4a494d;font-size:var(--type-body-large);font-weight:var(--weight-bold)}.passport-fields label span{font-weight:var(--weight-medium);color:#598b6c}.passport-fields input,.passport-fields select,.passport-fields textarea,.passport-block-label textarea{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid rgba(0,35,40,.15);background:#fff;color:#002328;font:inherit;font-weight:var(--weight-medium)}.passport-fields textarea,.passport-block-label textarea{resize:vertical}.passport-fields .full{grid-column:1/-1}.passport-safety-note{display:flex;gap:9px;margin:0 0 15px;padding:12px 14px;background:#f1fffb;border:1px solid var(--rule);color:#4a494d;font-size:var(--type-body-large);line-height:var(--leading-compact)}.par-q-list{border-top:1px solid rgba(0,35,40,.15)}.par-q-row{display:grid;grid-template-columns:32px minmax(250px,1fr) 64px 64px;gap:12px;align-items:center;padding:15px 8px;border-bottom:1px solid rgba(0,35,40,.15)}.par-q-row>span{font-weight:var(--weight-bold);color:#598b6c}.par-q-row p{margin:0;line-height:var(--leading-compact)}.par-q-row label{display:flex;gap:5px;align-items:center;font-size:var(--type-body-large)}.passport-block-label{margin-top:16px}.passport-screening-fields{margin-top:22px}.condition-checks{display:flex;gap:12px 22px;flex-wrap:wrap;margin:20px 0;padding:16px;background:#f1fffb}.condition-checks p{width:100%;margin:0;font-weight:var(--weight-bold)}.condition-checks label,.consent-check{display:flex;gap:8px;align-items:flex-start;line-height:var(--leading-compact)}.condition-checks input,.consent-check input{margin-top:3px;accent-color:#05363d}.passport-consent-copy{max-width:860px;color:#475f58;line-height:var(--leading-body)}.passport-consent-copy a{color:#05363d;font-weight:var(--weight-bold)}.consent-check{margin-top:15px;padding:13px 14px;border:1px solid rgba(0,35,40,.15);background:#f1fffb}.signature-fields{margin-top:22px}.passport-submit{margin-top:20px}.passport-complete{display:flex;gap:16px;max-width:850px;padding:28px}.passport-complete svg{flex:0 0 auto;color:#598b6c}.passport-complete h2{margin:3px 0 8px}.passport-complete p:last-child{margin:0;color:#598b6c;line-height:var(--leading-body)}@media(max-width:800px){.passport-page-heading{display:grid;align-items:start}.passport-review-callout{min-width:0}.passport-section{padding:22px 18px}.passport-fields.two,.passport-fields.three{grid-template-columns:1fr}.par-q-row{grid-template-columns:25px 1fr 60px 60px;gap:8px;padding:13px 0}.par-q-row p{grid-column:2/-1}.par-q-row label:first-of-type{grid-column:2}.passport-fields .full{grid-column:auto}}.passport-summary,.profile-main>.passport-staff-panel{background:var(--ink);border:1px solid var(--ink);box-shadow:none;color:#fff;padding:27px 30px}.passport-summary .passport-card-top,.profile-main>.passport-staff-panel .section-heading{align-items:center;border-bottom:1px solid var(--rule-on-dark);display:flex;gap:16px;justify-content:space-between;margin:0;padding:0 0 16px}.profile-main>.passport-staff-panel .section-heading{border-bottom:0;padding-bottom:0}.passport-summary .eyebrow,.profile-main>.passport-staff-panel .section-heading .eyebrow{color:#ffffffb8;margin:0}.passport-summary .passport-summary-heading{align-items:center;color:#fff;display:flex;gap:10px;margin:18px 0 10px}.passport-summary .passport-summary-heading h2,.profile-main>.passport-staff-panel .section-heading h2{color:#fff;font-size:var(--type-section);margin:0}.passport-summary>p,.profile-main>.passport-staff-panel>p{color:#ffffffdb;font-size:var(--type-body);line-height:var(--leading-body);margin:0 0 19px;max-width:900px}.passport-summary .field-hint{color:#ffffffb8;margin:-7px 0 17px}.passport-summary .passport-status,.profile-main>.passport-staff-panel .passport-status{background:transparent;border-color:#ffffff73;color:#fff;margin:0;padding:6px 9px}.passport-summary>.button,.profile-main>.passport-staff-panel .button.secondary{background:#fff;border-color:#fff3;color:var(--ink)}.passport-summary>.button:hover,.profile-main>.passport-staff-panel .button.secondary:hover{background:#f1fffb;border-color:#fff3}.profile-main>.passport-staff-panel .passport-flags li{background:#ffffff1a;border-color:#ffffff47;color:#fff}.profile-main>.passport-staff-panel .passport-review-form label{color:#fff}.profile-main>.passport-staff-panel .passport-review-form select,.profile-main>.passport-staff-panel .passport-review-form textarea{background:#fff;color:var(--ink);border-color:#fff3}@media(max-width:760px){.passport-summary,.profile-main>.passport-staff-panel{padding:22px 19px}.passport-summary .passport-card-top,.profile-main>.passport-staff-panel .section-heading{align-items:flex-start;flex-direction:column;gap:9px}.passport-summary .passport-summary-heading h2,.profile-main>.passport-staff-panel .section-heading h2{font-size:var(--type-section)}}.passport-page-heading{display:block;margin:18px 0 28px}.passport-page-heading h1{margin-bottom:8px}.passport-page-heading>div:first-child>p:last-child{margin-bottom:0}.passport-fields label{align-content:start}.passport-fields label>.passport-label{align-items:baseline;display:flex;gap:7px;line-height:var(--leading-heading);min-height:16px}.passport-fields label>.passport-label em{color:#598b6c;font-size:var(--type-body);font-style:normal;font-weight:var(--weight-medium);text-transform:none}.passport-fields input,.passport-fields select{height:46px;min-height:46px}.passport-fields select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#002328 50%),linear-gradient(135deg,#002328 50%,transparent 50%);background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:34px}.passport-safety-note{align-items:center;background:#fff;border:1px solid var(--rule);color:var(--ink);display:flex;font-size:var(--type-body-large);line-height:var(--leading-body);margin:0;padding:12px 14px}.passport-safety-note:before{align-items:center;border:1px solid var(--granite);border-radius:50%;color:var(--granite);content:"i";display:inline-flex;flex:0 0 auto;font-family:serif;font-size:var(--type-meta);font-weight:var(--weight-bold);height:16px;justify-content:center;line-height:1;width:16px}@media(max-width:800px){.passport-fields label>.passport-label{min-height:auto}.passport-fields select{background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px}}.passport-page-heading{margin:28px 0 38px}.passport-page-heading h1{font-size:var(--type-page);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-display);margin:0}.passport-page-heading>div:first-child>p:last-child{color:#475f58;font-size:var(--type-body-large);font-weight:var(--weight-regular);line-height:var(--leading-body);margin:19px 0 0;max-width:450px}.passport-section-heading{gap:15px;margin-bottom:14px}.passport-section-heading .eyebrow{font-size:var(--type-meta);line-height:var(--leading-body);margin:0 0 8px}.passport-section-heading h2{font-size:var(--type-section);line-height:var(--leading-heading);margin:0}.passport-section--characteristics{overflow:hidden;padding:0}.passport-section-bar{align-items:center;background:var(--granite);color:#fff;display:flex;font-size:var(--type-meta);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);line-height:var(--leading-body);margin:0;min-height:32px;padding:0 32px}.passport-section-content{padding:28px 32px 32px}.passport-section--characteristics .passport-section-heading{align-items:center}.passport-section:not(.passport-section--characteristics){overflow:hidden;padding:0}.passport-section:not(.passport-section--characteristics)>.passport-section-heading{align-items:center;margin:0;padding:46px 32px 14px;position:relative}.passport-section:not(.passport-section--characteristics)>.passport-section-heading .eyebrow{align-items:center;background:var(--granite);color:#fff;display:flex;font-size:var(--type-meta);font-weight:var(--weight-semibold);height:32px;left:0;letter-spacing:var(--tracking-eyebrow);line-height:var(--leading-body);margin:0;padding:0 32px;position:absolute;right:0;top:0}.passport-section:not(.passport-section--characteristics)>.passport-fields,.passport-section:not(.passport-section--characteristics)>.par-q-list,.passport-section:not(.passport-section--characteristics)>.passport-block-label,.passport-section:not(.passport-section--characteristics)>.condition-checks,.passport-section:not(.passport-section--characteristics)>.passport-consent-copy,.passport-section:not(.passport-section--characteristics)>.consent-check,.passport-section:not(.passport-section--characteristics)>.field-error,.passport-section:not(.passport-section--characteristics)>.passport-submit,.passport-section:not(.passport-section--characteristics)>.passport-safety-note{margin-left:32px;margin-right:32px}.passport-section:not(.passport-section--characteristics)>:last-child{margin-bottom:32px}.condition-checks{background:#fff;border:1px solid var(--rule)}.consent-check{background:#fff;border-color:var(--rule)}.avatar{background:var(--granite-light);color:#fff}.avatar,.avatar.profile-avatar,.avatar.scientist-photo{font-family:Plus Jakarta Sans,sans-serif;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal)}.tabs,.admin-tabs{align-items:center;align-self:auto;background:var(--white);border:1px solid var(--rule);border-radius:999px;display:flex;gap:4px;margin:0 0 28px;padding:5px;width:max-content;max-width:100%}.tabs.standalone{border:1px solid var(--rule);margin:0 0 28px;padding:5px}.tabs button,.tabs a,.admin-tabs button{align-items:center;background:transparent;border:0!important;border-radius:999px;color:var(--ink);display:inline-flex;font-size:var(--type-supporting);font-weight:var(--weight-semibold);justify-content:center;letter-spacing:var(--tracking-normal);line-height:var(--leading-heading);min-height:46px;padding:0 20px;white-space:nowrap}.tabs .active,.admin-tabs .active{background:var(--ink);border:0;color:var(--white)}.tabs span{background:transparent;color:inherit;font-size:inherit;padding:0}.directory-tools>.tabs{margin:0}@media(max-width:760px){.tabs,.admin-tabs{max-width:100%;overflow-x:auto;width:100%}.tabs button,.tabs a,.admin-tabs button{flex:1;padding:0 16px}.admin-tabs{justify-content:flex-start}}.prototype-menu a:hover,.prototype-menu a:focus-visible,.prototype-menu a.active,.tabs button:hover,.tabs button:focus-visible,.tabs a:hover,.tabs a:focus-visible,.tabs .active,.admin-tabs button:hover,.admin-tabs button:focus-visible,.admin-tabs .active{background:var(--off-green)!important;color:var(--ink)!important}.prototype-menu a.active,.tabs .active,.admin-tabs .active{background:var(--ink)!important;color:var(--white)!important}@media(min-width:801px){.passport-section:has(>.passport-safety-note){position:relative}.passport-section:has(>.passport-safety-note)>.passport-section-heading{min-height:62px;padding-right:48%}.passport-section:has(>.passport-safety-note)>.passport-safety-note{margin:0;position:absolute;right:32px;top:62px;transform:translateY(-50%);width:42%}}.passport-section-intro{color:#475f58;font-size:var(--type-body-large);line-height:var(--leading-body);margin:0 0 20px}.passport-fields label,.passport-block-label{color:var(--ink);font-size:var(--type-label);font-weight:var(--weight-semibold);gap:7px;line-height:var(--leading-compact)}.passport-fields label>.passport-label{color:var(--ink);font-weight:var(--weight-semibold);gap:6px;line-height:var(--leading-compact);min-height:auto}.passport-fields label>.passport-label em{color:var(--muted);font-size:inherit;font-style:normal;font-weight:var(--weight-regular)}.passport-fields input,.passport-fields select,.passport-fields textarea,.passport-block-label textarea{font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--leading-compact)}.passport-safety-note,.par-q-row p,.par-q-row label,.condition-checks,.consent-check,.passport-consent-copy{font-size:var(--type-body);line-height:var(--leading-body)}@media(max-width:800px){.passport-page-heading{margin:20px 0 30px}.passport-page-heading h1{font-size:var(--type-page);line-height:var(--leading-display)}.passport-page-heading>div:first-child>p:last-child{margin-top:16px}.passport-section-heading .eyebrow{margin-bottom:7px}.passport-section-bar{padding:0 18px}.passport-section-content{padding:22px 18px}.passport-section:not(.passport-section--characteristics)>.passport-section-heading{padding:46px 18px 14px}.passport-section:not(.passport-section--characteristics)>.passport-section-heading .eyebrow{padding:0 18px}.passport-section:not(.passport-section--characteristics)>.passport-fields,.passport-section:not(.passport-section--characteristics)>.par-q-list,.passport-section:not(.passport-section--characteristics)>.passport-block-label,.passport-section:not(.passport-section--characteristics)>.condition-checks,.passport-section:not(.passport-section--characteristics)>.passport-consent-copy,.passport-section:not(.passport-section--characteristics)>.consent-check,.passport-section:not(.passport-section--characteristics)>.field-error,.passport-section:not(.passport-section--characteristics)>.passport-submit,.passport-section:not(.passport-section--characteristics)>.passport-safety-note{margin-left:18px;margin-right:18px}.passport-section:not(.passport-section--characteristics)>:last-child{margin-bottom:22px}}.page-heading h1,.profile-heading h1,.session-title h1,.passport-page-heading h1{text-wrap:balance}.page-heading .page-intro,.session-title>div>p:last-child,.passport-page-heading>div:first-child>p:last-child,.admin-panel-head p,.admin-note,.vault-heading p:last-child{max-width:none;text-wrap:pretty}.athlete-document-copy{display:grid;gap:4px;min-width:0}.athlete-document-copy strong,.athlete-document-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-document-copy small{color:#598b6c;font-size:var(--type-meta);font-weight:var(--weight-regular)}:root{color:#002328;background:#f1ece9;--white:#ffffff;--paper:#f1ece9;--off-green:#f1fffb;--ink:#002328;--jet-dark:#00181b;--jet-light:#05363d;--granite-light:#598b6c;--granite:#475f58;--grape:#413c58;--charcoal:#4a494d;--danger:#9c3736;--line:rgba(0,35,40,.15);--muted:#475f58}.toast{background:#f1fffb;border-color:#598b6c;color:#598b6c}.status-dot{background:#598b6c}.status-pill.live,.session-status.published,.parse-status.ready,.note-visible,.passport-cleared_for_testing .passport-status{border-color:#598b6c;color:#598b6c}.status-pill.live,.session-status.published,.parse-status.ready,.passport-cleared_for_testing .passport-status{background:#f1fffb}.passport-complete svg{color:#598b6c}.passport-safety-note{color:#002328}:root{--graft-jet:#002328;--graft-paper:#f1ece9;--graft-white:#ffffff;--graft-granite:#475f58;--graft-grape:#413c58;--graft-line:rgba(0,35,40,.15);--graft-good:#598b6c}.athlete-portal-shell{background:var(--graft-paper)}.athlete-portal-shell .athlete-topbar{display:grid;grid-template-columns:1fr auto 1fr;position:relative;height:auto;padding:18px 4.5vw;background:var(--graft-jet);gap:0;color:var(--graft-white)}.athlete-portal-shell .athlete-topbar-overlay{position:absolute;z-index:20;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(0,35,40,.75),rgba(0,35,40,.18),transparent)}.athlete-portal-shell .prototype-brand{color:inherit;justify-self:start}.athlete-portal-shell .prototype-brand:before{background:transparent}.athlete-portal-shell .desktop-nav{justify-self:center;align-self:auto;margin:0;gap:2px;padding:4px;border:0;border-radius:999px;background:#fff;box-shadow:0 14px 40px #0023282e}.athlete-portal-shell .desktop-nav a{align-items:center;border:0;border-radius:999px;color:var(--graft-jet);font-size:var(--type-label);font-weight:var(--weight-bold);min-height:42px;padding:0 18px;transition:background-color .18s ease,color .18s ease}.athlete-portal-shell .desktop-nav a:hover,.athlete-portal-shell .desktop-nav a:focus-visible,.athlete-portal-shell .desktop-nav a.active{background:var(--graft-jet);color:#fff}.athlete-portal-shell .topbar-end{justify-self:end;margin-left:0;color:#fff}.athlete-portal-shell .user-link{color:inherit}.athlete-portal-shell .stage-label{border-color:#ffffff4d;color:#ffffffbf}.athlete-portal-shell .avatar{background:#598b6c;color:#fff}.athlete-portal-shell .athlete-main{max-width:none;min-height:calc(100vh - 142px);padding:76px 4.5vw 64px}.athlete-portal-shell .athlete-overview-main{min-height:100vh;padding:0}.athlete-portal-shell .footer{background:var(--graft-paper)}.portal-cover{display:grid;grid-template-rows:1fr auto;min-height:100svh;margin:0;padding:0;overflow:hidden;position:relative;color:#fff;background:linear-gradient(90deg,#002328e8,#0023288f 43%,#0023281a),url(/images/graft-cyclist-hero-v1.png) center/cover no-repeat}.portal-hero{align-self:center;max-width:700px;padding:130px 5vw 42px}.portal-cover .eyebrow{color:#ffffffb8;font-size:var(--type-meta);letter-spacing:var(--tracking-eyebrow);margin-bottom:22px}.portal-hero h1{color:#fff;font-size:var(--type-hero);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-display);margin:0 0 24px}.portal-lead{color:#ffffffe0;font-size:var(--type-lead);line-height:var(--leading-body);margin:0;max-width:610px}.portal-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.portal-cta{align-items:center;background:#fff;border:1px solid rgba(255,255,255,.45);color:var(--graft-jet);display:inline-flex;font-size:var(--type-supporting);font-weight:var(--weight-bold);gap:11px;justify-content:center;min-height:49px;padding:0 19px}.portal-cta-quiet{background:#00232833;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff}.cover-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 5vw;border-top:1px solid rgba(255,255,255,.26)}.cover-stat{border-right:1px solid var(--rule-on-dark);display:flex;flex-direction:column;justify-content:end;min-height:145px;padding:24px 26px 22px 0}.cover-stat:not(:first-child){padding-left:27px}.cover-stat:last-child{border-right:0}.cover-stat strong{font:var(--weight-medium) var(--type-metric-large)/var(--leading-display) "Spectral",serif;letter-spacing:var(--tracking-tight)}.cover-stat span{font-size:var(--type-meta);letter-spacing:var(--tracking-label);margin-top:11px;text-transform:uppercase}.cover-stat em{color:var(--graft-good);font-size:var(--type-label);font-style:normal;margin-top:7px}.portal-empty-on-image{align-items:center;background:#00232857;border:1px solid var(--rule-on-dark);display:flex;gap:18px;margin:0 5vw 56px;padding:22px}.portal-empty-on-image h2,.portal-empty-on-image p{color:#fff;margin:0}.portal-empty-on-image h2{font-size:var(--type-card)}.portal-empty-on-image p{font-size:var(--type-supporting);margin-top:5px}.dashboard-page{margin:0 auto;max-width:1460px}.dashboard-page .dash-head{align-items:end;display:flex;gap:44px;justify-content:space-between;margin:28px 0 38px}.dashboard-page .dash-head h1{font-size:var(--type-page-athlete);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-display);margin:0}.dashboard-page .dash-head .eyebrow{color:#598b6c;font-size:var(--type-meta);letter-spacing:var(--tracking-eyebrow)}.dashboard-page .dash-head>p{color:#475f58;font-size:var(--type-body-large);line-height:var(--leading-body);margin:0;max-width:450px}.dashboard-page .kpis{background:#ffffff7a;border-bottom:1px solid var(--graft-line);border-top:1px solid var(--graft-line);display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.dashboard-page .kpi{border-right:1px solid var(--graft-line);padding:25px}.dashboard-page .kpi:last-child{border-right:0}.dashboard-page .kpi .value{font:var(--weight-medium) var(--type-metric)/1 "Spectral",serif;letter-spacing:var(--tracking-tight)}.dashboard-page .kpi .label{color:#475f58;font-size:var(--type-label);letter-spacing:var(--tracking-wide);margin-top:9px}.dashboard-page .kpi .label span{color:#598b6c}.dashboard-page .mosaic{display:grid;gap:14px;grid-template-columns:1.1fr 1fr 1fr}.data-panel{background:#ffffffb8;border:1px solid var(--graft-line);min-height:270px;padding:25px}.data-panel.dark{background:var(--graft-jet);color:#fff}.data-panel .eyebrow{color:#598b6c;font-size:var(--type-micro);letter-spacing:var(--tracking-eyebrow);margin-bottom:25px}.data-panel.dark .eyebrow{color:#ffffffa3}.metric-number{font:var(--weight-medium) var(--type-metric-xlarge)/var(--leading-display) "Spectral",serif;letter-spacing:var(--tracking-tight)}.metric-number small{color:#598b6c;font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-label);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);margin-left:7px}.dark .metric-number small{color:#ffffff9e}.metric-delta{color:#598b6c;font-size:var(--type-label);margin:12px 0 0}.metric-delta-down{color:#598b6c}.trend-bars{align-items:end;display:flex;gap:8px;height:88px;margin-top:23px}.trend-bars i{background:#fff;display:block;flex:1;min-width:6px}.dark .trend-bars i{background:#ffffff29}.trend-bars i.active{background:var(--graft-jet)}.dark .trend-bars i.active{background:#f1fffb}.session-count{color:#598b6c;display:block;font-size:var(--type-micro);margin-top:8px}.dark .session-count{color:#ffffff94}.data-panel-session{background:var(--graft-grape);color:#fff}.data-panel-session .eyebrow{color:#ffffffad}.data-panel-session h2{font-size:var(--type-section-large);line-height:var(--leading-tight);margin:0 0 16px}.data-panel-session>p:not(.eyebrow){color:#ffffffc7;font-size:var(--type-supporting);margin:0}.dashboard-link{align-items:center;border-top:1px solid var(--rule-on-dark);display:flex;font-size:var(--type-supporting);font-weight:var(--weight-bold);gap:9px;justify-content:space-between;margin-top:50px;padding-top:14px}.data-panel-statement{background:#f1fffb;display:flex;flex-direction:column;justify-content:space-between}.data-panel-statement h2{font-size:var(--type-display-small);line-height:var(--leading-display);margin:0}.dashboard-empty{border:1px solid var(--graft-line);padding:70px 25px;text-align:left}.dashboard-empty h2{font-size:var(--type-display-small)}.dashboard-empty p{font-size:var(--type-body-large)}@media(max-width:900px){.athlete-portal-shell .athlete-topbar{display:flex;min-height:74px;padding:16px 20px}.athlete-portal-shell .desktop-nav{display:none}.athlete-portal-shell .topbar-end{margin-left:auto}.athlete-portal-shell .user-name,.athlete-portal-shell .desktop-logout,.athlete-portal-shell .stage-label{display:none}.athlete-portal-shell .mobile-toggle{display:grid}.athlete-portal-shell .mobile-nav{background:var(--graft-jet);border:0;left:0;padding:8px 20px 19px;position:absolute;right:0;top:74px;z-index:30}.athlete-portal-shell .mobile-nav a{color:#fff;border-bottom:1px solid var(--rule-on-dark);padding:14px 0}.portal-hero{padding:135px 24px 58px}.portal-hero h1{font-size:var(--type-hero)}.cover-stats{grid-template-columns:1fr 1fr;margin:0 24px}.cover-stat{min-height:118px;padding:18px 11px 16px 0}.cover-stat:nth-child(2){border-right:0}.cover-stat:nth-child(n+3){border-top:1px solid var(--rule-on-dark)}.cover-stat:not(:first-child){padding-left:14px}.cover-stat strong{font-size:var(--type-metric)}.athlete-portal-shell .athlete-main{padding:72px 20px 46px}.dashboard-page .dash-head{display:block;margin-top:16px}.dashboard-page .dash-head>p{margin-top:19px}.dashboard-page .kpis{grid-template-columns:1fr 1fr}.dashboard-page .kpi:nth-child(2){border-right:0}.dashboard-page .kpi:nth-child(-n+2){border-bottom:1px solid var(--graft-line)}.dashboard-page .mosaic{grid-template-columns:1fr}.data-panel{min-height:240px}.portal-empty-on-image{margin:0 24px 30px}.portal-empty-on-image p{font-size:var(--type-label)}}.chart-panel{grid-column:span 1;overflow:hidden}.chart-heading{align-items:end;display:flex;justify-content:space-between;gap:16px}.chart-heading .metric-delta{text-align:right;white-space:nowrap}.metric-delta-caution{color:#9c3736}.vector-chart{aspect-ratio:640/230;color:#4a494d;height:auto;margin-top:18px;position:relative}.dark .vector-chart{color:#f1ece9}.vector-chart svg{height:100%;overflow:visible;width:100%}.chart-grid{stroke:currentColor;stroke-opacity:.16;stroke-width:1}.chart-line{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;stroke-dasharray:900;stroke-dashoffset:900;animation:graft-draw 1.15s cubic-bezier(.2,.8,.2,1) forwards}.chart-dot{fill:var(--graft-paper);stroke:currentColor;stroke-width:2;transition:r .18s ease,fill .18s ease}.dark .chart-dot{fill:var(--graft-jet)}.chart-dot.selected{fill:currentColor;r:7}.chart-hit{fill:transparent;cursor:crosshair}.chart-tooltip{background:#fff;box-shadow:0 12px 30px #00232833;color:var(--graft-jet);display:grid;font-size:var(--type-meta);gap:4px;min-width:132px;padding:10px 12px;pointer-events:none;position:absolute;transform:translate(-50%,-112%);z-index:2}.chart-tooltip strong{font-size:var(--type-supporting)}.chart-tooltip span{color:#598b6c}.chart-panel footer{color:#598b6c;display:flex;font-size:var(--type-micro);justify-content:space-between;margin-top:7px}.dark footer{color:#ffffff94}@keyframes graft-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.chart-line{animation:none;stroke-dashoffset:0}}.privacy-page{background:var(--graft-paper);color:var(--graft-jet);min-height:100vh;padding:32px 7vw 90px}.privacy-page header{align-items:center;display:flex;justify-content:space-between}.privacy-brand{font-size:var(--type-card);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.privacy-brand small{font-size:var(--type-micro);letter-spacing:var(--tracking-label);margin-left:3px}.privacy-return{align-items:center;display:flex;font-size:var(--type-label);font-weight:var(--weight-bold);gap:8px}.privacy-page article{border-top:1px solid var(--graft-line);margin-top:80px;max-width:820px;padding-top:28px}.privacy-page h1{font-size:var(--type-hero);letter-spacing:var(--tracking-tight);margin:10px 0}.privacy-page h2{font-size:var(--type-section);margin:42px 0 10px}.privacy-page article>p{font-size:var(--type-body-large);line-height:var(--leading-loose);max-width:720px}.privacy-updated{color:#598b6c;font-size:var(--type-label)!important}.privacy-contact{border-top:1px solid var(--graft-line);margin-top:40px;padding-top:20px}@media(max-width:600px){.privacy-page{padding:24px 24px 65px}.privacy-page header{align-items:flex-start;flex-direction:column;gap:22px}.privacy-page article{margin-top:50px}}.privacy-attestation{display:flex;gap:.7rem;align-items:flex-start;margin:1.25rem 0;padding:1rem;border:1px solid var(--rule);background:#fff;font-size:var(--type-body-large);line-height:var(--leading-body)}.privacy-attestation input{margin-top:.22rem;accent-color:#002328}.privacy-attestation a{color:#002328;text-decoration:underline}.account-security{margin-top:2rem}.security-status{font-weight:var(--weight-bold);margin:0 0 1rem}.mfa-secret{display:block;max-width:100%;overflow-wrap:anywhere;background:#002328;color:#f1ece9;padding:1rem;margin:1rem 0 1.4rem;font-size:var(--type-subheading);letter-spacing:var(--tracking-wide)}.privacy-requests{display:grid;gap:1rem}.privacy-request{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:2rem}.privacy-request h2{margin:.2rem 0}@media(max-width:700px){.privacy-request{grid-template-columns:1fr}.privacy-request form{border-top:1px solid var(--graft-line);padding:1.2rem 0 0}}.source-confidence{color:#598b6c}.goal-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:var(--graft-line);margin:1.25rem 0}.goal-card{background:#fff;padding:1.25rem}.goal-card h2{font-size:var(--type-section);margin:.3rem 0 .6rem}.goal-card p{margin:0;color:#475f58}.goal-card p strong{color:#002328;font-family:Spectral,serif;font-size:var(--type-section)}.goal-card small{display:block;margin-top:.75rem;color:#598b6c}.athlete-goals{margin-top:1rem}.goal-list{display:grid;gap:.55rem;margin:.8rem 0}.goal-row{display:flex;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--graft-line);padding:.55rem 0}.goal-row small{display:block;color:#598b6c;margin-top:.2rem}.goal-form{display:grid;gap:.55rem;margin-top:1rem}.goal-form input,.goal-form select{width:100%}.athlete-portal-shell .reports-page{margin:0 auto;max-width:1460px}.athlete-portal-shell .reports-hero{align-items:start;display:grid;gap:20px;grid-template-columns:1.05fr .95fr;margin:28px 0 42px}.reports-hero>div>h1{font-size:var(--type-hero);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-display);margin:0 0 18px}.reports-hero>div>p:not(.eyebrow){color:#475f58;font-size:var(--type-body-large);line-height:var(--leading-body);max-width:510px}.reports-hero .eyebrow{color:#598b6c;font-size:var(--type-meta);letter-spacing:var(--tracking-eyebrow)}.trend-builder{background:var(--graft-jet);color:#fff;display:grid;gap:22px;grid-template-columns:1fr auto;padding:28px}.trend-builder svg{color:#f1ece9;margin-bottom:15px}.trend-builder .eyebrow{color:#f1ece9;margin-bottom:9px}.trend-builder h2{font-size:var(--type-section-large);line-height:var(--leading-display);margin:0}.trend-builder p:not(.eyebrow){color:#ffffffba;font-size:var(--type-supporting);line-height:var(--leading-body);margin:9px 0 0;max-width:320px}.trend-actions{align-self:end;display:flex;flex-direction:column;gap:8px}.trend-actions .button{font-size:var(--type-label);min-width:155px}.trend-actions .button.secondary{border-color:#ffffff61;color:#fff}.trend-actions .button.secondary:hover{background:#f1fffb;color:var(--graft-jet)}.report-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.report-card{background:#ffffffb3;border:1px solid var(--graft-line);display:flex;flex-direction:column;min-height:330px;padding:22px}.report-card-trend{background:#fff}.report-card-pending{opacity:.7}.report-card-head{align-items:center;border-bottom:1px solid var(--graft-line);display:flex;justify-content:space-between;padding-bottom:14px}.report-card-head>p{color:#598b6c;font-size:var(--type-micro);margin:0}.report-type{align-items:center;color:#475f58;display:flex;font-size:var(--type-micro);font-weight:var(--weight-bold);gap:7px;letter-spacing:var(--tracking-wide);text-transform:uppercase}.report-card-main{padding:22px 0 18px}.report-card-main .eyebrow{color:#598b6c;font-size:var(--type-micro);margin-bottom:10px}.report-card-main h2{font-size:var(--type-section-large);line-height:var(--leading-display);margin:0}.report-card-main>p:last-child{color:#598b6c;font-size:var(--type-label);margin:10px 0 0}.report-metrics{border-top:1px solid var(--graft-line);display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:14px 0}.report-metrics div{border-right:1px solid var(--graft-line);padding:0 8px}.report-metrics div:first-child{padding-left:0}.report-metrics div:last-child{border:0}.report-metrics dt{color:#598b6c;font-size:var(--type-micro);line-height:var(--leading-compact)}.report-metrics dd{font:var(--weight-medium) var(--type-section)/var(--leading-tight) "Spectral",serif;letter-spacing:var(--tracking-tight);margin:7px 0 0}.report-metrics small{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-micro);letter-spacing:var(--tracking-normal)}.report-pending{align-items:center;border-top:1px solid var(--graft-line);color:#598b6c;display:flex;font-size:var(--type-meta);gap:8px;margin:0;padding:18px 0}.report-card footer{align-items:center;border-top:1px solid var(--graft-line);display:flex;justify-content:space-between;margin-top:auto;padding-top:14px}.report-card footer .button{font-size:var(--type-meta);min-height:38px;padding:9px 12px}.report-status{color:#598b6c;font-size:var(--type-micro);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase}.reports-empty{border:1px solid var(--graft-line);padding:68px 25px;text-align:left}.reports-empty h2{font-size:var(--type-section-large)}.reports-empty p{color:#598b6c;font-size:var(--type-body)}@media(max-width:900px){.athlete-portal-shell .reports-hero{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.reports-hero>div>h1{font-size:var(--type-metric-large)}.trend-builder{grid-template-columns:1fr;padding:23px}.trend-actions{align-self:auto;flex-direction:row}.trend-actions .button{min-width:0;width:50%}.report-grid{grid-template-columns:1fr}.report-card{min-height:300px}}.reports-title{border-top:4px solid var(--graft-jet);padding-top:20px}.reports-wordmark{display:block;height:22px;margin:0 0 36px;width:auto}.trend-builder{overflow:hidden;position:relative}.trend-builder>*:not(.trend-mark){position:relative;z-index:1}.trend-mark{bottom:-26px;opacity:.11;position:absolute;right:-18px;width:154px}.report-card{border-top:4px solid var(--graft-jet);box-shadow:0 15px 35px #0023280f;transition:transform .18s ease,box-shadow .18s ease}.report-card:hover{box-shadow:0 22px 42px #00232821;transform:translateY(-3px)}.report-card-trend{background:var(--graft-jet);border-color:#fff3;color:#fff}.report-card-trend .report-card-head,.report-card-trend .report-metrics,.report-card-trend footer{border-color:#fff3}.report-card-trend .report-card-head>p,.report-card-trend .report-type,.report-card-trend .report-card-main .eyebrow,.report-card-trend .report-card-main>p:last-child,.report-card-trend .report-metrics dt{color:#ffffffad}.report-card-trend .report-type img{height:19px;width:19px}.report-card-trend .report-metrics div{border-color:#ffffff2e}.report-card-trend .report-metrics small{color:#ffffffa6}.report-card-trend .text-link{color:#f1ece9}.report-card-trend footer .button.secondary{border-color:#ffffff6b;color:#fff}.report-card-trend footer .button.secondary:hover{background:#f1fffb;color:var(--graft-jet)}.report-type img{height:19px;width:19px}.report-card .report-card-main h2{font-family:Plus Jakarta Sans,sans-serif;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.report-card .report-metrics dd{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-card);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.reports-title{border-top:0;padding-top:0}.trend-builder{align-items:center;grid-template-columns:1fr auto}.trend-builder>*{position:relative;z-index:1}.trend-builder h2{font-family:Plus Jakarta Sans,sans-serif;font-size:var(--type-section-large);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.trend-actions .button.trend-primary{background:#fff;border-color:#00232826;color:var(--graft-jet)}.trend-actions .button.trend-primary:hover,.trend-actions .button.trend-primary:focus-visible{background:#f1fffb;border-color:#00232826}.report-card-latest{background:var(--graft-jet);border-color:#fff3;color:#fff}.report-card-latest .report-card-head,.report-card-latest .report-metrics,.report-card-latest footer{border-color:#fff3}.report-card-latest .report-card-head>p,.report-card-latest .report-type,.report-card-latest .report-card-main .eyebrow,.report-card-latest .report-card-main>p:last-child,.report-card-latest .report-metrics dt{color:#ffffffad}.report-card-latest .report-type img{filter:brightness(0) invert(1)}.report-card-latest .report-metrics div{border-color:#ffffff2e}.report-card-latest .report-metrics small{color:#ffffffa6}.report-card-latest .text-link{color:#f1ece9}.report-card-latest footer .button.secondary{border-color:#ffffff6b;color:#fff}.report-card-latest footer .button.secondary:hover{background:#f1fffb;color:var(--graft-jet)}.athlete-portal-shell .prototype-brand:before{content:none}.athlete-portal-shell .prototype-brand{display:block;line-height:0}.athlete-portal-shell .brand-logo{display:block;height:auto;width:154px}.athlete-portal-shell .stage-label{background:#00232847;border-radius:999px;padding:6px 11px}.athlete-portal-shell .desktop-logout{align-items:center;background:#0023284d;border:1px solid rgba(255,255,255,.42);border-radius:9px;color:#fff;display:inline-flex;height:36px;justify-content:center;margin-left:4px;width:36px}.athlete-portal-shell .desktop-logout:hover,.athlete-portal-shell .desktop-logout:focus-visible{background:#f1fffb;color:var(--graft-jet)}.portal-cover{background:linear-gradient(90deg,#002328e6,#002328b3 40%,#0023284d),url(/images/graft-cyclist-hero-sunlit-v2.png) center/cover no-repeat;display:flex;flex-direction:column;min-height:100svh}.portal-hero{align-self:initial;max-width:760px;padding:150px 5vw 58px}.portal-hero h1{font-kerning:normal;font-size:var(--type-page);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);line-height:var(--leading-heading);margin:0 0 22px;max-width:760px;white-space:normal}.portal-lead{font-size:var(--type-card)!important;line-height:var(--leading-body);max-width:760px}.portal-cta svg{transition:transform .2s ease}.portal-cta:hover svg,.portal-cta:focus-visible svg{transform:translate(5px)}.portal-cta-quiet:hover svg,.portal-cta-quiet:focus-visible svg{transform:translate(4px,-4px)}.cover-stats{margin:0 5vw 100px;width:auto}.cover-stat{min-height:118px}.cover-stats:has(+.training-thresholds){margin-bottom:0}.training-thresholds{background:#002328ad;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--rule-on-dark);margin:20px 5vw 64px;padding:20px 22px 22px}.training-thresholds header{align-items:center;display:flex;justify-content:space-between;gap:18px}.training-thresholds .eyebrow{color:#ffffffc2;font-size:var(--type-micro);letter-spacing:var(--tracking-eyebrow);margin:0}.training-thresholds header>span{color:#ffffff94;font-size:var(--type-meta)}.training-thresholds>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:15px}.training-thresholds article{border-right:1px solid var(--rule-on-dark);padding:5px 22px 4px 0}.training-thresholds article:not(:first-child){padding-left:22px}.training-thresholds article:last-child{border-right:0}.training-thresholds strong{display:block;font:var(--weight-medium) var(--type-section-large)/1 "Spectral",serif;letter-spacing:var(--tracking-heading)}.training-thresholds small{color:var(--graft-good);font:var(--weight-medium) var(--type-meta) "Plus Jakarta Sans",sans-serif;letter-spacing:var(--tracking-normal)}.training-thresholds article>span{color:#ffffffb8;display:block;font-size:var(--type-meta);line-height:var(--leading-compact);margin-top:8px}@media(max-width:900px){.athlete-portal-shell .brand-logo{width:126px}.portal-hero{padding:126px 24px 46px}.portal-hero h1{font-size:var(--type-page-compact);line-height:var(--leading-heading);white-space:nowrap}.portal-lead{font-size:var(--type-card)}.cover-stats{margin:0 24px 100px}.athlete-portal-shell .desktop-logout{display:none}}@media(max-width:900px){.training-thresholds{margin:20px 24px 42px;padding:18px}.training-thresholds>div{grid-template-columns:1fr 1fr}.training-thresholds article{border-bottom:1px solid var(--rule-on-dark);padding:13px 12px 13px 0}.training-thresholds article:nth-child(2){border-right:0;padding-left:14px}.training-thresholds article:nth-child(n+3){padding-bottom:0;padding-top:14px}.training-thresholds article:nth-child(3){padding-left:0}.training-thresholds article:nth-child(4){border-right:0;padding-left:14px}}@media(max-width:600px){.portal-hero{max-width:none;padding:112px 24px 42px}.portal-hero h1{font-size:var(--type-page-compact);line-height:var(--leading-tight);white-space:normal}.portal-lead{font-size:var(--type-card)!important;max-width:36rem}.portal-ctas{align-items:stretch;flex-direction:column}.portal-cta{min-height:52px;width:100%}.chart-heading{align-items:flex-start;flex-direction:column;gap:10px}.chart-heading .metric-delta{margin:0;text-align:left;white-space:normal}.vector-chart{margin-top:12px}.chart-panel footer{align-items:flex-start;flex-direction:column;gap:5px}.chart-tooltip{max-width:calc(100% - 20px)}.dashboard-page .data-panel{padding:20px}.reports-hero{margin-top:12px}.report-card footer{align-items:stretch;flex-direction:column;gap:13px}.report-card footer .button{justify-content:center;width:100%}}@media(max-width:600px){.athlete-portal-shell .athlete-overview-main{max-width:none!important;padding:0!important}.athlete-portal-shell .portal-cover{margin:0!important;min-height:100svh;width:100vw}.athlete-portal-shell .portal-hero{max-width:none;padding:112px 24px 42px}.athlete-portal-shell .portal-lead{font-size:var(--type-subheading)!important;line-height:var(--leading-body);max-width:36rem}}@media(min-width:901px){.athlete-portal-shell .portal-hero,.athlete-portal-shell .portal-hero h1{max-width:1000px}.athlete-portal-shell .portal-lead{font-size:var(--type-card)!important;max-width:1000px}.lead-break{display:block}}@media(max-width:900px){.lead-break{display:none}}.progress-section{margin:0 0 42px}.progress-section>.eyebrow{color:#598b6c;font-size:var(--type-meta);letter-spacing:var(--tracking-eyebrow);margin:0 0 12px}.progress-cards{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.progress-card{display:flex;flex-direction:column;min-height:350px}.progress-card .metric-number{margin-top:1px}.progress-date{color:#598b6c;font-size:var(--type-label);margin:8px 0 0}.progress-description{color:#475f58;font-size:var(--type-supporting);line-height:var(--leading-body);margin:16px 0 0;min-height:56px}.trend-visual{margin-top:18px;position:relative}.mini-trend{align-items:end;border-bottom:1px solid var(--graft-line);display:flex;gap:7px;height:104px;padding:0 0 7px}.mini-trend button{appearance:none;background:#fff;border:0;border-radius:2px 2px 0 0;cursor:pointer;flex:1;min-width:10px;padding:0;transition:background .16s ease,transform .16s ease}.mini-trend button:hover,.mini-trend button:focus-visible,.mini-trend button.selected{background:var(--graft-jet);outline:0;transform:scaleY(1.03);transform-origin:bottom}.trend-tooltip{background:var(--graft-jet);box-shadow:0 10px 24px #00232838;color:#fff;display:grid;gap:3px;min-width:128px;padding:9px 11px;pointer-events:none;position:absolute;top:8px;transform:translate(-50%);transition:left .16s ease;z-index:2}.trend-tooltip-left{left:0!important;transform:none}.trend-tooltip-right{left:auto!important;right:0;transform:none}.trend-tooltip strong{font-size:var(--type-subheading);line-height:var(--leading-tight)}.trend-tooltip strong small{color:#ffffffb8;font-size:var(--type-meta);font-weight:var(--weight-medium)}.trend-tooltip span{color:#ffffffbd;font-size:var(--type-meta)}.trend-hint{color:#598b6c;font-size:var(--type-meta);line-height:var(--leading-compact);margin:10px 0 0;min-height:16px}.progress-card .metric-delta{margin-top:auto}@media(max-width:1000px){.progress-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.progress-cards{grid-template-columns:1fr}.progress-card,.progress-description{min-height:0}.mini-trend{height:116px}.mini-trend button{min-width:18px}.trend-tooltip{min-width:142px;padding:11px 13px}.trend-tooltip strong{font-size:var(--type-card)}.trend-hint{font-size:var(--type-label)}}.progress-card{transition:box-shadow .18s ease,transform .18s ease}@media(hover:hover){.progress-card:hover{box-shadow:0 12px 26px #0023281f;transform:translateY(-4px)}}.progress-card:focus-within{box-shadow:0 0 0 2px #05363d33,0 12px 26px #0023281f}@media(prefers-reduced-motion:reduce){.progress-card{transition:none}.progress-card:hover{transform:none}}.dashboard-page .dash-head>div>p:last-child,.progress-section>.eyebrow,.progress-card .eyebrow,.progress-card .metric-number small,.progress-date,.progress-description,.trend-hint,.progress-card .metric-delta{color:#05363d}.dashboard-page .mini-trend button{background:#598b6c}.dashboard-page .mini-trend button:hover,.dashboard-page .mini-trend button:focus-visible,.dashboard-page .mini-trend button.selected{background:#475f58}.dashboard-page .progress-section-heading{margin:0 0 12px}.dashboard-page .progress-section-heading .eyebrow{margin:0}.dashboard-page .progress-section--body-composition>.progress-section-heading{background:#002328;padding:12px 16px}.dashboard-page .progress-section--body-composition>.progress-section-heading .eyebrow{color:#fff}.dashboard-page .metric-context{align-items:baseline;color:#05363d;display:flex;font-size:var(--type-meta);gap:7px;line-height:var(--leading-compact);margin:0 0 25px}.dashboard-page .metric-context strong{font-weight:var(--weight-bold)}.dashboard-page .metric-context span{font-weight:var(--weight-regular)}.overview-layout .training-thresholds .overview-threshold-context{display:flex;gap:7px}.overview-layout .training-thresholds .overview-threshold-context strong{font-weight:var(--weight-bold)}.overview-layout .training-thresholds .overview-threshold-context span{font-weight:var(--weight-regular)}.dashboard-page .dash-head{display:block;margin:32px 0 70px}.dashboard-page .dash-head h1{font-size:var(--type-page);line-height:var(--leading-display)}.dashboard-page .dash-head>div>p:last-child{color:#475f58;font-size:var(--type-body-large);line-height:var(--leading-body);margin:18px 0 0;max-width:620px}.dashboard-page .dashboard-link{align-items:center;background:var(--graft-jet);border:1px solid var(--graft-jet);color:#fff;display:inline-flex;font-size:var(--type-supporting);font-weight:var(--weight-bold);gap:16px;justify-content:space-between;margin-top:46px;padding:17px 20px;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease;min-width:260px}.dashboard-page .dashboard-link:hover,.dashboard-page .dashboard-link:focus-visible{background:#05363d;border-color:#00232826;outline:0;transform:translateY(-2px)}@media(min-width:901px){.dashboard-page .dash-head h1{white-space:nowrap}}@media(max-width:900px){.dashboard-page .dash-head{margin:16px 0 46px}.dashboard-page .dash-head h1{white-space:normal}.dashboard-page .dash-head>div>p:last-child{margin-top:16px}.dashboard-page .dashboard-link{display:flex;width:100%}}@media(prefers-reduced-motion:reduce){.dashboard-page .dashboard-link{transition:none}.dashboard-page .dashboard-link:hover{transform:none}}.dashboard-page .dashboard-link{display:flex;width:100%}.overview-results{background:#00232899;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.28);border-radius:22px;margin:0 5vw 64px;overflow:hidden}.overview-results .cover-stats{border:0;margin:0;width:100%}.overview-results .cover-stat{min-height:148px;padding:28px 26px 25px 0}.overview-results .training-thresholds{background:#00181b99;border:0;border-radius:0;margin:0;padding:0}.overview-results .training-thresholds header{border-top:1px solid rgba(255,255,255,.24);padding:17px 22px 13px}.overview-results .training-thresholds>div{margin:0;padding:4px 22px 22px}.overview-results .training-thresholds article{padding:5px 22px 4px 0}@media(max-width:900px){.overview-results{border-radius:16px;margin:0 24px 42px}.overview-results .cover-stats,.overview-results .training-thresholds{margin:0}.overview-results .training-thresholds>div{padding:3px 18px 18px}.overview-results .training-thresholds header{padding:16px 18px 12px}}@media(min-width:901px){.athlete-portal-shell .athlete-topbar-overlay .desktop-nav{transform:translateY(20px)}}@media(min-width:901px){.overview-results .cover-stat{padding:28px 26px 25px}.overview-results .cover-stat:not(:first-child){padding-left:26px}.overview-results .training-thresholds header{padding:17px 26px 13px}.overview-results .training-thresholds>div{padding:4px 0 22px}.overview-results .training-thresholds article{padding:5px 26px 4px}.overview-results .training-thresholds article:not(:first-child){padding-left:26px}}@media(max-width:900px){.overview-results .cover-stat{padding:18px 18px 16px}.overview-results .cover-stat:not(:first-child){padding-left:18px}.overview-results .training-thresholds>div{padding:3px 0 18px}.overview-results .training-thresholds article{padding:13px 18px}.overview-results .training-thresholds article:nth-child(2),.overview-results .training-thresholds article:nth-child(4){padding-left:18px}}.overview-results{border-radius:0}@media(max-width:900px){.overview-results{border-radius:0}}@media(min-width:901px){.athlete-portal-shell .portal-cover{display:block}.overview-layout{align-items:stretch;display:grid;gap:28px;grid-template-columns:minmax(0,2fr) minmax(280px,.82fr);min-height:100svh;padding:150px 5vw 56px}.overview-primary{display:flex;flex-direction:column;min-width:0}.overview-layout .portal-hero{align-self:auto;max-width:760px;padding:0 0 42px}.overview-layout .overview-results{background:#00232899;border:1px solid rgba(255,255,255,.28);margin:0;overflow:hidden;width:100%}.overview-layout .overview-results .cover-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;width:100%}.overview-layout .overview-results .cover-stat{border-bottom:1px solid var(--rule-on-dark);border-right:1px solid var(--rule-on-dark);min-height:142px;padding:26px 28px}.overview-layout .overview-results .cover-stat:not(:first-child){padding-left:28px}.overview-layout .overview-results .cover-stat:nth-child(2n){border-right:0}.overview-layout .overview-results .cover-stat:nth-last-child(-n+2){border-bottom:0}.overview-layout .training-thresholds{background:#00181bb8;border:1px solid rgba(255,255,255,.28);display:flex;flex-direction:column;margin:0;min-height:0;padding:0}.overview-layout .training-thresholds header{border:0;padding:27px 28px 18px}.overview-layout .training-thresholds>div{display:grid;flex:1;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));margin:0;padding:0}.overview-layout .training-thresholds article{align-content:center;border-bottom:1px solid var(--rule-on-dark);border-right:0;display:grid;padding:20px 28px}.overview-layout .training-thresholds article:not(:first-child){padding-left:28px}.overview-layout .training-thresholds article:last-child{border-bottom:0}}@media(max-width:900px){.athlete-portal-shell .portal-cover{display:block}.overview-layout{padding:126px 24px 42px}.overview-layout .portal-hero{padding:0 0 40px}.overview-layout .overview-results{margin:0;width:100%}.overview-layout .overview-results .cover-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;width:100%}.overview-layout .overview-results .cover-stat{border-bottom:1px solid var(--rule-on-dark);border-right:1px solid var(--rule-on-dark);min-height:118px;padding:18px}.overview-layout .overview-results .cover-stat:not(:first-child){padding-left:18px}.overview-layout .overview-results .cover-stat:nth-child(2n){border-right:0}.overview-layout .overview-results .cover-stat:nth-last-child(-n+2){border-bottom:0}.overview-layout .training-thresholds{margin:14px 0 0;padding:0}.overview-layout .training-thresholds header{padding:18px}.overview-layout .training-thresholds>div{grid-template-columns:1fr;padding:0}.overview-layout .training-thresholds article,.overview-layout .training-thresholds article:nth-child(2),.overview-layout .training-thresholds article:nth-child(4){border-bottom:1px solid var(--rule-on-dark);border-right:0;padding:17px 18px}.overview-layout .training-thresholds article:last-child{border-bottom:0}}@media(min-width:901px){.athlete-portal-shell .athlete-topbar-overlay{padding:38px 4.5vw 18px}.athlete-portal-shell .athlete-topbar-overlay .desktop-nav{transform:none}}@media(min-width:901px){.overview-layout{grid-template-columns:minmax(0,50vw) minmax(280px,25vw);justify-content:space-between}.overview-layout .overview-results .cover-stat{min-height:128px;padding:24px}.overview-layout .overview-results .cover-stat:not(:first-child){padding-left:24px}}@media(min-width:641px)and (max-width:900px){.overview-layout{align-items:stretch;display:grid;gap:20px;grid-template-columns:minmax(0,50vw) minmax(190px,30vw);justify-content:space-between;min-height:100svh;padding:126px 5vw 42px}.overview-primary{display:flex;flex-direction:column;min-width:0}.overview-layout .portal-hero{max-width:100%;padding:0 0 32px}.overview-layout .overview-results{margin:0;width:100%}.overview-layout .overview-results .cover-stat{min-height:112px;padding:16px}.overview-layout .overview-results .cover-stat:not(:first-child){padding-left:16px}.overview-layout .training-thresholds{background:#00181bb8;border:1px solid rgba(255,255,255,.28);display:flex;flex-direction:column;margin:0;min-height:0;padding:0}.overview-layout .training-thresholds header{padding:20px 18px 14px}.overview-layout .training-thresholds>div{display:grid;flex:1;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));margin:0;padding:0}.overview-layout .training-thresholds article,.overview-layout .training-thresholds article:nth-child(2),.overview-layout .training-thresholds article:nth-child(4){align-content:center;border-bottom:1px solid var(--rule-on-dark);border-right:0;display:grid;padding:14px 18px}.overview-layout .training-thresholds article:last-child{border-bottom:0}}.overview-layout .overview-stat-value{align-items:baseline;display:flex;gap:8px}.overview-layout .overview-results .cover-stat strong,.overview-layout .training-thresholds strong{font:var(--weight-medium) var(--type-metric)/1 "Spectral",serif;letter-spacing:var(--tracking-tight)}.overview-layout .overview-results .cover-stat em,.overview-layout .training-thresholds small{color:var(--graft-good);font:var(--weight-medium) var(--type-label)/1 "Plus Jakarta Sans",sans-serif;letter-spacing:var(--tracking-normal);margin:0}.overview-layout .overview-results .cover-stat span,.overview-layout .training-thresholds article>span{color:#ffffffb8;display:block;font-size:var(--type-label);line-height:var(--leading-compact);margin-top:10px}.overview-layout .overview-results .cover-stat span{letter-spacing:var(--tracking-label);text-transform:uppercase}@media(min-width:901px){.overview-layout .overview-results .cover-stat{padding:17px}.overview-layout .overview-results .cover-stat:not(:first-child){padding-left:17px}.overview-layout .training-thresholds header{padding:19px 20px 13px}.overview-layout .training-thresholds article,.overview-layout .training-thresholds article:not(:first-child){padding:14px 20px}}@media(min-width:641px)and (max-width:900px){.overview-layout .overview-results .cover-stat{padding:11px}.overview-layout .overview-results .cover-stat:not(:first-child){padding-left:11px}.overview-layout .training-thresholds header{padding:14px 13px 10px}.overview-layout .training-thresholds article,.overview-layout .training-thresholds article:nth-child(2),.overview-layout .training-thresholds article:nth-child(4){padding:10px 13px}}@media(max-width:640px){.overview-layout .training-thresholds{margin:14px 0 0 auto;width:45%}}.overview-layout .overview-results{max-width:100%;width:42vw}@media(max-width:640px){.overview-layout .overview-results{min-width:320px}}.overview-layout .overview-results{background:#00232833}.overview-layout .training-thresholds{background:#00181b33}.athlete-portal-shell .brand-logo{width:116px}@media(max-width:900px){.athlete-portal-shell .brand-logo{width:95px}}.overview-layout .training-thresholds{justify-self:end;margin-left:0!important;margin-right:0!important;max-width:70%!important;width:70%!important}.overview-layout .overview-results .cover-stat{justify-content:flex-start;min-height:0;padding:17px}.overview-layout .overview-results .cover-stat:not(:first-child){padding-left:17px}.overview-layout .overview-results .cover-stats{grid-auto-rows:max-content}.overview-layout .training-thresholds article{align-content:center}@media(min-width:901px){.overview-primary{justify-content:space-between}.overview-layout .portal-hero{align-self:start;display:flex;flex-direction:column;gap:12px;padding:0}.overview-layout .portal-hero h1{line-height:1}.overview-layout .portal-hero h1,.overview-layout .portal-hero .portal-lead,.overview-layout .portal-hero .portal-ctas{margin:0}}.portal-hero h1,.dash-head h1,.reports-hero>div>h1{text-wrap:balance;white-space:normal}.portal-hero .portal-lead,.dashboard-page .dash-head>p,.dash-head>div>p:last-child,.reports-hero>div>p:not(.eyebrow){max-width:none;text-wrap:pretty}:root{--graft-jet:#002328;--graft-jet-dark:#00181b;--graft-jet-light:#05363d;--graft-paper:#f1ece9;--graft-white:#ffffff;--graft-off-green:#f1fffb;--graft-granite-light:#598b6c;--graft-granite:#475f58;--graft-grape:#413c58;--graft-charcoal:#4a494d;--graft-danger:#9c3736;--graft-line:rgba(0,35,40,.15);--graft-good:#598b6c}.metric-delta-good{color:#598b6c}.vector-chart{color:#002328}.overview-layout .overview-results .cover-stats[data-count="1"]{grid-template-columns:minmax(0,1fr)}.overview-layout .overview-results .cover-stats[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-layout .overview-results .cover-stats[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-layout .overview-results .cover-stats[data-count="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-layout .overview-results .cover-stats .cover-stat{border-bottom:0;border-right:0}.overview-layout .overview-results .cover-stats[data-count="2"] .cover-stat:not(:last-child),.overview-layout .overview-results .cover-stats[data-count="3"] .cover-stat:not(:last-child),.overview-layout .overview-results .cover-stats[data-count="4"] .cover-stat:nth-child(odd){border-right:1px solid var(--rule-on-dark)}.overview-layout .overview-results .cover-stats[data-count="4"] .cover-stat:nth-child(-n+2){border-bottom:1px solid var(--rule-on-dark)}.overview-layout .training-thresholds{align-self:start;height:max-content}.overview-layout .training-thresholds>div{flex:none;grid-auto-rows:max-content;grid-template-rows:none}.add-results,.result-review,.lactate-entry{border:1px solid var(--rule);background:#ffffffa6;margin:0 0 15px;padding:30px}.add-results>header,.result-review>header,.lactate-entry>header{align-items:start;border-bottom:1px solid var(--rule);display:flex;gap:25px;justify-content:space-between;padding-bottom:22px}.add-results h2,.result-review h2,.lactate-entry h2{font-size:var(--type-section-large);margin:0 0 8px}.add-results header>div>p:last-child,.result-review header>div>p:last-child,.lactate-entry header>div>p:last-child{color:#05363d;font-size:var(--type-supporting);line-height:var(--leading-body);margin:0;max-width:660px}.result-module-grid{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-top:15px}.result-module{background:#fff;border:1px solid var(--rule);display:flex;flex-direction:column;min-height:340px;padding:23px;position:relative}.module-icon{align-items:center;background:#002328;color:#fff;display:flex;height:47px;justify-content:center;width:47px}.module-heading{border-bottom:1px solid var(--rule);margin-top:27px;padding-bottom:17px;position:relative}.module-heading .eyebrow{color:#05363d;font-size:var(--type-micro);margin-bottom:9px}.module-heading h3{color:#002328;font-size:var(--type-section);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);margin:0}.module-added{font-size:var(--type-meta);font-weight:var(--weight-bold);letter-spacing:var(--tracking-normal);position:absolute;right:23px;top:23px;text-transform:none}.module-scan-status{border:1px solid rgba(0,35,40,.15);color:#475f58;font-size:var(--type-meta);letter-spacing:var(--tracking-normal);padding:5px 7px;position:absolute;right:23px;top:23px;text-transform:none}.module-scan-status.ready{background:#f1fffb;color:#598b6c}.module-scan-status.needs_review{background:#9c37361a;color:#9c3736}.module-scan-status.queued,.module-scan-status.reading{background:#05363d;color:#fff}.result-module>p{color:#05363d;font-size:var(--type-supporting);line-height:var(--leading-body);margin:19px 0}.module-action{display:grid;gap:10px;margin-top:auto}.module-upload,.module-review{align-items:center;border:1px solid #002328;display:flex;font-size:var(--type-label);font-weight:var(--weight-bold);gap:9px;justify-content:center;min-height:43px;padding:0 12px}.module-upload,.module-review{background:#002328;color:#fff}.module-upload input{height:1px;overflow:hidden;position:absolute;width:1px}.result-module-source{background:#002328;border-color:#002328;color:#fff}.result-module-source .module-icon{background:#475f58;color:#fff}.result-module-source .module-heading{border-color:#fff3}.result-module-source .module-heading .eyebrow,.result-module-source .module-heading h3,.result-module-source>p{color:#fff}.module-foot{border-top:1px solid var(--rule-soft);color:#05363d!important;font-size:var(--type-meta)!important;margin-top:auto!important;padding-top:13px}.result-review,.lactate-entry{padding:30px}.result-review .result-fields{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-top:25px}.result-review .result-fields label{display:block}.result-review .result-fields span{display:block;font-size:var(--type-meta);font-weight:var(--weight-semibold);margin-bottom:7px}.result-review .result-fields em{color:#598b6c;font-style:normal;font-weight:var(--weight-regular)}.result-review input,.stage-row input{background:#f1fffb;border:1px solid rgba(0,35,40,.15);min-height:43px;padding:9px;width:100%}.review-actions{border-top:1px solid var(--rule);display:flex;gap:10px;justify-content:flex-end;margin-top:27px;padding-top:20px}.lactate-mode{display:flex;gap:25px;margin:24px 0}.lactate-mode label{align-items:center;display:flex;font-size:var(--type-supporting);gap:8px}.stage-table{border:1px solid var(--rule);overflow:auto}.stage-head,.stage-row{align-items:center;display:grid;gap:8px;grid-template-columns:55px 1fr 1fr 1fr 1fr .7fr 64px;min-width:760px;padding:10px 14px}.stage-head{background:#f1fffb;color:#475f58;font-size:var(--type-micro);letter-spacing:var(--tracking-label);text-transform:uppercase}.stage-row{border-top:1px solid var(--rule-soft)}.stage-row strong{font:var(--weight-medium) var(--type-section) "Spectral",serif}.stage-row input{min-height:37px}.stage-row button,.add-stage,.duplicate-action{background:transparent;border:0;color:#475f58;font-size:var(--type-meta);font-weight:var(--weight-bold);padding:7px}.add-stage{align-items:center;border:1px solid rgba(0,35,40,.15);display:inline-flex;gap:7px;margin-top:12px}.threshold-grid{display:grid;gap:18px;grid-template-columns:repeat(4,1fr);margin-top:28px}.threshold-grid .field{margin:0}.duplicate-action{border:1px solid rgba(0,35,40,.15);color:#9c3736;margin:0 0 16px}.vault{margin-top:15px}.document-copy small:not(.parse-error){color:#9c3736;display:block;font-size:var(--type-micro);margin-top:5px}.identity-warning{background:#9c37361a;border:1px solid #9c3736;margin-top:20px;padding:16px}.identity-warning strong{color:#9c3736;font-size:var(--type-supporting)}.identity-warning p{color:#9c3736;font-size:var(--type-supporting);line-height:var(--leading-body);margin:7px 0 12px}.source-identity.matched{color:#598b6c!important}.source-identity.mismatch{color:#9c3736!important;font-weight:var(--weight-bold)}@media(max-width:900px){.result-module-grid{grid-template-columns:1fr}.result-module{min-height:260px}.threshold-grid,.result-review .result-fields{grid-template-columns:1fr 1fr}}@media(max-width:600px){.add-results,.result-review,.lactate-entry{padding:20px}.add-results>header,.result-review>header,.lactate-entry>header{display:block}.result-review .result-fields,.threshold-grid{grid-template-columns:1fr}.lactate-mode{align-items:start;flex-direction:column;gap:12px}.review-actions{justify-content:stretch}.review-actions .button{flex:1}}.stage-field{display:block}.stage-field span{display:none}@media(max-width:600px){.stage-table{border:0;overflow:visible}.stage-head{display:none}.stage-row{display:grid;gap:12px;grid-template-columns:1fr 1fr;min-width:0;margin:0 0 14px;padding:17px;border:1px solid var(--rule)}.stage-row strong{grid-column:1/-1}.stage-field span{color:#475f58;display:block;font-size:var(--type-micro);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);margin-bottom:6px;text-transform:uppercase}.stage-row button{border:1px solid rgba(0,35,40,.15);grid-column:1/-1;min-height:42px}.document-tools a,.document-tools button{align-items:center;justify-content:center;min-height:44px;min-width:44px}.module-upload,.module-review{min-height:48px}}.session-status-label{color:#598b6c;font-size:var(--type-supporting);letter-spacing:var(--tracking-normal);line-height:var(--leading-body);margin:0 0 12px;text-transform:none}.session-choice-group{border:1px solid rgba(0,35,40,.15);margin:0 0 23px;min-width:0;padding:15px 18px 16px}.session-choice-group legend{color:var(--ink);font-size:var(--type-label);font-weight:var(--weight-semibold);padding:0 6px}.session-choice-group .hint{color:#598b6c;font-weight:var(--weight-regular)}.session-choice-group .session-radio{align-items:center;display:flex;flex-wrap:wrap;gap:14px 28px;padding:0}.session-choice-group .session-radio label{align-items:center;display:inline-flex;font-size:var(--type-supporting);font-weight:var(--weight-semibold);gap:9px;line-height:var(--leading-heading);margin:0;white-space:nowrap}.session-choice-group input[type=checkbox],.session-choice-group input[type=radio]{appearance:none;background:#fff;border:1px solid rgba(0,35,40,.15);display:grid;flex:0 0 18px;height:18px!important;margin:0;min-height:18px!important;padding:0!important;place-content:center;width:18px!important}.session-choice-group input[type=checkbox]{border-radius:2px}.session-choice-group input[type=radio]{border-radius:50%}.session-choice-group input[type=checkbox]:checked,.session-choice-group input[type=radio]:checked{background:var(--ink);border-color:var(--ink)}.session-choice-group input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:var(--type-body);line-height:1}.session-choice-group input[type=radio]:checked:after{background:#fff;border-radius:50%;content:"";height:6px;width:6px}@media(max-width:600px){.session-choice-group{padding:14px 15px}.session-choice-group .session-radio{gap:13px 20px}.session-choice-group .session-radio label{font-size:var(--type-label)}}.add-results header>div>p:last-child,.result-review header>div>p:last-child,.lactate-entry header>div>p:last-child{max-width:none;text-wrap:pretty}.document-tools .document-remove,.module-delete{align-items:center;background:#9c3736!important;border:1px solid #9c3736!important;color:#9c3736!important;display:inline-flex!important;font-weight:var(--weight-bold);gap:7px;justify-content:center;min-height:36px;padding:8px 12px!important}.document-tools .document-remove:hover,.module-delete:hover{background:#9c3736!important;border-color:#9c3736!important}.module-delete{font-size:var(--type-label);width:100%}.result-review select{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='m1 1 7 7 7-7' fill='none' stroke='%23002328' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px;border:1px solid rgba(0,35,40,.15);color:var(--ink);font-size:var(--type-body);min-height:43px;padding:9px 42px 9px 12px;width:100%}.result-review select:focus{border-color:#00232826;outline:2px solid rgba(0,35,40,.15);outline-offset:1px}.module-added,.module-scan-status.ready,.source-identity.matched{color:#598b6c}.module-scan-status.ready{background:#f1fffb;border-color:#598b6c}.document-tools .document-remove,.module-delete{color:#fff!important}.ui-label{align-items:center;border:1px solid transparent;display:inline-flex;font-size:var(--type-label);font-weight:var(--weight-semibold);justify-content:center;letter-spacing:var(--tracking-normal);line-height:1;margin-top:0;min-height:32px;padding:7px 10px;text-transform:none;white-space:nowrap;width:max-content}.session-status.published,.parse-status.ready,.status-pill.live,.passport-cleared_for_testing .passport-status,.module-scan-status.ready,.module-added{background:#598b6c;border-color:#598b6c;color:#fff}.session-status.ready_for_review,.parse-status.needs_review,.parse-status.failed,.passport-awaiting_completion .passport-status,.passport-needs_review .passport-status,.passport-do_not_proceed .passport-status,.session-delete-pill,.passport-flags .ui-label{background:transparent;border-color:#9c3736;color:#9c3736}.session-status.in_progress,.session-status.archived,.parse-status.queued,.parse-status.reading,.status-pill.hidden,.status-pill.unused,.status-pill.overview,.report-status{background:#05363d;border-color:#05363d;color:#fff}.surface-dark.passport-awaiting_completion .passport-status,.surface-dark.passport-needs_review .passport-status,.surface-dark.passport-do_not_proceed .passport-status,.surface-dark .passport-flags .ui-label{background:#9c3736;border-color:#9c3736;color:#fff}.surface-dark.passport-cleared_for_testing .passport-status{background:#598b6c;border-color:#598b6c;color:#fff}.button.danger,.button.secondary.danger-outline,.session-delete-pill,.module-delete,.document-tools .document-remove{background:transparent!important;border:1px solid #9c3736!important;color:#9c3736!important}.button.danger:hover,.button.secondary.danger-outline:hover,.session-delete-pill:hover,.session-delete-pill:focus-visible,.module-delete:hover,.document-tools .document-remove:hover{background:transparent!important;border-color:#9c3736!important;color:#9c3736!important}.surface-dark .button.danger,.surface-dark .button.secondary.danger-outline,.surface-dark .session-delete-pill,.surface-dark .module-delete,.surface-dark .document-tools .document-remove{background:#9c3736!important;border-color:#9c3736!important;color:#fff!important}.surface-dark .button.secondary:not(.danger-outline),.surface-dark .module-review,.surface-dark .document-view{background:#fff!important;border-color:#fff!important;color:#002328!important}.surface-dark .button.secondary:not(.danger-outline):hover,.surface-dark .module-review:hover,.surface-dark .document-view:hover{background:#f1ece9!important;border-color:#f1ece9!important;color:#002328!important}.button,.portal-cta,.module-upload,.module-review,.module-delete,.document-tools a,.document-tools button,.add-stage,.duplicate-action,.dashboard-link,.athlete-document-link,.privacy-return,.text-button{font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);line-height:var(--leading-heading)}.document-tools .document-view{background:#002328;border:1px solid #002328;color:#fff;justify-content:center;min-height:36px;padding:8px 12px}.document-tools .document-view:hover,.document-tools .document-view:focus-visible{background:#05363d;border-color:#05363d;color:#fff}@media(max-width:600px){.document-tools .document-view{min-height:44px}}.prototype-menu a,.desktop-nav a,.mobile-nav a,.mobile-nav button{letter-spacing:var(--tracking-normal)}.page-intro,.session-title>div>p:last-child,.passport-page-heading>div:first-child>p:last-child,.dashboard-page .dash-head>div>p:last-child,.reports-hero>div>p:not(.eyebrow),.admin-panel-head p,.admin-note,.vault-heading p:last-child,.athlete-source-documents-heading p:last-child,.new-dashboard-metric>p,.metric-unused>p,.legacy-metrics>p,.report-card-main>p:last-child,.profile-self-service>p,.data-deletion-request>p:not(.eyebrow),.passport-section-intro,.auth-form .intro,.form-sidebar>p,.portal-empty:not(.portal-empty-on-image) p,.dashboard-empty p,.reports-empty p{color:#05363d}.session-title-facts{display:flex;flex-wrap:wrap;gap:8px 22px}.session-title-facts p{display:flex;gap:6px;margin:0}.session-title-facts strong{font-size:var(--type-label);font-weight:var(--weight-bold)}.session-title-facts span{color:#05363d;font-size:var(--type-label);font-weight:var(--weight-regular)}.athlete-session-info .session-fact{display:flex;gap:6px;margin-top:5px}.athlete-session-info .session-fact strong{font-size:var(--type-micro);font-weight:var(--weight-bold)}.athlete-session-info .session-fact span{color:#05363d;font-size:var(--type-micro);font-weight:var(--weight-regular);text-transform:capitalize}.athlete-profile-grid .eyebrow{color:#05363d;font-size:var(--type-meta);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);line-height:var(--leading-body)}.athlete-profile-grid .passport-summary .eyebrow{color:#ffffffb8}.profile-main>.passport-staff-panel .passport-reminder{background:#475f58;border-color:#475f58;color:#fff}.profile-main>.passport-staff-panel .passport-reminder:hover{background:#475f58;border-color:#475f58;color:#fff}.passport-summary>.button{background:#475f58;border-color:#475f58;color:#fff}.passport-summary>.button:hover,.passport-summary>.button:focus-visible{background:#475f58;border-color:#475f58;color:#fff}
