.toast-enter-active[data-v-c68d6e2c],.toast-leave-active[data-v-c68d6e2c]{transition:all .3s ease}.toast-enter-from[data-v-c68d6e2c],.toast-leave-to[data-v-c68d6e2c]{opacity:0;transform:translateY(20px)}.toast-icon[data-v-c68d6e2c]{display:inline-flex;margin-right:8px}.toast-icon svg[data-v-c68d6e2c]{animation:fadeIn-c68d6e2c .3s ease-out;height:1.25rem;width:1.25rem}.toast-icon[data-type=success] svg[data-v-c68d6e2c]{color:#10b981}.toast-icon[data-type=error] svg[data-v-c68d6e2c]{color:#ef4444}.toast-icon[data-type=warning] svg[data-v-c68d6e2c]{color:#f59e0b}.toast-icon[data-type=info] svg[data-v-c68d6e2c]{color:#3b82f6}@keyframes fadeIn-c68d6e2c{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.cat[data-v-6221d064]{cursor:grab;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));pointer-events:auto;position:fixed;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform;z-index:60}.cat[data-v-6221d064]:active{cursor:grabbing}.cat-controls[data-v-6221d064]{display:flex;gap:4px;padding:4px;pointer-events:auto;position:absolute;right:0;top:0;z-index:70}.ctrl-btn[data-v-6221d064]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;border:1px solid hsla(0,0%,100%,.5);border-radius:50%;box-shadow:0 2px 6px #00000026;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;line-height:1;transition:.2s;width:24px}.ctrl-btn[data-v-6221d064]:hover{background:#fff;transform:scale(1.1)}.cat-shadow[data-v-6221d064]{background:#0000001a;border-radius:50%;bottom:-10px;height:10px;left:50%;position:absolute;transition:all .3s ease;translate:-50%;width:80px}.cat-svg[data-v-6221d064]{height:100%;width:100%}.cat.sitting .cat-shadow[data-v-6221d064]{bottom:-5px;width:60px}.cat.sleeping .cat-shadow[data-v-6221d064]{width:100px}.cat.sleeping[data-v-6221d064] .body{animation:breathe-6221d064 4s ease-in-out infinite}@keyframes breathe-6221d064{0%,to{transform:scale(1)}50%{transform:scaleY(.95)}}.cat.sitting[data-v-6221d064] .tail-group{animation:slowWag-6221d064 3s ease-in-out infinite;transform-origin:155px 110px}.cat.idle[data-v-6221d064] .tail-group{animation:idleTail-6221d064 5s ease-in-out infinite;transform-origin:155px 110px}@keyframes slowWag-6221d064{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes idleTail-6221d064{0%,to{transform:rotate(0)}30%{transform:rotate(3deg)}70%{transform:rotate(-2deg)}}.cat.idle[data-v-6221d064] .head-group .left-ear{animation:earTwitch-6221d064 6s infinite}.cat.idle[data-v-6221d064] .head-group .right-ear{animation:earTwitch-6221d064 6s 3s infinite}@keyframes earTwitch-6221d064{0%,95%,to{transform:rotate(0)}96%{transform:rotate(-5deg)}97%{transform:rotate(3deg)}98%{transform:rotate(-2deg)}}.cat.grooming[data-v-6221d064] .head-group{animation:groom-6221d064 1.5s ease-in-out infinite}@keyframes groom-6221d064{0%,to{transform:rotate(0) translate(0)}25%{transform:rotate(5deg) translateY(-2px)}75%{transform:rotate(-3deg) translateY(-2px)}}.cat-svg.walking[data-v-6221d064]{animation:gentleBounce-6221d064 .8s ease-in-out infinite}@keyframes gentleBounce-6221d064{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}[data-v-6221d064] .eye-group{animation:eyeBlink-6221d064 7s infinite}@keyframes eyeBlink-6221d064{0%,90%,to{transform:scale(1)}95%{transform:scaleY(.1)}}[data-v-6221d064] .pupil{animation:pupilDilate-6221d064 10s infinite}@keyframes pupilDilate-6221d064{0%,to{rx:2px}50%{rx:4px}}[data-v-6221d064] .front-left-group{transform-origin:70px 106px}[data-v-6221d064] .front-right-group{transform-origin:45px 106px}[data-v-6221d064] .back-left-group{transform-origin:120px 108px}[data-v-6221d064] .back-right-group{transform-origin:145px 112px}.cat.walking[data-v-6221d064] .back-right-group,.cat.walking[data-v-6221d064] .front-left-group{animation:walkSwingA-6221d064 .8s ease-in-out infinite}.cat.walking[data-v-6221d064] .back-left-group,.cat.walking[data-v-6221d064] .front-right-group{animation:walkSwingB-6221d064 .8s ease-in-out infinite}@keyframes walkSwingA-6221d064{0%{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-12deg)}to{transform:rotate(0)}}@keyframes walkSwingB-6221d064{0%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}to{transform:rotate(0)}}.thought-bubble[data-v-6221d064]{animation:floatThought-6221d064 2s ease-in-out infinite;background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000001a;font-size:20px;padding:8px 16px;pointer-events:none;position:absolute;white-space:nowrap}.thought-bubble[data-v-6221d064]:after{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff;bottom:-8px;content:"";height:0;left:20px;position:absolute;width:0}@keyframes floatThought-6221d064{0%,to{transform:translate(0)}50%{transform:translateY(-5px)}}.thought-enter-active[data-v-6221d064]{animation:thoughtIn-6221d064 .3s ease-out}.thought-leave-active[data-v-6221d064]{animation:thoughtOut-6221d064 .2s ease-in}@keyframes thoughtIn-6221d064{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translate(0)}}@keyframes thoughtOut-6221d064{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.dog[data-v-50c0ac24]{cursor:grab;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));pointer-events:auto;position:fixed;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform;z-index:60}.dog[data-v-50c0ac24]:active{cursor:grabbing}.dog-controls[data-v-50c0ac24]{display:flex;gap:4px;padding:4px;pointer-events:auto;position:absolute;right:0;top:0;z-index:70}.ctrl-btn[data-v-50c0ac24]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;border:1px solid hsla(0,0%,100%,.5);border-radius:50%;box-shadow:0 2px 6px #00000026;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;line-height:1;transition:.2s;width:24px}.ctrl-btn[data-v-50c0ac24]:hover{background:#fff;transform:scale(1.1)}.dog-shadow[data-v-50c0ac24]{background:#0000001a;border-radius:50%;bottom:-10px;height:10px;left:50%;position:absolute;transition:all .3s ease;translate:-50%;width:80px}.dog-svg[data-v-50c0ac24]{height:100%;width:100%}.dog.sitting .dog-shadow[data-v-50c0ac24]{bottom:-5px;width:60px}.dog.sleeping .dog-shadow[data-v-50c0ac24]{width:100px}.dog.sleeping[data-v-50c0ac24] .body{animation:breathe-50c0ac24 4s ease-in-out infinite}@keyframes breathe-50c0ac24{0%,to{transform:scale(1)}50%{transform:scaleY(.95)}}.dog.sitting[data-v-50c0ac24] .tail-group{animation:slowWag-50c0ac24 3s ease-in-out infinite;transform-origin:155px 110px}.dog.idle[data-v-50c0ac24] .tail-group{animation:idleTail-50c0ac24 5s ease-in-out infinite;transform-origin:155px 110px}@keyframes slowWag-50c0ac24{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes idleTail-50c0ac24{0%,to{transform:rotate(0)}30%{transform:rotate(3deg)}70%{transform:rotate(-2deg)}}.dog.idle[data-v-50c0ac24] .head-group .left-ear{animation:earTwitch-50c0ac24 6s infinite}.dog.idle[data-v-50c0ac24] .head-group .right-ear{animation:earTwitch-50c0ac24 6s 3s infinite}@keyframes earTwitch-50c0ac24{0%,95%,to{transform:rotate(0)}96%{transform:rotate(-5deg)}97%{transform:rotate(3deg)}98%{transform:rotate(-2deg)}}.dog.grooming[data-v-50c0ac24] .head-group{animation:groom-50c0ac24 1.5s ease-in-out infinite}@keyframes groom-50c0ac24{0%,to{transform:rotate(0) translate(0)}25%{transform:rotate(5deg) translateY(-2px)}75%{transform:rotate(-3deg) translateY(-2px)}}.dog-svg.walking[data-v-50c0ac24]{animation:gentleBounce-50c0ac24 .8s ease-in-out infinite}@keyframes gentleBounce-50c0ac24{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}[data-v-50c0ac24] .eye-group{animation:eyeBlink-50c0ac24 7s infinite}@keyframes eyeBlink-50c0ac24{0%,90%,to{transform:scale(1)}95%{transform:scaleY(.1)}}[data-v-50c0ac24] .pupil{animation:pupilDilate-50c0ac24 10s infinite}@keyframes pupilDilate-50c0ac24{0%,to{rx:2px}50%{rx:4px}}[data-v-50c0ac24] .front-left-group{transform-origin:70px 106px}[data-v-50c0ac24] .front-right-group{transform-origin:45px 106px}[data-v-50c0ac24] .back-left-group{transform-origin:120px 108px}[data-v-50c0ac24] .back-right-group{transform-origin:145px 112px}.dog.walking[data-v-50c0ac24] .back-right-group,.dog.walking[data-v-50c0ac24] .front-left-group{animation:walkSwingA-50c0ac24 .8s ease-in-out infinite}.dog.walking[data-v-50c0ac24] .back-left-group,.dog.walking[data-v-50c0ac24] .front-right-group{animation:walkSwingB-50c0ac24 .8s ease-in-out infinite}@keyframes walkSwingA-50c0ac24{0%{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-12deg)}to{transform:rotate(0)}}@keyframes walkSwingB-50c0ac24{0%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}to{transform:rotate(0)}}.thought-bubble[data-v-50c0ac24]{animation:floatThought-50c0ac24 2s ease-in-out infinite;background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000001a;font-size:20px;padding:8px 16px;pointer-events:none;position:absolute;white-space:nowrap}.thought-bubble[data-v-50c0ac24]:after{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff;bottom:-8px;content:"";height:0;left:20px;position:absolute;width:0}@keyframes floatThought-50c0ac24{0%,to{transform:translate(0)}50%{transform:translateY(-5px)}}.thought-enter-active[data-v-50c0ac24]{animation:thoughtIn-50c0ac24 .3s ease-out}.thought-leave-active[data-v-50c0ac24]{animation:thoughtOut-50c0ac24 .2s ease-in}@keyframes thoughtIn-50c0ac24{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translate(0)}}@keyframes thoughtOut-50c0ac24{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.goldfish[data-v-f51d1a95]{cursor:grab;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));pointer-events:auto;position:fixed;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform;z-index:60}.goldfish[data-v-f51d1a95]:active{cursor:grabbing}.goldfish-controls[data-v-f51d1a95]{display:flex;gap:4px;padding:4px;pointer-events:auto;position:absolute;right:0;top:0;z-index:70}.ctrl-btn[data-v-f51d1a95]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;border:1px solid hsla(0,0%,100%,.5);border-radius:50%;box-shadow:0 2px 6px #00000026;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;line-height:1;transition:.2s;width:24px}.ctrl-btn[data-v-f51d1a95]:hover{background:#fff;transform:scale(1.1)}.goldfish-shadow[data-v-f51d1a95]{background:#0000001f;border-radius:50%;bottom:-8px;height:12px;left:50%;position:absolute;transition:all .3s ease;translate:-50%;width:100px}.goldfish-svg[data-v-f51d1a95]{height:100%;width:100%}.goldfish.resting .goldfish-shadow[data-v-f51d1a95]{bottom:-4px;width:80px}.goldfish.hiding .goldfish-shadow[data-v-f51d1a95]{opacity:.5;width:60px}.goldfish.swimming[data-v-f51d1a95] .swimming-skeleton{animation:bodyUndulate-f51d1a95 1.2s cubic-bezier(.45,.25,.55,.75) infinite}@keyframes bodyUndulate-f51d1a95{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(1.5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(2px) rotate(-1.5deg)}}.goldfish.swimming[data-v-f51d1a95] .tail-root{animation:swimTailPrimary-f51d1a95 1.2s cubic-bezier(.45,.25,.55,.75) infinite;transform-origin:175px 115px}@keyframes swimTailPrimary-f51d1a95{0%,to{transform:rotate(0) scaleY(1)}25%{transform:rotate(-12deg) scaleY(.96)}50%{transform:rotate(0) scaleY(1)}75%{transform:rotate(8deg) scaleY(1.02)}}.goldfish.swimming[data-v-f51d1a95] .tail-mid{animation:swimTailSecondary-f51d1a95 1.2s cubic-bezier(.45,.25,.55,.75) infinite;transform-origin:210px 120px}@keyframes swimTailSecondary-f51d1a95{0%,to{transform:rotate(0) skewY(0)}25%{transform:rotate(-6deg) skewY(-3deg)}50%{transform:rotate(0) skewY(0)}75%{transform:rotate(5deg) skewY(2deg)}}.goldfish.swimming[data-v-f51d1a95] .fin-front-pectoral{animation:pectoralStroke-f51d1a95 1.2s ease-in-out infinite;transform-origin:75px 122px}@keyframes pectoralStroke-f51d1a95{0%,to{transform:rotate(0) scaleX(1)}25%{transform:rotate(18deg) scaleX(.88)}50%{transform:rotate(-5deg) scaleX(1.02)}75%{transform:rotate(8deg) scaleX(.95)}}.goldfish.swimming[data-v-f51d1a95] .fin-far-pectoral{animation:pectoralStrokeFar-f51d1a95 1.2s ease-in-out infinite;transform-origin:68px 115px}@keyframes pectoralStrokeFar-f51d1a95{0%,to{transform:rotate(0) scaleX(1)}25%{transform:rotate(-8deg) scaleX(.95)}50%{transform:rotate(15deg) scaleX(.9)}75%{transform:rotate(-3deg) scaleX(1.02)}}.goldfish.swimming[data-v-f51d1a95] .dorsal-wrap{animation:dorsalUndulate-f51d1a95 1.2s ease-in-out infinite alternate;transform-origin:85px 75px}@keyframes dorsalUndulate-f51d1a95{0%{transform:rotate(0) skew(0)}to{transform:rotate(3deg) skew(4deg)}}.goldfish.swimming[data-v-f51d1a95] .ventral-fin{animation:ventralUndulate-f51d1a95 1.2s ease-in-out infinite alternate-reverse;transform-origin:115px 133px}@keyframes ventralUndulate-f51d1a95{0%{transform:rotate(0) skew(0)}to{transform:rotate(-3deg) skew(-4deg)}}.goldfish.idle[data-v-f51d1a95] .swimming-skeleton{animation:idleBodyRock-f51d1a95 4s ease-in-out infinite}@keyframes idleBodyRock-f51d1a95{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(1deg)}}.goldfish.idle[data-v-f51d1a95] .tail-root{animation:idleTailSway-f51d1a95 4s ease-in-out infinite;transform-origin:175px 115px}@keyframes idleTailSway-f51d1a95{0%,to{transform:rotate(0)}25%{transform:rotate(4deg)}75%{transform:rotate(-3deg)}}.goldfish.idle[data-v-f51d1a95] .fin-front-pectoral{animation:idleFinFlutter-f51d1a95 4s ease-in-out infinite}@keyframes idleFinFlutter-f51d1a95{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}.goldfish.resting[data-v-f51d1a95] .swimming-skeleton{animation:restingFloat-f51d1a95 5s ease-in-out infinite}@keyframes restingFloat-f51d1a95{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.goldfish.resting[data-v-f51d1a95] .tail-root{animation:restingTail-f51d1a95 5s ease-in-out infinite}@keyframes restingTail-f51d1a95{0%,to{transform:rotate(0)}50%{transform:rotate(2deg)}}.goldfish.resting[data-v-f51d1a95] .fin-front-pectoral{animation:restingFin-f51d1a95 5s ease-in-out infinite}@keyframes restingFin-f51d1a95{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}.goldfish.eating[data-v-f51d1a95] .head-group{animation:nibble-f51d1a95 .8s ease-in-out infinite}@keyframes nibble-f51d1a95{0%,to{transform:translate(0)}25%{transform:translate(3px)}75%{transform:translate(-2px)}}.goldfish.eating[data-v-f51d1a95] .fin-front-pectoral{animation:eatingFinFlutter-f51d1a95 .8s ease-in-out infinite}@keyframes eatingFinFlutter-f51d1a95{0%,to{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-8deg)}}[data-v-f51d1a95] .eye-lens{animation:fishBlink-f51d1a95 6s infinite}@keyframes fishBlink-f51d1a95{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}[data-v-f51d1a95] .bubble{animation:bubbleFloat-f51d1a95 6s linear infinite}@keyframes bubbleFloat-f51d1a95{0%{opacity:0;transform:translateY(80px)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-120px)}}.thought-bubble[data-v-f51d1a95]{animation:floatThought-f51d1a95 2s ease-in-out infinite;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border:1px solid rgba(255,200,100,.3);border-radius:20px;box-shadow:0 2px 12px #00000026;font-size:20px;padding:8px 16px;pointer-events:none;position:absolute;white-space:nowrap}.thought-bubble[data-v-f51d1a95]:after{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid hsla(0,0%,100%,.95);bottom:-8px;content:"";height:0;left:20px;position:absolute;width:0}@keyframes floatThought-f51d1a95{0%,to{transform:translate(0)}50%{transform:translateY(-5px)}}.thought-enter-active[data-v-f51d1a95]{animation:thoughtIn-f51d1a95 .3s ease-out}.thought-leave-active[data-v-f51d1a95]{animation:thoughtOut-f51d1a95 .2s ease-in}@keyframes thoughtIn-f51d1a95{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translate(0)}}@keyframes thoughtOut-f51d1a95{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.config-overlay[data-v-2c6272e3]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000004d;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:200}.config-panel[data-v-2c6272e3]{background:#fff;border-radius:16px;box-shadow:0 12px 32px #00000040;display:flex;flex-direction:column;max-width:560px;padding:24px;width:95%}.config-panel h3[data-v-2c6272e3]{font-size:1.2rem;margin:0 0 16px}.config-body[data-v-2c6272e3]{display:flex;gap:2rem;margin-bottom:1rem}.color-list[data-v-2c6272e3]{display:flex;flex:1;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.color-row[data-v-2c6272e3]{align-items:center;display:flex;gap:8px;justify-content:space-between}.color-row label[data-v-2c6272e3]{font-size:14px;font-weight:500;white-space:nowrap}.color-row input[type=color][data-v-2c6272e3]{border:none;border-radius:6px;cursor:pointer;height:30px;width:40px}.preview[data-v-2c6272e3]{align-items:center;background:#f9f9f9;border-radius:12px;display:flex;flex:1;justify-content:center;padding:16px}.preview-svg[data-v-2c6272e3]{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));height:auto;width:180px}.done-btn[data-v-2c6272e3]{background:#4a7c2e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px;transition:background .2s;width:100%}.done-btn[data-v-2c6272e3]:hover{background:#3b6624}.modal-enter-active[data-v-2c6272e3],.modal-leave-active[data-v-2c6272e3]{transition:opacity .3s ease}.modal-enter-from[data-v-2c6272e3],.modal-leave-to[data-v-2c6272e3]{opacity:0}.companion-container[data-v-b4620afb]{top:0;right:0;bottom:0;left:0;pointer-events:none;position:fixed;z-index:60}canvas[data-v-91e5b35f]{display:block;transform:translateZ(0);will-change:transform}
