/* Paceflare: coastal energy, warm coral and deep ocean blue. */
:root{--ink:#162e4b;--muted:#52677d;--coral:#ff795f;--blue:#17677c;--sky:#eef8fc;--line:#d9e6ef}
body{background:radial-gradient(ellipse at 100% 0%,#ffe5d9 0,transparent 36%),radial-gradient(ellipse at 0% 42%,#d9f1f3 0,transparent 40%),#f5f8fc;color:var(--ink)}
header{background:#fffdf9;border-bottom:1px solid var(--line);padding:22px 6%}.brand{font-size:32px;font-style:italic;letter-spacing:-2px;color:#153b57}.brand span{color:#f36b53!important}.tag{color:#566e83;font-weight:650}
.tabs{position:sticky;top:0;z-index:3;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid #dbe7ed;gap:12px;padding:12px 18px}.tabs a{color:#294762;padding:10px 18px;border-radius:100px;font-size:14px}.tabs a:first-child{background:#163e58;color:white}.tabs a:hover{background:#dceff3;color:#17485c}
main{max-width:1160px;padding:42px 28px}.intro{position:relative;overflow:hidden;padding:38px 42px;margin-bottom:30px;border-radius:30px;background:linear-gradient(115deg,#163d59 0%,#176e80 72%,#309294 100%);box-shadow:0 16px 40px #164f6420;color:white}.intro::before{content:'';position:absolute;width:320px;height:320px;right:-90px;top:-170px;border:55px solid #ffffff12;border-radius:50%}.intro::after{content:'';position:absolute;width:210px;height:210px;right:-80px;bottom:-175px;border:45px solid #ffc78c66;border-radius:50%}.intro .eyebrow{color:#a8e9e1}.intro h1{position:relative;z-index:1;max-width:760px;font-size:clamp(34px,5.8vw,62px);letter-spacing:-2.5px;line-height:1.08}.intro h1 span{color:#ffc48e}.intro p{position:relative;z-index:1;color:#dceef4;max-width:650px;margin-bottom:0}.intro-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.intro-tags span{font-size:12px;padding:7px 12px;border:1px solid #ffffff35;border-radius:40px;background:#ffffff0c;color:#edfafb}
p{color:var(--muted)}h2{font-size:26px;line-height:1.15;margin-top:12px}.eyebrow{color:#196b7b;font-size:11px;letter-spacing:1.9px}.card{border:1px solid #dce6ed;box-shadow:0 8px 26px #294b7110;border-radius:24px;padding:30px;background:#fff}.grid{gap:24px;align-items:start}.hero{background:linear-gradient(145deg,#123550,#185b72);color:white;border:0;box-shadow:0 16px 35px #17415d25;position:relative;overflow:hidden}.hero::after{content:'';position:absolute;width:260px;height:260px;right:-170px;top:60px;border:35px solid #ffffff06;border-radius:50%;pointer-events:none}.hero p{color:#d5e8f2}.hero .eyebrow{color:#9ee7df}.hero h2{font-size:30px}.clock{font-size:88px;letter-spacing:-5px;color:#fff;margin:10px auto;line-height:1.45;text-shadow:0 4px 16px #0002}.phase{color:#ffd09a;font-size:23px}.hero .row{position:relative;z-index:1}.hero #gpsDistance,.hero #gpsPace{color:#b9ede4}.hero #gpsStatus{padding:12px 15px;background:#ffffff0d;border:1px solid #ffffff15;border-radius:12px;line-height:1.45}
button{background:#ff8769;color:#142e46;box-shadow:0 4px 10px #ff795f22;border-radius:12px;transition:transform .15s,background .15s;min-height:46px}button:hover:enabled{background:#ff9d80;transform:translateY(-1px)}button:active:enabled{transform:translateY(0)}button:disabled{box-shadow:none;opacity:.5}.secondary{background:#eaf3f7;color:#214960;box-shadow:none}.secondary:hover:enabled{background:#d7eaf1}.hero .secondary{background:#e2eff5;color:#153c54}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e78c32;outline-offset:3px}
select,input[type=number],input[type=text],input[type=date]{background:#f7fafc;border-color:#cedde7;color:#183d58;border-radius:12px;padding:12px;min-height:46px}input[type=checkbox]{accent-color:#176b7d}progress{accent-color:#ffac80;background:#ffffff25;border-radius:100px;height:8px;overflow:hidden}progress::-webkit-progress-bar{background:#ffffff25;border-radius:100px}progress::-webkit-progress-value{background:linear-gradient(90deg,#ff8769,#ffd199);border-radius:100px}
#routes{background:linear-gradient(145deg,#fff,#f1f9fc)}#routes h2::before{content:'↗';display:inline-grid;place-items:center;width:38px;height:38px;font-size:25px;margin-right:12px;border-radius:11px;background:#d7eef0;color:#17677c;vertical-align:middle}.routegrid{gap:18px;margin-top:24px}.route{position:relative;background:#fff;border-color:#dbe6ed;padding:22px;border-radius:18px;border-top:5px solid #4395a2;box-shadow:0 6px 18px #153d5710}.route:nth-child(3n+2){border-top-color:#f39b70}.route:nth-child(3n){border-top-color:#8b8ac2}.route h3{font-size:20px;letter-spacing:-.5px;margin:15px 0 10px}.route p{line-height:1.55}.pill{background:#e2f2f2;color:#20566b;font-weight:750;padding:7px 12px}.route:nth-child(3n+2) .pill{background:#fff0e4;color:#8b4626}.route:nth-child(3n) .pill{background:#efedfb;color:#56528e}.route a{color:#1b647c;font-size:14px;font-weight:700;text-underline-offset:4px}.route button{width:100%;margin-top:18px;background:#eaf3f7;box-shadow:none;color:#214960}.route button:hover:enabled{background:#d7eaf1}#selectedRoute{padding:14px 18px;background:#e7f2f6;border-radius:12px;color:#28556b;margin-bottom:0}
#log h2::before{content:'✓';display:inline-grid;place-items:center;width:38px;height:38px;font-size:23px;margin-right:12px;border-radius:11px;background:#ffe7d9;color:#a94e2d;vertical-align:middle}#stats{gap:12px;margin:24px 0 30px}.stat{background:#eaf4f8;min-width:130px;border:1px solid #deebf1;padding:20px;border-radius:16px}.stat:nth-child(2){background:#fff0e6;border-color:#f9e3d3}.stat:nth-child(3){background:#efedfb;border-color:#e5e2f5}.stat:nth-child(4){background:#eaf5ef;border-color:#dbece1}.stat b{font-size:32px;color:#1b4760;letter-spacing:-1px}.stat .small{color:#53687b;font-weight:600}th{background:#f0f5f8;color:#52677b}td{color:#2e4d63;border-color:#e5edf2}tbody tr:nth-child(even){background:#f9fbfd}.scroll{border:1px solid #e0e9ef;border-radius:13px;margin-top:14px}table th:first-child,table td:first-child{padding-left:18px}#logForm{padding:20px;background:#f5f8fb;border-radius:17px;border:1px solid #e4ecf2}#logForm label{font-size:14px}.status{color:#235b6f}footer{text-align:center;color:#637a8c;padding:20px 0 8px}.small{line-height:1.55}section{scroll-margin-top:90px}
@media(max-width:720px){header{padding:18px 22px}.tag{max-width:140px;text-align:right;line-height:1.5}.tabs{gap:0;padding:9px 8px}.tabs a{font-size:12px;padding:9px 12px}main{padding:22px 16px}.intro{padding:27px 24px;border-radius:22px;margin-bottom:22px}.intro h1{letter-spacing:-1.5px}.intro p{font-size:14px}.intro-tags{gap:6px}.intro-tags span{font-size:10px;padding:6px 9px}.card{padding:24px 20px}.clock{font-size:78px}.stat{padding:15px;min-width:42%}.stat b{font-size:29px}#logForm{padding:16px}.routegrid{grid-template-columns:1fr}.fields{grid-template-columns:1fr 1fr}h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none}}
#world{background:linear-gradient(140deg,#fff8f2,#fff 55%,#eaf6fa)}#world h2{font-size:30px}#world .row{margin-top:14px}#world .fields{margin-top:10px}.privacy-note{background:#e4f3ef;border:1px solid #cae5de;padding:17px 20px;border-radius:15px;margin:20px 0;color:#24594e}.privacy-note p{margin:8px 0 0;color:#41685e}#worldResult{border-top:1px solid #dce6ec;padding-top:24px;margin-top:24px}#worldDirections{font-size:14px;line-height:1.7;padding-left:25px}#worldDirections ol{padding-left:20px;margin:8px 0 18px}summary{font-weight:700;cursor:pointer;padding:14px 0}@media(max-width:720px){.tabs a{padding:9px 8px;font-size:11px}#world h2{font-size:25px}#world .row button{font-size:13px;padding:12px}#world .fields{grid-template-columns:1fr}}
#training{background:linear-gradient(145deg,#f5f0ff,#fff 60%,#fff3e9)}#training h2{font-size:30px}#training fieldset{border:1px solid #ddd7ed;border-radius:15px;padding:16px 20px;margin:22px 0;background:#ffffffa0}#training fieldset label{font-size:14px;margin:12px 0}#trainingPlan>ol{padding-left:23px}#trainingPlan>ol>li{padding:8px 0;border-bottom:1px solid #eae4f2}#trainingPlan>ol p{margin:6px 0}#trainingPlayer{margin-top:22px}#routeFeedback{background:#fff8ef}.tabs{gap:4px}.tabs a{padding:10px 12px}@media(max-width:720px){.tabs{overflow-x:auto;justify-content:flex-start;white-space:nowrap}.tabs a{padding:9px 8px;font-size:11px;flex-shrink:0}#training h2{font-size:25px}}
[hidden]{display:none!important}.headerActions{display:flex;align-items:center;gap:20px}.action{display:inline-block;background:#ff8769;color:#142e46;font-weight:750;text-decoration:none;padding:12px 17px;border-radius:12px;font-size:14px}.action.secondary{background:#eaf3f7}#help details,#disclaimers details{border-bottom:1px solid #e0e9ef}#help textarea{display:block;width:100%;font:inherit;border:1px solid #cedde7;padding:13px;border-radius:12px;margin:10px 0 16px;background:#f7fafc}#account{background:linear-gradient(130deg,#edf8fa,#fff)}#help{background:linear-gradient(140deg,#fff,#fff5e9)}#disclaimers{background:#f4f7fb}.tabs{justify-content:flex-start;overflow-x:auto;white-space:nowrap}.tabs a{flex-shrink:0}#credits ul{line-height:1.7}.brand{font-size:28px}@media(max-width:720px){.headerActions .tag{display:none}.headerActions{gap:8px}.brand{font-size:25px}.action{padding:10px 12px;font-size:12px}}

#authForm{max-width:480px;margin:22px 0;padding:24px;background:#fff;border:1px solid #d9e6ef;border-radius:18px}#authForm input[type=email],#authForm input[type=password],#authForm input[type=text]{display:block;width:100%;font:inherit;padding:13px;border:1px solid #bfd3de;border-radius:12px;background:#f6fafc}#authForm label{display:block;margin:14px 0 8px}#authForm button{margin:10px 8px 0 0}#authMessage{line-height:1.5;color:#234c61}#authPanel>.row{gap:8px}
