.aguide-fab{position:fixed;right:1.1rem;bottom:1.1rem;z-index:900;width:auto;min-width:58px;height:58px;padding:0 1rem 0 .95rem;gap:.55rem;border-radius:999px;border:0;background:#1d3a2a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .18s ease,background .18s ease}
.aguide-fab:hover{transform:translateY(-2px);background:#26492f}
.aguide-fab svg{width:26px;height:26px;flex:0 0 26px;transform-origin:center;animation:aguide-icon-wave 2.6s cubic-bezier(.22,.8,.35,1) infinite}
.aguide-fab-label{font-size:.82rem;font-weight:700;line-height:1;white-space:nowrap;animation:aguide-label-wave 2.6s cubic-bezier(.22,.8,.35,1) infinite}
.aguide-fab-seen svg,.aguide-fab-seen .aguide-fab-label{animation:none}
@keyframes aguide-icon-wave{0%,6%,28%,100%{transform:translateY(0) rotate(0)}12%{transform:translateY(-7px) rotate(-6deg)}18%{transform:translateY(1px) rotate(3deg)}23%{transform:translateY(-3px) rotate(-2deg)}}
@keyframes aguide-label-wave{0%,11%,33%,100%{transform:translateY(0)}17%{transform:translateY(-8px)}23%{transform:translateY(1px)}28%{transform:translateY(-3px)}}
.aguide-panel{position:fixed;right:1.1rem;bottom:5.2rem;z-index:901;width:min(920px,calc(100vw - 2rem));height:min(620px,calc(100dvh - 7rem));min-height:420px;background:#fffdf8;border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(29,58,42,.14)}
.aguide-panel[hidden]{display:none}
.aguide-head{background:#1d3a2a;color:#fff;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.aguide-head b{font-size:1.02rem;display:block;letter-spacing:.01em}
.aguide-head span{font-size:.76rem;opacity:.82;display:block;margin-top:.1rem}
.aguide-x{background:rgba(255,255,255,.14);border:0;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.15rem;line-height:1;cursor:pointer;flex:0 0 auto}
.aguide-x:hover{background:rgba(255,255,255,.26)}
.aguide-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;-webkit-overflow-scrolling:touch}
.aguide-m,.aguide-u{max-width:88%;padding:.6rem .8rem;border-radius:14px;font-size:.9rem;line-height:1.45;word-wrap:break-word}
.aguide-m{background:#eef3ec;color:#22301f;border-bottom-left-radius:4px;align-self:flex-start}
.aguide-u{background:#1d3a2a;color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.aguide-m b{color:#1d3a2a}
.aguide-m ul{margin:.35rem 0 .1rem;padding-left:1.1rem}
.aguide-m li{margin:.15rem 0}
.aguide-go{display:inline-block;margin-top:.45rem;background:#1d3a2a;color:#fff;border:0;border-radius:999px;padding:.42rem .9rem;font-size:.82rem;cursor:pointer}
.aguide-go:hover{background:#26492f}
.aguide-typing{display:inline-flex;gap:4px;padding:.7rem .9rem}
.aguide-typing i{width:7px;height:7px;border-radius:50%;background:#8aa392;animation:aguide-blink 1.1s infinite}
.aguide-typing i:nth-child(2){animation-delay:.18s}
.aguide-typing i:nth-child(3){animation-delay:.36s}
@keyframes aguide-blink{0%,60%,100%{opacity:.35}30%{opacity:1}}
.aguide-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.55rem .8rem;border-top:1px solid rgba(29,58,42,.1);background:#f7f4ec}
.aguide-chips:empty{display:none}
.aguide-chip{background:#fff;border:1px solid rgba(29,58,42,.25);color:#1d3a2a;border-radius:999px;padding:.34rem .75rem;font-size:.78rem;cursor:pointer}
.aguide-chip:hover{background:#1d3a2a;color:#fff}
.aguide-input{display:flex;gap:.5rem;padding:.7rem .8rem;border-top:1px solid rgba(29,58,42,.1);background:#fffdf8}
.aguide-input input{flex:1;border:1px solid rgba(29,58,42,.25);border-radius:999px;padding:.55rem .95rem;font-size:.9rem;background:#fff;color:#22301f;outline:none}
.aguide-input input:focus{border-color:#1d3a2a}
.aguide-send{background:#1d3a2a;color:#fff;border:0;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.1rem;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.aguide-send:hover{background:#26492f}
@media (max-width:760px){
  .aguide-panel{right:.75rem;left:.75rem;width:auto;bottom:5rem;height:min(680px,calc(100dvh - 6.25rem));min-height:420px}
  .aguide-fab{right:.9rem;bottom:.9rem}
}
@media (prefers-reduced-motion:reduce){
  .aguide-fab{transition:none}
  .aguide-fab svg,.aguide-fab-label{animation:none}
  .aguide-typing i{animation:none;opacity:.7}
}
/* ---- Alluri Guide: parallel chat + map (offline SVG, no external tiles) ---- */
.aguide-body{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.28fr);flex:1;min-height:0}
.aguide-chatview{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid rgba(29,58,42,.14)}
.aguide-mapview[hidden],.aguide-place[hidden]{display:none}
.aguide-mapview{position:relative;min-width:0;min-height:0;background:#d5e2d2;overflow:hidden}
.aguide-map-toggle{display:none}
@media (max-width:760px){
  .aguide-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
  .aguide-chatview{border-right:0;border-bottom:1px solid rgba(29,58,42,.14)}
  .aguide-map-toggle{display:flex;align-items:center;justify-content:center;gap:.45rem;border:0;background:#edf2e6;color:#1d3a2a;font:inherit;font-weight:600;cursor:pointer}
  .aguide-map-toggle-icon,.aguide-map-toggle-chev{width:18px;height:18px;flex:0 0 18px}
  .aguide-body.map-min .aguide-mapview{height:52px;overflow:hidden}
  .aguide-body.map-min .aguide-mapview > svg,.aguide-body.map-min .aguide-zoom,.aguide-body.map-min .aguide-legend,.aguide-body.map-min .aguide-place,.aguide-body.map-min .aguide-mapnote{display:none}
  .aguide-body.map-min .aguide-map-toggle{width:100%;height:100%}
  .aguide-body:not(.map-min) .aguide-mapview{height:clamp(220px,42dvh,360px)}
  .aguide-body:not(.map-min) .aguide-map-toggle{position:absolute;top:.5rem;left:.5rem;z-index:5;width:auto;height:auto;padding:.45rem .75rem;border-radius:999px;background:rgba(255,253,248,.95);box-shadow:0 3px 10px rgba(20,40,28,.15)}
  .aguide-body:not(.map-min) .aguide-map-toggle-chev{transform:rotate(180deg)}
}
.aguide-mapview > svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.aguide-mapview > svg:active{cursor:grabbing}
.aguide-zoom{position:absolute;top:.6rem;right:.6rem;display:flex;flex-direction:column;gap:.35rem;z-index:4}
.aguide-zoom button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(29,58,42,.25);background:rgba(255,253,248,.94);color:#1d3a2a;font-size:1.05rem;font-weight:700;cursor:pointer;line-height:1;padding:0;box-shadow:0 3px 10px rgba(20,40,28,.12)}
.aguide-zoom button:active{transform:scale(.94)}
.aguide-pin{cursor:pointer;outline:none}
.aguide-pin .hit{fill:transparent;pointer-events:all}
.aguide-pin .halo{fill:rgba(29,58,42,.14)}
.aguide-pin .dot{fill:#1d3a2a;stroke:#fffdf8;stroke-width:1.4}
.aguide-pin .pin-icon{fill:none;stroke:#fffdf8;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transform:scale(1.22);transform-box:fill-box;transform-origin:center}
.aguide-pin[data-pin-type="waterfall"] .dot,.aguide-legend-icon.waterfall circle{fill:#287aa5}
.aguide-pin[data-pin-type="dam"] .dot,.aguide-legend-icon.dam circle{fill:#356f8d}
.aguide-pin[data-pin-type="mountain"] .dot,.aguide-legend-icon.mountain circle{fill:#715b47}
.aguide-pin[data-pin-type="coffee"] .dot,.aguide-legend-icon.coffee circle{fill:#855031}
.aguide-pin[data-pin-type="cave"] .dot,.aguide-legend-icon.cave circle{fill:#574d64}
.aguide-pin[data-pin-type="culture"] .dot,.aguide-legend-icon.culture circle{fill:#ad5b2f}
.aguide-pin[data-pin-type="nature"] .dot,.aguide-legend-icon.nature circle{fill:#39744b}
.aguide-pin[aria-pressed=true] .dot{fill:#b4551f}
.aguide-pin:focus-visible .halo{stroke:#b4551f;stroke-width:2}
.aguide-legend{position:absolute;top:.55rem;left:3.2rem;z-index:3;width:min(258px,calc(100% - 7.2rem));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.22rem .5rem;padding:.36rem .48rem;border:1px solid rgba(29,58,42,.16);border-radius:8px;background:rgba(255,253,248,.9);color:#33493a;box-shadow:0 2px 8px rgba(20,40,28,.1);pointer-events:none}
.aguide-legend-item{display:flex;align-items:center;gap:.28rem;min-width:0;font-size:.62rem;font-weight:700;line-height:1.1;white-space:nowrap}
.aguide-legend-icon{width:16px;height:16px;flex:0 0 16px;overflow:visible}
.aguide-legend-icon path{fill:none;stroke:#fffdf8;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.aguide-source-map,.aguide-place-label{opacity:0;transition:opacity .28s ease}
.aguide-source-map{pointer-events:none}
.aguide-place-label{fill:#183828;font-size:8.5px;font-weight:800;letter-spacing:.01em;paint-order:stroke;stroke:#f7f3e9;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.aguide-place{position:absolute;left:.6rem;right:.6rem;bottom:1.7rem;display:grid;grid-template-columns:86px minmax(0,1fr);gap:.7rem;background:#fffdf8;border:1px solid rgba(29,58,42,.18);border-radius:14px;padding:.58rem;box-shadow:0 8px 24px rgba(20,40,28,.25);z-index:4;overflow:hidden}
.aguide-place[hidden]{display:none}
.aguide-place img{width:86px;height:100%;min-height:92px;object-fit:cover;border-radius:9px;background:#d7e2d4}
.aguide-place-copy{min-width:0;padding:.1rem .1rem .05rem 0}
.aguide-place b{display:block;padding-right:1.65rem;font-size:.92rem;color:#1d3a2a;line-height:1.15}
.aguide-place span{font-size:.72rem;color:#5a6b5e;display:block;margin:.15rem 0 .52rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aguide-place .row{display:flex;gap:.4rem}
.aguide-place button{flex:1;border:0;border-radius:9px;padding:.45rem .4rem;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}
.aguide-place-close{position:absolute;top:.42rem;right:.42rem;display:grid;place-items:center;width:27px;height:27px!important;padding:0!important;border:1px solid rgba(29,58,42,.18)!important;border-radius:50%!important;background:#eef3ea!important;color:#1d3a2a!important;font-size:1rem!important;line-height:1}
.aguide-ask{background:#1d3a2a;color:#fff}
.aguide-go{background:#eef3ea;color:#1d3a2a}
.aguide-mapnote{position:absolute;left:.45rem;bottom:.3rem;padding:.15rem .38rem;border-radius:6px;background:rgba(255,253,248,.82);font-size:.63rem;color:#5a6b5e;z-index:3;pointer-events:none;margin:0}
@media (max-width:420px){.aguide-place{grid-template-columns:76px minmax(0,1fr)}.aguide-place img{width:76px}.aguide-place button{font-size:.72rem}.aguide-place span{font-size:.68rem}}
@media (prefers-reduced-motion:reduce){.aguide-source-map,.aguide-place-label{transition:none}}

/* ---- Intent-first journey flow ---- */
.aguide-intents{display:grid;gap:.55rem;margin-top:.8rem}
.aguide-intent{width:100%;padding:.72rem .78rem;border:1px solid rgba(29,58,42,.2);border-radius:10px;background:#fffdf8;color:#22301f;text-align:left;cursor:pointer;font:inherit}
.aguide-intent:hover,.aguide-intent:focus-visible{border-color:#1d3a2a;background:#f7f4ec;outline:none}
.aguide-intent b,.aguide-intent span,.aguide-intent small,.aguide-intent em{display:block}
.aguide-intent b{font-size:.9rem;color:#1d3a2a}
.aguide-intent span{margin-top:.18rem;font-size:.75rem;line-height:1.35;color:#405448}
.aguide-intent small{margin-top:.38rem;padding-top:.35rem;border-top:1px solid rgba(29,58,42,.1);font-size:.69rem;line-height:1.35;color:#5a6b5e}
.aguide-intent small span{font-size:inherit;color:inherit}
.aguide-intent em{margin-top:.22rem;font-size:.68rem;font-style:normal;font-weight:800;color:#9a4a21}
.aguide-m--plan{max-width:100%;width:100%;padding:.8rem}
.aguide-plan-label{display:block;margin-bottom:.2rem;color:#496b45;font-size:.68rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.aguide-plan h3{margin:.05rem 0 .35rem;font-family:var(--display,serif);font-size:1.35rem;line-height:1.15;color:#173f2e}
.aguide-plan>p{margin:.25rem 0 .8rem;color:#405448}
.aguide-day{margin:.72rem 0;padding:.72rem;background:#fffdf8;border:1px solid rgba(29,58,42,.12)}
.aguide-day h4{margin:0 0 .55rem;font-family:var(--display,serif);font-size:1.05rem;color:#173f2e}
.aguide-day dl{display:grid;grid-template-columns:72px minmax(0,1fr);gap:.34rem .55rem;margin:0}
.aguide-day dt{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#496b45}
.aguide-day dd{min-width:0;margin:0;font-size:.78rem;color:#22301f}
.aguide-day ol{margin:0;padding-left:1.1rem}
.aguide-day li+li{margin-top:.12rem}
.aguide-plan .itinerary-route{margin:1rem 0 0}
.aguide-plan .itinerary-route-head h3{font-size:1.05rem}
.aguide-plan .itinerary-route-head p{font-size:.72rem}
.aguide-plan .itinerary-map-canvas{height:210px}
.aguide-plan .itinerary-map-key{padding:.7rem}
.aguide-plan .itinerary-map-key h4{font-size:1rem;margin-bottom:.55rem}
.aguide-plan .itinerary-map-key ol{grid-template-columns:1fr;gap:.42rem}
.aguide-plan .itinerary-map-key li{grid-template-columns:28px minmax(0,1fr);gap:.45rem}
.aguide-plan .itinerary-map-key b{font-size:.76rem}
.aguide-plan .itinerary-map-key span:last-child{font-size:.66rem}
.aguide-plan .itinerary-day-legend{gap:.3rem .55rem;margin-top:.65rem}
.aguide-plan-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.aguide-download,.aguide-restart{border:0;border-radius:999px;padding:.5rem .82rem;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.aguide-download{background:#1d3a2a;color:#fff}
.aguide-restart{background:#fffdf8;color:#1d3a2a;border:1px solid rgba(29,58,42,.25)}
.aguide-download:disabled{opacity:.55;cursor:wait}
.aguide-download-status{min-height:1.1em;margin:.45rem 0 0!important;font-size:.7rem!important;color:#496b45!important}
@media (max-width:760px){
  .aguide-msgs{padding:.75rem}
  .aguide-m,.aguide-u{max-width:94%}
  .aguide-m--plan{max-width:100%}
  .aguide-plan .itinerary-map-canvas{height:190px}
}
@media (max-width:420px){
  .aguide-day dl{grid-template-columns:1fr;gap:.12rem}
  .aguide-day dd+dt{margin-top:.28rem}
  .aguide-plan-actions{display:grid;grid-template-columns:1fr}
}
