:root{--primary-color: #FF8C42;--primary-light: #FFB380;--primary-dark: #E67730;--accent-color: #4CAF50;--accent-light: #81C784;--accent-dark: #388E3C;--bg-color: #F5F5F0;--card-bg: #FFFFFF;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--border-color: #E8E8E8;--success-color: #4CAF50;--warning-color: #FF9800;--error-color: #F44336;--info-color: #2196F3;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-xxl: 32px}*{margin:0;padding:0;box-sizing:border-box}page{background-color:var(--bg-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary)}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-size:15px;font-weight:500;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff}.btn-primary:active{transform:scale(.98);opacity:.9}.btn-secondary{background:var(--card-bg);color:var(--primary-color);border:1px solid var(--primary-color)}.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)}.gap-lg{gap:var(--spacing-lg)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--primary-color)}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:18px}.text-2xl{font-size:20px}.text-bold{font-weight:600}.safe-area-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out}
