@font-face{font-family:Orbitron;src:url('assets/Orbitron-Variable.ttf') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:SpaceGrotesk;src:url('assets/SpaceGrotesk-Latin.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('assets/PlusJakartaSans-Latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--bg:#040612;--panel:#101629;--surface:#0b1020;--text:#eff5ff;--muted:#a4b4d3;--dim:#8495b6;--line:#27324a;--cyan:#14cdff;--violet:#a197ff;--yellow:#e7dd52;--magenta:#ff30cd;--color-core:var(--cyan);--color-flavor:var(--magenta);--color-support:var(--violet);--color-highlight:var(--yellow);--spacing-2:.5rem;--spacing-5:1.25rem;--radius-lg:.75rem;--text-label:.8125rem;--focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--cyan);--font-body:SpaceGrotesk,'Segoe UI',sans-serif;--display:Orbitron,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 70% 0,#3e4ba61c,transparent 45%),var(--bg);color:var(--text);font-family:var(--font-body);font-variant-numeric:tabular-nums}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}a{color:var(--cyan)}[hidden]{display:none!important}.page{max-width:1184px;padding:0 40px;margin:auto}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.masthead-actions{display:flex;align-items:center;gap:20px}.masthead-note{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.brand{display:inline-flex;color:var(--text);text-decoration:none;letter-spacing:0}.brand-text{display:inline-flex;align-items:center;font-family:'Plus Jakarta Sans',var(--font-body);font-weight:800;letter-spacing:0}.brand-text-wordmark{display:inline-flex;align-items:baseline}.brand-text-bike{color:var(--cyan)}.brand-text-crt{color:var(--magenta)}.brand-logo{display:inline-flex;flex:none}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:42px 0 36px;gap:28px}.eyebrow{color:var(--magenta);font-size:11px;letter-spacing:1.6px;font-weight:600;margin:0 0 13px}h1{font:650 clamp(40px,5.4vw,66px)/1.1 var(--display);letter-spacing:-2px;margin:0}h1 span{color:var(--cyan)}.subtitle{margin:14px 0 0;font-size:21px}.course-scope{margin:12px 0 0;max-width:520px;font-size:14px;line-height:1.6;color:var(--muted)}.course-facts{display:flex;gap:26px;padding-bottom:3px}.course-facts b{font:550 25px/1.2 var(--display);white-space:nowrap}.course-facts b span{font:400 14px var(--font-body);color:var(--muted);margin-left:5px}.course-facts small{display:block;margin-top:9px;font-size:9px;letter-spacing:1.2px;color:var(--dim)}.calculator{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr);gap:44px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px}h2{font-size:18px;font-weight:550;margin:0;letter-spacing:-.3px}.text-button{background:none;border:0;color:var(--cyan);font-size:12px;padding:8px 0;text-decoration:none}.setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.field{min-width:0;margin-bottom:18px}.field>label{display:block;margin-bottom:8px;font-size:13px}.field small{display:block;color:var(--muted);font-size:11px;line-height:1.55;margin-top:7px}.control-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:8px}.control-label output{color:var(--cyan);font-size:18px}.quiet{color:var(--dim);font-size:11px}.unit-button{padding:2px;border:0;border-bottom:1px dotted var(--dim);background:none;font-size:12px;color:var(--muted)}input[type=number],input[type=text],input[type=time],select{width:100%;min-width:0;min-height:44px;padding:10px 12px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:7px}select{cursor:pointer}.number-row{display:flex;align-items:center;gap:7px}.number-row>span{color:var(--muted);font-size:12px}.number-row input{min-width:0}.mode-row{margin:0 0 26px}.segmented{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.segmented button{min-height:40px;padding:8px 14px;border:0;background:transparent;color:var(--muted);font-size:12px;line-height:1.4;flex:1}.segmented button[aria-pressed=true]{background:#193245;color:var(--cyan)}.pacing-heading{display:flex;align-items:center;justify-content:space-between;margin:7px 0 14px;font-size:13px}.pacing-heading .segmented{min-width:210px}.power-card{--accent:var(--cyan);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);padding:16px 18px 8px;border-radius:3px 12px 12px 3px;margin-bottom:12px}.power-card.hill{--accent:var(--violet)}.power-card.descent{--accent:var(--yellow)}.power-card:focus-within{border-color:var(--accent)}.power-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.terrain-name label{font-size:15px;font-weight:550;display:block}.terrain-name small{font-size:11px;color:var(--muted);display:block;margin-top:5px;line-height:1.4}.watts{flex:none}.watts input{width:88px;padding:5px 7px;text-align:right;color:var(--accent);font:500 22px var(--display);border-color:transparent;background:transparent}.watts input:focus{border-color:var(--line)}input[type=range]{--accent:var(--cyan);appearance:none;-webkit-appearance:none;width:100%;height:36px;border-radius:9px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--fill,50%),#29334a var(--fill,50%),#29334a 100%);background-size:100% 4px;background-repeat:no-repeat;background-position:center;margin:6px 0 0;cursor:pointer;display:block}.hill input[type=range]{--accent:var(--violet)}.descent input[type=range]{--accent:var(--yellow)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;border:3px solid var(--bg);background:var(--accent);box-shadow:0 0 0 1px var(--accent)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:3px solid var(--bg);background:var(--accent)}#cda-range{background-image:linear-gradient(90deg,var(--cyan),var(--violet))}.cda-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.aero-presets{margin-top:4px}.conditions{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.control-note{font-size:12px;color:var(--muted);line-height:1.6;margin:9px 0}.results{position:sticky;top:24px;background:linear-gradient(145deg,#131c32,#0b1020);border:1px solid var(--line);border-radius:14px;overflow:hidden}.result-inner{padding:26px 28px}.result-eyebrow{color:var(--cyan);font-size:10px;letter-spacing:1.6px}.main-time{font:500 clamp(34px,4.2vw,51px)/1.25 var(--display);letter-spacing:-1.8px;white-space:nowrap;margin:15px 0 9px}.time-subline{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 22px}.result-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.result-row strong{color:var(--text);font-weight:600;white-space:nowrap}.terrain-times{margin-top:8px}.terrain-row{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12px;color:var(--muted)}.terrain-row i{width:6px;height:6px;background:var(--terrain);border-radius:50%}.terrain-row strong{margin-left:auto;color:var(--text);font-weight:500}.terrain-row[data-terrain=hill]{--terrain:var(--violet)}.terrain-row[data-terrain=flat]{--terrain:var(--cyan)}.terrain-row[data-terrain=descent]{--terrain:var(--yellow)}.comparison{margin-top:18px}.primary-button{width:100%;min-height:44px;margin-top:9px;padding:11px;border:1px solid #42617a;border-radius:6px;background:#193245;color:var(--cyan);font-size:13px}.status{color:var(--yellow);font-size:12px;line-height:1.6;min-height:18px;margin:14px 0 4px}.share-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.share-row a{text-decoration:none}.estimate-note{color:var(--muted);font-size:11px;line-height:1.6;margin:15px 0 0}.beta-invite{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:38px;padding:25px 28px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.beta-invite h2{font-size:21px}.beta-invite p:last-child{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:0;max-width:510px}.invite-actions{display:flex;flex-direction:column;align-items:center;gap:13px;font-size:11px;flex:none}.crt-button.beta-button{gap:15px;min-height:48px;padding:13px 20px;font-size:13px}.assumptions{margin-top:30px;border-top:1px solid var(--line);padding-top:22px}summary{cursor:pointer;color:var(--muted);font-size:13px;min-height:30px}.assumption-content{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.assumption-content p{font-size:12px;color:var(--muted);line-height:1.7}.assumption-content strong{color:var(--text)}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:28px 0;margin-top:30px}footer p{color:var(--muted);font-size:12px}footer>a:last-child{font-size:12px}.mobile-result{display:none}.no-script{padding:24px;text-align:center}html[data-effects-paused=true] .crt-brand *{animation-play-state:paused!important}html[data-effects-paused=true] .crt-button.primary::after{animation:none!important}
@media(max-width:900px){.page{padding:0 26px}.calculator{gap:28px}.result-inner{padding:24px 20px}.course-facts{gap:16px}.course-facts b{font-size:21px}.masthead-actions{gap:12px}}
@media(max-width:660px){body{padding-bottom:83px}.page{padding:0 20px}.masthead{padding:15px 0;gap:12px}.masthead-note{font-size:8px;letter-spacing:.8px}.masthead-actions{align-items:flex-end;flex-direction:column;gap:0}.masthead-actions .text-button{font-size:10px;padding:5px 0}.intro{padding:30px 0 27px;display:block}.intro h1{font-size:42px}.subtitle{font-size:20px}.course-scope{font-size:13px}.course-facts{margin-top:24px;gap:32px}.course-facts b{font-size:20px}.calculator{display:block}.mode-row{margin-bottom:23px}.setup-grid{gap:14px}.pacing-heading .segmented{min-width:195px}.power-card{padding:14px 14px 6px}.terrain-name label{font-size:14px}.terrain-name small{font-size:10px}.watts input{width:78px;font-size:21px}.results{position:static;margin-top:27px;scroll-margin-top:15px}.result-inner{padding:25px 23px}.main-time{font-size:43px}.result-row{font-size:13px}.beta-invite{align-items:stretch;flex-direction:column;padding:24px;gap:21px}.invite-actions{align-items:stretch;text-align:center}.assumption-content{display:block}footer{flex-wrap:wrap;justify-content:flex-start;gap:7px 24px;padding:20px 0}footer p{margin:0}.mobile-result{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;padding:12px 22px max(12px,env(safe-area-inset-bottom));background:#10182af5;backdrop-filter:blur(12px);border-top:1px solid #34425e;text-decoration:none;box-shadow:0 -8px 28px #04061250}.mobile-result>span:first-child{color:var(--muted);font-size:9px;letter-spacing:1px}.mobile-result strong{display:block;font:500 23px/1.5 var(--display);color:var(--text)}.mobile-result>span:last-child{font-size:13px;color:var(--cyan)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.crt-button.primary::after{animation:none!important}}
.calculated-start{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.calculated-start output{color:var(--cyan);font-weight:600}.efficiency-control{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;padding:0 0 12px}.efficiency-control input{width:72px;text-align:right;min-height:36px;padding:5px 8px}.optional-controls{margin-top:8px}.optional-controls summary{color:var(--cyan);font-size:12px}.optional-controls .field{margin-top:10px}

/* Optional support stays secondary to the calculated result and race-plan entry. */
.calculator-support{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}
.support-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--text);font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap;background:color-mix(in oklch,var(--violet) 6%,transparent)}
.support-link svg{flex:none;color:var(--violet);filter:drop-shadow(0 0 5px color-mix(in oklch,var(--violet) 25%,transparent))}
.support-link:hover{border-color:var(--violet);background:color-mix(in oklch,var(--violet) 12%,transparent)}
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:12px}
.footer-links>a:not(.support-link){display:inline-flex;align-items:center;min-height:44px}
