/* V31 exact Bubiqo, copied from selected prototype #11 */
:root{--robik-main:#79d8ff;--robik-accent:#8b6bff;--robik-screen:#10225a}
#robik-assistant{position:fixed;right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));z-index:99998;width:126px;height:160px;pointer-events:none;direction:ltr;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
#robik-assistant *{box-sizing:border-box}
#robik-assistant .robik-card{position:absolute;right:0;bottom:0;width:126px;height:160px;padding:0;margin:0;background:transparent!important;border:0!important;box-shadow:none!important;pointer-events:auto;cursor:pointer;opacity:.94;transition:opacity .18s ease,transform .18s ease}
#robik-assistant .robik-card:hover{opacity:1;transform:translateY(-2px)}
#robik-assistant .robik-top,#robik-assistant .robik-caption,#robik-assistant .robik-mini-open,#robik-assistant .robik-muted-note{display:none!important}
#robik-assistant.is-hidden{display:none!important}
#robik-assistant .robik-speech{position:absolute;right:74px;bottom:116px;min-width:138px;max-width:220px;min-height:48px;padding:10px 13px;border-radius:22px;background:#fff;color:#303184;border:1px solid rgba(232,236,255,.95);box-shadow:0 14px 28px rgba(74,82,150,.15);font-size:13px;font-weight:900;line-height:1.2;text-align:center;opacity:0;transform:translateY(6px) scale(.96);pointer-events:none;transition:.18s ease}
#robik-assistant .robik-speech:after{content:"";position:absolute;right:18px;bottom:-8px;width:16px;height:16px;transform:rotate(45deg);background:#fff;border-right:1px solid rgba(232,236,255,.95);border-bottom:1px solid rgba(232,236,255,.95);border-radius:0 0 5px 0}
#robik-assistant.is-speaking .robik-speech{opacity:1;transform:translateY(0) scale(1)}
#robik-assistant .robik-stage{position:absolute;right:0;bottom:0;width:126px;height:150px;overflow:visible}
#robik-assistant .robik{position:absolute;right:-12px;bottom:-22px;width:150px;height:188px;transform:scale(.72);transform-origin:right bottom}
#robik-assistant .robik-antenna{position:absolute;left:50%;top:0;width:40px;height:28px;transform:translateX(-50%)}
#robik-assistant .robik-antenna i{position:absolute;left:50%;bottom:0;width:7px;height:22px;border-radius:999px;background:linear-gradient(var(--robik-accent),var(--robik-main));transform:translateX(-50%);box-shadow:0 0 9px color-mix(in srgb,var(--robik-accent) 50%,transparent)}
#robik-assistant .robik-antenna b{position:absolute;left:50%;top:-2px;width:20px;height:20px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 35% 28%,#fff 0 22%,var(--robik-accent) 30%,var(--robik-main) 76%);box-shadow:0 0 13px color-mix(in srgb,var(--robik-accent) 52%,transparent)}
#robik-assistant .robik-head{position:absolute;left:50%;top:24px;width:132px;height:102px;transform:translateX(-50%);border-radius:58px 58px 42px 42px;background:linear-gradient(135deg,#fff 0%,#edf7ff 50%,color-mix(in srgb,var(--robik-accent) 24%,#e7f4ff) 100%);border:2px solid rgba(255,255,255,.95);box-shadow:0 15px 28px rgba(61,76,160,.2),inset 0 -8px 13px rgba(80,120,220,.12),inset 0 8px 12px rgba(255,255,255,.9);transition:.18s ease}
#robik-assistant .robik-screen{position:absolute;inset:16px 16px 14px;border-radius:35px;background:radial-gradient(circle at 28% 18%,rgba(120,245,255,.16),transparent 28%),linear-gradient(180deg,var(--robik-screen),#0c1438);box-shadow:inset 0 0 20px rgba(91,237,255,.16),0 0 0 1px rgba(52,84,170,.28);transition:.18s ease}
#robik-assistant .robik-eye{position:absolute;top:22px;width:25px;height:25px;border-radius:50%;background:radial-gradient(circle,#fff 0 10%,var(--robik-accent) 24%,#2b9fff 70%,#1762ff 100%);box-shadow:0 0 12px color-mix(in srgb,var(--robik-accent) 60%,transparent);transition:.16s ease;transform-origin:50% 50%;animation:robikBlink 5.2s infinite}
#robik-assistant .robik-eye.left{left:24px}
#robik-assistant .robik-eye.right{right:24px;animation-delay:.04s}
#robik-assistant .robik-eye:after{content:"";position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:50%;background:#fff}
@keyframes robikBlink{0%,92%,100%{transform:scaleY(1)}94%,96%{transform:scaleY(.12)}}
#robik-assistant .robik-mouth{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:62px;height:35px;display:grid;place-items:center}
#robik-assistant .robik-mouth span{position:relative;display:block;width:48px;height:18px;border-radius:0 0 22px 22px;background:transparent;border-bottom:6px solid var(--robik-accent);transition:.16s ease}
#robik-assistant .robik-ear{position:absolute;top:41px;width:20px;height:36px;background:linear-gradient(#eaf7ff,color-mix(in srgb,var(--robik-accent) 32%,#b9d7ff));box-shadow:inset 0 0 0 4px rgba(255,255,255,.55);border-radius:50% 50% 40% 40%}
#robik-assistant .robik-ear.left{left:-10px;transform:rotate(-14deg)}
#robik-assistant .robik-ear.right{right:-10px;transform:rotate(14deg)}
#robik-assistant .robik-neck{position:absolute;left:50%;top:123px;width:36px;height:14px;border-radius:9px;background:linear-gradient(#c7dcff,#91baff);transform:translateX(-50%)}
#robik-assistant .robik-body{position:absolute;left:50%;top:134px;width:70px;height:54px;transform:translateX(-50%);border-radius:44px;background:linear-gradient(135deg,#fff,#dcecff 68%,color-mix(in srgb,var(--robik-main) 22%,#bdd4ff));border:2px solid rgba(255,255,255,.92);box-shadow:0 14px 27px rgba(61,76,160,.14),inset 0 -7px 11px rgba(111,145,235,.12)}
#robik-assistant .robik-speaker{position:absolute;left:50%;top:17px;width:33px;height:28px;border:0;border-radius:14px;transform:translateX(-50%);background:linear-gradient(135deg,var(--robik-accent),var(--robik-main));color:#fff;display:grid;place-items:center;font-size:14px;line-height:1;box-shadow:0 0 12px color-mix(in srgb,var(--robik-accent) 45%,transparent);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;z-index:4}
#robik-assistant .robik-speaker:active{transform:translateX(-50%) scale(.92)}
#robik-assistant .robik-speaker:focus-visible{outline:3px solid rgba(255,255,255,.92);outline-offset:2px}
#robik-assistant.is-muted .robik-screen{filter:saturate(.7) brightness(.88)}
#robik-assistant.is-muted .robik-speaker{background:linear-gradient(135deg,#a8afcc,#7d87a8);opacity:.88}
#robik-assistant.is-muted .robik-antenna b{filter:saturate(.6);opacity:.8}
#robik-assistant .robik-arm{position:absolute;top:10px;width:36px;height:15px}
#robik-assistant .robik-arm i{display:block;width:100%;height:100%;border-radius:999px;background:linear-gradient(90deg,#cfddff,#fff);box-shadow:0 7px 12px rgba(74,82,150,.1)}
#robik-assistant .robik-arm.left{left:-32px;transform-origin:100% 50%;transform:rotate(18deg)}
#robik-assistant .robik-arm.right{right:-32px;transform-origin:0% 50%;transform:rotate(-28deg)}
#robik-assistant .robik-feet{position:absolute;left:50%;top:184px;width:62px;transform:translateX(-50%);display:flex;justify-content:space-between}
#robik-assistant .robik-feet i{width:24px;height:12px;border-radius:999px 999px 10px 10px;background:linear-gradient(#c8ddff,color-mix(in srgb,var(--robik-main) 25%,#8fb4ff));box-shadow:0 8px 12px rgba(74,82,150,.12)}
#robik-assistant.is-speaking .robik-screen{filter:brightness(1.14) saturate(1.14);background:linear-gradient(120deg,var(--robik-screen) 20%, color-mix(in srgb,var(--robik-accent) 20%, #183c7a) 40%, var(--robik-screen) 60%, #0c1438);background-size:200% 100%;animation:robikScreenMove 1.4s linear infinite}
#robik-assistant.is-speaking .robik-head{transform:translateX(-50%) scale(1.02)}
#robik-assistant.is-speaking .robik-arm.right{animation:robikTinyWave .95s ease-in-out infinite}
#robik-assistant.is-speaking .robik-mouth span{transform:translateY(-1px) scale(1.08)}
@keyframes robikTinyWave{0%,100%{transform:rotate(-28deg)}50%{transform:rotate(-40deg)}}
@keyframes robikScreenMove{0%{background-position:0% 0}100%{background-position:180% 0}}
@media(max-width:700px){#robik-assistant{right:6px;bottom:6px;width:105px;height:136px}#robik-assistant .robik-card{width:105px;height:136px}#robik-assistant .robik-speech{right:64px;bottom:100px;min-width:128px;font-size:12px}#robik-assistant .robik{transform:scale(.62)}}
@media(prefers-reduced-motion:reduce){#robik-assistant *{animation:none!important;transition:none!important}}
@media print{#robik-assistant{display:none!important}}


/* V32_SMART_TEXT_EMOTIONS */
#robik-assistant.is-happy .robik-arm.right{
  animation:robikHappyRight .62s ease-in-out infinite!important;
}
#robik-assistant.is-happy .robik-arm.left{
  animation:robikHappyLeft .62s ease-in-out infinite!important;
}
#robik-assistant.is-happy .robik{
  animation:robikHappyBounce .72s ease-in-out infinite;
}
#robik-assistant.is-happy .robik-antenna b{
  box-shadow:0 0 22px rgba(121,216,255,.95),0 0 34px rgba(139,107,255,.35);
}
#robik-assistant.is-thinking .robik-screen{
  filter:brightness(1.08) saturate(1.08);
}
@keyframes robikHappyRight{
  0%,100%{transform:rotate(-18deg)}
  50%{transform:rotate(-52deg)}
}
@keyframes robikHappyLeft{
  0%,100%{transform:rotate(18deg)}
  50%{transform:rotate(52deg)}
}
@keyframes robikHappyBounce{
  0%,100%{transform:scale(.72) translateY(0)}
  50%{transform:scale(.72) translateY(-5px)}
}
@media(max-width:700px){
  @keyframes robikHappyBounce{
    0%,100%{transform:scale(.62) translateY(0)}
    50%{transform:scale(.62) translateY(-4px)}
  }
}

