:root{--blue:#4a75e2;--yellow:#ffd700;--cream:#fdfdec;--ink:#143642;--muted:#536973;--line:#d3dfdf}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.42 'Source Sans 3',sans-serif}button,select{font:inherit}button,a,select{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,h3,.overline,.primary,.secondary{font-family:'Plus Jakarta Sans',sans-serif}h1,h2,h3,p{margin-top:0}a{color:inherit}.top{display:flex;align-items:center;justify-content:space-between;background:var(--cream);border-bottom:1px solid var(--line);padding:13px max(20px,calc((100vw - 1260px)/2));gap:20px}.top img{display:block;width:175px;max-height:72px;object-fit:contain;object-position:left}.top-plan{font-weight:800;text-decoration:none;border:1px solid #b7c9d0;border-radius:9px;background:white;padding:10px 16px;white-space:nowrap}main{max-width:1260px;margin:auto;padding:20px 24px 60px}.intro{margin-bottom:19px}.overline{color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.09em}.intro h1{font-size:clamp(31px,4vw,52px);letter-spacing:-.05em;line-height:1.08;margin:5px 0 7px}.intro p{color:var(--muted);font-size:17px;margin:0}.layout{display:grid;grid-template-columns:minmax(315px,390px) minmax(0,1fr);gap:16px}.controls,.map-panel,.result,.more{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.controls{padding:22px}.controls h2{font-size:21px;margin:0 0 17px}.controls label,.result-actions label{display:block;font-size:14px;font-weight:700;margin-bottom:14px}.controls select,.result select{display:block;width:100%;margin-top:5px;min-height:46px;border:1px solid #afc3ca;border-radius:9px;background:#fff;color:var(--ink);padding:0 11px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.optional{font-weight:400;color:var(--muted)}.primary,.secondary{border:0;border-radius:9px;min-height:47px;padding:10px 16px;font-size:14px;font-weight:800;cursor:pointer}.primary{background:var(--yellow);color:var(--ink)}.primary:hover{background:#f2cc00}.primary:disabled{opacity:.55;cursor:default}.secondary{background:#eaf0ff;color:var(--ink)}#calculate{width:100%}.status{font-size:14px;color:var(--muted);min-height:21px;margin:11px 0 0}.status.error{color:#a33327}.samples{border-top:1px solid var(--line);padding-top:17px;margin-top:16px}.samples h3{font-size:14px;margin:0 0 10px}.samples button{border:1px solid var(--line);border-radius:30px;background:#fff;color:var(--ink);padding:7px 11px;margin:0 5px 7px 0;cursor:pointer;font-size:14px;font-weight:700}.samples button:hover{border-color:var(--blue)}.map-panel{position:relative;min-height:520px}.map-panel #bike-map{height:100%;min-height:520px;background:#dfe9e5}.map-caption{position:absolute;z-index:400;bottom:0;left:0;background:rgba(255,255,255,.96);padding:6px 10px;border-radius:0 8px 0 0;font-size:12px}.map-caption a{color:#315bc9}.bike-pin{width:20px;height:20px;border:4px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 2px 8px rgba(0,0,0,.35)}.bike-pin.end{background:var(--yellow);border-color:var(--ink)}.result{margin-top:16px;padding:22px;display:flex;flex-wrap:wrap;gap:15px 25px;align-items:center;justify-content:space-between}.result[hidden]{display:none}.result h2{font-size:22px;letter-spacing:-.035em;margin:4px 0 5px}.result p{margin:0;color:var(--muted)}.result-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.result-actions label{margin:0;min-width:160px}.result-actions select{margin-top:4px}.result-note{width:100%;font-size:14px}.safety{color:var(--muted);font-size:14px;line-height:1.55;margin:18px 3px 25px}.more{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 25px;background:#eaf0ff}.more>div{position:relative;padding-left:50px}.more img{position:absolute;left:0;top:0;width:35px}.more h2{font-size:19px;margin:0 0 3px}.more p{font-size:15px;color:var(--muted);margin:0}.more a{font-weight:800;color:#315bc9;white-space:nowrap}@media(max-width:850px){.layout{grid-template-columns:1fr}.map-panel,.map-panel #bike-map{min-height:390px}}@media(max-width:600px){.top{padding:9px 16px}.top img{width:137px;max-height:61px}.top-plan{font-size:14px;padding:8px 11px}main{padding:18px 15px 70px}.intro h1{font-size:34px}.intro p{font-size:16px}.controls{padding:18px}.map-panel,.map-panel #bike-map{min-height:42vh;max-height:480px}.result{padding:18px}.result-actions{width:100%}.result-actions label{width:100%}.result-actions button{flex:1}.more{align-items:start;flex-direction:column}.more a{white-space:normal}.bike-pin{width:18px;height:18px}}@media(max-width:365px){.pair{grid-template-columns:1fr}}
