@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600&display=swap";:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;--ink: #eefaf3;--muted: #95aaa1;--panel: rgba(6, 17, 15, .78);--panel-solid: #081815;--line: rgba(184, 255, 208, .16);--lime: #bcff42;--mint: #55f1bd;--orange: #ff7652}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:#020807;color:var(--ink)}button,input,select{font:inherit}button{color:inherit}#renderCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none;background:radial-gradient(circle at 52% 45%,#173f3c,#061311 38%,#020605 78%)}.athlete-label{position:absolute;z-index:3;left:0;top:0;min-width:96px;padding:5px 10px 4px;pointer-events:none;border:1px solid var(--athlete-color);border-radius:2px;background:#030f0beb;box-shadow:0 3px 10px #00000061;color:#f4fff8;font:600 12px/1.2 Inter,sans-serif;text-align:center;white-space:nowrap;will-change:transform,opacity}.athlete-label[hidden]{display:none}#app:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 22%,transparent 74%,rgba(0,0,0,.5)),radial-gradient(circle at center,transparent 45%,rgba(0,0,0,.28) 100%)}.brandbar{position:absolute;z-index:5;left:28px;top:24px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:800 22px/1 Barlow Condensed,sans-serif;letter-spacing:.06em}.brand>span:last-child span{color:var(--lime)}.brand-mark{display:flex;gap:2px;height:22px;align-items:flex-end;transform:skew(-10deg)}.brand-mark i{width:4px;background:var(--lime);border-radius:1px;box-shadow:0 0 12px #bcff4273}.brand-mark i:nth-child(1){height:12px}.brand-mark i:nth-child(2){height:19px}.brand-mark i:nth-child(3){height:15px}.live-pill{padding:7px 10px 6px;border:1px solid rgba(188,255,66,.26);background:#081812b3;color:#cce9d7;font:700 10px/1 Barlow Condensed,sans-serif;letter-spacing:.13em;border-radius:3px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.live-pill span{display:inline-block;width:6px;height:6px;margin-right:5px;background:var(--lime);border-radius:50%;box-shadow:0 0 8px var(--lime);animation:pulse 1.8s infinite}.legal-button{display:flex;align-items:center;gap:6px;padding:7px 10px 6px;border:1px solid rgba(184,255,208,.15);border-radius:3px;background:#0818129e;color:#91aa9f;cursor:pointer;font:700 10px/1 Barlow Condensed,sans-serif;letter-spacing:.1em}.legal-button:hover,.legal-button:focus-visible{border-color:#bcff426b;color:var(--lime);outline:0}.legal-button svg{width:13px;fill:none;stroke:currentColor;stroke-width:1.6}.search-shell{position:absolute;z-index:8;top:22px;right:26px;width:48px;transition:width .18s ease}.search-shell.open{width:min(520px,calc(100vw - 56px))}.search-toggle{display:grid;width:48px;height:48px;margin-left:auto;place-items:center;border:1px solid rgba(213,255,225,.21);border-radius:4px;background:#040e0cd6;box-shadow:0 12px 35px #00000047;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);cursor:pointer}.search-toggle:hover,.search-toggle:focus-visible,.search-shell.open .search-toggle{border-color:#bcff427a;color:var(--lime);outline:0}.search-shell.open .search-toggle,.search-shell form[hidden]{display:none}.search-shell form{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;height:50px;padding:0 7px 0 17px;border:1px solid rgba(213,255,225,.21);background:#040e0cd6;-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);border-radius:4px;box-shadow:0 12px 35px #00000047}.search-shell svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.7}.search-shell input{min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:14px}.search-shell input::placeholder{color:#789087}.search-shell form button{border:0;background:var(--lime);color:#0a160e;font:800 12px/1 Barlow Condensed,sans-serif;letter-spacing:.1em;padding:13px 18px;border-radius:2px;cursor:pointer}.search-results{margin-top:5px;overflow:hidden;background:#05110ef2;border:1px solid var(--line);border-radius:4px;box-shadow:0 16px 35px #0000005c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.search-result{display:flex;justify-content:space-between;width:100%;padding:13px 16px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#e8f7ee;text-align:left;cursor:pointer}.search-result>span{display:grid;gap:4px;min-width:0}.search-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 12px Inter}.search-result:hover,.search-result:focus,.search-result.active{background:#bcff421a;outline:0}.search-result small{overflow:hidden;color:#739184;text-overflow:ellipsis;white-space:nowrap;font:500 10px Inter}.search-result em{flex:0 0 auto;margin-left:12px;color:var(--lime);text-transform:uppercase;font:600 9px Barlow Condensed;letter-spacing:.08em;font-style:normal}.search-message{padding:14px 16px;color:#8ca69a;font:500 11px Inter}.race-card{position:absolute;z-index:5;left:28px;bottom:72px;width:220px;padding:17px 18px 15px;border-left:2px solid var(--lime);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 16px 40px #0003}.eyebrow{color:var(--lime);font:700 10px Barlow Condensed;letter-spacing:.16em}.course-picker{display:grid;gap:4px;margin:0 0 10px}.course-picker>span{color:#6f8a7e;font:700 9px Barlow Condensed;letter-spacing:.15em}.course-picker select{width:100%;min-width:0;padding:7px 26px 7px 8px;border:1px solid var(--line);border-radius:3px;outline:0;background:#0b1714;color:#dceae2;font:600 11px Inter;cursor:pointer}.course-picker select:hover,.course-picker select:focus{border-color:#bcff428c}.race-stat{display:flex;align-items:flex-end;gap:10px;margin:5px 0 12px}.race-stat strong{font:700 46px/.9 Barlow Condensed;letter-spacing:-.03em}.race-stat span{color:#9cb2a7;font:500 11px/1.25 Inter}.race-meta{display:flex;justify-content:space-between;color:#91a99e;font:600 10px Barlow Condensed;letter-spacing:.08em}.race-meta b{display:inline-block;width:5px;height:5px;margin:0 5px 1px 0;border-radius:50%;background:var(--mint)}.map-tools{position:absolute;z-index:7;right:26px;top:50%;display:flex;flex-direction:column;transform:translateY(-50%);border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:4px;overflow:hidden}.map-tools button{width:43px;height:43px;border:0;background:transparent;color:#d9eee2;font:400 24px/1 Inter;cursor:pointer}.map-tools button:hover{color:var(--lime);background:#bcff4214}.map-tools span{height:1px;background:var(--line)}.map-tools svg{width:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.legend{position:absolute;z-index:5;left:28px;bottom:28px;display:flex;gap:17px;color:#a6bbb0;font:600 10px Barlow Condensed;letter-spacing:.08em}.legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%;background:#00d9ff;box-shadow:0 0 7px #00d9ff}.dot.favorite{background:#ff3df2;box-shadow:0 0 8px #ff3df2}.pin.spectator{width:7px;height:7px;transform:rotate(45deg);background:#6ac8ff;box-shadow:0 0 8px #6ac8ff}.settings-panel{position:absolute;z-index:9;right:26px;bottom:28px;width:255px}.settings-toggle{float:right;display:flex;align-items:center;gap:8px;height:39px;padding:0 13px;border:1px solid var(--line);background:var(--panel);color:#bad1c5;border-radius:3px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;font:700 10px Barlow Condensed;letter-spacing:.1em}.settings-toggle svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.5}.settings-body{display:none;clear:both;padding:16px;margin-bottom:7px;border:1px solid var(--line);background:#05110ef0;border-radius:4px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.settings-panel.open .settings-body{display:grid;gap:13px}.settings-panel.open .settings-toggle{color:var(--lime)}.settings-body label:not(.switch){display:grid;gap:6px;color:#8fa89c;font:600 10px Barlow Condensed;letter-spacing:.09em;text-transform:uppercase}.settings-body select,.settings-body input{width:100%;padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:3px;outline:0;background:#0a211b;color:#e9fff1;font:500 12px Inter}.settings-body p{margin:0;color:#728c80;font:10px/1.45 Inter}.settings-body .time-control>span{display:flex;justify-content:space-between;align-items:center}.time-control output{color:var(--lime);font:700 12px Barlow Condensed;letter-spacing:.06em}.settings-body input[type=date]{color-scheme:dark;cursor:pointer}.settings-body .time-control input[type=range]{height:4px;padding:0;border:0;border-radius:4px;background:linear-gradient(90deg,#203b52,#f4a45f 25%,#dff9ff,#f4a45f 75%,#203b52);accent-color:var(--lime);cursor:pointer}.settings-body .time-control input.plain-range{background:linear-gradient(90deg,#12221e,#8faea5 55%,#f4fbf8)}.switch{display:flex;align-items:center;gap:8px;color:#a9c0b5;font:500 11px Inter}.switch input{display:none}.switch span{position:relative;width:29px;height:16px;border-radius:20px;background:#284039;transition:.2s}.switch span:after{content:"";position:absolute;width:10px;height:10px;left:3px;top:3px;border-radius:50%;background:#8ca198;transition:.2s}.switch input:checked+span{background:#bcff424d}.switch input:checked+span:after{transform:translate(13px);background:var(--lime)}.loading{position:absolute;z-index:10;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at center,#0c271fd1,#020807f0 70%);-webkit-backdrop-filter:blur(10px) saturate(80%);backdrop-filter:blur(10px) saturate(80%);transition:visibility 0s .4s,opacity .4s ease}.loading.hidden{visibility:hidden;opacity:0;pointer-events:none}.loading-card{display:grid;justify-items:center;width:min(410px,100%);padding:35px 34px 31px;border:1px solid rgba(184,255,208,.2);border-top:2px solid var(--lime);border-radius:5px;background:#04100de6;box-shadow:0 28px 80px #0000007a,0 0 60px #bcff420d;text-align:center}.loading-kicker{color:var(--lime);font:700 10px/1 Barlow Condensed,sans-serif;letter-spacing:.2em}.loading-spinner{width:42px;height:42px;margin:25px 0 21px;border:3px solid rgba(188,255,66,.14);border-top-color:var(--lime);border-radius:50%;box-shadow:0 0 22px #bcff421f;animation:spin .85s linear infinite}.loading-card h2{margin:0;color:#f4fff8;font:700 29px/1.05 Barlow Condensed,sans-serif;letter-spacing:.015em}.loading-card p{max-width:300px;margin:11px 0 25px;color:#91aaa0;font:12px/1.55 Inter,sans-serif}.loading-progress{width:100%;height:2px;overflow:hidden;border-radius:2px;background:#b8ffd01a}.loading-progress i{display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,var(--lime),transparent);animation:loading-sweep 1.4s ease-in-out infinite}.toast{position:absolute;z-index:20;left:50%;bottom:28px;max-width:min(440px,calc(100vw - 40px));transform:translate(-50%,20px);padding:11px 14px;border:1px solid rgba(188,255,66,.25);background:#05120ef0;color:#dcebe3;font-size:11px;border-radius:3px;opacity:0;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}.follow-prompt{position:absolute;z-index:9;left:50%;bottom:35px;display:flex;align-items:stretch;transform:translate(-50%);border:1px solid rgba(188,255,66,.34);border-radius:4px;background:#04100df0;box-shadow:0 10px 28px #0000005c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.follow-prompt[hidden]{display:none}.follow-prompt button{border:0;color:#dcebe3;cursor:pointer}.follow-resume{display:flex;align-items:center;gap:7px;padding:9px 12px;background:transparent;font:600 11px Inter}.follow-resume:hover,.follow-resume:focus-visible{color:var(--lime);background:#bcff4214;outline:0}.follow-resume svg{width:15px;fill:none;stroke:var(--lime);stroke-width:1.7}.follow-resume strong{color:#fff}.follow-cancel{width:30px;padding:0;border-left:1px solid rgba(188,255,66,.18)!important;background:#ffffff06;font:500 18px/1 Inter}.follow-cancel:hover,.follow-cancel:focus-visible{color:#ff7193;background:#ff719317;outline:0}.credits{position:absolute;z-index:4;right:25px;bottom:9px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 10px;color:#dcebe29e;font-size:8px;max-width:70vw;text-align:right}.attribution-group{display:inline-flex;align-items:center;gap:7px}.attribution-google{min-height:18px;padding:3px 8px 2px;border-radius:2px;background:#0000006b}.attribution-google img{display:block;width:auto;height:18px;flex:none}.credits a{color:inherit;text-decoration:none}.credits a:hover{color:#ebfff3e6;text-decoration:underline}.controls-hint{position:absolute;z-index:4;left:50%;bottom:7px;transform:translate(-50%);color:#bed2c873;font:500 8px Inter;letter-spacing:.04em;white-space:nowrap}.controls-hint b{color:#daf1e4b3;margin-left:7px}.legal-modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:24px}.legal-modal[hidden]{display:none}.legal-backdrop{position:absolute;inset:0;border:0;background:#010705c7;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);cursor:default}.legal-sheet{position:relative;width:min(880px,100%);max-height:min(820px,calc(100vh - 48px));overflow:auto;padding:25px;border:1px solid rgba(184,255,208,.22);border-top:2px solid var(--lime);border-radius:5px;background:#05110efa;box-shadow:0 30px 90px #0000008c}.legal-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.legal-sheet h2{margin:4px 0 0;color:#fff;font:700 30px/1 Barlow Condensed,sans-serif;letter-spacing:.01em}.legal-sheet h3{margin:24px 0 5px;color:#fff;font:700 16px Barlow Condensed,sans-serif;letter-spacing:.08em;text-transform:uppercase}.legal-close{width:34px;height:34px;border:1px solid var(--line);border-radius:3px;background:#0a211b;color:#b8cdc3;cursor:pointer;font:300 24px/1 Inter}.legal-close:hover,.legal-close:focus-visible{color:var(--lime);border-color:#bcff4266;outline:0}.legal-intro,.legal-note,.legal-footnote{color:#8fa79c;font:11px/1.55 Inter,sans-serif}.legal-intro{max-width:650px;margin:13px 0 18px}.legal-intro a,.legal-note a,.legal-footnote a{color:#b8d6c7;font-weight:600;text-decoration:none}.legal-intro a:hover,.legal-note a:hover,.legal-footnote a:hover{color:var(--lime);text-decoration:underline}.license-list{display:grid;border-top:1px solid var(--line)}.license-list article{display:grid;grid-template-columns:minmax(230px,1fr) 92px 58px 58px;align-items:center;gap:13px;padding:11px 2px;border-bottom:1px solid var(--line)}.license-list article>div{display:grid;gap:3px}.license-list strong,.service-links strong{color:#e7f6ed;font:600 12px Inter,sans-serif}.license-list small,.service-links span{color:#708d80;font:10px/1.4 Inter,sans-serif}.license-list article>span{color:var(--lime);font:700 10px Barlow Condensed,sans-serif;letter-spacing:.06em}.license-list a{color:#a9c7b8;font:600 10px Inter,sans-serif;text-decoration:none}.license-list a:hover{color:var(--lime);text-decoration:underline}.legal-note{margin:0 0 10px}.service-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-links a{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:3px;background:#bcff4206;text-decoration:none}.service-links a:hover{border-color:#bcff4259;background:#bcff420f}.legal-footnote{margin:15px 0 0;padding-top:13px;border-top:1px solid var(--line)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading-sweep{0%{transform:translate(-105%)}to{transform:translate(275%)}}@keyframes pulse{50%{opacity:.38}}@media(max-width:760px){.brandbar{left:15px;top:15px}.live-pill{display:none}.legal-button{padding:7px 8px 6px}.search-shell{top:15px;right:15px}.search-shell.open{top:58px;width:calc(100vw - 30px)}.search-shell form{height:46px}.race-card{left:15px;bottom:54px;width:185px;padding:13px 14px}.race-stat strong{font-size:36px}.legend{display:none}.map-tools{right:15px}.settings-panel{right:15px;bottom:15px;width:235px}.credits{right:15px;bottom:3px;max-width:50vw}.controls-hint{display:none}.legal-modal{padding:10px}.legal-sheet{max-height:calc(100vh - 20px);padding:18px 15px}.license-list article{grid-template-columns:1fr auto;gap:5px 10px;padding:12px 1px}.license-list article>div{grid-column:1 / -1}.license-list a{margin-right:10px}.service-links{grid-template-columns:1fr}.loading-card{padding:30px 23px 27px}.loading-card h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