/* Bubiqo assistant visual style. */

/* Bubiqo music toggle. */
#robik-music-toggle{
  position:fixed;
  right:max(108px,calc(env(safe-area-inset-right) + 108px));
  bottom:max(16px,calc(env(safe-area-inset-bottom) + 16px));
  z-index:99999;
  width:42px;height:42px;border:0;border-radius:999px;
  background:rgba(255,255,255,.96);color:#303184;
  box-shadow:0 10px 24px rgba(74,82,150,.18);
  font-size:19px;line-height:1;display:grid;place-items:center;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .16s ease, opacity .16s ease, box-shadow .16s ease;
}
#robik-music-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(74,82,150,.22)}
#robik-music-toggle:active{transform:scale(.96)}
#robik-music-toggle.is-off{opacity:.7}
#robik-music-toggle.is-off::after{
  content:"";position:absolute;width:28px;height:3px;border-radius:999px;
  background:#ff5c7a;transform:rotate(-38deg);
  box-shadow:0 0 0 2px rgba(255,255,255,.85);
}
@media(max-width:700px){
  #robik-music-toggle{right:92px;bottom:12px;width:38px;height:38px;font-size:17px}
}
@media print{#robik-music-toggle{display:none!important}}


/* V37_SPEAKING_ZOOM: while speaking Robik gently comes closer */
#robik-assistant.is-speaking:not(.is-happy) .robik{
  transform:scale(.79);
}
#robik-assistant.is-speaking.is-happy .robik{
  animation:robikHappyBounceZoom .72s ease-in-out infinite!important;
}
@keyframes robikHappyBounceZoom{
  0%,100%{transform:scale(.79) translateY(0)}
  50%{transform:scale(.79) translateY(-6px)}
}
@media(max-width:700px){
  #robik-assistant.is-speaking:not(.is-happy) .robik{
    transform:scale(.68);
  }
  #robik-assistant.is-speaking.is-happy .robik{
    animation:robikHappyBounceZoomMobile .72s ease-in-out infinite!important;
  }
  @keyframes robikHappyBounceZoomMobile{
    0%,100%{transform:scale(.68) translateY(0)}
    50%{transform:scale(.68) translateY(-5px)}
  }
}





