/* Website assistant: chat bubble + panel (storefront, dark theme tokens from style.css) */
.rat-assist{--ra-bg:var(--card,#1A2431);--ra-line:var(--border,#2C3A49);--ra-ink:var(--text,#EAF3FA);--ra-dim:var(--text-dim,#93A7B8);--ra-acc:var(--accent,#4FC3F7)}
.ra-bubble{position:fixed;right:22px;bottom:82px;z-index:56;display:inline-flex;align-items:center;gap:8px;
  background:var(--ra-acc);color:var(--on-accent);border:0;border-radius:999px;padding:11px 16px 11px 13px;
  font:600 14px/1 var(--font-body,'Inter',sans-serif);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);
  transition:transform .15s ease,box-shadow .15s ease}
.ra-bubble svg{width:22px;height:22px}
.ra-bubble:hover{transform:translateY(-2px);box-shadow:0 10px 28px color-mix(in srgb, var(--accent) 35%, transparent)}
.rat-assist.open .ra-bubble{display:none}
.ra-panel{position:fixed;right:22px;bottom:22px;z-index:70;width:380px;max-width:calc(100vw - 32px);
  height:560px;max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:var(--ra-bg);
  border:1px solid var(--ra-line);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.5);color:var(--ra-ink);overflow:hidden}
.ra-panel[hidden]{display:none}
.ra-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-bottom:1px solid var(--ra-line);background:var(--bg-alt,#0B1119)}
.ra-head strong{display:block;font-family:var(--font-display,'Sora',sans-serif);font-size:15px}
.ra-head small{color:var(--ra-dim);font-size:12px}
.ra-close{background:none;border:0;color:var(--ra-dim);font-size:26px;line-height:1;cursor:pointer;padding:0 4px}
.ra-close:hover{color:var(--ra-ink)}
.ra-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.5}
.ra-msg{max-width:88%;padding:9px 12px;border-radius:12px;overflow-wrap:anywhere}
.ra-msg.bot{align-self:flex-start;background:var(--bg,#101720);border:1px solid var(--ra-line);border-bottom-left-radius:4px}
.ra-msg.me{align-self:flex-end;background:var(--ra-acc);color:var(--on-accent);border-bottom-right-radius:4px}
.ra-msg a{color:var(--ra-acc);text-decoration:underline}
.ra-msg ul{margin:4px 0;padding-left:18px}
.ra-msg p{margin:0 0 6px}.ra-msg p:last-child{margin:0}
.ra-msg.err{border-color:var(--accent-warn,#EF6B6B)}
.ra-typing{display:inline-flex;gap:4px}.ra-typing i{width:6px;height:6px;border-radius:50%;background:var(--ra-dim);animation:ra-b 1s infinite}
.ra-typing i:nth-child(2){animation-delay:.15s}.ra-typing i:nth-child(3){animation-delay:.3s}
@keyframes ra-b{0%,80%,100%{opacity:.3}40%{opacity:1}}
.ra-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.ra-chips button{background:none;border:1px solid var(--ra-line);color:var(--ra-ink);border-radius:999px;padding:6px 10px;font-size:12.5px;cursor:pointer}
.ra-chips button:hover{border-color:var(--ra-acc);color:var(--ra-acc)}
.ra-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--ra-line)}
.ra-form input{flex:1;min-width:0;background:var(--bg,#101720);border:1px solid var(--ra-line);border-radius:10px;color:var(--ra-ink);padding:10px 12px;font-size:14px}
.ra-form input:focus{outline:none;border-color:var(--ra-acc)}
.ra-form button{background:var(--ra-acc);border:0;border-radius:10px;width:42px;color:var(--on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center}
.ra-form button svg{width:20px;height:20px}
.ra-form button:disabled{opacity:.5;cursor:wait}
.ra-note{margin:0;padding:0 14px 10px;font-size:11.5px;color:var(--ra-dim)}
.ra-note a{color:var(--ra-acc)}
@media (max-width:720px){
  .ra-bubble{bottom:calc(136px + env(safe-area-inset-bottom,0px));right:14px;padding:12px}
  .ra-bubble span{display:none}
  .ra-panel{right:8px;left:8px;width:auto;max-width:none;bottom:calc(68px + env(safe-area-inset-bottom,0px));height:auto;top:72px;max-height:none}
}
@media (prefers-reduced-motion:reduce){.ra-typing i{animation:none}.ra-bubble{transition:none}}
.ra-caret{display:inline-block;width:7px;height:14px;margin-left:2px;vertical-align:-2px;background:var(--ra-acc);animation:ra-blink .8s steps(2) infinite}
@keyframes ra-blink{50%{opacity:0}}
