:root{color-scheme:light;--ink:#1b1d21;--muted:#5a5f68;--paper:#fff;--panel:#f3f4f6;--line:#d6d9de;--rule:#e7e9ec;--accent:#2457c5;--mark:#e6effc;--link:#1f4f9a;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}*{box-sizing:border-box}body{background:var(--paper);margin:0}a{color:var(--link);text-underline-offset:.18em}a:hover{color:#123566}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--link);outline-offset:3px}.container{width:min(1080px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:60px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand img{width:26px;height:26px}nav{flex-wrap:wrap;gap:10px 24px;display:flex}.site-header nav a{color:var(--ink);padding-block:18px;font-size:.92rem;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.site-header nav a[aria-current]{box-shadow:inset 0 -3px var(--ink);font-weight:700}.skip-link{z-index:10;background:#fff;padding:12px;position:absolute;top:-80px;left:12px}.skip-link:focus{top:8px}.hero{max-width:760px;padding:32px 0 20px}.muted{color:var(--muted)}h1,h2,h3{text-wrap:balance;font-weight:700;line-height:1.2}h1{margin:0 0 12px;font-size:clamp(1.8rem,3.4vw,2.5rem)}h2{margin:0 0 14px;font-size:clamp(1.35rem,2.4vw,1.65rem)}h3{margin:26px 0 10px;font-size:1.12rem}p{margin:0 0 16px}.intro{color:var(--muted);margin-bottom:0;font-size:1.05rem}.calculator{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.calculator-input{padding:24px}.calculator h2{margin-bottom:18px;font-size:1.15rem}.input-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.input-grid>div{min-width:0}label{margin-bottom:6px;font-size:.86rem;font-weight:600;display:block}input,select{color:var(--ink);background:#fff;border:1px solid #a3a9b3;border-radius:3px;width:100%;min-width:0;min-height:46px;padding:9px 11px;display:block}input{font-variant-numeric:tabular-nums;font-size:1.05rem}input:focus,select:focus{border-color:var(--ink)}input[aria-invalid]{border-color:#b3261e}.grade-input{grid-template-columns:140px 1fr;align-items:end;gap:16px;margin-top:14px;display:grid}.grade-slider{padding-bottom:4px}input[type=range]{min-height:32px;accent-color:var(--ink);background:0 0;border:0;padding:0}.slider-scale{color:var(--muted);justify-content:space-between;font-size:.72rem;display:flex}.input-help,.fine-print,.chart-help{color:var(--muted);font-size:.82rem}.input-help{margin:10px 0 16px}button{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:3px;min-height:44px;padding:10px 18px;font-weight:600}button:hover{background:#363a42}.error{color:#b3261e;margin:12px 0 0;font-size:.9rem}.error:empty{display:none}.quick-picks{margin:0 0 18px}.quick-picks>span{margin-bottom:6px;font-size:.86rem;font-weight:600;display:block}.quick-picks div{flex-wrap:wrap;gap:6px;display:flex}.chip{min-width:44px;min-height:36px;color:var(--ink);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #c5cad2;padding:4px 10px;font-weight:500}.chip:hover{background:var(--panel)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.results{background:var(--panel);border-left:1px solid var(--line);padding:24px}.results .fine-print{margin-bottom:0}.result-label{color:var(--muted);font-size:.84rem;display:block}.pace-pair{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pace-pair p{margin-bottom:10px}.pace-pair strong{font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,4.4vw,3rem);font-weight:700;line-height:1.15;display:block}.pace-pair p>span:last-child{color:var(--muted);font-size:.84rem}.speed-line{font-variant-numeric:tabular-nums;margin-bottom:16px}.speed-line strong{font-weight:600}.race-label{border-top:1px solid var(--line);margin-bottom:6px;padding-top:14px}.race-times{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);margin-bottom:12px;display:grid}.race-times p{border-left:1px solid var(--rule);margin:0;padding:8px 10px}.race-times p:first-child{border-left:0}.race-times span,.race-times strong{display:block}.race-times span{color:var(--muted);font-size:.78rem}.race-times strong{font-variant-numeric:tabular-nums;font-size:1.02rem;font-weight:600}.step-line{margin:-6px 0 16px;font-size:.9rem}.goal{margin-top:32px}.goal-grid{grid-template-columns:1fr 1fr 1fr}.goal-pace{font-variant-numeric:tabular-nums;color:var(--muted);margin:-10px 0 16px;font-size:.9rem}.goal-table{border:1px solid var(--line);background:#fff;margin-bottom:12px}.goal-table caption{border-bottom:0;padding:0 0 6px}.goal-table thead th,.goal-table tbody th[scope=row]{position:static}.goal-table th:first-child{text-align:left}.goal-summary{margin-bottom:0;font-size:.92rem}.gain-row{margin-top:14px}.button-row{flex-wrap:wrap;gap:10px;display:flex}.button-row .button-secondary{min-height:44px;font-size:1rem}#printable-status{margin:8px 0 0}.result-heading{font-size:1.15rem}.preset-list{border-top:1px solid var(--line);margin:0 0 14px;padding:0;list-style:none}.preset-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;padding:10px 0;font-size:.92rem;display:flex}.preset-list strong{font-weight:600;display:block}.preset-links{gap:14px;display:flex}.preset-links small{color:var(--muted)}.chart-link{margin-top:10px;font-size:.92rem;display:inline-block}.incline-note{color:var(--muted);max-width:820px;margin:14px 0 32px;font-size:.86rem}.chart-section{min-width:0;padding:20px 0}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.button-secondary{color:var(--ink);background:#fff;flex-shrink:0;min-height:38px;padding:6px 14px;font-size:.86rem}.button-secondary:hover{background:var(--panel)}.chart-nav{gap:6px 18px;margin:0 0 10px;font-size:.92rem}.chart-nav a{flex-shrink:0}.chart-nav span{color:var(--muted);margin-left:4px;display:inline-block}.table-scroll{border:1px solid var(--line);background:#fff;width:100%;margin-bottom:10px;overflow:auto}.main-chart{max-height:min(640px,75vh)}@media (width>=900px){.main-chart{max-height:none;overflow:clip}}table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:.88rem}caption{text-align:left;white-space:normal;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 14px;font-size:.82rem}th,td{text-align:right;border-bottom:1px solid var(--rule);padding:8px 14px}thead th{z-index:2;color:var(--muted);vertical-align:bottom;box-shadow:inset 0 -2px var(--ink);background:#fff;font-size:.78rem;font-weight:600;position:sticky;top:0}thead th span{font-weight:400}tbody th[scope=row]{z-index:1;box-shadow:inset -1px 0 var(--rule);background:#fff;font-weight:700;position:sticky;left:0}thead th:first-child{z-index:3;box-shadow:inset 0 -2px var(--ink), inset -1px 0 var(--rule);left:0}tbody tr{scroll-margin-block:96px}tbody{scroll-margin-top:56px}#mph-chart tbody td:nth-child(3){font-weight:700}tbody tr:hover td,tbody tr:hover th[scope=row]{background:#f6f7f9}tr.is-match th[scope=row],tr.is-match td,td.is-match{background:var(--mark)!important}tr.is-match th[scope=row]{box-shadow:inset 4px 0 var(--accent)}td.is-match{box-shadow:inset 0 0 0 2px var(--accent);font-weight:700}.section-row th{background:var(--panel);text-align:left;border-bottom-color:var(--line);padding-top:14px;font-size:.86rem;font-weight:700}.section-row span{color:var(--muted);margin-left:10px;font-weight:400}#incline-chart td,#incline-chart th{padding-inline:13px}.compact-table{max-width:720px}.copy{max-width:760px;padding:26px 0}.copy p{color:#383c44}.copy ul{padding-left:22px}.copy li{margin-bottom:10px}.example-grid{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 0;display:grid}.example{border:1px solid var(--line);background:#fff;padding:18px}.example h3{margin:0 0 10px;font-size:1.02rem}.example p{margin-bottom:0;font-size:.92rem}.faq details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:600;line-height:1.5}.faq details p{margin:10px 0 2px}.sources{margin-bottom:32px;font-size:.92rem}.sources h2{font-size:1.35rem}.breadcrumbs{color:var(--muted);gap:10px;padding-top:20px;font-size:.84rem}.breadcrumbs+.hero{padding-top:18px}.legal{min-height:55vh;padding:40px 0 60px}.legal h1{font-size:clamp(1.8rem,3.4vw,2.4rem)}.legal h2{margin-top:30px;font-size:1.3rem}.notice{background:#eef4fd;border:1px solid #b9cdee;padding:16px}code{overflow-wrap:anywhere;white-space:normal;font-size:.9em}.formula{background:var(--panel);border:1px solid var(--line);padding:16px}.site-footer{border-top:1px solid var(--line);background:#fff;padding:24px 0;font-size:.86rem}.footer-inner{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-inner p{margin:0}.footer-inner nav{gap:10px 18px}.print-only{display:none}@media (width<=700px){.container{width:calc(100% - 32px)}.header-inner{flex-direction:column;align-items:flex-start;gap:0;min-height:0;padding-top:12px}.site-header nav{gap:16px;font-size:.9rem}.site-header nav a{padding-block:8px 10px}.nav-extra{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero{padding:20px 0 14px}h1{margin-bottom:8px;font-size:1.75rem}.intro{font-size:.95rem}.calculator{grid-template-columns:minmax(0,1fr)}.calculator-input,.results{padding:18px}.results{border-left:0;border-top:1px solid var(--line)}.input-grid{gap:10px}.goal-grid{grid-template-columns:1fr 1fr}.goal-grid>div:last-child{grid-column:1/-1}input,select{padding-inline:9px}select{font-size:.92rem}.quick-picks div{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-18px;padding:0 18px 2px;overflow-x:auto}.quick-picks div::-webkit-scrollbar{display:none}.chip{flex-shrink:0}.pace-pair strong{font-size:2.4rem}.race-times{grid-template-columns:repeat(2,1fr)}.race-times p:nth-child(3){border-left:0}.race-times p:nth-child(n+3){border-top:1px solid var(--rule)}.grade-input{grid-template-columns:110px 1fr;gap:12px}.section-heading h2{font-size:1.4rem}.chart-nav{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding:2px 16px 6px;overflow-x:auto}.chart-nav::-webkit-scrollbar{display:none}th,td{padding-inline:11px}.example-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}}@media print{@page{size:landscape;margin:12mm}:root{color:#000;background:#fff;font-size:10pt}.site-header,.site-footer,.skip-link,main>:not(.print-area),button,.chart-nav,.chart-help{display:none!important}main.container{width:100%;max-width:none;margin:0}.print-area{margin:0 0 16pt;padding:0}.table-scroll{border:0;width:100%;max-height:none;overflow:visible}table{width:100%;font-size:8pt}thead{display:table-header-group}thead th,tbody th[scope=row]{position:static;box-shadow:none!important}thead th{border-bottom:1pt solid #000}th,td{padding:3pt 7pt;color:#000!important;background:#fff!important}tr{break-inside:avoid}.section-row th{border-top:1pt solid #000}.section-row span{color:#000}.chart-link{display:none}h2{font-size:15pt}.compact-table{max-width:500pt}.print-only{font-size:8pt;display:block}.fine-print{color:#000}}.warning{background:#fff;border-left:3px solid #b26a00;padding:8px 12px;font-size:.9rem}.steps{margin:0 0 16px;padding-left:1.3em;font-size:.92rem}.steps li{margin-bottom:4px}.device-table th,.device-table td{white-space:normal;text-align:left;vertical-align:top}.device-table td:nth-child(2){min-width:160px}.device-table td:nth-child(3){min-width:260px}.device-table tbody th[scope=row]{min-width:150px}#plan-table td:nth-child(3){white-space:normal;text-align:left;min-width:260px}#plan-table :is(th,td):is(:nth-child(2),:nth-child(3)){text-align:left}#steps-table th,#steps-table td{padding-inline:8px}#steps-table :is(th,td):nth-child(3){text-align:left;white-space:normal}.segments{gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.segment{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.segment [data-remove]{justify-self:start}.segment-number{color:var(--muted);font-weight:400}