/* V53: movable Bubiqo, mobile starts near the top and never fully leaves the screen */
#robik-assistant[data-freepos="1"]{right:auto!important;bottom:auto!important;left:var(--bubiqo-x,auto);top:var(--bubiqo-y,auto)}
#robik-assistant .robik-card{touch-action:none}
#robik-assistant.is-dragging .robik-card{cursor:grabbing;transition:none!important}
#robik-assistant.is-dragging .robik-card:hover{transform:none}
#robik-assistant.is-top-zone .robik-speech{top:calc(100% - 2px);bottom:auto;right:12px;max-width:min(230px,78vw)}
#robik-assistant.is-top-zone .robik-speech:after{top:-8px;bottom:auto;right:26px;border:0;border-left:1px solid rgba(232,236,255,.95);border-top:1px solid rgba(232,236,255,.95);border-radius:5px 0 0 0}
@media(max-width:700px){
  #robik-assistant{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));bottom:auto;width:105px;height:136px}
  #robik-assistant:not([data-freepos="1"]){top:max(8px,env(safe-area-inset-top))!important;bottom:auto!important}
  #robik-assistant .robik-speech{top:calc(100% - 2px);bottom:auto;right:8px;min-width:132px;max-width:min(220px,82vw);font-size:12px}
  #robik-assistant .robik-speech:after{top:-8px;bottom:auto;right:24px;border:0;border-left:1px solid rgba(232,236,255,.95);border-top:1px solid rgba(232,236,255,.95);border-radius:5px 0 0 0}
}


