:root{--preg-primary: #6C5CE7;--preg-light: #A29BFE;--preg-lighter: #E8E5FF;--preg-bg: #F8F7FF;--preg-surface: #FFFFFF;--preg-gradient: linear-gradient(135deg, #6C5CE7 0%, #8B7CF0 50%, #A29BFE 100%);--baby-primary: #00CEC9;--baby-light: #55EFC4;--baby-lighter: #D5FAF0;--baby-bg: #F0FFFE;--baby-surface: #FFFFFF;--baby-gradient: linear-gradient(135deg, #00CEC9 0%, #3AE8D0 50%, #55EFC4 100%);--white: #FFFFFF;--gray-50: #FAFAFA;--gray-100: #F5F5F7;--gray-200: #E8E8EC;--gray-300: #D1D1DB;--gray-400: #A1A1AA;--gray-500: #71717A;--gray-600: #52525B;--gray-700: #3F3F46;--gray-800: #27272A;--gray-900: #18181B;--danger: #FF6B6B;--warning: #F59E0B;--success: #10B981;--info: #3B82F6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .12);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(108, 92, 231, .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-pill: 999px;--font-display: "Sora", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", "PingFang SC", -apple-system, sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--primary: var(--preg-primary);--primary-light: var(--preg-light);--primary-lighter: var(--preg-lighter);--surface: var(--preg-surface);--bg: var(--preg-bg);--gradient: var(--preg-gradient)}[data-mode=baby]{--primary: var(--baby-primary);--primary-light: var(--baby-light);--primary-lighter: var(--baby-lighter);--surface: var(--baby-surface);--bg: var(--baby-bg);--gradient: var(--baby-gradient)}*,*:before,*:after{-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--gray-900);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:var(--safe-top, env(safe-area-inset-top, 0px));padding-bottom:var(--safe-bottom, env(safe-area-inset-bottom, 0px));padding-left:var(--safe-left, env(safe-area-inset-left, 0px));padding-right:var(--safe-right, env(safe-area-inset-right, 0px))}#root{min-height:100%;max-width:430px;margin:0 auto;position:relative}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{display:none}*{scrollbar-width:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{transform:translate(100%);opacity:.5}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{box-shadow:0 0 #ff6b6b66}70%{box-shadow:0 0 0 20px #ff6b6b00}to{box-shadow:0 0 #ff6b6b00}}@keyframes ripple{0%{transform:scale(1);opacity:.4}to{transform:scale(1.5);opacity:0}}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-slide-in-right{animation:slideInRight var(--transition-normal) forwards}.animate-slide-in-up{animation:slideInUp var(--transition-normal) forwards}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeletonLoading 1.5s infinite;border-radius:var(--radius-sm)}
