.hug-animation{width:100%;max-width:350px;margin:0 auto 17px;color:#728461;text-align:center}.hug-animation-stage{width:100%;aspect-ratio:1;overflow:hidden;border-radius:17px;background:#fdf9ef;border:1px solid #eee3d1}.hug-animation-stage>img,.hug-animation-stage>video{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:1}.hug-animation-controls,.hug-animation-fallback{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:10px}.hug-animation-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid #dce4d0;border-radius:20px;padding:7px 13px;background:#f9fbf3;color:#647b54;font:500 12px/1.5 var(--font-sans);cursor:pointer;touch-action:manipulation}.hug-animation-control:hover{background:#edf3e4;border-color:#b9c9a6}.hug-animation-control:focus-visible{outline:3px solid #8caa74;outline-offset:3px}.hug-animation-fallback>span,.hug-animation-note{font:400 11px/1.7 var(--font-sans);color:#7d896f;margin:8px 0 0}.hug-animation-controls .hug-animation-note{margin:0}.hug-animation-compact{max-width:245px;margin:3px auto 12px}.hug-animation-compact .hug-animation-stage{border-radius:12px}.hug-preference{border:0;padding:0;margin:6px 0 0;min-width:0}.hug-preference>legend{padding:0;color:#6d805e;font-size:14px;font-weight:500;line-height:1.6}.hug-preference>p{font:400 12px/1.8 var(--font-sans);color:#7f8b72;margin:6px 0 12px}.hug-preference-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hug-preference-option{display:flex;flex-direction:column;gap:8px;position:relative;padding:9px;border:1px solid #e4e6d9;border-radius:12px;background:#fffdf7;color:#71835f;cursor:pointer;min-width:0}.hug-preference-option.is-selected{border-color:#8ea478;box-shadow:0 0 0 1px #8ea478;background:#f6f9ef}.hug-preference-option:focus-within{outline:3px solid #b5c8a2;outline-offset:3px}.hug-preference-option>img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:7px;object-fit:contain;background:#fdf9ef}.hug-preference-option .hug-preference-label{display:flex;align-items:flex-start;gap:6px;min-width:0}.hug-preference-option input[type=radio]{accent-color:#7b9762;width:16px;height:16px;margin:2px 0 0;flex:0 0 16px}.hug-preference-option strong{font-size:12px;font-weight:500;line-height:1.65;overflow-wrap:anywhere}.hug-preference-option small{font-size:11px;font-weight:400;line-height:1.7;color:#829170}.hug-preference:disabled .hug-preference-option{cursor:default;opacity:.7}@media(max-width:480px){.hug-animation{max-width:310px}.hug-animation-compact{max-width:225px}.hug-animation-control{min-height:40px}.hug-preference-options{gap:8px}.hug-preference-option{padding:8px}.hug-preference-option strong{font-size:12px}.hug-preference-option small{font-size:11px}}.message-animation{width:100%;max-width:350px;margin:0 auto 17px;color:#728461;text-align:center}.message-animation-stage{width:100%;aspect-ratio:1;overflow:hidden;border-radius:17px;background:#fdf9ef;border:1px solid #eee3d1;isolation:isolate}.message-picture,.message-scene{display:block;width:100%;height:100%;aspect-ratio:1}.message-picture{overflow:hidden}.message-animation-controls{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:10px}.message-animation-control{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid #dce4d0;border-radius:24px;padding:8px 15px;background:#f9fbf3;color:#647b54;font:500 12px/1.5 var(--font-sans);cursor:pointer;touch-action:manipulation}.message-animation-control:hover{background:#edf3e4;border-color:#b9c9a6}.message-animation-control:focus-visible{outline:3px solid #8caa74;outline-offset:3px}.message-animation-note{font:400 11px/1.7 var(--font-sans);color:#7d896f;margin:8px 0 0}.message-animation-compact{max-width:245px;margin:3px auto 12px}.message-animation-compact .message-animation-stage{border-radius:12px}.message-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.message-character{transform-origin:0 145px}.bear-head,.bunny-head{transform-origin:0 35px}.bunny-arm-left{transform-origin:-31px 65px}.bunny-arm-right{transform-origin:31px 65px}.bear-arm-left{transform-origin:-31px 65px}.bear-arm-right{transform-origin:31px 65px}.message-motion{animation:message-timeline var(--message-duration) linear both}.message-motion,.message-motion *{animation-play-state:var(--message-play-state)!important}@keyframes message-timeline{0%{opacity:1}to{opacity:1}}.bunny-kiss-mouth,.kiss-rays{opacity:0}.message-scene-kiss .bunny-character{transform:translate(12px) rotate(2deg)}.message-scene-kiss .bear-character{transform:translate(-8px) rotate(-2deg)}.message-motion.message-scene-kiss .bunny-character{animation:message-kiss-bunny var(--message-duration) cubic-bezier(.42,0,.25,1) both}.message-motion.message-scene-kiss .bunny-head{animation:message-kiss-head var(--message-duration) cubic-bezier(.42,0,.25,1) both}.message-motion.message-scene-kiss .bear-character{animation:message-kiss-bear var(--message-duration) ease-in-out both}.message-motion .bunny-kiss-mouth{animation:message-kiss-mouth var(--message-duration) linear both}.message-motion .bunny-kiss-smile{animation:message-kiss-smile var(--message-duration) linear both}.message-motion .kiss-heart{animation:message-kiss-heart var(--message-duration) cubic-bezier(.22,.7,.3,1) both}.message-motion .kiss-rays{animation:message-kiss-rays var(--message-duration) ease both;transform-origin:275px 273px}.message-motion.message-scene-kiss .bear-blush{animation:message-kiss-blush var(--message-duration) ease-in-out both}@keyframes message-kiss-bunny{0%,9%{transform:translate(0) rotate(0)}32%,45%{transform:translate(14px) rotate(3deg)}61%,to{transform:translate(12px) rotate(2deg)}}@keyframes message-kiss-head{0%,9%{transform:translateY(0)}32%,45%{transform:translateY(-10px)}61%,to{transform:translateY(0)}}@keyframes message-kiss-bear{0%,16%{transform:translate(0) rotate(0)}38%,52%{transform:translate(-10px) rotate(-3deg)}75%,to{transform:translate(-8px) rotate(-2deg)}}@keyframes message-kiss-mouth{0%,24%,59%,to{opacity:0}30%,48%{opacity:1}}@keyframes message-kiss-smile{0%,24%,59%,to{opacity:1}30%,48%{opacity:0}}@keyframes message-kiss-heart{0%,25%{opacity:0;transform:translate(-14px,105px) scale(.3)}44%{opacity:1;transform:translate(-5px,28px) scale(1.1)}72%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-kiss-rays{0%,28%,57%,to{opacity:0;transform:scale(.7)}39%,43%{opacity:.85;transform:scale(1)}}@keyframes message-kiss-blush{0%,20%{opacity:.4}42%,61%{opacity:1}to{opacity:.8}}.distance-trail{opacity:.8}.message-motion .distance-trail{animation:message-distance-trail var(--message-duration) ease both}.message-motion .distance-heart-one{animation:message-distance-one var(--message-duration) ease both}.message-motion .distance-heart-two{animation:message-distance-two var(--message-duration) ease both}.message-motion .distance-heart-three{animation:message-distance-three var(--message-duration) ease both}.message-motion.message-scene-miss .bunny-character{animation:message-miss-bunny var(--message-duration) ease-in-out both}.message-motion.message-scene-miss .bear-character{animation:message-miss-bear var(--message-duration) ease-in-out both}.message-motion .miss-pillow-left,.message-motion .miss-pillow-right{animation:message-pillow-hold var(--message-duration) ease-in-out both;transform-origin:0 0}@keyframes message-distance-trail{0%,12%{opacity:0;stroke-dashoffset:34}55%,to{opacity:.8;stroke-dashoffset:0}}@keyframes message-distance-one{0%,18%{opacity:0;transform:translateY(15px) scale(.5)}34%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-distance-two{0%,33%{opacity:0;transform:translateY(15px) scale(.5)}51%{opacity:1;transform:translateY(-3px) scale(1.1)}67%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-distance-three{0%,48%{opacity:0;transform:translateY(15px) scale(.5)}65%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-miss-bunny{0%,13%{transform:rotate(-2deg)}55%,to{transform:translate(5px) rotate(2deg)}}@keyframes message-miss-bear{0%,13%{transform:rotate(2deg)}55%,to{transform:translate(-5px) rotate(-2deg)}}@keyframes message-pillow-hold{0%,15%{transform:scale(1)}37%{transform:scale(.95,1.04)}62%,to{transform:scale(1)}}.message-motion .thought-dots{animation:message-thought-dots var(--message-duration) ease both}.message-motion .thought-cloud{animation:message-thought-cloud var(--message-duration) cubic-bezier(.25,.8,.35,1) both}.message-motion.message-scene-thinking .bear-head{animation:message-thinking-head var(--message-duration) ease-in-out both}.message-motion.message-scene-thinking .bunny-arm-left{animation:message-bunny-wave var(--message-duration) ease-in-out both}.message-motion .thought-spark{animation:message-thought-spark var(--message-duration) ease both}@keyframes message-thought-dots{0%,10%{opacity:0}25%,to{opacity:1}}@keyframes message-thought-cloud{0%,15%{opacity:0;transform:translateY(15px) scale(.7)}37%{opacity:1;transform:translateY(-3px) scale(1.035)}55%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-thinking-head{0%,8%{transform:rotate(-4deg)}28%,70%{transform:rotate(6deg)}to{transform:rotate(2deg)}}@keyframes message-bunny-wave{0%,37%{transform:rotate(0)}45%,61%{transform:rotate(-14deg)}53%,69%{transform:rotate(11deg)}81%,to{transform:rotate(0)}}@keyframes message-thought-spark{0%,37%{opacity:0;transform:scale(.4)}52%{opacity:1;transform:scale(1.18)}74%,to{opacity:1;transform:scale(1)}}.award-star{transform:translate(15px,-9px) rotate(8deg)}.proud-rays{opacity:0}.message-motion .award-star{animation:message-star-award var(--message-duration) cubic-bezier(.35,.8,.35,1) both}.message-motion.message-scene-proud .bunny-character{animation:message-proud-hop var(--message-duration) cubic-bezier(.3,.7,.4,1) both}.message-motion.message-scene-proud .bear-arm-left{animation:message-clap-left var(--message-duration) ease-in-out both}.message-motion.message-scene-proud .bear-arm-right{animation:message-clap-right var(--message-duration) ease-in-out both}.message-motion .proud-spark-one{animation:message-proud-spark var(--message-duration) ease both;transform-origin:0 0}.message-motion .proud-spark-two{animation:message-proud-spark-two var(--message-duration) ease both;transform-origin:0 0}.message-motion .proud-spark-three{animation:message-proud-spark-three var(--message-duration) ease both;transform-origin:0 0}.message-motion .proud-rays{animation:message-proud-rays var(--message-duration) ease both}@keyframes message-star-award{0%,10%{transform:translate(-39px,23px) rotate(-15deg);opacity:0}23%{opacity:1}45%,to{transform:translate(15px,-9px) rotate(8deg);opacity:1}}@keyframes message-proud-hop{0%,27%,48%,69%,to{transform:translateY(0) scale(1)}32%{transform:translateY(2px) scale(1.025,.975)}40%{transform:translateY(-16px) scale(.985,1.015)}55%{transform:translateY(2px) scale(1.02,.98)}61%{transform:translateY(-11px) scale(.99,1.01)}76%{transform:translateY(0) scale(1.01,.99)}}@keyframes message-clap-left{0%,28%,44%,60%,76%,to{transform:rotate(-12deg)}36%,52%,68%{transform:rotate(9deg)}}@keyframes message-clap-right{0%,28%,44%,60%,76%,to{transform:rotate(12deg)}36%,52%,68%{transform:rotate(-9deg)}}@keyframes message-proud-spark{0%,25%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.25)}68%,to{opacity:1;transform:scale(1)}}@keyframes message-proud-spark-two{0%,40%{opacity:0;transform:scale(.3)}57%{opacity:1;transform:scale(1.25)}78%,to{opacity:1;transform:scale(1)}}@keyframes message-proud-spark-three{0%,52%{opacity:0;transform:scale(.3)}68%{opacity:1;transform:scale(1.15)}88%,to{opacity:1;transform:scale(1)}}@keyframes message-proud-rays{0%,30%,43%,59%,75%,to{opacity:0}36%,52%,68%{opacity:.8}}.sleep-blanket{transform-origin:256px 429px}.message-motion .sleep-bunny{animation:message-sleep-bunny var(--message-duration) ease-in-out both}.message-motion .sleep-bear{animation:message-sleep-bear var(--message-duration) ease-in-out both}.message-motion .sleep-blanket{animation:message-sleep-quilt var(--message-duration) ease-in-out both}.message-motion .sleep-moon{animation:message-sleep-moon var(--message-duration) ease-in-out both}.message-motion .sleep-star-one,.message-motion .sleep-star-three{animation:message-sleep-star var(--message-duration) ease-in-out both}.message-motion .sleep-star-two{animation:message-sleep-star-two var(--message-duration) ease-in-out both}.message-motion .sleep-z-one{animation:message-sleep-z var(--message-duration) ease both}.message-motion .sleep-z-two{animation:message-sleep-z-two var(--message-duration) ease both}.message-motion .sleep-heart{animation:message-sleep-heart var(--message-duration) ease-in-out both}@keyframes message-sleep-bunny{0%,47%,to{transform:translate(0)}23%,74%{transform:translate(1px,-2px)}}@keyframes message-sleep-bear{0%,47%,to{transform:translate(0)}23%,74%{transform:translate(-1px,-2px)}}@keyframes message-sleep-quilt{0%,47%,to{transform:scaleY(1)}23%,74%{transform:scaleY(1.022)}}@keyframes message-sleep-moon{0%,to{transform:rotate(0)}48%{transform:rotate(-5deg)}}@keyframes message-sleep-star{0%,to{opacity:1}28%,72%{opacity:.42}50%{opacity:1}}@keyframes message-sleep-star-two{0%,to{opacity:.8}28%,72%{opacity:1}50%{opacity:.4}}@keyframes message-sleep-z{0%,10%{opacity:0;transform:translate(-4px,12px)}30%,65%{opacity:.8}to{opacity:0;transform:translate(2px,-11px)}}@keyframes message-sleep-z-two{0%,23%{opacity:0;transform:translate(-4px,12px)}48%,76%{opacity:.8}to{opacity:0;transform:translate(2px,-8px)}}@keyframes message-sleep-heart{0%,to{transform:scale(1);opacity:.85}23%,74%{transform:scale(1.08);opacity:1}}.letter-flap{transform-origin:0 -30px}.message-motion .love-letter{animation:message-love-letter var(--message-duration) ease-in-out both}.message-motion .letter-flap{animation:message-letter-flap var(--message-duration) ease-in-out both}.message-motion .letter-heart-one{animation:message-letter-heart-one var(--message-duration) cubic-bezier(.25,.65,.35,1) both}.message-motion .letter-heart-two{animation:message-letter-heart-two var(--message-duration) cubic-bezier(.25,.65,.35,1) both}.message-motion .letter-heart-three{animation:message-letter-heart-three var(--message-duration) cubic-bezier(.25,.65,.35,1) both}.message-motion.message-scene-love .bunny-character{animation:message-love-bunny var(--message-duration) ease-in-out both}.message-motion.message-scene-love .bear-character{animation:message-love-bear var(--message-duration) ease-in-out both}@keyframes message-love-letter{0%,9%{transform:translate(21px,5px) rotate(8deg)}30%,to{transform:translate(0) rotate(0)}}@keyframes message-letter-flap{0%,25%{transform:scaleY(1)}45%,to{transform:scaleY(-1)}}@keyframes message-letter-heart-one{0%,35%{opacity:0;transform:translateY(79px) scale(.3)}60%{opacity:1;transform:translateY(-4px) scale(1.06)}79%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-letter-heart-two{0%,42%{opacity:0;transform:translate(25px,112px) scale(.3)}71%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-letter-heart-three{0%,48%{opacity:0;transform:translate(-25px,123px) scale(.3)}78%,to{opacity:1;transform:translate(0) scale(1)}}@keyframes message-love-bunny{0%,25%{transform:rotate(0)}66%,to{transform:translate(11px) rotate(3deg)}}@keyframes message-love-bear{0%,25%{transform:rotate(0)}66%,to{transform:translate(-11px) rotate(-3deg)}}.giggle-rays,.joke-laugh-mouth{opacity:0}.message-motion.message-scene-joke .bunny-character{animation:message-joke-bunny var(--message-duration) ease-in-out both}.message-motion.message-scene-joke .bear-character{animation:message-joke-bear var(--message-duration) ease-in-out both}.message-motion .joke-laugh-mouth{animation:message-joke-laugh var(--message-duration) ease both}.message-motion .joke-small-smile{animation:message-joke-smile var(--message-duration) ease both}.message-motion .whisper-bubble{animation:message-whisper-bubble var(--message-duration) ease both}.message-motion .whisper-dot-one{animation:message-whisper-dot-one var(--message-duration) ease both}.message-motion .whisper-dot-two{animation:message-whisper-dot-two var(--message-duration) ease both}.message-motion .whisper-dot-three{animation:message-whisper-dot-three var(--message-duration) ease both}.message-motion .giggle-rays{animation:message-giggle-rays var(--message-duration) ease both}@keyframes message-joke-bunny{0%,8%{transform:translate(0) rotate(0)}26%,36%{transform:translate(26px) rotate(7deg)}48%,66%{transform:translate(6px,-5px) rotate(-2deg)}57%,75%{transform:translate(6px) rotate(3deg)}90%,to{transform:translate(6px) rotate(1deg)}}@keyframes message-joke-bear{0%,12%{transform:translate(0) rotate(0)}29%,36%{transform:translate(-7px) rotate(-3deg)}49%,67%{transform:translate(-5px,-5px) rotate(2deg)}58%,76%{transform:translate(-5px) rotate(-3deg)}91%,to{transform:translate(-5px) rotate(-1deg)}}@keyframes message-joke-laugh{0%,38%,92%,to{opacity:0}45%,81%{opacity:1}}@keyframes message-joke-smile{0%,38%,92%,to{opacity:1}45%,81%{opacity:0}}@keyframes message-whisper-bubble{0%,9%{opacity:0;transform:scale(.8) translateY(8px)}24%,39%{opacity:1;transform:scale(1) translate(0)}59%,to{opacity:.55;transform:scale(.94) translateY(-5px)}}@keyframes message-whisper-dot-one{0%,14%{opacity:0}23%,to{opacity:1}}@keyframes message-whisper-dot-two{0%,21%{opacity:0}30%,to{opacity:1}}@keyframes message-whisper-dot-three{0%,28%{opacity:0}37%,to{opacity:1}}@keyframes message-giggle-rays{0%,41%,60%,78%,to{opacity:0}49%,67%{opacity:.9}}@media(max-width:480px){.message-animation{max-width:310px}.message-animation-compact{max-width:225px}}@media(prefers-reduced-motion:reduce){.message-motion,.message-motion *{animation:none!important}}