.charta-digital-assistant{position:fixed;right:clamp(12px,2vw,30px);bottom:max(10px,env(safe-area-inset-bottom));z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;font-family:inherit;contain:layout style;}
.charta-digital-assistant *{box-sizing:border-box;}
.charta-digital-assistant__bubble{pointer-events:auto;position:relative;display:flex;flex-direction:column;gap:12px;width:min(390px,calc(100vw - 44px));padding:17px 18px 18px;border:1px solid rgba(78,107,178,.16);border-radius:24px 24px 8px 24px;background:rgba(255,255,255,.97);box-shadow:0 24px 55px rgba(13,34,77,.20);backdrop-filter:blur(16px);color:#17315d;animation:chartaAssistantBubbleIn .35s ease both;}
.charta-digital-assistant__bubble[hidden]{display:none!important;}
.charta-digital-assistant__bubble:after{content:"";position:absolute;right:32px;bottom:-9px;width:18px;height:18px;border-right:1px solid rgba(78,107,178,.16);border-bottom:1px solid rgba(78,107,178,.16);border-radius:0 0 5px 0;background:rgba(255,255,255,.97);transform:rotate(45deg);}
.charta-digital-assistant__bubble-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.charta-digital-assistant__bubble-label{margin-bottom:3px;color:#326adf;font-size:12px;font-weight:900;letter-spacing:.12em;}
.charta-digital-assistant__bubble-subtitle{color:#7282a1;font-size:12px;font-weight:700;}
.charta-digital-assistant__controls{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.charta-digital-assistant__control{appearance:none;min-height:30px;padding:0 10px;border:1px solid rgba(47,103,255,.18);border-radius:999px;background:#edf4ff;color:#285ac4;font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap;transition:.18s ease;}
.charta-digital-assistant__control.is-ghost{background:#fff;color:#6c7891;border-color:rgba(83,104,151,.16);}
.charta-digital-assistant__control.is-active{border-color:transparent;background:linear-gradient(135deg,#2554b8,#2f70ef);color:#fff;}
.charta-digital-assistant__control:hover,.charta-digital-assistant__action:hover,.charta-digital-assistant__sound-unlock:hover{transform:translateY(-1px);box-shadow:0 9px 18px rgba(38,89,192,.13);}
.charta-digital-assistant__bubble-text{font-size:14px;font-weight:650;line-height:1.72;color:#20375f;}
.charta-digital-assistant__voice-status{display:flex;align-items:center;gap:7px;color:#7c89a1;font-size:11px;font-weight:700;}
.charta-digital-assistant__voice-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#95a4bb;box-shadow:0 0 0 4px rgba(149,164,187,.12);}
.charta-digital-assistant.is-speaking .charta-digital-assistant__voice-status:before{background:#24b9cb;box-shadow:0 0 0 5px rgba(36,185,203,.14);animation:chartaAssistantPulse 1s ease infinite;}
.charta-digital-assistant__actions{display:flex;gap:9px;flex-wrap:wrap;}
.charta-digital-assistant__action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;background:linear-gradient(135deg,#2c66e8,#25b7cf);color:#fff!important;font-size:12px;font-weight:850;text-decoration:none!important;box-shadow:0 10px 20px rgba(47,103,255,.18);transition:.18s ease;}
.charta-digital-assistant__action.is-soft{border:1px solid rgba(47,103,255,.14);background:#edf4ff;color:#2d64d4!important;box-shadow:none;}
.charta-digital-assistant__action.is-ghost{border:1px solid rgba(83,104,151,.15);background:#fff;color:#66738e!important;box-shadow:none;}
.charta-digital-assistant__dock{pointer-events:none;position:relative;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;}
.charta-digital-assistant__sound-unlock{pointer-events:auto;position:absolute;right:16px;top:-36px;z-index:12;min-height:32px;padding:0 13px;border:0;border-radius:999px;background:linear-gradient(135deg,#ff7b50,#ff3e72);color:#fff;font-size:11px;font-weight:900;box-shadow:0 12px 24px rgba(255,65,104,.25);cursor:pointer;animation:chartaAssistantUnlock 1.25s ease-in-out infinite;}
.charta-digital-assistant__sound-unlock[hidden]{display:none!important;}
.charta-digital-assistant__figure{pointer-events:auto;touch-action:manipulation;position:relative;width:190px;height:286px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 20px 28px rgba(9,31,72,.22));outline:none;}
.charta-digital-assistant__stage{position:absolute;inset:0;display:block;transform-origin:50% 88%;animation:chartaAssistantIdle 3.4s ease-in-out infinite;will-change:transform;}
.charta-digital-assistant__pose{position:absolute;left:50%;bottom:0;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center bottom;opacity:0;transform:translateX(-50%) scale(.96) rotate(-1deg);transition:opacity .48s ease,transform .65s cubic-bezier(.22,.74,.24,1);user-select:none;pointer-events:none;}
.charta-digital-assistant__pose.is-active{opacity:1;transform:translateX(-50%) scale(1) rotate(0);}
.charta-digital-assistant__glow{position:absolute;left:50%;bottom:5px;width:82%;height:35px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(47,103,255,.40),rgba(45,175,216,.12) 58%,transparent 73%);filter:blur(5px);}
.charta-digital-assistant__reaction{position:absolute;left:50%;top:23%;z-index:7;display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.88);font-size:44px;line-height:1;opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-10deg);box-shadow:0 13px 28px rgba(20,46,90,.18);pointer-events:none;}
.charta-digital-assistant__reaction.is-visible{animation:chartaAssistantReaction 1.25s cubic-bezier(.22,.8,.25,1) both;}
.charta-digital-assistant__sparkle{position:absolute;z-index:8;color:#ffe36d;font-size:24px;opacity:0;pointer-events:none;text-shadow:0 0 12px rgba(255,220,70,.8);}
.charta-digital-assistant__sparkle.sparkle-a{left:18%;top:18%;}.charta-digital-assistant__sparkle.sparkle-b{right:15%;top:31%;}
.charta-digital-assistant.is-reaction .charta-digital-assistant__sparkle{animation:chartaAssistantSparkle .9s ease both;}.charta-digital-assistant.is-reaction .sparkle-b{animation-delay:.13s;}
.charta-digital-assistant__hit{position:absolute;z-index:10;border:0;background:transparent;padding:0;cursor:pointer;border-radius:50%;opacity:0;}
.charta-digital-assistant__hit:focus-visible{opacity:1;outline:2px dashed rgba(47,103,255,.65);background:rgba(47,103,255,.08);}
.charta-digital-assistant__hit:hover{opacity:1;background:rgba(47,103,255,.035);box-shadow:0 0 0 1px rgba(47,103,255,.08) inset;}
.charta-digital-assistant__hit.hit-head{left:24%;top:4%;width:54%;height:38%;}
.charta-digital-assistant__hit.hit-hand{left:3%;top:31%;width:34%;height:30%;}
.charta-digital-assistant__hit.hit-body{left:31%;top:39%;width:48%;height:40%;}
.charta-digital-assistant__hit.hit-feet{left:25%;bottom:0;width:55%;height:22%;}
.charta-digital-assistant__mood{position:absolute;left:-14px;top:52%;z-index:11;display:inline-flex;align-items:center;justify-content:center;max-width:118px;min-height:29px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#355fbd;font-size:10px;font-weight:850;box-shadow:0 10px 22px rgba(15,47,93,.14);opacity:0;transform:translateY(5px) scale(.92);transition:.22s ease;pointer-events:none;}
.charta-digital-assistant__mood.is-visible{opacity:1;transform:translateY(0) scale(1);}
.charta-digital-assistant__name{position:absolute;right:0;bottom:10px;z-index:11;display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 10px;border-radius:999px;background:linear-gradient(135deg,#2c66e8,#25b7cf);color:#fff;font-size:10px;font-weight:900;box-shadow:0 11px 22px rgba(47,103,255,.22);white-space:nowrap;pointer-events:none;}
.charta-digital-assistant__figure:focus-visible{box-shadow:0 0 0 3px rgba(47,103,255,.18);border-radius:28px;}
.charta-digital-assistant.is-speaking .charta-digital-assistant__stage{animation:chartaAssistantTalking .58s ease-in-out infinite;}
.charta-digital-assistant.is-action-jump .charta-digital-assistant__stage{animation:chartaAssistantJump .9s cubic-bezier(.23,.8,.32,1) both;}
.charta-digital-assistant.is-action-wiggle .charta-digital-assistant__stage{animation:chartaAssistantWiggle .92s ease both;}
.charta-digital-assistant.is-action-spin .charta-digital-assistant__stage{animation:chartaAssistantSpin .95s cubic-bezier(.28,.77,.31,1) both;}
.charta-digital-assistant.is-action-squash .charta-digital-assistant__stage{animation:chartaAssistantSquash .85s ease both;}
.charta-digital-assistant.is-action-roll .charta-digital-assistant__stage{animation:chartaAssistantRoll 1.55s cubic-bezier(.36,.74,.22,1) both;}
.charta-digital-assistant.is-action-wave .charta-digital-assistant__stage{animation:chartaAssistantWave 1.05s ease both;}
@keyframes chartaAssistantIdle{0%,100%{transform:translateY(0) rotate(-1deg) scaleY(1)}35%{transform:translateY(-7px) rotate(1.2deg) scaleY(1.012)}65%{transform:translateY(-3px) rotate(-.6deg) scaleY(.992)}}
@keyframes chartaAssistantTalking{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-4px) rotate(.8deg)}}
@keyframes chartaAssistantJump{0%{transform:translateY(0) scale(1)}32%{transform:translateY(-42px) scale(1.04,.94)}55%{transform:translateY(4px) scale(.96,1.06)}75%{transform:translateY(-12px) scale(1.02,.98)}100%{transform:translateY(0) scale(1)}}
@keyframes chartaAssistantWiggle{0%,100%{transform:rotate(0)}18%{transform:rotate(-8deg) translateX(-5px)}38%{transform:rotate(8deg) translateX(5px)}58%{transform:rotate(-6deg)}78%{transform:rotate(5deg)}}
@keyframes chartaAssistantSpin{0%{transform:rotate(0) scale(1)}55%{transform:rotate(380deg) scale(.94)}100%{transform:rotate(360deg) scale(1)}}
@keyframes chartaAssistantSquash{0%,100%{transform:scale(1) translateY(0)}35%{transform:scale(1.1,.78) translateY(23px)}65%{transform:scale(.94,1.08) translateY(-12px)}}
@keyframes chartaAssistantRoll{0%{transform:translateX(0) translateY(0) rotate(0) scale(1)}18%{transform:translateX(-18px) translateY(38px) rotate(-78deg) scale(.92)}55%{transform:translateX(-105px) translateY(47px) rotate(-420deg) scale(.88)}82%{transform:translateX(-26px) translateY(12px) rotate(-690deg) scale(.96)}100%{transform:translateX(0) translateY(0) rotate(-720deg) scale(1)}}
@keyframes chartaAssistantWave{0%,100%{transform:rotate(0) translateY(0)}22%{transform:rotate(-4deg) translateY(-7px)}48%{transform:rotate(4deg) translateY(-3px)}72%{transform:rotate(-3deg) translateY(-6px)}}
@keyframes chartaAssistantReaction{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(-15deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(7deg)}70%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}100%{opacity:0;transform:translate(-50%,-65%) scale(.78)}}
@keyframes chartaAssistantSparkle{0%{opacity:0;transform:scale(.2) rotate(0)}35%{opacity:1;transform:scale(1.25) rotate(40deg)}100%{opacity:0;transform:scale(.5) rotate(90deg)}}
@keyframes chartaAssistantBubbleIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes chartaAssistantPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@keyframes chartaAssistantUnlock{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.04)}}
@media(max-width:1280px){.charta-digital-assistant__figure{width:162px;height:246px}.charta-digital-assistant__bubble{width:min(345px,calc(100vw - 40px))}}
@media(max-width:782px){.charta-digital-assistant{right:9px;bottom:max(7px,env(safe-area-inset-bottom));gap:8px}.charta-digital-assistant__figure{width:120px;height:184px}.charta-digital-assistant__bubble{width:min(285px,calc(100vw - 18px));padding:13px 14px 14px;border-radius:19px 19px 7px 19px;gap:10px}.charta-digital-assistant__bubble-header{flex-direction:column}.charta-digital-assistant__controls{justify-content:flex-start}.charta-digital-assistant__bubble-text{font-size:13px;line-height:1.58}.charta-digital-assistant__action{min-height:32px;padding:0 11px;font-size:11px}.charta-digital-assistant__name{bottom:7px;font-size:8px;min-height:21px;padding:0 7px}.charta-digital-assistant__mood{left:-34px;top:46%;font-size:9px;max-width:92px}.charta-digital-assistant__sound-unlock{right:2px;top:-30px;min-height:28px;font-size:10px}.charta-digital-assistant__reaction{width:48px;height:48px;font-size:31px}}
@media(max-width:460px){.charta-digital-assistant__figure{width:102px;height:158px}.charta-digital-assistant__bubble{width:min(252px,calc(100vw - 16px))}.charta-digital-assistant__name{display:none}.charta-digital-assistant__mood{display:none}}
@media(prefers-reduced-motion:reduce){.charta-digital-assistant__stage{animation:none!important}.charta-digital-assistant__pose{transition:none!important}.charta-digital-assistant__sound-unlock{animation:none!important}}


/* synchronized talking mouth */
.charta-digital-assistant__mouth-frame{
  position:absolute;
  left:50%;
  bottom:0;
  z-index:4;
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  opacity:0;
  transform:translateX(-50%) scale(1);
  pointer-events:none;
  user-select:none;
  will-change:opacity;
}
.charta-digital-assistant__mouth-frame.is-active{opacity:1;}
.charta-digital-assistant.is-mouth-talking .charta-digital-assistant__pose[data-pose="front"]{opacity:1;}
.charta-digital-assistant.is-mouth-talking .charta-digital-assistant__stage{transform-origin:50% 88%;}
@media(prefers-reduced-motion:reduce){
  .charta-digital-assistant__mouth-frame{transition:none!important;}
}


/* 4.4.4 precise local mouth overlays */
.charta-digital-assistant__mouth-frame{
  inset:0!important;
  left:0!important;
  bottom:auto!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
  z-index:8!important;
}
.charta-digital-assistant.is-mouth-talking .charta-digital-assistant__pose[data-pose="front"]{opacity:1!important;}


/* 4.4.6 exact 420×614 character canvas and synchronized mouth alignment */
.charta-digital-assistant__figure{
  height:auto!important;
  aspect-ratio:210/307!important;
}
.charta-digital-assistant__stage{
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.charta-digital-assistant__pose,
.charta-digital-assistant__mouth-frame{
  left:0!important;
  top:0!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform-origin:center bottom!important;
}
.charta-digital-assistant__pose{transform:scale(.96) rotate(-1deg)!important;}
.charta-digital-assistant__pose.is-active{transform:scale(1) rotate(0)!important;}
.charta-digital-assistant__mouth-frame{transform:none!important;}
