:root{--bg-base: #ffffff;--bg-soft: #ffffff;--panel: rgba(255, 255, 255, .96);--stroke: rgba(116, 158, 200, .3);--text: #112136;--muted: #56789d;--accent: #4ea6ff;--accent-2: #8ac8ff;--shadow: 0 16px 40px rgba(78, 166, 255, .14)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fff;color:var(--text);font-family:Space Grotesk,sans-serif}.app-shell{min-height:100vh;position:relative;overflow-x:clip}.aurora{position:fixed;width:40vmax;height:40vmax;border-radius:50%;filter:blur(55px);opacity:.28;pointer-events:none;z-index:0;animation:drift 12s ease-in-out infinite alternate}.aurora-1{top:-10vmax;right:-8vmax;background:#d6ebff}.aurora-2{bottom:-12vmax;left:-8vmax;background:#eaf5ff;animation-delay:.8s}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,18px,0) scale(1.08)}}.topbar{position:relative;z-index:2;width:min(1100px,calc(100% - 2rem));margin:1.2rem auto 0}.brand-button{border:0;border-radius:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;padding:0;box-shadow:none;font-weight:500}.brand-button:hover:not(:disabled){transform:none}.brand-button h1{margin:0;font-family:Manrope,sans-serif;font-size:clamp(1.6rem,3.2vw,2.3rem)}.brand-kicker{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:.2rem}.content{position:relative;z-index:2;width:min(1100px,calc(100% - 2rem));margin:1rem auto 3rem}.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:24px;padding:clamp(1rem,2vw,1.5rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-header h2{margin-top:.35rem;margin-bottom:.8rem;font-family:Manrope,sans-serif;font-size:clamp(1.3rem,3.8vw,1.95rem)}.kicker{margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:.73rem;color:var(--muted)}.search-form{display:grid;grid-template-columns:1.8fr .7fr .7fr auto;gap:.75rem;margin-bottom:1rem}.race-search-form{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin-bottom:1rem}label{display:grid;gap:.35rem;color:var(--muted);font-size:.85rem}input,select,button{font:inherit}input,select{border-radius:12px;border:1px solid var(--stroke);background:#fffc;padding:.68rem .72rem;color:var(--text)}button{border:0;border-radius:12px;background:linear-gradient(130deg,var(--accent),var(--accent-2));color:#fff;font-weight:600;padding:.72rem 1rem;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease;box-shadow:0 10px 20px #4ea6ff4d}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.6;cursor:default}.ghost{background:transparent;color:var(--accent);border:1px solid rgba(78,166,255,.45);box-shadow:none}.link-button{border:0;background:transparent;color:var(--accent);padding:0;box-shadow:none;font-weight:600;text-align:left}a{color:var(--accent)}a:hover{color:var(--accent-2)}.back-btn{margin-bottom:1rem}.race-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:start}.race-header .runner-meta{min-width:0}.race-header .back-btn{margin:0;justify-self:end}.quiet{color:var(--muted)}.error{color:#b33322;font-weight:600}.results-table-wrap{overflow-x:auto;border:1px solid var(--stroke);border-radius:14px;background:#ffffff7a}.results-table{border-collapse:collapse;width:100%}.stats-table+.stats-table{margin-top:.8rem}.stats-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.8rem}.stats-chart-card{border:1px solid var(--stroke);border-radius:12px;padding:.75rem;background:#ffffff9e}.stats-chart-card-wide{grid-column:1 / -1}.stats-chart-card h4{margin:0 0 .65rem;font-size:.9rem;color:var(--text)}.stats-bars{display:grid;gap:.55rem}.stats-bar-row{display:grid;gap:.3rem}.stats-bar-meta{display:flex;justify-content:space-between;gap:.6rem;font-size:.8rem}.stats-bar-meta span{color:var(--muted)}.stats-bar-meta strong{font-variant-numeric:tabular-nums}.stats-bar-track{height:9px;border-radius:999px;background:#749ec82e;overflow:hidden}.stats-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#7ec0ff,#3f98e8)}.stats-bar-fill-alt{background:linear-gradient(90deg,#56bee0,#2f82ba)}.stats-bar-fill-muted{background:linear-gradient(90deg,#98afc4,#6f8da9)}.time-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.time-metric-item{border:1px solid rgba(116,158,200,.22);border-radius:10px;background:#ffffffc7;padding:.55rem .65rem;display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}.time-metric-item span{font-size:.78rem;color:var(--muted);text-align:left}.time-metric-item strong{font-size:1.55rem;font-variant-numeric:tabular-nums;font-family:Manrope,sans-serif;text-align:right;margin-left:auto;line-height:1}.percentile-track-wrap{margin-top:.8rem}.percentile-track-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-bottom:.35rem}.percentile-track-line{position:relative;height:20px;border-radius:999px;background:linear-gradient(90deg,#7ec0ff2e,#6f8da92e);border:1px solid rgba(116,158,200,.22);overflow:hidden}.percentile-segment{position:absolute;top:0;bottom:0}.percentile-segment-0{background:#4ea6ff47}.percentile-segment-1{background:#56bee04d}.percentile-segment-2{background:#6f8da947}.percentile-segment-3{background:#749ec842}.percentile-point{position:absolute;top:50%;transform:translate(-50%,-50%)}.percentile-dot{width:10px;height:10px;border-radius:50%;background:#18598f;box-shadow:0 0 0 2px #fffffff2}.percentile-connector-svg{width:100%;height:32px;display:block;margin-top:.05rem}.percentile-connector-svg line{stroke:#749ec8bf;stroke-width:.8}.percentile-label-layer{position:relative;height:36px;margin-top:.15rem}.percentile-label{position:absolute;top:0;transform:translate(-50%);border:1px solid rgba(116,158,200,.18);border-radius:8px;padding:.2rem .35rem;background:#ffffffc7;text-align:center;white-space:nowrap;cursor:help}.percentile-label small{display:block;font-size:.66rem;color:var(--muted);line-height:1;margin-bottom:.12rem}.percentile-label em{display:block;font-style:normal;font-size:.72rem;font-variant-numeric:tabular-nums;line-height:1}.percentile-help-popup{position:absolute;left:50%;bottom:calc(100% + .4rem);transform:translate(-50%,6px);width:max-content;max-width:min(280px,70vw);padding:.42rem .52rem;border-radius:8px;border:1px solid rgba(116,158,200,.26);background:#fffffffa;box-shadow:0 8px 20px #18598f29;color:var(--text);font-size:.74rem;line-height:1.25;white-space:normal;pointer-events:none;visibility:hidden;opacity:0;z-index:1200;transition:opacity .12s ease,transform .12s ease}.percentile-help-popup:after{content:"";position:absolute;top:calc(100% - 1px);left:50%;width:8px;height:8px;background:#fffffffa;border-right:1px solid rgba(116,158,200,.26);border-bottom:1px solid rgba(116,158,200,.26);transform:translate(-50%) rotate(45deg)}.percentile-label:hover .percentile-help-popup,.percentile-label:focus-visible .percentile-help-popup{visibility:visible;opacity:1;transform:translate(-50%)}.percentile-label:focus-visible{outline:2px solid rgba(78,166,255,.35);outline-offset:2px}.stats-details{margin-top:.75rem}.stats-details summary{cursor:pointer;color:var(--accent);font-weight:600;-webkit-user-select:none;user-select:none}.with-info{display:inline-flex;align-items:center;gap:.35rem}.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0;color:var(--accent);line-height:1;cursor:help}.info-tip-icon{display:block}.info-tip-popup{position:absolute;left:50%;bottom:calc(100% + .42rem);transform:translate(-50%,6px);width:max-content;max-width:min(320px,70vw);padding:.45rem .55rem;border-radius:8px;border:1px solid rgba(116,158,200,.26);background:#fffffffa;box-shadow:0 8px 20px #18598f29;color:var(--text);font-size:.75rem;line-height:1.25;white-space:normal;pointer-events:none;visibility:hidden;opacity:0;z-index:1200;transition:opacity .12s ease,transform .12s ease}.info-tip-popup:after{content:"";position:absolute;top:calc(100% - 1px);left:50%;width:9px;height:9px;background:#fffffffa;border-right:1px solid rgba(116,158,200,.26);border-bottom:1px solid rgba(116,158,200,.26);transform:translate(-50%) rotate(45deg)}.info-tip:hover .info-tip-popup,.info-tip:focus-visible .info-tip-popup{visibility:visible;opacity:1;transform:translate(-50%)}.info-tip:focus-visible{outline:2px solid rgba(78,166,255,.35);outline-offset:1px}.stats-details[open] summary{margin-bottom:.55rem}.stats-wrap{border:0;background:transparent;overflow:visible}.stats-wrap .time-col,.stats-wrap .time-metric-item strong,.stats-wrap .percentile-label em{font-family:Share Tech Mono,Roboto Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;letter-spacing:.02em}.stats-wrap .results-table,.stats-wrap .results-table th,.stats-wrap .results-table td{white-space:normal;overflow-wrap:anywhere}.results-table th,.results-table td{text-align:left;padding:.68rem .72rem;border-bottom:1px solid rgba(116,158,200,.16);white-space:nowrap}.results-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.results-table tr.highlight-row{background:#4ea6ff1f}.results-table .time-col{text-align:right;font-variant-numeric:tabular-nums}.runner-meta h2{margin:0;font-family:Manrope,sans-serif;font-size:clamp(1.35rem,3.2vw,2rem)}.meta-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.55rem}.meta-tags span{border:1px solid var(--stroke);border-radius:999px;padding:.28rem .65rem;font-size:.82rem;color:var(--muted);background:#ffffff9e}.stat-row{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.stat-row article{border:1px solid var(--stroke);border-radius:14px;background:#ffffff8f;padding:.75rem}.stat-row h3{margin:0;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.stat-row p{margin:.35rem 0 0;font-size:1.45rem;font-family:Manrope,sans-serif}.stat-row small{display:block;margin-top:.2rem;color:var(--muted)}.tabs{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.6rem}.tab{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--stroke);background:#ffffffb3;color:var(--text);box-shadow:none}.tab strong{display:inline-block;min-width:2rem;text-align:center;background:#4ea6ff29;border-radius:999px;padding:.1rem .5rem;font-size:.8rem}.tab.active{border-color:transparent;background:linear-gradient(130deg,var(--accent),var(--accent-2));color:#fff}.tab.active strong{background:#fff3}.splits-details{min-width:180px}.splits-details summary{cursor:pointer;color:var(--accent);font-weight:600;list-style:none}.splits-details summary::-webkit-details-marker{display:none}.splits-details summary:after{content:" ▼";font-size:.62rem;vertical-align:middle}.splits-details[open] summary:after{content:" ▲"}.splits-details ul{margin:.35rem 0 0;padding:0;list-style:none;display:grid;gap:.2rem}.splits-details li{display:flex;justify-content:space-between;gap:.55rem;align-items:baseline;font-size:.78rem}.splits-details li strong{font-family:Share Tech Mono,Roboto Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums}.trend-chart{margin:1rem 0;border:1px solid var(--stroke);border-radius:18px;background:#ffffff9e;padding:.65rem .65rem .25rem;position:relative}.trend-chart figcaption{font-weight:600;margin:.2rem .2rem .75rem}.trend-chart svg{width:100%;height:auto}.trend-chart line{stroke:#749ec840;stroke-width:1}.trend-chart text{fill:var(--muted);font-size:11px}.trend-chart .trend-line{fill:none;stroke:url(#runner-trend-line);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-chart .trend-raw-line{fill:none;stroke:#56789d8c;stroke-width:1.5;stroke-dasharray:4 4}.trend-chart .trend-band{stroke:none}.trend-chart .trend-band-outer{fill:#4ea6ff24}.trend-chart .trend-band-inner{fill:#4ea6ff3d}.trend-chart circle{fill:var(--accent);stroke:#fff;stroke-width:1.5}.chart-tooltip{position:absolute;transform:translateY(-100%);pointer-events:none;display:grid;gap:.15rem;min-width:210px;max-width:320px;background:#15406cf2;color:#f1f8ff;border-radius:10px;padding:.55rem .65rem;font-size:.78rem;z-index:4}.chart-tooltip strong{font-size:.82rem}.section-title{margin:1rem 0 .55rem;font-family:Manrope,sans-serif}.latest-races-wrap{margin-top:.45rem}.race-results-wrap{margin-top:1rem}.enter-up{animation:enter-up .36s ease both}@keyframes enter-up{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@media (max-width: 900px){.search-form{grid-template-columns:1fr 1fr}.search-form button{grid-column:span 2}.race-search-form,.stat-row{grid-template-columns:1fr}.stats-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.content,.topbar{width:calc(100% - 1rem)}.search-form{grid-template-columns:1fr}.search-form button{grid-column:span 1}.race-search-form{grid-template-columns:1fr}.tabs{display:grid;grid-template-columns:1fr 1fr}.tab{justify-content:center}.stats-chart-grid{grid-template-columns:1fr}}
