/* Rob Bot — assistente virtual M8BOT / Poliedro Salgado. CSS autónomo, sem dependências.
   Temas: [data-rb-theme="m8bot"] (preto/branco/grafite, acento #FF5A00, Michroma) e [data-rb-theme="poliedro"].
   As camadas do robô (rb-*.webp) são recortes do desenho original, sem deformação; em repouso coincidem com o original. */
.rb-root{--rb-bg:#050505;--rb-panel:#0c0c0c;--rb-panel2:#151514;--rb-fg:#F4F4F1;--rb-mute:#A3A39E;--rb-line:rgba(255,255,255,.14);
  --rb-acc:#FF5A00;--rb-acc-fg:#0A0A0A;--rb-graphite:#43433F;--rb-user:#26261f;
  --rb-fh:'Michroma','Eurostile','Arial Narrow',sans-serif;--rb-fb:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --rb-ease:cubic-bezier(.16,1,.3,1);--rb-z:2147483000;
  position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:var(--rb-z);
  font-family:var(--rb-fb);font-size:15px;line-height:1.5;color:var(--rb-fg);-webkit-font-smoothing:antialiased}
.rb-root[data-rb-theme="poliedro"]{--rb-bg:#0B0C0E;--rb-panel:#121418;--rb-panel2:#1A1D22;--rb-fg:#F1EFEA;--rb-mute:#A6A49E;--rb-line:rgba(255,255,255,.13);
  --rb-acc:#FF5A1F;--rb-acc-fg:#0B0C0E;--rb-user:#2a2420;
  --rb-fh:'Space Grotesk','Michroma',ui-sans-serif,system-ui,sans-serif;--rb-fb:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.rb-root *,.rb-root *::before,.rb-root *::after{box-sizing:border-box}
.rb-root button,.rb-root input,.rb-root textarea{font:inherit;color:inherit}
.rb-root a{color:var(--rb-fg);text-decoration:underline;text-decoration-color:var(--rb-acc);text-underline-offset:3px}
.rb-root a:hover{color:var(--rb-acc)}
.rb-root :focus-visible{outline:2px solid var(--rb-acc);outline-offset:2px;border-radius:6px}
.rb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rb-root [hidden]{display:none!important}

/* ——— Figura do robô (camadas) ——— */
.rb-fig{position:relative;width:100%;aspect-ratio:293/360;pointer-events:none}
.rb-l{position:absolute;background:no-repeat center/100% 100%;display:block}
.rb-base{left:0;top:0;width:92.331%;height:100%;background-image:url(rb-base.webp)}
.rb-eyeL{left:20.787%;top:18.257%;width:16.448%;height:14.062%;background-image:url(rb-eyeL.webp);transform-origin:50% 50%}
.rb-eyeR{left:47.629%;top:15.049%;width:16.044%;height:14.062%;background-image:url(rb-eyeR.webp);transform-origin:50% 50%}
.rb-mouth{left:35.318%;top:27.549%;width:15.641%;height:7.812%;background-image:url(rb-mouth.webp);transform-origin:50% 25%}
.rb-hand{left:69.425%;top:30.181%;width:30.575%;height:20.23%;background-image:url(rb-hand.webp);transform-origin:49.17% 89.02%}
.rb-glow{position:absolute;width:9%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(120,210,255,.75) 0,rgba(60,170,255,.25) 45%,rgba(60,170,255,0) 70%);opacity:0;mix-blend-mode:screen}
.rb-glow.g1{left:4.24%;top:8.55%}.rb-glow.g2{left:67%;top:2.3%}
.rb-anim{position:absolute;inset:0;transform-origin:50% 92%}

