.home-header{flex-direction:column;height:100vh;min-height:700px;display:flex;position:relative;overflow:hidden}.home-header .header-background{z-index:-2;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);position:absolute;inset:0}.home-header .gradient-overlay{background:radial-gradient(circle at 20% 20%,#ffffff1a 0%,#0000 50%),radial-gradient(circle at 80% 80%,#ffffff1a 0%,#0000 50%),linear-gradient(135deg,#0000001a 0%,#0000004d 100%);position:absolute;inset:0}.home-header .floating-elements{position:absolute;inset:0}.home-header .floating-dot{background:#fff9;border-radius:50%;width:6px;height:6px;animation:6s ease-in-out infinite float;position:absolute}.home-header .hero-content{text-align:center;flex:1;justify-content:center;align-items:center;padding:15px;display:flex;position:relative}.home-header .hero-background-animation{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.home-header .hero-background-animation .animated-shape{opacity:.1;animation:ease-in-out infinite floatShape;position:absolute}.home-header .hero-background-animation .animated-shape.circle{background:linear-gradient(45deg, var(--primary-color), #fffc);border-radius:50%;width:20px;height:20px}.home-header .hero-background-animation .animated-shape.circle:nth-child(odd){background:linear-gradient(45deg, #fff, var(--primary-color))}.home-header .hero-background-animation .animated-shape.triangle{border-bottom:14px solid #fff9;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;animation-direction:reverse}.home-header .hero-background-animation .animated-shape.triangle:nth-child(2n){border-bottom-color:var(--primary-color)}.home-header .hero-background-animation .animated-shape.square{background:#fff6;width:12px;height:12px;animation-direction:alternate;transform:rotate(45deg)}.home-header .hero-background-animation .animated-shape.square:nth-child(odd){background:var(--primary-color)}.home-header .hero-container{z-index:2;width:100%;max-width:800px;position:relative}.home-header .main-navigation{z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(90deg,#2c3e50f2 0%,#3498dbd9 50%,#2c3e50f2 100%);border-bottom:1px solid #ffffff26;transition:all .3s;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #0003,0 2px 8px #0000001a}.home-header .nav-container{max-width:var(--max-width);padding:0 var(--container-padding);justify-content:center;align-items:center;width:100%;height:70px;margin:0 auto;display:flex;position:relative}.home-header .nav-brand{position:absolute;left:2rem}.home-header .nav-brand .brand-logo{align-items:center;gap:1rem;display:flex}.home-header .nav-brand .brand-logo .logo-avatar{border:2px solid #fff3;border-radius:8px;width:50px;height:50px;transition:all .3s;overflow:hidden}.home-header .nav-brand .brand-logo .logo-avatar:hover{border-color:var(--primary-color)}.home-header .nav-brand .brand-logo .logo-avatar img{object-fit:cover;width:100%;height:100%}.home-header .nav-brand .brand-logo .logo-info{flex-direction:column;align-items:flex-start;display:flex}.home-header .nav-brand .brand-logo .logo-info .logo-text{color:#fff;font-size:24px;font-weight:800;line-height:1}.home-header .nav-brand .brand-logo .logo-info .logo-subtitle{color:#fffc;letter-spacing:1px;text-transform:uppercase;font-size:12px}.home-header .nav-menu{scrollbar-width:none;-ms-overflow-style:none;gap:.5rem;display:flex;overflow-x:auto}.home-header .nav-menu::-webkit-scrollbar{display:none}.home-header .nav-menu .nav-item{color:#ffffffe6;white-space:nowrap;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:.3rem;padding:5px 10px;font-size:16px;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.home-header .nav-menu .nav-item:hover{color:#fff;background:#ffffff1a}.home-header .nav-menu .nav-item.nav-item-active{background:var(--primary-alpha-20);color:var(--primary-color)}.home-header .nav-menu .nav-item .nav-icon{font-size:14px}.home-header .nav-menu .nav-item .nav-text{white-space:normal}.home-header .nav-actions{align-items:center;gap:1rem;display:flex;position:absolute;right:2rem}.home-header .nav-actions .docs-button{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));height:34px;color:var(--secondary-color);box-shadow:0 2px 8px var(--primary-alpha-20);cursor:pointer;border:2px solid #0000;border-radius:25px;align-items:center;gap:.5rem;padding:5px 15px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.home-header .nav-actions .mobile-menu-toggle{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));cursor:pointer;border:none;border-radius:6px;height:30px;padding:0 6px;transition:all .3s;display:none}.home-header .hamburger{flex-direction:column;gap:3px;display:flex}.home-header .hamburger span{transform-origin:50%;background:#fff;width:20px;height:2px;transition:all .3s}.home-header .hamburger.hamburger-active span:first-child{transform:rotate(45deg)translate(3px,3px)}.home-header .hamburger.hamburger-active span:nth-child(2){opacity:0}.home-header .hamburger.hamburger-active span:nth-child(3){transform:rotate(-45deg)translate(3px,-3px)}.home-header .hero-title{margin:0 0 1rem;font-weight:900;line-height:1.2}.home-header .hero-title .title-line{color:#fff;margin-bottom:.5rem;display:block}.home-header .hero-title .title-line:first-child{opacity:.9;letter-spacing:2px;font-size:44px;font-weight:600}.home-header .hero-title .title-highlight{color:var(--primary-color);text-shadow:0 0 20px var(--primary-alpha-30);letter-spacing:1px;margin-top:.3rem;font-size:72px;font-weight:900;display:block}.home-header .hero-subtitle{color:#ffffffd9;justify-content:center;align-items:center;gap:1rem;margin:0 0 2rem;font-size:18px;font-weight:400;display:flex;position:relative}.home-header .hero-subtitle:before,.home-header .hero-subtitle:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:30px;height:1px}.home-header .hero-subtitle:before{background:linear-gradient(90deg,#0000,#ffffff80)}.home-header .hero-subtitle:after{background:linear-gradient(90deg,#ffffff80,#0000)}.home-header .hero-description{color:#ffffffbf;letter-spacing:.5px;max-width:500px;margin:0 auto 2.5rem;font-size:16px;font-style:italic;font-weight:300;line-height:1.8;position:relative}.home-header .hero-description:before{content:"\"";color:var(--primary-color);opacity:.6;font-family:serif;font-size:32px;position:absolute;top:-5px;left:-20px}.home-header .hero-description:after{content:"\"";color:var(--primary-color);opacity:.6;font-family:serif;font-size:32px;position:absolute;bottom:-15px;right:-20px}.home-header .hero-actions{justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.home-header .hero-actions .cta-button{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.home-header .hero-actions .cta-button.primary{background:var(--primary-color);color:var(--secondary-color)}.home-header .hero-actions .cta-button.primary:hover{box-shadow:0 10px 20px var(--primary-alpha-30);background:var(--primary-dark);transform:translateY(-2px)}.home-header .hero-actions .cta-button.secondary{color:#fff;background:#ffffff1a;border:1px solid #ffffff4d}.home-header .hero-actions .cta-button.secondary:hover{background:#fff3;transform:translateY(-2px)}.home-header .hero-stats{justify-content:center;align-items:center;gap:15px;display:flex}.home-header .hero-stats .stat-item{text-align:center}.home-header .hero-stats .stat-item .stat-number{color:var(--primary-color);font-size:32px;font-weight:800;line-height:1}.home-header .hero-stats .stat-item .stat-label{color:#fffc;margin-top:.25rem;font-size:14px}.home-header .hero-stats .stat-divider{background:#ffffff4d;width:1px;height:40px}.home-header .scroll-indicator{text-align:center;cursor:pointer;color:#fffc;transition:all .3s;position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.home-header .scroll-indicator:hover{color:#fff;transform:translate(-50%)translateY(-4px)}.home-header .scroll-indicator .scroll-icon{margin-bottom:.5rem;font-size:24px;animation:2s infinite bounce}.home-header .scroll-indicator .scroll-text{text-transform:uppercase;letter-spacing:1px;font-size:12px}.home-header .contact-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.home-header .contact-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:80vh;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.home-header .modal-header{justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0;display:flex}.home-header .modal-header .modal-title{color:#333;margin:0;font-size:24px;font-weight:700}.home-header .modal-header .modal-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;transition:all .3s;display:flex}.home-header .modal-header .modal-close:hover{color:#333;background:#f5f5f5}.home-header .modal-content{padding:1.5rem}.home-header .contact-info{text-align:center}.home-header .wechat-section{background-color:#f8f9fa;border-radius:10px;grid-template-columns:1fr 1fr;place-items:center;gap:2rem;margin-bottom:1rem;padding-top:20px;padding-bottom:20px;display:grid}.home-header .wechat-qr img{border:3px solid #f0f0f0;border-radius:12px;width:150px;height:150px}.home-header .wechat-qr .qr-tip{color:#666;margin:.5rem 0 0;font-size:14px}.home-header .wechat-details{text-align:left;flex:1}.home-header .detail-item{background:#f8f9fa;border-radius:8px;align-items:center;gap:.8rem;margin-bottom:1rem;padding:10px;display:flex}.home-header .detail-item .detail-label{color:#333;flex-shrink:0;min-width:60px;font-weight:600}.home-header .detail-item .detail-value{color:#555;background:#fff;border:1px solid #e0e0e0;border-radius:4px;flex:1;padding:5px;font-family:monospace}.home-header .detail-item .copy-btn{background:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:5px 10px;font-size:12px;transition:all .3s}.home-header .detail-item .copy-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.home-header .contact-note{color:#999}@media (width<=768px){.home-header .mobile-menu-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:998;opacity:0;background:#00000080;animation:.3s ease-out forwards fadeIn;position:fixed;inset:70px 0 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes float{0%,to{opacity:.6;transform:translateY(0)rotate(0)}50%{opacity:1;transform:translateY(-20px)rotate(180deg)}}@keyframes floatShape{0%{opacity:.1;transform:translateY(0)translate(0)rotate(0)}25%{opacity:.3;transform:translateY(-30px)translate(20px)rotate(90deg)}50%{opacity:.2;transform:translateY(-60px)translate(-10px)rotate(180deg)}75%{opacity:.4;transform:translateY(-30px)translate(-30px)rotate(270deg)}to{opacity:.1;transform:translateY(0)translate(0)rotate(360deg)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (width<=768px){.home-header .nav-container{justify-content:space-between;height:54px;padding:0 1rem}.home-header .nav-brand{position:static}.home-header .nav-brand .brand-logo{gap:.75rem}.home-header .nav-brand .brand-logo .logo-avatar{border-radius:6px;width:40px;height:40px}.home-header .nav-brand .brand-logo .logo-info .logo-text{font-size:18px}.home-header .nav-brand .brand-logo .logo-info .logo-subtitle{font-size:12px}.home-header .nav-menu{display:none}.home-header .nav-menu.nav-menu-open{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:999;background:linear-gradient(135deg,#2c3e50 0%,#3498db 100%);border-top:1px solid #ffffff1a;flex-direction:column;gap:.5rem;max-height:calc(100vh - 70px);padding:1rem;display:flex;position:fixed;top:54px;left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.home-header .nav-menu.nav-menu-open .nav-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:flex-start;width:100%;font-size:16px}.home-header .nav-menu.nav-menu-open .nav-item:hover{background:#ffffff26;transform:translate(5px)}.home-header .nav-menu.nav-menu-open .nav-item.nav-item-active{background:var(--primary-alpha-30);border-color:var(--primary-color)}.home-header .nav-menu.nav-menu-open .nav-item .nav-icon{text-align:center;width:24px;font-size:18px}.home-header .nav-menu.nav-menu-open .nav-item .nav-text{font-weight:600}.home-header .nav-actions{position:static}.home-header .nav-actions .docs-button{height:30px;font-size:12px}.home-header .mobile-menu-toggle{display:block!important}.home-header .hero-title .title-line:first-child{margin-bottom:.4rem;font-size:32px}.home-header .hero-title .title-highlight{font-size:48px}.home-header .hero-subtitle{gap:.8rem;margin:0 0 1.5rem;font-size:16px}.home-header .hero-subtitle:before,.home-header .hero-subtitle:after{width:20px}.home-header .hero-description{max-width:400px;margin:0 0 2rem;font-size:15px}.home-header .hero-description:before,.home-header .hero-description:after{display:none}.home-header .hero-actions{align-items:center}.home-header .hero-stats .stat-divider{width:40px;height:1px}.home-header .hero-stats .stat-number{font-size:26px}.home-header .contact-modal{max-width:90vw}.home-header .wechat-section{flex-direction:column;gap:1rem}.home-header .wechat-section .wechat-qr img{border:3px solid #f0f0f0;border-radius:12px;width:100px;height:100px}.home-header .wechat-section .wechat-qr .qr-tip{color:#666;margin:.5rem 0 0;font-size:14px}.home-header .wechat-details{text-align:center}.home-header .detail-item{gap:.5rem}.home-header .detail-item .detail-label{text-align:center;min-width:auto}}.media-container{max-width:var(--max-width);margin:0 auto}.media-container .platforms-grid{grid-template-columns:repeat(5,1fr);gap:1.5rem;margin-bottom:3rem;display:grid}.media-container .platform-card{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border:1px solid #fff3;border-radius:16px;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}.media-container .platform-card:before{content:"";background:linear-gradient(90deg, var(--primary-color), var(--primary-dark));height:3px;position:absolute;top:0;left:0;right:0}.media-container .platform-card:hover{border-color:#3b82f6}.media-container .platform-card.contact-only{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border-color:#fff3}.media-container .card-inner{padding:1rem}.media-container .platform-header{align-items:center;gap:1rem;display:flex}.media-container .platform-header .platform-icon{flex-shrink:0;width:50px;height:50px;position:relative}.media-container .platform-header .platform-icon .icon-img{border-radius:12px;width:100%;height:100%;transition:all .3s}.media-container .platform-header .platform-icon .icon-glow{opacity:.3;z-index:-1;border-radius:14px;position:absolute;inset:-2px}.media-container .platform-header .platform-content{flex-direction:column;flex:1;gap:.5rem;display:flex}.media-container .platform-header .platform-content .platform-name{color:#fff;margin:0;font-size:16px;font-weight:700;line-height:1.2}.media-container .platform-header .platform-content .fans-count{align-items:center;gap:.5rem;display:flex}.media-container .platform-header .platform-content .fans-count .count-number{color:var(--primary-color);font-size:18px;font-weight:800;line-height:1}.media-container .platform-header .platform-content .fans-count .count-label{color:#8a9099;text-transform:uppercase;letter-spacing:.5px;font-size:12px}@media (width<=1400px){.media-container .platforms-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=1200px){.media-container .platforms-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.media-container .platforms-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.media-container .platforms-grid{grid-template-columns:1fr 1fr;gap:1rem}.media-container .card-inner{padding:.5rem}.media-container .platform-header{gap:.75rem}.media-container .platform-header .platform-icon{width:40px;height:40px}.media-container .platform-header .platform-content .platform-name{font-size:14px}.media-container .platform-header .platform-content .fans-count .count-number{font-size:16px}}.product-container{max-width:var(--max-width);margin:0 auto}.product-container .products-grid{grid-template-columns:repeat(6,1fr);gap:1.5rem;display:grid}.product-container .product-card{color:inherit;background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border:1px solid #fff3;border-radius:16px;flex-direction:column;min-height:auto;padding:.75rem;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.product-container .product-card:hover{border-color:#3b82f6}.product-container .product-header{align-items:flex-start;gap:.75rem;display:flex}.product-container .product-image{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border-radius:10px;flex:0 0 50px;width:50px;height:50px;position:relative;overflow:hidden}.product-container .product-image img{object-fit:cover;width:100%;height:100%;transition:all .3s}.product-container .product-image .product-badge{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));color:var(--secondary-color);text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:.1rem .3rem;font-size:12px;font-weight:600;position:absolute;top:2px;right:2px}.product-container .product-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.product-container .product-info .product-title{color:#fff;flex:1;margin:0;font-size:14px;font-weight:700;line-height:1.3}.product-container .product-title-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.product-container .product-description{color:#a0a6b0;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.product-container .product-actions{flex-direction:row;align-items:center;gap:.5rem;display:flex}.product-container .product-actions .action-btn{cursor:pointer;color:#fff;background:#ffffff1a;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .3s;display:flex}.product-container .product-actions .action-btn:hover{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));box-shadow:0 4px 12px rgba(var(--primary-color-rgb), .3);transform:translateY(-2px)}.product-container .product-actions .action-btn svg{width:10px;height:10px}@media (width<=1400px){.product-container .products-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=1200px){.product-container .products-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.product-container .products-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.product-container .products-grid{grid-template-columns:1fr;gap:1rem}.product-container .product-card{padding:.6rem}.product-container .product-header{gap:.5rem}.product-container .product-image{flex:0 0 40px;width:40px;height:40px}.product-container .product-description{font-size:11px}}.source-projects{margin-top:1rem}.source-projects .projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.source-projects .project-card{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border:1px solid #374151;border-radius:16px;padding:1.5rem;transition:all .3s}.source-projects .project-card:hover{border-color:#3b82f6}.source-projects .project-card .project-tags{flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem;display:flex}.source-projects .project-card .project-tags .tag{color:#a0a6b0;text-transform:uppercase;letter-spacing:.5px;background:#ffffff1a;border:1px solid #ffffff1a;border-radius:4px;padding:.1rem .4rem;font-size:10px;font-weight:500}.source-projects .project-card .project-features{grid-template-columns:1fr 1fr;gap:.3rem;margin-bottom:1rem;display:grid}.source-projects .project-card .project-features .feature-item{color:#22c55e;align-items:center;gap:.25rem;font-size:12px;font-weight:500;display:flex}.source-projects .project-card .project-features .feature-item .check-icon{font-size:12px}.source-projects .project-card .project-actions{gap:.5rem;display:flex}.source-projects .project-card .project-actions .action-btn{cursor:pointer;text-align:center;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;min-height:36px;padding:.6rem .8rem;font-size:12px;font-weight:600;line-height:1.2;text-decoration:none;transition:all .3s;display:flex}.source-projects .project-card .project-actions .action-btn.primary{background:linear-gradient(135deg, var(--primary-color), var(--primary-dark));color:var(--secondary-color)}.source-projects .project-card .project-actions .action-btn.primary:hover{box-shadow:0 2px 8px rgba(var(--primary-color-rgb), .3);transform:translateY(-1px)}.source-projects .project-card .project-actions .action-btn.secondary{color:#fff;background:#ffffff1a;border:1px solid #fff3}.source-projects .project-card .project-actions .action-btn.secondary:hover{background:#ffffff26;transform:translateY(-1px)}.source-projects .card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.source-projects .project-info{flex:1;gap:1rem;display:flex}.source-projects .project-meta{flex:1}.source-projects .project-name{color:#f8fafc;margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.source-projects .project-status .status-badge{border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.source-projects .project-status .status-badge.available{color:#ecfdf5;background:#059669}.source-projects .project-status .status-badge.development{color:#fff7ed;background:#ea580c}.source-projects .card-body{margin-bottom:1.5rem}.source-projects .project-description{color:#a0a6b0;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.source-projects .card-footer{border-top:1px solid #374151;padding-top:1rem}.source-projects .project-tech{margin-bottom:1rem}.source-projects .project-tech .tech-label{color:#94a3b8;margin-right:.5rem;font-size:.85rem}.source-projects .project-tech .tech-stack{color:#3b82f6;font-size:.85rem;font-weight:500}@media (width<=768px){.source-projects .projects-grid{grid-template-columns:1fr;gap:1rem}.source-projects .project-card{padding:1rem}.source-projects .project-info{flex-direction:column;gap:.75rem}.source-projects .project-actions{flex-direction:column;gap:.5rem}.source-projects .project-actions .action-btn{text-align:center;padding:.4rem .8rem;font-size:.8rem}}.course-container{margin-top:1rem}.course-container .courses-grid{grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:3rem;display:grid}.course-container .course-card{color:inherit;background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border:1px solid #fff3;border-radius:16px;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}.course-container .course-card:hover{border-color:#3b82f6}.course-container .card-link{color:inherit;text-decoration:none;display:block}.course-container .course-cover{width:100%;height:200px;position:relative;overflow:hidden}.course-container .course-cover .cover-img{background-color:#ffffff1a;justify-content:center;align-items:center;width:100%;height:100%;font-size:20px;font-weight:700;display:flex}.course-container .course-cover .course-status-badge{z-index:2;border-radius:6px;padding:.25rem .5rem;font-size:12px;font-weight:600;position:absolute;top:12px;right:12px}.course-container .course-cover .course-status-badge.ongoing{color:#92400e;background:#fbbf24}.course-container .course-cover .course-status-badge.completed{color:#fff;background:#10b981}.course-container .course-content{padding:1.5rem}.course-container .course-header{margin-bottom:1rem}.course-container .course-title{color:#fff;margin:0 0 .5rem;font-size:1.2rem;font-weight:700;line-height:1.3}.course-container .course-meta{gap:.75rem;display:flex}.course-container .course-meta .course-type{color:#0369a1;background:#e0f2fe;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.course-container .course-meta .course-level{border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.course-container .course-meta .course-level.beginner{color:#166534;background:#dcfce7}.course-container .course-meta .course-level.intermediate{color:#92400e;background:#fef3c7}.course-container .course-meta .course-level.advanced{color:#991b1b;background:#fee2e2}.course-container .course-description{color:#35d763;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.course-container .course-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.course-container .course-footer .course-price{align-items:center;gap:.5rem;display:flex}.course-container .course-footer .course-price .current-price{color:#ef4444;font-size:1.25rem;font-weight:700}.course-container .course-footer .course-price .price-note{color:#9ca3af;font-size:.85rem}.course-container .course-footer .course-price .original-price{color:#9ca3af;font-size:.9rem;text-decoration:line-through}.course-container .course-footer .course-progress{align-items:center;gap:.25rem;display:flex}.course-container .course-footer .course-progress .progress-text{color:#64748b;font-size:12px;font-weight:500}.course-container .course-footer .course-progress .join-text{color:#64748b;font-size:12px;font-weight:600}.course-container .course-footer .course-progress .join-text .join-label{color:#64748b;margin-right:2px}.course-container .course-footer .course-progress .join-text .join-value{color:#f59e0b}@media (width<=1400px){.course-container .courses-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.course-container .courses-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.course-container .courses-grid{grid-template-columns:repeat(1,1fr)}.course-container .course-footer{gap:.75rem}}.wechat-groups .groups-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.wechat-groups .group-card{color:inherit;cursor:pointer;background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border:1px solid #fff3;border-radius:16px;align-items:center;gap:1rem;padding:1rem;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.wechat-groups .group-card:hover{border-color:#3b82f6}.wechat-groups .group-card:hover .join-arrow span{transform:translate(3px)}.wechat-groups .group-icon{background:linear-gradient(135deg,#07c160 0%,#38d9a9 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.wechat-groups .group-icon .icon{font-size:24px}.wechat-groups .group-content{flex:1}.wechat-groups .group-name{color:#fff;margin:0 0 .25rem;font-size:1rem;font-weight:600}.wechat-groups .group-desc{color:#a0a6b0;margin:0;font-size:.85rem;line-height:1.4}.wechat-groups .join-arrow{color:#07c160;font-size:1.2rem;font-weight:700}.wechat-groups .join-arrow span{transition:transform .3s}@media (width<=768px){.wechat-groups .groups-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem}.wechat-groups .group-card{padding:.75rem}.wechat-groups .group-card .group-icon{width:40px;height:40px}.wechat-groups .group-card .group-icon .icon{font-size:20px}}.friends-container .all-friends{margin-bottom:0}.friends-container .friends-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.friends-container .friend-card{color:inherit;background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border:1px solid #fff3;border-radius:22px;align-items:center;height:44px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.friends-container .friend-card:hover{border-color:#3b82f6}.friends-container .friend-avatar{border:2px solid #ffffff1a;border-radius:50%;flex-shrink:0;width:44px;height:44px;overflow:hidden}.friends-container .friend-avatar img{object-fit:cover;width:100%;height:100%;transition:all .3s}.friends-container .friend-info{flex:1;padding-left:6px;padding-right:6px}.friends-container .friend-info .friend-name{color:#fff;word-break:keep-all;white-space:nowrap;text-overflow:ellipsis;height:20px;font-size:16px;font-weight:700;overflow:hidden}.friends-container .friend-info .friend-description{color:#a0a6b0;margin:0;font-size:12px;line-height:1.4}@media (width<=768px){.friends-container .friends-grid{grid-template-columns:1fr 1fr;gap:.6rem}.friends-container .friend-info .friend-name{font-size:14px}}.hosting-container .hosting-images{flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex}.hosting-container .hosting-item img{border-radius:12px;width:auto;max-width:100%;height:100px;transition:all .3s;box-shadow:0 4px 12px #0000001a}.hosting-container .hosting-item img:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}@media (width<=768px){.hosting-container .hosting-images{flex-direction:column;align-items:center;gap:1.5rem}.hosting-container .hosting-item{width:100%;max-width:400px}.hosting-container .hosting-item img{height:auto}}.site-footer{color:#e2e8f0;background:linear-gradient(135deg,#1e293b 0%,#334155 100%);margin-top:4rem;position:relative;overflow:hidden}.site-footer:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);height:1px;position:absolute;top:0;left:0;right:0}.site-footer .footer-container{max-width:var(--max-width);padding:3rem var(--container-padding) 2rem;margin:0 auto}.site-footer .footer-content{flex-direction:column;gap:2rem;display:flex}.site-footer .footer-main{grid-template-columns:1fr 2fr;align-items:start;gap:3rem;display:grid}.site-footer .footer-brand{justify-items:center;display:grid}.site-footer .footer-brand .brand-logo{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.site-footer .footer-brand .brand-logo .logo-image{border:2px solid #ffffff1a;border-radius:8px;width:48px;height:48px}.site-footer .footer-brand .brand-logo .brand-info .brand-name{color:#fff;margin:0 0 .25rem;font-size:20px;font-weight:700}.site-footer .footer-brand .brand-logo .brand-info .brand-tagline{color:#94a3b8;margin:0;font-size:14px}.site-footer .footer-brand .brand-description{color:#cbd5e1;max-width:300px;margin:0;font-size:14px;line-height:1.6}.site-footer .footer-links{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}.site-footer .link-group .group-title{color:#fff;margin:0 0 1rem;font-size:16px;font-weight:600}.site-footer .link-group .link-list{margin:0;padding:0;list-style:none}.site-footer .link-group .link-list li{margin-bottom:.5rem}.site-footer .link-group .link-list li a{color:#94a3b8;font-size:14px;text-decoration:none;transition:color .3s}.site-footer .link-group .link-list li a:hover{color:var(--primary-color)}.site-footer .link-group .link-list li .contact-item{color:#94a3b8;font-size:14px}.site-footer .footer-bottom{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-top:2rem;display:flex}.site-footer .copyright p{color:#94a3b8;margin:0 0 .25rem;font-size:13px}.site-footer .copyright p a{color:#94a3b8;text-decoration:none}.site-footer .copyright p a:hover{color:var(--primary-color)}.site-footer .footer-stats{align-items:center;gap:1rem;display:flex}.site-footer .footer-stats .stat-item{color:#64748b;font-size:13px}.site-footer .footer-stats .stat-divider{color:#475569;font-size:13px}@media (width<=1024px){.site-footer .footer-main{grid-template-columns:1fr;gap:2rem}.site-footer .footer-links{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.site-footer .footer-container{padding:2rem 10px 1.5rem}.site-footer .footer-links{grid-template-columns:1fr 1fr;gap:1.5rem}.site-footer .link-group:first-of-type,.site-footer .link-group:nth-of-type(3){text-align:right}.site-footer .footer-bottom{text-align:center;flex-direction:column;gap:1rem}.site-footer .footer-stats{gap:.5rem}.site-footer .footer-stats .stat-divider{display:none}}:root{--primary-color:#f0db4f;--primary-dark:#d4c143;--primary-light:#f5e66a;--primary-alpha-10:#f0db4f1a;--primary-alpha-20:#f0db4f33;--primary-alpha-30:#f0db4f4d;--secondary-color:#1e293b;--accent-color:#3b82f6;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-muted:#f1f5f9;--border-color:#e2e8f0;--border-hover:var(--primary-color);--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--info-color:#3b82f6;--max-width:1600px;--container-padding:15px}*{box-sizing:border-box;border:0;outline:0;margin:0;padding:0}body{margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-muted)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}::selection{background:var(--primary-alpha-30);color:var(--text-primary)}a{color:var(--primary-color);transition:color .2s}a:hover{color:var(--primary-dark)}#app{color:#fff;background-color:#21252b;font-family:M1 Heavy,M1 Heavy Placeholder,sans-serif;font-size:14px;overflow:hidden}#app ::-webkit-scrollbar{background-color:#30333a;width:10px;height:10px}#app ::-webkit-scrollbar-track{border-radius:5px}#app ::-webkit-scrollbar-track-piece{border-radius:5px}#app ::-webkit-scrollbar-thumb{background-color:#fefe00;background-clip:padding-box;border:3px solid #0000;border-radius:5px}.page-section{padding:4rem var(--container-padding)}.page-section-header{max-width:var(--max-width);text-align:center;margin:0 auto 3rem}.page-section-header .page-section-title{color:var(--primary-color);margin-bottom:1rem;font-size:2.5rem;font-weight:700}.page-section-header .page-section-description{opacity:.8;color:#a0a6b0;max-width:600px;margin:0 auto;font-size:1.1rem;line-height:1.6}.page-section-content{max-width:var(--max-width);margin:0 auto}.app-contact-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3000;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.app-contact-modal{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.app-contact-modal-header{justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 0;display:flex}.app-contact-modal-header .app-contact-modal-title{color:#333;margin:0;font-size:24px;font-weight:700}.app-contact-modal-header .app-contact-modal-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;transition:all .3s;display:flex}.app-contact-modal-header .app-contact-modal-close:hover{color:#333;background:#f5f5f5}.app-contact-modal-content{padding:1.5rem}.app-contact-info{text-align:center}.app-wechat-section{background-color:#f8f9fa;border-radius:10px;grid-template-columns:1fr 1fr;place-items:center;gap:2rem;margin-bottom:1rem;padding:20px 0;display:grid}.app-wechat-qr img{border:3px solid #f0f0f0;border-radius:12px;width:150px;height:150px}.app-wechat-qr .app-qr-tip{color:#666;margin:.5rem 0 0;font-size:14px}.app-wechat-details{text-align:left}.app-detail-item{background:#f8f9fa;border-radius:8px;align-items:center;gap:.8rem;margin-bottom:1rem;padding:10px;display:flex}.app-detail-item .app-detail-label{color:#333;flex-shrink:0;min-width:60px;font-weight:600}.app-detail-item .app-detail-value{color:#555;background:#fff;border:1px solid #e0e0e0;border-radius:4px;flex:1;padding:5px;font-family:monospace}.app-detail-item .app-copy-btn{background:var(--primary-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:5px 10px;font-size:12px;transition:all .3s}.app-detail-item .app-copy-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.app-contact-note{color:#999}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn.btn-primary{background:var(--primary-color);color:var(--secondary-color)}.btn.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn.btn-secondary{color:var(--primary-color);border:1px solid var(--primary-color);background:0 0}.btn.btn-secondary:hover{background:var(--primary-color);color:var(--secondary-color)}.card-shadow{box-shadow:0 1px 3px #0000001a}.card-shadow:hover{box-shadow:0 4px 12px var(--primary-alpha-10)}.gradient-text{background:linear-gradient(45deg, var(--primary-color), var(--primary-dark));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@media (width<=768px){.page-section-header{margin-bottom:2rem}.page-section-header .page-section-title{font-size:2rem}.page-section-header .page-section-description{padding:0 1rem;font-size:1rem}.app-contact-modal{max-width:90vw}.app-wechat-section{grid-template-columns:1fr;gap:1rem}.app-wechat-section .app-wechat-qr img{width:100px;height:100px}.app-wechat-details{text-align:center}.app-detail-item{gap:.5rem}.app-detail-item .app-detail-label{text-align:center;min-width:auto}}
