:root{color-scheme:dark;--bg:#0a1016;--bg2:#0c141c;--card:#121d27;--card2:#172430;--border:#263540;--text:#f0f7fa;--muted:#95aab9;--subtle:#627c8c;--teal:#38d6c7;--teal2:#21a89e;--gold:#ead29e;--red:#ee8a7f;--shadow:0 22px 70px #0005;--radius:18px;--container:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.52 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.16}h1{font-size:clamp(31px,5vw,52px);margin-bottom:12px}h2{font-size:clamp(23px,3vw,31px);margin-bottom:12px}h3{font-size:19px;margin-bottom:9px}p{color:#c8d5de;margin-bottom:14px}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:35;background:#0a1117f5;backdrop-filter:blur(18px);border-bottom:1px solid #25333b}.topbar-inner{max-width:var(--container);padding:0 20px;height:72px;margin:auto;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:11px;min-width:230px;cursor:pointer}.logo{background:linear-gradient(145deg,#53e7d6,#137b81);color:#06262b;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-weight:900;letter-spacing:-.07em;font-size:18px}.brand-name{font-weight:850;font-size:15px;letter-spacing:.09em}.brand-sub{color:var(--muted);font-size:10px;letter-spacing:.09em;font-weight:800}.desktop-nav{display:flex;gap:7px;margin-left:auto}.nav-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid transparent;color:#a8bac5;border-radius:12px;padding:11px 15px;font-weight:750}.nav-btn:hover,.nav-btn.active{color:var(--teal);background:#1b2a31;border-color:#284047}.top-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.icon-btn{border:1px solid var(--border);background:#15232d;color:var(--text);border-radius:11px;height:39px;width:39px;display:grid;place-items:center}.icon-btn:hover{border-color:#49757a;color:var(--teal)}.bottom-nav{display:none}.container{max-width:var(--container);margin:0 auto;padding:34px 20px 100px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--teal);font-weight:900;margin-bottom:12px}.eyebrow:before{content:"";width:21px;height:2px;background:var(--teal)}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:333px;border:1px solid var(--border);border-radius:23px;overflow:hidden;background:linear-gradient(123deg,#172934 0%,#101b24 80%);box-shadow:var(--shadow)}.hero-copy{padding:38px 36px 35px;position:relative;z-index:1}.hero-copy p{max-width:470px}.hero-art{position:relative;overflow:hidden;min-height:310px;background:radial-gradient(circle at 66% 30%,#375260bb,transparent 45%),linear-gradient(135deg,#142730,#213a43 48%,#15252d)}.hero-art:before{content:"";position:absolute;inset:12% 14% 0 21%;border:13px solid #52687225;box-shadow:-80px 50px 0 -40px #314d5d,20px 0 100px #0008;transform:skewY(-7deg);background:repeating-linear-gradient(90deg,#141e2a 0 62px,#8497a020 63px 66px),linear-gradient(#253d49,#182b34)}.hero-art:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #5be6d54a;border-radius:50%;right:-70px;top:34px;box-shadow:0 0 0 48px #42dbcb0d,0 0 0 94px #42dbcb09}.hero-caption{position:absolute;left:23px;bottom:23px;z-index:1;letter-spacing:.08em;color:#b5c5cd;font-size:10px;font-weight:900;text-transform:uppercase;background:#08141bb5;padding:9px 12px;border-radius:8px;border:1px solid #4f707b77}.hero-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--border);border-radius:11px;padding:11px 14px;min-height:44px;background:#182631;color:var(--text);font-weight:780;font-size:13px;transition:background .12s,border-color .12s,transform .12s;text-decoration:none}.btn:hover{background:#243541;text-decoration:none;border-color:#44707a}.btn.primary{background:var(--teal);border-color:var(--teal);color:#05282d}.btn.primary:hover{background:#62e9df}.btn.soft{background:#163339;border-color:#24646a;color:#6beadf}.btn.danger{background:#71382f;color:#ffe9e7;border-color:#9c554d}.btn.full{width:100%}.btn.small{font-size:12px;min-height:36px;padding:8px 11px}.svg-icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-icon.lg{width:23px;height:23px}.svg-icon.xl{width:28px;height:28px}.micro-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:17px;color:#adbec9;font-size:12px}.micro-meta span{display:inline-flex;gap:6px;align-items:center}.section-heading{margin:32px 0 17px;display:flex;justify-content:space-between;align-items:end;gap:15px}.section-heading p{margin-bottom:0}.section-heading h2{margin:0 0 5px}.muted{color:var(--muted)}.tiny{font-size:12px}.small{font-size:13px}.kicker{font-size:11px;letter-spacing:.12em;color:var(--teal);text-transform:uppercase;font-weight:850}.card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:21px}.card.hover:hover{border-color:#3f7073}.grid{display:grid;gap:15px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.card-head h3,.card-head h4{margin:0}.accent-icon{display:grid;place-items:center;color:var(--teal);background:#1b383c;border:1px solid #305358;border-radius:11px;width:42px;height:42px}.stat-card{padding:19px}.stat-label{color:#92abba;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.stat-value{font-size:24px;letter-spacing:-.06em;font-weight:850;margin-top:4px}.stat-sub{color:#8fa4b2;font-size:12px;margin-top:3px}.journey-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:4px;scrollbar-width:thin}.journey-tab{flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border:1px solid var(--border);background:#15212a;color:#c4d0d8;font-weight:800;font-size:12px;border-radius:12px;padding:12px 13px}.journey-tab.active{background:#1a4548;border-color:#3c918f;color:#7ff8ed}.journey-tab .index{font-size:10px;color:inherit;opacity:.65}.journey-content{margin-top:17px}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.between{display:flex;justify-content:space-between;gap:12px;align-items:center}.light-slab{background:#172831;border:1px solid #2b414b;padding:19px;border-radius:14px}.info-button{border:1px solid var(--border);background:#17232d;color:var(--text);width:100%;text-align:left;padding:16px;border-radius:12px;display:flex;align-items:center;gap:13px;font-weight:750}.info-button:hover{background:#21333f;border-color:#42777a}.info-button span{flex:1}.info-button .svg-icon{color:var(--teal)}.separator{border:0;border-top:1px solid var(--border);margin:18px 0}.badge{display:inline-flex;border-radius:8px;background:#1a3538;border:1px solid #306366;color:#7ef0e0;padding:5px 8px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.badge.subtle{background:#25323b;color:#c4d0d9;border-color:#324652}.notice{background:#2b2e28;border:1px solid #6f6241;color:#e3d8b2;border-radius:13px;padding:15px;display:flex;gap:11px}.notice.red{background:#322426;border-color:#784448;color:#ffe3e0}.notice .svg-icon{margin-top:3px}.checklist{display:grid;gap:9px}.check-item{display:flex;gap:13px;align-items:flex-start;background:#14232d;border:1px solid #2b414b;border-radius:11px;padding:13px 14px;cursor:pointer}.check-item input{accent-color:#34d5c5;width:17px;height:17px;min-width:17px;margin-top:3px;cursor:pointer}.check-item:has(input:checked){background:#13362f;border-color:#357c68}.check-item:has(input:checked) .check-item-text{text-decoration:line-through;color:#9bb5ae}.progress-track{background:#30434b;border-radius:30px;height:6px;overflow:hidden;margin:10px 0 15px}.progress-fill{height:100%;border-radius:30px;background:var(--teal);transition:width .15s}.linkrow{display:flex;gap:9px;flex-wrap:wrap}.steps{display:grid;gap:11px}.step{display:flex;gap:13px;align-items:flex-start}.step-num{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#1a4141;color:#8af4eb;font-weight:850;flex-shrink:0}.step strong{display:block;margin-bottom:3px}.section-intro{max-width:720px}.info-shell{display:grid;grid-template-columns:285px minmax(0,1fr);gap:19px;align-items:start}.info-nav{position:sticky;top:93px;max-height:calc(100vh - 120px);overflow:auto;padding:9px}.info-nav .nav-category{width:100%;border:0;background:transparent;color:#b0c0cb;padding:11px 12px;text-align:left;border-radius:10px;display:flex;align-items:center;gap:9px;font-size:12px;font-weight:780}.info-nav .nav-category.selected,.info-nav .nav-category:hover{background:#1c3539;color:#7ff2e6}.info-nav .nav-category .svg-icon{width:16px;height:16px}.info-nav .nav-category .chevron{margin-left:auto;opacity:.6}.info-nav .nav-child{display:block;border:0;background:transparent;width:100%;font-size:12px;color:#94a9b6;text-align:left;padding:8px 7px 8px 36px;border-radius:8px}.info-nav .nav-child:hover,.info-nav .nav-child.selected{color:#6eebe0;background:#1c3038}.info-main{min-height:550px}.searchbox{display:flex;align-items:center;gap:11px;padding:13px 15px;background:#14212b;border:1px solid #30444f;border-radius:12px}.searchbox .svg-icon{color:#8ea9b4}.searchbox input{border:0;background:none;outline:none!important;color:var(--text);width:100%;font-size:14px;min-width:0}.searchbox input::placeholder{color:#748c9a}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:19px}.category{display:flex;align-items:center;gap:13px;text-align:left;background:#14232d;border:1px solid var(--border);border-radius:13px;padding:17px;color:var(--text)}.category:hover{background:#1d313b;border-color:#407076}.category .copy{flex:1}.category strong{font-size:13px;display:block;margin-bottom:3px}.category small{color:#93aaba}.page-header{margin-bottom:20px}.back{border:0;background:none;color:var(--teal);font-size:12px;font-weight:800;display:flex;gap:7px;align-items:center;padding:4px 0 13px}.page-body p{line-height:1.78}.page-body ul{padding-left:22px;line-height:1.8;color:#c4d5de}.page-body li{margin:6px 0}.page-card{max-width:750px}.icon-list{display:flex;gap:12px;align-items:flex-start}.feature-stack{display:grid;gap:12px}.feature-stack .card{padding:16px}.weather-value{font-size:33px;font-weight:880;letter-spacing:-.05em}.day-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 8px;border-bottom:1px solid var(--border)}.day-row:last-child{border:0}.day-row.today{background:#1a3937;border-radius:9px;border:1px solid #407b74;padding:11px}.dot{height:11px;width:11px;border-radius:50%;display:inline-block;margin-right:10px}.dot.green{background:#43ba7c}.dot.blue{background:#59a9d4}.dot.slate{background:#7a8690}.dot.orange{background:#d98b6b}.input-number{display:flex;gap:8px;align-items:center}.input-number button{height:33px;width:33px;background:#21333e;border:1px solid #415562;border-radius:9px;color:white}.input-number strong{min-width:28px;text-align:center}.tax-total{font-size:30px;font-weight:900}.filters{display:flex;flex-wrap:wrap;gap:7px}.filter{font-size:12px;border-radius:30px;border:1px solid var(--border);color:#afbfcb;background:#18252f;padding:8px 13px}.filter.active{color:#092e32;background:var(--teal);border-color:var(--teal);font-weight:900}.place-layout{display:grid;grid-template-columns:minmax(0,1fr) .95fr;gap:16px;align-items:start}.place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.place-card{background:#131f29;border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column}.place-card:hover,.place-card.selected{border-color:#39a89f}.place-art{height:94px;position:relative;background:linear-gradient(135deg,#1b4149,#345764 55%,#1d3540);display:flex;align-items:center;justify-content:center;overflow:hidden}.place-art:after{content:"";position:absolute;height:130px;width:130px;border:1px solid #ffffff21;transform:rotate(45deg);right:-27px;top:22px}.place-art .svg-icon{width:31px;height:31px;color:#c4f4e8;z-index:1}.place-art.food{background:linear-gradient(135deg,#3a322a,#75583b)}.place-art.nightlife{background:linear-gradient(135deg,#343052,#345b6b)}.place-art.culture{background:linear-gradient(135deg,#303e50,#7b7461)}.place-art.beaches{background:linear-gradient(135deg,#1a5560,#397f82)}.place-art.activities{background:linear-gradient(135deg,#314b52,#456073)}.place-details{padding:14px}.place-details strong{display:block;margin-bottom:2px}.place-details p{font-size:12px;color:#9cafbb;margin:9px 0 0;min-height:35px;line-height:1.5}.place-map{position:sticky;top:93px;overflow:hidden}.mapframe{height:335px;width:100%;background:linear-gradient(140deg,#193043,#202f44);border:0;display:block}.map-caption{padding:15px}.assistant-shell{max-width:820px;margin:0 auto}.chat-window{background:#101a23;border:1px solid var(--border);border-radius:18px;min-height:445px;padding:20px;display:flex;flex-direction:column;gap:14px}.chat-msg{display:flex;flex-direction:column;gap:5px;align-items:flex-start;max-width:85%}.chat-msg.user{align-self:flex-end;align-items:flex-end}.chat-msg .bubble{background:#1c2d37;border-radius:14px 14px 14px 3px;padding:12px 15px;font-size:13px;line-height:1.65;white-space:pre-line}.chat-msg.user .bubble{background:#245e5c;color:#ecfffc;border-radius:14px 14px 3px 14px}.chat-msg .from{font-size:10px;color:#8da9b4;font-weight:850;letter-spacing:.09em}.suggestions{display:flex;gap:7px;flex-wrap:wrap}.suggestion{border:1px solid #395b60;background:#193137;border-radius:30px;color:#aaf0e8;padding:8px 11px;font-size:12px}.chat-compose{display:flex;gap:9px;margin-top:11px}.chat-compose input{flex:1;min-width:0;background:#16252d;border:1px solid #2b4552;border-radius:11px;color:var(--text);padding:13px}.chat-compose button{min-width:48px}.section-title-row{display:flex;gap:12px;align-items:center;margin-bottom:22px}.helpbox{margin-top:18px;padding:17px;border:1px dashed #39555c;background:#14242a;border-radius:13px}.helper-chips{display:flex;gap:8px;flex-wrap:wrap}.empty{text-align:center;padding:36px;color:var(--muted)}.install-banner{position:fixed;bottom:20px;right:20px;z-index:45;max-width:345px;background:#182f39;border:1px solid #416773;border-radius:16px;box-shadow:0 20px 45px #0008;padding:18px}.install-banner .row{align-items:flex-start}.modal-backdrop{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:70;backdrop-filter:blur(5px)}.modal{max-width:485px;width:100%;max-height:90vh;overflow:auto;background:#13232d;border:1px solid #3a535f;border-radius:20px;box-shadow:0 30px 100px #000c;padding:25px}.modal h2{font-size:24px}.modal .top{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:16px}.modal .top h2{margin:0}.install-step{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #30434c}.install-step:last-child{border:0}.segmented{display:flex;background:#101f27;border:1px solid #2e4650;border-radius:12px;padding:4px;margin:12px 0}.segmented button{flex:1;border:0;background:none;color:#aabdc7;border-radius:9px;padding:9px}.segmented button.active{background:#2e6867;color:#eafffb;font-weight:850}#toast{position:fixed;z-index:100;bottom:28px;left:50%;transform:translateX(-50%);padding:10px 18px;background:#22554e;border:1px solid #4bd4c0;color:white;border-radius:12px;box-shadow:var(--shadow);font-size:13px;pointer-events:none;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}.footer{padding:28px 0;color:#738b9a;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer strong{color:#a3b8c1}.hidden{display:none!important}
@media(max-width:900px){.topbar-inner{height:62px}.desktop-nav{display:none}.top-actions{margin-left:auto}.info-shell{grid-template-columns:1fr}.info-nav{display:none}.place-layout{grid-template-columns:1fr}.place-map{position:relative;top:auto}.mapframe{height:310px}.container{padding-top:22px}.hero{grid-template-columns:1.15fr .85fr}.hero-copy{padding:28px}.hero-art{min-height:280px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;height:calc(70px + env(safe-area-inset-bottom));padding:7px 11px calc(6px + env(safe-area-inset-bottom));background:#0b141cf8;border-top:1px solid #263944;backdrop-filter:blur(16px);justify-content:space-around;gap:7px}.bottom-nav .nav-btn{flex:1;flex-direction:column;gap:1px;padding:5px;font-size:10px;min-height:52px}.bottom-nav .nav-btn .svg-icon{width:21px;height:21px}.install-banner{bottom:88px}}
@media(max-width:610px){.topbar-inner{padding:0 14px}.brand{min-width:0}.brand-name{font-size:13px}.brand-sub{font-size:9px}.top-actions .icon-btn:nth-child(2){display:none}.container{padding:17px 12px 108px}.hero{grid-template-columns:1fr}.hero-copy{padding:25px 21px}.hero-art{min-height:178px;order:-1}.hero-art:before{inset:8% 21% 0 29%}.hero-caption{bottom:12px;left:13px}.hero h1{font-size:32px}.hero-buttons .btn{flex:1}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr}.section-heading{margin-top:25px}.stat-card{padding:13px}.stat-value{font-size:21px}.journey-tab{padding:10px}.card{padding:17px}.category-grid{grid-template-columns:1fr}.place-grid{grid-template-columns:1fr 1fr;gap:9px}.place-art{height:83px}.place-details{padding:11px}.place-details strong{font-size:12px}.place-details p{font-size:11px}.chat-window{padding:13px;min-height:390px}.install-banner{left:12px;right:12px;max-width:none}.footer{padding-bottom:40px}.light-slab{padding:15px}}
@media(max-width:390px){.grid-4{grid-template-columns:1fr 1fr}.stat-label{font-size:10px}.stat-value{font-size:19px}.place-grid{grid-template-columns:1fr}.place-art{height:110px}.top-actions .icon-btn:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:0s!important;animation-duration:0s!important}}
@media(max-width:610px){
  .journey-content>.grid-2{grid-template-columns:minmax(0,1fr)}
  .container>.grid-3{grid-template-columns:minmax(0,1fr)}
  .journey-content .feature-stack{min-width:0}
  .info-button>span{min-width:0;overflow-wrap:anywhere}
}

/* v2: MOBILE-FIRST BOUTIQUE COASTAL THEME — base supports opt-in dark mode */
html[data-theme="light"]{
 color-scheme:light;
 --bg:#F5F6F2;--bg2:#EEF1ED;--card:#FFFFFF;--card2:#F3F6F4;
 --border:#DFE6E3;--text:#132C36;--muted:#637881;--subtle:#81939A;
 --teal:#128F87;--teal2:#0B756E;--gold:#D8B989;--red:#B64B43;
 --shadow:0 9px 34px #1637450b;
}
html[data-theme="light"] body{background:var(--bg);color:var(--text)}
html[data-theme="light"] p{color:#4C646E}
html[data-theme="light"] .topbar{background:#132C36f7;border-bottom:1px solid #28434A}
html[data-theme="light"] .topbar .brand-name{color:#F9FBFB}
html[data-theme="light"] .topbar .brand-sub{color:#AEC6CB}
html[data-theme="light"] .topbar .nav-btn{color:#C9D7D8}
html[data-theme="light"] .topbar .nav-btn.active,
html[data-theme="light"] .topbar .nav-btn:hover{color:#61E1D5;background:#284750;border-color:#335B60}
html[data-theme="light"] .topbar .icon-btn{color:#E7F6F3;background:#1D3A44;border-color:#37535C}
html[data-theme="light"] .topbar .icon-btn:hover{color:#62E8DD;border-color:#559C98}
html[data-theme="light"] .logo{background:linear-gradient(135deg,#56D6CB,#1EA399);color:#10313B}
html[data-theme="light"] .hero{background:linear-gradient(120deg,#193B45,#102830);border-color:#24424A;box-shadow:0 17px 38px #102D361a}
html[data-theme="light"] .hero h1,
html[data-theme="light"] .hero h2,
html[data-theme="light"] .hero h3{color:#FFFFFF}
html[data-theme="light"] .hero p{color:#D4E2E1}
html[data-theme="light"] .hero .eyebrow{color:#69DACE}
html[data-theme="light"] .hero .eyebrow:before{background:#69DACE}
html[data-theme="light"] .hero .micro-meta{color:#D1DEE0}
html[data-theme="light"] .hero .micro-meta span{color:#D1DEE0}
html[data-theme="light"] .hero-art{background:radial-gradient(circle at 68% 15%,#D8B98935,transparent 50%),linear-gradient(135deg,#24444F,#315A60 50%,#16353F)}
html[data-theme="light"] .hero-caption{color:#E8F0EB;background:#102B33dd;border-color:#496A6B}
html[data-theme="light"] .btn{background:#F7FAF8;color:#183841;border-color:#D4E0DC}
html[data-theme="light"] .btn:hover{background:#EEF6F1;border-color:#A9C7C1}
html[data-theme="light"] .btn.primary{background:#21B8AB;color:#0B2D31;border-color:#21B8AB}
html[data-theme="light"] .btn.primary:hover{background:#48C8BC}
html[data-theme="light"] .btn.soft{background:#E1F4F0;border-color:#BAE5DC;color:#0A7970}
html[data-theme="light"] .btn.danger{background:#FCE8E6;border-color:#EEB8B1;color:#AA3734}
html[data-theme="light"] .hero .btn:not(.primary){background:#294852;color:#FFFFFF;border-color:#45636C}
html[data-theme="light"] .hero .btn:not(.primary):hover{background:#345C66}
html[data-theme="light"] .card{background:#FFFFFF;border-color:#DEE5E0;box-shadow:0 4px 20px #14313E08}
html[data-theme="light"] .card.hover:hover{border-color:#8DC8BF}
html[data-theme="light"] .accent-icon{background:#E4F3F0;border-color:#C9E5E0;color:#0F8C84}
html[data-theme="light"] .kicker{color:#0B857E}
html[data-theme="light"] .stat-label{color:#667D87}
html[data-theme="light"] .stat-value{color:#132C36}
html[data-theme="light"] .stat-sub{color:#657D83}
html[data-theme="light"] .journey-tab{background:#FFFFFF;border-color:#DFE6E3;color:#3D5961}
html[data-theme="light"] .journey-tab.active{background:#153943;border-color:#153943;color:#B5F3EA}
html[data-theme="light"] .light-slab{background:#F5F8F6;border-color:#E0EAE5}
html[data-theme="light"] .info-button{background:#FFFFFF;border-color:#DFE6E3;color:#17333D}
html[data-theme="light"] .info-button:hover{background:#F0F8F5;border-color:#A7CBC4}
html[data-theme="light"] .info-button .svg-icon{color:#129C91}
html[data-theme="light"] .badge{background:#E3F4EF;border-color:#C1E2D9;color:#0B746D}
html[data-theme="light"] .badge.subtle{background:#F0F3F1;border-color:#DFE6E2;color:#526A73}
html[data-theme="light"] .notice{background:#FFF9EA;border-color:#EFDFBB;color:#614A22}
html[data-theme="light"] .notice.red{background:#FFF0EE;border-color:#F0C6BE;color:#8C3E39}
html[data-theme="light"] .check-item{background:#FBFCFA;border-color:#DFE8E3}
html[data-theme="light"] .check-item:has(input:checked){background:#EAF7F0;border-color:#B2D9C6}
html[data-theme="light"] .check-item:has(input:checked) .check-item-text{color:#668F7C}
html[data-theme="light"] .progress-track{background:#DDE8E4}
html[data-theme="light"] .progress-fill{background:#21B8AB}
html[data-theme="light"] .step-num{background:#DCF3ED;color:#0B7A72}
html[data-theme="light"] .info-nav .nav-category{color:#47636D}
html[data-theme="light"] .info-nav .nav-category:hover,
html[data-theme="light"] .info-nav .nav-category.selected{background:#E7F5F0;color:#0B7F75}
html[data-theme="light"] .info-nav .nav-child{color:#678089}
html[data-theme="light"] .info-nav .nav-child:hover,
html[data-theme="light"] .info-nav .nav-child.selected{background:#EEF8F4;color:#0B7F75}
html[data-theme="light"] .searchbox{background:#FFFFFF;border-color:#DAE5E0}
html[data-theme="light"] .searchbox .svg-icon{color:#607982}
html[data-theme="light"] .searchbox input::placeholder{color:#85979D}
html[data-theme="light"] .category{background:#FFFFFF;border-color:#DFE6E3;color:#18333D}
html[data-theme="light"] .category:hover{background:#F1F8F5;border-color:#A5CCC4}
html[data-theme="light"] .category small{color:#718790}
html[data-theme="light"] .page-body ul{color:#415E69}
html[data-theme="light"] .back{color:#0D857C}
html[data-theme="light"] .day-row.today{background:#E6F5F0;border-color:#B2D9CD}
html[data-theme="light"] .input-number button{background:#EFF6F3;border-color:#C9DBD5;color:#23434D}
html[data-theme="light"] .filter{background:#FFFFFF;border-color:#DCE7E2;color:#45616B}
html[data-theme="light"] .filter.active{background:#153C45;border-color:#153C45;color:#D6F7F0}
html[data-theme="light"] .place-card{background:#FFFFFF;border-color:#DCE7E3}
html[data-theme="light"] .place-card:hover,
html[data-theme="light"] .place-card.selected{border-color:#39AA9E}
html[data-theme="light"] .place-details p{color:#637882}
html[data-theme="light"] .chat-window{background:#FFFFFF;border-color:#DFE6E3}
html[data-theme="light"] .chat-msg .bubble{background:#EEF4F1;color:#183942}
html[data-theme="light"] .chat-msg.user .bubble{background:#155E5B;color:#FFFFFF}
html[data-theme="light"] .chat-msg .from{color:#617984}
html[data-theme="light"] .suggestion{background:#EAF6F1;border-color:#BFDCD4;color:#13796F}
html[data-theme="light"] .chat-compose input{background:#F7FAF7;border-color:#D8E7E0;color:#163640}
html[data-theme="light"] .helpbox{background:#F4FAF6;border-color:#B8D5C8}
html[data-theme="light"] .install-banner{background:#FFFFFF;border-color:#D3E5DD;box-shadow:0 12px 42px #17374224}
html[data-theme="light"] .modal{background:#FFFFFF;border-color:#D7E4DE;box-shadow:0 30px 90px #0E354044}
html[data-theme="light"] .install-step{border-color:#E0E9E3}
html[data-theme="light"] .segmented{background:#EDF4F0;border-color:#D4E3DC}
html[data-theme="light"] .segmented button{color:#59767A}
html[data-theme="light"] .segmented button.active{background:#FFFFFF;color:#0F7770;box-shadow:0 2px 8px #183B4811}
html[data-theme="light"] .footer{color:#6B848B}
html[data-theme="light"] .footer strong{color:#38545B}
html[data-theme="light"] .bottom-nav{background:#132C36f9;border-top:1px solid #32505A}
html[data-theme="light"] .bottom-nav .nav-btn{color:#C9D9DC}
html[data-theme="light"] .bottom-nav .nav-btn.active{background:#234A51;color:#79EADD;border-color:#416A6B}
html[data-theme="light"] #toast{background:#1D615A;border-color:#51C5B1;color:#FFF}
/* The existing HTML uses white inline text for two emphasized fields; reset in light mode. */
html[data-theme="light"] .journey-content strong[style*="color:white"],
html[data-theme="light"] .journey-content strong[style*="color:#fff"]{color:#132C36!important}
/* Compact, thumb-friendly mobile layout with persistent safe-area navigation. */
@media(max-width:610px){
 body{font-size:14px}
 .container{padding-left:14px;padding-right:14px}
 .hero{border-radius:20px}
 .hero-copy{padding:23px 20px 26px}
 .hero-art{min-height:170px}
 .hero h1{font-size:clamp(28px,8vw,35px)}
 .hero-buttons{margin-top:19px}
 .hero-buttons .btn{min-height:47px}
 .stat-card{padding:14px}
 .stat-card .stat-value{font-size:21px}
 .journey-tabs{gap:8px;scroll-snap-type:x mandatory;padding:2px 0 9px}
 .journey-tab{scroll-snap-align:start;min-height:44px;padding:10px 13px}
 .category{min-height:60px}
 .info-button{min-height:60px}
 .check-item{min-height:48px}
 .bottom-nav{min-height:calc(72px + env(safe-area-inset-bottom))}
 .bottom-nav .nav-btn{min-height:54px}
 .topbar-inner{height:61px}
 .section-heading{margin-top:27px}
 .section-heading h2{font-size:23px}
}

/* v3: mobile-first refinements from real Android handset screenshot.
   Prioritise first-screen tasks and lighter visual density. */
@media (max-width:610px) {
  .topbar-inner { height:58px; padding-inline:14px; gap:10px; }
  .brand { gap:8px; }
  .logo { width:34px; height:34px; font-size:16px; border-radius:11px; }
  .brand-name { font-size:12px; letter-spacing:.055em; white-space:nowrap; }
  .brand-sub { font-size:8px; letter-spacing:.04em; white-space:nowrap; }
  .top-actions { gap:6px; }
  .top-actions .share-action, .top-actions .install-action { display:none; }
  .top-actions .icon-btn { width:36px; height:36px; }
  .container { padding:11px 12px calc(100px + env(safe-area-inset-bottom)); }
  /* Real apartment photographs will replace the hero illustration.
     Until then, skip the full-height image placeholder on phones. */
  .hero-art { display:none; }
  .hero { border-radius:17px; min-height:0; box-shadow:0 10px 26px #0a25331c; }
  .hero-copy { padding:17px 17px 16px; }
  .hero .eyebrow { font-size:9px; letter-spacing:.1em; margin-bottom:8px; }
  .hero .eyebrow:before { width:16px; }
  .hero h1 { font-size:clamp(25px,7.5vw,30px); letter-spacing:-.04em; line-height:1.1; margin-bottom:7px; }
  .hero-copy p { font-size:13px; line-height:1.38; margin:0; }
  .hero-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:13px; }
  .hero-buttons .btn { min-width:0; padding:9px 5px; font-size:11px; min-height:43px; white-space:nowrap; gap:4px; border-radius:9px; }
  .hero-buttons .svg-icon { width:15px; height:15px; }
  .micro-meta { gap:10px; margin-top:11px; font-size:10px; line-height:1.4; }
  .micro-meta .svg-icon { width:13px; height:13px; }
  .section-heading { margin:19px 0 11px; }
  .section-heading h2 { font-size:19px; letter-spacing:-.03em; }
  .kicker { font-size:9px; }
  .grid { gap:9px; }
  .card { padding:12px; border-radius:13px; }
  .stat-card { padding:11px 12px; }
  .stat-label { font-size:9px; letter-spacing:.06em; }
  .stat-value { font-size:21px; line-height:1.2; }
  .stat-sub { font-size:10px; }
  .journey-tab { font-size:11px; padding:10px 11px; min-height:42px; }
  .bottom-nav { height:calc(60px + env(safe-area-inset-bottom)); min-height:0; padding:4px 9px calc(4px + env(safe-area-inset-bottom)); }
  .bottom-nav .nav-btn { min-height:48px; border-radius:12px; font-size:10px; }
  .bottom-nav .nav-btn .svg-icon { width:20px; height:20px; }
}
/* VERSION 4 — Boutique hospitality UI, optimised for phones first. */
:root {--v4-bg:#F6F5F1;--v4-panel:#FFFFFF;--v4-ink:#17353B;--v4-muted:#687B7D;--v4-hairline:#E4E7E1;--v4-tint:#EAF4F0;--v4-teal:#188F86;--v4-bar:#143741;--v4-shadow:0 5px 24px rgba(20,44,46,.05)}
html[data-theme="light"] body {background:var(--v4-bg);color:var(--v4-ink);}
html[data-theme="light"] .topbar {background:var(--v4-bg);border-bottom:1px solid var(--v4-hairline);backdrop-filter:blur(12px)}
html[data-theme="light"] .topbar .brand-name{color:var(--v4-ink)}
html[data-theme="light"] .topbar .brand-sub{color:var(--v4-muted)}
html[data-theme="light"] .topbar .icon-btn{color:var(--v4-ink);background:transparent;border:1px solid transparent}
html[data-theme="light"] .topbar .icon-btn:hover{background:#EBF1ED;border-color:#D6E5DD}
html[data-theme="light"] .topbar .nav-btn{color:var(--v4-ink)}
html[data-theme="light"] .topbar .nav-btn.active{background:#E5F2ED;color:#157F77}
.topbar{position:sticky;top:0;z-index:35}
.topbar-inner{max-width:1090px;height:66px;padding-inline:22px}
.topbar .brand{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:11px;min-width:0;text-align:left;padding:0;cursor:pointer}
.topbar .logo{width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#34BEB3,#0B8C84);color:#0C3739;display:grid;place-items:center;font-size:16px;font-weight:850;flex-shrink:0}
.topbar .brand-name{font-size:13px;letter-spacing:-.01em;text-transform:none;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .brand-sub{font-size:9px;letter-spacing:.075em;font-weight:750;margin-top:3px}
.topbar .top-actions{gap:2px}
.topbar .top-actions .icon-btn{width:37px;height:37px;border-radius:10px}
.topbar .top-actions .svg-icon{width:18px;height:18px}
.container{max-width:1090px;padding-top:24px}
.v4-home{max-width:690px;margin:0 auto}
.v4-hero{background:var(--v4-panel);border:1px solid var(--v4-hairline);border-radius:18px;overflow:hidden;box-shadow:var(--v4-shadow)}
.v4-hero-image{height:330px;background:#E9E9DD;overflow:hidden}
.v4-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.v4-hero-content{padding:18px 22px 21px}
.v4-eyebrow{color:#148D84;font-size:10px;letter-spacing:.14em;font-weight:850}
.v4-hero-content h1{color:var(--v4-ink);font-size:27px;letter-spacing:-.035em;line-height:1.2;margin:7px 0 5px;font-weight:820}
.v4-hero-content p{color:var(--v4-muted);font-size:13px;line-height:1.55;margin:0}
.v4-mini-facts{background:var(--v4-panel);border:1px solid var(--v4-hairline);border-radius:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:13px 5px;margin:12px 0 23px;box-shadow:var(--v4-shadow)}
.v4-mini-facts>div{text-align:center;display:flex;flex-direction:column;gap:3px;min-width:0}
.v4-mini-facts>div+div{border-left:1px solid var(--v4-hairline)}
.v4-mini-facts span{color:var(--v4-muted);font-size:9px;letter-spacing:.09em;font-weight:780}
.v4-mini-facts strong{color:var(--v4-ink);font-size:17px;letter-spacing:-.02em;font-weight:800}
.v4-section-top{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 12px;gap:10px}
.v4-section-top h2{font-size:17px;color:var(--v4-ink);font-weight:800;margin:0;letter-spacing:-.022em}
.v4-section-top>span{font-size:11px;color:var(--v4-muted)}
.v4-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.v4-action-grid button{border:1px solid var(--v4-hairline);background:var(--v4-panel);color:var(--v4-ink);padding:13px 6px 11px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:9px;flex-direction:column;min-height:82px;font-size:11px;font-weight:760;cursor:pointer;box-shadow:var(--v4-shadow)}
.v4-action-grid button:active,.v4-link-card:active{transform:scale(.99)}
.v4-action-grid .svg-icon{color:var(--v4-teal);height:23px;width:23px}
.v4-discover{margin-top:24px}
.v4-link-card{width:100%;background:var(--v4-panel);border:1px solid var(--v4-hairline);display:flex;align-items:center;text-align:left;gap:12px;padding:12px;border-radius:14px;color:var(--v4-ink);margin:0 0 8px;cursor:pointer;box-shadow:var(--v4-shadow)}
.v4-icon-bubble{width:39px;height:39px;border-radius:11px;background:var(--v4-tint);color:var(--v4-teal);display:grid;place-items:center;flex-shrink:0}
.v4-icon-bubble .svg-icon{width:19px;height:19px}
.v4-link-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.v4-link-copy strong{font-size:13px;font-weight:800}
.v4-link-copy small{color:var(--v4-muted);font-size:11px;line-height:1.35}
.v4-link-card>.svg-icon{color:#799194;width:16px;height:16px}
.v4-home-footer{color:var(--v4-muted);display:flex;align-items:center;justify-content:center;gap:8px;margin:17px 0 0;font-size:11px}
.v4-home-footer .svg-icon{color:var(--v4-teal);height:15px;width:15px}
/* The guide uses short touch-friendly rows, not the desktop sidebar. */
.v4-page-title{max-width:750px;margin:8px auto 22px}
.v4-page-title h1{color:var(--v4-ink);font-size:28px;line-height:1.17;letter-spacing:-.04em;margin:6px 0 7px;font-weight:830}
.v4-page-title p{color:var(--v4-muted);font-size:13px;line-height:1.5;margin:0}
.v4-guide-shell{max-width:750px;margin:0 auto}
.v4-searchbox{display:flex;align-items:center;gap:9px;background:var(--v4-panel);border:1px solid var(--v4-hairline);padding:0 12px;border-radius:12px;min-height:48px}
.v4-searchbox .svg-icon{width:19px;height:19px;color:var(--v4-teal)}
.v4-searchbox input{width:100%;min-width:0;flex:1;background:transparent;border:0;outline:none;color:var(--v4-ink);font:inherit;font-size:13px}
.v4-searchbox input::placeholder{color:#8A9999}
.v4-group-title{font-size:13px;color:var(--v4-ink);font-weight:810;margin:23px 2px 11px}
.v4-guide-list{background:var(--v4-panel);border:1px solid var(--v4-hairline);border-radius:15px;overflow:hidden}
.v4-guide-row{width:100%;text-align:left;border:0;border-bottom:1px solid var(--v4-hairline);background:transparent;color:var(--v4-ink);display:flex;align-items:center;gap:13px;min-height:67px;padding:10px 14px;cursor:pointer}
.v4-guide-row:last-child{border-bottom:0}
.v4-guide-row>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.v4-guide-row>strong{flex:1}
.v4-guide-row strong{font-size:13px;font-weight:750}
.v4-guide-row small{color:var(--v4-muted);font-size:11px;line-height:1.3}
.v4-row-icon{display:grid;place-items:center;border-radius:10px;width:35px;height:35px;background:var(--v4-tint);color:var(--v4-teal);flex-shrink:0}
.v4-row-icon .svg-icon{width:18px;height:18px}
.v4-guide-row>.svg-icon{color:#93A6A5;flex-shrink:0;width:15px;height:15px}
.v4-guide-row:hover{background:var(--v4-tint)}
.v4-category-detail{max-width:750px}
.v4-category-detail>h2{margin:8px 0 17px;color:var(--v4-ink);font-size:23px}
.v4-hint{font-size:11px;color:var(--v4-muted);padding:13px 15px 3px}
.v4-journey-pills{max-width:750px;margin:0 auto 17px;display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding-bottom:5px}
.v4-journey-pills::-webkit-scrollbar{display:none}
.v4-journey-pills button{border:1px solid var(--v4-hairline);background:var(--v4-panel);color:var(--v4-ink);border-radius:30px;white-space:nowrap;font-size:12px;padding:11px 15px;font-weight:750;cursor:pointer}
.v4-journey-pills button.active{background:var(--v4-bar);border-color:var(--v4-bar);color:#FFF}
.v4-stage-body{max-width:750px;margin:0 auto}
.v4-stage-body>.grid-2{grid-template-columns:minmax(0,1fr)}
.v4-stage-body .card{box-shadow:var(--v4-shadow)}
.v4-stage-body .feature-stack{gap:10px}
.v4-stage-body .card p{color:var(--v4-muted);font-size:13px}
.v4-stage-body .card strong[style*="color:white"],.v4-stage-body .card strong[style*="color:#fff"]{color:var(--v4-ink)!important}
.v4-guide-shell .page-card .card{background:var(--v4-panel)}
/* Explore: list is default, map has an explicit separate view */
.v4-explore{max-width:790px;margin:0 auto}
.v4-explore-image{height:98px;border-radius:15px;background:radial-gradient(circle at 83% 85%,#6FC1B955,transparent 27%),linear-gradient(120deg,#173F49 0%,#205963 53%,#4B9B98 100%);position:relative;overflow:hidden;margin-bottom:14px}
.v4-explore-image:before,.v4-explore-image:after{content:"";position:absolute;left:50%;width:300px;height:200px;border:1px solid #ffffff40;border-radius:50%;transform:rotate(-18deg);top:-100px}
.v4-explore-image:after{left:60%;top:-70px;width:260px}
.v4-explore-caption{position:absolute;left:17px;bottom:15px;color:#FFF;font-size:14px;font-weight:700;letter-spacing:-.015em;z-index:1}
.v4-mode-tabs{background:#E8EEE9;border:1px solid #E2E9E4;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;gap:5px}
.v4-mode-tabs button{display:flex;justify-content:center;align-items:center;gap:7px;border:0;border-radius:9px;background:transparent;color:#54706F;min-height:40px;font-size:12px;font-weight:750;cursor:pointer}
.v4-mode-tabs button.active{background:#FFFFFF;color:#167A75;box-shadow:0 2px 9px #12342E13}
.v4-mode-tabs .svg-icon{height:17px;width:17px}
.v4-filterstrip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:15px 0 14px}
.v4-filterstrip::-webkit-scrollbar{display:none}
.v4-filterstrip button{border-radius:24px;min-height:37px;white-space:nowrap;border:1px solid var(--v4-hairline);background:var(--v4-panel);color:var(--v4-ink);padding:8px 12px;font-size:11px;font-weight:690;cursor:pointer}
.v4-filterstrip button.active{background:var(--v4-bar);color:#FFF;border-color:var(--v4-bar)}
.v4-venue-list{display:flex;flex-direction:column;gap:8px}
.v4-venue{min-height:86px;display:flex;align-items:center;text-align:left;gap:12px;padding:9px 12px 9px 9px;border:1px solid var(--v4-hairline);border-radius:13px;background:var(--v4-panel);color:var(--v4-ink);cursor:pointer}
.v4-venue.selected{border-color:#52A8A0}
.v4-venue-image{display:grid;place-items:center;flex-shrink:0;width:62px;height:64px;border-radius:10px;background:linear-gradient(130deg,#D4EBE4,#EAF1E7);color:#287D79}
.v4-venue-image .svg-icon{width:23px;height:23px}
.v4-venue-text{flex:1;display:flex;flex-direction:column;min-width:0;gap:3px}
.v4-venue-text strong{font-weight:790;font-size:13px;line-height:1.3}
.v4-venue-text small{font-size:11px;color:var(--v4-teal);font-weight:680}
.v4-venue-text>span{font-size:11px;color:var(--v4-muted);line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.v4-venue>.svg-icon{height:15px;width:15px;flex-shrink:0;color:#9BAAAA}
.v4-selected{margin-top:13px;padding:16px;background:var(--v4-panel);border:1px solid var(--v4-hairline);border-radius:14px}
.v4-selected-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.v4-selected-top small{font-size:11px;color:var(--v4-teal)}
.v4-selected-top h3{font-size:17px;color:var(--v4-ink);margin:5px 0}
.v4-selected-top .svg-icon{color:var(--v4-teal)}
.v4-selected p{font-size:12px;line-height:1.5;color:var(--v4-muted);margin:7px 0 11px}
.v4-selected .linkrow{gap:8px}
.v4-selected .btn{min-height:42px;font-size:12px}
.v4-map-view iframe{display:block;border:1px solid var(--v4-hairline);border-radius:14px;width:100%;height:390px;background:#DDE8E6}
.v4-map-scroll{display:flex;gap:8px;overflow-x:auto;padding:13px 0 2px;scrollbar-width:none}
.v4-map-scroll button{white-space:nowrap;border:1px solid var(--v4-hairline);border-radius:10px;padding:9px 11px;background:var(--v4-panel);color:var(--v4-ink);font-size:12px;cursor:pointer}
.v4-map-scroll button.active{border-color:var(--v4-teal);background:var(--v4-tint)}
.v4-fineprint{font-size:10px;line-height:1.45;color:var(--v4-muted);margin:13px 1px}
html[data-theme="light"] .bottom-nav{background:#FFFFFFF5;border-top:1px solid #E2E9E4;box-shadow:0 -6px 18px #123D3B0D}
html[data-theme="light"] .bottom-nav .nav-btn{color:#7A8D8F;border:none;background:transparent}
html[data-theme="light"] .bottom-nav .nav-btn.active{color:#0A8E83;border:none;background:#ECF7F3}
.bottom-nav{gap:3px;justify-content:space-between}
.bottom-nav .nav-btn{border:0;flex:1;min-width:0;border-radius:12px;padding-inline:0}
.footer{max-width:790px;margin:auto}
/* Explicit dark appearance without changing the available information. */
html[data-theme="dark"] {--v4-bg:#0F1920;--v4-panel:#182830;--v4-ink:#F0F5F4;--v4-muted:#B0C3C3;--v4-hairline:#324A50;--v4-tint:#20443F;--v4-teal:#64D6C7;--v4-bar:#28565B;--v4-shadow:none}
html[data-theme="dark"] body{background:var(--v4-bg)}
html[data-theme="dark"] .v4-guide-row:hover{background:#28423E}
html[data-theme="dark"] .v4-mode-tabs{background:#1B343A;border-color:#30474B}
html[data-theme="dark"] .v4-mode-tabs button.active{background:#28545A;color:#E6FFFB}
html[data-theme="dark"] .v4-explore-image{background:linear-gradient(120deg,#112F3C,#2A6767)}
html[data-theme="dark"] .v4-mini-facts{box-shadow:none}
html[data-theme="dark"] .v4-venue-image{background:#255057;color:#AEF7ED}
@media(max-width:900px){.topbar-inner{height:58px}.footer{display:none}.desktop-nav{display:none}}
@media(max-width:610px){
  body{font-size:14px}
  .topbar-inner{height:54px;padding-inline:15px;gap:8px}
  .topbar .brand{gap:9px;max-width:calc(100% - 104px)}
  .topbar .logo{width:34px;height:34px;font-size:13px;border-radius:9px}
  .topbar .brand-name{font-size:12px;max-width:210px}
  .topbar .brand-sub{font-size:8px;margin-top:2px;letter-spacing:.045em}
  .topbar .top-actions{gap:0}
  .topbar .top-actions .icon-btn{width:35px;height:35px}
  .top-actions .share-action,.top-actions .install-action{display:none}
  .container{padding:12px 13px calc(80px + env(safe-area-inset-bottom))}
  .v4-hero{border-radius:16px}
  .v4-hero-image{height:clamp(177px,48vw,214px)}
  .v4-hero-image img{object-position:center center}
  .v4-hero-content{padding:14px 16px 17px}
  .v4-hero-content h1{font-size:23px;margin:5px 0 4px}
  .v4-hero-content p{font-size:12px}
  .v4-eyebrow{font-size:9px}
  .v4-mini-facts{margin:10px 0 21px;padding:12px 0}
  .v4-mini-facts strong{font-size:17px}
  .v4-action-grid{gap:7px}
  .v4-action-grid button{min-height:75px;border-radius:12px;gap:8px;padding:10px 4px;font-size:10px}
  .v4-action-grid .svg-icon{height:21px;width:21px}
  .v4-discover{margin-top:21px}
  .v4-section-top h2{font-size:17px}
  .v4-link-card{padding:10px 12px}
  .v4-page-title{margin:7px 0 17px}
  .v4-page-title h1{font-size:25px}
  .v4-journey-pills{margin-bottom:12px}
  .v4-journey-pills button{font-size:11px}
  .v4-stage-body .card{padding:15px}
  .v4-stage-body .feature-stack{gap:10px}
  .v4-map-view iframe{height:315px}
  .bottom-nav{height:calc(58px + env(safe-area-inset-bottom));padding:4px 8px calc(4px + env(safe-area-inset-bottom));min-height:0}
  .bottom-nav .nav-btn{min-height:48px;font-size:10px;gap:1px}
  .bottom-nav .nav-btn .svg-icon{height:19px;width:19px}
  .chat-window{min-height:310px}
  .install-banner{bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media(max-width:350px){.topbar .brand-name{max-width:148px}.v4-action-grid{gap:5px}.v4-action-grid button{font-size:9px}}

/* Version 4.1: guest-friendly, multi-location Explore map */
#all-venues-map{height:345px;min-height:315px;position:relative;overflow:hidden;border:1px solid var(--v4-hairline);border-radius:14px;background:#E2ECE9;z-index:0;isolation:isolate}
#all-venues-map .leaflet-container{font-family:inherit}
#all-venues-map .leaflet-popup-content{font-family:inherit;font-size:13px;line-height:1.4}
.v4-map-marker-wrap{background:transparent;border:0}
.v4-map-dot{display:block;width:25px;height:25px;margin:5px;border-radius:50% 50% 50% 12%;transform:rotate(-45deg);background:#13AFA4;border:3px solid white;box-shadow:0 2px 7px #15384080}
.v4-map-marker-wrap:hover .v4-map-dot{background:#143741;scale:1.12}
.v4-map-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 1px 10px;font-size:12px;font-weight:750;color:var(--v4-ink)}
.v4-map-head span{display:inline-flex;gap:5px;align-items:center}.v4-map-head .svg-icon{width:16px;height:16px;color:var(--v4-teal)}
.v4-map-head button{border:1px solid var(--v4-hairline);border-radius:8px;padding:8px 11px;background:var(--v4-panel);display:flex;align-items:center;gap:5px;color:var(--v4-ink);font-size:11px;font-weight:750;cursor:pointer}
.v4-map-head button .svg-icon{width:15px;height:15px}
.v4-map-loading{display:flex;justify-content:center;align-items:center;height:100%;font-size:13px;color:#567;}
.v4-map-accuracy{font-size:11px;line-height:1.4;margin:9px 3px 0;color:var(--v4-muted)}
.v4-map-prompt{padding:17px;border-radius:13px;background:var(--v4-panel);color:var(--v4-muted);border:1px solid var(--v4-hairline);font-size:12px;display:flex;gap:9px;align-items:center;margin-top:12px}
.v4-map-prompt .svg-icon{width:18px;height:18px;flex-shrink:0}
.v4-map-scroll{margin-top:12px;padding-bottom:7px}
.v4-map-scroll button{min-height:37px}
@media(max-width:640px){#all-venues-map{height:330px}.v4-map-accuracy{font-size:10.5px}}

/* V4.3 — mobile host support, settings, install access and illustrated guide */
.topbar .top-actions .more-action{display:grid!important;align-items:center;justify-items:center}
.v43-install-row{border:1px solid var(--v4-hairline,#d9dedc);background:var(--v4-panel,#fff);padding:10px 13px;border-radius:12px;display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:14px}
.v43-install-row>span{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;color:var(--v4-ink,#143741)}
.v43-install-row .svg-icon{color:#138b81}
.v43-install-row .btn{font-size:11px;min-height:36px;white-space:nowrap}
.v43-guide-photo{margin:0 0 17px;border:1px solid var(--v4-hairline,#d9dedc);border-radius:14px;overflow:hidden;background:#e7eae6}
.v43-guide-photo img{width:100%;display:block;max-height:230px;object-fit:cover}
.v43-guide-photo figcaption{padding:8px 12px;font-size:10px;color:var(--muted);background:var(--v4-panel,#fff)}
.v43-more-list,.v43-contact-options{display:grid;gap:8px}
.v43-more-list button,.v43-contact-choice,.v43-contact-disabled{min-height:60px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--v4-hairline,#d9dedc);background:var(--v4-panel,#fff);border-radius:12px;padding:11px 13px;color:var(--v4-ink,#143741);text-decoration:none;width:100%}
.v43-more-list button span,.v43-contact-choice span,.v43-contact-disabled span{flex:1;display:grid;gap:2px}
.v43-more-list strong,.v43-contact-choice strong,.v43-contact-disabled strong{font-size:13px}
.v43-more-list small,.v43-contact-choice small,.v43-contact-disabled small{font-size:11px;color:var(--v4-muted,#6a7e80)}
.v43-more-list .svg-icon,.v43-contact-choice .svg-icon,.v43-contact-disabled .svg-icon{color:#168d82}
.v43-contact-disabled{opacity:.65;cursor:default}
.v43-contact-note{padding:13px;border-radius:12px;background:var(--v4-panel,#fff);border:1px solid var(--v4-hairline,#d9dedc);margin-top:13px;color:var(--v4-ink,#143741);font-size:12px;line-height:1.6}
.v43-contact-note a{color:#b02c2c}
.v43-wifi{background:var(--v4-panel,#fff);padding:18px;border-radius:15px;border:1px solid var(--v4-hairline,#d9dedc)}
.v43-wifi-main{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.v43-wifi-icon{width:49px;height:49px;border-radius:13px;background:#e7f4f0;display:grid;place-items:center;color:#11867d}
.v43-wifi-main strong{font-size:19px;color:var(--v4-ink,#143741)}
.v43-wifi-help{background:#eff5f1;color:#153741;border-radius:12px;padding:13px;margin-top:17px}
.v43-wifi-help p{margin:5px 0 0;color:#476361;line-height:1.55}
@media(max-width:610px){.top-actions .more-action{display:grid!important}.v43-install-row{padding:10px}.v43-install-row>span{font-size:11px}.v43-install-row .btn{font-size:10px;padding:7px 9px}}
@media(max-width:350px){.brand-sub{display:none}.v43-install-row>span{max-width:45%}}

/* Keep emergency access available on even narrow handsets. */
@media(max-width:390px){.topbar .top-actions .emergency-action{display:grid!important}}

/* V4.4 — approved guest contact channels; contrast-safe mobile cards */
.v43-contact-choice > .v44-channel-icon{width:41px;height:41px;flex:0 0 41px;display:grid;place-items:center;border-radius:11px;background:rgba(24,141,130,.10);color:#147d73}
.v44-channel-icon .svg-icon{width:22px;height:22px;color:inherit}
.v43-contact-choice.v44-wa > .v44-channel-icon{background:#e7f7ec;color:#198a45}
.v43-contact-choice:hover,.v43-contact-choice:focus-visible{border-color:#2aa798;background:var(--v4-panel,#fff)}
.v43-contact-choice > span:nth-child(2){flex:1;min-width:0}.v43-contact-choice small{overflow-wrap:anywhere}
@media(max-width:500px){.v43-contact-choice{min-height:67px;gap:11px}.v43-contact-choice small{font-size:11px}.v43-contact-choice > .v44-channel-icon{width:40px;height:40px;flex-basis:40px}}