/* animações base */
@keyframes rb-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3.5%) rotate(-1deg)}}
@keyframes rb-blink{0%,93%,100%{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}
@keyframes rb-wave{0%,100%{transform:rotate(0)}15%{transform:rotate(-9deg)}35%{transform:rotate(8deg)}55%{transform:rotate(-8deg)}75%{transform:rotate(6deg)}}
@keyframes rb-wave-idle{0%,22%,100%{transform:rotate(0)}4%{transform:rotate(-8deg)}9%{transform:rotate(7deg)}14%{transform:rotate(-7deg)}18%{transform:rotate(4deg)}}
@keyframes rb-talk{0%{transform:scaleY(1)}50%{transform:scaleY(.45)}100%{transform:scaleY(.95)}}
@keyframes rb-pulse{0%,100%{opacity:.15}50%{opacity:.95}}
@keyframes rb-think{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(-3deg) translateY(-2%)}}
@keyframes rb-look{0%,100%{translate:0 0}50%{translate:4% -6%}}
@keyframes rb-dots{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes rb-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes rb-pop{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}

/* repouso «sempre vivo» (29/10/2026): flutua, respira, inclina/vira ligeiramente (olhar à volta), olhos que piscam e espreitam,
   luzes que pulsam e aceno espontâneo; tudo em CSS (compositor), pára sozinho com o separador oculto; desligado com movimento reduzido */
@keyframes rb-idle{0%,100%{transform:translateY(0) rotate(0) scale(1,1)}
  18%{transform:translateY(-2.6%) rotate(-2.2deg) scale(1.006,.994)}
  36%{transform:translateY(-4%) rotate(-.6deg) scale(1,1.012)}
  52%{transform:translateY(-1.4%) rotate(1.8deg) scale(1.004,.996)}
  70%{transform:translateY(-3.6%) rotate(2.6deg) scale(1,1.01)}
  86%{transform:translateY(-1%) rotate(.4deg) scale(1.003,.997)}}
@keyframes rb-gaze{0%,12%,100%{translate:0 0}17%,32%{translate:-7% 1%}38%,46%{translate:0 0}52%,66%{translate:7% -2%}72%,80%{translate:2% -6%}86%{translate:0 0}}
@keyframes rb-glow-idle{0%,100%{opacity:.08}50%{opacity:.55}}
@keyframes rb-shadow{0%,100%{transform:scaleX(1);opacity:1}36%,70%{transform:scaleX(.86);opacity:.7}}
.rb-fig .rb-anim{animation:rb-idle 7.8s ease-in-out infinite}
.rb-fig .rb-eyeL,.rb-fig .rb-eyeR{animation:rb-blink 5.3s infinite,rb-gaze 9.4s ease-in-out infinite}
.rb-fig .rb-glow{animation:rb-glow-idle 3.4s ease-in-out infinite}.rb-fig .rb-glow.g2{animation-delay:1.7s}
.rb-launch::before{animation:rb-shadow 7.8s ease-in-out infinite}
.rb-root.rb-paused *,.rb-root.rb-paused *::before{animation-play-state:paused!important}
.rb-3d-on .rb-fig.has-3d .rb-anim,.rb-3d-on .rb-fig.has-3d .rb-anim *{animation:none}
.rb-fig .rb-eyeR{animation-delay:.03s}
.rb-fig .rb-hand{animation:rb-wave-idle 9.5s ease-in-out 2.5s infinite}
.rb-fig.is-waving .rb-hand{animation:rb-wave 1.5s ease-in-out 2}
.rb-fig.is-talking .rb-mouth{animation:rb-talk .26s ease-in-out infinite alternate}
.rb-fig.is-thinking .rb-anim{animation:rb-think 1.6s ease-in-out infinite}
.rb-fig.is-thinking .rb-glow{animation:rb-pulse 1.1s ease-in-out infinite}
.rb-fig.is-thinking .rb-glow.g2{animation-delay:.55s}
.rb-fig.is-thinking .rb-eyeL,.rb-fig.is-thinking .rb-eyeR{animation:rb-blink 5.3s infinite,rb-look 1.6s ease-in-out infinite}

/* ——— Botão flutuante ——— */
.rb-launch{position:relative;display:block;width:86px;height:104px;padding:0;margin:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rb-launch::before{content:"";position:absolute;left:12%;right:12%;bottom:0;height:16px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,0,0,.45),rgba(0,0,0,0));}
.rb-launch .rb-fig{position:absolute;left:0;bottom:6px;width:100%}
.rb-launch::after{content:"";position:absolute;right:6px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--rb-acc);
  box-shadow:0 0 0 3px var(--rb-bg);transition:transform .3s var(--rb-ease)}
.rb-launch:hover .rb-fig{filter:drop-shadow(0 6px 14px rgba(255,90,0,.28))}
.rb-launch:focus-visible{outline:2px solid var(--rb-acc);outline-offset:4px;border-radius:18px}
.rb-root.is-open .rb-launch::after{transform:scale(0)}