/* V54: speech bubble is positioned in free viewport space, never under Bubiqo. */
#robik-assistant .robik-speech{
  position:fixed;
  left:var(--bubiqo-speech-x, 12px);
  top:var(--bubiqo-speech-y, 12px);
  right:auto!important;
  bottom:auto!important;
  max-width:min(250px, calc(100vw - 18px));
  z-index:100000;
}
#robik-assistant .robik-speech:after{display:none!important}
#robik-assistant .robik-speech:before{
  content:"";position:absolute;width:15px;height:15px;background:#fff;
  border:1px solid rgba(232,236,255,.95);border-left:0;border-top:0;
  border-radius:0 0 5px 0;transform:rotate(45deg);
}
#robik-assistant.bubble-left .robik-speech:before{right:-7px;top:50%;margin-top:-8px;transform:rotate(-45deg)}
#robik-assistant.bubble-right .robik-speech:before{left:-7px;top:50%;margin-top:-8px;transform:rotate(135deg)}
#robik-assistant.bubble-above .robik-speech:before{left:50%;bottom:-7px;margin-left:-8px;transform:rotate(45deg)}
#robik-assistant.bubble-below .robik-speech:before{left:50%;top:-7px;margin-left:-8px;transform:rotate(225deg)}
@media(max-width:700px){
  #robik-assistant .robik-speech{min-width:132px;max-width:min(224px, calc(100vw - 16px));font-size:12px;padding:9px 12px;border-radius:20px;}
  #robik-assistant .robik-speaker{top:17px;width:32px;height:27px;font-size:13px;}
}
