:root{--ink:#22322f;--muted:#7c8985;--green:#137769;--pale:#eef6f2;--line:#e4e9e5;--bg:#f6f8f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #8ecabd;outline-offset:3px}button:disabled{opacity:.65;cursor:wait}button[hidden],div[hidden],section[hidden]{display:none!important}a{color:var(--green)}.topbar{height:85px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand strong{font-size:26px;letter-spacing:-1.3px}.brand-icon{width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center}.brand-dot{color:var(--green)}.brand-divider{height:24px;width:1px;background:#dbe1dd;margin:0 6px}.brand-caption{font-size:13px;color:#7c8782}.region-tag{font-size:12px;color:#62756c;display:flex;align-items:center;gap:8px}.region-tag span{width:6px;height:6px;background:#57a28b;border-radius:50%}main{max-width:1536px;padding:42px 4.5% 0;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;color:#758880;margin-bottom:12px}h1{font-size:35px;font-weight:600;letter-spacing:-1.35px;line-height:1.2;margin:0 0 11px}.page-heading p{color:#7b8781;font-size:14px;margin:0;line-height:1.6}.how-link{display:flex;align-items:center;gap:8px;background:transparent;border:0;font-size:12px;color:#5e7469;padding:12px 0}.how-link span{border:1px solid #a5b4ac;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font-size:10px}.mobile-break{display:none}.workspace{display:grid;grid-template-columns:382px minmax(0,1fr);min-height:595px;border:1px solid #dde4de;border-radius:18px;overflow:hidden;box-shadow:0 6px 26px #233f3210;background:#fff}.panel{display:flex;flex-direction:column;background:#fff;z-index:2}.panel-content{padding:27px 27px 22px;flex:1}.section-label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;margin-bottom:26px}.step-number{color:var(--green);font-size:10px;letter-spacing:.4px;font-weight:600;border:1px solid #d7e6dc;border-radius:6px;display:grid;place-items:center;width:25px;height:24px;background:#f6faf7}label{display:block;font-size:11px;font-weight:550;color:#74857b;margin-bottom:8px}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>svg{position:absolute;left:13px;color:#8c9c92;pointer-events:none}.input-wrap input{width:100%;height:49px;border:1px solid #d9e1db;border-radius:8px;padding:0 35px 0 41px;outline:none;background:#fff;color:var(--ink);font-size:14px;transition:border .15s,box-shadow .15s}.input-wrap input:focus{border-color:var(--green);box-shadow:0 0 0 3px #13776912}.input-wrap input::placeholder{color:#a0aaa4}.input-wrap #clear{position:absolute;right:9px;top:11px;border:0;background:transparent;color:#87978d;width:26px;height:26px;font-size:21px}.input-help{font-size:10px;line-height:1.6;color:#9aa59f;margin:8px 0 17px}.primary{height:46px;background:var(--green);color:#fff;border:0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:550;font-size:12px;width:100%;transition:background .15s,transform .15s}.primary:hover{background:#096455}.primary:active{transform:translateY(1px)}.map-choice{display:flex;align-items:center;justify-content:center;gap:9px;margin:15px 0 0;font-size:11px}.map-choice>span{color:#a6afa9}.map-choice button{color:var(--green);border:0;background:transparent;display:flex;align-items:center;gap:5px;padding:4px 0;font-size:11px}.empty-state{text-align:center;padding:36px 0 15px;border-top:1px solid #edf0ed;margin-top:23px}.empty-icon{color:#99b3a7;margin:auto auto 12px;background:#f4f8f4;width:66px;height:66px;border-radius:50%;display:grid;place-items:center}.empty-state h2{font-size:15px;font-weight:550;margin:0 0 9px}.empty-state p{font-size:12px;line-height:1.7;color:#9aa59e;margin:0}.example-label{font-size:8px;letter-spacing:1.6px;color:#a4afa7;margin:27px 0 10px}.examples{display:flex;gap:7px;justify-content:center}.examples button{border:1px solid #e3e9e3;border-radius:6px;padding:7px 10px;font-size:10px;background:#fff;color:#6c8273}.examples button:hover{background:#f3f8f3}.panel-footer{border-top:1px solid #edf0ed;color:#8f9a94;font-size:9px;padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:6px}.map-panel{position:relative;min-height:595px;isolation:isolate;background:#e6eee4}#map{height:100%;width:100%;position:absolute;inset:0;z-index:0}.map-badge{position:absolute;z-index:401;top:20px;left:20px;background:#ffffffed;box-shadow:0 3px 12px #31503912;padding:11px 13px;border:1px solid #fff;border-radius:8px;display:flex;align-items:center;gap:9px;font-weight:650;font-size:11px;color:#42564b}.map-line{width:19px;height:3px;border-radius:3px;background:#ed9659}.badge-separator{height:13px;width:1px;background:#dbe3db;margin-left:3px}.map-badge #map-subtitle{font-size:10px;font-weight:400;color:#8a978c}.fit-button{position:absolute;z-index:401;right:11px;top:95px;border:1px solid #e1e8e0;background:#fff;color:#4c6a59;display:grid;place-items:center;width:34px;height:34px;border-radius:6px;box-shadow:0 2px 10px #0001}.leaflet-control-zoom{box-shadow:0 2px 10px #0001!important;border:1px solid #e1e8e0!important;border-radius:6px!important;overflow:hidden}.leaflet-control-zoom a{color:#4c6a59!important;width:32px!important;height:32px!important;line-height:32px!important;font-size:20px!important;font-weight:400!important}.leaflet-control-attribution{font-size:9px!important;color:#8a9289!important;background:#ffffffc4!important}.leaflet-control-attribution a{color:#6c7e6f!important}.map-footnote{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:401;background:#fffffff2;border:1px solid #fff;padding:9px 13px;border-radius:7px;font-size:10px;white-space:nowrap;color:#7d8c80;box-shadow:0 3px 14px #2b422511}.pick-hint{position:absolute;z-index:402;bottom:55px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:13px 16px;border-radius:9px;white-space:nowrap;font-size:12px;box-shadow:0 4px 20px #0003}.pick-hint button{margin-left:12px;background:transparent;border:0;color:#a7d9c5;font-size:11px}.picking .leaflet-container{cursor:crosshair!important}.result{border-top:1px solid #e6ece6;margin-top:21px;padding-top:21px}.result-kicker{font-size:9px;letter-spacing:1.5px;color:var(--green);display:flex;align-items:center;gap:7px;font-weight:600}.live-dot{height:5px;width:5px;border-radius:50%;background:#4c9c7f}.distance{display:flex;align-items:baseline;gap:9px;margin:4px 0 0;line-height:1.12}.distance>span:first-child{font-size:65px;font-weight:550;letter-spacing:-4px;font-variant-numeric:tabular-nums}.distance-unit{font-size:23px;color:#9caaa2;font-weight:400}.distance-caption{font-size:11px;color:#94a096;margin-top:4px}.destination{display:flex;align-items:flex-start;gap:10px;margin:22px 0 16px}.point-dot{width:8px;height:8px;background:var(--green);border-radius:50%;margin-top:5px;box-shadow:0 0 0 4px #edf6ef;flex:none}.destination strong{font-size:12px;font-weight:550;line-height:1.4;display:block}.destination span:last-child{font-size:10px;color:#97a198;line-height:1.5;display:block;margin-top:4px;max-height:45px;overflow:hidden}.rounding{display:flex;justify-content:space-between;background:#f3f7f2;border-radius:7px;padding:11px 12px;align-items:center;font-size:10px;color:#849284}.rounding strong{font-weight:600;font-size:12px;color:#557761}.route-note{font-size:10px;line-height:1.6;color:#8d998f;margin:12px 0}.result-actions{display:grid;gap:9px;margin-top:15px}.secondary{border:1px solid #dce5dd;border-radius:7px;text-align:center;text-decoration:none;padding:11px 5px;font-size:10px;color:#68806c}.secondary:hover{background:#f7faf7}.message{background:#fff6e7;border:1px solid #f0dfbd;border-radius:8px;color:#8e6a32;font-size:12px;line-height:1.6;padding:12px;margin-top:18px}.message.loading{color:#638473;background:#f0f7f1;border-color:#dfece1}.search-results{padding-top:17px;margin-top:18px;border-top:1px solid var(--line)}.results-title{font-size:10px;color:#829183;margin:0 0 8px}.search-item{width:100%;border:1px solid #e3eae1;border-radius:8px;padding:12px;margin:0 0 7px;text-align:left;background:#fff;display:block;color:var(--ink)}.search-item:hover{background:#f3f8f1;border-color:#a9c5ac}.search-item strong{font-size:12px;display:block;font-weight:550;line-height:1.5}.search-item small{display:block;color:#8e9c8d;font-size:10px;line-height:1.5;margin-top:4px}.precision{display:inline-block;margin-top:7px;color:#a77a3a;font-size:9px}.map-marker{width:30px;height:30px;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);background:var(--green);box-shadow:0 3px 13px #153f3955;border:3px solid #fff;display:grid;place-items:center}.map-marker span{color:#fff;transform:rotate(45deg);font-size:11px;font-weight:600}.map-marker.start{background:#ed9659;width:25px;height:25px}.history{margin-top:27px}.history-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.history h2{margin:0;font-size:12px;font-weight:550}.history h2 span{font-size:10px;color:#9ba79c;font-weight:400;margin-left:8px}.history-heading button{font-size:10px;color:#8c9d8e;border:0;background:transparent}.history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.history-item{display:flex;align-items:center;text-align:left;gap:16px;padding:15px 17px;border:1px solid #e2e9e0;background:#fff;border-radius:9px;min-width:0}.history-item strong{flex:none;color:var(--green);font-size:16px;font-weight:550}.history-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#81907f;font-size:11px}.page-footer{display:flex;justify-content:space-between;align-items:center;padding:24px 0 25px;font-size:10px;color:#9aaa9c}.footer-divider{padding:0 10px;color:#ced8cd}.page-footer button{background:transparent;border:0;font-size:10px;color:#8d9b8e}dialog{border:1px solid #dbe6d9;border-radius:17px;max-width:550px;width:calc(100% - 36px);padding:26px 30px;color:var(--ink);box-shadow:0 20px 90px #182d2740}dialog::backdrop{background:#172d2955;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{font-size:21px;margin:0}.dialog-heading button{background:transparent;border:0;font-size:26px;color:#8da08e}dialog p,dialog li{font-size:13px;line-height:1.75;color:#6d7f6e}dialog ul{padding-left:19px}dialog li{margin-bottom:8px}.method-source{font-size:11px!important;color:#94a193!important}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#243d32;color:#fff;border-radius:9px;padding:13px 20px;font-size:12px;z-index:2000;box-shadow:0 5px 25px #0003}.leaflet-tooltip{border:0!important;border-radius:6px!important;padding:7px 10px!important;box-shadow:0 3px 14px #0001!important;color:#3f6253!important;font-size:11px!important}.is-loading #search-button svg{animation:rotate 1.2s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}
@media(min-width:1500px){.workspace{grid-template-columns:405px 1fr;min-height:660px}.map-panel{min-height:660px}.panel-content{padding:30px 32px}.empty-state{padding-top:50px}}
@media(max-width:1100px){.workspace{grid-template-columns:345px 1fr}.panel-content{padding:24px 22px}.map-badge #map-subtitle,.badge-separator{display:none}.page-heading h1{font-size:31px}}
@media(max-width:760px){.topbar{height:69px;padding:0 20px}.brand-caption,.brand-divider{display:none}.brand strong{font-size:24px}.brand-icon{width:35px;height:35px}.region-tag{font-size:10px}main{padding:28px 16px 0}.page-heading{margin-bottom:23px;align-items:flex-start}.eyebrow{font-size:8px;margin-bottom:11px}.page-heading h1{font-size:27px;letter-spacing:-.9px;margin-bottom:10px}.mobile-break{display:block}.page-heading p{font-size:11px;max-width:250px}.how-link{font-size:0;gap:0;padding:26px 4px 0}.how-link span{font-size:11px;width:20px;height:20px}.workspace{display:flex;flex-direction:column;min-height:0;border-radius:13px}.panel-content{padding:24px 22px}.section-label{margin-bottom:20px}.input-wrap input{font-size:16px}.empty-state{display:none}.map-choice{margin-top:12px}.panel-footer{padding:12px}.map-panel{min-height:390px;border-top:1px solid var(--line)}.map-badge{top:13px;left:13px;padding:9px 12px}.map-footnote{font-size:8px;bottom:25px;padding:8px 10px}.pick-hint{font-size:10px;width:90%;text-align:center;white-space:normal;line-height:1.7}.result{padding-top:20px}.distance>span:first-child{font-size:60px}.destination{margin-top:18px}.result-actions{grid-template-columns:1fr}.history-list{grid-template-columns:1fr}.history-item{padding:13px 15px}.page-footer{font-size:8px;gap:12px;line-height:1.7}.page-footer button{font-size:9px;white-space:nowrap}.footer-divider{padding:0 5px}.history h2 span{font-size:9px}.map-panel.picking{min-height:450px}dialog{padding:23px}.dialog-heading h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Address list stays attached to the field on desktop and touch screens. */
.address-control{position:relative;z-index:500}
.search-results{position:absolute;left:0;right:0;top:calc(100% + 7px);max-height:360px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:5px;background:#fff;border:1px solid #d5e3da;border-radius:10px;box-shadow:0 12px 36px #183b2926}
.search-item{border:0;border-radius:6px;margin:0;padding:10px 11px}
.search-item+.search-item{border-top:1px solid #edf2ed}
.search-item:hover,.search-item[aria-selected=true]{background:#edf6ef}
.search-item small{color:#718477;overflow-wrap:anywhere}
.search-item strong{overflow-wrap:anywhere}
.search-item .precision{margin-top:4px;color:#52806c}
.input-help{min-height:32px;margin-bottom:9px}
@media(max-width:760px){.search-results{max-height:280px}.search-item{padding:11px}.search-item strong{font-size:13px}.search-item small{font-size:11px}}