/* ——— Balão de saudação ——— */
.rb-bubble{position:absolute;right:76px;bottom:62px;width:max-content;max-width:min(250px,calc(100vw - 110px));
  background:var(--rb-panel);color:var(--rb-fg);border:1px solid var(--rb-line);border-radius:14px 14px 4px 14px;
  padding:12px 34px 12px 14px;box-shadow:0 14px 40px rgba(0,0,0,.45);animation:rb-pop .45s var(--rb-ease) both;font-size:14px}
.rb-bubble[hidden]{display:none}
.rb-bubble b{display:block;font-family:var(--rb-fh);font-weight:400;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rb-acc);margin-bottom:3px}
.rb-bubble button.rb-bopen{all:unset;cursor:pointer;display:block}
.rb-bubble .rb-bx{position:absolute;right:6px;top:6px;width:24px;height:24px;border:0;background:none;border-radius:6px;cursor:pointer;color:var(--rb-mute);font-size:16px;line-height:1}
.rb-bubble .rb-bx:hover{color:var(--rb-fg);background:rgba(255,255,255,.08)}

/* ——— Painel ——— */
.rb-panel{position:absolute;right:0;bottom:112px;width:min(390px,calc(100vw - 24px));height:min(600px,calc(100vh - 140px));height:min(600px,calc(100dvh - 140px));
  display:flex;flex-direction:column;background:var(--rb-panel);border:1px solid var(--rb-line);border-radius:18px;overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.55);animation:rb-in .4s var(--rb-ease) both}
.rb-panel[hidden]{display:none}
.rb-head{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-bottom:1px solid var(--rb-line);background:var(--rb-bg)}
.rb-head .rb-av{width:46px;height:56px;flex:none;position:relative;overflow:visible}
.rb-head .rb-av .rb-fig{position:absolute;bottom:0;width:46px}
.rb-ttl{flex:1;min-width:0}
.rb-ttl h2{margin:0;font-family:var(--rb-fh);font-weight:400;font-size:15px;letter-spacing:.06em;color:var(--rb-fg)}
.rb-ttl p{margin:2px 0 0;font-size:12px;color:var(--rb-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-ttl p i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--rb-acc);margin-right:6px;vertical-align:1px}
.rb-ib{width:36px;height:36px;border:1px solid transparent;border-radius:10px;background:none;cursor:pointer;color:var(--rb-mute);display:grid;place-items:center;flex:none}
.rb-ib:hover{color:var(--rb-fg);background:rgba(255,255,255,.07)}
.rb-ib svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}

.rb-log{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;scrollbar-width:thin}
.rb-msg{max-width:88%;padding:10px 13px;border-radius:14px;animation:rb-pop .3s var(--rb-ease) both;word-wrap:break-word;overflow-wrap:anywhere}
.rb-msg p{margin:0 0 .5em}.rb-msg p:last-child{margin:0}
.rb-msg ul{margin:.3em 0 .5em;padding-left:1.15em}.rb-msg li{margin:.15em 0}
.rb-msg.bot{align-self:flex-start;background:var(--rb-panel2);border:1px solid var(--rb-line);border-bottom-left-radius:4px}
.rb-msg.me{align-self:flex-end;background:var(--rb-user);border:1px solid rgba(255,90,0,.35);border-bottom-right-radius:4px;white-space:pre-wrap}
.rb-msg.warn{border-color:rgba(255,90,0,.6)}
.rb-typing{align-self:flex-start;display:flex;gap:5px;padding:13px 14px;background:var(--rb-panel2);border:1px solid var(--rb-line);border-radius:14px;border-bottom-left-radius:4px}
.rb-typing span{width:7px;height:7px;border-radius:50%;background:var(--rb-mute);animation:rb-dots 1.1s infinite}
.rb-typing span:nth-child(2){animation-delay:.15s}.rb-typing span:nth-child(3){animation-delay:.3s}

.rb-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 14px 10px}
.rb-chip{border:1px solid var(--rb-line);background:transparent;color:var(--rb-fg);border-radius:999px;padding:6px 11px;font-size:13px;cursor:pointer;line-height:1.2}
.rb-chip:hover{border-color:var(--rb-acc);color:var(--rb-acc)}
.rb-chip.acc{border-color:var(--rb-acc)}

