@charset "UTF-8";.cf-overlay[data-v-1fb40b54]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.cf-modal[data-v-1fb40b54]{background:#fff;border-radius:20px;width:100%;max-width:320px;overflow:hidden;box-shadow:0 20px 60px #0003}.cf-header[data-v-1fb40b54]{padding:20px 20px 12px;display:flex;align-items:center;gap:10px}.cf-title[data-v-1fb40b54]{margin:0;font-size:17px;font-weight:700;color:#333}.cf-body[data-v-1fb40b54]{padding:0 20px 20px}.cf-text[data-v-1fb40b54]{margin:0;font-size:14px;color:#666;line-height:1.6}.cf-footer[data-v-1fb40b54]{padding:0 20px 20px;display:flex;gap:10px}.cf-btn-secondary[data-v-1fb40b54]{flex:1;padding:10px 14px;border-radius:12px;background:#f3f4f6;color:#666;font-size:14px;font-weight:600;transition:all .18s ease}.cf-btn-secondary[data-v-1fb40b54]:active{background:#e5e7eb;transform:scale(.98)}.cf-btn-primary[data-v-1fb40b54]{flex:1;padding:10px 14px;border-radius:12px;background:#D6336C;color:#fff;font-size:14px;font-weight:700;transition:all .18s ease;box-shadow:0 4px 12px #d6336c47}.cf-btn-primary[data-v-1fb40b54]:active{transform:scale(.98);opacity:.92;box-shadow:0 2px 8px #d6336c38}.cf-fade-enter-active[data-v-1fb40b54],.cf-fade-leave-active[data-v-1fb40b54]{transition:opacity .25s ease}.cf-fade-enter[data-v-1fb40b54],.cf-fade-leave-to[data-v-1fb40b54]{opacity:0}:root{--sidebar-duration: .4s;--sidebar-easing: ease-in-out}.sidebar-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);z-index:50;display:flex;backface-visibility:hidden}.sidebar{width:78%;max-width:360px;height:100%;background:#FFF5F7;display:flex;flex-direction:column;padding:20px 18px 28px;position:relative;transform:translateZ(0);will-change:transform;overflow:hidden}.sidebar-scroll-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-right:2px}.sidebar-scroll-body::-webkit-scrollbar{width:4px}.sidebar-scroll-body::-webkit-scrollbar-thumb{background:rgba(214,51,108,.35);border-radius:2px}.sidebar-scroll-body::-webkit-scrollbar-track{background:transparent}.sidebar-enter-active,.sidebar-leave-active{transition:opacity .4s ease-in-out;transition:opacity var(--sidebar-duration, .4s) var(--sidebar-easing, ease-in-out)}.sidebar-enter,.sidebar-leave-to{opacity:0}.sidebar-enter-active .sidebar,.sidebar-leave-active .sidebar{transition:transform .4s ease-in-out;transition:transform var(--sidebar-duration, .4s) var(--sidebar-easing, ease-in-out)}.sidebar-enter .sidebar,.sidebar-leave-to .sidebar{transform:translate3d(-100%,0,0)}.close-btn{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(214,51,108,.1);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease,background-color .2s ease}.close-btn:active{transform:scale(.92);opacity:.8}.profile-header{display:flex;align-items:center;gap:12px;padding:4px 0 18px;border-bottom:1px solid #F3E1E8}.avatar{width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #d6336c1f;position:relative}.avatar-deco-layer{position:absolute;right:-4px;top:-6px;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#fff;box-shadow:0 1px 6px #00000014;font-size:16px;transform:rotate(-6deg)}.avatar-deco-layer.deco-crown{background:linear-gradient(135deg,#FFF6D0 0%,#FFE27A 100%)}.avatar-deco-layer.deco-star{background:linear-gradient(135deg,#E5F3FF 0%,#B8DEFF 100%)}.avatar-deco-layer.deco-heart{background:linear-gradient(135deg,#FFE2EC 0%,#FFB7CC 100%)}.profile-info{flex:1;min-width:0}.profile-name{font-size:18px;font-weight:700;color:#5d1a32}.profile-personality{margin-top:4px;font-size:13px;color:#8b5a6b}.stats-section{padding:16px 0 8px;border-bottom:1px solid #F3E1E8}.stat-row{margin-bottom:12px}.stat-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.stat-label{font-size:13px;color:#8b5a6b}.stat-val{font-size:15px;font-weight:600;color:#5d1a32}.stat-val-wrap{display:inline-flex;align-items:center;position:relative}.stat-sparkle.overflow-badge{display:inline-block;margin-left:3px;font-size:13px;line-height:1;color:#ffb300;background:linear-gradient(135deg,#FFD700 0%,#FFB300 50%,#FF8F00 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 2px rgba(255,215,0,.6));animation:stat-sparkle-pulse 2.4s ease-in-out infinite}@keyframes stat-sparkle-pulse{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.7;transform:scale(1.15) rotate(8deg)}}.stat-bar-wrap{height:6px;background:rgba(139,90,107,.12);border-radius:4px;overflow:visible;display:flex;align-items:stretch}.stat-bar{height:100%;border-radius:4px;transition:width .4s ease;flex-shrink:0;display:inline-block}.bar-intimacy{background:#E53935}.bar-trust{background:#7C4DFF}.bar-tacit{background:#EF5350}.bar-passion{background:#FF7043}.stat-bar-overflow{border-radius:4px;margin-left:2px;background:linear-gradient(90deg,#FFD700 0%,#FFB300 25%,#FFD700 50%,#FFA000 75%,#FFD700 100%);background-size:200% 100%;animation:overflow-shimmer 2s linear infinite;box-shadow:0 0 6px #ffc1078c}@keyframes overflow-shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.date-section{padding:18px 4px 14px;font-size:17px;font-weight:600;color:#5d1a32}.menu-section{display:flex;flex-direction:column;gap:6px}.menu-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;cursor:pointer;color:#8b5a6b;transition:all .2s ease}.menu-item:active{transform:scale(.98)}.menu-item.active{background:rgba(214,51,108,.14);color:#d6336c;font-weight:600}.menu-icon{display:inline-flex;width:24px;align-items:center;justify-content:center}.menu-label{font-size:16px}.sidebar-foot{flex-shrink:0;margin-top:18px;padding:14px 4px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #F3E1E8;display:flex;flex-direction:column;gap:10px}.current-user{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:13px;color:#8b5a6b}.current-user .username{color:#8b2635;font-weight:600}.sidebar-logout-btn{width:100%;padding:11px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;background:rgba(194,24,91,.1);color:#c2185b;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:transform .2s ease,background-color .2s ease,opacity .2s ease}.sidebar-logout-btn:active:not([disabled]){transform:scale(.98);background:rgba(194,24,91,.18)}.sidebar-logout-btn[disabled]{opacity:.5;cursor:not-allowed}.global-modal-mask[data-v-67b040c4]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.global-modal-card[data-v-67b040c4]{background:#fff;border-radius:20px;padding:32px;width:85%;max-width:360px;text-align:center;box-shadow:0 12px 40px #00000026;animation:modalPop-data-v-67b040c4 .25s ease-out;position:relative}.modal-missed-birthday[data-v-67b040c4]{border-top:4px solid #FFB74D}.modal-missed-anniversary[data-v-67b040c4]{border-top:4px solid #CE93D8}.modal-close[data-v-67b040c4]{position:absolute;top:12px;right:12px;width:28px;height:28px;border:none;background:transparent;font-size:24px;color:#ccc;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close[data-v-67b040c4]:hover{color:#999}.modal-icon[data-v-67b040c4]{font-size:44px;margin-bottom:16px}.modal-title[data-v-67b040c4]{font-size:18px;font-weight:600;color:#333;margin-bottom:8px}.modal-date[data-v-67b040c4]{font-size:16px;color:#ff9800;font-weight:500;margin-bottom:16px}.modal-missed-anniversary .modal-date[data-v-67b040c4]{color:#9c27b0}.modal-message[data-v-67b040c4]{font-size:14px;color:#666;line-height:1.6;margin-bottom:24px}.modal-close-btn[data-v-67b040c4]{width:100%;padding:12px;border-radius:25px;font-size:15px;font-weight:500;border:none;background:linear-gradient(135deg,#FF9800,#F44336);color:#fff;cursor:pointer;transition:transform .15s}.modal-missed-anniversary .modal-close-btn[data-v-67b040c4]{background:linear-gradient(135deg,#CE93D8,#9C27B0)}.modal-close-btn[data-v-67b040c4]:active{transform:scale(.98)}@keyframes modalPop-data-v-67b040c4{0%{opacity:0;transform:scale(.92) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-fade-enter-active[data-v-67b040c4],.modal-fade-leave-active[data-v-67b040c4]{transition:opacity .2s ease}.modal-fade-enter-from[data-v-67b040c4],.modal-fade-leave-to[data-v-67b040c4]{opacity:0}.app-wrapper[data-v-23d35665]{height:100vh;height:100svh;height:var(--app-height, 100svh);width:100%;background:#eee;display:flex;justify-content:center;overflow:hidden}.content-wrapper[data-v-23d35665]{flex:1;height:100%;min-height:0;display:flex;flex-direction:column;position:relative;z-index:1;background:#FFF5F7}@media (min-width: 481px){.page-container[data-v-23d35665]{box-shadow:0 0 40px #00000014}}.chat-view[data-v-09d4c9ec]{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;width:100%;max-width:480px;margin:0 auto;background:#FFF5F7;position:relative;overflow:hidden;background-position:top left;background-repeat:no-repeat}.msg-list.bg-theme-default[data-v-09d4c9ec]{background:#FFF5F7}.msg-list.bg-theme-ice-dream[data-v-09d4c9ec]{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.97)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(8 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 18% 24%/clamp(12px,2.6vw,15px) clamp(12px,2.6vw,15px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.92)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(13 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 72% 34%/clamp(13px,2.8vw,15px) clamp(13px,2.8vw,15px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.90)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(4 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 44% 68%/clamp(12px,2.5vw,14px) clamp(12px,2.5vw,14px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.88)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(11 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 88% 80%/clamp(13px,2.7vw,15px) clamp(13px,2.7vw,15px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.78)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(0 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 8% 50%/clamp(9px,2.2vw,12px) clamp(9px,2.2vw,12px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.72)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(6 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 58% 14%/clamp(9px,2.1vw,11px) clamp(9px,2.1vw,11px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.68)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(14 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 32% 86%/clamp(8px,2vw,10px) clamp(8px,2vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.70)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(9 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 82% 56%/clamp(10px,2.3vw,12px) clamp(10px,2.3vw,12px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.54)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(3 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 26% 8%/clamp(5px,1.4vw,8px) clamp(5px,1.4vw,8px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.42)' stroke-width='4.5' stroke-linecap='round' fill='none' transform='rotate(15 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 68% 90%/clamp(5px,1.3vw,7px) clamp(5px,1.3vw,7px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.48)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(7 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 96% 20%/clamp(6px,1.5vw,8px) clamp(6px,1.5vw,8px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.38)' stroke-width='4.5' stroke-linecap='round' fill='none' transform='rotate(2 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 14% 74%/clamp(5px,1.2vw,7px) clamp(5px,1.2vw,7px) no-repeat,linear-gradient(180deg,#EAF6FF 0%,#D9EEFF 55%,#C5E5FB 100%)}.msg-list.bg-theme-sakura[data-v-09d4c9ec]{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-near-1</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sCn1_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FFF0F5' stop-opacity='1'/> <stop offset='62%' stop-color='%23FFB6C1' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23FFB6C1' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sCn1_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFF8C0' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(-10 50 50)' opacity='0.9'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sCn1_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFF8C0'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 16% 22%/clamp(18px,3.2vw,22px) clamp(18px,3.2vw,22px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-near-1</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sCn2_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFF4F8' stop-opacity='1'/> <stop offset='60%' stop-color='%23FFC2D1' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FFC2D1' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(18 50 50)' opacity='0.86'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sCn2_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(15 50 50)'/> </g> </svg>") 76% 30%/clamp(17px,3vw,21px) clamp(17px,3vw,21px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-near-2</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sCn3_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FCE4EC' stop-opacity='1'/> <stop offset='62%' stop-color='%23F48FB1' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23F48FB1' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sCn3_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFD54F' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(6 50 50)' opacity='0.83'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCn3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sCn3_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFD54F'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 40% 82%/clamp(19px,3.4vw,22px) clamp(19px,3.4vw,22px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-mid-1</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sCm1_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFEEF3' stop-opacity='1'/> <stop offset='60%' stop-color='%23FFB0C4' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FFB0C4' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(-14 50 50)' opacity='0.75'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sCm1_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(-20 50 50)'/> </g> </svg>") 58% 14%/clamp(12px,2.2vw,16px) clamp(12px,2.2vw,16px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-mid-1</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sCm2_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FFFBFC' stop-opacity='1'/> <stop offset='62%' stop-color='%23FFC0CB' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23FFC0CB' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sCm2_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFF3B0' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(12 50 50)' opacity='0.7'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCm2_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCm2_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCm2_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCm2_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCm2_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sCm2_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFF3B0'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 30% 60%/clamp(13px,2.3vw,16px) clamp(13px,2.3vw,16px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-mid-2</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sCm3_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFF0F5' stop-opacity='1'/> <stop offset='60%' stop-color='%23F8BBD0' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23F8BBD0' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(-4 50 50)' opacity='0.66'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sCm3_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(28 50 50)'/> </g> </svg>") 84% 74%/clamp(12px,2.1vw,15px) clamp(12px,2.1vw,15px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-mid-3</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sCm4_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='1'/> <stop offset='60%' stop-color='%23FCE4EC' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FCE4EC' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(22 50 50)' opacity='0.72'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sCm4_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(-38 50 50)'/> </g> </svg>") 8% 50%/clamp(13px,2.2vw,15px) clamp(13px,2.2vw,15px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-far-1</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sCf1_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FCE4EC' stop-opacity='1'/> <stop offset='62%' stop-color='%23F8BBD0' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23F8BBD0' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sCf1_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFECB3' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(20 50 50)' opacity='0.54'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCf1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCf1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCf1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCf1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sCf1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sCf1_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFECB3'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 66% 54%/clamp(8px,1.4vw,10px) clamp(8px,1.4vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-far-1</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sCf2_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFE4EC' stop-opacity='1'/> <stop offset='60%' stop-color='%23FF9EB5' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FF9EB5' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(-22 50 50)' opacity='0.46'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sCf2_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(36 50 50)'/> </g> </svg>") 24% 38%/clamp(7px,1.2vw,10px) clamp(7px,1.2vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-far-2</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sCf3_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFF4F8' stop-opacity='1'/> <stop offset='60%' stop-color='%23FFC2D1' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FFC2D1' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(30 50 50)' opacity='0.42'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sCf3_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(-10 50 50)'/> </g> </svg>") 50% 68%/clamp(6px,1.15vw,9px) clamp(6px,1.15vw,9px) no-repeat,linear-gradient(180deg,#FFFBFC 0%,#FFE9F1 55%,#FDE2EC 100%)}.msg-list.bg-theme-butterfly[data-v-09d4c9ec]{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-near-1</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCn1_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23AB47BC' stop-opacity='1'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%23AB47BC' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCn1_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%238E24AA' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23CE93D8' stop-opacity='1'/> <stop offset='100%' stop-color='%238E24AA' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCn1_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-8 50 50)' opacity='0.92'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCn1_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCn1_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCn1_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCn1_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCn1_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCn1_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCn1_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCn1_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 18% 24%/clamp(18px,3.2vw,22px) clamp(18px,3.2vw,22px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-near-2</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCn2_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23BA68C8' stop-opacity='1'/> <stop offset='55%' stop-color='%23F3E5F5' stop-opacity='1'/> <stop offset='100%' stop-color='%23BA68C8' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCn2_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCn2_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(12 50 50)' opacity='0.89'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCn2_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCn2_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCn2_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCn2_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCn2_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCn2_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCn2_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCn2_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%236A1B9A'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%236A1B9A'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%236A1B9A' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%236A1B9A'/> <circle cx='64.5' cy='9' r='1.6' fill='%236A1B9A'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 74% 36%/clamp(19px,3.4vw,22px) clamp(19px,3.4vw,22px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-near-3</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCn3_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23CE93D8' stop-opacity='1'/> <stop offset='55%' stop-color='%23FCE4FF' stop-opacity='1'/> <stop offset='100%' stop-color='%23CE93D8' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCn3_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23AB47BC' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23F3E5F5' stop-opacity='1'/> <stop offset='100%' stop-color='%23AB47BC' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCn3_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-2 50 50)' opacity='0.87'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCn3_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCn3_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCn3_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCn3_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCn3_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCn3_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCn3_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCn3_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%237B1FA2'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%237B1FA2'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%237B1FA2' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%237B1FA2'/> <circle cx='64.5' cy='9' r='1.6' fill='%237B1FA2'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 46% 82%/clamp(17px,3vw,21px) clamp(17px,3vw,21px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-mid-1</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCm1_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='1'/> <stop offset='55%' stop-color='%23D1C4E9' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCm1_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%237B1FA2' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23B39DDB' stop-opacity='1'/> <stop offset='100%' stop-color='%237B1FA2' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCm1_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-14 50 50)' opacity='0.72'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCm1_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCm1_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCm1_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCm1_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCm1_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCm1_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCm1_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCm1_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 62% 18%/clamp(13px,2.2vw,16px) clamp(13px,2.2vw,16px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-mid-2</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCm2_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='55%' stop-color='%23F8BBD0' stop-opacity='1'/> <stop offset='100%' stop-color='%23E1BEE7' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCm2_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23BA68C8' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23F48FB1' stop-opacity='1'/> <stop offset='100%' stop-color='%23BA68C8' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCm2_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(9 50 50)' opacity='0.76'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCm2_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCm2_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCm2_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCm2_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCm2_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCm2_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCm2_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCm2_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%23880E4F'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%23880E4F'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%23880E4F' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%23880E4F'/> <circle cx='64.5' cy='9' r='1.6' fill='%23880E4F'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 14% 60%/clamp(12px,2.1vw,15px) clamp(12px,2.1vw,15px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-mid-3</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCm3_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23B39DDB' stop-opacity='1'/> <stop offset='55%' stop-color='%23EDE7F6' stop-opacity='1'/> <stop offset='100%' stop-color='%23B39DDB' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCm3_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%237E57C2' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23D1C4E9' stop-opacity='1'/> <stop offset='100%' stop-color='%237E57C2' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCm3_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-5 50 50)' opacity='0.68'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCm3_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCm3_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCm3_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCm3_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCm3_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCm3_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCm3_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCm3_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234527A0'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234527A0'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234527A0' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234527A0'/> <circle cx='64.5' cy='9' r='1.6' fill='%234527A0'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 88% 66%/clamp(13px,2.3vw,16px) clamp(13px,2.3vw,16px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-far-1</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCf1_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23BA68C8' stop-opacity='1'/> <stop offset='55%' stop-color='%23F3E5F5' stop-opacity='1'/> <stop offset='100%' stop-color='%23BA68C8' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCf1_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCf1_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(6 50 50)' opacity='0.52'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCf1_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCf1_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCf1_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCf1_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCf1_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCf1_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCf1_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCf1_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%236A1B9A'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%236A1B9A'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%236A1B9A' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%236A1B9A'/> <circle cx='64.5' cy='9' r='1.6' fill='%236A1B9A'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 34% 46%/clamp(8px,1.45vw,10px) clamp(8px,1.45vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-far-2</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCf2_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='1'/> <stop offset='55%' stop-color='%23D1C4E9' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCf2_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%237B1FA2' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23B39DDB' stop-opacity='1'/> <stop offset='100%' stop-color='%237B1FA2' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCf2_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-11 50 50)' opacity='0.44'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCf2_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCf2_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCf2_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCf2_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCf2_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCf2_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCf2_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCf2_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 56% 68%/clamp(7px,1.3vw,10px) clamp(7px,1.3vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-far-3</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bCf3_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23AB47BC' stop-opacity='1'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%23AB47BC' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bCf3_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%238E24AA' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23CE93D8' stop-opacity='1'/> <stop offset='100%' stop-color='%238E24AA' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bCf3_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(14 50 50)' opacity='0.48'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCf3_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bCf3_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCf3_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bCf3_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCf3_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bCf3_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCf3_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bCf3_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 8% 14%/clamp(8px,1.4vw,10px) clamp(8px,1.4vw,10px) no-repeat,linear-gradient(180deg,#F5EEF8 0%,#E8DEF8 55%,#D1C4E9 100%)}.msg-list.bg-theme-ice-dream .chat-header[data-v-09d4c9ec],.msg-list.bg-theme-ice-dream .msg-list[data-v-09d4c9ec],.msg-list.bg-theme-ice-dream .chat-footer[data-v-09d4c9ec],.msg-list.bg-theme-sakura .chat-header[data-v-09d4c9ec],.msg-list.bg-theme-sakura .msg-list[data-v-09d4c9ec],.msg-list.bg-theme-sakura .chat-footer[data-v-09d4c9ec],.msg-list.bg-theme-butterfly .chat-header[data-v-09d4c9ec],.msg-list.bg-theme-butterfly .msg-list[data-v-09d4c9ec],.msg-list.bg-theme-butterfly .chat-footer[data-v-09d4c9ec]{background:transparent}.storage-banner[data-v-09d4c9ec]{position:relative;padding:8px 14px;font-size:12px;color:#8b5a6b;background:rgba(214,51,108,.08);display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(214,51,108,.1)}.storage-banner.strong[data-v-09d4c9ec]{background:rgba(214,51,108,.14);color:#5d1a32;font-weight:500}.storage-banner .banner-btn[data-v-09d4c9ec]{background:#D6336C;color:#fff;border-radius:12px;padding:4px 10px;font-size:12px}.storage-banner .banner-close[data-v-09d4c9ec]{position:absolute;right:8px;top:4px;background:none;border:none;color:#b08494;font-size:20px;line-height:1;padding:4px 8px}.chat-header[data-v-09d4c9ec]{display:flex;align-items:center;padding:14px 14px 12px;padding-top:calc(14px + env(safe-area-inset-top));background:#FFF5F7;gap:8px;flex-shrink:0}.icon-btn[data-v-09d4c9ec]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.icon-btn[data-v-09d4c9ec]:active{background:rgba(214,51,108,.1)}.menu-btn[data-v-09d4c9ec]{margin-right:4px}.header-info[data-v-09d4c9ec]{flex:1;min-width:0;text-align:center}.header-name[data-v-09d4c9ec]{font-size:20px;font-weight:700;color:#5d1a32;line-height:1.2}.header-date[data-v-09d4c9ec]{margin-top:2px;font-size:13px;color:#8b5a6b}.heart-btn[data-v-09d4c9ec]{display:flex;align-items:center;gap:4px;padding:0 10px;border-radius:18px;color:#d6336c;min-width:60px;justify-content:flex-end}.heart-val-wrap[data-v-09d4c9ec]{position:relative;display:inline-flex;align-items:center}.heart-num[data-v-09d4c9ec]{font-size:16px;font-weight:700;color:#d6336c}.heart-sparkle.overflow-badge[data-v-09d4c9ec]{display:inline-block;margin-left:2px;font-size:13px;line-height:1;color:#ffb300;background:linear-gradient(135deg,#FFD700 0%,#FFB300 50%,#FF8F00 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 4px rgba(255,179,0,.55);filter:drop-shadow(0 0 2px rgba(255,215,0,.6));animation:overflow-shimmer-data-v-09d4c9ec 2.4s ease-in-out infinite}@keyframes overflow-shimmer-data-v-09d4c9ec{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.72;transform:scale(1.12) rotate(6deg)}}.msg-list[data-v-09d4c9ec]{flex:1;overflow-y:auto;padding:8px 12px;padding-bottom:calc(104px + env(safe-area-inset-bottom));background:transparent;min-height:0;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.msg-row[data-v-09d4c9ec]{display:flex;flex-direction:row;align-items:flex-start;gap:8px;margin-bottom:14px}.msg-row.me[data-v-09d4c9ec]{flex-direction:row-reverse}.msg-content[data-v-09d4c9ec]{display:flex;flex-direction:column;min-width:0;max-width:calc((100% - 48px)*.88)}.msg-content.from-me[data-v-09d4c9ec]{align-items:flex-end}.msg-content.from-bf[data-v-09d4c9ec]{align-items:flex-start}.msg-bubble[data-v-09d4c9ec]{max-width:100%;padding:12px 16px;border-radius:20px;font-size:clamp(14px,3.5vw,16px);line-height:1.55;color:#5d1a32;box-shadow:0 1px 4px #d6336c0f}.bubble-me[data-v-09d4c9ec]{background:#D6336C;color:#fff;border-top-right-radius:6px}.bubble-bf[data-v-09d4c9ec]{background:#F4ECF5;color:#5d1a32;border-top-left-radius:6px}.msg-text[data-v-09d4c9ec]{word-break:break-word;white-space:pre-wrap}.msg-time[data-v-09d4c9ec]{font-size:11px;color:#b08494;margin-top:6px;padding:0 6px}.bubble-theme-frosty .bubble-me[data-v-09d4c9ec],.bubble-frosty .bubble-me[data-v-09d4c9ec]{background:linear-gradient(180deg,#F8FCFF 0%,#EEF7FF 42%,#D9EEFF 100%);color:#0f172a;border-top-right-radius:6px;box-shadow:inset 3px 0 14px #80dcf038,inset 0 6px 18px #8cd2f02e,0 2px 6px #508cbe14}.bubble-theme-frosty .bubble-bf[data-v-09d4c9ec],.bubble-frosty .bubble-bf[data-v-09d4c9ec]{background:rgba(200,215,232,.58);color:#1a2238;border-top-left-radius:6px;backdrop-filter:blur(6px) saturate(1.08);-webkit-backdrop-filter:blur(6px) saturate(1.08);border:1px solid rgba(255,255,255,.55);box-shadow:0 2px 6px #7896be1a}.bubble-theme-frosty .typing-bubble[data-v-09d4c9ec],.bubble-frosty .typing-bubble[data-v-09d4c9ec]{background:rgba(200,215,232,.58)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.55)}.bubble-theme-blossom .bubble-me[data-v-09d4c9ec],.bubble-blossom .bubble-me[data-v-09d4c9ec]{background-image:repeating-radial-gradient(circle at 22% 30%,rgba(180,120,130,.05) 0 1px,transparent 1.4px 3.2px),repeating-radial-gradient(circle at 70% 68%,rgba(200,140,150,.045) 0 1px,transparent 1.3px 3.6px),linear-gradient(180deg,#FFF5F0 0%,#FFE5E0 55%,#FFE0E6 100%);background-color:#ffe4e1;color:#5c2d2a;border-radius:20px 4px 2px 20px;box-shadow:0 1px 4px #dc8c961f}.bubble-theme-blossom .bubble-bf[data-v-09d4c9ec],.bubble-blossom .bubble-bf[data-v-09d4c9ec]{background:#FFF8EE;color:#4b2e2a;border-radius:4px 20px 20px 2px;box-shadow:0 1px 4px #c8aa8c1a}.bubble-theme-blossom .typing-bubble[data-v-09d4c9ec],.bubble-blossom .typing-bubble[data-v-09d4c9ec]{background:#FFF8EE!important;border-radius:4px 20px 20px 2px}.bubble-theme-starmist .bubble-me[data-v-09d4c9ec],.bubble-starmist .bubble-me[data-v-09d4c9ec]{background:linear-gradient(180deg,#F3EEFB 0%,#EDE7F6 55%,#DCD1F4 100%);color:#3c1f61;border-radius:20px 10px 3px 14px;border-left:1px solid rgba(190,170,230,.28);box-shadow:0 6px 16px #a88cdc3d,0 2px 6px #b496e629,0 1px 2px #c8b4f033}.bubble-theme-starmist .bubble-bf[data-v-09d4c9ec],.bubble-starmist .bubble-bf[data-v-09d4c9ec]{background:linear-gradient(180deg,#FBF9FF 0%,#F3F0F8 50%,#EEE9F5 100%);color:#37294a;border-radius:10px 20px 14px 3px;border-right:1px solid rgba(200,190,230,.22);box-shadow:0 2px 8px #aaa0d22e,inset 0 1px #ffffffd9}.bubble-theme-starmist .typing-bubble[data-v-09d4c9ec],.bubble-starmist .typing-bubble[data-v-09d4c9ec]{background:linear-gradient(180deg,#FBF9FF 0%,#F3F0F8 50%,#EEE9F5 100%)!important;border-radius:10px 20px 14px 3px;border-right:1px solid rgba(200,190,230,.22);box-shadow:0 2px 8px #aaa0d22e,inset 0 1px #ffffffd9}.msg-avatar[data-v-09d4c9ec]{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid #e5e7eb;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff}.msg-avatar img[data-v-09d4c9ec]{width:100%;height:100%;object-fit:cover;display:block}.avatar-fallback[data-v-09d4c9ec]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;letter-spacing:.5px}.avatar-me .avatar-fallback[data-v-09d4c9ec]{background:linear-gradient(135deg,#ffe1e8 0%,#ffc9db 100%);color:#8b2635}.avatar-bf .avatar-fallback[data-v-09d4c9ec]{background:linear-gradient(135deg,#e6f0ff 0%,#cfdcff 100%);color:#2d4386}.msg-avatar.avatar-bf[data-v-09d4c9ec]{overflow:visible;background:#fff;border:1.5px solid rgba(214,51,108,.35);box-shadow:0 2px 6px #5d1a321a}.msg-avatar.avatar-me[data-v-09d4c9ec]{overflow:hidden}.typing-bubble[data-v-09d4c9ec]{padding:12px 18px;min-width:60px}.bf-avatar-deco-wrap[data-v-09d4c9ec]{position:relative;width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center}.bf-heart-svg[data-v-09d4c9ec]{display:block;width:26px;height:26px;flex-shrink:0}.bf-avatar-deco-layer[data-v-09d4c9ec]{position:absolute;right:-10px;top:-8px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#fff;box-shadow:0 1px 5px #00000014;font-size:14px;transform:rotate(-6deg)}.bf-avatar-deco-layer.deco-crown[data-v-09d4c9ec],.bf-avatar-deco-layer.deco-star[data-v-09d4c9ec],.bf-avatar-deco-layer.deco-heart[data-v-09d4c9ec]{background:#fff}.dots[data-v-09d4c9ec]{display:inline-flex;gap:4px;align-items:center}.dots i[data-v-09d4c9ec]{display:inline-block;width:6px;height:6px;background:rgba(139,90,107,.5);border-radius:50%;animation:blink-data-v-09d4c9ec 1.2s infinite}.dots i[data-v-09d4c9ec]:nth-child(2){animation-delay:.15s}.dots i[data-v-09d4c9ec]:nth-child(3){animation-delay:.3s}@keyframes blink-data-v-09d4c9ec{0%,80%,to{opacity:.3;transform:scale(.9)}40%{opacity:1;transform:scale(1.1)}}.chat-footer[data-v-09d4c9ec]{position:fixed;left:50%;transform:translate(-50%);right:auto;bottom:0;width:100%;max-width:480px;padding:10px 12px 14px;padding-bottom:calc(14px + env(safe-area-inset-bottom));background:#FFF5F7;border-top:1px solid rgba(214,51,108,.08);display:flex;align-items:center;gap:10px;z-index:100}.chat-footer.disabled .input-wrap[data-v-09d4c9ec]{border-color:#d6336c33;background:rgba(255,228,236,.45)}.chat-footer.disabled .chat-input[data-v-09d4c9ec]{color:#c47c94;cursor:not-allowed}.chat-footer.disabled .send-btn[data-v-09d4c9ec]{background:#f4b6c6!important;cursor:not-allowed}.input-wrap[data-v-09d4c9ec]{flex:1;height:50px;border-radius:22px;background:#fff;border:1.5px solid #D6336C;display:flex;align-items:center;padding:0 18px}.chat-input[data-v-09d4c9ec]{width:100%;height:100%;border:none;background:transparent;font-size:16px;color:#5d1a32}.send-btn[data-v-09d4c9ec]{width:50px;height:50px;border-radius:50%;background:#D6336C;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.send-btn[data-v-09d4c9ec]:active:not([disabled]){transform:scale(.92)}.send-btn[disabled][data-v-09d4c9ec]{opacity:.5;cursor:not-allowed}.modal-mask[data-v-09d4c9ec]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal[data-v-09d4c9ec]{width:100%;max-width:340px;background:#fff;border-radius:16px;padding:22px 20px;box-shadow:0 10px 40px #0003;animation:fadeIn .2s ease both}.modal-title[data-v-09d4c9ec]{font-size:18px;font-weight:700;color:#5d1a32;margin-bottom:12px}.modal-title.crisis-title[data-v-09d4c9ec]{color:#c62828}.modal-body[data-v-09d4c9ec]{font-size:14px;line-height:1.6;color:#8b5a6b;margin-bottom:20px}.modal-actions[data-v-09d4c9ec]{display:flex;gap:10px;justify-content:flex-end}.modal-btn[data-v-09d4c9ec]{padding:9px 18px;border-radius:10px;font-size:14px;font-weight:500}.modal-btn.primary[data-v-09d4c9ec]{background:#D6336C;color:#fff}.modal-btn.ghost[data-v-09d4c9ec]{background:#F4ECF5;color:#8b5a6b}.modal-btn[data-v-09d4c9ec]:active{transform:scale(.96)}.fade-enter-active[data-v-09d4c9ec],.fade-leave-active[data-v-09d4c9ec]{transition:opacity .25s ease}.fade-enter[data-v-09d4c9ec],.fade-leave-to[data-v-09d4c9ec]{opacity:0}@media (max-width: 360px){.msg-avatar.avatar-bf[data-v-09d4c9ec]{overflow:visible}.msg-avatar.avatar-me[data-v-09d4c9ec]{overflow:hidden}.msg-avatar.avatar-bf .bf-avatar-deco-layer[data-v-09d4c9ec]{right:-7px;top:-6px;width:20px;height:20px;line-height:20px;font-size:12px}.msg-content[data-v-09d4c9ec]{max-width:calc((100% - 48px)*.9)}.msg-bubble[data-v-09d4c9ec]{font-size:clamp(13px,3.8vw,15px);padding:10px 14px}}@media (min-width: 768px){.msg-content[data-v-09d4c9ec]{max-width:calc((100% - 48px)*.85)}.msg-bubble[data-v-09d4c9ec]{font-size:clamp(15px,2.2vw,16px)}}@media (min-width: 1024px){.msg-content[data-v-09d4c9ec]{max-width:calc((100% - 48px)*.82)}.msg-bubble[data-v-09d4c9ec]{font-size:16px}}.subpage-header[data-v-2f848298]{display:flex;align-items:center;padding:16px 14px 14px;padding-top:calc(16px + env(safe-area-inset-top));background:#fff;gap:6px;position:sticky;top:0;z-index:5;flex-shrink:0;border-bottom:1px solid rgba(214,51,108,.06)}.icon-btn[data-v-2f848298]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.icon-btn[data-v-2f848298]:active{background:rgba(214,51,108,.1)}.title[data-v-2f848298]{flex:1;min-width:0;font-size:20px;font-weight:700;color:#5d1a32;text-align:center;margin-left:-12px}.date[data-v-2f848298]{font-size:13px;color:#8b5a6b;white-space:nowrap}.stats-trio[data-v-2c9fb8f4]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 16px;padding:16px 20px;background:#FFFFFF;border-radius:16px;box-shadow:0 2px 12px #d6336c0f}@media (min-width: 400px){.stats-trio[data-v-2c9fb8f4]{grid-template-columns:repeat(4,1fr)}}.trio-item[data-v-2c9fb8f4]{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;overflow:hidden}.val-wrap[data-v-2c9fb8f4],.val-wrap-nowrap[data-v-2c9fb8f4],.nowrap-wrap[data-v-2c9fb8f4]{display:inline-flex;align-items:baseline;justify-content:center;width:100%;white-space:nowrap;min-width:0;overflow:visible}.val[data-v-2c9fb8f4]{display:inline-flex;align-items:baseline;justify-content:center;gap:2px;font-size:clamp(15px,6.2vw,24px);line-height:1.1;font-weight:700;white-space:nowrap;word-break:keep-all}.val.intimacy[data-v-2c9fb8f4],.val .plus-intimacy[data-v-2c9fb8f4]{color:#e53935}.val.trust[data-v-2c9fb8f4],.val .plus-trust[data-v-2c9fb8f4]{color:#7c4dff}.val.tacit[data-v-2c9fb8f4],.val .plus-tacit[data-v-2c9fb8f4]{color:#ef5350}.val.passion[data-v-2c9fb8f4],.val .plus-passion[data-v-2c9fb8f4]{color:#ff7043}@media (min-width: 400px){.val[data-v-2c9fb8f4]{font-size:clamp(16px,3.4vw,24px)}}.plus[data-v-2c9fb8f4],.overflow-suffix[data-v-2c9fb8f4]{font-size:.65em;font-weight:700;line-height:1;margin-left:2px;white-space:nowrap;letter-spacing:0}.label[data-v-2c9fb8f4]{font-size:13px;color:#8b5a6b;white-space:nowrap}.bar[data-v-2c9fb8f4]{width:70%;height:6px;border-radius:4px;background:rgba(139,90,107,.12);overflow:hidden;margin-top:4px}.bar-fill[data-v-2c9fb8f4]{height:100%;border-radius:4px;transition:width .5s ease;display:block}.intimacy-fill[data-v-2c9fb8f4]{background:#E53935}.trust-fill[data-v-2c9fb8f4]{background:#7C4DFF}.tacit-fill[data-v-2c9fb8f4]{background:#EF5350}.passion-fill[data-v-2c9fb8f4]{background:#FF7043}.entertainment-view[data-v-175ebd90]{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;width:100%;background:#FFF5F7;overflow:hidden}.body-wrap[data-v-175ebd90]{flex:1;overflow-y:auto;min-height:0;padding-bottom:calc(50px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.activities[data-v-175ebd90]{padding:4px 16px}.activity-card[data-v-175ebd90]{background:#fff;border-radius:16px;margin-top:14px;padding:16px 16px 14px;box-shadow:0 2px 12px #d6336c0f}.activity-card.highlight-card[data-v-175ebd90]{border:2px solid #FFD54F;background:linear-gradient(135deg,#FFF9E6 0%,#FFFDFA 100%)}.card-top[data-v-175ebd90]{display:flex;align-items:center;gap:12px}.icon-circle[data-v-175ebd90]{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bg-green[data-v-175ebd90]{background:#E8F5E9}.bg-orange[data-v-175ebd90]{background:#FFF3E0}.bg-purple[data-v-175ebd90]{background:#F3E5F5}.bg-blue[data-v-175ebd90]{background:#E1F5FE}.bg-rose[data-v-175ebd90]{background:#FCE4EC}.bg-red[data-v-175ebd90]{background:#FFEBEE}.bg-indigo[data-v-175ebd90]{background:#E8EAF6}.bg-pink[data-v-175ebd90]{background:#FCE4EC}.bg-yellow[data-v-175ebd90]{background:#FFF8E1}.info[data-v-175ebd90]{flex:1;min-width:0}.title[data-v-175ebd90]{font-size:17px;font-weight:600;color:#5d1a32}.desc[data-v-175ebd90]{margin-top:4px;font-size:13px;color:#8b5a6b}.check-mark[data-v-175ebd90]{width:30px;height:30px;border-radius:50%;background:#E8F5E9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-bottom[data-v-175ebd90]{margin-top:12px;display:flex;align-items:center;justify-content:space-between}.progress-text[data-v-175ebd90]{font-size:13px;color:#8b5a6b}.progress-text.hint[data-v-175ebd90]{color:#b08494}.act-btn[data-v-175ebd90]{background:#D6336C;color:#fff;border-radius:12px;padding:9px 18px;font-size:14px;font-weight:500;transition:all .22s cubic-bezier(.4,0,.2,1);min-width:80px;position:relative;overflow:visible;will-change:transform,box-shadow}.act-btn[data-v-175ebd90]:active:not([disabled]){transform:scale(.9);filter:brightness(.88);box-shadow:0 1px 2px #0003 inset,0 2px 6px #0000001a}.act-btn[disabled][data-v-175ebd90]{opacity:.55;cursor:not-allowed}.act-btn.done[data-v-175ebd90]{background:#EF9A9A}.act-btn.highlight[data-v-175ebd90]{background:#F9A825;color:#5d3800}.act-btn.highlight[data-v-175ebd90]:active:not([disabled]){background:linear-gradient(135deg,#E65100 0%,#BF360C 100%);color:#ffebf1;box-shadow:0 2px 10px #bf360c6b inset;transform:scale(.93)}.act-btn.highlight.state-loading[data-v-175ebd90]{background:linear-gradient(135deg,#EF6C00 0%,#E65100 100%);color:#fff1e6;box-shadow:0 3px 10px #bf360c4d inset;animation:careBtnBreathe-data-v-175ebd90 1.2s ease-in-out infinite}.act-btn.highlight.state-done[data-v-175ebd90]{background:linear-gradient(135deg,#FFB74D 0%,#FF8A65 100%);color:#3e1e00;animation:none;box-shadow:0 2px 8px #bf360c1f}.act-btn.success-pulse[data-v-175ebd90]{animation:btnSuccessPulse-data-v-175ebd90 .25s ease-out forwards}.act-btn.success-just-done[data-v-175ebd90]:after{content:"✓";position:absolute;top:-12px;right:-12px;width:24px;height:24px;border-radius:50%;background:#4CAF50;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #4caf5073;animation:checkmarkPop-data-v-175ebd90 .28s cubic-bezier(.34,1.56,.64,1) both;pointer-events:none}.garden-care-btn[data-v-175ebd90]{min-width:156px;width:156px;height:40px;padding:0 14px;text-align:center;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;letter-spacing:.2px;transition:background-color .26s ease-in-out,color .26s ease-in-out,opacity .26s ease-in-out,transform .22s cubic-bezier(.4,0,.2,1),box-shadow .26s ease-in-out;background:linear-gradient(135deg,#EC407A 0%,#D81B60 100%);color:#fff;white-space:nowrap;overflow:hidden}.garden-care-btn.state-idle[data-v-175ebd90]{box-shadow:0 4px 10px #ec407a47}.garden-care-btn.state-idle[data-v-175ebd90]:hover:not([disabled]){transform:translateY(-1px);box-shadow:0 6px 16px #ec407a52}.garden-care-btn.state-loading[data-v-175ebd90]{cursor:progress;background:linear-gradient(135deg,#C2185B 0%,#AD1457 100%);box-shadow:0 3px 10px #ad14574d inset;color:#fff;opacity:1;animation:careBtnBreathe-data-v-175ebd90 1.4s ease-in-out infinite}.garden-care-btn.state-done[data-v-175ebd90]{animation:none;background:linear-gradient(135deg,#F48FB1 0%,#EF9A9A 100%);color:#fff;box-shadow:0 2px 8px #ad14571a}.garden-care-btn .progress-track[data-v-175ebd90]{position:absolute;left:8px;right:8px;bottom:6px;height:5px;background:rgba(255,255,255,.22);border-radius:999px;overflow:hidden;z-index:1;opacity:0;transform:translateY(2px);transition:opacity .25s ease-in-out,transform .25s ease-in-out}.garden-care-btn.state-loading .progress-track[data-v-175ebd90]{opacity:1;transform:translateY(0)}.garden-care-btn .progress-fill[data-v-175ebd90]{position:absolute;left:0;top:0;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#18FFFF 0%,#00E5FF 40%,#40C4FF 100%);transition:width .26s cubic-bezier(.22,1,.36,1);box-shadow:0 0 6px #18ffffa6,0 0 12px #00e5ff59;overflow:hidden}.garden-care-btn .progress-shine[data-v-175ebd90]{position:absolute;top:0;left:0;width:50%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.65) 50%,rgba(255,255,255,0) 100%);transform:skew(-20deg) translate(-120%);animation:careProgressShimmer-data-v-175ebd90 .9s linear infinite;mix-blend-mode:screen}.garden-care-btn .btn-text[data-v-175ebd90]{position:relative;z-index:2;display:inline-block;padding-bottom:6px;transform:translateY(-2px);transition:transform .25s ease-in-out;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.18)}.garden-care-btn.state-idle .btn-text[data-v-175ebd90],.garden-care-btn.state-done .btn-text[data-v-175ebd90]{padding-bottom:0;transform:translateY(0)}@media (max-width: 340px){.garden-care-btn[data-v-175ebd90]{width:138px;min-width:138px}.garden-care-btn .btn-text[data-v-175ebd90]{font-size:13px}}@keyframes careBtnBreathe-data-v-175ebd90{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}@keyframes careProgressShimmer-data-v-175ebd90{0%{transform:skew(-20deg) translate(-120%)}to{transform:skew(-20deg) translate(260%)}}@keyframes btnSuccessPulse-data-v-175ebd90{0%{box-shadow:0 0 #ec407a8c}70%{box-shadow:0 0 0 14px #ec407a00}to{box-shadow:0 0 #ec407a00}}@keyframes checkmarkPop-data-v-175ebd90{0%{transform:scale(0) rotate(-40deg);opacity:0}58%{transform:scale(1.22) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.modal-mask[data-v-175ebd90]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center;padding:18px}.modal[data-v-175ebd90]{width:100%;max-width:360px;background:#fff;border-radius:16px;padding:22px 20px;box-shadow:0 10px 40px #0003;animation:fadeIn .2s ease both}.modal.wide[data-v-175ebd90]{max-width:380px}.modal-title[data-v-175ebd90]{font-size:18px;font-weight:700;color:#5d1a32;margin-bottom:14px;text-align:center}.modal-divider[data-v-175ebd90]{font-size:13px;color:#b08494;margin:14px 0 8px}.modal-actions[data-v-175ebd90]{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.modal-actions.row[data-v-175ebd90]{justify-content:space-between}.modal-btn[data-v-175ebd90]{padding:9px 18px;border-radius:10px;font-size:14px;font-weight:500}.modal-btn.primary[data-v-175ebd90]{background:#D6336C;color:#fff}.modal-btn.ghost[data-v-175ebd90]{background:#F4ECF5;color:#8b5a6b}.modal-btn[data-v-175ebd90]:active{transform:scale(.96)}.bf-secret[data-v-175ebd90]{background:#FCE4EC;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.6;color:#5d1a32}.bf-secret.confession-question[data-v-175ebd90]{background:#FFEBEE;color:#b71c1c}.user-secret-pick[data-v-175ebd90]{background:#fff;border:1px dashed #D6336C;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.6;color:#8b5a6b}.preset-list.secret-presets[data-v-175ebd90]{display:flex;flex-direction:column;gap:8px;margin:8px 0 10px;max-height:180px;overflow-y:auto}.preset-list.secret-presets .preset-item[data-v-175ebd90]{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#fff;border:1px solid #E8DAEF;border-radius:10px;cursor:pointer;transition:all .2s}.preset-list.secret-presets .preset-item[data-v-175ebd90]:hover{border-color:#d6336c;background:#FFF3F7}.preset-list.secret-presets .preset-item.picked[data-v-175ebd90]{border-color:#d6336c;background:#FFE8F0;box-shadow:0 0 0 2px #f48fb159}.preset-list.secret-presets .preset-check[data-v-175ebd90]{width:18px;height:18px;flex:0 0 18px;border-radius:50%;border:1.5px solid #D7BDE2;text-align:center;line-height:16px;font-size:13px;color:#d81b60;font-weight:700;margin-top:1px}.preset-list.secret-presets .preset-item.picked .preset-check[data-v-175ebd90]{background:#F06292;border-color:#f06292;color:#fff}.preset-list.secret-presets .preset-text[data-v-175ebd90]{font-size:13.5px;line-height:1.6;color:#5d1a32}.custom-secret-input[data-v-175ebd90]{width:100%;border-radius:12px;border:1px solid #E8DAEF;background:#fff;padding:10px 12px;font-size:14px;line-height:1.6;color:#5d1a32;resize:vertical;outline:none;margin:6px 0 10px;transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box}.custom-secret-input[data-v-175ebd90]::placeholder{color:#b39ddb}.custom-secret-input[data-v-175ebd90]:focus{border-color:#d6336c;box-shadow:0 0 0 2px #f48fb14d}.secret-actions.modal-actions.row[data-v-175ebd90]{justify-content:flex-start;flex-wrap:wrap;gap:8px}.modal-btn.secondary[data-v-175ebd90]{background:#E1BEE7;color:#6a1b9a}.modal-btn.secondary[data-v-175ebd90]:disabled{background:#F3E5F5;color:#d7bde2;cursor:not-allowed;opacity:.7}.modal-btn.secondary[data-v-175ebd90]:not(:disabled):active{transform:scale(.96)}.modal.secret-modal[data-v-175ebd90]{max-height:78vh;overflow-y:auto;padding:16px 15px}.modal.secret-modal .modal-title[data-v-175ebd90]{margin-bottom:10px}.modal.secret-modal .modal-divider[data-v-175ebd90]{margin:10px 0 6px}.modal.secret-modal .custom-secret-input[data-v-175ebd90]{margin:4px 0 8px}.modal.secret-modal .secret-actions.modal-actions.row[data-v-175ebd90]{margin-top:10px}.modal.secret-modal .preset-list.secret-presets[data-v-175ebd90]{max-height:180px;margin:6px 0 8px;gap:6px}@media (max-width: 420px){.modal.secret-modal[data-v-175ebd90]{max-height:82vh;padding:14px 13px}.modal.secret-modal .preset-list.secret-presets[data-v-175ebd90]{max-height:160px}.modal.secret-modal .modal-title[data-v-175ebd90]{margin-bottom:8px}.modal.secret-modal .modal-divider[data-v-175ebd90]{margin:8px 0 5px;font-size:12px}.modal.secret-modal .secret-actions.modal-actions.row[data-v-175ebd90]{margin-top:8px;gap:6px}}@media (min-width: 1024px){.modal.secret-modal[data-v-175ebd90]{max-height:600px}}.confession-options[data-v-175ebd90]{margin-top:14px;display:flex;flex-direction:column;gap:10px}.opt-btn[data-v-175ebd90]{border-radius:12px;padding:12px 14px;text-align:left;transition:all .18s;border:1px solid transparent}.opt-btn[data-v-175ebd90]:active{transform:scale(.98)}.opt-title[data-v-175ebd90]{font-weight:600;font-size:15px}.opt-desc[data-v-175ebd90]{margin-top:2px;font-size:12px;opacity:.75}.opt-honest[data-v-175ebd90]{background:#E8F5E9;color:#2e7d32}.opt-dodge[data-v-175ebd90]{background:#FFF8E1;color:#f57f17}.opt-lie[data-v-175ebd90]{background:#FFEBEE;color:#c62828}.choice-guide[data-v-175ebd90]{background:linear-gradient(135deg,#FFF3E0 0%,#FCE4EC 100%);border-radius:12px;padding:12px 14px;margin:6px 0 14px;display:flex;flex-direction:column;gap:8px;border:1px solid rgba(240,98,146,.18)}.guide-scene[data-v-175ebd90]{font-size:14px;font-weight:600;color:#6a1b9a;text-align:center;line-height:1.5}.guide-rule[data-v-175ebd90]{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.guide-chip[data-v-175ebd90]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;line-height:1.5;background:rgba(255,255,255,.75);color:#ad1457;border:1px solid rgba(240,98,146,.25);white-space:nowrap}.choice-question[data-v-175ebd90]{text-align:center;font-size:18px;font-weight:600;color:#5d1a32;padding:10px 0 18px}.two-options[data-v-175ebd90]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-opt[data-v-175ebd90]{background:#FCE4EC;color:#d6336c;text-align:center;font-weight:600;font-size:15px;padding:14px 10px}.two-choice-result[data-v-175ebd90]{margin-top:14px;text-align:center;font-size:14px;padding:10px;border-radius:10px}.two-choice-result.match[data-v-175ebd90]{background:#E8F5E9;color:#2e7d32}.two-choice-result.diff[data-v-175ebd90]{background:#FCE4EC;color:#ad1457}.blind-boxes[data-v-175ebd90]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px}.blind-box[data-v-175ebd90]{border-radius:12px;background:#FFF3E0;padding:14px 8px;text-align:center;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background .2s ease;cursor:pointer}.blind-box[data-v-175ebd90]:hover{transform:scale(1.06);box-shadow:0 8px 20px #d6336c2e;filter:brightness(1.03);background:#FFECD1}.blind-box[data-v-175ebd90]:active{transform:scale(.95)}.blind-box .box-wrap[data-v-175ebd90]{font-size:32px;line-height:1}.blind-box .box-name[data-v-175ebd90]{margin-top:8px;font-size:12px;color:#6d4c41;font-weight:500}.blind-desc-area[data-v-175ebd90]{padding:6px 0}.blind-theme[data-v-175ebd90]{text-align:center;font-size:18px;font-weight:700;color:#d6336c;margin-bottom:10px}.blind-desc[data-v-175ebd90]{background:#FCE4EC;border-radius:12px;padding:14px;font-size:14px;line-height:1.8;color:#5d1a32}.modal.wide.blind-date-modal[data-v-175ebd90]{max-width:560px}.blind-unwrapping[data-v-175ebd90]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 8px 14px}.unwrapping-box-wrap[data-v-175ebd90]{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}.unwrapping-box-wrap .box-wrap[data-v-175ebd90]{font-size:72px;line-height:1}.unwrapping-hint[data-v-175ebd90]{font-size:13px;color:#9c27b0;font-weight:600}@keyframes blindShake-data-v-175ebd90{0%,to{transform:translate(0) rotate(0) translateY(0)}20%{transform:translate(-7px) rotate(-6deg) translateY(-2px)}40%{transform:translate(7px) rotate(6deg) translateY(1px)}60%{transform:translate(-5px) rotate(-4deg) translateY(-1px)}80%{transform:translate(5px) rotate(4deg) translateY(1px)}}.blind-unwrapping .box-wrap.unwrapping[data-v-175ebd90]{animation:blindShake-data-v-175ebd90 .45s ease-in-out infinite;transform-origin:center bottom}.blind-countdown-num[data-v-175ebd90]{font-size:72px;font-weight:900;line-height:1;min-width:90px;text-align:center;background:linear-gradient(135deg,#EC407A 0%,#AB47BC 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:blindCountdownPop-data-v-175ebd90 .6s ease-out}@keyframes blindCountdownPop-data-v-175ebd90{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes blindPopIn-data-v-175ebd90{0%{opacity:0;transform:scale(.72)}62%{opacity:1;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}.blind-desc-area.blind-result-pop[data-v-175ebd90]{animation:blindPopIn-data-v-175ebd90 .38s ease-out both}@keyframes glowPulse-data-v-175ebd90{0%,to{box-shadow:0 4px 14px #e91e6359;transform:scale(1)}50%{box-shadow:0 6px 26px #e91e63ad;transform:scale(1.02)}}.blind-confirm-btn[data-v-175ebd90]{animation:glowPulse-data-v-175ebd90 1.4s ease-in-out infinite}@media (max-width: 420px){.blind-date-modal .blind-boxes[data-v-175ebd90]{grid-template-columns:1fr 1fr;gap:10px 8px}.blind-date-modal .blind-countdown-num[data-v-175ebd90]{font-size:56px;min-width:70px}.blind-date-modal .unwrapping-box-wrap .box-wrap[data-v-175ebd90]{font-size:56px}.blind-date-modal .blind-unwrapping[data-v-175ebd90]{padding:14px 4px 10px;gap:10px}}@media (max-width: 340px){.blind-date-modal .blind-boxes[data-v-175ebd90]{grid-template-columns:1fr;max-width:240px;margin-inline:auto}}@media (min-width: 768px){.modal.wide.blind-date-modal[data-v-175ebd90]{max-width:520px;padding:22px 24px}}.toast[data-v-175ebd90]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:rgba(93,26,50,.88);color:#fff;padding:10px 20px;border-radius:22px;font-size:14px;z-index:500;box-shadow:0 4px 20px #0003}.fade-enter-active[data-v-175ebd90],.fade-leave-active[data-v-175ebd90]{transition:opacity .25s ease;will-change:opacity;backface-visibility:hidden}.fade-enter[data-v-175ebd90],.fade-leave-to[data-v-175ebd90]{opacity:0}.bf-feedback[data-v-175ebd90]{margin:10px 0 8px;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#FCE4EC 0%,#FCE4EC 30%,#F8BBD0 100%);box-shadow:0 4px 12px #f48fb12e;border:1px solid rgba(244,143,177,.35);will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}.bf-feedback .bf-emoji[data-v-175ebd90]{font-size:20px;line-height:1;flex-shrink:0;padding-top:2px;filter:drop-shadow(0 2px 4px rgba(236,64,122,.22));animation:bf-emoji-pulse-data-v-175ebd90 2.4s ease-in-out infinite}.bf-feedback .bf-text[data-v-175ebd90]{font-size:14px;line-height:1.75;color:#5d1a32;flex:1;min-width:0;word-break:break-word}.bf-feedback.confession-bf-feedback[data-v-175ebd90]{background:linear-gradient(135deg,#FFF8E1 0%,#FCE4EC 100%)}.bf-bubble-enter-active[data-v-175ebd90]{transition:opacity .22s ease-out,transform .22s cubic-bezier(.22,1.2,.36,1);will-change:opacity,transform;backface-visibility:hidden}.bf-bubble-leave-active[data-v-175ebd90]{transition:opacity .18s ease-in,transform .18s ease-in;will-change:opacity,transform}.bf-bubble-enter[data-v-175ebd90],.bf-bubble-leave-to[data-v-175ebd90]{opacity:0;transform:translateY(10px) scale(.98)}@keyframes bf-emoji-pulse-data-v-175ebd90{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.bf-feedback-mask[data-v-175ebd90]{background:rgba(130,130,156,.32);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1100}.bf-feedback-modal[data-v-175ebd90]{position:relative;max-width:440px;width:calc(100% - 40px);padding:28px 24px 22px;border-radius:20px;background:linear-gradient(180deg,#FFFDFE 0%,#FDFBFA 58%,#F7F2F4 100%);border:1px solid rgba(214,196,206,.55);box-shadow:0 18px 48px #5a50642e,0 2px 6px #b4a0af24,inset 0 1px #ffffffe6}.bf-feedback-modal[data-v-175ebd90]:before{content:"";position:absolute;top:-10%;left:-10%;width:70%;height:60%;background:radial-gradient(closest-side,rgba(255,250,252,.7),rgba(255,255,255,0));pointer-events:none;border-radius:50%}.bf-feedback-title[data-v-175ebd90]{position:relative;font-size:20px;font-weight:600;text-align:center;color:#8b4a65;margin-bottom:18px;letter-spacing:1px}.bf-feedback-content[data-v-175ebd90]{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px 18px 22px;border-radius:16px;background:linear-gradient(135deg,#FFFDFE 0%,#FAF6F6 45%,#F3EEF2 100%);border:1px solid rgba(210,196,206,.55);box-shadow:inset 0 2px 8px #fffffff2,inset 0 -1px 4px #b4a0af29,0 4px 14px #9682961f;margin-bottom:20px;overflow:hidden}.bf-feedback-content[data-v-175ebd90]:before{content:"";position:absolute;top:0;left:0;width:60%;height:50%;background:radial-gradient(closest-side,rgba(255,255,255,.85),rgba(255,255,255,0));pointer-events:none}.bf-feedback-emoji[data-v-175ebd90]{position:relative;font-size:40px;line-height:1;filter:drop-shadow(0 3px 6px rgba(160,120,140,.22));animation:bf-emoji-pulse-data-v-175ebd90 2.4s ease-in-out infinite}.bf-feedback-text[data-v-175ebd90]{position:relative;font-size:15px;line-height:1.85;color:#4a2940;text-align:center;word-break:break-word;text-shadow:0 1px 0 rgba(255,255,255,.7)}.bf-feedback-actions[data-v-175ebd90]{display:flex;justify-content:center;padding-top:4px}.bf-btn[data-v-175ebd90]{min-width:200px;padding:12px 22px;border-radius:999px;border:none;font-size:16px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .18s ease;will-change:transform,box-shadow;box-shadow:0 6px 18px #3c324624}.bf-btn[data-v-175ebd90]:active{transform:translateY(1px) scale(.99)}.bf-btn.tone-positive[data-v-175ebd90]{background:linear-gradient(135deg,#F4B2C8 0%,#E888A7 100%);color:#fff;box-shadow:0 8px 20px #dc82a052}.bf-btn.tone-positive[data-v-175ebd90]:hover{background:linear-gradient(135deg,#EFA2BD 0%,#DE7898 100%)}.bf-btn.tone-neutral[data-v-175ebd90]{background:linear-gradient(135deg,#EDECEE 0%,#D6D3D8 100%);color:#3f3845;box-shadow:0 6px 16px #827d8c38}.bf-btn.tone-neutral[data-v-175ebd90]:hover{background:linear-gradient(135deg,#E0DEE1 0%,#C8C4CC 100%)}.bf-btn.tone-negative[data-v-175ebd90]{background:linear-gradient(135deg,#E8A3A3 0%,#D66969 100%);color:#fff;box-shadow:0 8px 20px #c878784d}.bf-btn.tone-negative[data-v-175ebd90]:hover{background:linear-gradient(135deg,#DE9090 0%,#C85A5A 100%)}.garden-card[data-v-175ebd90]{overflow:hidden}.garden-header[data-v-175ebd90]{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;padding:4px;margin:-4px;transition:background .2s ease;outline:none}.garden-header[data-v-175ebd90]:hover{background:rgba(236,64,122,.04)}.garden-header[data-v-175ebd90]:focus-visible{box-shadow:0 0 0 3px #ec407a2e}.expand-icon[data-v-175ebd90]{flex-shrink:0;margin-left:4px;transition:transform .26s ease-in-out}.expand-icon.rotated[data-v-175ebd90]{transform:rotate(180deg)}.garden-bottom[data-v-175ebd90]{position:relative}.garden-progress-text[data-v-175ebd90]{cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 8px;margin:-6px -8px;border-radius:8px;transition:background .2s ease,color .2s ease;font-weight:500;color:#c2185b;outline:none}.garden-progress-text[data-v-175ebd90]:hover{background:rgba(236,64,122,.08)}.garden-progress-text[data-v-175ebd90]:focus-visible{box-shadow:0 0 0 3px #ec407a2e}.garden-calendar-panel[data-v-175ebd90]{margin-top:14px;padding-top:14px;border-top:1px dashed #F8BBD0;max-height:800px;overflow:hidden}.garden-slide-enter-active[data-v-175ebd90],.garden-slide-leave-active[data-v-175ebd90]{transition:opacity .25s ease-in-out,transform .25s ease-in-out,margin-top .25s ease-in-out,padding-top .25s ease-in-out,max-height .25s ease-in-out,border-top-width .25s ease-in-out;overflow:hidden;max-height:800px}.garden-slide-enter[data-v-175ebd90],.garden-slide-leave-to[data-v-175ebd90]{opacity:0;transform:translateY(-8px);margin-top:0;padding-top:0;max-height:0;border-top-width:0}.calendar-title-row[data-v-175ebd90]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.calendar-title[data-v-175ebd90]{font-size:15px;font-weight:700;color:#5d1a32;position:relative;padding-left:10px}.calendar-title[data-v-175ebd90]:before{content:"";position:absolute;left:0;top:50%;width:3px;height:14px;background:#D6336C;border-radius:2px;transform:translateY(-50%)}.calendar-hint[data-v-175ebd90]{font-size:12px;color:#bdbdbd}.garden-empty-state[data-v-175ebd90]{display:none}.calendar-weekdays[data-v-175ebd90]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.weekday-label[data-v-175ebd90]{text-align:center;font-size:11px;font-weight:600;color:#bdbdbd;padding:2px 0}.calendar-grid[data-v-175ebd90]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-cell[data-v-175ebd90]{position:relative;aspect-ratio:1/1;min-height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;background:#FAFAFA;font-size:13px;font-weight:500;color:#8b5a6b;transition:all .2s ease-out;will-change:transform,opacity}.calendar-cell.is-placeholder[data-v-175ebd90]{visibility:hidden;background:transparent;box-shadow:none;border:none;pointer-events:none}.calendar-cell.done[data-v-175ebd90]{background:#F48FB1;color:#fff;box-shadow:0 2px 6px #f48fb159}.calendar-cell.today-todo[data-v-175ebd90]{background:#fff;color:#5d1a32;border:2px dashed #F48FB1;font-weight:700}.calendar-cell.today-done[data-v-175ebd90]{background:#C2185B;color:#fff;font-weight:700;border:2px solid #AD1457;box-shadow:0 3px 10px #c2185b73}.cell-month[data-v-175ebd90]{font-size:10px;line-height:1;opacity:.75;color:inherit}.cell-date[data-v-175ebd90]{line-height:1}.cell-check[data-v-175ebd90]{position:absolute;right:2px;bottom:2px;display:flex;align-items:center;justify-content:center}.calendar-cell.is-cycle-reset[data-v-175ebd90]{background:radial-gradient(circle at 30% 20%,#FFF176 0%,#FFD54F 28%,#EC407A 72%,#C2185B 100%);color:#fff;font-weight:700;border:2px solid #F9A825;box-shadow:0 0 0 1px #ffd54f8c inset,0 3px 10px #ec407a73,0 0 16px 2px #ffc1078c;animation:gardenRewardPulse-data-v-175ebd90 1.9s ease-in-out infinite;will-change:transform,box-shadow}.calendar-cell.done.is-cycle-reset[data-v-175ebd90]{background:radial-gradient(circle at 30% 20%,#FFF176 0%,#FFD54F 28%,#EC407A 72%,#C2185B 100%);border:2px solid #F9A825;box-shadow:0 0 0 1px #ffd54f8c inset,0 3px 10px #ec407a73,0 0 16px 2px #ffc1078c}.calendar-cell.today-done.is-cycle-reset[data-v-175ebd90]{background:radial-gradient(circle at 30% 20%,#FFD54F 0%,#FBC02D 30%,#AD1457 78%);color:#fff;font-weight:700;border:2px solid #F57F17;box-shadow:0 0 0 1px #fff176b3 inset,0 4px 12px #ad145780,0 0 22px 3px #ffc107bf;animation-duration:1.5s}.badge-reward.badge-trophy[data-v-175ebd90]{position:absolute;top:1px;left:1px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.18);box-shadow:0 0 8px #ffc107b3;z-index:2}@keyframes gardenRewardPulse-data-v-175ebd90{0%,to{box-shadow:0 0 0 1px #ffd54f80 inset,0 3px 10px #ec407a66,0 0 14px 1.5px #ffc10773}50%{box-shadow:0 0 0 1px #fff176bf inset,0 3px 10px #ec407a80,0 0 22px 3.5px #ffc107d9}}@media (max-width: 360px){.calendar-cell[data-v-175ebd90]{min-height:32px;font-size:12px;border-radius:8px}.calendar-grid[data-v-175ebd90],.calendar-weekdays[data-v-175ebd90]{gap:3px}.weekday-label[data-v-175ebd90]{font-size:10px}.cell-check svg[data-v-175ebd90]{width:10px;height:10px}}.cooking-overlay[data-v-175ebd90]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(20,24,40,.45);z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}.cooking-modal[data-v-175ebd90],.cooking-success-pop[data-v-175ebd90]{width:100%;max-width:340px;background:#fff;border-radius:16px;padding:22px 20px 18px;box-shadow:0 16px 36px #0000002e;text-align:center;transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.cooking-title[data-v-175ebd90]{font-size:18px;font-weight:700;color:#222;margin-bottom:10px}.cooking-desc[data-v-175ebd90]{font-size:14px;color:#555;line-height:1.55;margin:4px 0 16px}.cooking-quote[data-v-175ebd90]{color:#6a5acd;background:#F3F0FF;border-radius:10px;padding:10px 12px;font-style:italic}.cooking-actions[data-v-175ebd90]{display:flex;gap:10px;justify-content:space-between;margin-top:6px}.cooking-actions button[data-v-175ebd90]{flex:1;border-radius:10px;padding:10px 0;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.cooking-actions button[data-v-175ebd90]:active:not(:disabled){transform:scale(.97)}.cooking-actions button[data-v-175ebd90]:disabled{opacity:.55;cursor:not-allowed}.btn-ghost[data-v-175ebd90]{background:#F1F3F8;color:#555}.btn-primary[data-v-175ebd90]{background:linear-gradient(135deg,#FB8C00,#FFB74D);color:#fff}.cooking-progress-bar-wrap[data-v-175ebd90]{width:100%;height:12px;background:#F3F0FF;border-radius:999px;overflow:hidden;margin:10px 0 6px}.cooking-progress-bar[data-v-175ebd90]{height:100%;background:linear-gradient(90deg,#FB8C00,#FFD180);width:0%;transition:width .28s ease;border-radius:999px}.cooking-progress-text[data-v-175ebd90]{font-size:13px;color:#888;margin-bottom:14px;font-variant-numeric:tabular-nums}.success-check-big[data-v-175ebd90]{width:72px;height:72px;border-radius:50%;background:#E8F5E9;display:flex;align-items:center;justify-content:center;margin:4px auto 14px;animation:popIn-data-v-175ebd90 .35s ease}.success-title[data-v-175ebd90]{font-size:18px;font-weight:700;color:#2e7d32;margin-bottom:6px}.success-sub[data-v-175ebd90]{font-size:14px;color:#555;line-height:1.6}.birthday-celebration.celebrate-burst[data-v-175ebd90]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.bday-burst-bg[data-v-175ebd90]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,rgba(255,228,236,.88) 0%,rgba(255,190,212,.72) 35%,rgba(93,26,50,.55) 100%);backdrop-filter:blur(4px) saturate(1.05);-webkit-backdrop-filter:blur(4px) saturate(1.05);animation:bdayBgFadeIn-data-v-175ebd90 .36s cubic-bezier(.22,1,.36,1) both;will-change:opacity,filter}.bday-confetti-layer[data-v-175ebd90]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti-piece[data-v-175ebd90]{position:absolute;will-change:transform,opacity;backface-visibility:hidden;animation-name:confetti-fall-data-v-175ebd90;animation-timing-function:cubic-bezier(.12,.65,.3,1);animation-fill-mode:both;box-shadow:0 1px 2px #0000001f;opacity:.92}@keyframes confetti-fall-data-v-175ebd90{0%{transform:translate3d(0,-12vh,0) rotate(0);opacity:0}12%{opacity:1}to{transform:translate3d(16px,120vh,0) rotate(720deg);opacity:0}}.bday-burst-card[data-v-175ebd90]{position:relative;z-index:3;max-width:340px;width:100%;padding:22px 20px 18px;border-radius:20px;background:linear-gradient(180deg,#FFFBF7 0%,#FFF0F5 100%);box-shadow:0 12px 38px #d6336c47,0 0 0 1px #fff9 inset,0 1px #ffffffe6 inset;text-align:center;animation:bdayCardPop-data-v-175ebd90 .42s cubic-bezier(.34,1.56,.64,1) .12s both}.bday-burst-cake[data-v-175ebd90]{font-size:56px;line-height:1;margin:2px auto 6px;animation:cake-float-data-v-175ebd90 2.2s ease-in-out infinite .6s;filter:drop-shadow(0 6px 10px rgba(255,168,0,.28));will-change:transform}@keyframes cake-float-data-v-175ebd90{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}.bday-burst-title[data-v-175ebd90]{font-size:22px;font-weight:800;letter-spacing:1px;color:#d6336c;margin:6px 0;text-shadow:0 1px 0 #fff,0 2px 10px rgba(255,205,220,.85);animation:bday-title-in-data-v-175ebd90 .52s cubic-bezier(.22,1,.36,1) .26s both}@keyframes bday-title-in-data-v-175ebd90{0%{transform:translateY(10px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.bday-burst-sub[data-v-175ebd90]{font-size:14px;color:#8b5a6b;line-height:1.6;margin:0 6px 14px}.bday-burst-reward[data-v-175ebd90]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0 10px}.reward-pill[data-v-175ebd90]{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12.5px;line-height:1;font-weight:600;color:#ad1457;background:rgba(255,200,216,.55);border:1px solid rgba(255,120,150,.35);box-shadow:0 1px #fffc inset;animation:rewardPillIn-data-v-175ebd90 .42s cubic-bezier(.34,1.56,.64,1) both;--i: 0;animation-delay:calc(.32s + var(--i) * 60ms)}.bday-burst-reward .reward-pill[data-v-175ebd90]:nth-child(1){--i: 0}.bday-burst-reward .reward-pill[data-v-175ebd90]:nth-child(2){--i: 1}.bday-burst-reward .reward-pill[data-v-175ebd90]:nth-child(3){--i: 2}.bday-burst-reward .reward-pill[data-v-175ebd90]:nth-child(4){--i: 3}@keyframes rewardPillIn-data-v-175ebd90{0%{transform:scale(.5) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.bday-burst-hint[data-v-175ebd90]{margin-top:6px;font-size:12px;color:#a98495;opacity:.85}@keyframes bdayBgFadeIn-data-v-175ebd90{0%{opacity:0}to{opacity:1}}@keyframes bdayCardPop-data-v-175ebd90{0%{transform:scale(.7) translateY(24px);opacity:0}65%{transform:scale(1.04) translateY(-4px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.act-btn.highlight.celebrate-anniversary-btn[data-v-175ebd90]{background:linear-gradient(135deg,#7B1FA2 0%,#BA68C8 58%,#E91E63 100%);color:#fff;box-shadow:0 4px 14px #9c27b047,0 1px #ffffff59 inset}.act-btn.highlight.celebrate-anniversary-btn.state-loading[data-v-175ebd90]{background:linear-gradient(135deg,#6A1B9A 0%,#880E4F 100%);color:#fff;cursor:progress;opacity:1;box-shadow:0 3px 10px #880e4f4d inset,0 0 0 1px #ffffff14 inset;animation:careBtnBreathe-data-v-175ebd90 1.35s ease-in-out infinite}.act-btn.highlight.celebrate-anniversary-btn.state-done[data-v-175ebd90],.act-btn.highlight.celebrate-anniversary-btn.done[data-v-175ebd90]{background:linear-gradient(135deg,#E1BEE7 0%,#F8BBD0 100%);color:#4a148c;border-color:#ce93d8;box-shadow:0 2px 10px #ba68c82e;cursor:default}.act-btn.highlight.celebrate-anniversary-btn .progress-fill[data-v-175ebd90]{background:linear-gradient(90deg,#FFD54F 0%,#F06292 40%,#CE93D8 100%);box-shadow:0 0 6px #f062928c,0 0 12px #ffd54f59}.anniversary-celebration.anniv-celebrate-burst[data-v-175ebd90]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.anniv-burst-bg[data-v-175ebd90]{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,rgba(243,229,245,.9) 0%,rgba(248,187,208,.8) 30%,rgba(74,20,140,.6) 100%);backdrop-filter:blur(4px) saturate(1.05);-webkit-backdrop-filter:blur(4px) saturate(1.05);animation:annivBgFadeIn-data-v-175ebd90 .36s cubic-bezier(.22,1,.36,1) both}@keyframes annivBgFadeIn-data-v-175ebd90{0%{opacity:0}to{opacity:1}}.anniv-confetti-layer[data-v-175ebd90]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.anniv-confetti-piece[data-v-175ebd90]{position:absolute;will-change:transform,opacity;backface-visibility:hidden;animation-name:anniv-confetti-fall-data-v-175ebd90;animation-timing-function:cubic-bezier(.12,.65,.3,1);animation-fill-mode:both;box-shadow:0 1px 2px #00000024}@keyframes anniv-confetti-fall-data-v-175ebd90{0%{transform:translate3d(0,-12vh,0) rotate(0);opacity:0}12%{opacity:1}to{transform:translate3d(14px,120vh,0) rotate(680deg);opacity:0}}.anniv-heart[data-v-175ebd90]{position:absolute;bottom:-10%;display:inline-block;line-height:1;will-change:transform,opacity;animation-name:anniv-heart-rise-data-v-175ebd90;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both;filter:drop-shadow(0 2px 4px rgba(233,30,99,.35))}@keyframes anniv-heart-rise-data-v-175ebd90{0%{transform:translate3d(0,8vh,0) scale(.7);opacity:0}10%{opacity:1}50%{transform:translate3d(-20px,-30vh,0) scale(1.05)}to{transform:translate3d(18px,-120vh,0) scale(1);opacity:0}}.anniv-burst-card[data-v-175ebd90]{position:relative;z-index:3;max-width:340px;width:100%;padding:22px 20px 18px;border-radius:20px;background:linear-gradient(180deg,#FAFAFF 0%,#FCE4EC 100%);box-shadow:0 14px 40px #7b1fa247,0 0 0 1px #ffffffa6 inset,0 1px #ffffffe6 inset;text-align:center;animation:annivCardPop-data-v-175ebd90 .42s cubic-bezier(.34,1.56,.64,1) .12s both}@keyframes annivCardPop-data-v-175ebd90{0%{transform:scale(.7) translateY(24px);opacity:0}65%{transform:scale(1.04) translateY(-4px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.anniv-burst-bouquet[data-v-175ebd90]{font-size:56px;line-height:1;margin:2px auto 6px;animation:bouquet-float-data-v-175ebd90 2.2s ease-in-out infinite .6s;filter:drop-shadow(0 6px 12px rgba(186,104,200,.35));will-change:transform}@keyframes bouquet-float-data-v-175ebd90{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}.anniv-burst-title[data-v-175ebd90]{font-size:22px;font-weight:800;letter-spacing:1px;color:#6a1b9a;margin:6px 0;text-shadow:0 1px 0 #fff,0 2px 10px rgba(206,147,216,.85);animation:anniversary-title-in-data-v-175ebd90 .52s cubic-bezier(.22,1,.36,1) .26s both}@keyframes anniversary-title-in-data-v-175ebd90{0%{transform:translateY(10px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.anniv-burst-sub[data-v-175ebd90]{font-size:14px;color:#6a4a7b;line-height:1.6;margin:0 6px 14px}.anniv-burst-reward[data-v-175ebd90]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0 10px}.anniv-reward-pill[data-v-175ebd90]{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12.5px;line-height:1;font-weight:600;color:#4a148c;background:rgba(225,190,231,.65);border:1px solid rgba(186,104,200,.45);box-shadow:0 1px #fffc inset;animation:annivPillIn-data-v-175ebd90 .42s cubic-bezier(.34,1.56,.64,1) both;--i: 0;animation-delay:calc(.32s + var(--i) * 60ms)}.anniv-burst-reward .anniv-reward-pill[data-v-175ebd90]:nth-child(1){--i: 0}.anniv-burst-reward .anniv-reward-pill[data-v-175ebd90]:nth-child(2){--i: 1}.anniv-burst-reward .anniv-reward-pill[data-v-175ebd90]:nth-child(3){--i: 2}.anniv-burst-reward .anniv-reward-pill[data-v-175ebd90]:nth-child(4){--i: 3}@keyframes annivPillIn-data-v-175ebd90{0%{transform:scale(.5) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.anniv-burst-hint[data-v-175ebd90]{margin-top:6px;font-size:12px;color:#8e6ba1;opacity:.85}.act-btn.cooking[data-v-175ebd90]{background:linear-gradient(135deg,#FFB74D,#FFD180);color:#fff}.act-btn.success[data-v-175ebd90]{background:linear-gradient(135deg,#66BB6A,#A5D6A7);color:#fff}.pop-enter-active[data-v-175ebd90],.pop-leave-active[data-v-175ebd90]{transition:opacity .24s ease,transform .24s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;backface-visibility:hidden}.pop-enter-from[data-v-175ebd90],.pop-leave-to[data-v-175ebd90]{opacity:0;transform:translate3d(0,10px,0) scale(.96)}@keyframes popIn-data-v-175ebd90{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@media (min-width: 480px){.calendar-cell[data-v-175ebd90]{min-height:40px;font-size:14px}}.match-flip-card .info .title[data-v-175ebd90]{color:#5d1a32}.match-flip-card .info .desc[data-v-175ebd90]{color:#8b5a6b}.match-flip-modal[data-v-175ebd90]{width:min(82vw,440px);min-width:min(78vw,360px);max-width:min(82vw,440px);max-height:calc(100vh - 100px);height:auto;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding:12px 10px;-webkit-overflow-scrolling:touch}.match-flip-modal .modal-title[data-v-175ebd90]{font-size:14px}.match-flip-header[data-v-175ebd90]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 2px 8px;padding:6px 8px;background:linear-gradient(135deg,#FAF5FF 0%,#F3E5F5 100%);border:1px solid #E1BEE7;border-radius:12px}.flip-info-time[data-v-175ebd90]{font-size:15px;font-weight:700;color:#d6336c}.flip-info-time span[data-v-175ebd90]{color:#c2185b;font-variant-numeric:tabular-nums;font-size:21px;margin:0 2px}.flip-info-time.danger[data-v-175ebd90]{color:#c62828}.flip-info-time.danger span[data-v-175ebd90]{color:#b71c1c;animation:flip-pulse-data-v-175ebd90 .8s ease-in-out infinite}@keyframes flip-pulse-data-v-175ebd90{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.flip-info-pairs[data-v-175ebd90]{font-size:11px;color:#5d1a32}.flip-info-pairs strong[data-v-175ebd90]{font-size:14px;color:#d6336c;font-variant-numeric:tabular-nums;margin:0 4px}.match-flip-grid[data-v-175ebd90]{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:clamp(3px,1.2vw,7px);padding:clamp(4px,1.3vw,9px);background:linear-gradient(135deg,#FCE4EC 0%,#FFF0F6 40%,#F3E5F5 100%);border-radius:13px;border:1px dashed rgba(214,51,108,.22);min-height:clamp(260px,41vh,370px);box-sizing:border-box}.flip-tile[data-v-175ebd90]{position:relative;aspect-ratio:1/1.1;perspective:900px;cursor:pointer;-webkit-tap-highlight-color:transparent}.flip-tile[disabled][data-v-175ebd90],.flip-tile[disabled] .flip-inner[data-v-175ebd90]{cursor:default}.flip-inner[data-v-175ebd90]{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.4,.2,.2,1.1);border-radius:14px}.flip-tile.flipped .flip-inner[data-v-175ebd90]{transform:rotateY(180deg)}.flip-face[data-v-175ebd90]{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:14px;padding:5px 6px;text-align:center;-webkit-user-select:none;user-select:none}.flip-back[data-v-175ebd90]{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.55),transparent 45%),linear-gradient(135deg,#CE93D8 0%,#BA68C8 55%,#7B1FA2 100%);color:#fff;font-size:26px;border:2px solid rgba(255,255,255,.35);box-shadow:0 4px 10px #7b1fa233,inset 0 2px #fff6}.flip-back[data-v-175ebd90]:hover{filter:brightness(1.05)}.flip-front[data-v-175ebd90]{transform:rotateY(180deg);background:linear-gradient(180deg,#FFFFFF 0%,#FFF8F8 100%);border:2px solid #F8BBD0;box-shadow:0 2px 6px #d6336c1f}.flip-emoji[data-v-175ebd90]{font-size:21px;line-height:1}.flip-text[data-v-175ebd90]{font-size:11px;font-weight:600;color:#5d1a32;line-height:1.2;word-break:break-all}.flip-tile.matched .flip-face.flip-front[data-v-175ebd90]{background:linear-gradient(180deg,#F1F8E9 0%,#DCEDC8 100%);border-color:#81c784;box-shadow:0 0 0 3px #66bb6a2e,0 3px 8px #66bb6a38;animation:match-pop-data-v-175ebd90 .42s ease}@keyframes match-pop-data-v-175ebd90{0%{transform:rotateY(180deg) scale(1)}40%{transform:rotateY(180deg) scale(1.08)}to{transform:rotateY(180deg) scale(1)}}.match-flip-hint[data-v-175ebd90]{color:#9c27b0;margin-top:7px;text-align:center;font-size:11px;padding:5px 7px;background:rgba(156,39,176,.06);border-radius:999px}.match-flip-result-summary[data-v-175ebd90]{margin:5px 0 10px;display:flex;flex-direction:column;gap:9px;text-align:center}.result-pairs[data-v-175ebd90]{font-size:13px;color:#5d1a32}.result-pairs strong[data-v-175ebd90]{font-size:17px;color:#d6336c;margin:0 4px;font-variant-numeric:tabular-nums}.result-reward[data-v-175ebd90]{padding:9px 11px;background:linear-gradient(135deg,#FCE4EC 0%,#F3E5F5 100%);border-radius:12px;font-size:14px;font-weight:700;color:#c2185b;border:1px solid #F8BBD0}.result-sub[data-v-175ebd90]{font-size:11px;color:#5d1a32}.flip-claim-btn[data-v-175ebd90]{padding:8px 16px;font-size:12px;border-radius:999px}@media (max-width: 360px){.flip-emoji[data-v-175ebd90]{font-size:19px}.flip-text[data-v-175ebd90]{font-size:10px}.flip-back[data-v-175ebd90]{font-size:23px}.match-flip-grid[data-v-175ebd90]{min-height:clamp(235px,46vh,300px);gap:clamp(3px,1.4vw,6px);padding:clamp(3px,1.5vw,6px)}.flip-info-time[data-v-175ebd90]{font-size:14px}.flip-info-time span[data-v-175ebd90]{font-size:19px}.match-flip-modal[data-v-175ebd90]{padding:10px 8px 12px}}@media (min-width: 768px){.match-flip-modal[data-v-175ebd90]{width:min(64vw,420px);min-width:min(50vw,380px);max-width:min(64vw,420px);max-height:calc(100vh - 140px);padding:15px 17px}.match-flip-grid[data-v-175ebd90]{gap:clamp(7px,1.3vw,11px);padding:clamp(7px,1.5vw,11px);min-height:clamp(280px,37vh,320px)}}.report-view[data-v-238aa176]{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;width:100%;background:#FFF5F7;overflow:hidden}.body-wrap[data-v-238aa176]{flex:1;overflow-y:auto;min-height:0;padding-bottom:calc(50px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.card[data-v-238aa176]{background:#FFFFFF;border-radius:16px;margin:12px 16px;padding:16px 20px;box-shadow:0 2px 12px #d6336c0f}.section-title[data-v-238aa176]{font-size:18px;font-weight:700;color:#5d1a32;margin-bottom:14px}.week-title[data-v-238aa176]{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#5d1a32;margin-bottom:10px}.preview-note[data-v-238aa176]{margin:0;padding:4px;font-size:12.5px;line-height:1;color:#8b5a6b;background:#FFF7FA;border-radius:12px}.preview-note b[data-v-238aa176]{color:#d6336c}.preview-note.top-time-note[data-v-238aa176]{display:block;font-size:13.5px;line-height:1.3;color:#5d1a32}.preview-note.top-time-note b[data-v-238aa176]{color:#d6336c;font-weight:600}.action-card[data-v-238aa176]{padding:14px 18px 16px}.generate-btn[data-v-238aa176]{width:100%;padding:14px 18px;font-size:16px;border-radius:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 6px 18px #d6336c38;transition:all .2s ease}.generate-btn[data-v-238aa176]:disabled,.generate-btn.disabled[data-v-238aa176]{background:rgba(139,90,107,.35);box-shadow:none;cursor:not-allowed;opacity:.9}.action-tip[data-v-238aa176]{margin:10px 4px 0;font-size:12.5px;color:#b08494;line-height:1.6}.cover-info[data-v-238aa176]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,rgba(214,51,108,.08) 0%,rgba(124,77,255,.08) 100%);border-radius:18px;margin-bottom:16px;flex-wrap:wrap;gap:10px}.cover-bf[data-v-238aa176]{display:inline-flex;align-items:center;gap:10px}.cover-bf .avatar[data-v-238aa176]{width:38px;height:38px;background:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #d6336c26;font-size:18px}.cover-bf .bf-name[data-v-238aa176]{font-size:17px;font-weight:700;color:#5d1a32;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-meta[data-v-238aa176]{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.cover-meta .chip[data-v-238aa176]{font-size:12px;color:#8b5a6b;background:#fff;padding:4px 10px;border-radius:12px;border:1px solid rgba(139,90,107,.12)}.cover-meta .chip.accent[data-v-238aa176]{color:#fff;background:#D6336C;border-color:transparent;font-weight:500}.cover-meta .chip.preview-chip[data-v-238aa176]{background:#EDE7FF;color:#7c4dff;border-color:transparent}.four-cards[data-v-238aa176]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:4px 0 8px}@media (min-width: 400px){.four-cards[data-v-238aa176]{grid-template-columns:repeat(4,1fr)}}.mini-stat[data-v-238aa176]{background:#FFFAFB;border-radius:12px;padding:12px 6px 10px;text-align:center;border:1px solid transparent;transition:all .25s ease}.mini-stat.small[data-v-238aa176]{padding:10px 4px}.mini-stat.has-overflow[data-v-238aa176]{background:linear-gradient(180deg,#FFF9E6 0%,#FFF6D6 100%);border-color:#ffc1078c;box-shadow:inset 0 0 0 1px #ffd70059,0 2px 8px #ffc10714}.mini-val-wrap[data-v-238aa176]{display:inline-flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap;min-height:28px}.mini-val[data-v-238aa176]{font-size:24px;font-weight:700;white-space:nowrap;line-height:1.15}.mini-val.intimacy[data-v-238aa176]{color:#e53935}.mini-val.trust[data-v-238aa176]{color:#7c4dff}.mini-val.tacit[data-v-238aa176]{color:#ef5350}.mini-val.passion[data-v-238aa176]{color:#ff7043}.mini-stat.has-overflow .mini-val[data-v-238aa176]{font-size:18px;letter-spacing:-.2px}@media (max-width: 399px){.mini-stat.has-overflow .mini-val[data-v-238aa176]{font-size:20px}}.mini-stat.small.has-overflow .mini-val[data-v-238aa176]{font-size:16px}.overflow-sparkle.overflow-badge[data-v-238aa176]{display:inline-block;font-size:14px;line-height:1;color:#ffb300;background:linear-gradient(135deg,#FFD700 0%,#FFB300 50%,#FF8F00 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 2px rgba(255,215,0,.6));animation:report-sparkle-shimmer-data-v-238aa176 2.2s ease-in-out infinite;transform-origin:center}@keyframes report-sparkle-shimmer-data-v-238aa176{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.7;transform:scale(1.15) rotate(10deg)}}.mini-label[data-v-238aa176]{font-size:12px;color:#8b5a6b;margin-top:4px}.mini-bar[data-v-238aa176]{width:72%;margin:8px auto 0;height:6px;background:rgba(139,90,107,.1);border-radius:3px;overflow:hidden}.mini-fill[data-v-238aa176]{height:100%;border-radius:3px;transition:width .4s ease}.intimacy-fill[data-v-238aa176]{background:#E53935}.trust-fill[data-v-238aa176]{background:#7C4DFF}.tacit-fill[data-v-238aa176]{background:#EF5350}.passion-fill[data-v-238aa176]{background:#FF7043}.delta[data-v-238aa176]{margin-top:6px;font-size:12px;font-weight:600}.delta.up[data-v-238aa176]{color:#2e7d32}.delta.down[data-v-238aa176]{color:#c62828}.delta.flat[data-v-238aa176]{color:#888}.delta-cards-4[data-v-238aa176]{margin-top:4px}.delta-cards-4 .mini-stat[data-v-238aa176]{background:#FBF5F9}.history-delta .mini-stat[data-v-238aa176]{background:#F7F0F8}.composite[data-v-238aa176]{margin-top:12px;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#FFF3F8 0%,#F8F1FF 100%);display:flex;align-items:center;gap:10px;font-size:13px;color:#8b5a6b}.composite.inner-composite[data-v-238aa176]{margin-top:14px;background:linear-gradient(135deg,#FFEAF3 0%,#EDE7FF 100%)}.c-label[data-v-238aa176]{font-weight:500}.c-value[data-v-238aa176]{font-weight:700;color:#d6336c;font-size:18px;margin-left:auto}.c-tag[data-v-238aa176]{background:rgba(214,51,108,.12);color:#d6336c;padding:3px 10px;border-radius:10px;font-size:12px;font-weight:500}.summary[data-v-238aa176]{font-size:14px;line-height:1.7;color:#8b5a6b;margin:4px 0 10px}.subsection[data-v-238aa176]{margin-top:16px}.sub-title[data-v-238aa176]{font-size:15px;font-weight:600;color:#5d1a32;margin-bottom:6px}.stats-list[data-v-238aa176]{list-style:none;padding:0;margin:6px 0}.stats-list li[data-v-238aa176]{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;font-size:13px;border-bottom:1px dashed rgba(139,90,107,.12)}.stats-list li[data-v-238aa176]:last-child{border-bottom:none}.stats-list li .k[data-v-238aa176]{color:#8b5a6b;flex-shrink:0;margin-right:10px}.stats-list li .v[data-v-238aa176]{color:#5d1a32;text-align:right}.highlight-box[data-v-238aa176]{background:#F1F8E9;border-radius:12px;padding:10px 12px}.hl-text[data-v-238aa176]{font-size:13px;color:#33691e;margin:0;line-height:1.7}.lowlight-box[data-v-238aa176]{background:#FFF3E0;border-radius:12px;padding:10px 12px}.ll-text[data-v-238aa176]{font-size:13px;color:#bf360c;margin:0;line-height:1.7}.advice-text[data-v-238aa176]{font-size:13px;line-height:1.7;color:#8b5a6b;margin:2px 0}.crisis-box[data-v-238aa176]{background:#FFEBEE;border-radius:12px;padding:10px 12px}.crisis-text[data-v-238aa176]{font-size:13px;color:#b71c1c;margin:0;line-height:1.7}.goal-box[data-v-238aa176]{background:#F3E5F5;border-radius:12px;padding:10px 12px}.goal-text[data-v-238aa176]{font-size:13px;color:#4a148c;margin:0;line-height:1.7}.history-card[data-v-238aa176]{padding-bottom:8px}.empty-history[data-v-238aa176]{font-size:13px;color:#b08494;text-align:center;padding:20px 0}.history-item[data-v-238aa176]{border-bottom:1px dashed rgba(139,90,107,.12);padding:12px 2px;cursor:pointer}.history-item[data-v-238aa176]:last-child{border-bottom:none}.history-top[data-v-238aa176]{display:flex;align-items:center;gap:12px}.history-week[data-v-238aa176]{font-weight:600;color:#5d1a32;font-size:14px;white-space:nowrap}.history-summary[data-v-238aa176]{flex:1;min-width:0;color:#8b5a6b;font-size:13px}.history-top .caret[data-v-238aa176]{flex-shrink:0;transition:transform .25s ease}.history-top .caret.open[data-v-238aa176]{transform:rotate(180deg)}.history-detail[data-v-238aa176]{margin-top:10px;padding:10px 4px 4px;border-top:1px dashed rgba(139,90,107,.1)}.slide-enter-active[data-v-238aa176],.slide-leave-active[data-v-238aa176]{transition:all .25s ease;overflow:hidden}.slide-enter[data-v-238aa176],.slide-leave-to[data-v-238aa176]{opacity:0;transform:translateY(-6px);max-height:0}.slide-enter-to[data-v-238aa176],.slide-leave[data-v-238aa176]{opacity:1;transform:translateY(0);max-height:400px}.toast[data-v-238aa176]{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:rgba(93,26,50,.92);color:#fff;padding:10px 22px;border-radius:24px;font-size:14px;z-index:500;box-shadow:0 6px 20px #0003}.fade-enter-active[data-v-238aa176],.fade-leave-active[data-v-238aa176]{transition:opacity .25s ease}.fade-enter[data-v-238aa176],.fade-leave-to[data-v-238aa176]{opacity:0}@media (max-width: 360px){.cover-bf .bf-name[data-v-238aa176]{font-size:15px;max-width:120px}.card[data-v-238aa176]{margin:12px 12px 4px;padding:16px 14px 18px}.cover-info[data-v-238aa176]{padding:12px}.preview-note.top-time-note[data-v-238aa176]{margin:0 12px 10px;padding:12px 13px 12px 15px;font-size:12.5px;line-height:1.7;border-left-width:2.5px;border-radius:12px}.preview-note[data-v-238aa176]{font-size:12px}}.settings-view[data-v-1151f4bc]{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;width:100%;background:#FFF5F7;overflow:hidden}.body-wrap[data-v-1151f4bc]{flex:1;overflow-y:auto;min-height:0;padding-bottom:calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.card[data-v-1151f4bc]{background:#FFFFFF;border-radius:16px;margin:12px 16px;padding:16px 20px;box-shadow:0 2px 12px #d6336c0f}.card-title[data-v-1151f4bc]{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#5d1a32;margin-bottom:12px}.info-row[data-v-1151f4bc]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;border-bottom:1px dashed rgba(139,90,107,.1)}.info-row[data-v-1151f4bc]:last-of-type{border-bottom:none}.info-k[data-v-1151f4bc]{color:#8b5a6b}.info-v[data-v-1151f4bc]{color:#5d1a32;font-size:14px;text-align:right}.points-value[data-v-1151f4bc]{color:#f57c00;font-size:18px}.points-row[data-v-1151f4bc]{display:inline-flex;align-items:center;gap:8px}.refresh-btn[data-v-1151f4bc]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(139,90,107,.2);background:rgba(255,255,255,.5);color:#8b5a6b;border-radius:50%;cursor:pointer;transition:all .2s ease}.refresh-btn[data-v-1151f4bc]:hover:not([disabled]){color:#d6336c;border-color:#d6336c;background:rgba(255,255,255,.8)}.refresh-btn[data-v-1151f4bc]:active:not([disabled]){transform:scale(.92)}.refresh-btn[disabled][data-v-1151f4bc]{opacity:.5;cursor:not-allowed}.refresh-spinner[data-v-1151f4bc]{display:inline-block;width:14px;height:14px;border:2px solid rgba(139,90,107,.2);border-top-color:#d6336c;border-radius:50%;animation:spin-data-v-1151f4bc .8s linear infinite}@keyframes spin-data-v-1151f4bc{to{transform:rotate(360deg)}}.points-desc[data-v-1151f4bc]{font-size:12px;color:#8b5a6b;margin-top:8px;line-height:1.5}.redeem-input-wrap[data-v-1151f4bc]{display:flex;gap:8px;margin-top:8px;align-items:stretch}.redeem-input[data-v-1151f4bc]{flex:1;min-width:0;padding:11px 12px;border:1px solid rgba(139,90,107,.2);border-radius:14px;font-size:14px;color:#5d1a32;background:rgba(255,255,255,.5)}.redeem-input[data-v-1151f4bc]::placeholder{color:#8b5a6b66}.redeem-input[data-v-1151f4bc]:focus{outline:none;border-color:#d6336c}.redeem-btn[data-v-1151f4bc]{flex-shrink:0;padding:11px 16px;background:#D6336C;color:#fff;font-weight:600;border-radius:14px;font-size:14px;text-align:center;border:none;max-width:40%}.redeem-btn[data-v-1151f4bc]:active:not([disabled]){transform:scale(.98);opacity:.9}.redeem-btn[disabled][data-v-1151f4bc]{opacity:.5;cursor:not-allowed}.redeem-desc[data-v-1151f4bc]{font-size:12px;color:#8b5a6b;margin-top:8px;line-height:1.5}.storage-bar-wrap[data-v-1151f4bc]{padding:10px 0 14px}.storage-bar[data-v-1151f4bc]{height:10px;background:rgba(139,90,107,.12);border-radius:5px;overflow:hidden}.storage-fill[data-v-1151f4bc]{height:100%;border-radius:5px;transition:width .4s ease,background .4s ease}.storage-fill.fill-normal[data-v-1151f4bc]{background:#66BB6A}.storage-fill.fill-soft[data-v-1151f4bc]{background:#FFCA28}.storage-fill.fill-warn[data-v-1151f4bc]{background:#FF8A65}.storage-fill.fill-danger[data-v-1151f4bc]{background:#E53935}.clean-btn[data-v-1151f4bc]{width:100%;padding:12px 16px;background:rgba(214,51,108,.12);color:#d6336c;font-weight:600;border-radius:14px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.clean-btn[data-v-1151f4bc]:active:not([disabled]){transform:scale(.98);opacity:.85}.clean-btn[disabled][data-v-1151f4bc]{opacity:.45;cursor:not-allowed}.modify-btn[data-v-1151f4bc]{width:100%;padding:13px 16px;background:rgba(214,51,108,.14);color:#d6336c;font-weight:600;border-radius:14px;font-size:15px}.modify-btn[data-v-1151f4bc]:active{transform:scale(.98);opacity:.85}.danger-card[data-v-1151f4bc]{background:linear-gradient(180deg,#FFF5F5 0%,#FFFFFF 70%)}.danger-tip[data-v-1151f4bc]{color:#c62828;font-size:13px;line-height:1.6;margin:0 0 12px}.logout-btn[data-v-1151f4bc]{width:100%;padding:12px 16px;background:#C2185B;color:#fff;font-weight:600;border-radius:14px;font-size:14px}.logout-btn[data-v-1151f4bc]:active{transform:scale(.98);opacity:.9}.toast[data-v-1151f4bc]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:rgba(93,26,50,.88);color:#fff;padding:10px 20px;border-radius:22px;font-size:14px;z-index:500;box-shadow:0 4px 20px #0003}.fade-enter-active[data-v-1151f4bc],.fade-leave-active[data-v-1151f4bc]{transition:opacity .25s ease}.fade-enter[data-v-1151f4bc],.fade-leave-to[data-v-1151f4bc]{opacity:0}.heart-mall-view[data-v-007cd9d7]{height:100%;display:flex;flex-direction:column;background:#FFF5F7}.body-wrap[data-v-007cd9d7]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.card[data-v-007cd9d7]{background:#FFFFFF;border-radius:16px;padding:16px 20px;margin:12px 16px;box-shadow:0 2px 12px #d6336c0f}.card-title[data-v-007cd9d7]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#5d1a32;margin-bottom:12px}.overflow-list[data-v-007cd9d7]{display:flex;flex-direction:column;gap:7px;max-width:100%}.overflow-row[data-v-007cd9d7]{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(68px,auto);column-gap:4px;row-gap:0;align-items:center;max-width:100%;min-width:0;overflow:hidden}@media (max-width: 360px){.overflow-row[data-v-007cd9d7]{grid-template-columns:38px minmax(0,1fr) minmax(66px,auto);column-gap:3px}}.dim-label[data-v-007cd9d7]{font-size:clamp(11.5px,3vw,13px);color:#8b5a6b;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:clip}.dim-bar[data-v-007cd9d7]{position:relative;height:8px;min-width:0;width:100%;background:rgba(139,90,107,.12);border-radius:4px;display:flex;align-items:stretch;overflow:hidden;gap:0;z-index:1}.dim-base[data-v-007cd9d7]{height:100%;border-radius:4px 0 0 4px;background:linear-gradient(90deg,#FF8FA3,#E11D48);flex:0 0 auto;margin:0;padding:0}.dim-bar:has(.dim-overflow) .dim-base[data-v-007cd9d7]{border-top-right-radius:0;border-bottom-right-radius:0}.dim-overflow[data-v-007cd9d7]{height:100%;border-radius:0 4px 4px 0;margin:0;padding:0;flex:0 0 auto;background:linear-gradient(90deg,#FFD700 0%,#FFB300 25%,#FFD700 50%,#FFA000 75%,#FFD700 100%);background-size:200% 100%;animation:mall-shimmer-data-v-007cd9d7 2s linear infinite;box-shadow:inset 0 0 #0000}@supports not selector(:has(*)){.dim-overflow[data-v-007cd9d7]{border-radius:4px}}@keyframes mall-shimmer-data-v-007cd9d7{0%{background-position:0 50%}to{background-position:200% 50%}}.dim-value-group[data-v-007cd9d7],.dim-val-wrap[data-v-007cd9d7]{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;min-width:0;width:100%;max-width:100%;white-space:nowrap;text-align:right;z-index:2}.dim-val[data-v-007cd9d7]{display:inline-flex;align-items:baseline;gap:2px;font-size:clamp(13px,3.4vw,14px);line-height:1.15;font-weight:700;color:#5d1a32;white-space:nowrap;word-break:keep-all}.dim-val .val-int[data-v-007cd9d7]{font-weight:700;color:inherit}.dim-val .val-plus[data-v-007cd9d7],.dim-val .plus-part[data-v-007cd9d7]{font-size:.8em;color:#b8860b;font-weight:700;margin-left:1px;white-space:nowrap}.dim-overflow-val[data-v-007cd9d7],.overflow-value-chip[data-v-007cd9d7]{font-size:clamp(11px,3vw,12px);color:#e6a23c;font-weight:600;white-space:nowrap;line-height:1.1}@media (max-width: 340px){.dim-val[data-v-007cd9d7]{font-size:12.5px}.dim-overflow-val[data-v-007cd9d7],.overflow-value-chip[data-v-007cd9d7]{font-size:10.5px}}.total-overflow-row[data-v-007cd9d7]{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(139,90,107,.18);display:flex;justify-content:space-between;align-items:center}.total-label[data-v-007cd9d7]{font-size:14px;color:#8b5a6b}.total-val[data-v-007cd9d7]{font-size:20px;font-weight:800;color:#b8860b;display:inline-flex;align-items:center;gap:6px}.points-row[data-v-007cd9d7]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:linear-gradient(135deg,#FFF0F3 0%,#FFE1E8 100%);border-radius:12px;margin-bottom:12px}.points-label[data-v-007cd9d7]{font-size:14px;color:#8b2635;font-weight:600}.points-value[data-v-007cd9d7]{font-size:22px;font-weight:800;color:#e11d48;display:inline-flex;align-items:center;gap:6px}.heart-ico[data-v-007cd9d7]{color:#e11d48;font-size:20px}.ratio-tip[data-v-007cd9d7]{font-size:13px;color:#8a6a74;line-height:1.7;text-align:left;background:rgba(214,51,108,.05);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;margin-bottom:14px}.ratio-tip b[data-v-007cd9d7]{color:#8b2635;font-weight:700}.ratio-tip .ratio-svg-row[data-v-007cd9d7]{display:inline-flex;align-items:center;gap:6px;flex-direction:row;width:100%}.ratio-tip .ratio-main-text[data-v-007cd9d7]{display:block;width:100%;text-align:left;line-height:1.7;word-break:break-word}.ratio-tip .ratio-exchange-text[data-v-007cd9d7]{display:block;width:100%;text-align:left;line-height:1.7;padding-left:20px;word-break:break-word}.exchange-actions[data-v-007cd9d7]{display:flex;flex-direction:column;gap:10px}.exchange-btn[data-v-007cd9d7]{padding:12px 14px;border-radius:12px;border:none;cursor:pointer;font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .2s ease,opacity .2s ease,background .2s ease}.exchange-btn[data-v-007cd9d7]:active:not([disabled]){transform:scale(.98)}.exchange-btn[disabled][data-v-007cd9d7]{opacity:.45;cursor:not-allowed}.exchange-btn-sm[data-v-007cd9d7]{background:rgba(214,51,108,.12);color:#c2185b;border:1px solid rgba(214,51,108,.2)}.exchange-btn-lg[data-v-007cd9d7]{background:#fff;color:#e11d48;border:1px solid rgba(214,51,108,.25)}.exchange-btn-lg.primary[data-v-007cd9d7]{background:linear-gradient(135deg,#E11D48 0%,#C2185B 100%);color:#fff;box-shadow:0 4px 12px #e11d4840;border:none}.exchange-btn .cost[data-v-007cd9d7]{font-size:12px;opacity:.85;font-weight:500}.placeholder-box[data-v-007cd9d7]{padding:22px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;background:linear-gradient(135deg,#FFF6F8 0%,#FFEAF0 100%);border-radius:12px}.placeholder-icon[data-v-007cd9d7]{width:68px;height:68px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:4px;box-shadow:0 2px 8px #d6336c1a}.placeholder-title[data-v-007cd9d7]{font-size:17px;font-weight:700;color:#8b2635}.placeholder-desc[data-v-007cd9d7]{font-size:13px;color:#8a6a74;line-height:1.6}.reward-list[data-v-007cd9d7]{display:flex;flex-direction:column;gap:12px}.reward-item[data-v-007cd9d7]{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(139,90,107,.12);border-radius:12px;background:#FFFAFB;position:relative}.reward-thumb[data-v-007cd9d7]{width:48px;height:48px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 1px 4px #d6336c14}.reward-thumb img[data-v-007cd9d7]{width:100%;height:100%;object-fit:cover}.reward-info[data-v-007cd9d7]{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;gap:0}.reward-name[data-v-007cd9d7]{font-size:15px;font-weight:700;color:#5d1a32;margin-bottom:4px}.reward-desc[data-v-007cd9d7]{font-size:12px;color:#8b5a6b;line-height:1.5;margin-bottom:4px}.reward-cost[data-v-007cd9d7]{font-size:13px;color:#e11d48;font-weight:600;display:flex;flex-direction:row;align-items:center;gap:4px;margin-top:6px;line-height:1.35}.heart-ico-sm[data-v-007cd9d7]{font-size:12px}.reward-thumb[data-v-007cd9d7]{width:48px;height:48px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FFF0F3 0%,#FFE1E8 100%);font-size:25px;line-height:1;flex-shrink:0;position:relative}.reward-thumb-emoji[data-v-007cd9d7]{display:inline-block}.coming-soon-overlay[data-v-007cd9d7]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;background:linear-gradient(135deg,rgba(255,250,252,.6) 0%,rgba(255,248,250,.55) 50%,rgba(255,246,250,.5) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.75);box-shadow:0 1px #ffffff8c inset,0 -1px #ffffff40 inset,0 4px 14px -2px #d6336c1a;z-index:5;border-radius:12px;overflow:hidden;color:#5d1a32;font-weight:800;letter-spacing:1px;will-change:filter;transform:translateZ(0);contain:layout paint}.coming-soon-overlay .coming-soon-text[data-v-007cd9d7]{font-size:19px;line-height:1.2;text-shadow:0 1px 0 rgba(255,255,255,.9),0 2px 6px rgba(255,218,230,.85)}.coming-soon-overlay .coming-soon-icon[data-v-007cd9d7]{font-size:20px;line-height:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}.coming-soon-overlay .coming-soon-ornament[data-v-007cd9d7]{font-size:12px;line-height:1;opacity:.85;letter-spacing:2px;text-shadow:0 0 6px rgba(255,205,220,.95)}@media (max-width: 360px){.coming-soon-overlay[data-v-007cd9d7]{gap:4px;padding:6px 4px}.coming-soon-overlay .coming-soon-text[data-v-007cd9d7]{font-size:17px;letter-spacing:.6px}.coming-soon-overlay .coming-soon-icon[data-v-007cd9d7]{font-size:18px}.coming-soon-overlay .coming-soon-ornament[data-v-007cd9d7]{font-size:11px;letter-spacing:1.5px}}@media (max-width: 330px){.coming-soon-overlay[data-v-007cd9d7]{gap:3px;padding:5px 3px}.coming-soon-overlay .coming-soon-text[data-v-007cd9d7]{font-size:16px;letter-spacing:.4px}.coming-soon-overlay .coming-soon-icon[data-v-007cd9d7]{font-size:16px}.coming-soon-overlay .coming-soon-ornament[data-v-007cd9d7]{font-size:10px;letter-spacing:1px}}.reward-status[data-v-007cd9d7]{margin-top:6px;font-size:13px;line-height:1.5;padding:6px 10px;border-radius:10px;display:inline-block}.reward-status.status-locked[data-v-007cd9d7]{background:rgba(120,90,100,.08);color:#6d5b64}.reward-status.status-available[data-v-007cd9d7]{background:rgba(225,29,72,.08);color:#8b2635;font-weight:600}.reward-status.status-owned[data-v-007cd9d7]{background:rgba(24,140,90,.08);color:#2e8b57;font-weight:600}.reward-redeem-btn[data-v-007cd9d7]{padding:8px 14px;border-radius:20px;border:none;background:#E11D48;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.reward-redeem-btn[data-v-007cd9d7]:active:not([disabled]){transform:scale(.96)}.reward-redeem-btn[disabled][data-v-007cd9d7]{opacity:.4;cursor:not-allowed;background:#bbb}.reward-redeem-btn.btn-coming-soon[disabled][data-v-007cd9d7]{opacity:.65;background:linear-gradient(135deg,#B39DDB,#90CAF9);color:#fff;letter-spacing:.3px}.reward-item-coming-soon[data-v-007cd9d7]{background:linear-gradient(135deg,#FFFAFB 0%,#F6F1FB 100%);border:1px dashed rgba(156,39,176,.3)}.reward-thumb[data-v-007cd9d7]{position:relative}.coming-soon-badge[data-v-007cd9d7]{position:absolute;left:-3px;top:-3px;font-size:10px;font-weight:700;line-height:1;padding:3px 6px;border-radius:8px;background:linear-gradient(135deg,#FF9800,#E91E63);color:#fff;box-shadow:0 1px 3px #00000026;letter-spacing:.3px}.coming-soon-tag[data-v-007cd9d7]{display:inline-block;margin-left:6px;font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px;background:rgba(156,39,176,.12);color:#6a1b9a;vertical-align:middle}.toast[data-v-007cd9d7]{position:fixed;left:50%;bottom:calc(140px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:82%;padding:10px 16px;background:rgba(60,20,40,.88);color:#fff;font-size:14px;border-radius:20px;z-index:200;line-height:1.5;text-align:center}.fade-enter-active[data-v-007cd9d7],.fade-leave-active[data-v-007cd9d7]{transition:opacity .25s ease}.fade-enter[data-v-007cd9d7],.fade-leave-to[data-v-007cd9d7]{opacity:0}.personality-dress-view[data-v-496a14dc]{height:100%;display:flex;flex-direction:column;background:#FFF5F7}.body-wrap[data-v-496a14dc]{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.card[data-v-496a14dc]{background:#FFFFFF;border-radius:16px;padding:16px 20px;margin:12px 16px;box-shadow:0 2px 12px #d6336c0f}.card-title[data-v-496a14dc]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#5d1a32;margin-bottom:14px}.preview-card .preview-avatar-wrap[data-v-496a14dc]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0 4px}.apply-hint[data-v-496a14dc]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:rgba(214,51,108,.08);color:#9b2c53;font-size:13px;line-height:1.6;margin-bottom:14px}.apply-hint-icon[data-v-496a14dc]{flex:0 0 16px;width:16px;height:16px;flex-shrink:0;display:block}.apply-hint-text[data-v-496a14dc]{flex:1;min-width:0;word-break:break-word}.msg-avatar[data-v-496a14dc]{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid #e5e7eb;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff}.msg-avatar.avatar-bf[data-v-496a14dc]{position:relative;overflow:visible;background:#fff;border:1.5px solid rgba(214,51,108,.35);box-shadow:0 2px 6px #5d1a321a}.bf-avatar-deco-wrap[data-v-496a14dc]{position:relative;width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center}.bf-heart-svg[data-v-496a14dc]{display:block;width:26px;height:26px;flex-shrink:0}.bf-avatar-deco-layer[data-v-496a14dc]{position:absolute;right:-10px;top:-8px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#fff;box-shadow:0 1px 5px #00000014;font-size:14px;transform:rotate(-6deg)}.bf-avatar-deco-layer.deco-crown[data-v-496a14dc],.bf-avatar-deco-layer.deco-star[data-v-496a14dc],.bf-avatar-deco-layer.deco-heart[data-v-496a14dc]{background:#fff}.preview-label[data-v-496a14dc]{font-size:14px;color:#8b5a6b}.locked-tip[data-v-496a14dc]{font-size:13px;line-height:1.6;padding:10px 12px;border-radius:10px;background:rgba(255,210,120,.18);color:#7a4e00;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:8px;margin-bottom:14px;word-break:break-word}.locked-tip b[data-v-496a14dc]{color:#b26a00;font-weight:700}.locked-tip .locked-tip-icon[data-v-496a14dc]{flex:0 0 16px;width:16px;height:16px;flex-shrink:0;margin-top:1px;display:block}.locked-tip .tip-text[data-v-496a14dc]{flex:1;min-width:0;text-align:left;direction:ltr;line-height:1.6;font-size:13px;display:block;word-break:break-word;word-wrap:break-word}@media (max-width: 360px){.locked-tip[data-v-496a14dc]{padding:9px 10px;gap:6px;font-size:12.5px;line-height:1.55;border-radius:10px}.locked-tip .tip-text[data-v-496a14dc]{font-size:12.5px;line-height:1.55}.locked-tip .locked-tip-icon[data-v-496a14dc]{width:15px;height:15px;flex-basis:15px}}.deco-options[data-v-496a14dc]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media (max-width: 340px){.deco-options[data-v-496a14dc]{grid-template-columns:repeat(2,minmax(0,1fr))}}.deco-options.bg-options[data-v-496a14dc]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}@media (max-width: 340px){.deco-options.bg-options[data-v-496a14dc]{grid-template-columns:1fr;gap:12px}}.bg-preview[data-v-496a14dc]{width:100%;height:88px;border-radius:12px;border:1.5px solid rgba(214,51,108,.16);box-sizing:border-box;margin-bottom:10px;overflow:hidden;position:relative}.bg-preview-default[data-v-496a14dc]{background:linear-gradient(180deg,#FFF5F7 0%,#FFE9EF 60%,#FFE1EC 100%)}.bg-preview-ice-dream[data-v-496a14dc]{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,1.00)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(8 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 18% 24%/clamp(7px,1.56vw,9px) clamp(7px,1.56vw,9px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.97)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(13 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 72% 34%/clamp(8px,1.68vw,9px) clamp(8px,1.68vw,9px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.95)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(4 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 44% 68%/clamp(7px,1.5vw,8px) clamp(7px,1.5vw,8px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.92)' stroke-width='6' stroke-linecap='round' fill='none' transform='rotate(11 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 88% 80%/clamp(8px,1.62vw,9px) clamp(8px,1.62vw,9px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.82)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(0 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 8% 50%/clamp(5px,1.28vw,7px) clamp(5px,1.28vw,7px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.76)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(6 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 58% 14%/clamp(5px,1.22vw,6px) clamp(5px,1.22vw,6px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.71)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(14 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 32% 86%/clamp(5px,1.16vw,6px) clamp(5px,1.16vw,6px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.73)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(9 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 82% 56%/clamp(6px,1.33vw,7px) clamp(6px,1.33vw,7px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.57)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(3 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 26% 8%/clamp(3px,.77vw,4px) clamp(3px,.77vw,4px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.44)' stroke-width='4.5' stroke-linecap='round' fill='none' transform='rotate(15 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 68% 90%/clamp(3px,.72vw,4px) clamp(3px,.72vw,4px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.50)' stroke-width='5' stroke-linecap='round' fill='none' transform='rotate(7 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 96% 20%/clamp(3px,.83vw,4px) clamp(3px,.83vw,4px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><desc>snowflake</desc><g stroke='rgba(255,255,255,0.40)' stroke-width='4.5' stroke-linecap='round' fill='none' transform='rotate(2 50 50)'><line x1='50' y1='8' x2='50' y2='92'/><line x1='8' y1='50' x2='92' y2='50'/><line x1='18' y1='18' x2='82' y2='82'/><line x1='82' y1='18' x2='18' y2='82'/><line x1='50' y1='8' x2='42' y2='22'/><line x1='50' y1='8' x2='58' y2='22'/><line x1='92' y1='50' x2='78' y2='42'/><line x1='92' y1='50' x2='78' y2='58'/><line x1='50' y1='92' x2='42' y2='78'/><line x1='50' y1='92' x2='58' y2='78'/><line x1='8' y1='50' x2='22' y2='42'/><line x1='8' y1='50' x2='22' y2='58'/></g></svg>") 14% 74%/clamp(3px,.66vw,4px) clamp(3px,.66vw,4px) no-repeat,linear-gradient(180deg,#EAF6FF 0%,#D9EEFF 55%,#C5E5FB 100%)}.bg-preview-sakura[data-v-496a14dc]{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-near-1-preview</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sP1_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FFF0F5' stop-opacity='1'/> <stop offset='62%' stop-color='%23FFB6C1' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23FFB6C1' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sP1_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFF8C0' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(-10 50 50)' opacity='0.9'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP1_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sP1_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFF8C0'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 16% 22%/clamp(11px,1.92vw,14px) clamp(11px,1.92vw,14px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-near-1-preview</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sP2_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFF4F8' stop-opacity='1'/> <stop offset='60%' stop-color='%23FFC2D1' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FFC2D1' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(18 50 50)' opacity='0.86'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sP2_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(15 50 50)'/> </g> </svg>") 76% 30%/clamp(10px,1.8vw,13px) clamp(10px,1.8vw,13px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-near-2-preview</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sP3_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FCE4EC' stop-opacity='1'/> <stop offset='62%' stop-color='%23F48FB1' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23F48FB1' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sP3_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFD54F' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(6 50 50)' opacity='0.83'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP3_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sP3_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFD54F'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 40% 82%/clamp(11px,2.04vw,14px) clamp(11px,2.04vw,14px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-mid-1-preview</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sP4_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFEEF3' stop-opacity='1'/> <stop offset='60%' stop-color='%23FFB0C4' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FFB0C4' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(-14 50 50)' opacity='0.75'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sP4_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(-20 50 50)'/> </g> </svg>") 58% 14%/clamp(7px,1.32vw,10px) clamp(7px,1.32vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-mid-1-preview</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sP5_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FFFBFC' stop-opacity='1'/> <stop offset='62%' stop-color='%23FFC0CB' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23FFC0CB' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sP5_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFF3B0' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(12 50 50)' opacity='0.7'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP5_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP5_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP5_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP5_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP5_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sP5_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFF3B0'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 30% 60%/clamp(8px,1.38vw,10px) clamp(8px,1.38vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-mid-2-preview</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sP6_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFF0F5' stop-opacity='1'/> <stop offset='60%' stop-color='%23F8BBD0' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23F8BBD0' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(-4 50 50)' opacity='0.66'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sP6_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(28 50 50)'/> </g> </svg>") 84% 74%/clamp(7px,1.26vw,10px) clamp(7px,1.26vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-mid-3-preview</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sP7_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='1'/> <stop offset='60%' stop-color='%23FCE4EC' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FCE4EC' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(22 50 50)' opacity='0.72'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sP7_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(-38 50 50)'/> </g> </svg>") 8% 50%/clamp(8px,1.32vw,10px) clamp(8px,1.32vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-cherry-blossom-far-1-preview</title> <desc>hand-drawn sakura cherry blossom 5-petal flower petal illustration</desc> <defs> <radialGradient id='sP8_petal' cx='50%' cy='32%' r='72%'> <stop offset='0%' stop-color='%23FCE4EC' stop-opacity='1'/> <stop offset='62%' stop-color='%23F8BBD0' stop-opacity='0.98'/> <stop offset='100%' stop-color='%23F8BBD0' stop-opacity='0.9'/> </radialGradient> <radialGradient id='sP8_center' cx='50%' cy='50%' r='50%'> <stop offset='0%' stop-color='%23FFECB3' stop-opacity='1'/> <stop offset='100%' stop-color='%23EF5350' stop-opacity='0.95'/> </radialGradient> </defs> <g transform='rotate(20 50 50)' opacity='0.54'> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP8_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(0 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP8_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(72 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP8_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(144 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP8_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(216 50 50)'/> <path d='M50 10 C 36 10, 26 22, 30 36 C 34 46, 44 48, 50 54 C 56 48, 66 46, 70 36 C 74 22, 64 10, 50 10 Z' fill='url(%23sP8_petal)' stroke='rgba(255,255,255,0.42)' stroke-width='0.8' stroke-linejoin='round' transform='rotate(288 50 50)'/> <circle cx='50' cy='50' r='7.2' fill='url(%23sP8_center)'/> <g stroke='%23EF5350' stroke-width='0.9' stroke-linecap='round' fill='%23FFECB3'> <line x1='50' y1='50' x2='46.5' y2='43.5'/><circle cx='46.2' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='53.5' y2='43.5'/><circle cx='53.8' cy='43.2' r='0.9'/> <line x1='50' y1='50' x2='43' y2='48'/><circle cx='42.4' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='57' y2='48'/><circle cx='57.6' cy='47.8' r='0.9'/> <line x1='50' y1='50' x2='50' y2='42.4'/><circle cx='50' cy='42' r='0.95'/> </g> </g> </svg>") 66% 54%/clamp(5px,.84vw,7px) clamp(5px,.84vw,7px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-far-1-preview</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sP9_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFE4EC' stop-opacity='1'/> <stop offset='60%' stop-color='%23FF9EB5' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FF9EB5' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(-22 50 50)' opacity='0.46'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sP9_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(36 50 50)'/> </g> </svg>") 24% 38%/clamp(4px,.72vw,7px) clamp(4px,.72vw,7px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>sakura-petal-far-2-preview</title> <desc>hand-drawn single sakura cherry petal falling illustration</desc> <defs> <linearGradient id='sP10_p' x1='0' y1='0' x2='1' y2='1'> <stop offset='0%' stop-color='%23FFF4F8' stop-opacity='1'/> <stop offset='60%' stop-color='%23FFC2D1' stop-opacity='0.97'/> <stop offset='100%' stop-color='%23FFC2D1' stop-opacity='0.88'/> </linearGradient> </defs> <g transform='rotate(30 50 50)' opacity='0.42'> <path d='M50 12 C 35 14, 22 30, 28 50 C 34 66, 46 72, 50 88 C 54 72, 66 66, 72 50 C 78 30, 65 14, 50 12 Z' fill='url(%23sP10_p)' stroke='rgba(255,255,255,0.38)' stroke-width='0.7' stroke-linejoin='round' transform='rotate(-10 50 50)'/> </g> </svg>") 50% 68%/clamp(4px,.69vw,6px) clamp(4px,.69vw,6px) no-repeat,linear-gradient(180deg,#FFFBFC 0%,#FFE9F1 55%,#FDE2EC 100%)}.bg-preview-butterfly[data-v-496a14dc]{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-near-1</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP1_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23AB47BC' stop-opacity='1'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%23AB47BC' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP1_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%238E24AA' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23CE93D8' stop-opacity='1'/> <stop offset='100%' stop-color='%238E24AA' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP1_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-8 50 50)' opacity='0.92'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP1_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP1_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP1_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP1_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP1_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP1_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP1_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP1_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 18% 24%/clamp(11px,1.92vw,14px) clamp(11px,1.92vw,14px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-near-2</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP2_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23BA68C8' stop-opacity='1'/> <stop offset='55%' stop-color='%23F3E5F5' stop-opacity='1'/> <stop offset='100%' stop-color='%23BA68C8' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP2_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP2_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(12 50 50)' opacity='0.89'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP2_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP2_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP2_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP2_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP2_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP2_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP2_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP2_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%236A1B9A'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%236A1B9A'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%236A1B9A' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%236A1B9A'/> <circle cx='64.5' cy='9' r='1.6' fill='%236A1B9A'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 74% 36%/clamp(11px,2.04vw,14px) clamp(11px,2.04vw,14px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-near-3</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP3_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23CE93D8' stop-opacity='1'/> <stop offset='55%' stop-color='%23FCE4FF' stop-opacity='1'/> <stop offset='100%' stop-color='%23CE93D8' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP3_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23AB47BC' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23F3E5F5' stop-opacity='1'/> <stop offset='100%' stop-color='%23AB47BC' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP3_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-2 50 50)' opacity='0.87'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP3_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP3_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP3_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP3_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP3_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP3_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP3_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP3_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%237B1FA2'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%237B1FA2'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%237B1FA2' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%237B1FA2'/> <circle cx='64.5' cy='9' r='1.6' fill='%237B1FA2'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 46% 82%/clamp(10px,1.8vw,14px) clamp(10px,1.8vw,14px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-mid-1</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP4_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='1'/> <stop offset='55%' stop-color='%23D1C4E9' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP4_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%237B1FA2' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23B39DDB' stop-opacity='1'/> <stop offset='100%' stop-color='%237B1FA2' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP4_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-14 50 50)' opacity='0.72'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP4_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP4_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP4_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP4_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP4_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP4_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP4_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP4_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 62% 18%/clamp(8px,1.32vw,11px) clamp(8px,1.32vw,11px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-mid-2</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP5_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='55%' stop-color='%23F8BBD0' stop-opacity='1'/> <stop offset='100%' stop-color='%23E1BEE7' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP5_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23BA68C8' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23F48FB1' stop-opacity='1'/> <stop offset='100%' stop-color='%23BA68C8' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP5_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(9 50 50)' opacity='0.76'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP5_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP5_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP5_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP5_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP5_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP5_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP5_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP5_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%23880E4F'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%23880E4F'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%23880E4F' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%23880E4F'/> <circle cx='64.5' cy='9' r='1.6' fill='%23880E4F'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 14% 60%/clamp(7px,1.26vw,10px) clamp(7px,1.26vw,10px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-mid-3</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP6_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23B39DDB' stop-opacity='1'/> <stop offset='55%' stop-color='%23EDE7F6' stop-opacity='1'/> <stop offset='100%' stop-color='%23B39DDB' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP6_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%237E57C2' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23D1C4E9' stop-opacity='1'/> <stop offset='100%' stop-color='%237E57C2' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP6_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-5 50 50)' opacity='0.68'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP6_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP6_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP6_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP6_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP6_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP6_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP6_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP6_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234527A0'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234527A0'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234527A0' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234527A0'/> <circle cx='64.5' cy='9' r='1.6' fill='%234527A0'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 88% 66%/clamp(8px,1.38vw,11px) clamp(8px,1.38vw,11px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-far-1</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP7_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23BA68C8' stop-opacity='1'/> <stop offset='55%' stop-color='%23F3E5F5' stop-opacity='1'/> <stop offset='100%' stop-color='%23BA68C8' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP7_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP7_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(6 50 50)' opacity='0.52'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP7_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP7_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP7_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP7_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP7_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP7_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP7_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP7_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%236A1B9A'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%236A1B9A'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%236A1B9A' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%236A1B9A'/> <circle cx='64.5' cy='9' r='1.6' fill='%236A1B9A'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 34% 46%/clamp(5px,.87vw,7px) clamp(5px,.87vw,7px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-far-2</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP8_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%239C27B0' stop-opacity='1'/> <stop offset='55%' stop-color='%23D1C4E9' stop-opacity='1'/> <stop offset='100%' stop-color='%239C27B0' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP8_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%237B1FA2' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23B39DDB' stop-opacity='1'/> <stop offset='100%' stop-color='%237B1FA2' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP8_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(-11 50 50)' opacity='0.44'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP8_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP8_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP8_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP8_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP8_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP8_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP8_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP8_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 56% 68%/clamp(5px,.78vw,7px) clamp(5px,.78vw,7px) no-repeat,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <title>butterfly-preview-far-3</title> <desc>Purple gradient butterfly wings spread - butterfly SVG graphic</desc> <defs><linearGradient id='bP9_u' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%23AB47BC' stop-opacity='1'/> <stop offset='55%' stop-color='%23E1BEE7' stop-opacity='1'/> <stop offset='100%' stop-color='%23AB47BC' stop-opacity='0.92'/> </linearGradient> <linearGradient id='bP9_l' x1='0' y1='0' x2='0' y2='1'> <stop offset='0%' stop-color='%238E24AA' stop-opacity='0.96'/> <stop offset='55%' stop-color='%23CE93D8' stop-opacity='1'/> <stop offset='100%' stop-color='%238E24AA' stop-opacity='0.9'/> </linearGradient> <radialGradient id='bP9_g' cx='50%' cy='40%' r='65%'> <stop offset='0%' stop-color='%23FFFFFF' stop-opacity='0.55'/> <stop offset='70%' stop-color='%23FFFFFF' stop-opacity='0'/> </radialGradient></defs> <g transform='rotate(14 50 50)' opacity='0.48'> <!-- 上左翅 upper L --> <g transform='rotate(-12 26 38)'> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP9_u)'/> <ellipse cx='26' cy='38' rx='22' ry='18' fill='url(%23bP9_g)'/> </g> <!-- 上右翅 upper R --> <g transform='rotate(12 74 38)'> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP9_u)'/> <ellipse cx='74' cy='38' rx='22' ry='18' fill='url(%23bP9_g)'/> </g> <!-- 下左翅 lower L --> <g transform='rotate(8 32 64)'> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP9_l)'/> <ellipse cx='32' cy='64' rx='17' ry='14' fill='url(%23bP9_g)'/> </g> <!-- 下右翅 lower R --> <g transform='rotate(-8 68 64)'> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP9_l)'/> <ellipse cx='68' cy='64' rx='17' ry='14' fill='url(%23bP9_g)'/> </g> <!-- 翅脉 wing veins --> <g stroke='rgba(255,255,255,0.55)' stroke-width='1' stroke-linecap='round' fill='none'> <path d='M26 26 Q33 34 32 46'/> <path d='M74 26 Q67 34 68 46'/> <path d='M22 38 Q30 40 40 46'/> <path d='M78 38 Q70 40 60 46'/> <path d='M32 54 Q36 60 36 70'/> <path d='M68 54 Q64 60 64 70'/> </g> <!-- 身体 body --> <path d='M50 24 C 52.5 34, 52.8 56, 51 80 C 49 80, 47.2 56, 47.5 34 C 48 28, 49.2 24, 50 24 Z' fill='%234A148C'/> <!-- 头 head --> <circle cx='50' cy='22' r='4.6' fill='%234A148C'/> <!-- 眼 eyes --> <circle cx='48.1' cy='21.5' r='0.9' fill='%23fff'/> <circle cx='51.9' cy='21.5' r='0.9' fill='%23fff'/> <!-- 触角 antennae + bulb --> <g stroke='%234A148C' stroke-width='1.4' stroke-linecap='round' fill='none'> <path d='M49 19.5 Q 41 12, 35.5 9'/> <path d='M51 19.5 Q 59 12, 64.5 9'/> </g> <circle cx='35.5' cy='9' r='1.6' fill='%234A148C'/> <circle cx='64.5' cy='9' r='1.6' fill='%234A148C'/> <!-- 翅尖光 highlight dots --> <g fill='rgba(255,255,255,0.82)'> <circle cx='15' cy='36' r='1.8'/> <circle cx='85' cy='36' r='1.8'/> <circle cx='23' cy='70' r='1.3'/> <circle cx='77' cy='70' r='1.3'/> </g> </g> </svg>") 8% 14%/clamp(5px,.84vw,7px) clamp(5px,.84vw,7px) no-repeat,linear-gradient(180deg,#F5EEF8 0%,#E8DEF8 55%,#D1C4E9 100%)}.bg-item.active .bg-preview[data-v-496a14dc]{box-shadow:0 0 0 2.5px #e11d4859,0 2px 8px #d6336c26}.bg-item.locked .bg-preview[data-v-496a14dc]{filter:saturate(.6) brightness(.96);opacity:.93}.deco-item[data-v-496a14dc]{background:#fff;border:1.5px solid rgba(214,51,108,.12);border-radius:14px;padding:12px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.deco-item[data-v-496a14dc]:active:not([disabled]){transform:scale(.98)}.deco-item.active[data-v-496a14dc]{border-color:#e11d48;box-shadow:0 0 0 3px #e11d481f}.deco-item.locked[data-v-496a14dc],.deco-item[disabled][data-v-496a14dc]{opacity:.55;cursor:not-allowed}.deco-avatar[data-v-496a14dc]{position:relative;width:52px;height:52px;border-radius:50%;background:#fff;border:1.5px solid rgba(214,51,108,.35);box-shadow:0 2px 6px #5d1a321a;display:inline-flex;align-items:center;justify-content:center}.deco-avatar-with-deco .deco-layer-inline[data-v-496a14dc]{position:absolute;right:-2px;top:-4px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#fff;box-shadow:0 1px 5px #00000014;font-size:14px}.deco-label[data-v-496a14dc]{font-size:13px;font-weight:700;color:#5d1a32}.deco-hint[data-v-496a14dc]{font-size:11px;color:#8b5a6b;text-align:center;line-height:1.4}.bubble-options[data-v-496a14dc]{gap:10px 12px}.bubble-item[data-v-496a14dc]{flex-direction:column}.bubble-preview[data-v-496a14dc]{width:100%;height:84px;border-radius:14px;padding:7px 8px;background:linear-gradient(180deg,#FFFDFE 0%,#FFF5F7 100%);border:1px solid rgba(214,51,108,.08);display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;overflow:hidden}.bubble-preview .bp-me[data-v-496a14dc]{align-self:flex-end;max-width:70%;padding:4px 8px;font-size:10px;line-height:1.35;border-radius:12px;word-break:break-all}.bubble-preview .bp-bf[data-v-496a14dc]{align-self:flex-start;max-width:72%;padding:4px 8px;font-size:10px;line-height:1.35;border-radius:12px;word-break:break-all}.bubble-preview-default .bp-me[data-v-496a14dc]{background:#D6336C;color:#fff;border-top-right-radius:4px}.bubble-preview-default .bp-bf[data-v-496a14dc]{background:#F4ECF5;color:#333;border-top-left-radius:4px}.bubble-preview-frosty .bp-me[data-v-496a14dc]{background:linear-gradient(180deg,#F8FCFF 0%,#EEF7FF 42%,#D9EEFF 100%);color:#0f172a;border-top-right-radius:4px;box-shadow:inset 2px 0 8px #80dcf038,inset 0 3px 10px #8cd2f02e}.bubble-preview-frosty .bp-bf[data-v-496a14dc]{background:rgba(200,215,232,.62);color:#1a2238;border-top-left-radius:4px;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.bubble-preview-blossom .bp-me[data-v-496a14dc]{background-image:repeating-radial-gradient(circle at 22% 30%,rgba(180,120,130,.05) 0 1px,transparent 1.4px 3px),repeating-radial-gradient(circle at 70% 68%,rgba(200,140,150,.045) 0 1px,transparent 1.3px 3.4px),linear-gradient(180deg,#FFF7F4 0%,#FFE9E2 55%,#FFE0DC 100%);background-color:#ffe8e1;color:#5c2d2a;border-radius:12px 3px 1px 12px}.bubble-preview-blossom .bp-bf[data-v-496a14dc]{background:#FFF8EE;color:#4b2e2a;border-radius:3px 12px 12px 1px}.bubble-preview-starmist .bp-me[data-v-496a14dc]{background:linear-gradient(180deg,#F3EEFB 0%,#EDE7F6 55%,#DCD1F4 100%);color:#3c1f61;border-radius:12px 6px 2px 10px;border-left:1px solid rgba(190,170,230,.3);box-shadow:0 3px 9px #a88cdc38,0 1px 3px #b496e62e}.bubble-preview-starmist .bp-bf[data-v-496a14dc]{background:linear-gradient(180deg,#FBF9FF 0%,#F3F0F8 50%,#EEE9F5 100%);color:#37294a;border-radius:6px 12px 10px 2px;border-right:1px solid rgba(200,190,230,.24);box-shadow:0 1px 4px #aaa0d22e,inset 0 1px #ffffffd9}.toast[data-v-496a14dc]{position:fixed;left:50%;bottom:calc(140px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:82%;padding:10px 16px;background:rgba(60,20,40,.88);color:#fff;font-size:14px;border-radius:20px;z-index:200;line-height:1.5;text-align:center}.fade-enter-active[data-v-496a14dc],.fade-leave-active[data-v-496a14dc]{transition:opacity .25s ease}.fade-enter[data-v-496a14dc],.fade-leave-to[data-v-496a14dc]{opacity:0}.theme-palette-card.palette-card[data-v-496a14dc]{position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#FFFBFC 0%,#FFE9F1 100%);border:1px dashed rgba(214,51,108,.3)}.card-title[data-v-496a14dc]{position:relative}.card-wip-tag[data-v-496a14dc]{display:inline-block;margin-left:8px;font-size:11px;font-weight:600;line-height:1;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,#FF9800,#E91E63);color:#fff;letter-spacing:.3px;vertical-align:middle}.wip-hint.apply-hint[data-v-496a14dc]{background:rgba(214,51,108,.08);color:#9b2c53;border-radius:10px}.wip-hint.apply-hint .apply-hint-icon[data-v-496a14dc]{stroke:#d6336c}.wip-tip.locked-tip[data-v-496a14dc]{background:rgba(214,51,108,.06);color:#7a203f}.wip-tip.locked-tip .locked-tip-icon[data-v-496a14dc]{stroke:#b26a00}.wip-tip.locked-tip .tip-text b[data-v-496a14dc]{color:#ad1457}.wip-hint-text.deco-hint[data-v-496a14dc]{color:#ad1457;font-weight:600}.palette-preview[data-v-496a14dc]{width:72px;height:48px;border-radius:12px;background:#fff;display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;gap:3px;padding:6px;box-shadow:0 1px 4px #d6336c26;border:1px solid rgba(214,51,108,.12);overflow:hidden}.palette-swatch[data-v-496a14dc]{flex:1 1 auto;min-width:0;border-radius:6px;display:block}.swatch-pink[data-v-496a14dc]{background:#FFE0EC}.swatch-rose[data-v-496a14dc]{background:#EC407A}.swatch-red[data-v-496a14dc]{background:#880E4F}.palette-preview-default.theme-ice[data-v-496a14dc]{box-shadow:0 1px 4px #1e88e529;border-color:#1e88e526}.palette-preview-ice.theme-ice[data-v-496a14dc]{box-shadow:0 1px 4px #1e88e533;border-color:#1e88e540}.palette-preview-sakura.theme-sakura[data-v-496a14dc]{box-shadow:0 1px 4px #ec407a33;border-color:#ec407a40}.palette-preview-night.theme-night[data-v-496a14dc]{box-shadow:0 1px 4px #8e24aa33;border-color:#8e24aa40}.palette-item.theme-item.theme-coming-soon[data-v-496a14dc]{opacity:.82;filter:saturate(.86)}.coming-soon-overlay[data-v-496a14dc]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;background:linear-gradient(135deg,rgba(255,250,252,.6) 0%,rgba(255,248,250,.55) 50%,rgba(255,246,250,.5) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.75);box-shadow:0 1px #ffffff8c inset,0 -1px #ffffff40 inset,0 4px 14px -2px #d6336c1a;z-index:5;border-radius:12px;overflow:hidden;color:#5d1a32;font-weight:800;letter-spacing:1px;will-change:filter;transform:translateZ(0);contain:layout paint}.coming-soon-overlay .coming-soon-text[data-v-496a14dc]{font-size:19px;line-height:1.2;text-shadow:0 1px 0 rgba(255,255,255,.9),0 2px 6px rgba(255,218,230,.85)}.coming-soon-overlay .coming-soon-icon[data-v-496a14dc]{font-size:20px;line-height:1;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}.coming-soon-overlay .coming-soon-ornament[data-v-496a14dc]{font-size:12px;line-height:1;opacity:.85;letter-spacing:2px;text-shadow:0 0 6px rgba(255,205,220,.95)}@media (max-width: 360px){.coming-soon-overlay[data-v-496a14dc]{gap:4px;padding:6px 4px}.coming-soon-overlay .coming-soon-text[data-v-496a14dc]{font-size:17px;letter-spacing:.6px}.coming-soon-overlay .coming-soon-icon[data-v-496a14dc]{font-size:18px}.coming-soon-overlay .coming-soon-ornament[data-v-496a14dc]{font-size:11px;letter-spacing:1.5px}}@media (max-width: 330px){.coming-soon-overlay[data-v-496a14dc]{gap:3px;padding:5px 3px}.coming-soon-overlay .coming-soon-text[data-v-496a14dc]{font-size:16px;letter-spacing:.4px}.coming-soon-overlay .coming-soon-icon[data-v-496a14dc]{font-size:16px}.coming-soon-overlay .coming-soon-ornament[data-v-496a14dc]{font-size:10px;letter-spacing:1px}}.profile-setup-view[data-v-11d13bea]{flex:1;min-height:0;width:100%;background:#FFF5F7;position:relative;background-image:linear-gradient(90deg,rgba(214,51,108,.08) 0%,transparent 8%,transparent 92%,rgba(214,51,108,.08) 100%);overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:calc(20px + env(safe-area-inset-top)) 18px calc(36px + env(safe-area-inset-bottom))}.top-back-btn[data-v-11d13bea]{position:absolute;top:10px;left:10px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:3;transition:background .18s ease,transform .18s ease}.top-back-btn[data-v-11d13bea]:active{background:rgba(214,51,108,.1);transform:scale(.96)}.content-card[data-v-11d13bea]{background:#fff;border-radius:22px;padding:26px 20px 24px;box-shadow:0 6px 24px #d6336c14;max-width:400px;margin:0 auto;position:relative}.hero[data-v-11d13bea]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.hero-heart[data-v-11d13bea]{width:64px;height:64px;border-radius:50%;background:rgba(214,51,108,.08);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.hero-heart svg[data-v-11d13bea]{width:32px;height:32px}.hero-title[data-v-11d13bea]{margin:0 0 6px;font-size:24px;font-weight:700;color:#5d1a32;letter-spacing:.3px}.hero-subtitle[data-v-11d13bea]{margin:0;font-size:13px;color:#8b5a6b}.form-block[data-v-11d13bea]{margin-bottom:12px}.form-label[data-v-11d13bea]{display:block;font-size:14px;font-weight:600;color:#5d1a32;margin-bottom:6px}.form-label .hint[data-v-11d13bea]{color:#b08494;font-weight:400;font-size:12px;margin-left:4px}.form-row[data-v-11d13bea]{display:flex;gap:10px}.form-row .half[data-v-11d13bea]{width:calc(50% - 5px)}.form-input[data-v-11d13bea]{width:100%;padding:10px 14px;border:1.5px solid rgba(139,90,107,.18);border-radius:12px;font-size:14px;color:#5d1a32;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.form-input[data-v-11d13bea]:focus{border-color:#d6336c;background:#FFFAFB;box-shadow:0 0 0 3px #d6336c14;outline:none}.form-input[data-v-11d13bea]::placeholder{color:#b08494;font-size:13px}.date-input[data-v-11d13bea]{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;min-height:38px}.custom-select[data-v-11d13bea]{position:relative}.select-trigger[data-v-11d13bea]{width:100%;padding:10px 14px;border:1.5px solid rgba(139,90,107,.18);border-radius:12px;background:#fff;font-size:14px;color:#5d1a32;display:flex;align-items:center;justify-content:space-between;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.select-trigger .select-value.placeholder[data-v-11d13bea]{color:#b08494}.select-trigger .caret[data-v-11d13bea]{width:16px;height:16px;transition:transform .2s ease;flex-shrink:0;margin-left:6px}.select-trigger[data-v-11d13bea]:focus,.select-trigger[data-v-11d13bea]:focus-visible{outline:none;border-color:#d6336c;background:#FFFAFB;box-shadow:0 0 0 3px #d6336c14}.custom-select.open .select-trigger .caret[data-v-11d13bea]{transform:rotate(180deg)}.custom-select.open .select-trigger[data-v-11d13bea]{border-color:#d6336c;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.select-menu[data-v-11d13bea]{position:absolute;top:calc(100% - 2px);left:0;right:0;background:#fff;border:1.5px solid #D6336C;border-top:none;border-bottom-left-radius:12px;border-bottom-right-radius:12px;padding:4px 4px 6px;margin:0;list-style:none;z-index:30;box-shadow:0 8px 20px #5d1a3226;max-height:200px;overflow-y:auto}.select-option[data-v-11d13bea]{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:#5d1a32;transition:background .15s ease,color .15s ease}.select-option.selected[data-v-11d13bea]{background:#7C4DFF;color:#fff;font-weight:600}.select-option[data-v-11d13bea]:not(.selected):hover,.select-option[data-v-11d13bea]:not(.selected):active{background:rgba(124,77,255,.08)}.select-option .opt-text[data-v-11d13bea]{flex:1;min-width:0}.select-option .check[data-v-11d13bea]{flex-shrink:0;width:16px;height:16px}.dd-enter-active[data-v-11d13bea],.dd-leave-active[data-v-11d13bea]{transition:opacity .16s ease,transform .16s ease}.dd-enter[data-v-11d13bea],.dd-leave-to[data-v-11d13bea]{opacity:0;transform:translateY(-4px)}.chip-grid[data-v-11d13bea]{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.chip[data-v-11d13bea]{padding:8px 10px;border-radius:10px;border:1.5px solid rgba(139,90,107,.18);background:#fff;color:#5d1a32;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:all .18s ease;cursor:pointer}.chip[data-v-11d13bea]:active:not(.selected){transform:scale(.98)}.chip.selected[data-v-11d13bea]{background:#7C4DFF;border-color:#7c4dff;color:#fff;font-weight:600;box-shadow:0 2px 8px #7c4dff40}.chip .chip-check[data-v-11d13bea]{width:12px;height:12px}.submit-btn[data-v-11d13bea]{margin-top:14px;width:100%;padding:12px 16px;border-radius:14px;background:#D6336C;color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;box-shadow:0 4px 12px #d6336c47}.submit-btn[data-v-11d13bea]:active{transform:scale(.98);opacity:.92;box-shadow:0 2px 8px #d6336c38}.submit-btn svg[data-v-11d13bea]{width:20px;height:20px}.toast[data-v-11d13bea]{position:fixed;bottom:60px;left:50%;transform:translate(-50%);background:rgba(93,26,50,.9);color:#fff;padding:8px 16px;border-radius:18px;font-size:13px;z-index:500;box-shadow:0 4px 16px #0000002e}.fade-enter-active[data-v-11d13bea],.fade-leave-active[data-v-11d13bea]{transition:opacity .25s ease}.fade-enter[data-v-11d13bea],.fade-leave-to[data-v-11d13bea]{opacity:0}.date-section[data-v-11d13bea]{background:rgba(214,51,108,.04);border-radius:14px;padding:14px;margin-bottom:14px;border:1px solid rgba(214,51,108,.1)}.section-header[data-v-11d13bea]{display:flex;align-items:center;gap:6px;margin-bottom:12px}.section-header svg[data-v-11d13bea]{width:16px;height:16px}.section-title[data-v-11d13bea]{font-size:14px;font-weight:700;color:#5d1a32}.date-grid[data-v-11d13bea]{display:grid;gap:6px}.memory-section[data-v-11d13bea]{background:rgba(124,77,255,.04);border-radius:14px;padding:14px;margin-bottom:14px;border:1px solid rgba(124,77,255,.1)}.section-desc[data-v-11d13bea]{margin:2px 0 10px 22px;font-size:12px;color:#8b5a6b;line-height:1.4}.memory-grid[data-v-11d13bea]{display:grid;gap:8px}.form-textarea[data-v-11d13bea]{resize:none;min-height:52px;line-height:1.4}.boundary-modal-overlay[data-v-11d13bea]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.boundary-modal[data-v-11d13bea]{background:#fff;border-radius:20px;width:100%;max-width:360px;overflow:hidden;box-shadow:0 20px 60px #0003}.boundary-modal-header[data-v-11d13bea]{background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);padding:20px;display:flex;align-items:center;gap:10px}.boundary-modal-title[data-v-11d13bea]{margin:0;font-size:18px;font-weight:700;color:#fff}.boundary-modal-body[data-v-11d13bea]{padding:20px}.boundary-modal-text[data-v-11d13bea]{margin:0 0 16px;font-size:14px;color:#5d1a32;line-height:1.7;text-align:justify}.boundary-modal-tips[data-v-11d13bea]{background:rgba(214,51,108,.04);border-radius:12px;padding:14px}.boundary-modal-tips p[data-v-11d13bea]{margin:6px 0;font-size:13px;color:#8b5a6b;line-height:1.6}.tip-icon[data-v-11d13bea]{color:#d6336c;margin-right:6px}.boundary-modal-footer[data-v-11d13bea]{padding:0 20px 20px}.boundary-modal-btn-primary[data-v-11d13bea]{width:100%;padding:11px 16px;border-radius:12px;background:#D6336C;color:#fff;font-size:14px;font-weight:700;transition:all .18s ease;box-shadow:0 4px 12px #d6336c47}.boundary-modal-btn-primary[data-v-11d13bea]:active{transform:scale(.98);opacity:.92;box-shadow:0 2px 8px #d6336c38}.persona-section[data-v-11d13bea]{background:rgba(251,191,36,.04);border-radius:14px;padding:14px;margin-bottom:14px;border:1px solid rgba(251,191,36,.1)}.persona-info[data-v-11d13bea]{margin-bottom:10px}.persona-count[data-v-11d13bea]{font-size:12px;color:#d6336c;font-weight:600}.persona-count.persona-count-empty[data-v-11d13bea]{color:#f59e0b}.persona-count.persona-count-inactive[data-v-11d13bea]{color:#b08494}.persona-count.persona-count-ready[data-v-11d13bea]{color:#10b981;font-weight:700}.persona-btn[data-v-11d13bea]{width:100%;padding:10px 14px;border-radius:12px;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .18s ease;box-shadow:0 4px 12px #fbbf244d}.persona-btn[data-v-11d13bea]:active:not(.disabled){transform:scale(.98);opacity:.92;box-shadow:0 2px 8px #fbbf2438}.persona-btn.disabled[data-v-11d13bea]{opacity:.5;cursor:not-allowed}.persona-spinner[data-v-11d13bea]{animation:spin-data-v-11d13bea 1s linear infinite}@keyframes spin-data-v-11d13bea{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.persona-display-area[data-v-11d13bea]{margin-top:20px;padding:16px;background:rgba(254,226,232,.6);border-radius:14px;border:1px solid rgba(233,178,190,.4)}.persona-display-header[data-v-11d13bea]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.persona-display-title[data-v-11d13bea]{font-size:15px;font-weight:700;color:#8b5a6b}.persona-display-count[data-v-11d13bea]{font-size:12px;color:#9ca3af}.persona-display-textarea[data-v-11d13bea]{width:100%;min-height:100px;padding:12px;border:1px solid rgba(233,178,190,.5);border-radius:10px;font-size:14px;color:#4b5563;line-height:1.6;resize:vertical;background:rgba(255,255,255,.8);transition:all .18s ease}.persona-display-textarea[data-v-11d13bea]:focus{outline:none;border-color:#e11d48;box-shadow:0 0 0 3px #e11d481a;background:#fff}.persona-display-textarea[readonly][data-v-11d13bea]{background:#f3f4f6;color:#6b7280;cursor:default}.persona-display-textarea[readonly][data-v-11d13bea]:focus{border-color:#e9b2be80;box-shadow:none;background:#f3f4f6}.persona-modal-overlay[data-v-11d13bea]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.persona-modal[data-v-11d13bea]{background:#fff;border-radius:20px;width:100%;max-width:360px;overflow:hidden;box-shadow:0 20px 60px #0003}.persona-modal-header[data-v-11d13bea]{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.persona-modal-title[data-v-11d13bea]{margin:0;font-size:16px;font-weight:700;color:#fff}.persona-modal-close[data-v-11d13bea]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;transition:all .18s ease}.persona-modal-close[data-v-11d13bea]:active{background:rgba(255,255,255,.3);transform:scale(.96)}.persona-modal-body[data-v-11d13bea]{padding:20px;max-height:40vh;overflow-y:auto}.persona-content[data-v-11d13bea]{font-size:14px;color:#5d1a32;line-height:1.7;text-align:justify}.persona-modal-footer[data-v-11d13bea]{padding:0 20px 20px;display:flex;gap:10px}.persona-modal-btn-secondary[data-v-11d13bea]{flex:1;padding:10px 14px;border-radius:12px;background:#f3f4f6;color:#8b5a6b;font-size:14px;font-weight:600;transition:all .18s ease}.persona-modal-btn-secondary[data-v-11d13bea]:active{background:#e5e7eb;transform:scale(.98)}.persona-modal-btn-primary[data-v-11d13bea]{flex:1;padding:10px 14px;border-radius:12px;background:#D6336C;color:#fff;font-size:14px;font-weight:700;transition:all .18s ease;box-shadow:0 4px 12px #d6336c47}.persona-modal-btn-primary[data-v-11d13bea]:active{transform:scale(.98);opacity:.92;box-shadow:0 2px 8px #d6336c38}.redeem-modal-overlay[data-v-11d13bea]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.redeem-modal[data-v-11d13bea]{background:#fff;border-radius:20px;width:100%;max-width:360px;overflow:hidden;box-shadow:0 20px 60px #0003}.redeem-modal-header[data-v-11d13bea]{background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);padding:16px 20px;display:flex;align-items:center;gap:10px}.redeem-modal-title[data-v-11d13bea]{flex:1;margin:0;font-size:16px;font-weight:700;color:#fff}.redeem-modal-close[data-v-11d13bea]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;transition:all .18s ease}.redeem-modal-close[data-v-11d13bea]:active{background:rgba(255,255,255,.3);transform:scale(.96)}.redeem-modal-body[data-v-11d13bea]{padding:20px}.redeem-modal-desc[data-v-11d13bea]{margin:0 0 12px;font-size:13px;color:#8b5a6b;line-height:1.5}.redeem-modal-input[data-v-11d13bea]{width:100%;padding:12px 14px;border:1.5px solid rgba(139,90,107,.18);border-radius:12px;font-size:14px;color:#5d1a32;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.redeem-modal-input[data-v-11d13bea]:focus{border-color:#d6336c;box-shadow:0 0 0 3px #d6336c14;outline:none}.redeem-modal-input[data-v-11d13bea]::placeholder{color:#b08494}.redeem-modal-footer[data-v-11d13bea]{padding:0 20px 20px;display:flex;gap:10px}.redeem-modal-btn-secondary[data-v-11d13bea]{flex:1;padding:10px 14px;border-radius:12px;background:#f3f4f6;color:#8b5a6b;font-size:14px;font-weight:600;transition:all .18s ease}.redeem-modal-btn-secondary[data-v-11d13bea]:active{background:#e5e7eb;transform:scale(.98)}.redeem-modal-btn-primary[data-v-11d13bea]{flex:1;padding:10px 14px;border-radius:12px;background:#D6336C;color:#fff;font-size:14px;font-weight:700;transition:all .18s ease;box-shadow:0 4px 12px #d6336c47}.redeem-modal-btn-primary[data-v-11d13bea]:active:not([disabled]){transform:scale(.98);opacity:.92;box-shadow:0 2px 8px #d6336c38}.redeem-modal-btn-primary[disabled][data-v-11d13bea]{opacity:.5;cursor:not-allowed}.reset-confirm-overlay[data-v-11d13bea]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.reset-confirm-modal[data-v-11d13bea]{background:#fff;border-radius:20px;width:100%;max-width:320px;overflow:hidden;box-shadow:0 20px 60px #0003}.reset-confirm-header[data-v-11d13bea]{padding:20px 20px 12px;display:flex;align-items:center;gap:10px}.reset-confirm-title[data-v-11d13bea]{margin:0;font-size:17px;font-weight:700;color:#5d1a32}.reset-confirm-body[data-v-11d13bea]{padding:0 20px 20px}.reset-confirm-text[data-v-11d13bea]{margin:0;font-size:14px;color:#8b5a6b;line-height:1.6}.reset-confirm-footer[data-v-11d13bea]{padding:0 20px 20px;display:flex;gap:10px}.reset-confirm-btn-secondary[data-v-11d13bea]{flex:1;padding:10px 14px;border-radius:12px;background:#f3f4f6;color:#8b5a6b;font-size:14px;font-weight:600;transition:all .18s ease}.reset-confirm-btn-secondary[data-v-11d13bea]:active{background:#e5e7eb;transform:scale(.98)}.reset-confirm-btn-primary[data-v-11d13bea]{flex:1;padding:10px 14px;border-radius:12px;background:#D6336C;color:#fff;font-size:14px;font-weight:700;transition:all .18s ease;box-shadow:0 4px 12px #d6336c47}.reset-confirm-btn-primary[data-v-11d13bea]:active{transform:scale(.98);opacity:.92;box-shadow:0 2px 8px #d6336c38}@media (max-width: 360px){.profile-setup-view[data-v-11d13bea]{padding:calc(16px + env(safe-area-inset-top)) 12px calc(28px + env(safe-area-inset-bottom))}.content-card[data-v-11d13bea]{padding:20px 16px;border-radius:18px}.hero-title[data-v-11d13bea]{font-size:22px}.chip-grid[data-v-11d13bea]{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-view[data-v-79d0f72f],.login-view[data-v-79d0f72f]{width:100%;height:100%;min-height:0;flex:1;display:flex;background:#fff1f5;background:linear-gradient(180deg,#ffe5ec 0%,#ffd6e4 55%,#ffc9db 100%)}.auth-stage[data-v-79d0f72f]{width:100%;height:100%;padding:24px 20px 36px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;overflow-y:auto}.auth-card[data-v-79d0f72f]{width:100%;max-width:420px;background:#ffffff;border-radius:22px;padding:36px 28px 30px;box-sizing:border-box;box-shadow:0 14px 40px #e11d481f;display:flex;flex-direction:column;align-items:stretch}.heart-circle[data-v-79d0f72f]{align-self:center;width:80px;height:80px;border-radius:50%;background:#ffe1e8;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.heart-icon[data-v-79d0f72f]{width:40px;height:40px}.auth-title[data-v-79d0f72f]{margin:0;font-size:28px;line-height:1.2;font-weight:700;text-align:center;color:#7a1e2e;letter-spacing:.5px}.auth-subtitle[data-v-79d0f72f]{margin:8px auto 0;text-align:center;font-size:14.5px;color:#8a6a74;line-height:1.5}.auth-toast[data-v-79d0f72f]{margin-top:18px;padding:10px 12px;background:rgba(225,29,72,.08);border:1px solid rgba(225,29,72,.25);color:#b91c44;font-size:13.5px;text-align:center;border-radius:10px}.fade-enter-active[data-v-79d0f72f],.fade-leave-active[data-v-79d0f72f]{transition:opacity .2s}.fade-enter[data-v-79d0f72f],.fade-leave-to[data-v-79d0f72f]{opacity:0}.auth-form[data-v-79d0f72f]{margin-top:26px;display:flex;flex-direction:column;gap:16px}.form-item[data-v-79d0f72f]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-79d0f72f]{font-size:15px;font-weight:600;color:#7a1e2e}.form-input[data-v-79d0f72f]{border:1px solid #f5c4cc;background:#ffffff;border-radius:12px;padding:12px 16px;font-size:16px;line-height:1.4;color:#3b1c24;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;width:100%}.form-input[data-v-79d0f72f]::placeholder{color:#c4a1ab}.form-input[data-v-79d0f72f]:focus{border-color:#e11d48;box-shadow:0 0 0 3px #e11d481f}.primary-btn[data-v-79d0f72f]{margin-top:6px;width:100%;background:#e11d48;color:#fff;border:none;border-radius:14px;padding:14px 18px;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .15s ease,transform .05s ease,opacity .15s ease}.primary-btn[data-v-79d0f72f]:hover{background:#cc0e3a}.primary-btn[data-v-79d0f72f]:active{transform:translateY(1px)}.primary-btn[data-v-79d0f72f]:disabled{opacity:.7;cursor:not-allowed;background:#e11d48}.btn-arrow[data-v-79d0f72f]{font-size:18px;line-height:1}.auth-footer[data-v-79d0f72f]{margin-top:26px;text-align:center;font-size:14.5px}.footer-tip[data-v-79d0f72f]{color:#6f4b56}.footer-link[data-v-79d0f72f]{color:#e11d48;font-weight:600;margin-left:4px;text-decoration:none}.footer-link[data-v-79d0f72f]:hover{color:#cc0e3a;text-decoration:underline}@media (max-width: 360px){.auth-card[data-v-79d0f72f]{padding:28px 20px 22px;border-radius:20px}.auth-title[data-v-79d0f72f]{font-size:24px}.heart-circle[data-v-79d0f72f]{width:70px;height:70px}.heart-icon[data-v-79d0f72f]{width:34px;height:34px}}.auth-view[data-v-65255a76],.register-view[data-v-65255a76]{width:100%;height:100%;min-height:0;flex:1;display:flex;background:#fff1f5;background:linear-gradient(180deg,#ffe5ec 0%,#ffd6e4 55%,#ffc9db 100%)}.auth-stage[data-v-65255a76]{width:100%;height:100%;padding:24px 20px 36px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;overflow-y:auto}.auth-card[data-v-65255a76]{width:100%;max-width:420px;background:#ffffff;border-radius:22px;padding:36px 28px 30px;box-sizing:border-box;box-shadow:0 14px 40px #e11d481f;display:flex;flex-direction:column;align-items:stretch}.heart-circle[data-v-65255a76]{align-self:center;width:80px;height:80px;border-radius:50%;background:#ffe1e8;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.heart-icon[data-v-65255a76]{width:40px;height:40px}.auth-title[data-v-65255a76]{margin:0;font-size:28px;line-height:1.2;font-weight:700;text-align:center;color:#7a1e2e;letter-spacing:.5px}.auth-subtitle[data-v-65255a76]{margin:8px auto 0;text-align:center;font-size:14.5px;color:#8a6a74;line-height:1.5}.auth-toast[data-v-65255a76]{margin-top:18px;padding:10px 12px;background:rgba(225,29,72,.08);border:1px solid rgba(225,29,72,.25);color:#b91c44;font-size:13.5px;text-align:center;border-radius:10px}.auth-toast--ok[data-v-65255a76]{background:rgba(16,185,129,.08);border-color:#10b9814d;color:#065f46}.fade-enter-active[data-v-65255a76],.fade-leave-active[data-v-65255a76]{transition:opacity .2s}.fade-enter[data-v-65255a76],.fade-leave-to[data-v-65255a76]{opacity:0}.auth-form[data-v-65255a76]{margin-top:26px;display:flex;flex-direction:column;gap:16px}.form-item[data-v-65255a76]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-65255a76]{font-size:15px;font-weight:600;color:#7a1e2e}.form-input[data-v-65255a76]{border:1px solid #f5c4cc;background:#fff;border-radius:12px;padding:12px 16px;font-size:16px;line-height:1.4;color:#3b1c24;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;width:100%}.form-input[data-v-65255a76]::placeholder{color:#c4a1ab}.form-input[data-v-65255a76]:focus{border-color:#e11d48;box-shadow:0 0 0 3px #e11d481f}.primary-btn[data-v-65255a76]{margin-top:6px;width:100%;background:#e11d48;color:#fff;border:none;border-radius:14px;padding:14px 18px;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .15s ease,transform .05s ease,opacity .15s ease}.primary-btn[data-v-65255a76]:hover{background:#cc0e3a}.primary-btn[data-v-65255a76]:active{transform:translateY(1px)}.primary-btn[data-v-65255a76]:disabled{opacity:.7;cursor:not-allowed;background:#e11d48}.btn-arrow[data-v-65255a76]{font-size:18px;line-height:1}.auth-footer[data-v-65255a76]{margin-top:26px;text-align:center;font-size:14.5px}.footer-tip[data-v-65255a76]{color:#6f4b56}.footer-link[data-v-65255a76]{color:#e11d48;font-weight:600;margin-left:4px;text-decoration:none}.footer-link[data-v-65255a76]:hover{color:#cc0e3a;text-decoration:underline}@media (max-width: 360px){.auth-card[data-v-65255a76]{padding:28px 20px 22px;border-radius:20px}.auth-title[data-v-65255a76]{font-size:24px}.heart-circle[data-v-65255a76]{width:70px;height:70px}.heart-icon[data-v-65255a76]{width:34px;height:34px}}html,body,#app{margin:0;padding:0;height:100%;width:100%;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#FFF5F7;color:#5d1a32;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}*:before,*:after{box-sizing:border-box}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}input,textarea{font-family:inherit;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(214,51,108,.2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(214,51,108,.4)}.page-container{height:100%;width:100%;max-width:480px;margin:0 auto;background:#FFF5F7;position:relative;display:flex;flex-direction:column;overflow:hidden}.btn-primary{background:#D6336C;color:#fff;border-radius:12px;padding:10px 20px;font-weight:500;font-size:14px;transition:all .2s ease}.btn-primary:active{transform:scale(.96);opacity:.9}.card{background:#FFFFFF;border-radius:16px;padding:16px 20px;margin:12px 16px;box-shadow:0 2px 12px #d6336c0f}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.flex-align-center{display:flex;align-items:center}.text-main{color:#5d1a32}.text-secondary{color:#8b5a6b}.text-light{color:#b08494}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease both}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}
