.plai-shopping-ai-float {
  --ai-pitch: 0deg;
  --ai-yaw: 0deg;
  --ai-roll: 0deg;
  --ai-light-x: 68%;
  --ai-light-y: 27%;
  --ai-head-x: 0px;
  --ai-head-y: 0px;
  position: fixed;
  z-index: 4900;
  right: 12px;
  bottom: calc(var(--mall-safe-bottom, 72px) + 16px);
  width: 141px;
  height: 192px;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, width .25s ease, height .25s ease;
}

.plai-shopping-ai-float.is-retiring {
  opacity: 0;
  transform: translateY(38px) scale(.72);
}

.plai-shopping-ai-float__handle {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  border: 0;
  background: transparent;
  padding: 0;
  pointer-events: auto;
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.plai-shopping-ai-float.is-dragging .plai-shopping-ai-float__handle { cursor: grabbing; }

.plai-shopping-ai-float__scene {
  position: absolute;
  inset: 0 0 12px;
  display: block;
  perspective: 620px;
  transform-style: preserve-3d;
  transform-origin: 68% 68%;
  transform: rotateX(var(--ai-pitch)) rotateY(var(--ai-yaw)) rotateZ(var(--ai-roll));
  transition: transform .16s cubic-bezier(.2,.8,.2,1);
  will-change: transform;
  animation: plaiShoppingFloat 3.7s ease-in-out infinite;
}

.plai-shopping-ai-float__depth {
  position: absolute;
  inset: 0;
  display: block;
  transform-style: preserve-3d;
  transform-origin: 68% 70%;
  will-change: transform;
  transition: opacity .18s ease;
}

.plai-shopping-ai-float__silhouette {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.plai-shopping-ai-float__silhouette {
  opacity: .52;
  transform: translate3d(-2px, 5px, -18px) scale(.985);
  filter: brightness(.28) saturate(2.2) hue-rotate(165deg) blur(2.2px);
}

.plai-shopping-ai-float__character {
  position: absolute;
  inset: 0;
  display: block;
  transform-style: preserve-3d;
  pointer-events: none;
  filter: drop-shadow(0 15px 16px rgba(3,14,35,.34)) drop-shadow(-2px 1px 1px rgba(116,226,255,.34));
  transition: filter .18s ease;
}

.plai-shopping-ai-float__part {
  position: absolute;
  inset: 0;
  display: block;
  background: url('/images/ai/plai-ai-shopping-concierge-front-chibi-v6.png') center/contain no-repeat;
  backface-visibility: hidden;
  will-change: transform;
}

.plai-shopping-ai-float__part--body {
  z-index: 2;
  clip-path: inset(0);
  transform: translateZ(12px);
}

.plai-shopping-ai-float__part--arm-left {
  z-index: 4;
  clip-path: polygon(3% 35%,43% 34%,46% 61%,15% 61%);
  transform-origin: 37% 39%;
  transform: translateZ(23px);
}

.plai-shopping-ai-float__part--arm-right {
  z-index: 4;
  clip-path: polygon(57% 35%,82% 34%,88% 62%,54% 62%);
  transform-origin: 64% 39%;
  transform: translateZ(24px);
}

.plai-shopping-ai-float__part--leg-left {
  z-index: 3;
  clip-path: polygon(28% 67%,52% 67%,52% 98%,25% 98%);
  transform-origin: 46% 69%;
  transform: translateZ(17px);
}

.plai-shopping-ai-float__part--leg-right {
  z-index: 3;
  clip-path: polygon(49% 67%,73% 67%,76% 98%,49% 98%);
  transform-origin: 54% 69%;
  transform: translateZ(16px);
}

.plai-shopping-ai-float__part--head {
  z-index: 6;
  clip-path: ellipse(30% 20% at 50% 20%);
  transform-origin: 50% 31%;
  transform: translate3d(var(--ai-head-x),var(--ai-head-y),34px);
}

.plai-shopping-ai-float__lips {
  position: absolute;
  z-index: 8;
  left: 46.4%;
  top: 27.25%;
  width: 7.4%;
  height: 2.6%;
  transform: translate3d(var(--ai-head-x),var(--ai-head-y),42px);
  pointer-events: none;
}

.plai-shopping-ai-float__lip {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  opacity: 0;
  transform: translate(-50%,-50%);
  background: #7d3039;
  box-shadow: inset 0 1px 0 rgba(255,190,190,.8), 0 0 0 .5px rgba(91,28,38,.4);
}

.plai-shopping-ai-float__lip--a { width: 78%; height: 92%; border-radius: 45% 45% 52% 52%; }
.plai-shopping-ai-float__lip--a::after { content: ''; position: absolute; left: 24%; right: 24%; top: 15%; height: 25%; border-radius: 999px; background: rgba(255,245,238,.86); }
.plai-shopping-ai-float__lip--i { width: 100%; height: 38%; border-radius: 999px; background: #c66b75; }
.plai-shopping-ai-float__lip--o { width: 58%; height: 100%; border-radius: 50%; background: #713039; box-shadow: inset 0 0 0 2px #d98288; }

.plai-shopping-ai-float__sheen {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  transform: translateZ(29px);
  background: radial-gradient(circle at var(--ai-light-x) var(--ai-light-y), rgba(255,255,255,.72) 0, rgba(102,226,255,.20) 10%, transparent 27%);
  mix-blend-mode: screen;
  opacity: .72;
  pointer-events: none;
  -webkit-mask: url('/images/ai/plai-ai-shopping-concierge-front-chibi-v6.png') center/contain no-repeat;
  mask: url('/images/ai/plai-ai-shopping-concierge-front-chibi-v6.png') center/contain no-repeat;
}

.plai-shopping-ai-float__aura {
  position: absolute;
  z-index: -1;
  right: 9%;
  top: 8%;
  width: 76%;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translateZ(-34px);
  background: radial-gradient(circle, rgba(27,179,255,.32), rgba(36,107,254,.13) 42%, transparent 72%);
  filter: blur(3px);
  animation: plaiShoppingAura 2.8s ease-in-out infinite;
}

.plai-shopping-ai-float__pose {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transform: translateZ(28px);
  filter: drop-shadow(0 15px 16px rgba(3,14,35,.34)) drop-shadow(-2px 1px 1px rgba(116,226,255,.3));
  pointer-events: none;
  transition: opacity .18s ease;
}

.plai-shopping-ai-float__pose--walk {
  background-image: url('/images/ai/plai-ai-shopping-concierge-walk-cycle-v5.png');
  background-repeat: no-repeat;
  background-size: 300% 200%;
  background-position: 0 0;
}

.plai-shopping-ai-float.is-walking-left .plai-shopping-ai-float__pose--walk {
  background-image: url('/images/ai/plai-ai-shopping-concierge-walk-cycle-v5.png');
}

.plai-shopping-ai-float.is-walking-right .plai-shopping-ai-float__pose--walk {
  background-image: url('/images/ai/plai-ai-shopping-concierge-walk-cycle-reverse-v6.png');
}

.plai-shopping-ai-float__platform {
  position: absolute;
  z-index: -2;
  left: 25%;
  bottom: -2px;
  display: block;
  width: 68%;
  height: 19px;
  border: 1px solid rgba(99,218,255,.6);
  border-radius: 50%;
  transform: translateZ(-10px) rotateX(69deg);
  background: radial-gradient(ellipse, rgba(36,107,254,.35), rgba(18,219,224,.09) 52%, transparent 72%);
  box-shadow: 0 0 15px rgba(34,211,238,.44), inset 0 0 10px rgba(255,255,255,.26);
}

.plai-shopping-ai-float__platform i {
  position: absolute;
  inset: 4px 10px;
  border: 1px dashed rgba(161,242,255,.65);
  border-radius: inherit;
  animation: plaiShoppingPlatform 5s linear infinite;
}

.plai-shopping-ai-float__status {
  position: absolute;
  z-index: 6;
  right: 25px;
  top: 22px;
  width: 12px;
  height: 12px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #22d3b6;
  box-shadow: 0 0 0 5px rgba(34,211,182,.18), 0 0 18px #22d3b6;
  pointer-events: none;
}

.plai-shopping-ai-float__hint {
  position: absolute;
  z-index: 7;
  left: 50%;
  bottom: 3px;
  width: max-content;
  max-width: 180px;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  background: rgba(5,20,48,.88);
  padding: 6px 9px;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: -.01em;
  box-shadow: 0 7px 20px rgba(4,18,42,.22);
  backdrop-filter: blur(10px);
  pointer-events: none;
  transition: opacity .2s ease;
}

.plai-shopping-ai-float.is-dragging .plai-shopping-ai-float__scene { transition-duration: .05s; }
.plai-shopping-ai-float.is-dragging .plai-shopping-ai-float__character { filter: drop-shadow(0 21px 23px rgba(28,96,210,.48)) drop-shadow(-3px 1px 2px rgba(117,235,255,.52)); }
.plai-shopping-ai-float.is-dragging .plai-shopping-ai-float__hint { opacity: 0; }
.plai-shopping-ai-float.is-speaking .plai-shopping-ai-float__depth { animation: plaiShoppingSpeak .46s ease-in-out infinite alternate; }
.plai-shopping-ai-float.is-speaking .plai-shopping-ai-float__aura { animation-duration: .72s; }
.plai-shopping-ai-float.is-speaking .plai-shopping-ai-float__platform { box-shadow: 0 0 26px rgba(34,211,238,.8), inset 0 0 14px rgba(255,255,255,.38); }
.plai-shopping-ai-float.is-speaking .plai-shopping-ai-float__lip--a { animation: plaiShoppingLipA .72s steps(1,end) infinite; }
.plai-shopping-ai-float.is-speaking .plai-shopping-ai-float__lip--i { animation: plaiShoppingLipI .72s steps(1,end) infinite; }
.plai-shopping-ai-float.is-speaking .plai-shopping-ai-float__lip--o { animation: plaiShoppingLipO .72s steps(1,end) infinite; }
.plai-shopping-ai-float.is-greeting .plai-shopping-ai-float__depth { animation: plaiShoppingGreeting .55s cubic-bezier(.2,.9,.25,1); }
.plai-shopping-ai-float.is-walking .plai-shopping-ai-float__scene { animation: none; }
.plai-shopping-ai-float.is-turning-out .plai-shopping-ai-float__scene,
.plai-shopping-ai-float.is-turning-in .plai-shopping-ai-float__scene { animation: none; }
.plai-shopping-ai-float.is-walking .plai-shopping-ai-float__depth,
.plai-shopping-ai-float.is-turning-out .plai-shopping-ai-float__depth,
.plai-shopping-ai-float.is-turning-in .plai-shopping-ai-float__depth,
.plai-shopping-ai-float.is-resting .plai-shopping-ai-float__depth { opacity: 0; }
.plai-shopping-ai-float.is-walking .plai-shopping-ai-float__hint,
.plai-shopping-ai-float.is-turning-out .plai-shopping-ai-float__hint,
.plai-shopping-ai-float.is-turning-in .plai-shopping-ai-float__hint,
.plai-shopping-ai-float.is-resting .plai-shopping-ai-float__hint { opacity: 0; }
.plai-shopping-ai-float.is-walking .plai-shopping-ai-float__pose--walk { opacity: 1; animation: plaiShoppingWalkFrames 1.56s steps(1,end) infinite, plaiShoppingBackWalk .78s ease-in-out infinite alternate; }
.plai-shopping-ai-float.is-turning-out .plai-shopping-ai-float__pose--walk { opacity: 1; animation: plaiShoppingTurnOut .26s ease-in both; }
.plai-shopping-ai-float.is-turning-in .plai-shopping-ai-float__pose--walk { opacity: 1; animation: plaiShoppingTurnIn .26s ease-out both; }
.plai-shopping-ai-float.is-lying-down,
.plai-shopping-ai-float.is-resting { width: 200px; height: 131px; }
.plai-shopping-ai-float.is-crouching .plai-shopping-ai-float__scene,
.plai-shopping-ai-float.is-lying-down .plai-shopping-ai-float__scene,
.plai-shopping-ai-float.is-waking .plai-shopping-ai-float__scene { animation: none; }
.plai-shopping-ai-float.is-crouching .plai-shopping-ai-float__depth { animation: plaiShoppingCrouch .56s cubic-bezier(.25,.8,.3,1) both; }
.plai-shopping-ai-float.is-crouching .plai-shopping-ai-float__hint,
.plai-shopping-ai-float.is-lying-down .plai-shopping-ai-float__hint { opacity: 0; }
.plai-shopping-ai-float.is-lying-down .plai-shopping-ai-float__depth { animation: plaiShoppingLieDown .92s cubic-bezier(.55,.05,.25,1) both; }
.plai-shopping-ai-float.is-lying-down .plai-shopping-ai-float__pose--rest { animation: plaiShoppingRestArrive .92s cubic-bezier(.3,.7,.25,1) both; }
.plai-shopping-ai-float.is-waking .plai-shopping-ai-float__depth { animation: plaiShoppingStandUp 1.08s cubic-bezier(.2,.8,.2,1) both; }
.plai-shopping-ai-float.is-waking .plai-shopping-ai-float__pose--rest { animation: plaiShoppingRestDepart .88s ease-in both; }
.plai-shopping-ai-float.is-resting .plai-shopping-ai-float__scene { animation: plaiShoppingRestBreathe 4.8s ease-in-out infinite; }
.plai-shopping-ai-float.is-resting .plai-shopping-ai-float__pose--rest { opacity: 1; }
.plai-shopping-ai-float.is-resting .plai-shopping-ai-float__platform { left: 15%; width: 72%; opacity: .42; }
.plai-shopping-ai-float.is-resting .plai-shopping-ai-float__status { background: #93a4bd; box-shadow: 0 0 0 5px rgba(148,163,184,.14); }

.plai-shopping-ai-panel {
  position: fixed;
  z-index: 4901;
  width: min(332px, calc(100vw - 24px));
  overflow: hidden;
  border: 1px solid #d9e5f6;
  border-radius: 22px;
  background: rgba(255,255,255,.98);
  padding: 15px;
  pointer-events: auto;
  box-shadow: 0 24px 70px rgba(5,24,59,.28);
  backdrop-filter: blur(18px);
  animation: plaiShoppingPanelIn .2s ease-out;
}

.plai-shopping-ai-panel[hidden] { display: none; }
.plai-shopping-ai-panel header { display: flex; align-items: center; justify-content: space-between; }
.plai-shopping-ai-panel header > span { display: flex; align-items: center; gap: 8px; color: #123d83; font-size: 12px; }
.plai-shopping-ai-panel header > span small { color: #7488a6; font-size: 8px; font-weight: 850; white-space: nowrap; }
.plai-shopping-ai-panel header i { width: 8px; height: 8px; border-radius: 50%; background: #22d3b6; box-shadow: 0 0 9px #22d3b6; }
.plai-shopping-ai-panel__voice-controls { display: flex; align-items: center; gap: 5px; }
.plai-shopping-ai-panel header button { display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 10px; background: #edf3fb; color: #415574; font-size: 20px; cursor: pointer; }
.plai-shopping-ai-panel header #plaiShoppingAiReplay,
.plai-shopping-ai-panel header #plaiShoppingAiStop { display: inline-flex; width: auto; align-items: center; gap: 4px; padding: 0 8px; color: #185bc4; font-size: 11px; font-weight: 900; }
.plai-shopping-ai-panel header #plaiShoppingAiReplay[hidden],
.plai-shopping-ai-panel header #plaiShoppingAiStop[hidden] { display: none; }
.plai-shopping-ai-panel header #plaiShoppingAiReplay em,
.plai-shopping-ai-panel header #plaiShoppingAiStop em { font-size: 8px; font-style: normal; }
.plai-shopping-ai-panel header #plaiShoppingAiStop { background: #ffe8ed; color: #c52e55; }
.plai-shopping-ai-panel[data-voice-state="loading"] #plaiShoppingAiReplay,
.plai-shopping-ai-panel[data-voice-state="playing"] #plaiShoppingAiReplay { background: #dff7f2; color: #087b6d; }
.plai-shopping-ai-panel__answer { margin-top: 11px; border-radius: 14px; background: #eef5ff; padding: 12px; color: #263f62; font-size: 12px; font-weight: 750; line-height: 1.6; }
.plai-shopping-ai-panel__answer.is-loading { color: #56719a; }
.plai-shopping-ai-panel__results { display: grid; min-height: 0; max-height: min(360px, 44vh); gap: 8px; margin-top: 8px; overflow-x: hidden; overflow-y: auto; overscroll-behavior-y: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; padding-right: 3px; scrollbar-width: thin; }
.plai-shopping-ai-panel__results:empty { display: none; }
.plai-shopping-ai-panel__results-nav { display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 5px; margin-top: 7px; border: 1px solid #c8daf3; border-radius: 11px; background: #f2f7ff; padding: 5px; }
.plai-shopping-ai-panel__results-nav[hidden] { display: none; }
.plai-shopping-ai-panel__results-nav button { min-height: 30px; border: 1px solid #b9d2f8; border-radius: 8px; background: #fff; padding: 0 8px; color: #185bc4; font-size: 9px; font-weight: 950; cursor: pointer; }
.plai-shopping-ai-panel__results-nav button:disabled { opacity: .38; cursor: default; }
.plai-shopping-ai-panel__results-nav span { color: #526985; font-size: 9px; font-weight: 900; text-align: center; }
.plai-shopping-ai-result { display: grid; grid-template-columns: minmax(0,1fr); gap: 9px; align-items: center; border: 1px solid #dce7f5; border-radius: 15px; background: #fff; padding: 10px 11px; touch-action: pan-y; -webkit-user-drag: none; color: #203752 !important; text-decoration: none; transition: border-color .16s ease, transform .16s ease; }
.plai-shopping-ai-result.has-image { grid-template-columns: 58px minmax(0,1fr); }
.plai-shopping-ai-result:hover { border-color: #8eb7f5; transform: translateY(-1px); }
.plai-shopping-ai-result > img { width: 58px; height: 58px; border-radius: 11px; background: #edf3fa; object-fit: cover; }
.plai-shopping-ai-result__body { display: grid; min-width: 0; gap: 4px; }
.plai-shopping-ai-result b { overflow-wrap: anywhere; color: #172b49; font-size: 12px; font-weight: 950; line-height: 1.35; }
.plai-shopping-ai-result__category { color: #526985; font-size: 9px; font-weight: 850; line-height: 1.4; }
.plai-shopping-ai-result__address { color: #334e70; font-size: 9px; font-weight: 750; line-height: 1.45; overflow-wrap: anywhere; }
.plai-shopping-ai-result__meta { color: #5b7090; font-size: 8px; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
.plai-shopping-ai-result__facts { display: flex; flex-wrap: wrap; gap: 4px; }
.plai-shopping-ai-result__facts i { border-radius: 999px; background: #eef5ff; padding: 3px 6px; color: #185bc4; font-size: 8px; font-style: normal; font-weight: 900; white-space: nowrap; }
.plai-shopping-ai-result__more { justify-self: end; color: #185bc4; font-size: 8px; font-weight: 950; }
.plai-shopping-ai-result__badges { display: flex !important; min-width: 0; flex-wrap: wrap; gap: 3px; }
.plai-shopping-ai-result__badges em { border-radius: 999px; background: #e8f1ff; padding: 3px 6px; color: #185bc4; font-size: 7px; font-style: normal; font-weight: 950; white-space: nowrap; }
.plai-shopping-ai-result__badges em.is-order { background: #102b58; color: #fff; }
.plai-shopping-ai-result--store .plai-shopping-ai-result__badges em { background: #e7f8f3; color: #087b6d; }
.plai-shopping-ai-panel[data-search-state="searching"] .plai-shopping-ai-panel__answer,
.plai-shopping-ai-panel[data-search-state="locating"] .plai-shopping-ai-panel__answer { background: #fff8df; color: #7c5a00; }
.plai-shopping-ai-panel[data-search-state="error"] .plai-shopping-ai-panel__answer { background: #fff0f3; color: #a72d4a; }
.plai-shopping-ai-panel__action { display: inline-flex; margin: 9px 2px 0; color: #185bc4 !important; font-size: 11px; font-weight: 950; }
.plai-shopping-ai-panel form { display: flex; align-items: center; gap: 6px; margin-top: 12px; border: 1px solid #d7e3f2; border-radius: 14px; background: #f7faff; padding: 5px; }
.plai-shopping-ai-panel form:focus-within { border-color: #6d9ef2; box-shadow: 0 0 0 3px rgba(36,107,254,.09); }
.plai-shopping-ai-panel form input { min-width: 0; flex: 1; border: 0; background: transparent; padding: 0 4px; color: #172b49; font-size: 12px; font-weight: 750; outline: 0; }
.plai-shopping-ai-panel form > button { height: 36px; border: 0; border-radius: 10px; background: #246bfe; padding: 0 11px; color: #fff; font-size: 10px; font-weight: 950; cursor: pointer; }
.plai-shopping-ai-panel form .plai-shopping-ai-panel__mic { width: 36px; flex: none; background: #102b58; padding: 0; font-size: 9px; }
.plai-shopping-ai-panel.is-listening form .plai-shopping-ai-panel__mic { background: #ef426f; box-shadow: 0 0 0 4px rgba(239,66,111,.12); }
.plai-shopping-ai-panel__quick { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.plai-shopping-ai-panel__quick button { border: 1px solid #dbe5f2; border-radius: 999px; background: #fff; padding: 6px 8px; color: #51647f; font-size: 9px; font-weight: 850; cursor: pointer; }

@keyframes plaiShoppingFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -8px; }
}

@keyframes plaiShoppingSpeak {
  from { transform: translate3d(0,-1px,0) scale(1); }
  to { transform: translate3d(0,-7px,8px) scale(1.018); }
}

@keyframes plaiShoppingGreeting {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  42% { transform: translate3d(0,-10px,18px) scale(1.045); }
  70% { transform: translate3d(0,2px,0) scale(.992); }
}

@keyframes plaiShoppingAura {
  0%, 100% { opacity: .62; transform: translateZ(-34px) scale(.94); }
  50% { opacity: 1; transform: translateZ(-34px) scale(1.07); }
}

@keyframes plaiShoppingLipA { 0%,31% { opacity: 1; } 32%,100% { opacity: 0; } }
@keyframes plaiShoppingLipI { 0%,32%,64%,100% { opacity: 0; } 33%,63% { opacity: 1; } }
@keyframes plaiShoppingLipO { 0%,65%,100% { opacity: 0; } 66%,96% { opacity: 1; } }

@keyframes plaiShoppingWalkFrames {
  0%,16.65% { background-position: 0 0; }
  16.67%,33.31% { background-position: 50% 0; }
  33.33%,49.98% { background-position: 100% 0; }
  50%,66.64% { background-position: 0 100%; }
  66.67%,83.31% { background-position: 50% 100%; }
  83.33%,100% { background-position: 100% 100%; }
}

@keyframes plaiShoppingBackWalk {
  from { transform: translate3d(-1px,1px,28px) rotate(-1.4deg); }
  to { transform: translate3d(1px,-4px,33px) rotate(1.4deg); }
}

@keyframes plaiShoppingTurnOut {
  from { transform: translate3d(0,0,28px) rotateY(0) scaleX(1); filter: drop-shadow(0 15px 16px rgba(3,14,35,.34)); }
  to { transform: translate3d(0,1px,16px) rotateY(78deg) scaleX(.2); filter: drop-shadow(0 7px 8px rgba(3,14,35,.2)); }
}

@keyframes plaiShoppingTurnIn {
  from { transform: translate3d(0,1px,16px) rotateY(-78deg) scaleX(.2); filter: drop-shadow(0 7px 8px rgba(3,14,35,.2)); }
  to { transform: translate3d(0,0,28px) rotateY(0) scaleX(1); filter: drop-shadow(0 15px 16px rgba(3,14,35,.34)); }
}

@keyframes plaiShoppingRestBreathe {
  0%,100% { transform: rotateX(var(--ai-pitch)) rotateY(var(--ai-yaw)) rotateZ(var(--ai-roll)) translateY(1px); }
  50% { transform: rotateX(var(--ai-pitch)) rotateY(var(--ai-yaw)) rotateZ(var(--ai-roll)) translateY(-2px); }
}

@keyframes plaiShoppingCrouch {
  0% { opacity: 1; transform: translate3d(0,0,0) rotate(0) scale(1); }
  38% { transform: translate3d(0,-3px,5px) rotate(2deg) scale(1.01,.98); }
  72% { transform: translate3d(-3px,10px,4px) rotate(-7deg) scale(.96,.9); }
  100% { opacity: 1; transform: translate3d(-7px,20px,3px) rotate(-14deg) scale(.91,.82); }
}

@keyframes plaiShoppingLieDown {
  0% { opacity: 1; transform: translate3d(-7px,20px,3px) rotate(-14deg) scale(.91,.82); }
  32% { opacity: 1; transform: translate3d(-12px,27px,4px) rotate(-31deg) scale(.86,.76); }
  62% { opacity: .92; transform: translate3d(-21px,33px,2px) rotate(-53deg) scale(.8,.71); }
  84% { opacity: .5; transform: translate3d(-28px,36px,-3px) rotate(-73deg) scale(.71,.67); }
  100% { opacity: 0; transform: translate3d(-30px,35px,-8px) rotate(-82deg) scale(.66); }
}

@keyframes plaiShoppingRestArrive {
  0%,52% { opacity: 0; transform: translate3d(28px,22px,20px) rotate(9deg) scale(.68); }
  76% { opacity: .42; transform: translate3d(16px,12px,24px) rotate(5deg) scale(.82); }
  90% { opacity: .86; transform: translate3d(3px,1px,28px) rotate(-1deg) scale(1.02); }
  100% { opacity: 1; transform: translate3d(0,0,28px) rotate(0) scale(1); }
}

@keyframes plaiShoppingStandUp {
  0%,22% { opacity: 0; transform: translate3d(-30px,35px,-8px) rotate(-82deg) scale(.66); }
  46% { opacity: .46; transform: translate3d(-22px,32px,0) rotate(-58deg) scale(.76); }
  70% { opacity: .88; transform: translate3d(-8px,21px,4px) rotate(-18deg) scale(.9,.82); }
  88% { opacity: 1; transform: translate3d(-2px,7px,5px) rotate(3deg) scale(.98,.94); }
  100% { opacity: 1; transform: translate3d(0,0,0) rotate(0) scale(1); }
}

@keyframes plaiShoppingRestDepart {
  0% { opacity: 1; transform: translate3d(0,0,28px) rotate(0) scale(1); }
  55% { opacity: .72; transform: translate3d(18px,14px,18px) rotate(8deg) scale(.82); }
  100% { opacity: 0; transform: translate3d(31px,25px,0) rotate(14deg) scale(.65); }
}

@keyframes plaiShoppingWalkBody {
  from { transform: translate3d(0,0,12px) rotate(-.7deg); }
  to { transform: translate3d(0,-3px,14px) rotate(.7deg); }
}

@keyframes plaiShoppingWalkHead {
  from { transform: translate3d(var(--ai-head-x),calc(var(--ai-head-y) + 1px),34px) rotate(1deg); }
  to { transform: translate3d(var(--ai-head-x),calc(var(--ai-head-y) - 2px),38px) rotate(-1deg); }
}

@keyframes plaiShoppingWalkArmLeft {
  0%,100% { transform: translateZ(23px) rotate(5deg); }
  50% { transform: translateZ(25px) rotate(-7deg); }
}

@keyframes plaiShoppingWalkArmRight {
  0%,100% { transform: translateZ(24px) rotate(-6deg); }
  50% { transform: translateZ(22px) rotate(7deg); }
}

@keyframes plaiShoppingWalkLegLeft {
  0%,100% { transform: translate3d(-1px,-1px,20px) rotate(5deg); }
  50% { transform: translate3d(1px,1px,13px) rotate(-5deg); }
}

@keyframes plaiShoppingWalkLegRight {
  0%,100% { transform: translate3d(1px,1px,13px) rotate(-5deg); }
  50% { transform: translate3d(-1px,-1px,20px) rotate(5deg); }
}

@keyframes plaiShoppingPlatform { to { transform: rotate(360deg); } }
@keyframes plaiShoppingPanelIn { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: none; } }

@media (max-width: 640px) {
  .plai-shopping-ai-float { right: 4px; bottom: calc(var(--mall-safe-bottom, 72px) + 5px); width: 114px; height: 155px; }
  .plai-shopping-ai-float.is-lying-down,
  .plai-shopping-ai-float.is-resting { width: 179px; height: 118px; }
  .plai-shopping-ai-float__status { right: 15px; top: 14px; width: 9px; height: 9px; }
  .plai-shopping-ai-float__hint { bottom: 0; font-size: 8px; }
  .plai-shopping-ai-panel { width: calc(100vw - 20px); overflow: hidden; border-radius: 20px; }
  .plai-shopping-ai-panel__results { max-height: min(390px, 46vh); }
}

@media (prefers-reduced-motion: reduce) {
  .plai-shopping-ai-float,
  .plai-shopping-ai-float__scene,
  .plai-shopping-ai-float__depth,
  .plai-shopping-ai-float__aura,
  .plai-shopping-ai-float__platform i,
  .plai-shopping-ai-panel { animation: none !important; transition: none !important; }
}
