.sd-chat{position:fixed;right:25px;bottom:max(24px,env(safe-area-inset-bottom));z-index:80;font-family:Kanit,system-ui,sans-serif;color:#203c36}.sd-chat [hidden]{display:none!important}.sd-chat-launcher{width:60px;height:60px;border:1px solid #ffffff4d;border-radius:50%;background:#0e4b4f;color:white;display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 25px #082a2a24;position:relative}.sd-chat-launcher>svg{width:27px;height:27px}.sd-chat-launcher-label{position:absolute;right:75px;top:17px;white-space:nowrap;background:white;color:#254b43;padding:7px 13px;font-size:12px;border:1px solid #e5ebe3;border-radius:8px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity 180ms ease}.sd-chat-launcher:hover .sd-chat-launcher-label,.sd-chat-launcher:focus-visible .sd-chat-launcher-label{opacity:1}.sd-chat.is-open .sd-chat-launcher-label{display:none}.sd-chat button:focus-visible,.sd-chat a:focus-visible{outline:3px solid #a0c64f;outline-offset:4px}.sd-chat-panel{position:absolute;right:80px;bottom:0;width:360px;height:min(570px,calc(100dvh - 48px));display:flex;flex-direction:column;background:#fff;border:1px solid #dce6dc;border-radius:20px;box-shadow:0 18px 70px #082a2a29;outline:none;animation:sd-chat-in 240ms ease}.sd-chat-header{display:flex;align-items:center;gap:13px;padding:22px 21px 18px;border-bottom:1px solid #e9eee7}.sd-chat-header img{width:25px;height:34px;object-fit:contain}.sd-chat-header h2{font-size:19px;font-weight:400;color:#184b45;line-height:1.4;margin:0}.sd-chat-header p{font-size:11px;color:#809085;margin:5px 0 0}.sd-chat-header button{border:0;background:transparent;color:#718477;display:grid;place-items:center;padding:5px;cursor:pointer;margin-left:auto}.sd-chat-header button svg{width:20px;height:20px}.sd-chat-channels{position:absolute;right:-73px;bottom:80px;display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 150px);overflow-y:auto;padding:4px;scrollbar-width:none}.sd-channel{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:0;color:white;cursor:pointer;flex-shrink:0}.sd-channel svg{width:25px;height:25px}.sd-channel-whatsapp{background:#20c765}.sd-channel-telegram{background:#239ed2}.sd-channel-facebook{background:#1675e9}.sd-channel-line{background:#00bd53}.sd-channel-instagram{background:linear-gradient(30deg,#ffc263,#f34d64 50%,#6a3ae1)}.sd-channel-phone{background:#ff8226}.sd-chat-messages{flex:1;min-height:80px;overflow-y:auto;padding:20px;overscroll-behavior:contain;display:flex;flex-direction:column;gap:13px;align-items:flex-start}.sd-chat-bubble{font-size:13px;line-height:1.85;white-space:pre-line;max-width:95%;padding:12px 15px;margin:0;border-radius:14px;background:#f0f5ed;color:#2c4d40}.sd-chat-user{align-self:flex-end;background:#0e4b4f;color:#fff}.sd-chat-quick{display:flex;flex-wrap:wrap;gap:7px;padding:10px 20px 16px}.sd-chat-quick button,.sd-chat-quick a{font:400 11px Kanit,system-ui,sans-serif;border:1px solid #d9e4d4;color:#40644e;background:transparent;border-radius:999px;padding:6px 10px;cursor:pointer}.sd-chat-form{margin:0 16px;display:flex;align-items:center;border:1px solid #d9e4d4;border-radius:12px;padding:5px;background:#fff}.sd-chat-form input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:inherit;padding:8px 9px;font:400 16px Kanit,system-ui,sans-serif}.sd-chat-form input::placeholder{font-size:12px;color:#63715f}.sd-chat-form button{border:0;display:grid;place-items:center;background:#0e4b4f;color:white;width:37px;height:37px;border-radius:9px;cursor:pointer;flex-shrink:0}.sd-chat-form button svg{width:20px;height:20px}.sd-chat-form:focus-within{border-color:#578770;box-shadow:0 0 0 2px #78a77825}.sd-chat-note{font-size:9px;line-height:1.7;color:#94a08f;margin:10px 18px 14px;text-align:center}@keyframes sd-chat-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.sd-chat{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.sd-chat-launcher{width:54px;height:54px}.sd-chat-launcher>svg{width:25px;height:25px}.sd-chat-panel{right:0;bottom:72px;width:min(360px,calc(100vw - 32px));height:min(570px,calc(100dvh - 112px));border-radius:18px}.sd-chat-channels{position:static;flex-direction:row;gap:9px;overflow-x:auto;overflow-y:hidden;padding:12px 17px 0;max-height:none}.sd-channel{width:36px;height:36px}.sd-channel svg{height:21px;width:21px}.sd-chat-header{padding:17px 18px 14px}.sd-chat-header h2{font-size:18px}.sd-chat-messages{padding:16px;gap:10px}.sd-chat-bubble{font-size:12px}.sd-chat-quick{padding:8px 16px 12px}.sd-chat-quick button,.sd-chat-quick a{font-size:10px;padding:6px 9px}.sd-chat-note{font-size:8px;margin:8px 16px 11px}.sd-chat-launcher-label{display:none}}
@media(max-height:500px) and (min-width:601px){.sd-chat-panel{height:calc(100dvh - 40px);bottom:0}.sd-chat-channels{bottom:68px}.sd-channel{width:36px;height:36px}.sd-chat-messages{padding:12px 18px}.sd-chat-header{padding:12px 18px}.sd-chat-quick{padding-bottom:10px}.sd-chat-note{margin-block:5px}}
@media(prefers-reduced-motion:reduce){.sd-chat-panel{animation:none}.sd-chat-launcher-label{transition:none}}
/* Customer-supplied Holy Grail/RLAX reference: dark header, light conversation, quick actions. */
.sd-chat-header{background:#080b0a;border-color:#080b0a;border-radius:19px 19px 0 0}.sd-chat-header h2{color:#f7f7f2}.sd-chat-header p{color:#b4bfb5}.sd-chat-header button{color:#f7f7f2}
@media(max-width:600px){.sd-chat-header{border-radius:17px 17px 0 0}}
@media(max-height:550px){.sd-chat.is-open .sd-chat-launcher{visibility:hidden}.sd-chat-panel{right:0;bottom:0;height:calc(100dvh - 32px);max-height:none}.sd-chat-header{padding:10px 15px;gap:10px}.sd-chat-header img{width:19px;height:27px}.sd-chat-header h2{font-size:16px}.sd-chat-header p{display:none}.sd-chat-channels{position:static;flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:8px;padding:8px 15px 0;max-height:none}.sd-channel{width:29px;height:29px}.sd-channel svg{width:19px;height:19px}.sd-chat-messages{padding:9px 14px;min-height:45px;gap:8px}.sd-chat-bubble{font-size:11px;padding:8px 11px}.sd-chat-quick{flex-wrap:nowrap;overflow-x:auto;flex-shrink:0;padding:5px 14px 8px}.sd-chat-quick :is(button,a){white-space:nowrap;flex-shrink:0;font-size:10px;padding:4px 8px}.sd-chat-form{margin-inline:12px;flex-shrink:0;padding:3px}.sd-chat-form input{padding:5px 7px}.sd-chat-form button{width:30px;height:30px}.sd-chat-note{font-size:8px;margin:5px 12px 7px;line-height:1.5}}
/* Long pasted text stays inside its bubble; small screens retain usable controls. */
.sd-chat-bubble{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px),(max-height:550px),(pointer:coarse){.sd-channel{width:44px;height:44px}.sd-chat-channels{flex-shrink:0}.sd-chat-header button{min-width:44px;min-height:44px}.sd-chat-quick :is(button,a){min-height:44px;display:inline-flex;align-items:center;justify-content:center}.sd-chat-form button{width:44px;height:44px}.sd-chat-quick,.sd-chat-form{flex-shrink:0}}
/* Nami (24 Oct 2026): avatar, topic/question chips, Book / LINE / Call actions. The old channel rail is gone. */
.sd-chat-avatar{width:40px;height:40px;border-radius:50%;background:#0e4b4f;display:grid;place-items:center;flex-shrink:0}.sd-chat-avatar img{width:19px;height:26px;object-fit:contain}
.sd-chat-bubble strong{font-weight:500;color:#184b45}
.sd-chat-quick{max-height:148px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #eef2ec;padding-top:12px}
.sd-chat-quick button{text-align:left;line-height:1.5}.sd-chat-chip-back{display:inline-flex;align-items:center;gap:3px;background:#f0f5ed!important}.sd-chat-chip-back svg{width:13px;height:13px}
.sd-chat-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 16px 10px}
.sd-chat-action{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border-radius:999px;font:500 12px Kanit,system-ui,sans-serif;text-decoration:none;border:1px solid #d9e4d4;color:#184b45;background:#fff;padding:6px 8px;white-space:nowrap}
.sd-chat-action svg{width:16px;height:16px;flex-shrink:0}.sd-chat-action--book{background:#0e4b4f;border-color:#0e4b4f;color:#fff}.sd-chat-action--line{background:#06c755;border-color:#06c755;color:#fff}
.sd-chat-action:hover{filter:brightness(1.06)}
@media(max-width:600px),(max-height:550px),(pointer:coarse){.sd-chat-action{min-height:44px}}
@media(max-height:550px){.sd-chat-quick{max-height:70px;padding-top:6px}.sd-chat-actions{padding-bottom:6px}}
html[data-theme=dark] .sd-chat-panel{background:var(--sd-surface,#14201f);border-color:var(--sd-line,#2c3b39);color:var(--sd-text,#f1f4f0)}
html[data-theme=dark] .sd-chat-bubble.sd-chat-bot{background:var(--sd-raised,#1d2b29);color:var(--sd-text,#f1f4f0)}html[data-theme=dark] .sd-chat-bubble strong{color:var(--sd-accent,#c8ef6f)}
html[data-theme=dark] :is(.sd-chat-quick button,.sd-chat-action:not(.sd-chat-action--book,.sd-chat-action--line),.sd-chat-form){background:transparent;border-color:var(--sd-line,#2c3b39);color:var(--sd-text,#f1f4f0)}
html[data-theme=dark] .sd-chat-chip-back{background:var(--sd-raised,#1d2b29)!important}html[data-theme=dark] .sd-chat-quick{border-color:var(--sd-line,#2c3b39)}

/* Nami (Manu, 27 Oct 2026): chips in an even two-column grid instead of a ragged wrap, an answer that "types" first,
   and the next questions fading in after it. Short landscape screens keep the one-row scroller above. */
@media(min-height:551px){
.sd-chat-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;max-height:min(214px,34dvh);padding:12px 16px 14px;scrollbar-width:thin}
.sd-chat-quick :is(button,a){display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:44px;margin:0;padding:8px 10px;border-radius:14px;text-align:center;line-height:1.45;white-space:normal;font-size:11.5px;transition:background-color .15s,border-color .15s}
.sd-chat-quick :is(button,a):hover{background:#f4f8f1;border-color:#b9cdb4}
.sd-chat-quick :is(.sd-chat-chip-back,.is-wide){grid-column:1/-1}
.sd-chat-quick .sd-chat-chip-back{min-height:38px;border-color:transparent}
}
@media(min-height:551px) and (max-width:600px){.sd-chat-quick :is(button,a){font-size:11px;padding:7px 8px}}
.sd-chat-actions{padding-top:2px}
.sd-chat-quick.is-waiting>*{opacity:0;pointer-events:none}
.sd-chat-quick.is-revealed>*{animation:sd-chat-in .32s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*45ms)}
.sd-chat-bubble.is-new{animation:sd-chat-in .3s cubic-bezier(.2,.7,.2,1) both}
.sd-chat-typing{display:inline-flex;align-items:center;gap:5px;padding:14px 16px;min-height:0}
.sd-chat-typing span{width:7px;height:7px;border-radius:50%;background:#6f9a80;animation:sd-chat-dot 1.05s ease-in-out infinite}
.sd-chat-typing span:nth-child(2){animation-delay:.16s}
.sd-chat-typing span:nth-child(3){animation-delay:.32s}
@keyframes sd-chat-in{from{opacity:0;transform:translateY(6px)}}
@keyframes sd-chat-dot{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.sd-chat-quick.is-revealed>*,.sd-chat-bubble.is-new,.sd-chat-typing span{animation:none}}
html[data-theme=dark] .sd-chat-typing span{background:var(--sd-accent,#d4f36b)}
html[data-theme=dark] .sd-chat-quick :is(button,a):hover{background:#ffffff0d;border-color:#f7f7f266}

/* Larger text (Manu, 31 Oct 2026): a bigger panel and type that reads without squinting. */
.sd-chat-panel{width:400px;height:min(660px,calc(100dvh - 48px))}
.sd-chat-header h2{font-size:21px}.sd-chat-header p{font-size:13px}
.sd-chat-bubble{font-size:15.5px;line-height:1.75}
.sd-chat-quick :is(button,a){font-size:14px}
.sd-chat-action{font-size:14px}
.sd-chat-form input::placeholder{font-size:14.5px}
.sd-chat-note{font-size:11.5px;line-height:1.6}
@media(max-width:600px){.sd-chat-panel{width:min(400px,calc(100vw - 32px));height:min(640px,calc(100dvh - 112px))}.sd-chat-header h2{font-size:19px}.sd-chat-header p{font-size:12.5px}.sd-chat-bubble{font-size:15px}.sd-chat-quick :is(button,a){font-size:13.5px;padding:7px 8px}.sd-chat-action{font-size:13px}.sd-chat-note{font-size:11px;margin:8px 16px 11px}}
@media(max-height:550px){.sd-chat-bubble{font-size:13.5px}.sd-chat-quick :is(button,a){font-size:12.5px}.sd-chat-action{font-size:12.5px}.sd-chat-note{font-size:10.5px}}
/* Phones: the open panel sits at the bottom edge in place of the launcher, small enough that its header is never cut. */
@media(max-width:600px){.sd-chat.is-open .sd-chat-launcher{visibility:hidden}.sd-chat-panel{bottom:0;height:min(540px,calc(100dvh - 24px))}.sd-chat-quick{max-height:min(168px,26dvh)}}
