:root{--paper:#f7f6f1;--ink:#192f32;--muted:#6c7674;--line:#dedfd6;--gold:#e9b95d;--white:#fff;--green:#477269;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:28px}
*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ad732b;outline-offset:5px}svg{display:block}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.wrap{max-width:1200px;padding-inline:36px;margin-inline:auto}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:22px;letter-spacing:-.65px;font-weight:750;white-space:nowrap}.brand-light{font-weight:400}.header-note{font-family:Georgia,serif;font-size:16px;font-style:italic;color:#707973}.share-button{display:flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid #cdd1c8;background:transparent;font-weight:600;font-size:12px;border-radius:5px}.share-button:hover{background:#edece5}.preview-notice{display:flex;align-items:center;gap:9px;margin-bottom:15px;color:#737967;font-size:11px;letter-spacing:.2px}.notice-dot{height:5px;width:5px;border-radius:50%;background:#b68132}.notice-separator{color:#b5b6a9;margin-inline:3px}.athlete-hero{height:383px;border-radius:9px;overflow:hidden;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.15fr 1fr;position:relative}.hero-copy{padding:47px 48px;position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:10px;color:#e9d9b5;font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:600}.sport-dot{height:6px;width:6px;background:var(--gold);border-radius:50%}.eyebrow-divider{color:#78908d;padding-inline:2px}h1{font-family:Georgia,serif;font-size:84px;font-style:italic;font-weight:400;line-height:1.1;letter-spacing:-4px;margin:23px 0 18px}.name-period{color:var(--gold)}.hero-description{color:#c0ccc6;font-size:15px;line-height:1.6;margin:0}.hero-link{display:inline-flex;align-items:center;gap:44px;text-decoration:none;font-size:12px;margin-top:29px;border-bottom:1px solid #596b64;padding-bottom:8px}.hero-link span{font-size:21px;color:var(--gold);line-height:15px}.hero-link:hover{border-color:var(--gold)}.hero-art{position:relative;background:radial-gradient(ellipse at 52% 53%,#38504c 0,transparent 64%)}.track-line{position:absolute;width:410px;height:630px;top:-124px;left:84px;border:1px solid #60706a;border-radius:50%;transform:rotate(43deg);opacity:.35}.track-two{width:480px;height:700px;left:51px;top:-156px}.track-three{width:550px;height:770px;left:17px;top:-190px}.athlete-placeholder{position:absolute;top:42px;left:50%;transform:translateX(-50%) rotate(-9deg);width:264px;height:264px;border-radius:50%;padding:10px;background:#d8b87c;box-shadow:0 9px 0 #ab8b54,0 22px 38px #081c2170;border:1px solid #f0d69e}.photo-ring{width:100%;height:100%;border:1px solid #b38a45;outline:1px solid #e8cf9e;outline-offset:-7px;background:radial-gradient(ellipse at 28% 20%,#efdfb1,#d3b072);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.photo-letter{font-family:Georgia,serif;font-style:italic;font-size:133px;color:#31413a;line-height:1;margin-top:-12px}.photo-arc{position:absolute;bottom:32px;font-size:8px;font-weight:650;letter-spacing:1.35px;color:#4e553f}.photo-caption{position:absolute;bottom:39px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:1.4px;color:#bec9bb;white-space:nowrap;z-index:2}.hero-year{position:absolute;bottom:-38px;right:8px;font-size:165px;font-weight:800;letter-spacing:-10px;color:#65776b;opacity:.17;line-height:1}.season-stats{display:grid;grid-template-columns:1.08fr .88fr 1.04fr;padding-block:31px;border-bottom:1px solid var(--line)}.stat{padding-inline:30px;border-left:1px solid var(--line)}.stat:first-child{padding-left:7px;border-left:0}.stat-label{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}.gold-dot{width:5px;height:5px;border-radius:50%;background:#bd8c3d}.stat-value{font-size:44px;letter-spacing:-1.8px;font-weight:450;line-height:1.15;margin:8px 0 7px;font-variant-numeric:tabular-nums}.stat-unit{font-size:16px;color:#75817b;letter-spacing:0;font-weight:400}.stat-detail{font-size:11px;line-height:1.5;color:#67756c}.small-divider{margin-inline:4px;color:#909b90}.improvement{color:#477269;display:flex;align-items:center;gap:11px}.improvement-arrow{font-size:25px;font-weight:300}.profile-nav{display:flex;align-items:center;gap:29px;min-height:70px;border-bottom:1px solid var(--line);font-size:12px}.profile-nav>a{text-decoration:none;color:#7c8278;padding-block:26px;position:relative}.profile-nav>a:hover,.profile-nav>a.active{color:var(--ink)}.profile-nav>a.active{font-weight:650}.profile-nav>a.active:after{position:absolute;content:"";height:2px;background:var(--ink);bottom:-1px;left:0;right:0}.season-label{margin-left:auto;font-size:9px;letter-spacing:1.4px;color:#788277}.season-label strong{font-size:12px;font-weight:600;color:var(--ink);margin-left:9px;letter-spacing:.3px}.section-space{padding-top:42px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.section-kicker{font-size:9px;font-weight:650;letter-spacing:1.7px;color:#6c7d73;margin:0 0 10px}h2{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:-.65px;margin:0;line-height:1.2}.distance-tag{font-size:11px;border:1px solid #d7dccf;border-radius:20px;padding:8px 13px;color:#647265}.story-layout{display:grid;grid-template-columns:1fr 292px;gap:23px}.progress-panel{background:#fff;border:1px solid #e3e4db;border-radius:7px;min-width:0;padding:25px 28px 18px}.chart-header{display:flex;justify-content:space-between;gap:12px}.chart-label{font-size:9px;letter-spacing:1.4px;color:#6c7770;font-weight:650}.chart-description{font-size:12px;margin:8px 0 0;color:#7a857d;line-height:1.5}.chart-switch{display:flex;align-self:flex-start;border:1px solid #dfe3d9;border-radius:4px;padding:3px;gap:2px}.chart-switch button{border:0;background:transparent;color:#69776f;padding:5px 10px;font-size:10px;border-radius:2px}.chart-switch button[aria-pressed=true]{background:#eaf0e7;color:#31483c;font-weight:600}.progress-chart{height:185px;margin-top:13px}.progress-chart svg{width:100%;height:100%;overflow:visible}.chart-footnote{display:flex;align-items:center;gap:7px;color:#81867c;font-size:10px;line-height:1.5;margin:9px 0 0}.chart-key{width:5px;height:5px;border-radius:50%;background:#617d59;flex-shrink:0}.season-note{position:relative;overflow:hidden;padding:28px;background:#ebece1;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start}.season-note .section-kicker{color:#667664;font-size:8px;z-index:1}.note-number{position:absolute;right:14px;top:5px;line-height:1;font-family:Georgia,serif;font-style:italic;font-size:106px;letter-spacing:-8px;color:#d4d9c5}.season-note h3{font-family:Georgia,serif;font-weight:400;font-size:32px;letter-spacing:-.8px;line-height:1.1;margin:8px 0 15px;position:relative}.note-description{font-size:10px;color:#7a8472;line-height:1.8;margin:0}.note-description strong{color:#53634e;font-weight:600}.note-time{font-size:28px;letter-spacing:-1px;margin-top:13px;font-weight:450}.note-time span{font-size:8px;letter-spacing:1px;margin-left:7px;color:#748167}.note-rule{height:1px;width:30px;background:#a9b297;margin-top:13px}.note-footer{font-family:Georgia,serif;font-style:italic;font-size:12px;color:#718063;margin:10px 0 0}.sort-label select{color:#637162;font-size:11px;padding:9px 29px 9px 12px;background-color:transparent;border:1px solid #d7dccf;border-radius:4px;cursor:pointer}.race-table-heading{display:grid;grid-template-columns:minmax(0,1fr) 100px 140px 100px 18px;gap:15px;padding:10px 22px 14px;color:#7d877b;font-size:8px;letter-spacing:1.3px;font-weight:600;border-bottom:1px solid #cfd5c7}.race-list{border-bottom:1px solid #cfd5c7}.race-entry{border-bottom:1px solid var(--line)}.race-entry:last-child{border-bottom:0}.race-entry summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 100px 140px 100px 18px;gap:15px;padding:18px 22px;align-items:center}.race-entry summary::-webkit-details-marker{display:none}.race-entry summary:hover{background:#efefe6}.race-name{display:block;font-size:13px;font-weight:550;margin-bottom:4px}.race-date{display:block;font-size:10px;color:#7d877b}.race-distance,.race-pace{font-size:12px;color:#6c7b6c}.race-time{font-size:17px;letter-spacing:-.4px;font-variant-numeric:tabular-nums;white-space:nowrap}.pb-badge{vertical-align:middle;font-size:8px;letter-spacing:.4px;font-weight:700;padding:3px 5px;background:#e9dbb3;color:#776129;border-radius:3px;margin-left:9px}.row-arrow{color:#71806e;font-size:17px;transition:transform .15s}.race-entry[open] .row-arrow{transform:rotate(45deg)}.race-detail{display:flex;align-items:center;gap:22px;font-size:11px;line-height:1.6;color:#6b7867;background:#ecefe5;padding:14px 22px;border-top:1px solid #e0e4d8}.race-detail p{margin:0}.race-detail strong{font-weight:600;color:#51654c}.result-note{font-size:10px;color:#83897c;margin:13px 0 0;line-height:1.6}.section-aside{font-size:11px;color:#7e887a}.milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.milestone{border-top:1px solid #c6cebd;padding:20px 2px 0}.milestone-icon{width:38px;height:38px;border:1px solid #dadccb;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.milestone-icon svg{width:21px;height:21px;stroke:#778767;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.milestone-type{font-size:8px;color:#7b8874;letter-spacing:1.4px;margin:0 0 10px;font-weight:650}.milestone h3{font-family:Georgia,serif;font-size:23px;font-weight:400;letter-spacing:-.5px;margin:0 0 10px}.milestone>p:last-child{font-size:11px;line-height:1.8;color:#7a8474;margin:0}.coin-story{border-block:1px solid var(--line);margin-top:52px;padding:29px 10px;display:flex;gap:30px;align-items:center}.small-coin{flex-shrink:0;height:70px;width:70px;border:1px solid #c1ad75;outline:1px solid #dacc9e;outline-offset:-6px;border-radius:50%;background:#eee4c4;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-style:italic;font-size:36px;position:relative;padding-bottom:8px;color:#7a744e;box-shadow:0 2px 0 #b7a375}.small-coin span{position:absolute;bottom:13px;font:6px "Segoe UI",Arial,sans-serif;letter-spacing:1.5px}.coin-story .section-kicker{font-size:8px;margin-bottom:6px}.coin-story h2{font-size:23px}.coin-story p:last-child{font-size:12px;line-height:1.6;color:#7c8478;max-width:540px;margin:9px 0 0}.site-footer{display:flex;align-items:center;gap:28px;padding-block:32px 38px}.footer-brand{font-size:16px;gap:8px}.site-footer p{font-size:10px;color:#7d877b}.footer-preview{margin-left:auto;font-size:8px;letter-spacing:1px;color:#8d9585}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:6px;font-size:12px;box-shadow:0 6px 20px #0002;z-index:20;max-width:calc(100% - 32px);width:max-content}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;background:var(--paper);padding:12px;z-index:100}
@media(min-width:1450px){.wrap{max-width:1272px}.athlete-hero{height:402px}.hero-copy{padding-top:55px}}
@media(max-width:900px){.wrap{padding-inline:24px}.header-note{display:none}.athlete-hero{height:352px;grid-template-columns:1.2fr 1fr}.hero-copy{padding:39px 30px}h1{font-size:69px}.eyebrow{font-size:9px;letter-spacing:1.2px}.athlete-placeholder{width:221px;height:221px;top:53px}.photo-letter{font-size:109px}.photo-arc{font-size:6px;bottom:29px}.story-layout{grid-template-columns:1fr 240px;gap:16px}.progress-panel{padding:22px 19px 16px}.season-note{padding:25px 22px}.stat{padding-inline:20px}.stat-value{font-size:39px}.stat-label{font-size:8px;letter-spacing:1px}.stat-detail{font-size:10px}.race-table-heading,.race-entry summary{grid-template-columns:minmax(0,1fr) 70px 105px 75px 15px;gap:10px;padding-inline:12px}.section-aside{display:none}.milestone h3{font-size:20px}.footer-preview{font-size:7px}.site-footer{gap:18px}}
@media(max-width:650px){:root{scroll-padding-top:20px}.wrap{padding-inline:20px}.site-header{height:81px;gap:10px}.brand{font-size:20px;gap:9px}.brand img{height:30px;width:30px}.share-button{padding:9px 11px;gap:7px}.share-button span{font-size:0}.share-button span:after{content:"Share";font-size:11px}.share-button svg{width:15px;height:15px}.preview-notice{font-size:9px;gap:6px;margin-bottom:13px;line-height:1.5}.notice-separator{margin:0}.athlete-hero{height:auto;min-height:454px;display:flex;flex-direction:column;border-radius:7px}.hero-copy{padding:30px 28px 0}.eyebrow{font-size:9px;letter-spacing:1px;gap:7px}h1{font-size:66px;letter-spacing:-3px;margin:20px 0 13px}.hero-description{font-size:12px;line-height:1.65}.hero-description br{display:none}.hero-link{font-size:11px;gap:30px;margin-top:16px;padding-bottom:6px}.hero-art{height:231px;margin-top:6px}.athlete-placeholder{height:175px;width:175px;top:13px;left:50%;padding:7px;box-shadow:0 6px 0 #ab8b54,0 15px 24px #081c2170}.photo-letter{font-size:84px;margin-top:-9px}.photo-arc{font-size:5px;letter-spacing:.9px;bottom:22px}.photo-caption{bottom:19px;font-size:6px;letter-spacing:1.3px}.hero-year{font-size:117px;bottom:-23px;right:14px;letter-spacing:-7px}.track-line{width:370px;height:280px;top:-38px;left:-26px}.track-two{width:430px;height:340px;top:-68px;left:-56px}.track-three{width:490px;height:400px;top:-98px;left:-86px}.season-stats{grid-template-columns:1fr 1fr;padding-block:24px;row-gap:23px}.stat{padding-left:18px;padding-right:0}.stat:first-child{padding-left:0}.stat:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--line);padding:18px 0 0;gap:3px 18px}.stat:nth-child(3) .stat-label{grid-column:1;align-self:end}.stat:nth-child(3) .stat-value{grid-column:2;grid-row:1/3;align-self:center;justify-self:start;margin:0;gap:7px;font-size:34px}.stat:nth-child(3) .stat-detail{grid-column:1;font-size:9px}.stat:nth-child(3) .stat-detail .small-divider{display:none}.stat-label{font-size:7px;letter-spacing:.95px;gap:6px}.stat-value{font-size:36px;margin:9px 0 6px;letter-spacing:-1.1px}.stat-unit{font-size:12px}.stat-detail{font-size:9px}.stat:first-child .stat-detail{display:flex;flex-direction:column;gap:3px}.stat:first-child .small-divider{display:none}.improvement-arrow{font-size:21px}.profile-nav{gap:25px;min-height:60px;font-size:10px}.profile-nav>a{padding-block:22px}.season-label{display:none}.section-space{padding-top:32px}.section-header{margin-bottom:18px;gap:12px;align-items:flex-end}.section-kicker{font-size:8px;letter-spacing:1.4px;margin-bottom:8px}h2{font-size:26px;letter-spacing:-.6px}.distance-tag{font-size:8px;padding:6px 9px;white-space:nowrap;margin-bottom:3px}.story-layout{grid-template-columns:1fr;gap:16px}.progress-panel{padding:19px 17px 14px}.chart-description{font-size:10px;max-width:164px;line-height:1.5}.chart-label{font-size:8px}.chart-switch button{padding:5px 8px;font-size:9px}.progress-chart{height:179px;margin-top:10px}.chart-footnote{font-size:8px}.season-note{padding:22px;min-height:195px;display:grid;grid-template-columns:1fr auto;column-gap:15px}.season-note .section-kicker{grid-column:1/-1}.season-note h3{font-size:27px;grid-column:1;margin:7px 0 12px}.season-note h3 br{display:none}.note-number{font-size:105px;right:20px;top:48px;opacity:.55}.note-description{grid-column:1;z-index:1;font-size:10px}.note-time{grid-column:2;grid-row:2/4;margin:0;align-self:center;position:relative;font-size:31px}.note-time span{display:block;font-size:7px;text-align:right;margin:5px 0 0}.note-rule{display:none}.note-footer{grid-column:1/-1;font-size:11px;margin-top:12px}.sort-label select{font-size:10px;padding:8px 19px 8px 8px;max-width:119px}.race-table-heading{grid-template-columns:minmax(0,1fr) 84px 13px;padding:8px 0 12px;font-size:7px}.race-table-heading span:nth-child(2),.race-table-heading span:nth-child(4){display:none}.race-table-heading span:nth-child(3){text-align:right;padding-right:7px}.race-entry summary{grid-template-columns:minmax(0,1fr) 84px 13px;padding:17px 0;gap:8px}.race-name{font-size:12px;margin-bottom:6px;line-height:1.4}.race-date{font-size:9px;line-height:1.5}.race-distance,.race-pace{display:none}.race-time{font-size:18px;text-align:right;position:relative}.pb-badge{display:block;margin:5px 0 0 auto;width:max-content;font-size:7px;padding:2px 4px}.row-arrow{font-size:14px;justify-self:end}.race-detail{padding:13px 12px;flex-wrap:wrap;gap:7px 17px;font-size:10px}.result-note{font-size:9px}.milestone-grid{grid-template-columns:1fr;gap:19px}.milestone{display:grid;grid-template-columns:46px 1fr;gap:0 13px;padding:19px 0 0}.milestone-icon{grid-column:1;grid-row:1/4;align-self:start;margin:2px 0 0}.milestone-type{grid-column:2;font-size:7px;margin:0 0 7px}.milestone h3{grid-column:2;font-size:23px;margin-bottom:6px}.milestone>p:last-child{grid-column:2;font-size:10px}.coin-story{margin-top:33px;padding:23px 0;gap:18px;align-items:flex-start}.small-coin{height:51px;width:51px;font-size:27px;outline-offset:-5px;margin-top:3px;padding-bottom:6px}.small-coin span{font-size:4px;bottom:9px}.coin-story .section-kicker{font-size:6px;letter-spacing:1.1px}.coin-story h2{font-size:22px;line-height:1.2}.coin-story p:last-child{font-size:10px;line-height:1.7;margin-top:8px}.site-footer{display:grid;grid-template-columns:1fr auto;gap:10px;padding-block:25px 30px}.footer-brand{font-size:15px;gap:7px}.footer-brand img{width:23px;height:23px}.site-footer p{margin:0;grid-row:2;font-size:9px}.footer-preview{grid-column:2;grid-row:1/3;font-size:6px;letter-spacing:.7px;max-width:81px;text-align:right;line-height:1.9}}
@media(max-width:360px){.wrap{padding-inline:16px}h1{font-size:57px}.hero-copy{padding-inline:22px}.profile-nav{gap:20px}.stat-label{letter-spacing:.5px}.section-header h2{font-size:23px}.distance-tag{font-size:7px}.season-note h3{font-size:24px}.note-time{font-size:27px}.chart-description{max-width:140px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
.race-mobile-distance{display:none}@media(max-width:650px){.race-mobile-distance{display:inline}}

/* Aligned meet columns pair the graph with exact times in grade rows. */
.meet-layout{grid-template-columns:minmax(0,1fr)}
.meet-panel{padding:24px 25px 20px}
.meet-panel .chart-description{max-width:none;font-size:12px;color:#4e6859}
.matrix-key{display:flex;align-items:center;gap:7px;font-size:10px;color:#74816f;white-space:nowrap;align-self:center}
.matrix-key>span{font-size:16px;color:#58735c}
.grade-legend{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 17px}
.grade-legend>span{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}
.grade-legend i{width:18px;height:3px;border-radius:2px}
.grade-legend small{font-size:9px;font-weight:400;color:#81907c}
.meet-scroll{width:100%;max-width:100%;overflow-x:auto;scrollbar-color:#b8c5ae #f2f5ee;scrollbar-width:thin;border:1px solid #dce3d5;border-radius:6px}
.meet-scroll:focus-visible{outline:2px solid #997231;outline-offset:3px}
.meet-matrix{width:100%;min-width:calc(64px + var(--meet-count)*112px);table-layout:fixed;border-collapse:separate;border-spacing:0}
.meet-matrix .grade-column{width:64px}
.meet-matrix th,.meet-matrix td{border-right:1px solid #e5e9df;border-bottom:1px solid #e0e5d9}
.meet-matrix tr>:last-child{border-right:0}
.meet-matrix tbody tr:last-child>*{border-bottom:0}
.meet-matrix thead th{font-size:12px;line-height:1.35;font-weight:600;text-align:center;padding:14px 9px;background:#f1f4ec;height:54px}
.meet-matrix thead .grade-sticky{font-size:8px;letter-spacing:.6px}
.meet-matrix .grade-sticky{position:sticky;left:0;z-index:2;background:#f5f7ef;box-shadow:2px 0 3px #33452c08}
.meet-matrix tbody th{padding:11px 7px;text-align:center}
.grade-result-row th strong{display:block;font-size:20px;font-weight:600;letter-spacing:-.3px}
.grade-result-row th>span{display:block;font-size:9px;font-weight:400;color:#7f8b78;margin-top:5px}
.meet-matrix .plot-axis-cell{padding:0;background:#fff}
.plot-axis{height:196px;position:relative}
.plot-axis>span{position:absolute;width:100%;left:0;transform:translateY(-50%);font-size:9px;font-weight:400;color:#74836d;text-align:center}
.meet-matrix .plot-cell{padding:0;background:#fcfdf9}
.meet-plot{height:196px}
.meet-plot svg{width:100%;height:196px;display:block;overflow:visible}
.plot-dot{cursor:pointer;outline:none}
.plot-meet-name{font-size:15px;font-weight:650;opacity:.32;pointer-events:none;user-select:none}
.chart-view-controls{display:flex;align-items:center;gap:12px;margin-top:17px;font-size:11px;color:#69776f}
.chart-view-controls .chart-switch{align-self:auto}
.chart-view-controls .chart-switch button{min-width:78px;min-height:40px;font-size:12px;padding:8px 14px}
.result-meet-name{font-size:11px;font-weight:600;color:var(--grade-color);line-height:1.35;text-align:left;overflow-wrap:anywhere}
.plot-dot.selected .dot-halo,.plot-dot:focus-visible .dot-halo,.plot-dot:hover .dot-halo{opacity:1}
.plot-dot:focus-visible .dot-halo{stroke-width:3}
.meet-cell{text-align:center;padding:0;background:#fff;vertical-align:middle}
.meet-result{border:0;width:100%;min-height:106px;background:transparent;padding:13px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--ink)}
.meet-result:hover{background:#f3f6ed}
.meet-result.selected{background:#f6f0e0;box-shadow:inset 0 0 0 1.5px #ba954e}
.meet-result:focus-visible{outline:2px solid #9b6f26;outline-offset:-3px}
.matrix-time{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:20px;font-weight:500;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.result-marker{width:5px;height:5px;border-radius:50%;background:var(--grade-color);flex-shrink:0}
.matrix-distance{font-size:10px;color:#7b8973}
.meet-faster{font-size:9px;color:#486c43;background:#e6efdd;padding:4px 6px;border-radius:3px;white-space:nowrap}
.missing-time{display:flex;align-items:center;justify-content:center;min-height:106px;color:#b2baaa;font-size:25px}
.meet-matrix .future-grade{color:#8a947e;font-size:11px;padding:17px 20px;text-align:left;background:#fafbf7}
.matrix-footnote{font-size:10px;color:#818b78;line-height:1.6;display:flex;flex-wrap:wrap;gap:6px 20px;margin:15px 0 0}
.faster-key{color:#59744d}
.swipe-hint{display:none}
.is-scrollable .swipe-hint{display:inline}
.meet-inspector{margin-top:18px;background:#f3f6ee;border:1px solid #e0e7d8;border-radius:5px;padding:16px 18px;min-height:104px}
.meet-panel .meet-inspector{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 24px;align-items:center}
.meet-inspector-heading{display:flex;align-items:center;gap:13px;margin-bottom:8px;grid-column:1}
.meet-grade{font-size:10px;color:#6c7c63}
.meet-place{white-space:nowrap;font-size:9px;background:#e3ebd9;color:#506944;padding:4px 7px;border-radius:3px}
.meet-title{display:block;font-size:13px;line-height:1.5;font-weight:600;grid-column:1}
.meet-inspector-bottom{display:flex;align-items:center;gap:30px;grid-column:2;grid-row:1/4}
.meet-finish{font-size:25px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.meet-finish small{display:block;font-size:10px;color:#6e7b66;letter-spacing:0;margin-top:3px}
.meet-inspector-bottom a{font-size:10px;color:#506b52;white-space:nowrap;text-underline-offset:3px}
.meet-change{grid-column:1;font-size:10px;color:#7d8971;margin:8px 0 0;line-height:1.6}
.meet-change.faster{color:#4b7146}
.race-detail{flex-wrap:wrap}
.race-detail a{color:#486848;text-underline-offset:3px}
.race-time{font-size:18px}
@media(max-width:900px){.meet-layout{grid-template-columns:minmax(0,1fr)}.meet-panel{padding:22px 19px 18px}}
@media(max-width:650px){
 .meet-panel{padding:20px 12px 16px}
 .meet-panel .chart-header{flex-direction:column;gap:10px}
 .meet-panel .chart-description{font-size:11px;margin-top:7px}
 .matrix-key{align-self:flex-start;font-size:9px}
 .grade-legend{margin:16px 0 15px;gap:16px}
 .grade-legend>span{font-size:10px}
 .meet-matrix{min-width:calc(52px + var(--meet-count)*82px)}
 .meet-matrix .grade-column{width:52px}
 .meet-matrix thead th{font-size:10px;padding:12px 5px;height:48px}
 .meet-matrix thead .grade-sticky{font-size:7px;letter-spacing:.3px}
 .grade-result-row th strong{font-size:17px}
 .grade-result-row th>span{font-size:8px}
 .meet-result{min-height:96px;padding:12px 5px;gap:6px}
 .matrix-time{font-size:16px;gap:4px}
 .result-marker{width:4px;height:4px}
 .matrix-distance{font-size:9px}
 .meet-faster{font-size:8px;padding:3px 4px}
 .missing-time{min-height:96px;font-size:21px}
 .matrix-footnote{font-size:9px;gap:5px 13px}
 .meet-panel .meet-inspector{display:block;padding:14px 12px}
 .meet-inspector-heading{justify-content:space-between}
 .meet-title{font-size:12px}
 .meet-grade{font-size:9px}
 .meet-inspector-bottom{justify-content:space-between;gap:15px;margin-top:12px}
 .meet-inspector-bottom a{font-size:9px}
 .meet-finish{font-size:24px}
 .meet-finish small{font-size:9px;line-height:1.5}
 .race-time{font-size:17px}
 .season-stats .stat-value{font-size:34px}
 .season-stats .stat:nth-child(3) .stat-value{font-size:32px}
}
@media(max-width:360px){.meet-panel{padding-inline:10px}.meet-matrix{min-width:calc(48px + var(--meet-count)*80px)}.meet-matrix .grade-column{width:48px}.meet-inspector-bottom a{font-size:8px}.stat-label{font-size:6px;letter-spacing:.5px}.season-stats .stat-value{font-size:31px}}
.profile-result-sources{display:flex;gap:7px 18px;flex-wrap:wrap;grid-column:1/-1;font-size:10px;line-height:1.8;margin-top:10px}.profile-result-sources .profile-source{color:#526f58}.profile-result-sources span{color:#7a826d;font-variant-numeric:tabular-nums}.header-note{text-decoration:none}
@media(max-width:900px){.site-header{height:auto;min-height:86px;flex-wrap:wrap;padding-block:18px;gap:12px}.site-header .header-note{display:inline-flex;align-items:center;order:3;flex-basis:100%;min-height:36px;font-family:inherit;font-size:12px;font-style:normal;text-decoration:underline;text-underline-offset:4px}}
.stat-race{line-height:1.7}.stat-race>a{display:block;text-decoration-color:#a8b5a8;text-underline-offset:3px}.stat-context{display:block;font-size:10px;line-height:1.7}.pace-unit{margin-left:5px;letter-spacing:0;white-space:nowrap}@media(max-width:650px){.stat-context{font-size:9px}.pace-unit{font-size:11px}.stat:nth-child(3) .stat-detail{align-self:start}}
.school-graph-heading{font-family:Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.4px;margin:8px 0 0}#school-progress-graphs{gap:24px}@media(max-width:650px){.school-graph-heading{font-size:22px}}
.athlete-breadcrumb{display:flex;justify-content:space-between;gap:18px;font-size:11px;color:#657958;margin:18px 0 24px}.athlete-breadcrumb a{text-underline-offset:4px}.athlete-hero{height:auto;min-height:383px}.hero-copy h1{font-size:clamp(40px,4.8vw,68px);letter-spacing:-2px;line-height:1.06;overflow-wrap:anywhere}.eyebrow{flex-wrap:wrap}.graph-empty{font-size:12px;color:#7b8972;padding:25px;line-height:1.8}.missing-result{font-size:11px!important;white-space:normal!important;line-height:1.5;letter-spacing:0}.meet-inspector[hidden],.matrix-footnote[hidden],[hidden]{display:none!important}.profile-unavailable{padding:60px 0;min-height:60vh}.profile-unavailable h1{font-family:Georgia,serif;font-size:44px;letter-spacing:-1px}.profile-unavailable p{line-height:1.8;color:#7c8872}@media(max-width:650px){.athlete-breadcrumb{font-size:10px;gap:10px}.hero-copy h1{font-size:46px;letter-spacing:-1.3px}.athlete-hero{min-height:454px}.profile-unavailable h1{font-size:32px}}@media(max-width:360px){.hero-copy h1{font-size:40px}}
.hero-art{isolation:isolate;background:radial-gradient(ellipse at 55% 46%,#b59a5120 0,transparent 68%)}.hero-cougar{position:absolute;inset:0 0 48px;width:100%;height:calc(100% - 48px);object-fit:contain;z-index:1}.cougar-art-caption{position:absolute;left:12px;right:12px;bottom:26px;text-align:center;z-index:2;text-transform:uppercase}.cougar-art-caption>span{display:block;color:#eed6a1;font-size:18px;font-weight:650;letter-spacing:2px;line-height:1.4}.cougar-art-caption>small{display:block;font-size:8px;color:#becbc1;letter-spacing:3px;margin-top:7px}.hero-art .hero-year{z-index:0;opacity:.08;right:15px}@media(max-width:650px){.hero-art{height:266px;margin-top:10px;flex-shrink:0}.hero-cougar{inset:0 0 43px;height:calc(100% - 43px)}.cougar-art-caption{bottom:20px}.cougar-art-caption>span{font-size:16px;letter-spacing:1.8px}.cougar-art-caption>small{font-size:7px;letter-spacing:2.8px;margin-top:5px}}
.profile-source-note{grid-column:1/-1;font-size:10px;line-height:1.7;color:#7b836f;margin:8px 0 0}.race-detail .profile-source-note{flex-basis:100%}

/* Profile result metrics retain the same order and prominence at every width. */
.result-metrics{display:flex;flex-direction:column;gap:6px;min-width:0;font-variant-numeric:tabular-nums;text-align:left}
.result-metrics>span{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.result-metrics small{font-size:9px;font-weight:400;color:#697a66;letter-spacing:.2px}
.result-metrics .metric-pace strong{font-size:20px;font-weight:600;white-space:nowrap;letter-spacing:-.4px}
.pace-provenance{display:block;font-size:10px;font-weight:600;color:#735817;line-height:1.4;white-space:normal}
.estimated-plot-pace{font-size:10px;fill:#735817}
.estimated-plot-label{font-size:9px;fill:#735817}
.result-metrics .metric-time{font-size:12px;color:#425741}
.result-metrics .metric-distance{font-size:10px;color:#697a66;overflow-wrap:anywhere}
.meet-result{min-height:152px;gap:8px;align-items:flex-start;padding:13px 10px;border-left:3px solid var(--grade-color)}
.meet-result .result-metrics{width:100%}
.meet-matrix{min-width:calc(64px + var(--meet-count)*144px)}
.meet-faster{white-space:normal;text-align:left;line-height:1.4}
.distance-changed{font-size:9px;color:#7c704f}
.plot-axis-cell{position:relative}
.plot-unit{position:absolute;top:4px;left:0;width:100%;font-size:7px;letter-spacing:.1px;color:#667660;z-index:1}
.race-table-heading,.race-entry summary{grid-template-columns:minmax(0,1fr) 180px 18px}
.race-table-heading span:nth-child(2){display:block}
.race-table-heading span:nth-child(3){text-align:left}
.race-entry .pb-badge{display:inline-block;margin:6px 0 0}
.improvement{gap:7px;flex-wrap:wrap}
@media(max-width:600px){
  .race-table-heading,.race-entry summary{grid-template-columns:minmax(0,1fr) 132px 13px;gap:8px}
  .race-table-heading span:nth-child(2){font-size:6px;line-height:1.5}
  .race-table-heading span:nth-child(3){display:block}
  .result-metrics .metric-pace strong{font-size:17px}
  .result-metrics .metric-time{font-size:11px}
  .result-metrics .metric-distance{font-size:9px}
  .meet-matrix{min-width:calc(52px + var(--meet-count)*126px)}
  .meet-result{min-height:146px;padding:12px 8px}
  .meet-faster{font-size:8px}
  .meet-inspector-bottom{align-items:flex-start}
}
@media(max-width:360px){
  .race-table-heading,.race-entry summary{grid-template-columns:minmax(0,1fr) 117px 13px}
  .result-metrics .metric-pace strong{font-size:16px}
  .meet-matrix{min-width:calc(48px + var(--meet-count)*126px)}
}
