::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:#ff7daf33;color:var(--color-text)}.page-enter-active{transition:all .3s cubic-bezier(.25,.8,.25,1.2)}.page-leave-active{transition:all .2s cubic-bezier(.4,0,.2,1)}.page-enter-from{opacity:0;transform:translateY(12px) scale(.98)}.page-leave-to{opacity:0;transform:translateY(-8px) scale(.99)}:root{--color-primary: #FF7DAF;--color-primary-light: #FFB8D4;--color-primary-dark: #E0669A;--color-accent: #C4A1FF;--color-accent-light: #DFC8FF;--color-gold: #FFD4A8;--color-gold-light: #FFE8D0;--color-bg: #FFF5F8;--color-surface: #FFFFFF;--color-surface-2: #FFF0F4;--color-sidebar: #FFF8FA;--color-sakura: #FFE8F0;--color-sakura-light: #FFF0F5;--color-text: #4A2535;--color-text-secondary: #8B5A6B;--color-text-muted: #C495A8;--color-text-inverse: #FFFFFF;--color-border: #F5D0DA;--color-border-strong: #E8B0C0;--color-bubble-user-solid: #FF7DAF;--color-bubble-ai: #FFDEE8;--color-bubble-ai-hover: #FFCFDD;--color-success: #7EC8A0;--color-error: #E8808A;--color-warning: #F0C080;--sakura-gradient: linear-gradient(180deg, #FFF5F8 0%, #FFE8F0 50%, #F5E0F0 100%);--avatar-gradient-1: linear-gradient(135deg, #FF7DAF, #C4A1FF);--avatar-gradient-2: linear-gradient(135deg, #FFB8D4, #FFD4A8);--avatar-gradient-3: linear-gradient(135deg, #C4A1FF, #A8D8F0);--header-gradient: linear-gradient(90deg, rgba(255,245,248,.95), rgba(255,232,240,.95));--font-heading: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-body: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--radius-xs: 8px;--radius-sm: 14px;--radius: 20px;--radius-lg: 28px;--radius-xl: 36px;--radius-full: 9999px;--shadow-sm: 0 1px 4px rgba(255,125,175,.06);--shadow-md: 0 2px 12px rgba(255,125,175,.08);--shadow-lg: 0 4px 24px rgba(255,125,175,.12);--ease-out: cubic-bezier(.25, .8, .25, 1.2);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration: .25s;--duration-slow: .45s;--header-h: 56px;--char-panel-w: 320px;--input-h: 80px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--radius-sm);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--duration) var(--ease-out)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px #ff7daf4d}.btn-outline{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text-secondary)}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-sm{padding:6px 14px;font-size:13px;border-radius:var(--radius-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration) var(--ease-out)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--duration) var(--ease-out)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(12px)}.page-enter-active,.page-leave-active{transition:opacity var(--duration-fast) var(--ease-out)}.page-enter-from,.page-leave-to{opacity:0}@keyframes petalFall{0%{transform:translateY(-10vh) rotate(0) translate(0);opacity:0}10%{opacity:.3}90%{opacity:.15}to{transform:translateY(105vh) rotate(720deg) translate(60px);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}
