:root{color-scheme:dark;--bg:#061018;--card:#0d1c26;--line:#1b3441;--mint:#5ff5c5;--blue:#61baff;--text:#eef8f5;--muted:#8aa2ad}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 75% 0,#123b46 0,transparent 30%),linear-gradient(150deg,#061018,#091720 62%,#07131b);color:var(--text);font:16px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}header{height:72px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff12;background:#07131bd9;backdrop-filter:blur(12px)}.brand{font-size:19px;letter-spacing:.2px}.brand b{color:var(--mint)}.pulse{display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 18px var(--mint)}.status,.badge{font-size:12px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);letter-spacing:.08em}main{max-width:1180px;margin:auto;padding:64px 24px}.hero{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:44px}.eyebrow{color:var(--mint);font-size:12px;font-weight:700;letter-spacing:.15em}h1{margin:.25rem 0 1rem;font-size:clamp(42px,7vw,78px);line-height:.98;letter-spacing:-.055em}h1 span{color:#8297a1}.intro{max-width:580px;color:var(--muted);font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap}button{border:0;border-radius:12px;padding:14px 19px;font-weight:750;cursor:pointer}.primary{background:var(--mint);color:#062019}.secondary{background:#162935;color:var(--text);border:1px solid #27404d}.ride-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.metric{min-width:0;padding:19px;background:linear-gradient(180deg,#10232e,#0b1922);border:1px solid var(--line);border-radius:18px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{font-size:34px;letter-spacing:-.04em}.metric.featured strong{color:var(--mint)}.road-card,.simulator,.diagnostics{margin-top:18px;padding:24px;background:#0b1922cc;border:1px solid var(--line);border-radius:18px}.road-head{display:flex;justify-content:space-between}.road-head div span,.road-head div strong{display:block}.road-head span{color:var(--muted)}.road{height:12px;margin:28px 0 18px;background:#1a303b;border-radius:8px;position:relative;overflow:visible}.road-progress{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--mint));border-radius:8px;transition:width .5s linear}.bike{position:absolute;top:-9px;left:0;color:var(--mint);font-size:21px;transform:translateX(-50%);transition:left .5s linear;text-shadow:0 0 10px var(--mint)}#hint{margin:0;color:var(--muted)}.badge.active{color:var(--mint);border-color:#5ff5c566}.simulator{display:grid;grid-template-columns:auto 1fr 1fr;gap:24px;align-items:center}.simulator h2{margin:0}.simulator label{display:grid;gap:8px}.simulator output{color:var(--mint)}input[type=range]{width:100%;accent-color:var(--mint)}.hidden{display:none}.diagnostics summary{cursor:pointer;font-weight:700}.diagnostics pre{white-space:pre-wrap;color:#a9c0c9;font:13px/1.55 ui-monospace,monospace;max-height:260px;overflow:auto}.error{color:#ff9a9a!important}@media(max-width:900px){.hero{align-items:start;flex-direction:column}.ride-grid{grid-template-columns:repeat(3,1fr)}.simulator{grid-template-columns:1fr}}@media(max-width:540px){main{padding:36px 16px}.ride-grid{grid-template-columns:repeat(2,1fr)}.metric strong{font-size:29px}.actions button{width:100%}}

.route-card{margin-top:18px;padding:24px;background:#0b1922cc;border:1px solid var(--line);border-radius:18px}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:start}.section-head h2{margin:.1rem 0;font-size:28px}.section-head p{margin:.25rem 0;color:var(--muted)}#map{height:480px;margin-top:20px;border-radius:14px;background:#10232e;overflow:hidden}.leaflet-container{font:14px/1.4 Inter,ui-sans-serif,system-ui,sans-serif}.route-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.route-stats div{padding:14px 16px;background:#10232e;border:1px solid var(--line);border-radius:12px}.route-stats span,.route-stats strong{display:block}.route-stats span{font-size:13px;color:var(--muted)}.route-stats strong{margin-top:3px;font-size:20px}@media(max-width:900px){#map{height:420px}}@media(max-width:540px){.section-head{flex-direction:column}.route-stats{grid-template-columns:1fr}#map{height:360px}}