.rb-in{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;border-top:1px solid var(--rb-line);background:var(--rb-bg)}
.rb-in textarea{flex:1;resize:none;min-height:42px;max-height:120px;padding:10px 12px;border-radius:12px;border:1px solid var(--rb-line);background:var(--rb-panel);color:var(--rb-fg);font-size:15px;line-height:1.35}
.rb-in textarea::placeholder{color:var(--rb-mute);opacity:1}
.rb-in textarea:focus{outline:none;border-color:var(--rb-acc)}
.rb-send{width:42px;height:42px;flex:none;border:0;border-radius:12px;background:var(--rb-acc);color:var(--rb-acc-fg);cursor:pointer;display:grid;place-items:center}
.rb-send:disabled{opacity:.45;cursor:default}
.rb-send svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rb-foot{padding:0 12px 10px;background:var(--rb-bg);font-size:11.5px;color:var(--rb-mute);display:flex;justify-content:space-between;gap:8px;align-items:center}
.rb-foot button{border:0;background:none;padding:2px 0;color:var(--rb-fg);text-decoration:underline;text-decoration-color:var(--rb-acc);text-underline-offset:3px;cursor:pointer;font-size:12px}

/* ——— Formulário de suporte ——— */
.rb-form{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:12px}
.rb-form[hidden]{display:none}
.rb-form h3{margin:0;font-family:var(--rb-fh);font-weight:400;font-size:14px;letter-spacing:.05em}
.rb-form p.rb-note{margin:0;color:var(--rb-mute);font-size:13px}
.rb-form label.rb-lb{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.rb-form input[type=email],.rb-form textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--rb-line);background:var(--rb-panel2);color:var(--rb-fg);font-size:15px}
.rb-form textarea{min-height:170px;resize:vertical;line-height:1.4;font-size:14px}
.rb-form input:focus,.rb-form textarea:focus{outline:none;border-color:var(--rb-acc)}
.rb-form [aria-invalid="true"]{border-color:#ff6b5a}
.rb-err{color:#ff8b7d;font-size:12.5px;margin-top:4px;min-height:0}
.rb-page{font-size:12px;color:var(--rb-mute);overflow-wrap:anywhere}
.rb-ck{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--rb-fg)}
.rb-ck input{margin-top:3px;width:18px;height:18px;accent-color:var(--rb-acc);flex:none}
.rb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rb-row{display:flex;gap:8px;flex-wrap:wrap}
.rb-btn{border:1px solid var(--rb-acc);background:var(--rb-acc);color:var(--rb-acc-fg);border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;font-size:14px;text-decoration:none!important;display:inline-block}
.rb-btn.o{background:transparent;color:var(--rb-fg);border-color:var(--rb-line)}
.rb-btn:disabled{opacity:.5;cursor:default}
.rb-ok{border:1px solid var(--rb-acc);border-radius:12px;padding:14px;background:rgba(255,90,0,.07)}
.rb-ok strong{display:block;font-family:var(--rb-fh);font-weight:400;font-size:13px;letter-spacing:.05em;margin-bottom:4px}

/* ——— Rob Bot 3D (robbot3d.js, carregado a pedido). O 2D fica por baixo e volta se o 3D falhar ——— */
.rb-3d-canvas{position:absolute;left:-16%;top:-9%;width:132%;height:114%;display:block;pointer-events:none;opacity:0;transition:opacity .45s var(--rb-ease)}
.rb-fig.has-3d .rb-3d-canvas{opacity:1}
.rb-3d-on .rb-fig.has-3d .rb-anim{opacity:0;transition:opacity .45s var(--rb-ease)}
.rb-3d-on .rb-launch:hover .rb-fig.has-3d{filter:none}
.rb-3d-on .rb-launch:hover .rb-3d-canvas{filter:drop-shadow(0 6px 14px rgba(255,90,0,.28))}
.rb-head .rb-av .rb-fig.has-3d .rb-3d-canvas{left:-20%;top:-14%;width:140%;height:122%}

/* ——— Móvel ——— */
@media (max-width:520px){
  .rb-root{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}
  .rb-launch{width:70px;height:86px}
  .rb-bubble{right:62px;bottom:50px}
  .rb-root.is-open{left:0;right:0;bottom:0;top:0}
  .rb-root.is-open .rb-launch,.rb-root.is-open .rb-bubble{display:none}
  .rb-root.is-open .rb-panel{position:fixed;inset:0;width:100%;height:100%;border-radius:0;border:0}
}
@media print{.rb-root{display:none!important}}

/* ——— Movimento reduzido: sem animações, robô estático (igual ao desenho original) ——— */
@media (prefers-reduced-motion:reduce){
  .rb-root *,.rb-root *::before,.rb-root *::after{animation:none!important;transition:none!important}
}
