:root{--preg-primary: #6C5CE7;--preg-light: #A29BFE;--preg-lighter: #DDD6FE;--preg-bg: #F8F7FF;--preg-gradient: linear-gradient(135deg, #6C5CE7, #A29BFE);--baby-primary: #00CEC9;--baby-light: #55EFC4;--baby-lighter: #B2F5EA;--baby-bg: #F0FFFE;--baby-gradient: linear-gradient(135deg, #00CEC9, #55EFC4);--white: #FFFFFF;--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--danger: #FF6B6B;--warning: #FECA57;--success: #00B894;--shadow: 0 2px 12px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-normal: .3s ease;--radius-sm: 8px;--radius: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 999px;--font-display: "Sora", sans-serif;--font-body: "Noto Sans SC", "PingFang SC", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--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);--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);--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)}
