*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #6366f1;--primary-hover: #818cf8;--primary-dark: #4f46e5;--secondary-color: #1a1a1a;--text-primary: #333333;--text-secondary: #666666;--text-light: #999999;--bg-primary: #ffffff;--bg-secondary: #f5f7fa;--bg-dark: #1a1a1a;--border-color: #e8e8e8;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--text-primary);background:var(--bg-secondary);line-height:1.6}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.ant-btn-primary{background:var(--primary-color)!important;border-color:var(--primary-color)!important}.ant-btn-primary:hover{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important}.ant-menu-horizontal>.ant-menu-item-selected{color:var(--primary-color)!important}.ant-menu-horizontal>.ant-menu-item-selected:after{border-bottom-color:var(--primary-color)!important}.ant-menu-horizontal>.ant-menu-item:hover{color:var(--primary-color)!important}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary-color)!important}.ant-tabs-ink-bar{background:var(--primary-color)!important}.ant-progress-bg{background:linear-gradient(90deg,var(--primary-color),var(--primary-hover))!important}.ant-tag-purple{background:#f3e8ff;border-color:#c4b5fd;color:#7c3aed}.page-container{max-width:1200px;margin:0 auto;padding:0 16px}.course-card{transition:all .3s ease;border-radius:12px;overflow:hidden}.course-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #6366f126}.gradient-bg{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.gradient-bg-dark{background:linear-gradient(135deg,#1a1a2e,#16213e)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-ellipsis-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-in{animation:fadeIn .5s ease forwards}.fade-in-up{animation:fadeInUp .6s ease forwards}.btn-gradient{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;border:none!important;color:#fff!important;transition:all .3s ease}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:var(--primary-color)!important;box-shadow:0 0 0 2px #6366f133!important}.ant-checkbox-checked .ant-checkbox-inner{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important}.ant-radio-checked .ant-radio-inner{border-color:var(--primary-color)!important}.ant-radio-checked .ant-radio-inner:after{background-color:var(--primary-color)!important}.ant-switch-checked{background:var(--primary-color)!important}.ant-pagination-item-active{border-color:var(--primary-color)!important}.ant-pagination-item-active a{color:var(--primary-color)!important}a{color:var(--primary-color);text-decoration:none;transition:color .3s ease}a:hover{color:var(--primary-hover)}@media (max-width: 768px){.page-container{padding:0 12px}.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.glass{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.dark-scrollbar::-webkit-scrollbar-track{background:#2d2d44}.dark-scrollbar::-webkit-scrollbar-thumb{background:#4d4d6a}.dark-scrollbar::-webkit-scrollbar-thumb:hover{background:#6d6d8a}
