/* AI assistant widget — scoped to .aw-*. Light/dark via html[data-theme]. */
.aw{--aw-bg:#fff;--aw-ink:#14161c;--aw-mut:#6b7280;--aw-line:#e5e7eb;--aw-soft:#ececef;--aw-bg2:#f1f2f5;--aw-pri:#2f5bff;--aw-pri2:#7c3aed;--aw-red:#d90000;font-family:var(--f,'Archivo',system-ui,sans-serif);color:var(--aw-ink)}
html[data-theme=dark] .aw{--aw-bg:#14161c;--aw-ink:#f3f4f6;--aw-mut:#9ca3af;--aw-line:#2a2e38;--aw-soft:#222631;--aw-bg2:#0f1116}
.aw *{box-sizing:border-box}
.aw :where(button){font:inherit;cursor:pointer}
.aw i.ti{line-height:1}

/* ---- glass bubble + stars ---- */
.aw-bubble{position:relative;display:inline-block;width:108px;height:108px;flex:none;animation:aw-float 5s ease-in-out infinite}
.aw-orb{position:absolute;inset:0;border-radius:50%;overflow:hidden;isolation:isolate;display:grid;place-items:center;
  background:radial-gradient(ellipse 48% 40% at 70% 78%,#7479e6 0%,rgba(116,121,230,.65) 45%,transparent 100%),radial-gradient(ellipse 80% 38% at 38% 104%,#4f94dd 0%,transparent 100%),radial-gradient(circle at 46% 40%,#3e709f 0%,#4a85c3 42%,#5b98d9 72%,#2763cb 100%);
  box-shadow:inset 0 0 7px 1px #2563d0,inset 0 3px 8px rgba(207,250,254,.55);
  animation:aw-squish 6s ease-in-out infinite}
/* glass on top */
.aw-streak{position:absolute;z-index:3;top:-25%;left:-70%;width:38%;height:150%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:aw-streak 6s ease-in-out infinite;pointer-events:none}
.aw-orb::before{content:"";position:absolute;z-index:3;left:30%;top:4%;width:56%;height:30%;border-radius:50%;transform:rotate(-24deg);
  background:radial-gradient(ellipse at 45% 40%,#f0feff 0%,rgba(165,243,252,.85) 42%,transparent 74%);filter:blur(2px);animation:aw-shimmer 6s ease-in-out infinite}
.aw-orb::after{content:"";position:absolute;z-index:3;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse 10% 25% at 19% 47%,rgba(207,240,250,.75),transparent 100%)}
.aw-spark{position:relative;z-index:4;width:50%;height:50%;fill:#fff;animation:aw-twinkle 2.8s ease-in-out infinite}
.aw-spark .s2{animation:aw-twinkle 2.8s ease-in-out infinite .9s;transform-origin:7.4px 21.6px}
/* stars floating around the bubble */
.aw-twink{position:absolute;width:10px;height:10px;fill:#fff;opacity:0;animation:aw-tw 3.6s ease-in-out infinite;pointer-events:none}
.aw-twink.t1{top:-7px;right:-3px;width:11px;height:11px}
.aw-twink.t2{top:24%;left:-11px;width:8px;height:8px;animation-delay:.9s}
.aw-twink.t3{bottom:10%;right:-12px;width:9px;height:9px;animation-delay:1.7s}
.aw-twink.t4{bottom:-6px;left:22%;width:7px;height:7px;animation-delay:2.4s}
.aw-twink.t5{top:-9px;left:28%;width:6px;height:6px;animation-delay:.4s}
/* sizes */
.aw-bubble.aw-orb-sm{width:64px;height:64px}
.aw-bubble.aw-orb-md{width:62px;height:62px}
@keyframes aw-squish{0%,100%{transform:scale(1,1)}25%{transform:scale(1.035,.97)}50%{transform:scale(.98,1.03)}75%{transform:scale(1.025,.985)}}
@keyframes aw-streak{0%,55%{left:-70%}100%{left:130%}}
@keyframes aw-float{50%{transform:translateY(-6px)}}
@keyframes aw-shimmer{50%{opacity:.7;transform:rotate(-24deg) translate(4px,2px)}}
@keyframes aw-twinkle{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.12) rotate(10deg);opacity:.85}}
@keyframes aw-tw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}45%{opacity:1;transform:scale(1) rotate(25deg) translateY(-3px)}70%{opacity:.4;transform:scale(.7) rotate(45deg) translateY(-6px)}}
@keyframes aw-jelly{0%{transform:scale(1)}30%{transform:scale(1.14,.88)}55%{transform:scale(.92,1.1)}80%{transform:scale(1.04,.97)}100%{transform:scale(1)}}
@keyframes aw-splash{from{transform:scale(1);opacity:.9;border-width:4px}to{transform:scale(3);opacity:0;border-width:1px}}

/* ---- floating button ---- */
.aw-fab{position:fixed;right:32px;bottom:32px;z-index:90;border:0;background:none;padding:0;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;
  animation:aw-pop .6s cubic-bezier(.2,1.4,.4,1) both .4s;transition:transform .25s}
.aw-fab:hover{transform:scale(1.06)}
.aw-fab:hover .aw-bubble{animation:aw-jelly .8s ease-out}
.aw-fab .aw-bubble{animation-duration:4s}
.aw-fab.splash::after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid #7dd3fc;animation:aw-splash .7s ease-out;pointer-events:none}
@keyframes aw-pop{from{transform:scale(0) rotate(-90deg);opacity:0}}
.aw-tip{position:absolute;right:76px;top:50%;transform:translateY(-50%) translateX(10px);white-space:nowrap;background:var(--aw-bg);color:var(--aw-ink);font:600 14px var(--f,sans-serif);padding:9px 14px;border-radius:14px;opacity:0;pointer-events:none;transition:.35s}
.aw-tip.show{opacity:1;transform:translateY(-50%)}
.aw.is-open .aw-fab{display:none}

/* ---- panel ---- */
.aw-panel{position:fixed;right:20px;bottom:20px;z-index:95;width:390px;max-width:calc(100vw - 24px);height:min(620px,calc(100dvh - 40px));border-radius:28px;padding:3px;
  opacity:0;visibility:hidden;transform:translateY(24px) scale(.92);transform-origin:bottom right;transition:transform .45s cubic-bezier(.2,1.2,.35,1),opacity .25s,visibility .25s,width .35s,height .35s}
.aw-panel.open{opacity:1;visibility:visible;transform:none}
.aw-panel.big{width:min(820px,calc(100vw - 40px));height:min(760px,calc(100dvh - 40px))}
.aw-glow{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,#38bdf8,#6366f1,#a855f7,#22d3ee,#38bdf8);background-size:300% 300%;animation:aw-glow 6s linear infinite}
@keyframes aw-glow{to{background-position:300% 0}}
.aw-body{position:relative;height:100%;border-radius:25px;background:linear-gradient(180deg,var(--aw-bg),var(--aw-bg2));overflow:hidden;display:flex;flex-direction:column}
.aw-body::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 30% at 20% 0,rgba(99,102,241,.14),transparent 70%);pointer-events:none}
.aw-tools{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:5}
.aw-ib{width:40px;height:40px;border-radius:10px;border:0;background:var(--aw-soft);color:var(--aw-ink);display:grid;place-items:center;font-size:18px;transition:.2s}
.aw-ib:hover{background:var(--aw-line);transform:translateY(-1px)}
.aw-ib.on{background:var(--aw-pri);color:#fff}

/* views */
.aw-view{display:none;flex:1;min-height:0;flex-direction:column}
.aw-view.show{display:flex;animation:aw-in .45s cubic-bezier(.2,.9,.3,1) both}
@keyframes aw-in{from{opacity:0;transform:translateY(14px)}}
#vLoad{align-items:center;justify-content:center}
.aw-form{padding:58px 22px 14px;overflow:auto;align-items:stretch;gap:6px;text-align:center}
.aw-form .aw-bubble{margin:2px auto 4px}
.aw-form h3,.aw-hero h3{margin:4px 0 0;font:800 24px/1.2 var(--f,sans-serif);letter-spacing:-.3px}
.aw-sub{margin:0 0 4px;color:var(--aw-mut);font-size:13.5px;line-height:1.4}
.aw-f{display:block;text-align:left}
.aw-f>span{display:block;font:600 12.5px var(--f,sans-serif);color:var(--aw-mut);margin:0 0 5px 2px}
.aw-f em{font-style:normal;font-weight:500;opacity:.8}
.aw-f input,.aw-f textarea{width:100%;border:1px solid var(--aw-line);background:var(--aw-soft);color:var(--aw-ink);border-radius:12px;padding:10px 14px;font:500 15px var(--f,sans-serif);outline:0;transition:.2s}
.aw-f textarea{resize:none}
.aw-f input:focus,.aw-f textarea:focus{border-color:var(--aw-pri);background:var(--aw-bg);box-shadow:0 0 0 4px rgba(47,91,255,.15)}
.aw-f.bad input{border-color:#e11d48}
.aw-ph{display:flex;align-items:center;border:1px solid var(--aw-line);background:var(--aw-soft);border-radius:12px;transition:.2s}
.aw-ph:focus-within{border-color:var(--aw-pri);box-shadow:0 0 0 4px rgba(47,91,255,.15)}
.aw-ph b{padding:0 4px 0 14px;font-weight:700}
.aw-ph input{border:0;background:none;box-shadow:none!important}
.aw-hp{position:absolute;left:-9999px;opacity:0;height:0}
.aw-err{min-height:16px;color:#e11d48;font:600 13px var(--f,sans-serif);text-align:left}
.aw-btn{border:0;border-radius:14px;min-height:52px;padding:14px 18px;background:#000;color:#fff;font:700 15.5px var(--f,sans-serif);display:flex;align-items:center;justify-content:center;gap:10px;transition:.25s;position:relative;overflow:hidden}
.aw-btn:hover{transform:translateY(-2px)}
.aw-btn:disabled{opacity:.6;transform:none;cursor:wait}
.aw-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.16),transparent 70%);transform:translateX(-100%);animation:aw-shine 3.4s infinite}
@keyframes aw-shine{40%,100%{transform:translateX(100%)}}
.aw-btn.dark{background:#000}
html[data-theme=dark] .aw-btn{background:#fff;color:#000}
.aw-fine{margin:2px 0 0;font-size:12px;color:var(--aw-mut)}
.aw-lnk{border:0;background:none;color:var(--aw-pri);font-weight:700;padding:0}
.aw-lnk:disabled{color:var(--aw-mut);cursor:default}
.aw-otp{display:flex;gap:8px;justify-content:center;margin:6px 0}
.aw-otp input{width:44px;height:52px;text-align:center;font:800 24px var(--f,sans-serif);border:1.5px solid var(--aw-line);background:var(--aw-soft);color:var(--aw-ink);border-radius:14px;outline:0;transition:.2s}
.aw-otp input:focus{border-color:var(--aw-pri);box-shadow:0 0 0 4px rgba(47,91,255,.15);transform:translateY(-2px)}
.aw-otp.shake{animation:aw-shake .4s}
@keyframes aw-shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* chat */
.aw-chat{position:relative}
.aw-scroll{-webkit-mask-image:linear-gradient(#000 calc(100% - 16px),transparent);mask-image:linear-gradient(#000 calc(100% - 16px),transparent);flex:1;overflow-y:auto;padding:56px 16px 6px;scroll-behavior:smooth;display:flex;flex-direction:column;gap:10px}
.aw-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:0}
.aw-hero .aw-bubble{width:92px;height:92px;margin-bottom:2px}
.aw-hero.gone{display:none}
.aw-promo{position:relative;width:100%;height:96px;border-radius:20px;overflow:hidden;margin:8px 0 0;box-shadow:0 0 0 2px rgba(99,102,241,.35)}
.aw-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:18px;text-align:left;color:#fff;text-decoration:none;opacity:0;transform:scale(1.06);transition:opacity .7s,transform 1.2s}
.aw-slide.on{opacity:1;transform:none}
.aw-slide b{font:800 19px var(--f,sans-serif)}
.aw-slide span{font-size:13.5px;opacity:.92}
.aw-slide>i{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.25);backdrop-filter:blur(6px);display:grid;place-items:center;font-size:18px}
.aw-slide.p1{background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.35),transparent 40%),linear-gradient(135deg,#0ea5e9,#4f46e5 60%,#7c3aed)}
.aw-slide.p2{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.3),transparent 40%),linear-gradient(135deg,#f97316,#e11d48 60%,#9d174d)}
.aw-dots{position:absolute;left:0;right:0;bottom:7px;display:flex;justify-content:center;gap:5px;pointer-events:none}
.aw-dots i{width:6px;height:6px;border-radius:9px;background:rgba(255,255,255,.55);transition:.3s}
.aw-dots i.on{width:20px;background:#fff}
.aw-hint{margin:10px 0 2px;font-size:13px;color:var(--aw-mut)}
/* first-step tabs + tap-able answers */
.aw-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:12px}
.aw-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 14px;border:1.5px solid var(--aw-line);background:var(--aw-bg);color:var(--aw-ink);border-radius:16px;text-align:left;transition:.2s}
.aw-tabs button i{font-size:22px;color:var(--aw-pri)}
.aw-tabs button b{font:700 15px/1.2 var(--f,sans-serif)}
.aw-tabs button small{font-size:12px;color:var(--aw-mut);line-height:1.3}
.aw-tabs button:hover,.aw-tabs button:focus-visible{border-color:var(--aw-pri);transform:translateY(-2px);box-shadow:0 8px 20px -10px rgba(47,91,255,.5)}
.aw-tab-sell{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border-radius:12px;color:var(--aw-mut);font:600 13px var(--f,sans-serif);text-decoration:none}
.aw-tab-sell:hover{color:var(--aw-pri)}
.aw-quick{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:94%;animation:aw-msg .35s both}
.aw-quick button{padding:8px 13px;border:1.5px solid var(--aw-line);background:var(--aw-bg);color:var(--aw-ink);border-radius:99px;font:600 13px/1.1 var(--f,sans-serif);transition:.2s}
.aw-quick button:hover{border-color:var(--aw-pri);color:var(--aw-pri);transform:translateY(-1px)}
.aw-note{margin:2px 0 6px;padding:9px 12px;border-radius:12px;background:rgba(47,91,255,.09);color:var(--aw-ink);font-size:13px;line-height:1.4}
.aw-note[hidden]{display:none}
.aw-note:not([hidden])+.aw-sub{display:none}
.aw-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;width:100%}
.aw-panel.big .aw-chips{grid-template-columns:repeat(4,1fr)}
.aw-chip{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1.5px solid var(--aw-line);background:var(--aw-bg);color:var(--aw-ink);border-radius:14px;text-align:left;text-decoration:none;font:600 13.5px/1.2 var(--f,sans-serif);transition:.25s;animation:aw-in .5s both;animation-delay:calc(var(--i)*60ms + .25s)}
.aw-chip i{font-size:19px;color:var(--aw-pri);flex:none}
.aw-chip:hover{border-color:var(--aw-pri);transform:translateY(-3px)}

.aw-msg{max-width:88%;padding:11px 14px;border-radius:18px;font-size:15px;line-height:1.5;word-wrap:break-word;animation:aw-msg .35s cubic-bezier(.2,1.1,.3,1) both}
@keyframes aw-msg{from{opacity:0;transform:translateY(10px) scale(.96)}}
.aw-msg.me{align-self:flex-end;background:linear-gradient(120deg,var(--aw-pri),var(--aw-pri2));color:#fff;border-bottom-right-radius:6px}
.aw-msg.bot{align-self:flex-start;background:var(--aw-soft);border-bottom-left-radius:6px}
.aw-msg.err{background:rgba(225,29,72,.1);color:#e11d48}
.aw-src{display:block;margin-top:6px;font-size:11.5px;color:var(--aw-mut)}
.aw-typing{display:flex;gap:5px;padding:14px 16px}
.aw-typing i{width:8px;height:8px;border-radius:50%;background:var(--aw-pri);opacity:.5;animation:aw-bounce 1.1s infinite}
.aw-typing i:nth-child(2){animation-delay:.15s}.aw-typing i:nth-child(3){animation-delay:.3s}
@keyframes aw-bounce{30%{transform:translateY(-6px);opacity:1}}
.aw-links{display:flex;flex-direction:column;gap:7px;align-self:flex-start;max-width:88%;animation:aw-msg .4s both}
.aw-link{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border:1.5px solid var(--aw-line);border-radius:14px;color:var(--aw-ink);text-decoration:none;font:600 13.5px/1.25 var(--f,sans-serif);transition:.2s;background:var(--aw-bg)}
.aw-link:hover{border-color:var(--aw-pri);transform:translateX(3px)}
.aw-link img{width:52px;height:40px;border-radius:9px;object-fit:cover}
.aw-link .ti{margin-left:auto;color:var(--aw-pri)}
.aw-status{min-height:18px;padding:0 20px;font-size:12.5px;color:var(--aw-pri);font-weight:600}
.aw-input{padding:6px 16px 6px}
.aw-inner{display:flex;align-items:center;gap:6px;padding:7px 7px 7px 8px;border-radius:999px;background:var(--aw-bg);border:2px solid transparent;
  background:linear-gradient(var(--aw-bg),var(--aw-bg)) padding-box,linear-gradient(120deg,#22d3ee,#6366f1,#a855f7,#22d3ee) border-box;background-size:auto,300% 100%;animation:aw-glow 5s linear infinite}
.aw-input input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--aw-ink);font:500 15.5px var(--f,sans-serif);padding:9px 6px}
.aw-mic{width:40px;height:40px;border-radius:50%;border:0;background:var(--aw-soft);color:var(--aw-ink);font-size:19px;display:grid;place-items:center;transition:.2s}
.aw-mic.live{background:#e11d48;color:#fff;animation:aw-ring2 1.3s infinite}
@keyframes aw-ring2{0%{box-shadow:0 0 0 0 rgba(225,29,72,.6)}100%{box-shadow:0 0 0 14px rgba(225,29,72,0)}}
.aw-send{width:42px;height:42px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--aw-pri),var(--aw-pri2));color:#fff;font-size:21px;display:grid;place-items:center;transition:.2s}
.aw-send:hover{transform:scale(1.08) rotate(-8deg)}
.aw-foot{display:flex;justify-content:space-between;gap:8px;padding:2px 20px 12px;font-size:11.5px;color:var(--aw-mut)}
.aw-foot a{color:inherit;font-weight:600}

/* feedback */
.aw-fb{text-align:left;padding-top:58px}
.aw-fb h3{margin:0 0 6px;padding-bottom:10px;border-bottom:1px solid var(--aw-line)}
.aw-lbl{font:600 14px/1.4 var(--f,sans-serif);color:var(--aw-mut);margin-top:6px}
.aw-stars{display:flex;gap:8px;margin-bottom:4px}
.aw-stars button{width:40px;height:40px;border-radius:10px;border:1px solid #dcdde2;background:var(--aw-soft);color:#b9bcc6;font-size:15px;display:grid;place-items:center;transition:.2s}
.aw-stars button:hover{transform:translateY(-2px)}
.aw-stars button.on{background:#fff4d6;color:#f5a400;border-color:#f3c94f;transform:scale(1.06)}
.aw-rad{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;background:var(--aw-soft);cursor:pointer;font-weight:500;font-size:14.5px;transition:.2s}
.aw-rad:hover{background:var(--aw-line)}
.aw-rad input{appearance:none;-webkit-appearance:none;flex:none;width:14px;height:14px;margin:0;border-radius:50%;border:2px solid #a3a7b0;background:transparent;transition:.2s}
.aw-rad input:checked{border-color:var(--aw-pri);background:radial-gradient(circle,var(--aw-pri) 0 40%,transparent 45%)}
.aw-fb .aw-btn{margin-top:auto}

/* page mode (/assistant) */
.aw-page .aw-panel{position:relative;right:auto;bottom:auto;width:100%;max-width:760px;height:600px;margin:0 auto;opacity:1;visibility:visible;transform:none}
.aw-page .aw-chips{grid-template-columns:repeat(4,1fr)}

/* mobile: full-screen sheet */
@media (max-width:560px){
  .aw-panel,.aw-panel.big{right:0;bottom:0;width:100vw;max-width:none;height:100dvh;border-radius:0;padding:0}
  .aw-glow{display:none}.aw-body{border-radius:0}
  .aw-fab{right:14px;bottom:14px}
  .aw-panel:not(.open){transform:translateY(100%)}
  #agExpand{display:none}
  .aw-page .aw-panel{height:78dvh;border-radius:22px}
}
@media (prefers-reduced-motion:reduce){.aw *,.aw *::before,.aw *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rc-note{display:block;margin-top:6px;font-size:11px;line-height:1.4;color:var(--aw-mut)}
.rc-note a{color:inherit;text-decoration:underline}

/* First visit: only the option cards (New car / Used car / News / Sell car) are shown; the text box appears once one is picked. */
.aw-chat:has(.aw-hero:not(.gone)) .aw-input{display:none}
