:root{--primary-color: #0a0e27;--secondary-color: #1a1040;--accent-color: #6366f1;--accent-hover: #818cf8;--text-primary: #1a1a1a;--text-secondary: #666666;--text-light: #999999;--bg-light: #f5f3ff;--bg-white: #ffffff;--border-color: #e5e7eb;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit;transition:var(--transition)}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:var(--transition)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-title{text-align:center;margin-bottom:60px}.section-title h2{font-size:32px;font-weight:700;color:var(--primary-color);margin-bottom:12px}.section-title p{font-size:14px;color:var(--text-secondary)}.btn{display:inline-block;padding:12px 28px;border-radius:6px;font-size:14px;font-weight:500;text-align:center;transition:var(--transition);cursor:pointer}.btn.btn-primary{background:var(--accent-color);color:#fff}.btn.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.btn.btn-primary:active{transform:translateY(0)}.btn.btn-secondary{background:var(--secondary-color);color:#fff}.btn.btn-secondary:hover{background:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn.btn-outline:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.card-hover{transition:var(--transition)}.card-hover:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in-up{animation:fadeInUp .6s ease-out}.fade-in{animation:fadeIn .6s ease-out}@media (max-width: 768px){.section-title h2{font-size:24px}}
