.app{min-height:100vh;background:linear-gradient(135deg,#fff5f7,#fff0e8,#f0f4ff)}.app.dark{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}:root{--color-primary: #FF6B9D;--color-primary-light: #FFB8D1;--color-primary-dark: #E84A7F;--color-secondary: #FFC857;--color-accent: #7EC8E3;--color-success: #6BCB77;--color-warning: #FFD93D;--color-danger: #FF6B6B;--color-bg: #FFF5F7;--color-card: #FFFFFF;--color-text: #2D3436;--color-text-secondary: #636E72;--color-border: #F0E0E5;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 28px;--radius-full: 999px;--shadow-sm: 0 2px 8px rgba(255, 107, 157, .08);--shadow-md: 0 4px 16px rgba(255, 107, 157, .12);--shadow-lg: 0 8px 32px rgba(255, 107, 157, .18);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea{font-family:inherit}.flex-center{display:flex;align-items:center;justify-content:center}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.animate-fade-in{animation:fadeInUp .4s ease-out}.animate-bounce{animation:bounce 2s infinite}.animate-pulse{animation:pulse 2s infinite}.animate-wiggle{animation:wiggle 1s ease-in-out}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-primary-light);border-radius:4px}
