.app-container{min-height:100vh;background:linear-gradient(135deg,#f5f3ff,#ecfdf5,#fff7ed)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Noto Sans SC,Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;color:#1d1d1f;background:#fafafa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-primary-50: #F5F3FF;--color-primary-100: #E9D5FF;--color-primary-200: #D8B4FE;--color-primary-300: #C084FC;--color-primary-400: #A855F7;--color-primary-500: #9333EA;--color-primary-600: #7E22CE;--color-primary-700: #6B21A8;--color-secondary-50: #ECFDF5;--color-secondary-100: #D1FAE5;--color-secondary-200: #A7F3D0;--color-secondary-300: #6EE7B7;--color-secondary-400: #34D399;--color-secondary-500: #10B981;--color-secondary-600: #059669;--color-secondary-700: #047857;--color-accent-50: #FFF7ED;--color-accent-100: #FFEDD5;--color-accent-200: #FED7AA;--color-accent-300: #FDBA74;--color-accent-400: #FB923C;--color-accent-500: #F97316;--color-white: #FFFFFF;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1D1D1F;--color-gray-900: #111827;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-soft: 0 8px 30px rgba(139, 92, 246, .08);--shadow-glow: 0 0 40px rgba(167, 139, 250, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}h1,h2,h3,h4,h5,h6{font-family:Poppins,Noto Sans SC,sans-serif;font-weight:600;line-height:1.2;color:var(--color-gray-800)}h1{font-size:clamp(28px,5vw,48px)}h2{font-size:clamp(24px,4vw,36px)}h3{font-size:clamp(20px,3vw,28px)}h4{font-size:clamp(18px,2.5vw,24px)}p{margin-bottom:var(--spacing-md);color:var(--color-gray-600)}a{color:var(--color-primary-500);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-600)}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--spacing-md)}@media (min-width: 640px){.container{max-width:640px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:12px 24px;font-family:inherit;font-size:16px;font-weight:500;line-height:1;text-align:center;text-decoration:none;color:var(--color-white);background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.btn:hover{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-secondary{background:var(--color-white);color:var(--color-primary-600);border:2px solid var(--color-primary-200)}.btn-secondary:hover{background:var(--color-primary-50);border-color:var(--color-primary-300)}.btn-outline{background:transparent;color:var(--color-primary-500);border:2px solid var(--color-primary-300)}.btn-outline:hover{background:var(--color-primary-50)}.btn-lg{padding:16px 32px;font-size:18px}.btn-sm{padding:8px 16px;font-size:14px}.card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.card-soft{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.badge{display:inline-flex;align-items:center;padding:4px 12px;font-size:12px;font-weight:500;border-radius:var(--radius-full);background:var(--color-primary-100);color:var(--color-primary-700)}.tag{display:inline-flex;align-items:center;padding:6px 12px;font-size:13px;border-radius:var(--radius-md);background:var(--color-secondary-100);color:var(--color-secondary-700)}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-gray-200),transparent);margin:var(--spacing-lg) 0}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary-500)}.text-secondary{color:var(--color-secondary-500)}.text-muted{color:var(--color-gray-500)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.hidden{display:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.8}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in{animation:fadeInUp .6s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}@media (max-width: 640px){h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}.container{padding:0 var(--spacing-md)}.btn-lg{padding:14px 28px;font-size:16px}}@media (hover: none){.btn:hover{transform:none}.btn:active{transform:scale(.98)}}
