.hive-speech-bubble{--bubble-scale:1;--bubble-origin-x:50%;--bubble-origin-y:50%;z-index:2147483000;box-sizing:border-box;color:var(--bubble-text);letter-spacing:0;pointer-events:none;transform-origin:var(--bubble-origin-x) var(--bubble-origin-y);will-change:transform, opacity, left, top;font-family:Trebuchet MS,Comic Sans MS,ui-rounded,system-ui,sans-serif;font-weight:550;position:fixed}.hive-speech-bubble.entering{animation:.52s both hive-bubble-pop-in}.hive-speech-bubble.leaving{animation:.52s both hive-bubble-pop-out}.hive-speech-bubble.is-playback-paused,.hive-speech-bubble.is-playback-paused *,.hive-speech-bubble.is-playback-paused:before,.hive-speech-bubble.is-playback-paused:after,.hive-speech-bubble.is-playback-paused :before,.hive-speech-bubble.is-playback-paused :after{animation-play-state:paused!important}.hive-speech-bubble.shape-terminal.entering,.hive-speech-bubble.shape-caption.entering{animation-name:hive-bubble-snap-in}.hive-speech-bubble.shape-terminal.leaving,.hive-speech-bubble.shape-caption.leaving{animation-name:hive-bubble-snap-out}.hive-speech-bubble.shape-ellipse.entering,.hive-speech-bubble.shape-cloud.entering{animation-name:hive-bubble-float-in}.hive-speech-bubble.shape-ellipse.leaving,.hive-speech-bubble.shape-cloud.leaving{animation-name:hive-bubble-float-out}.hive-speech-bubble.placeholder-mode.entering{animation:.62s cubic-bezier(.16,1.2,.24,1) both hive-bubble-placeholder-pop-in}.hive-speech-bubble.placeholder-mode.leaving{animation:.42s ease-in both hive-bubble-placeholder-pop-out}.hive-speech-bubble__shell,.hive-speech-bubble__debug{pointer-events:none;position:absolute;inset:0;overflow:visible}.hive-speech-bubble__shell path{fill:var(--bubble-bg);stroke:var(--bubble-border);stroke-linejoin:round;filter:drop-shadow(0 7px 0 var(--bubble-shadow));vector-effect:non-scaling-stroke}.hive-speech-bubble.placeholder-mode .hive-speech-bubble__shell path{stroke-dasharray:9 7;stroke-linecap:round}.hive-speech-bubble:before,.hive-speech-bubble:after{left:var(--bubble-body-left);top:var(--bubble-body-top);width:var(--bubble-body-width);height:var(--bubble-body-height);z-index:1;border-radius:var(--bubble-body-radius);content:"";pointer-events:none;position:absolute}.hive-speech-bubble.deco-sparkles:before{background:radial-gradient(circle at 18% 28%, color-mix(in srgb, var(--bubble-border) 82%, white) 0 2px, transparent 3px), radial-gradient(circle at 78% 22%, color-mix(in srgb, var(--bubble-border) 70%, white) 0 1.5px, transparent 2.5px), radial-gradient(circle at 88% 68%, white 0 1.5px, transparent 2.5px), radial-gradient(circle at 30% 76%, color-mix(in srgb, var(--bubble-border) 64%, white) 0 1.5px, transparent 2.5px);opacity:.85}.hive-speech-bubble.deco-rain:before{background-image:repeating-linear-gradient(112deg, transparent 0 14px, color-mix(in srgb, var(--bubble-border) 72%, white) 15px 17px, transparent 18px 29px);opacity:.2;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000);mask-image:linear-gradient(90deg,#0000,#000 14% 86%,#0000)}.hive-speech-bubble.deco-confetti:before{opacity:.9;background:linear-gradient(30deg,#f97316 0 0) 18% 26%/10px 3px no-repeat,linear-gradient(-20deg,#22c55e 0 0) 78% 24%/11px 3px no-repeat,linear-gradient(70deg,#38bdf8 0 0) 28% 76%/9px 3px no-repeat,linear-gradient(-45deg,#facc15 0 0) 84% 70%/10px 3px no-repeat,radial-gradient(circle at 48% 18%,#f472b6 0 2px,#0000 3px)}.hive-speech-bubble.deco-lava:before{background:radial-gradient(circle at 22% 34%, color-mix(in srgb, var(--bubble-border) 45%, white) 0 9%, transparent 10%), radial-gradient(circle at 72% 30%, color-mix(in srgb, var(--bubble-border) 35%, white) 0 12%, transparent 13%), radial-gradient(circle at 56% 78%, color-mix(in srgb, var(--bubble-border) 55%, transparent) 0 10%, transparent 11%);filter:blur(.5px);opacity:.42}.hive-speech-bubble.deco-halftone:before{background-image:radial-gradient(var(--bubble-border) 1.2px, transparent 1.6px);opacity:.16;background-size:10px 10px;-webkit-mask-image:radial-gradient(circle at 80% 18%,#000 0 28%,#0000 60%);mask-image:radial-gradient(circle at 80% 18%,#000 0 28%,#0000 60%)}.hive-speech-bubble.deco-waveform:before{background:linear-gradient(var(--bubble-border) 0 0) 12% 52% / 3px 28% no-repeat, linear-gradient(var(--bubble-border) 0 0) 22% 52% / 3px 52% no-repeat, linear-gradient(var(--bubble-border) 0 0) 32% 52% / 3px 34% no-repeat, linear-gradient(var(--bubble-border) 0 0) 68% 52% / 3px 42% no-repeat, linear-gradient(var(--bubble-border) 0 0) 78% 52% / 3px 62% no-repeat, linear-gradient(var(--bubble-border) 0 0) 88% 52% / 3px 30% no-repeat;opacity:.18}.hive-speech-bubble.motion-twinkle:before{animation:1.8s ease-in-out infinite alternate hive-bubble-twinkle}.hive-speech-bubble.motion-drift:before{animation:2.6s linear infinite hive-bubble-drift}.hive-speech-bubble.motion-sprinkle:before{animation:1.1s steps(2,end) infinite hive-bubble-sprinkle}.hive-speech-bubble.motion-ooze:before{animation:3s ease-in-out infinite alternate hive-bubble-ooze}.hive-speech-bubble.motion-pulse:before{animation:1.8s ease-in-out infinite alternate hive-bubble-soft-pulse}.hive-speech-bubble.motion-scan:after{background:linear-gradient(180deg, transparent 0 42%, color-mix(in srgb, var(--bubble-border) 42%, transparent) 48% 52%, transparent 58% 100%);opacity:.42;animation:1.5s linear infinite hive-bubble-scan}.hive-speech-bubble.shape-burst .hive-speech-bubble__shell path{filter:drop-shadow(0 8px 0 var(--bubble-shadow))}.hive-speech-bubble.shape-terminal .hive-speech-bubble__shell path{filter:drop-shadow(0 5px 0 var(--bubble-shadow)) drop-shadow(0 0 .55rem color-mix(in srgb, var(--bubble-border) 50%, transparent))}.hive-speech-bubble__content{z-index:2;box-sizing:border-box;min-width:0;color:var(--bubble-text);text-align:center;overflow-wrap:normal;pointer-events:none;position:absolute;overflow:hidden}.hive-speech-bubble.wrapped .hive-speech-bubble__content{white-space:pre-wrap;overflow-wrap:break-word}.hive-speech-bubble__content.shape-aware{text-align:left;padding:0}.hive-speech-bubble__line{white-space:nowrap;text-align:center;display:block;position:absolute}.hive-speech-bubble__text-line{white-space:nowrap;flex:none;display:block}.hive-speech-bubble__debug{z-index:3}.hive-speech-bubble__debug line{stroke:#dc2626e6;stroke-dasharray:5 4;stroke-width:2px;vector-effect:non-scaling-stroke}.hive-speech-bubble__debug circle{stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.hive-speech-bubble__debug .hive-speech-bubble__debug-track{fill:#facc1514;stroke:#facc15eb;stroke-dasharray:8 6}.hive-speech-bubble__debug .hive-speech-bubble__debug-subject{fill:#0ea5e91f;stroke:#0ea5e9f2}.hive-speech-bubble__debug .hive-speech-bubble__debug-anchor{fill:#16a34af2}.hive-speech-bubble__debug .hive-speech-bubble__debug-tail-tip{fill:#f97316f2}.hive-speech-bubble-placeholder{z-index:2147482999;pointer-events:none;position:fixed;inset:0}.hive-speech-bubble-placeholder__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.hive-speech-bubble-placeholder__subject{fill:#f59e0b14;stroke:#f59e0be6;stroke-width:2px;vector-effect:non-scaling-stroke}.hive-speech-bubble-placeholder__person{fill:#0f172a2e;stroke:#0f172a29;stroke-width:2px;pointer-events:none;vector-effect:non-scaling-stroke}.hive-speech-bubble-placeholder__subject-move{clip-path:circle(50%);cursor:move;pointer-events:auto;touch-action:none;border-radius:999px;position:fixed}.hive-speech-bubble-placeholder__subject-move:active{cursor:move}.hive-speech-bubble-placeholder__resize-handle{box-sizing:border-box;pointer-events:auto;touch-action:none;background:#fef3c7;border:2px solid #92400e;border-radius:999px;width:16px;height:16px;position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ffffffa6}@keyframes hive-bubble-pop-in{0%{opacity:0;transform:scale(.05)rotate(-2deg)}72%{opacity:1;transform:scale(1.05)rotate(.6deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes hive-bubble-pop-out{0%{opacity:1;transform:scale(1)rotate(0)}18%{opacity:1;transform:scale(1.04)rotate(.5deg)}to{opacity:0;transform:scale(.05)rotate(-2deg)}}@keyframes hive-bubble-placeholder-pop-in{0%{opacity:0;transform:scale(.18)rotate(-1.2deg)}55%{opacity:1;transform:scale(1.08)rotate(.45deg)}78%{opacity:1;transform:scale(.97)rotate(-.18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes hive-bubble-placeholder-pop-out{0%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(.12)}}@keyframes hive-bubble-snap-in{0%{opacity:0;transform:scaleX(.08)scaleY(.55)}70%{opacity:1;transform:scaleX(1.04)scaleY(1.02)}to{opacity:1;transform:scale(1)}}@keyframes hive-bubble-snap-out{0%{opacity:1;transform:scale(1)}18%{opacity:1;transform:scaleX(1.04)scaleY(1.02)}to{opacity:0;transform:scaleX(.08)scaleY(.55)}}@keyframes hive-bubble-float-in{0%{opacity:0;transform:translateY(.4rem)scale(.05)}72%{opacity:1;transform:translateY(-.12rem)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes hive-bubble-float-out{0%{opacity:1;transform:translateY(0)scale(1)}18%{opacity:1;transform:translateY(-.12rem)scale(1.04)}to{opacity:0;transform:translateY(.4rem)scale(.05)}}@keyframes hive-bubble-twinkle{0%{opacity:.45;transform:scale(.98)rotate(-1deg)}to{opacity:.95;transform:scale(1.02)rotate(1deg)}}@keyframes hive-bubble-drift{0%{background-position:0 0}to{background-position:34px 22px}}@keyframes hive-bubble-sprinkle{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(2px,-1px)rotate(3deg)}}@keyframes hive-bubble-ooze{0%{filter:blur(.5px)hue-rotate();transform:scaleX(.98)scaleY(1.02)}to{filter:blur(1.2px)hue-rotate(10deg);transform:scaleX(1.02)scaleY(.98)}}@keyframes hive-bubble-soft-pulse{0%{opacity:.1;transform:scale(.98)}to{opacity:.26;transform:scale(1.01)}}@keyframes hive-bubble-scan{0%{transform:translateY(-52%)}to{transform:translateY(52%)}}@media (prefers-reduced-motion:reduce){.hive-speech-bubble.entering,.hive-speech-bubble.leaving{animation-duration:1ms}}
