/* WoodenKing Mascot 1.0.0 — scoped styles; no shared styles are replaced. */
.wk-mascot {
  position: fixed;
  width: 169px;
  height: 121px;
  z-index: calc(var(--z-header, 1000) + 1);
  pointer-events: none;
  font: 15px/1.45 system-ui, sans-serif;
  color: #26351f;
}
.wk-mascot[hidden] { display: none !important; }
.wk-mascot__character {
  width: 169px;
  height: 121px;
  padding: 0;
  border: 0;
  background: none;
  pointer-events: auto;
  cursor: pointer;
  transition: transform .35s ease;
  transform-origin: 82px 105px;
  -webkit-tap-highlight-color: transparent;
}
.wk-mascot__character:focus-visible, .wk-mascot__close:focus-visible {
  outline: 2px solid #5a7934;
  outline-offset: 4px;
}
.wk-mascot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.wk-mascot__bubble {
  position: absolute;
  bottom: 121px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #dae5cc;
  border-radius: 18px 18px 5px 18px;
  padding: 16px 20px;
  box-shadow: 0 8px 30px #22331718;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .22s, transform .22s;
}
.wk-mascot.is-text .wk-mascot__bubble { opacity: 1; transform: none; }
.wk-mascot__close {
  position: absolute;
  right: -4px;
  top: -10px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid #d7dfce;
  border-radius: 50%;
  background: #fff;
  color: #556149;
  pointer-events: auto;
  cursor: pointer;
  font: 20px/1 system-ui, sans-serif;
}
.wk-mascot__live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.wk-mascot__body { animation: wk-breathe 3.6s ease-in-out infinite; }
.wk-mascot__left-arm { transform-origin: 52px 55px; animation: wk-left-arm 1.5s ease-in-out infinite; }
.wk-mascot__right-arm { transform-origin: 104px 43px; }
.wk-mascot__blink-lids { opacity: 0; animation: wk-blink 5.2s linear infinite; }
.wk-mascot__speech-mouth { opacity: 0; }
.wk-mascot.is-talking .wk-mascot__speech-mouth { opacity: 1; }
.wk-mascot__mouth-soft { opacity: 0; }
.wk-mascot.is-talking .wk-mascot__mouth-open { animation: wk-open .48s steps(1) infinite; }
.wk-mascot.is-talking .wk-mascot__mouth-soft { animation: wk-soft .48s steps(1) infinite; }
.wk-mascot.is-wave .wk-mascot__right-arm { animation: wk-wave .75s ease-in-out infinite; }
.wk-mascot__approval-leaf, .wk-mascot__point-branch { display: none; }
.wk-mascot.is-point .wk-mascot__right-arm { visibility: hidden; }
.wk-mascot.is-point .wk-mascot__point-branch {
  display: block;
  transform-origin: 104px 43px;
  transform: translateX(var(--wk-branch-shift, 0px));
  animation: wk-point-sway 1.8s ease-in-out infinite;
}
.wk-mascot.is-like .wk-mascot__original-branch { display: none; }
.wk-mascot.is-like .wk-mascot__approval-leaf { display: block; }
.wk-mascot.is-like .wk-mascot__right-arm { animation: wk-approval-sway 2.2s ease-in-out infinite; }
.wk-mascot.is-small .wk-mascot__character { transform: scale(.65); }
.wk-mascot.is-small .wk-mascot__close { top: 42px; right: 26px; }
.wk-mascot-profile-glow { border-radius: 12px; animation: wk-glow 1.2s ease-in-out infinite alternate; }
.wk-mascot-mounted [data-mobile-profile-promo] { display: none !important; }
@keyframes wk-breathe { 50% { transform: translateY(-1.5px); } }
@keyframes wk-blink { 0%, 93%, 98%, 100% { opacity: 0; } 94%, 97% { opacity: 1; } }
@keyframes wk-wave { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(-22deg); } }
@keyframes wk-left-arm { 50% { transform: rotate(3deg); } }
@keyframes wk-approval-sway { 0%, 100% { transform: rotate(-3deg); } 50% { transform: rotate(-9deg); } }
@keyframes wk-point-sway {
  0%, 100% { transform: translateX(var(--wk-branch-shift, 0px)) rotate(-2deg); }
  50% { transform: translateX(var(--wk-branch-shift, 0px)) rotate(3deg); }
}
@keyframes wk-open { 0%, 100% { opacity: 1; } 55% { opacity: 0; } }
@keyframes wk-soft { 0%, 100% { opacity: 0; } 55% { opacity: 1; } }
@keyframes wk-glow { to { background: #eaf4d8; box-shadow: 0 0 0 4px #84ac4a20; } }
@media (prefers-reduced-motion: reduce) {
  .wk-mascot *, .wk-mascot-profile-glow { animation: none !important; transition: none !important; }
}
