/* Boba OnTheWay v1.10.0 — responsive trip planner, map and stop details. Version 1.10.0 adds compact ratings, readable reviews and address selection. */
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183c35;background:#f5f5ed;font-synthesis:none;--ink:#163f38;--muted:#74817a;--line:#e3e7dc;--lime:#e1f49d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{cursor:wait;opacity:.6}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.defs{display:none}[hidden]{display:none!important}.shell{max-width:1130px;margin:auto;padding:28px 34px 20px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:750;font-size:23px;letter-spacing:-.8px}.brand-dot{color:#6c9142}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink)}header+.shell{margin:0}.intro{margin:35px 0 30px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:#70816b}h1{font-size:clamp(37px,5vw,57px);line-height:1.05;letter-spacing:-2.7px;font-weight:650;margin:14px 0}p{line-height:1.5}.intro p{font-size:16px;color:var(--muted);margin-bottom:0}.layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:23px;box-shadow:0 6px 20px #203f3510;overflow:hidden}.planner{padding:24px}.section-heading{display:flex;align-items:center;gap:9px;margin-bottom:21px}h2{margin:0;font-size:18px;letter-spacing:-.45px}.step{font-size:10px;border:1px solid #d7dfcf;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;color:#7e8b73}label{display:block;font-size:12px;font-weight:650;margin:12px 0 7px}.input-wrap{display:flex;align-items:center;gap:9px;background:#f6f7f2;border:1px solid #dfe4d9;border-radius:12px;min-height:49px;padding-left:12px}.input-wrap:focus-within{outline:2px solid #95ae78;outline-offset:2px}.input-wrap>svg{width:18px}.input-wrap input{min-width:0;width:100%;border:0;outline:0;background:none;padding:13px 0;font-size:16px;color:var(--ink)}input::placeholder{color:#89928b;font-size:13px}.clear{background:none;border:0;color:#8c968e;padding:10px;display:flex}.clear svg{width:15px;height:15px}.origin-line{margin-top:11px;padding:4px 0;width:100%;display:flex;gap:7px;align-items:center;background:none;border:0;text-align:left;font-size:11px;color:#667c70}.origin-line svg{width:15px;height:15px}.origin-line .muted{margin-left:auto;text-decoration:underline}.stop-heading{margin-top:27px;margin-bottom:15px}.poi-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.poi-grid button{display:flex;align-items:center;gap:9px;border:1px solid #e4e8df;border-radius:12px;background:#fff;color:#607067;min-height:57px;padding:12px 9px;font-size:12px;font-weight:600;text-align:left}.poi-grid button svg{width:24px;height:24px}.poi-grid button[aria-pressed=true]{background:var(--lime);border-color:#b9d078;color:#183e32;box-shadow:0 0 0 1px #b9d078}.poi-grid .custom{grid-column:1/-1;justify-content:center;min-height:40px;font-size:11px}.poi-grid .custom svg{width:16px;height:16px}.primary{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--ink);color:white;border:0;border-radius:12px;min-height:49px;padding:13px 17px;text-decoration:none;font-weight:650;font-size:13px;width:100%}#find{margin-top:23px;justify-content:space-between}.text-button{border:0;background:none;color:#69806c;font-size:12px;padding:10px 0;text-decoration:none}#status{margin-top:14px;font-size:12px;line-height:1.5;color:#426451;display:flex;align-items:center;gap:10px}#status.error{color:#a1432e}.spinner{width:17px;height:17px;border:2px solid #cbd8c0;border-top-color:#234d3a;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.empty{min-height:446px;background:#eef1e6;position:relative}.route-art{height:270px;position:relative;background-image:radial-gradient(#c2cfb755 1px,transparent 1px);background-size:18px 18px}.route-art>svg{width:100%;height:100%;stroke:none}.art-road{fill:none;stroke:#e1e7d7;stroke-width:45}.art-route{fill:none;stroke:#9eae84;stroke-width:3;stroke-dasharray:6 8}.art-tag{position:absolute;font-size:8px;letter-spacing:1px;font-weight:700;background:#fff9;border-radius:5px;padding:6px;color:#7e8d71}.start{left:4%;top:86%}.stop{left:38%;top:28%}.end{right:5%;top:19%}.empty-copy{text-align:center;padding:7px 15px 20px}.empty-copy h2{font-size:21px}.empty-copy p{font-size:13px;color:#7d8c74;margin:10px 0}.empty-footer{display:flex;justify-content:space-evenly;border-top:1px solid #dce3d1;padding:15px 8px;color:#809075;font-size:10px}.empty-footer span:before{content:'•';padding-right:7px;color:#9eb776}.route-summary{display:flex;align-items:center;justify-content:space-between;padding:18px;margin-bottom:12px;gap:10px}.route-summary h2{margin:7px 0;font-size:17px}.route-summary p{margin:0;font-size:12px;color:var(--muted)}.driving{font-size:10px;background:#eef2e9;border-radius:20px;padding:7px 10px}.map-wrap{position:relative;margin-bottom:14px}iframe{display:block;width:100%;height:310px;border:0;background:#edf0e8}.map-note{display:block;padding:7px 12px;font-size:9px;color:#7a8478}.photo-wrap{height:205px;position:relative;background:#e5edda}.photo-wrap img{width:100%;height:100%;object-fit:cover}.photo-badge{position:absolute;left:14px;bottom:12px;color:#fff;background:#173c36d9;border-radius:7px;padding:5px 8px;font-size:10px}.photo-credit{font-size:10px;padding:5px 15px;color:#7a8278}.photo-credit:empty{display:none}.stop-content{padding:20px}.stop-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stop-top .eyebrow{font-size:9px;letter-spacing:1px}.pill{font-size:10px;background:#eef2e5;border-radius:20px;padding:5px 8px;white-space:nowrap}#placeName{font-size:25px;margin-top:12px}.address{font-size:13px;color:var(--muted);margin-top:7px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);background:#f4f6ee;border-radius:12px;padding:16px 9px;margin:18px 0;gap:8px}.metrics>div{text-align:center;border-right:1px solid #e0e5d8}.metrics>div:last-child{border:0}.metrics strong{display:block;font-size:19px;letter-spacing:-.5px}.metrics span{font-size:10px;color:#7e8b78;display:block;margin-top:5px}details{font-size:13px;line-height:1.6}summary{cursor:pointer;font-weight:650;padding:8px 0}summary span{font-weight:400;color:#7f8b79;font-size:11px}#hoursBody{color:#637760;font-size:12px}#hoursBody p{margin:3px 0}.small{font-size:11px;color:#7c8876;line-height:1.6}.actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 10px}.data-credit{font-size:10px;text-align:right;color:#7e8778;margin:12px 0 0}.data-credit b{font-size:12px;font-weight:500;letter-spacing:.2px}.notice{padding:14px;background:#f1f3e3;color:#697341;border-radius:11px;margin:12px 0;font-size:12px;line-height:1.6;white-space:pre-wrap}.footnote{font-size:10px;color:#89917f;text-align:center}footer{display:flex;justify-content:space-between;margin-top:35px;align-items:center;font-size:11px;color:#86907e}dialog{border:1px solid var(--line);border-radius:22px;max-width:430px;width:calc(100% - 30px);padding:23px;color:var(--ink);box-shadow:0 20px 100px #1235}dialog::backdrop{background:#0b241b66;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.setting{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0}.setting select{padding:8px;border:1px solid var(--line);border-radius:8px;background:#f5f7ef;color:var(--ink);font-size:12px}.setting input{accent-color:#163f38;width:19px;height:19px}dialog details{margin-top:16px;color:#6b7d66}dialog details p{font-size:12px}#keyboardDismiss{position:fixed;right:12px;bottom:12px;background:var(--ink);color:white;z-index:9;box-shadow:0 2px 10px #0003}:focus-visible{outline:3px solid #8cac5c;outline-offset:3px}@media(max-width:760px){.shell{padding:20px 18px}.intro{margin:24px 0}.intro h1{font-size:40px;letter-spacing:-1.9px}.intro p{font-size:14px}.layout{grid-template-columns:1fr;gap:17px}.planner{padding:20px}.poi-grid{grid-template-columns:1fr 1fr}.empty{min-height:290px}.route-art{height:170px}.empty-copy h2{font-size:18px}.empty-copy{padding-top:5px}.empty-copy p{font-size:12px}.empty-footer{font-size:9px}.intro br{display:none}.section-heading{margin-bottom:15px}.stop-heading{margin-top:21px}.brand{font-size:21px}.route-summary{padding:16px}iframe{height:285px}footer{margin-top:24px}.stop-content{padding:18px}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}*{scroll-behavior:auto!important}}

