/* น้องแวว — ผู้ช่วยนำทางแห่งโลกแววมณี */
#waew-pet{--wv-w:108px;--wv-h:124px;--wv-green:#2E6B3F;--wv-soft:#E1EDDD;--wv-cream:#FFF7E6;--wv-ink:#1C2620;--wv-muted:#4F5D53;--wv-surface:#FFFFFF;--wv-line:#D2DBCD;--wv-gold:#F5C84C;--wv-user:#2E6B3F;--wv-user-ink:#FFFFFF;
  position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:2147483000;font-family:'Sarabun',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5;color:var(--wv-ink);-webkit-tap-highlight-color:transparent}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #waew-pet{--wv-soft:#1F3226;--wv-cream:#2A3329;--wv-ink:#E5ECE6;--wv-muted:#A9B7AD;--wv-surface:#1A231D;--wv-line:#2D3A31;--wv-user:#86C795;--wv-user-ink:#0F1C13}}
:root[data-theme="dark"] #waew-pet{--wv-soft:#1F3226;--wv-cream:#2A3329;--wv-ink:#E5ECE6;--wv-muted:#A9B7AD;--wv-surface:#1A231D;--wv-line:#2D3A31;--wv-user:#86C795;--wv-user-ink:#0F1C13}
#waew-pet *{box-sizing:border-box}
#waew-pet button{font:inherit;color:inherit;cursor:pointer}
.wv-fab{position:relative;display:block;width:var(--wv-w);height:var(--wv-h);padding:0;border:0;border-radius:18px;background:transparent;transform-origin:50% 100%;transition:transform .15s ease}
.wv-fab:hover{transform:scale(1.05) rotate(-2deg)}
.wv-fab:active{transform:scale(.97)}
.wv-fab:focus-visible,#waew-pet button:focus-visible,#waew-pet input:focus-visible,#waew-pet a:focus-visible{outline:3px solid var(--wv-gold);outline-offset:2px}
.wv-fab img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 5px 6px rgba(20,45,28,.30));transform-origin:50% 100%;animation:wv-bob 3.4s ease-in-out infinite}
.wv-fab.has-new img,.wv-fab.touring img{animation:wv-hop 1.1s ease-in-out infinite}
.wv-fab .wv-dot{position:absolute;top:6px;right:4px;width:14px;height:14px;border-radius:50%;background:#E5533D;border:2px solid var(--wv-surface);display:none}
.wv-fab.has-new .wv-dot{display:block}
@keyframes wv-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-1.5deg)}}
@keyframes wv-hop{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-9px) rotate(-4deg)}60%{transform:translateY(0) rotate(3deg)}}
.wv-bubble{position:absolute;right:calc(var(--wv-w) - 4px);bottom:calc(var(--wv-h) * .38);width:max-content;max-width:min(240px,calc(100vw - var(--wv-w) - 40px));padding:10px 14px;border-radius:16px 16px 4px 16px;background:var(--wv-surface);border:1.5px solid var(--wv-green);box-shadow:0 6px 18px rgba(20,45,28,.18);font-size:15px;line-height:1.4;text-align:left;cursor:pointer;animation:wv-pop .25s ease-out}
.wv-bubble[hidden]{display:none}
@keyframes wv-pop{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.wv-panel{position:absolute;right:0;bottom:calc(var(--wv-h) + 10px);width:min(380px,calc(100vw - 24px));height:min(580px,calc(100dvh - var(--wv-h) - 50px));display:flex;flex-direction:column;background:var(--wv-surface);border:1.5px solid var(--wv-line);border-radius:20px;box-shadow:0 14px 40px rgba(20,45,28,.28);overflow:hidden;animation:wv-pop .2s ease-out}
.wv-panel[hidden]{display:none}
.wv-head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--wv-green);color:#fff}
.wv-head img{width:44px;height:44px;border-radius:50%;background:var(--wv-cream);border:2px solid #fff;flex:none}
.wv-head b{display:block;font-family:'Mitr','Sarabun',sans-serif;font-weight:500;font-size:18px;line-height:1.2}
.wv-head small{display:block;font-size:13px;opacity:.9;line-height:1.3}
.wv-head .wv-x{margin-left:auto;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:22px;line-height:1}
.wv-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--wv-cream);overscroll-behavior:contain}
.wv-msg{display:flex;gap:8px;align-items:flex-end;max-width:100%}
.wv-msg.me{justify-content:flex-end}
.wv-msg img{width:32px;height:32px;border-radius:50%;background:var(--wv-cream);border:1.5px solid var(--wv-line);flex:none}
.wv-text{max-width:82%;padding:9px 13px;border-radius:16px;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--wv-surface);border:1px solid var(--wv-line)}
.wv-msg.bot .wv-text{border-bottom-left-radius:4px}
.wv-msg.me .wv-text{background:var(--wv-user);color:var(--wv-user-ink);border-color:var(--wv-user);border-bottom-right-radius:4px}
.wv-go{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.wv-go a,.wv-go button,.wv-chip{display:inline-block;padding:6px 12px;border-radius:999px;border:1.5px solid var(--wv-green);background:var(--wv-surface);color:var(--wv-green);font-size:14px;text-decoration:none;line-height:1.3}
.wv-go a:hover,.wv-go button:hover,.wv-chip:hover{background:var(--wv-soft)}
.wv-chips{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-top:1px solid var(--wv-line);background:var(--wv-surface);scrollbar-width:thin}
.wv-chip{flex:none;white-space:nowrap}
.wv-chip.tour{background:var(--wv-green);color:#fff}
.wv-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--wv-line);background:var(--wv-surface)}
.wv-form input{flex:1;min-width:0;padding:10px 14px;border:1.5px solid var(--wv-line);border-radius:999px;background:var(--wv-cream);color:var(--wv-ink);font:inherit;font-size:16px}
.wv-form button{flex:none;padding:0 16px;border:0;border-radius:999px;background:var(--wv-green);color:#fff;font-size:15px}
.wv-typing{display:inline-flex;gap:4px;padding:12px 14px}.wv-typing i{width:6px;height:6px;border-radius:50%;background:var(--wv-muted);animation:wv-dots 1s infinite}.wv-typing i:nth-child(2){animation-delay:.15s}.wv-typing i:nth-child(3){animation-delay:.3s}
@keyframes wv-dots{0%,80%,100%{opacity:.25}40%{opacity:1}}
/* tour */
.wv-ring{position:absolute;z-index:2147482990;pointer-events:none;border:3px solid var(--wv-gold,#F5C84C);border-radius:14px;box-shadow:0 0 0 9999px rgba(15,28,19,.38);transition:all .3s ease}
.wv-ring[hidden]{display:none}
.wv-tour{position:absolute;right:0;bottom:calc(var(--wv-h) + 10px);width:min(340px,calc(100vw - 24px));padding:12px;display:flex;gap:10px;background:var(--wv-surface);border:2px solid var(--wv-green);border-radius:18px;box-shadow:0 14px 40px rgba(20,45,28,.3);animation:wv-pop .2s ease-out}
.wv-tour[hidden]{display:none}
.wv-tour img{width:56px;height:56px;border-radius:50%;background:var(--wv-cream);border:2px solid var(--wv-green);flex:none}
.wv-tour p{margin:0 0 8px;font-size:15px;line-height:1.45}
.wv-tour .wv-step{font-size:12px;color:var(--wv-muted);margin-bottom:2px}
.wv-tour .wv-btns{display:flex;flex-wrap:wrap;gap:6px}
.wv-tour .wv-btns button,.wv-tour .wv-btns a{padding:6px 12px;border-radius:999px;border:1.5px solid var(--wv-green);background:var(--wv-surface);color:var(--wv-green);font-size:14px;text-decoration:none;line-height:1.3}
.wv-tour .wv-btns .primary{background:var(--wv-green);color:#fff}
.wv-tour .wv-btns .quiet{border-color:var(--wv-line);color:var(--wv-muted)}
@media (max-width:560px){
 #waew-pet{right:12px}
 #waew-pet{--wv-w:84px;--wv-h:96px}
 .wv-panel:not([hidden]) ~ .wv-fab{display:none}
 .wv-panel{position:fixed;left:0;right:0;bottom:0;width:100%;height:min(82dvh,640px);border-radius:20px 20px 0 0;border-width:1.5px 0 0}
 .wv-tour{position:fixed;left:12px;right:12px;bottom:calc(var(--wv-h) + 22px + env(safe-area-inset-bottom,0px));width:auto}
}
@media (prefers-reduced-motion:reduce){.wv-fab img,.wv-fab.has-new img,.wv-fab.touring img,.wv-bubble,.wv-panel,.wv-tour,.wv-typing i{animation:none}.wv-ring{transition:none}.wv-fab{transition:none}}
@media print{#waew-pet,.wv-ring{display:none!important}}
