.bloom-bg[data-v-deb4e7be]{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.orb[data-v-deb4e7be]{position:absolute;border-radius:50%;filter:blur(46px);opacity:.62;animation:drift 22s ease-in-out infinite}.orb-1[data-v-deb4e7be]{width:300px;height:300px;top:-90px;left:-70px;background:radial-gradient(circle at 30% 30%,#ffc2d6,#ffc2d600 70%)}.orb-2[data-v-deb4e7be]{width:340px;height:340px;top:26%;right:-130px;background:radial-gradient(circle at 40% 40%,#dcc9fb,#dcc9fb00 70%);animation-duration:27s;animation-delay:-6s}.orb-3[data-v-deb4e7be]{width:280px;height:280px;bottom:-80px;left:-60px;background:radial-gradient(circle at 50% 50%,#ffdcc0,#ffdcc000 70%);animation-duration:31s;animation-delay:-14s}.dense .orb[data-v-deb4e7be]{opacity:.8}.grain[data-v-deb4e7be]{position:absolute;inset:0;opacity:.5;background-image:radial-gradient(rgba(180,140,160,.06) 1px,transparent 1px);background-size:4px 4px}.spark[data-v-deb4e7be]{position:absolute;background:#fff;border-radius:1px;box-shadow:0 0 6px #ffffffe6,0 0 12px #ffb8ccb3;animation:twinkle 3.6s ease-in-out infinite}.host[data-v-54f8efca]{position:fixed;left:50%;bottom:calc(28px + var(--safe-b));transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:88vw}.toast[data-v-54f8efca]{display:flex;align-items:center;gap:7px;padding:10px 17px;border-radius:var(--r-pill);background:#3d2b34e6;color:#fff6f9;font-size:13.5px;letter-spacing:.02em;box-shadow:var(--sh-lg);backdrop-filter:blur(8px)}.toast.ok[data-v-54f8efca]{background:linear-gradient(120deg,#f4759cf2,#b795f0f2)}.toast.warn[data-v-54f8efca]{background:#c88050f0}.ic[data-v-54f8efca]{font-size:14px}.toast-enter-active[data-v-54f8efca],.toast-leave-active[data-v-54f8efca]{transition:all .3s var(--ease-soft)}.toast-enter-from[data-v-54f8efca],.toast-leave-to[data-v-54f8efca]{opacity:0;transform:translateY(10px) scale(.94)}:root{--rose-50: #fff5f7;--rose-100: #ffe9ef;--rose-200: #ffd4e0;--rose-300: #ffb8cc;--rose-400: #ff97b4;--rose-500: #f4759c;--rose-600: #de5b85;--rose-700: #b8436b;--lilac-50: #f8f5ff;--lilac-100: #f0e9ff;--lilac-200: #e3d6fd;--lilac-300: #cfb8f8;--lilac-400: #b795f0;--lilac-500: #9d76e0;--lilac-600: #825dc4;--peach-100: #fff0e6;--peach-200: #ffe0cc;--peach-300: #ffc7a3;--peach-400: #ffab7d;--butter-100: #fff8e5;--butter-300: #ffe0a3;--mint-100: #e8faf4;--mint-300: #a8e6d2;--mint-500: #5fc9a8;--sky-100: #eaf3ff;--sky-300: #a9cdf7;--ink-900: #3d2b34;--ink-800: #523c47;--ink-700: #6b5260;--ink-600: #86697a;--ink-500: #a3889a;--ink-400: #c0aab7;--ink-300: #dccdd6;--ink-200: #eee3e9;--ink-100: #f7f0f4;--bg-page: #fff8f6;--bg-page-grad: linear-gradient( 172deg, #fff8f6 0%, #fff1f3 30%, #fdeef7 62%, #f5f0fd 100% );--bg-card: rgba(255, 255, 255, .86);--bg-card-solid: #fffdfd;--bg-frost: rgba(255, 255, 255, .62);--bg-tint-rose: rgba(255, 212, 224, .28);--bg-tint-lilac: rgba(227, 214, 253, .3);--grad-primary: linear-gradient(135deg, #ff9bb8 0%, #f4759c 45%, #b795f0 100%);--grad-primary-soft: linear-gradient(135deg, #ffd8e3 0%, #f6dcf1 52%, #e6dcfc 100%);--grad-peach: linear-gradient(135deg, #ffc7a3 0%, #ff9bb8 100%);--grad-lilac: linear-gradient(135deg, #cfb8f8 0%, #9d76e0 100%);--grad-mint: linear-gradient(135deg, #a8e6d2 0%, #5fc9a8 100%);--grad-butter: linear-gradient(135deg, #ffe9b8 0%, #ffc7a3 100%);--grad-holo: linear-gradient( 118deg, #ffe0ea 0%, #ffeede 18%, #e7f8f1 38%, #e6eeff 58%, #f0e4fd 78%, #ffe0ea 100% );--grad-text: linear-gradient(96deg, #f4759c 0%, #b795f0 62%, #ff9bb8 100%);--r-xs: 8px;--r-sm: 12px;--r-md: 18px;--r-lg: 24px;--r-xl: 30px;--r-2xl: 38px;--r-pill: 999px;--sh-xs: 0 2px 8px rgba(196, 130, 158, .08);--sh-sm: 0 4px 16px rgba(196, 130, 158, .1);--sh-md: 0 10px 30px rgba(190, 128, 160, .12);--sh-lg: 0 18px 48px rgba(178, 120, 156, .16);--sh-glow-rose: 0 10px 28px rgba(244, 117, 156, .28);--sh-glow-lilac: 0 10px 28px rgba(157, 118, 224, .26);--sh-inset: inset 0 1px 0 rgba(255, 255, 255, .7);--line-soft: rgba(255, 212, 224, .55);--line-lilac: rgba(207, 184, 248, .5);--line-hair: rgba(157, 118, 224, .12);--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif: "Songti SC", "Source Han Serif SC", "Noto Serif SC", "STSong", Georgia, serif;--font-round: "PingFang SC", "HarmonyOS Sans SC", -apple-system, sans-serif;--font-num: "DIN Alternate", "Avenir Next", "Helvetica Neue", -apple-system, sans-serif;--ease-soft: cubic-bezier(.22, .61, .36, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--app-max: 480px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);color:var(--ink-800);background:var(--bg-page);font-size:15px;line-height:1.7;letter-spacing:.01em;overscroll-behavior-y:none}#app{min-height:100vh;min-height:100dvh}h1,h2,h3,h4,p,figure,ul,ol{margin:0;padding:0}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;color:inherit;border:0;background:none;cursor:pointer;-webkit-appearance:none}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}input,textarea{font-family:inherit;-webkit-appearance:none}::selection{background:var(--rose-200);color:var(--ink-900)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--rose-200);border-radius:var(--r-pill)}::-webkit-scrollbar-track{background:transparent}.app-shell{position:relative;min-height:100vh;min-height:100dvh;background:var(--bg-page-grad);overflow-x:hidden}.page{position:relative;width:100%;max-width:var(--app-max);margin:0 auto;padding:0 18px;z-index:1}.text-grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.serif{font-family:var(--font-serif)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.soft-card{position:relative;background:var(--bg-card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.75);border-radius:var(--r-xl);box-shadow:var(--sh-md),var(--sh-inset)}.sec-title{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:600;color:var(--ink-900);letter-spacing:.02em}.sec-title .dot{width:7px;height:7px;border-radius:50%;background:var(--grad-primary);box-shadow:0 0 0 4px #ffd4e073;flex:none}.sec-sub{margin-top:5px;font-size:12.5px;color:var(--ink-500);letter-spacing:.02em}.chip{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:var(--r-pill);background:var(--bg-tint-rose);border:1px solid var(--line-soft);color:var(--rose-700);font-size:12px;line-height:1.4;white-space:nowrap}.chip.lilac{background:var(--bg-tint-lilac);border-color:var(--line-lilac);color:var(--lilac-600)}.chip.mint{background:#a8e6d23d;border-color:#5fc9a852;color:#2f8a6f}.chip.butter{background:#ffe0a347;border-color:#ffc7a380;color:#b57f3c}.divider-bloom{display:flex;align-items:center;gap:10px;margin:22px 0;color:var(--rose-300);font-size:11px}.divider-bloom:before,.divider-bloom:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-soft),transparent)}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .28s var(--ease-soft),transform .28s var(--ease-soft)}.fade-slide-enter-from{opacity:0;transform:translateY(12px)}.fade-slide-leave-to{opacity:0;transform:translateY(-8px)}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.rise{animation:rise-in .55s var(--ease-soft) both}@keyframes sheen{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(320%) skew(-18deg)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.06);opacity:1}}@keyframes drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(14px,-18px) scale(1.05)}66%{transform:translate(-10px,12px) scale(.97)}}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
