/* Robot advisor (assets/advisor.js) – adapted from akcitech.de for the dark theme */
.asst{position:fixed;z-index:55;right:24px;bottom:112px;width:380px;max-height:min(620px,calc(100dvh - 210px));display:flex;flex-direction:column;
  background:var(--white);color:var(--text);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 30px 70px -28px rgba(16,21,29,.45);opacity:0;transform:translateY(14px) scale(.98);transform-origin:bottom right;
  transition:opacity .2s,transform .28s cubic-bezier(.32,.72,0,1)}
.asst[hidden]{display:none}
.asst.is-open{opacity:1;transform:none}
.asst-head{display:flex;align-items:center;gap:.6rem;padding:12px 12px 10px 16px;border-bottom:1px solid var(--line)}
.asst-ava{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:var(--ink)}
.asst-ava img{width:32px;height:32px}
.asst-who{flex:1;min-width:0}
.asst-title{font:800 15px/1.2 var(--f-head);letter-spacing:-.01em}
.asst-status{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:12px;color:var(--muted);white-space:nowrap}
.asst-live{width:7px;height:7px;border-radius:50%;background:#1f9d55}
.asst-step{font:500 10.5px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);white-space:nowrap}
.asst-x{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--paper);border:0;color:var(--text);cursor:pointer}
.asst-x:hover{background:var(--line)}
.asst-x svg{width:16px;height:16px}
.asst-log{flex:1 1 auto;min-height:70px;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px 6px;display:flex;flex-direction:column;gap:8px}
.asst-msg{max-width:88%;padding:10px 13px;border-radius:12px;font-size:14.5px;line-height:1.45;animation:asst-in .25s ease-out}
.asst-msg--bot{align-self:flex-start;background:var(--paper);color:var(--text);border-bottom-left-radius:4px}
.asst-msg--bot b{color:var(--red);font-weight:600}
.asst-msg--me{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}
.asst-typing{display:flex;gap:4px;padding:14px}
.asst-typing i{width:6px;height:6px;border-radius:50%;background:#9aa0a8;animation:asst-dot 1s infinite ease-in-out}
.asst-typing i:nth-child(2){animation-delay:.15s}.asst-typing i:nth-child(3){animation-delay:.3s}
.asst-opts{flex:0 1 auto;max-height:300px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px 16px}
.asst-opts:empty{display:none}
.asst-log,.asst-opts{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.asst-opt{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:6px;border:1px solid #cdc7bb;
  background:var(--white);color:var(--text);font:500 14px/1.2 var(--f-body);text-align:left;cursor:pointer;
  transition:background-color .15s,border-color .15s,transform .12s;animation:asst-in .25s ease-out both}
.asst-opt:hover{border-color:var(--ink)}
.asst-opt:active{transform:scale(.96)}
.asst-opt--primary{background:var(--red);border-color:var(--red);color:#fff}
.asst-opt--primary:hover{background:var(--red-hover);border-color:var(--red-hover)}
.asst-opt--wa{background:#1f9d55;border-color:#1f9d55;color:#fff}
.asst-opt--wa:hover{background:#188246;border-color:#188246}
.asst-opt--ghost{border-color:transparent;background:none;color:var(--muted)}
@keyframes asst-in{from{opacity:0;transform:translateY(6px)}}
@keyframes asst-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
html.asst-open .wa-float{opacity:0;pointer-events:none}

/* Landing pad above the WhatsApp button (click opens the advisor) */
.bot-pad{position:fixed;right:23px;bottom:84px;z-index:41;width:56px;height:90px;padding:0;border:0;background:none;cursor:pointer}
.bot-pad::after{content:"";position:absolute;left:50%;bottom:0;width:48px;height:10px;margin-left:-24px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(16,21,29,.35),rgba(16,21,29,.08) 60%,transparent 72%)}
.bot-pad-tip{position:absolute;right:calc(100% + 4px);top:28px;white-space:nowrap;padding:5px 10px;border-radius:999px;background:var(--ink);color:#fff;
  font-size:12px;font-weight:600;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s;pointer-events:none}
.bot-pad:hover .bot-pad-tip,.bot-pad:focus-visible .bot-pad-tip{opacity:1;transform:none}
html.asst-open .bot-pad,html.menu-open .bot-pad{opacity:0;pointer-events:none}
html.menu-open .bot,html.menu-open .bot-say{opacity:0;transition:opacity .15s}

/* Robot */
.bot{position:fixed;left:0;top:0;width:68px;height:68px;font-size:68px;z-index:60;pointer-events:none;will-change:transform}
.bot-float{width:100%;height:100%;animation:bot-float 2.6s ease-in-out infinite}
.bot-body{position:relative;width:100%;height:100%;transition:transform .25s ease-out;transform-style:preserve-3d;filter:drop-shadow(0 10px 16px rgba(0,0,0,.5))}
.bot-body img{width:100%;height:100%;display:block;user-select:none}
.bot-lid{position:absolute;top:44%;width:13%;height:19%;background:#0c1720;border-radius:40%;transform:scaleY(0);transform-origin:top;transition:transform .09s ease-in}
.bot-lid.l{left:41.5%}.bot-lid.r{left:65.5%}
.bot.blink .bot-lid{transform:scaleY(1)}
.bot.is-happy .bot-body{transform:scale(1.12)}
.bot-say{position:fixed;left:0;top:0;z-index:61;width:max-content;max-width:230px;pointer-events:none;opacity:0;transition:opacity .25s;color:#050b18;text-decoration:none}
.bot-say span{display:block;padding:.55rem .85rem;border-radius:10px;background:var(--ink);color:#fff;font-size:13px;line-height:1.4;font-weight:500;box-shadow:0 14px 30px -12px rgba(0,0,0,.6)}
.bot-say::after{content:"";position:absolute;left:calc(50% + var(--tail,0px));bottom:-5px;width:12px;height:12px;margin-left:-6px;background:var(--ink);transform:rotate(45deg);border-radius:2px}
.bot-say.is-on{opacity:1}
.bot-say.is-on span{animation:bot-pop .35s cubic-bezier(.34,1.56,.64,1)}
.bot-say.is-link{pointer-events:auto;cursor:pointer}
.bot-say a{color:#fff;text-decoration:none}
.bot-say.is-link span,.bot-say.is-link::after{background:#1f9d55}
.wa-ping{animation:wa-ping 1.1s ease-out 5}
@keyframes bot-pop{from{transform:scale(.6) translateY(8px);opacity:0}}
@keyframes wa-ping{0%{box-shadow:0 0 0 0 rgba(37,211,102,.65)}100%{box-shadow:0 0 0 18px rgba(37,211,102,0)}}
@keyframes bot-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.rb-arm,.rb-leg{position:absolute;z-index:-1;border-radius:.06em;background:linear-gradient(90deg,#c9d1da,#fff 45%,#dce3e9);box-shadow:inset 0 0 0 .012em rgba(11,13,18,.12)}
.rb-arm{top:.56em;width:.1em;height:.32em;transform-origin:50% .04em;transform:rotate(var(--r));animation:rb-swing 2.6s ease-in-out infinite;transition:transform .3s}
.rb-arm.l{left:.07em;--r:28deg}.rb-arm.r{right:.07em;--r:-28deg;animation-delay:-1.3s}
.rb-hand{position:absolute;left:50%;bottom:-.1em;width:.17em;height:.17em;margin-left:-.085em;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d5dce3 70%);
  box-shadow:inset 0 0 0 .012em rgba(11,13,18,.14);transition:transform .14s}
.rb-hand::after{content:"";position:absolute;inset:32%;border-radius:50%;background:#38d6ff}
.rb-leg{top:.86em;width:.1em;height:.2em;transform-origin:50% 0;animation:rb-dangle 2.6s ease-in-out infinite}
.rb-leg.l{left:.35em;--r:6deg}.rb-leg.r{right:.35em;--r:-6deg;animation-delay:-.9s}
.rb-foot{position:absolute;bottom:-.07em;width:.22em;height:.11em;border-radius:.07em .07em .04em .04em;background:linear-gradient(#2a3340,#151a22);box-shadow:inset 0 -.022em #38d6ff}
.rb-leg.l .rb-foot{right:-.02em}.rb-leg.r .rb-foot{left:-.02em}
.rb-jet{position:absolute;left:50%;top:100%;width:.12em;height:.26em;margin:.04em 0 0 -.06em;border-radius:0 0 50% 50%;
  background:linear-gradient(#7fe3ff,rgba(56,214,255,.6) 45%,transparent);filter:blur(.012em);opacity:0;transform-origin:top;transition:opacity .2s}
.is-flying .rb-jet{opacity:1;animation:rb-jet .12s linear infinite alternate}
.is-flying .rb-leg{animation:none;transform:rotate(0)}
.is-flying .rb-arm.l{--r:55deg}.is-flying .rb-arm.r{--r:-55deg}
.is-wave .rb-arm.r{animation:rb-wave .5s ease-in-out infinite alternate}
.is-point .rb-arm.l{--r:8deg;animation:rb-tap .7s ease-in-out infinite}
@keyframes rb-swing{0%,100%{transform:rotate(calc(var(--r) + 7deg))}50%{transform:rotate(calc(var(--r) - 7deg))}}
@keyframes rb-dangle{0%,100%{transform:rotate(calc(var(--r) + 5deg))}50%{transform:rotate(calc(var(--r) - 5deg))}}
@keyframes rb-wave{from{transform:rotate(-150deg)}to{transform:rotate(-115deg)}}
@keyframes rb-tap{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(.06em)}}
@keyframes rb-jet{from{transform:scaleY(.75)}to{transform:scaleY(1.1)}}

@media (max-width:760px){
  .asst{left:8px;right:8px;width:auto;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 8px);max-height:calc(100dvh - var(--tab-h) - 140px);border-radius:14px;transform-origin:bottom center}
  .bot-pad{right:6px;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 2px);width:56px;height:64px}
  .bot-pad::after{width:36px;margin-left:-18px}
  .asst-opts{max-height:46dvh}
  .asst-opt{min-height:44px;font-size:15px;padding:9px 15px}
  .asst-msg{font-size:15px}
  .bot{width:48px;height:48px;font-size:48px}
}
@media (prefers-reduced-motion:reduce){
  .bot-float,.rb-arm,.rb-leg,.rb-jet,.asst-msg,.asst-opt,.asst-typing i{animation:none!important}
  .asst,.bot{transition:none!important}
}