/* v1.3.0 adds four stop tiles, destination shortcuts, swipeable place details and an anchored voice control. */
body{padding-bottom:118px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.destination-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.destination-presets button{border:1px solid #dfe6d6;background:#f3f6ec;color:#536e56;border-radius:9px;padding:9px 3px;font-size:12px}.destination-presets button:hover{background:var(--lime)}#customWrap{margin-top:10px}.poi-grid button[aria-pressed=true]{background:var(--lime)}.saved-addresses{border:0;padding:0;margin:0 0 18px}.saved-addresses legend{font-size:14px;font-weight:700}.saved-addresses input{font-size:14px}.mic-settings{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:14px;font-size:11px}.list-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}.list-heading h2{margin-top:5px}.interpreted{font-size:12px;color:#6c7e66;margin:9px 2px 13px;line-height:1.5}.hits{display:grid;gap:10px}.hit{display:grid;grid-template-columns:72px minmax(0,1fr) 15px;gap:13px;align-items:center;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;color:var(--ink);box-shadow:0 3px 12px #203f3508}.hit:hover,.hit:focus-visible{border-color:#96b36c;background:#fbfff3}.hit img{width:72px;height:76px;object-fit:cover;border-radius:10px}.hit strong{font-size:16px;display:block;line-height:1.2}.hit .hit-address{display:block;font-size:11px;color:#76836f;margin:5px 0;line-height:1.4}.hit .hit-meta{display:block;font-size:11px;color:#597343}.hit .hit-state{display:block;font-size:10px;margin-top:5px;color:#839079}.detail-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:10px}.detail-nav>div{display:flex;gap:8px}.detail-nav .icon-button{width:36px;height:36px;font-size:26px}.detail-nav>span{font-size:12px;color:#6d8167}.swipe-hint{font-size:10px;text-align:center;color:#88947e;margin:0 0 12px}.detail-map-controls{display:flex;gap:8px;margin:12px 0 9px}.detail-map-controls button{border:1px solid var(--line);border-radius:20px;padding:7px 12px;background:white;color:#607b5b;font-size:11px}.detail-map-controls button[aria-pressed=true]{background:var(--lime);border-color:#c2d594}#detailMap{border-radius:12px;height:240px}#stopCard{touch-action:pan-y}.voice-bar{position:fixed;left:0;right:0;bottom:0;padding:9px 18px max(12px,env(safe-area-inset-bottom));background:#f5f5edf2;backdrop-filter:blur(14px);border-top:1px solid #dfe6d6;z-index:6}.voice-bar>p{font-size:11px;color:#637859;text-align:center;margin:0 0 6px;min-height:15px}.voice-controls{display:flex;gap:9px;max-width:490px;margin:auto}.talk{width:100%;min-height:52px;border:0;border-radius:16px;background:#163f38;color:#fff;font-weight:650;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.talk.recording{background:#a74430}.talk.cancel-recording{background:#755c50}.talk .spinner{border-top-color:#fff}.voice-controls>.icon-button{height:52px;width:52px;flex-shrink:0}#keyboardDismiss{bottom:115px}#startScreen{text-align:center;padding:30px}#startScreen h2{font-size:28px;margin:15px 0 10px}#startScreen>p{color:#718266;font-size:14px}#startApp{margin-top:24px}#startScreen .small{font-size:11px}#webResult .spinner{display:inline-block;margin-right:8px}.photo-credit a{margin-right:5px}.results:has(#trip:not([hidden])) .map-wrap iframe{height:240px}@media(max-width:760px){.intro h1{font-size:35px}.intro p{font-size:13px}.hit{grid-template-columns:60px minmax(0,1fr) 12px;gap:10px}.hit img{width:60px;height:68px}.hit strong{font-size:15px}.intro{margin:20px 0}.detail-nav{position:sticky;top:0;z-index:3;background:#f5f5edea;backdrop-filter:blur(8px);padding:8px 0}#detailView{scroll-margin-top:12px}} 

.brand em{font-weight:500}.brand{font-size:22px;letter-spacing:-.8px}#startApp em{margin-left:-7px}#startScreen h2 em{font-weight:500}@media(max-width:420px){.brand{font-size:20px;gap:8px}.brand img{width:36px;height:36px}}
/* v1.3.0: pastel map doodles, bouncing character icons, compact phone form and a true full-screen detail dialog. */
:root{font-family:ui-rounded,"Arial Rounded MT Bold",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ink:#67496f;--muted:#8b778d;--line:#ecd9e7;--lime:#f3d8e7;background:#fff5ed;color:#614869}body{background:#fff5ed url('map-background.svg') repeat;background-size:540px 702px;background-attachment:fixed;padding-bottom:110px}.shell{max-width:540px;padding:20px 18px 15px}.layout{grid-template-columns:minmax(0,1fr);gap:19px}header{gap:12px;margin-bottom:5px}.brand{gap:8px;letter-spacing:-1.1px;min-width:0}.brand>span{display:flex;flex-direction:column;line-height:.95}.brand strong{font-size:38px;font-weight:850;color:#80598d}.brand em{font-size:28px;font-weight:650;line-height:1.2;color:#a76f97;letter-spacing:-1.2px}.brand-dot{display:none}.brand img{width:66px;height:66px;animation:floaty 4s ease-in-out infinite}.icon-button{border:2px solid #ecd8e7;background:#fffafb;color:#91669e;box-shadow:0 3px 0 #ecd8e766;flex-shrink:0}.shell>a{margin-left:75px;color:#9b788f;font-size:11px!important;margin-bottom:18px!important}.panel{background:#fffcf9ed;border:2px solid #eddae5;border-radius:26px;box-shadow:0 5px 0 #e9cbd64d}.planner{padding:19px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:18px;color:#785881}.step{border:0;background:#f4d9e7;color:#a17192;font-weight:700}.stop-heading{margin-top:20px;margin-bottom:10px}label{color:#91758f;font-size:11px}.input-wrap{border:1.5px solid #ead6e3;background:#fff;border-radius:15px;min-height:47px}.input-wrap:focus-within{outline:2px solid #d6b4e2}.input-wrap input{color:#65476d;font-size:16px}.input-wrap>svg{color:#ba93b4}input::placeholder{color:#b59eaf;font-size:12px}.clear{color:#b498b0}.destination-presets button{border:1.5px solid #e7d7ed;background:#f5eaf9;color:#9b75a9;border-radius:12px;font-weight:650}.destination-presets button:nth-child(2){background:#eaf4ed;border-color:#d5e5d9;color:#78957e}.destination-presets button:nth-child(3){background:#fff0df;border-color:#f0dfc8;color:#ac8a64}.origin-line{color:#aa8ba1}.poi-grid{gap:9px}.poi-grid button{border:2px solid #f0dfe8;background:#fff8fb;color:#916b8b;border-radius:18px;padding:9px 10px;min-height:72px;gap:8px;font-size:12px}.poi-grid button:nth-child(2){background:#fff7e8;border-color:#f0e3cf}.poi-grid button:nth-child(3){background:#f7effb;border-color:#e9daf1}.poi-grid button:nth-child(4){background:#f2f8ed;border-color:#e1ead9}.poi-icon{width:45px;height:45px;object-fit:contain;animation:wiggle 5s ease-in-out infinite;transform-origin:center 80%}.poi-grid button:nth-child(2) img{animation-delay:.6s}.poi-grid button:nth-child(3) img{animation-delay:1.2s}.poi-grid button:nth-child(4) img{animation-delay:1.8s}.poi-grid button[aria-pressed=true]{background:#ecdaf4;border-color:#bc95cf;color:#794a94;box-shadow:0 3px 0 #d6b5e3}.primary,.talk{background:#8960aa;color:#fff;border-radius:17px;box-shadow:0 4px 0 #6947802b}#find{margin-top:16px;min-height:46px}.voice-bar{background:#fff6eff2;border-color:#eddbe3}.voice-bar>p{color:#a5879a}.talk{background:#9874b5;min-height:51px;border:2px solid #8f6baa}.talk.recording{background:#d17b92;border-color:#be6881}.voice-controls .icon-button{border-color:#dfc9e8}.text-button{color:#9b76a4}.results:has(#trip[hidden]){display:none}.empty{display:none}footer{color:#b49aa9;margin-top:20px;font-size:10px}.route-summary{padding:13px 16px;background:#fffaf4}.route-summary h2{font-size:16px}.eyebrow{color:#b490ac}.driving,.pill{background:#f3e9f5;color:#9d7ba8}.notice{background:#fff5df;color:#a58b65;font-size:11px;border:1px solid #f0e1c9;border-radius:15px}.interpreted{font-size:11px;color:#987e92}.hit{border:2px solid #ebdce8;border-radius:21px;background:#fffdf9;box-shadow:0 4px 0 #ebdbe54a;color:#74517e;padding:11px;grid-template-columns:65px minmax(0,1fr) 14px}.hit img{width:65px;height:73px;border-radius:16px}.hit strong{font-size:16px}.hit .hit-address{color:#a88b9e}.hit .hit-meta{color:#9a75a7}.hit .hit-state{color:#b499ab}.hit:hover,.hit:focus-visible{border-color:#c6a1d5;background:#fff6fc}.detail-open{overflow:hidden}#detailView:not([open]){display:none}#detailView[open]{display:block;position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:0 0 max(20px,env(safe-area-inset-bottom));background:#fff8f0 url('map-background.svg') repeat;background-size:540px 702px;color:#67496f;overflow-y:auto;overscroll-behavior:contain}#detailView::backdrop{background:#fff8f0}#detailView .detail-nav{position:sticky;top:0;z-index:4;max-width:640px;margin:0 auto;padding:12px 17px;background:#fff8f0f5;backdrop-filter:blur(12px)}#detailView #stopCard{max-width:640px;margin:0 auto;border:0;border-radius:0 0 25px 25px;box-shadow:none;outline-offset:-3px;background:#fffdf9}#detailView .photo-wrap{height:clamp(210px,32vh,330px);border-radius:24px;margin:0 12px}.photo-badge{background:#8c669ac9}.photo-credit{font-size:9px;padding:8px 17px;color:#a78aa6}.stop-content{padding:14px 20px 20px}#placeName{font-size:29px;color:#795488;line-height:1.1}.address{color:#a1869c;font-size:13px}.metrics{background:#f5eafb;border-radius:18px;padding:14px 7px;margin:16px 0}.metrics strong{color:#986caf;font-size:21px}.metrics>div{border-color:#e4d2ed}.metrics span{color:#ad90b5}.today-hours{background:#fff1df;border:1px solid #f1dfc5;border-radius:17px;padding:12px 15px;margin-bottom:6px}.today-hours>div{display:flex;align-items:center;justify-content:space-between;color:#b08b65;font-size:11px;font-weight:650}.today-hours svg{width:18px;height:18px;color:#c9a27b}#hoursBody{font-size:17px;line-height:1.4;color:#967249;font-weight:650;margin:6px 0 0}#hoursWarning{margin:5px 0 15px;color:#b49ca8;font-size:10px}.detail-map-controls button{border-color:#e9d7ed;color:#a280ad}.detail-map-controls button[aria-pressed=true]{background:#eee1f4;border-color:#ccb0da}#detailMap{border-radius:18px}dialog:not(#detailView){border:2px solid #ead4e7;border-radius:27px;background:#fffaf5;color:#80578b}dialog details{color:#947c95}.setting select{background:#f7eef9;border-color:#e4cee9;color:#8c639a}.setting input{accent-color:#a981bb}#startScreen img{width:80px;height:80px;animation:floaty 4s ease-in-out infinite}#startScreen h2{color:#956b9d}#startScreen p{color:#ad91a5}.saved-addresses legend{color:#927097}#status{color:#9c7ea7}#status.error{color:#b05c6f}.footnote{color:#b196a5}.detail-nav>span{color:#ac8ab6}.data-credit{color:#a58aaa}@keyframes floaty{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4px) rotate(3deg)}}@keyframes wiggle{0%,75%,100%{transform:rotate(0)}80%{transform:rotate(-7deg) translateY(-2px)}88%{transform:rotate(7deg) translateY(-2px)}94%{transform:rotate(-3deg)}}@media(max-width:360px){.shell{padding:15px 12px}.planner{padding:15px}.brand strong{font-size:34px}.brand em{font-size:25px}.brand img{width:58px;height:58px}.poi-grid button{font-size:11px;padding:8px 5px;gap:5px}.poi-icon{width:39px;height:39px}}@media(prefers-reduced-motion:reduce){.brand img,.poi-icon,#startScreen img{animation:none!important}}
#detailView .detail-nav{padding-top:max(12px,env(safe-area-inset-top))}

.brand em{font-style:italic}.talk{background:#8960aa}.photo-wrap img{user-select:none;-webkit-user-drag:none}

#detailView .photo-wrap{overflow:hidden}

.brand em,#startScreen em,#settings .small em{font-family:Georgia,serif;font-style:italic;font-weight:600}

/* Version 1.3 increases reading sizes and reclaims footer space when voice is disabled. */
.destination-presets button{font-size:17px;min-height:46px}
#settings{font-size:17px;line-height:1.5;max-height:88dvh;overflow-y:auto}
#settings h2{font-size:25px}
#settings label,#settings legend,#settings summary,#settings select,#settings input,#settings button{font-size:17px}
#settings p,#settings .small,#settings .mic-settings{font-size:16px}
#settings input::placeholder{font-size:15px}
#settings .setting{gap:12px;min-height:50px}
#settings .mic-settings{flex-wrap:wrap;gap:8px;padding:12px 0}
#holdToTalk{width:44px;height:26px;flex-shrink:0}
#voiceBar[hidden]{display:none!important}
body.voice-disabled{padding-bottom:max(18px,env(safe-area-inset-bottom))}

/* Version 1.4.1: destination presets sit one font step above stop labels. */
.destination-presets button{font-size:13px}
@media(max-width:360px){.destination-presets button{font-size:12px}}

/* Version 1.5.0: breathing room below the app title. */
.shell>header{margin-bottom:24px}

/* Version 1.6.0: full-screen stop list, layered below place details. */
body.results-open{overflow:hidden}
#resultsView:not([open]){display:none}
#resultsView[open]{display:block;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fff8f0 url('map-background.svg') repeat;background-size:540px 702px;color:#67496f;overflow-y:auto;overscroll-behavior:contain}
#resultsView::backdrop{background:#fff8f0}
.results-page{max-width:600px;margin:auto;padding:0 17px max(24px,env(safe-area-inset-bottom))}
.results-nav{position:sticky;top:0;z-index:2;background:#fff8f0f5;backdrop-filter:blur(12px);padding:14px 0;margin-bottom:12px}
.results-nav button{font-size:17px;min-height:44px}
#resultsView .results{display:block}
body.results-open #voiceBar{display:none}

/* Favorites v1.0: compact brand editor and visibly closed, still selectable results. */
.edit-favorites{display:block;width:100%;margin:0 0 18px;padding:12px;background:#f3e4f5;border-radius:16px}.favorite-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #ecddeb}.favorite-row strong{overflow-wrap:anywhere}#favoriteSearchForm{margin-top:20px}#favoritesEditor label{display:block;margin:12px 0 7px;font-size:17px;font-weight:650}#favoritesEditor{width:min(94vw,520px);max-height:90dvh;padding:20px;overflow:auto}#favoriteStatus{font-size:14px;line-height:1.5}#favoriteSearchResults{display:grid;gap:8px;margin-top:12px}.favorite-result{text-align:left;background:#fff;border:1px solid #ead4e7;border-radius:14px;padding:12px;color:#795488}.favorite-result strong,.favorite-result span{display:block}.favorite-result span{font-size:12px;margin-top:4px;color:#756d79}#favoriteBrandForm{background:#f5eafb;padding:12px;border-radius:16px}.favorite-hit{border-color:#c6a1d5}.hit.closed-hit{background:#efefef;border-color:#d6d6d6;color:#696969}.hit.closed-hit strong,.hit.closed-hit .hit-address,.hit.closed-hit .hit-meta,.hit.closed-hit .hit-state{color:#696969}.hit.closed-hit img{filter:grayscale(1)}#favoriteKeyboardDismiss{position:sticky;bottom:6px;float:right;background:#fff;z-index:20}

/* Version 1.10.0: branch ratings and sourced AI review summaries fit phone details. */
.place-reviews{margin:14px 0;background:#f7effa;border:1px solid #e8d7ef;border-radius:17px;padding:13px 15px;overflow-wrap:anywhere}.rating-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.rating-line strong{font-size:20px;color:#9269a5}.rating-line span{font-size:11px;color:#7d687d}#reviewStatus{display:flex;gap:8px;align-items:center;font-size:12px;line-height:1.4;color:#856c86}#reviewStatus:empty{display:none}#reviewSummary{font-size:14px;margin:7px 0;line-height:1.5}.place-reviews details{margin-top:9px;font-size:13px}.customer-review{border-top:1px solid #e6d7eb;padding:10px 0;margin-top:7px}.customer-review>a{font-weight:650}.customer-review>span{font-size:11px;color:#826e87}.customer-review p{margin:6px 0;font-size:13px;line-height:1.5;white-space:pre-line}.place-reviews .eyebrow{font-size:9px;color:#8b6d96}#reviewSources a{display:inline-block;margin:4px 8px 0 0}#addressChoice{width:min(94vw,520px);max-height:85dvh;overflow:auto;padding:20px}#addressChoices{display:grid;gap:9px}.address-choice{background:#fff;border:1px solid #e7d5ec;padding:13px;border-radius:14px;text-align:left;color:#795488;line-height:1.4;overflow-wrap:anywhere}
