:root{color-scheme:light;--ink:#10363d;--deep:#072b31;--teal:#18a993;--mint:#60dfca;--white:#fff;--muted:#668289;--border:#d9eae6}
*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:#06292e;color:var(--ink)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #10a58e;outline-offset:3px}
.topbar{height:66px;padding:0 clamp(15px,3vw,45px);display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(100deg,#06232b,#08443f);color:white;position:relative;z-index:7}.home-link{color:#abf1e4;text-decoration:none;min-width:115px;font-size:12px;font-weight:750}.brand{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:900;letter-spacing:.11em}.brand small{font-size:8px;font-weight:500}.brand-mark{width:29px;height:29px;display:grid;place-items:center;background:#5ae0c9;border-radius:9px;color:#063c3a;font-size:21px}.test-label{min-width:115px;text-align:right;font-size:11px;color:#c5e5e0}
main{height:calc(100dvh - 102px);min-height:430px;position:relative;overflow:hidden}#map{position:absolute;inset:0;background:#e6f1e8}.panel{position:absolute;z-index:4;top:16px;left:18px;width:min(410px,calc(100% - 36px));max-height:calc(100% - 32px);overflow-y:auto;border:1px solid #e2f1e8;background:#f7fcfaf2;border-radius:24px;padding:19px 20px;box-shadow:0 17px 54px #0c414039;backdrop-filter:blur(18px);scrollbar-width:thin}
.panel-topline{display:flex;align-items:center;justify-content:space-between}.eyebrow{color:#078b7c;letter-spacing:.11em;font-size:10px;font-weight:850}.panel-collapse{display:none;background:#e5f5ee;border:0;padding:7px 12px;border-radius:10px}.panel h1{font-size:30px;letter-spacing:-.045em;margin:8px 0 5px;line-height:1.15}.pin-heading{color:#0eb99c;font-size:22px;font-weight:500}.lead{color:#607c80;font-size:12px;line-height:1.5;margin:0 0 15px}.route-section-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;font-weight:800;color:#64818a;margin-bottom:7px}.route-section-heading span:last-child{letter-spacing:0;color:#138b7d}
.points-list{display:flex;flex-direction:column;gap:8px}.point-card{position:relative;background:white;border:1px solid var(--border);border-radius:14px;padding:11px;box-shadow:0 3px 10px #0b4a400a}.point-card.is-picking{border-color:#14b4a0;box-shadow:0 0 0 2px #34d9bc36}.point-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.point-pin{width:17px;height:17px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;color:white;font-size:10px;font-weight:800;background:#0aa992}.point-card[data-type=end] .point-pin{background:#123d46;border-radius:4px}.point-card[data-type=stop] .point-pin{background:#edaa55}.point-name{font-weight:820;font-size:12px;flex:1}.point-actions{display:flex;align-items:center;gap:2px}.point-actions button{background:#f2f8f6;border:0;border-radius:7px;color:#2e6268;padding:4px 7px;font-size:13px;min-width:27px;min-height:27px}.point-actions button:disabled{opacity:.3;cursor:default}.point-card .autocomplete{position:relative}.point-card input{width:100%;padding:11px 12px;font-size:13px;background:#fbfefc;border:1px solid #d3e6e0;border-radius:10px;outline:none;color:#163e45}.point-card input:focus{border-color:#14b1a1;box-shadow:0 0 0 3px #3fe0c828}.point-address-hint{font-size:10px;color:#708b8e;line-height:1.4;padding:7px 2px 0}.point-card .select-map{margin-top:8px;border:1px solid #bfe2d9;background:#effaf6;border-radius:9px;min-height:35px;color:#137b73;width:100%;font-size:12px;font-weight:800}.point-card .select-map:hover{background:#dcf7ed}.reorder-handle{cursor:grab;user-select:none}.point-card.drag-over{outline:2px dashed #15ae99}
.autocomplete-results{position:relative;margin-top:4px;background:white;border:1px solid #d4eae6;border-radius:10px;box-shadow:0 9px 18px #104a4320;max-height:180px;overflow:auto;z-index:2}.autocomplete-results[hidden]{display:none}.suggestion-group{position:sticky;top:0;background:#e7f6f1;color:#0a8073;padding:6px 9px;font-size:10px;font-weight:850}.suggestion{display:block;text-align:left;border:0;border-bottom:1px solid #edf2f0;padding:9px 10px;background:white;width:100%;color:#173f43}.suggestion:hover,.suggestion:focus-visible{background:#effbf7}.suggestion b{display:block;font-size:12px}.suggestion small{display:block;margin-top:3px;font-size:10px;color:#69858a}.suggestion-empty{font-size:11px;color:#687e85;padding:11px}
.add-stop{margin:11px 0 3px;width:100%;border:1px dashed #7cd3bd;border-radius:12px;padding:11px;background:#eaf9f2;color:#08786c;font-weight:800;font-size:12px}.add-stop:hover{background:#dbf7ec}.add-stop:disabled{opacity:.5}.search-caption{font-size:10px;line-height:1.5;color:#6f898b;margin:8px 2px 12px}.info-callout{border-radius:12px;background:#e8f5f0;padding:11px 12px;font-size:11px;line-height:1.5;color:#35686b;margin:11px 0}.info-callout.is-error{color:#96541f;background:#fff2df}.route-summary{border-radius:15px;background:linear-gradient(130deg,#093940,#086658);color:white;padding:14px 16px;margin-top:12px}.route-summary[hidden]{display:none}.summary-caption{font-size:10px;letter-spacing:.11em;color:#a9f0df;font-weight:850}.summary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:8px}.summary-metrics strong{font-size:24px;display:block;letter-spacing:-.04em}.summary-metrics small{display:block;color:#bee2dc;font-size:10px}.fit-route{background:transparent;color:#d0fff0;border:1px solid #8bcec2;border-radius:9px;padding:7px 10px;margin-top:11px;font-size:11px}.button-row{display:flex;gap:8px}.quiet-button{flex:1;padding:10px 6px;border:1px solid #cfe6df;background:transparent;color:#38646a;font-size:11px;border-radius:10px;font-weight:750}.status-line{font-size:10px;color:#10897b;margin-top:12px}
.map-pick-hint{position:absolute;top:20px;left:50%;transform:translateX(-50%);background:#073b40;color:white;box-shadow:0 12px 40px #002f3c44;border-radius:13px;padding:10px 14px;display:flex;align-items:center;gap:12px;z-index:5;font-size:12px;max-width:94vw}.map-pick-hint[hidden]{display:none}.map-pick-hint button{border:1px solid #92cfbe;border-radius:9px;background:#106e66;color:white;padding:7px 11px}.map-tools{position:absolute;right:14px;bottom:60px;z-index:3;display:flex;flex-direction:column;gap:9px}.map-tools button{width:42px;height:42px;background:white;color:#1c6864;border:1px solid #d6e8e5;box-shadow:0 5px 17px #183f3a30;border-radius:12px;font-size:24px}.coverage-note{position:absolute;bottom:15px;left:14px;background:#fffef5ec;padding:8px 12px;font-size:10px;border-radius:100px;color:#286764;z-index:3}.coverage-dot{display:inline-block;width:8px;height:8px;background:#16ac8e;border-radius:50%;margin-right:4px}
.yoki-marker{width:27px;height:27px;border-radius:50%;background:#0fae92;color:white;border:3px solid white;display:grid;place-items:center;box-shadow:0 3px 14px #123b3a66;font-size:12px;font-weight:900;cursor:grab}.yoki-marker.end{background:#133944;border-radius:9px}.yoki-marker.stop{background:#e89d40}#map .maplibregl-ctrl-group{border-radius:12px;overflow:hidden;box-shadow:0 4px 19px #174c4630}footer{height:36px;color:#b5dbd3;font-size:10px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:10px}footer a{color:inherit}
@media(max-width:720px){.topbar{height:56px;padding:0 12px}.home-link{min-width:auto}.home-link span{display:none}.brand{font-size:17px}.brand small{font-size:7px}.test-label{min-width:auto;font-size:10px}.test-label span{display:none}main{height:calc(100dvh - 87px)}footer{height:31px;padding:0 9px;font-size:9px}.panel{left:10px;bottom:9px;top:auto;width:calc(100% - 20px);max-height:min(72dvh,650px);padding:14px;border-radius:18px}.panel h1{font-size:23px}.panel-collapse{display:block}.panel.is-collapsed #panel-body{display:none}.panel.is-collapsed .panel-collapse{transform:rotate(180deg)}.panel.is-collapsed{max-height:70px}.panel input{font-size:16px;min-height:43px}.point-card .select-map,.add-stop{min-height:43px}.map-tools{top:84px;bottom:auto;right:10px}.coverage-note{top:11px;bottom:auto;left:9px;font-size:9px}.map-pick-hint{top:45px;width:max-content;max-width:90vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.yoki-poi-card{max-height:min(52dvh,430px);overflow:auto;padding:7px;color:#102D35;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.yoki-poi-card h2{font-size:16px;margin:0 0 10px}
.yoki-poi-card article{padding:10px 0;border-top:1px solid #d9eae6}
.yoki-poi-card h3{font-size:15px;margin:0 0 6px;overflow-wrap:anywhere}
.yoki-poi-card p{font-size:12px;line-height:1.5;margin:0 0 5px}
.yoki-poi-card small{display:block;color:#6b7375;font-size:11px;line-height:1.4}
.yoki-poi-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.yoki-poi-actions button{min-height:44px;border:1px solid #43CDBB;background:#F6FAFA;color:#102D35;border-radius:10px;padding:8px 11px;font:600 12px system-ui;cursor:pointer}
.yoki-poi-actions button:focus-visible{outline:3px solid #FFB547;outline-offset:2px}
.yoki-poi-actions button:disabled{opacity:.45;cursor:default}

/* YOKI search pagination 02.9-h */
.autocomplete-results .suggestion.load-more{
 min-height:48px;margin:8px 0 2px;padding:12px;
 border:1px solid #43CDBB;border-radius:12px;
 background:#E8F9F1;color:#102D35;font-weight:750;
 text-align:center;justify-content:center;
}
.autocomplete-results .suggestion.load-more:disabled{
 opacity:.6;cursor:wait;
}
.autocomplete-results .suggestion small{
 white-space:normal;overflow-wrap:anywhere;line-height:1.45;
}
.autocomplete-results [role="status"]{line-height:1.45;}
