*{margin:0;padding:0;box-sizing:border-box}img{display:block;margin-left:auto;margin-right:auto}table{margin:auto;border-collapse:collapse;width:auto;max-width:fit-content}body{font-family:Microsoft YaHei,微软雅黑,Arial,sans-serif;font-size:14px;line-height:1.6;color:#333;background-color:#f5f5f5}.container{max-width:1200px;margin:0 auto;padding:0 10px}a{text-decoration:none;color:inherit}.header{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;padding:20px 0;box-shadow:0 2px 5px #0000001a}.header-content{display:flex;align-items:center;gap:20px}.header-logo{height:80px;width:auto;object-fit:contain}.logo{flex:1}.logo h1{font-size:32px;font-weight:700;margin-bottom:5px;letter-spacing:2px}.logo .subtitle{font-size:14px;opacity:.95;letter-spacing:1px}.navbar{background-color:#2563eb;box-shadow:0 2px 5px #0000001a;position:sticky;top:0;z-index:1000}.nav-menu{display:flex;justify-content:space-evenly;align-items:center}.nav-menu li{position:relative;flex:1;text-align:center}.nav-menu a{display:block;padding:15px 20px;color:#fff;font-size:16px;font-weight:500;transition:all .3s ease}.nav-menu a:hover,.nav-menu a.active{background-color:#1d4ed8}.main-content{padding:20px 0;min-height:calc(100vh - 300px)}.content-wrapper{display:grid;grid-template-columns:2fr 1fr;gap:20px;background:#fff;box-shadow:0 2px 8px #0000001a;border-radius:5px;overflow:hidden}.slider-section{padding:0}.slider{position:relative;width:100%;height:450px;overflow:hidden;background:#000}.slider-container{width:100%;height:100%;position:relative}.slide{position:absolute;width:100%;height:100%;opacity:0;transition:opacity .5s ease-in-out}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000080;color:#fff;border:none;padding:15px 20px;cursor:pointer;font-size:18px;transition:background-color .3s;z-index:10}.slider-btn:hover{background-color:#000c}.slider-btn.prev{left:10px}.slider-btn.next{right:10px}.slider-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.dot{width:12px;height:12px;border-radius:50%;background-color:#ffffff80;cursor:pointer;transition:all .3s}.dot.active{background-color:#fff;width:30px;border-radius:6px}.news-section{padding:20px;background-color:#fafafa;border-left:1px solid #e0e0e0}.news-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #2563eb}.news-header h2{font-size:20px;font-weight:700;color:#2563eb}.more-link{color:#666;font-size:14px;transition:color .3s}.more-link:hover{color:#2563eb}.news-list{display:flex;flex-direction:column;gap:0}.news-item{padding:12px 0;border-bottom:1px dashed #e0e0e0;display:flex;align-items:flex-start;gap:10px;transition:background-color .3s}.news-item:hover{background-color:#f0f0f0;padding-left:5px}.news-item:last-child{border-bottom:none}.news-date{color:#999;font-size:12px;white-space:nowrap;flex-shrink:0}.news-title{color:#333;font-size:14px;line-height:1.5;transition:color .3s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-title:hover{color:#2563eb}.footer{background-color:#2c3e50;color:#fff;padding:30px 0;margin-top:50px}.footer-content{text-align:center}.footer-content p{margin:5px 0;font-size:14px;opacity:.9}.page-header{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;padding:40px 0;margin-bottom:30px;text-align:center}.page-header h1{font-size:32px;margin-bottom:10px}.page-header p{font-size:16px;opacity:.95}.page-content{background:#fff;padding:30px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a;border-radius:5px;min-height:500px}.page-content h2{color:#2563eb;font-size:22px;margin-bottom:15px;margin-top:25px;padding-bottom:8px;border-bottom:2px solid #2563eb}.page-content h2:first-child{margin-top:0}.page-content h3{color:#333;font-size:18px;margin:20px 0 12px}.page-content p{line-height:1.8;margin-bottom:12px;text-align:justify}.page-content ul,.page-content ol{margin-left:30px;margin-bottom:12px}.page-content li{line-height:1.8;list-style:disc;margin-bottom:6px}.page-content ol li{list-style:decimal}.org-section{margin-bottom:30px}.org-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:15px}.org-item{padding:15px;background-color:#f8f9fa;border-radius:5px;border-left:3px solid #2563eb;transition:all .3s}.org-item:hover{background-color:#e7f3ff;transform:translate(5px)}.org-item h4{color:#2563eb;font-size:16px;margin-bottom:5px}.org-item p{color:#666;font-size:14px;margin:0}.search-box{background-color:#f8f9fa;padding:25px;border-radius:5px;margin-bottom:25px}.search-form{display:flex;gap:15px;max-width:600px;margin:0 auto}.search-input{flex:1;padding:12px 15px;border:1px solid #ddd;border-radius:5px;font-size:14px}.search-button{padding:12px 30px;background-color:#2563eb;color:#fff;border:none;border-radius:5px;font-size:14px;cursor:pointer;transition:background-color .3s}.search-button:hover{background-color:#1d4ed8}.year-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:25px;flex-wrap:wrap}.year-tab{padding:10px 20px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:5px;cursor:pointer;transition:all .3s;font-size:14px}.year-tab:hover{background-color:#e0e0e0}.year-tab.active{background-color:#2563eb;color:#fff;border-color:#2563eb}.track-tabs{display:flex;justify-content:center;gap:8px;margin-top:20px;margin-bottom:20px;flex-wrap:wrap}.track-tab{padding:8px 16px;background-color:#f8f9fa;border:2px solid #e0e0e0;border-radius:20px;cursor:pointer;transition:all .3s;font-size:13px;color:#666;font-weight:500}.track-tab:hover{background-color:#e7f3ff;border-color:#2563eb;color:#2563eb}.track-tab.active{background-color:#2563eb;color:#fff;border-color:#2563eb}.certificate-table{width:100%;max-width:1000px;margin:25px auto;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px #00000014;background:#fff}.certificate-table table{width:100%;border-collapse:collapse}.certificate-table th,.certificate-table td{padding:16px 20px;text-align:center;border-bottom:1px solid #e8e8e8}.certificate-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:14px;letter-spacing:.5px;text-transform:uppercase;position:relative}.certificate-table th:first-child{border-top-left-radius:12px}.certificate-table th:last-child{border-top-right-radius:12px}.certificate-table tbody tr{transition:all .3s ease;background:#fff}.certificate-table tbody tr:nth-child(2n){background-color:#f8f9fa}.certificate-table tbody tr:hover{background:linear-gradient(90deg,#f0f4ff,#e7f3ff);transform:scale(1.01);box-shadow:0 2px 12px #2563eb1a}.certificate-table td{color:#333;font-size:14px}.certificate-table td:first-child{font-weight:600;color:#667eea}.award-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-weight:600;font-size:13px;letter-spacing:.5px}.award-badge.gold{background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914;box-shadow:0 2px 8px #ffd7004d}.award-badge.silver{background:linear-gradient(135deg,silver,#e8e8e8);color:#666;box-shadow:0 2px 8px #c0c0c04d}.award-badge.bronze{background:linear-gradient(135deg,#cd7f32,#daa06d);color:#5c3d1f;box-shadow:0 2px 8px #cd7f324d}.download-btn{padding:6px 15px;background-color:#2563eb;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:12px;transition:background-color .3s}.download-btn:hover{background-color:#1d4ed8}.login-notice{background-color:#fff3cd;border:1px solid #ffc107;color:#856404;padding:15px;border-radius:5px;margin-bottom:20px;text-align:center}.registration-link{display:inline-block;padding:15px 40px;background-color:#2563eb;color:#fff;border-radius:5px;font-size:18px;font-weight:700;text-align:center;margin:30px 0;transition:all .3s}.registration-link:hover{background-color:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.learning-resource{margin-top:30px;margin-bottom:30px;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.resource-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px 15px;border-radius:12px;color:#fff;transition:all .3s ease;box-shadow:0 3px 10px #667eea40;text-decoration:none;min-height:120px;text-align:center}.resource-link:nth-child(1){background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 3px 10px #667eea40}.resource-link:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 3px 10px #f093fb40}.resource-link:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 3px 10px #4facfe40}.resource-link:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7);box-shadow:0 3px 10px #43e97b40}.resource-link:hover{transform:translateY(-5px)}.resource-link:nth-child(1):hover{box-shadow:0 6px 20px #667eea66}.resource-link:nth-child(2):hover{box-shadow:0 6px 20px #f093fb66}.resource-link:nth-child(3):hover{box-shadow:0 6px 20px #4facfe66}.resource-link:nth-child(4):hover{box-shadow:0 6px 20px #43e97b66}.resource-icon{font-size:32px;flex-shrink:0}.resource-text{flex:1;display:flex;flex-direction:column;align-items:center}.resource-text h3{font-size:16px;margin-bottom:0;font-weight:600;line-height:1.3}.resource-text p{font-size:12px;opacity:.9;margin:0}.resource-arrow{display:none}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:25px;margin-bottom:40px}.course-card{background:#fff;border-radius:12px;padding:28px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border:1px solid #e0e0e0}.course-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #2563eb26;border-color:#2563eb}.card-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.card-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a;flex-shrink:0}.card-icon svg{width:26px;height:26px;color:#fff}.card-header h2,.card-header h3{font-size:22px;color:#2563eb;font-weight:700;margin:0}.card-description{font-size:14px;color:#666;line-height:1.8;margin-bottom:20px}.resource-list{list-style:none}.resource-list li{margin-bottom:10px}.resource-list li:last-child{margin-bottom:0}.resource-list a{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8f9fa;border-radius:10px;text-decoration:none;color:#333;transition:all .3s ease;border:2px solid transparent}.resource-list a:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;transform:translate(5px);border-color:#2563eb4d}.resource-list .resource-icon{font-size:22px;flex-shrink:0}.resource-list .resource-title{flex:1;font-weight:600;font-size:14px}.resource-list .resource-badge{padding:4px 10px;background:#2563eb1a;color:#2563eb;border-radius:10px;font-size:12px;font-weight:600;transition:all .3s ease}.resource-list a:hover .resource-badge{background:#ffffff40;color:#fff}.learning-path{margin-top:50px;padding-top:40px;border-top:2px solid #e0e0e0}.learning-path h3{font-size:22px;color:#2563eb;margin-bottom:25px;font-weight:600;border-left:4px solid #2563eb;padding-left:15px}.learning-path-section{margin-top:50px;padding-top:40px;border-top:2px solid #e0e0e0}.learning-path-section h2{font-size:28px;color:#2563eb;margin-bottom:30px;text-align:center;font-weight:700}.path-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.path-step{display:flex;align-items:flex-start;gap:15px;padding:20px;background:#f8f9fa;border-radius:12px;transition:all .3s ease;border:2px solid transparent}.path-step:hover{background:#2563eb0d;border-color:#2563eb;transform:translateY(-3px);box-shadow:0 4px 12px #2563eb1a}.step-number{width:45px;height:45px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #2563eb4d}.step-content h3,.step-content h4{font-size:17px;color:#333;margin-bottom:6px;font-weight:700}.step-content p{font-size:14px;color:#666;line-height:1.6;margin:0}.event-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;margin:25px 0}.event-item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:all .3s ease;border:1px solid #e0e0e0}.event-item:hover{transform:translateY(-8px);box-shadow:0 8px 25px #2563eb26;border-color:#2563eb}.event-image{width:100%;height:200px;object-fit:cover;display:block}.event-info{padding:18px}.event-info h4{color:#2563eb;font-size:17px;font-weight:700;margin:0 0 10px}.event-location{color:#666;font-size:14px;margin:0 0 10px;font-weight:500}.event-description{color:#666;font-size:14px;line-height:1.7;margin:0;text-align:justify}@media(max-width:1024px){.learning-resource{grid-template-columns:repeat(2,1fr);gap:15px}.resource-link{padding:18px 15px;min-height:110px}.resource-text h3{font-size:15px}.resource-icon{font-size:28px}.problem-card{gap:12px}.problem-tags{display:none}.problem-desc{-webkit-line-clamp:2}}@media(max-width:768px){.content-wrapper{grid-template-columns:1fr}.slider{height:300px}.news-section{border-left:none;border-top:1px solid #e0e0e0}.nav-menu{flex-direction:column}.nav-menu a{padding:12px 20px;width:100%;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.logo h1{font-size:20px}.logo .subtitle{font-size:12px}.header-logo{height:50px}.header-content{flex-direction:column;text-align:center;gap:10px}.learning-resource{grid-template-columns:repeat(2,1fr);gap:12px}.resource-link{padding:15px 10px;min-height:100px}.resource-text h3{font-size:14px}.resource-icon{font-size:26px}.resource-arrow{display:none}.page-content{padding:20px}.org-list{grid-template-columns:1fr}.search-form{flex-direction:column}.certificate-table{font-size:12px;max-width:100%;border-radius:8px;box-shadow:0 2px 12px #00000014}.certificate-table th,.certificate-table td{padding:10px 8px;font-size:12px}.certificate-table th{font-size:11px;padding:12px 8px}.award-badge{padding:4px 10px;font-size:11px}.track-tabs{gap:6px}.track-tab{padding:6px 12px;font-size:12px}.event-gallery{grid-template-columns:1fr}.event-image{height:180px}.step-list,.feature-grid,.tool-grid,.course-list{grid-template-columns:1fr}.step-image,.video-wrapper{max-width:100%}.track-intro{padding:20px}.contact-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.problem-card{flex-direction:column;align-items:flex-start;padding:12px 15px}.problem-header{width:100%;min-width:auto;flex-wrap:wrap;gap:8px}.problem-content{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.problem-info{width:100%}.problem-title{white-space:normal;font-size:14px}.problem-desc{-webkit-line-clamp:2;font-size:12px}.problem-tags{padding-left:0;flex-wrap:wrap}.problem-stats{font-size:10px;gap:8px}.practice-btn{width:100%;text-align:center;padding:10px;margin-top:5px}.roadmap-stage{padding:15px}}.page-header-with-button{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.page-header-with-button h2{margin:0;color:#2563eb;font-size:28px;font-weight:700}.mooctest-enter-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;white-space:nowrap}.mooctest-enter-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea80;color:#fff}.mooctest-enter-btn .btn-icon{font-size:20px;animation:pulse 2s ease-in-out infinite}.mooctest-enter-btn .btn-text{letter-spacing:.5px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media(max-width:768px){.page-header-with-button{flex-direction:column;align-items:flex-start;gap:15px}.mooctest-enter-btn{width:100%;justify-content:center}}.help-section{margin-bottom:40px}.help-section h3{color:#2563eb;margin-bottom:20px;font-size:22px;border-left:4px solid #2563eb;padding-left:15px}.step-list{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:20px}.step-item{display:flex;gap:15px;background:#f8f9fa;padding:20px;border-radius:10px;transition:all .3s ease}.step-item:hover{background:linear-gradient(135deg,#f0f4ff,#e7f3ff);transform:translateY(-3px);box-shadow:0 4px 15px #2563eb1a}.step-number{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.step-content h4{color:#333;margin-bottom:8px;font-size:16px}.step-content p{color:#666;font-size:14px;line-height:1.6}.step-image-wrapper{margin-top:15px;text-align:center}.step-image{max-width:500px;width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.step-image:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.track-intro{margin-bottom:40px;padding:25px;background:#f8f9fa;border-radius:12px;border-left:4px solid #667eea}.track-intro h4{color:#333;font-size:20px;margin-bottom:15px;font-weight:600}.track-intro p{color:#666;font-size:15px;line-height:1.8;margin-bottom:20px}.video-wrapper{position:relative;width:100%;max-width:800px;margin:0 auto;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px;box-shadow:0 4px 15px #0000001a}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:10px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.feature-card{background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:25px;text-align:center;transition:all .3s ease}.feature-card:hover{border-color:#2563eb;transform:translateY(-5px);box-shadow:0 8px 20px #2563eb26}.feature-icon{font-size:48px;margin-bottom:15px}.feature-card h4{color:#333;margin-bottom:10px;font-size:18px}.feature-card p{color:#666;font-size:14px;line-height:1.6}.faq-list{margin-top:20px}.faq-item{background:#fff;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:15px;overflow:hidden}.faq-question{padding:18px 20px;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#333;transition:all .3s ease}.faq-question:hover{background:#e7f3ff;color:#2563eb}.faq-arrow{transition:transform .3s ease;color:#2563eb}.faq-item.active .faq-arrow{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 20px;color:#666;line-height:1.8}.faq-item.active .faq-answer{max-height:500px;padding:15px 20px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.contact-item{text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px 20px;border-radius:12px;transition:all .3s ease}.contact-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #667eea66}.contact-icon{font-size:36px;margin-bottom:10px}.contact-item h4{color:#fff;margin-bottom:8px;font-size:16px}.contact-item p{color:#ffffffe6;font-size:14px}.platform-btn{display:inline-block;padding:15px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:25px;font-size:16px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.platform-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #667eea80}.practice-intro,.resource-intro{background:linear-gradient(135deg,#f0f4ff,#e7f3ff);padding:18px 20px;border-radius:10px;margin-bottom:25px;border-left:4px solid #2563eb}.practice-intro p,.resource-intro p{margin:0;line-height:1.7}.year-filter,.track-filter{margin-bottom:20px}.year-filter h3,.track-filter h3{color:#333;margin-bottom:12px;font-size:17px}.problem-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.problem-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px 18px;transition:all .3s ease;display:flex;align-items:center;gap:15px}.problem-card:hover{border-color:#2563eb;box-shadow:0 2px 12px #2563eb1f;transform:translate(3px)}.problem-header{display:flex;align-items:center;gap:12px;min-width:200px;flex-shrink:0}.problem-meta{display:flex;gap:6px;flex-wrap:nowrap;align-items:center}.problem-year{background:#f0f0f0;color:#666;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.problem-track{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.problem-track.dev{background:linear-gradient(135deg,#667eea,#764ba2)}.problem-track.web{background:linear-gradient(135deg,#f093fb,#f5576c)}.problem-track.embedded{background:linear-gradient(135deg,#4facfe,#00f2fe)}.problem-difficulty{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.problem-difficulty.easy{background:#d4edda;color:#155724}.problem-difficulty.medium{background:#fff3cd;color:#856404}.problem-difficulty.hard{background:#f8d7da;color:#721c24}.problem-stats{display:flex;gap:12px;font-size:11px;color:#999;white-space:nowrap}.problem-content{flex:1;display:flex;align-items:center;gap:15px;min-width:0}.problem-info{flex:1;min-width:0}.problem-title{color:#333;font-size:15px;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.problem-desc{color:#666;font-size:13px;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.problem-tags{display:flex;gap:6px;flex-wrap:nowrap;margin-left:auto;padding-left:15px}.tag{background:#f0f0f0;color:#666;padding:3px 8px;border-radius:10px;font-size:11px;white-space:nowrap}.practice-btn{display:inline-block;padding:8px 18px;background:#2563eb;color:#fff;text-decoration:none;border-radius:6px;font-size:13px;font-weight:600;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.practice-btn:hover{background:#1d4ed8;box-shadow:0 2px 8px #2563eb4d}.practice-stats{margin:40px 0;padding:30px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px}.practice-stats h3{color:#fff;text-align:center;margin-bottom:25px;font-size:22px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-card{background:#fff3;padding:25px;border-radius:10px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-number{font-size:32px;font-weight:700;color:#fff;margin-bottom:8px}.stat-label{color:#ffffffe6;font-size:14px}.study-tips{background:#fff3cd;border-left:4px solid #ffc107;padding:18px 20px;border-radius:8px;margin-top:25px}.study-tips h3{color:#856404;margin-bottom:12px;font-size:17px}.study-tips ul{list-style:none;padding:0;margin:0}.study-tips li{color:#856404;margin-bottom:8px;padding-left:20px;position:relative;line-height:1.7}.study-tips li:last-child{margin-bottom:0}.study-tips li:before{content:"▸";position:absolute;left:0;color:#ffc107}.resource-section{margin-bottom:50px}.resource-section h3{color:#2563eb;margin-bottom:25px;font-size:22px;border-left:4px solid #2563eb;padding-left:15px}.course-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.course-card{background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:20px;transition:all .3s ease}.course-card:hover{border-color:#2563eb;transform:translateY(-3px);box-shadow:0 8px 20px #2563eb26}.course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.course-header h4{color:#333;font-size:18px}.course-level{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.course-level.basic{background:#d4edda;color:#155724}.course-level.intermediate{background:#fff3cd;color:#856404}.course-level.advanced{background:#f8d7da;color:#721c24}.course-desc{color:#666;font-size:14px;line-height:1.6;margin-bottom:15px}.course-info{display:flex;gap:15px;font-size:13px;color:#666;margin-bottom:15px;flex-wrap:wrap}.course-link{display:inline-block;padding:8px 20px;background:#2563eb;color:#fff;text-decoration:none;border-radius:6px;font-size:14px;font-weight:600;transition:all .3s ease}.course-link:hover{background:#1d4ed8}.book-list{display:grid;gap:20px}.book-card{display:flex;gap:20px;background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:20px;transition:all .3s ease}.book-card:hover{border-color:#2563eb;transform:translate(5px);box-shadow:0 4px 15px #2563eb1a}.book-cover{font-size:48px;flex-shrink:0}.book-info{flex:1}.book-info h4{color:#333;margin-bottom:5px;font-size:18px}.book-author{color:#999;font-size:13px;margin-bottom:10px}.book-desc{color:#666;font-size:14px;line-height:1.6;margin-bottom:10px}.book-tags{display:flex;gap:8px}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.tool-card{background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease}.tool-card:hover{border-color:#2563eb;transform:translateY(-5px);box-shadow:0 8px 20px #2563eb26}.tool-icon{font-size:42px;margin-bottom:12px}.tool-card h4{color:#333;margin-bottom:10px;font-size:16px}.tool-card p{color:#666;font-size:13px;line-height:1.6;margin-bottom:12px}.tool-link{color:#2563eb;text-decoration:none;font-size:13px;font-weight:600}.tool-link:hover{text-decoration:underline}.blog-list{display:grid;gap:15px}.blog-item{background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:20px;transition:all .3s ease}.blog-item:hover{border-color:#2563eb;transform:translate(5px);box-shadow:0 4px 15px #2563eb1a}.blog-item h4{color:#333;margin-bottom:8px;font-size:16px}.blog-item p{color:#666;font-size:14px;line-height:1.6;margin-bottom:10px}.blog-item a{color:#2563eb;text-decoration:none;font-weight:600;font-size:14px}.blog-item a:hover{text-decoration:underline}.roadmap{margin-top:20px}.roadmap-stage{background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:25px;margin-bottom:20px;transition:all .3s ease}.roadmap-stage:hover{border-color:#2563eb;box-shadow:0 4px 15px #2563eb1a}.stage-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.stage-number{width:45px;height:45px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.stage-header h4{color:#333;font-size:20px;margin:0}.stage-content{list-style:none;padding:0}.stage-content li{color:#666;padding:8px 0 8px 25px;position:relative;line-height:1.6}.stage-content li:before{content:"✓";position:absolute;left:0;color:#2563eb;font-weight:700}.study-layout{display:grid;grid-template-columns:280px 1fr;gap:30px;margin-top:30px}.chapter-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;height:fit-content;position:sticky;top:20px}.sidebar-header{padding:20px;border-bottom:2px solid #f0f0f0}.sidebar-header h3{margin:0;font-size:18px;color:#333}.chapter-nav{padding:15px}.chapter-item{margin-bottom:10px;border-radius:8px;overflow:hidden;background:#f8f9fa}.chapter-item.active{background:#2563eb0d}.chapter-title{padding:12px 15px;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:600;color:#333;transition:all .3s ease}.chapter-title:hover{background:#2563eb1a}.chapter-number{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;font-size:12px}.section-list{list-style:none;padding:0;margin:0;display:none}.chapter-item.active .section-list{display:block}.section-list li{padding:10px 15px 10px 35px;cursor:pointer;color:#666;font-size:14px;transition:all .3s ease;border-left:3px solid transparent}.section-list li:hover{background:#2563eb0d;color:#2563eb}.section-list li.active{background:#2563eb1a;color:#2563eb;border-left-color:#2563eb;font-weight:600}.content-area{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;padding:30px}.content-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.tab-btn{padding:10px 20px;background:transparent;border:none;border-radius:8px;font-size:15px;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease}.tab-btn:hover{background:#2563eb1a;color:#2563eb}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.content-title{font-size:26px;color:#333;margin-bottom:25px;padding-bottom:15px;border-bottom:3px solid #2563eb}.text-body{line-height:1.8;color:#333}.text-body h3{font-size:20px;color:#2563eb;margin-top:30px;margin-bottom:15px}.text-body p{margin-bottom:15px;text-align:justify}.text-body .content-list{margin:15px 0;padding-left:25px}.text-body .content-list li{margin-bottom:10px;line-height:1.8}.image-container{margin:30px 0;text-align:center}.content-image{max-width:100%;height:auto;border-radius:10px;box-shadow:0 4px 15px #0000001a}.image-caption{margin-top:10px;font-size:14px;color:#666;font-style:italic}.highlight-box{background:linear-gradient(135deg,#fff5e6,#ffe6cc);border-left:4px solid #ff9800;padding:20px;margin:25px 0;border-radius:8px}.highlight-box h4{margin-top:0;color:#ff9800}.comparison-table{width:100%;border-collapse:collapse;margin:20px 0;box-shadow:0 2px 8px #00000014}.comparison-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px;text-align:left;font-weight:600}.comparison-table td{padding:12px;border:1px solid #e0e0e0}.comparison-table tbody tr:nth-child(2n){background:#f8f9fa}.comparison-table tbody tr:hover{background:#2563eb0d}.video-list{display:flex;flex-direction:column;gap:30px}.video-item h3{font-size:18px;color:#333;margin-bottom:15px}.video-desc{color:#666;font-size:14px;margin-top:15px;line-height:1.6}.exercise-section{margin-bottom:40px}.exercise-section h3{font-size:20px;color:#2563eb;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.question-item:hover{border-color:#2563eb}.question-header{display:flex;gap:10px;margin-bottom:15px}.question-number{color:#2563eb;font-weight:700;font-size:16px}.question-text{color:#333;font-size:16px;line-height:1.6}.option{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.option input[type=radio]{width:18px;height:18px;cursor:pointer}.fill-blank-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;margin-top:10px;transition:all .3s ease}.fill-blank-input:focus{outline:none;border-color:#2563eb}.essay-textarea{width:100%;padding:15px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;margin-top:10px;resize:vertical;transition:all .3s ease}.essay-textarea:focus{outline:none;border-color:#2563eb}.submit-essay-btn{margin-top:10px;padding:10px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-essay-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-essay-btn:disabled{opacity:.6;cursor:not-allowed}.code-editor{margin-top:15px;border:2px solid #0e0d0d;border-radius:10px;overflow:hidden}.code-header{background:#2d3748;color:#fff;padding:10px 15px;display:flex;justify-content:space-between;align-items:center}.run-code-btn{padding:6px 15px;background:#48bb78;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.run-code-btn:hover{background:#38a169}.code-textarea{width:100%;padding:15px;background:#1a202c;color:#e2e8f0;border:none;font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.6;resize:vertical}.code-output{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0}.code-output h4{margin-top:0;color:#333;font-size:16px}.output-text{background:#1a202c;color:#48bb78;padding:15px;border-radius:6px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.answer-feedback{margin-top:10px;padding:10px 15px;border-radius:6px;font-size:14px}.answer-feedback.correct{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.answer-feedback.incorrect{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.answer-feedback.submitted{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.check-answers-btn{display:block;margin:30px auto 0;padding:12px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.check-answers-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.content-navigation{display:flex;justify-content:space-between;margin-top:40px;padding-top:30px;border-top:2px solid #f0f0f0}.nav-btn{padding:12px 30px;background:#fff;border:2px solid #2563eb;color:#2563eb;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.nav-btn:hover{background:#2563eb;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.project-section{margin-top:60px;padding:40px;background:linear-gradient(135deg,#f0f4ff,#e7f3ff);border-radius:15px}.project-header{text-align:center;margin-bottom:40px}.project-header h2{font-size:32px;color:#2563eb;margin-bottom:10px}.project-subtitle{font-size:16px;color:#666}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:40px}.project-card{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 15px #0000001a;transition:all .3s ease}.project-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px #2563eb33}.project-icon{font-size:48px;text-align:center;margin-bottom:20px}.project-card h3{font-size:22px;color:#333;margin-bottom:15px}.project-card p{color:#666;line-height:1.8;margin-bottom:20px}.project-features{list-style:none;padding:0;margin:20px 0}.project-features li{color:#666;padding:8px 0;font-size:14px}.project-btn{display:inline-block;padding:12px 25px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s ease}.project-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.platform-cta{text-align:center;padding:40px;background:#fff;border-radius:12px;box-shadow:0 4px 15px #00000014}.platform-cta h3{font-size:26px;color:#2563eb;margin-bottom:15px}.platform-cta p{font-size:16px;color:#666;margin-bottom:25px}.cta-button{display:inline-block;padding:15px 50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:10px;font-size:18px;font-weight:600;transition:all .3s ease}.cta-button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea80}@media(max-width:1024px){.study-layout{grid-template-columns:1fr}.chapter-sidebar{position:static}.project-grid{grid-template-columns:1fr}}@media(max-width:768px){.content-tabs{flex-wrap:wrap}.tab-btn{flex:1;min-width:150px}.content-navigation{flex-direction:column;gap:15px}.nav-btn{width:100%}.study-category-tabs{flex-direction:column}.study-grid{grid-template-columns:1fr!important}}.category-tabs{display:flex;gap:0;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:8px;box-shadow:0 4px 15px #667eea4d;overflow:hidden;margin-bottom:0}.category-button{flex:1;padding:16px 24px;background:#ffffff26;border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;color:#fff;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.category-button:hover{background:#ffffff40;transform:translateY(-2px)}.category-button.active{background:#fff;color:#667eea;border-color:#fff;box-shadow:0 4px 12px #00000026}.textbook-layout{display:grid;grid-template-columns:280px 1fr;gap:25px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 15px #00000014;min-height:700px}.textbook-sidebar{background:linear-gradient(180deg,#f8f9fa,#f0f2f5);border-right:2px solid #e0e0e0;overflow-y:auto;max-height:calc(100vh - 250px)}.sidebar-header{padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;position:sticky;top:0;z-index:10}.sidebar-header h3{margin:0;font-size:18px;font-weight:600}.chapter-group{margin-bottom:15px}.chapter-group-title{padding:12px 20px;background:#667eea1a;color:#2563eb;font-weight:700;font-size:14px;border-left:4px solid #2563eb;margin-bottom:5px}.chapter-list{padding:5px 0}.chapter-item{padding:12px 20px 12px 30px;cursor:pointer;transition:all .3s ease;font-size:14px;color:#333;border-left:3px solid transparent;display:flex;align-items:center;gap:10px}.chapter-item:hover{background:#2563eb14;border-left-color:#2563eb;color:#2563eb;transform:translate(3px)}.chapter-item.active{background:linear-gradient(90deg,#667eea26,#667eea0d);border-left-color:#667eea;color:#2563eb;font-weight:600}.chapter-num{display:inline-block;min-width:35px;color:#999;font-weight:600;font-size:12px}.chapter-item.active .chapter-num{color:#667eea}.section-item{padding:12px 20px 12px 30px;font-size:14px;font-weight:600;color:#333;background:#2563eb0d;border-left:3px solid #93c5fd;margin:5px 0;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px}.section-item:hover{background:#2563eb1f;color:#2563eb}.section-num{display:inline-block;min-width:35px;color:#2563eb;font-weight:700;font-size:13px}.subsection-list{padding-left:15px;max-height:1000px;overflow:hidden;transition:max-height .3s ease}.subsection-list.collapsed{max-height:0}.subsection-list .chapter-item{padding:10px 20px 10px 45px;font-size:13px}.subsection-list .chapter-num{min-width:40px;font-size:11px}.textbook-content{padding:0;display:flex;flex-direction:column}.content-tabs{display:flex;gap:0;border-bottom:2px solid #f0f0f0;background:#fafafa;padding:0;position:sticky;top:0;z-index:9}.tab-button{flex:1;padding:15px 20px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:600;color:#666;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.tab-button:hover{background:#2563eb0d;color:#2563eb}.tab-button.active{background:#fff;color:#2563eb;border-bottom-color:#2563eb}.tab-panel{display:none;padding:30px;flex:1;overflow-y:auto;max-height:calc(100vh - 350px)}.tab-panel.active{display:block;animation:fadeInContent .4s ease}@keyframes fadeInContent{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#textbook-body h1{color:#2563eb;font-size:28px;margin-bottom:20px;padding-bottom:15px;border-bottom:3px solid #2563eb}#textbook-body h2{color:#333;font-size:24px;margin-top:30px;margin-bottom:15px;padding-left:12px;border-left:5px solid #667eea}#textbook-body h3{color:#666;font-size:20px;margin-top:25px;margin-bottom:12px}#textbook-body h4{color:#888;font-size:17px;margin-top:20px;margin-bottom:10px}#textbook-body p{line-height:1.9;color:#444;margin-bottom:15px;text-align:justify;text-indent:2em}#textbook-body ul,#textbook-body ol{margin:15px 0;padding-left:40px}#textbook-body li{line-height:1.9;color:#444;margin-bottom:10px}.welcome-content{text-align:center;padding:40px 20px}.welcome-content h1{border-bottom:none;padding-bottom:0}.welcome-intro{max-width:900px;margin:0 auto}.welcome-intro>p{font-size:17px;color:#666;margin:25px 0 40px;text-indent:0}.feature-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:40px 0}.highlight-item{background:linear-gradient(135deg,#f8f9fa,#e8eaf0);padding:30px 20px;border-radius:12px;transition:all .3s ease}.highlight-item:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.highlight-icon{font-size:48px;display:block;margin-bottom:15px}.highlight-item h3{color:#2563eb;font-size:18px;margin:0 0 10px}.highlight-item p{color:#666;font-size:14px;margin:0;text-indent:0}.start-guide{background:linear-gradient(135deg,#fff5e6,#ffe6cc);border-radius:12px;padding:30px;margin-top:40px;text-align:left}.start-guide h3{color:#ff9800;margin-top:0;margin-bottom:15px;text-align:center}.start-guide>p{color:#856404;line-height:1.8;margin-bottom:20px;text-indent:0}.guide-steps{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:25px;flex-wrap:wrap}.step-badge{background:#fff;padding:12px 20px;border-radius:25px;color:#ff9800;font-weight:600;box-shadow:0 2px 8px #ff980033}.guide-steps .arrow{font-size:24px;color:#ff9800;font-weight:700}.empty-state{text-align:center;padding:80px 20px;color:#999}.empty-icon{font-size:72px;margin-bottom:20px;opacity:.5}.empty-state h3{color:#666;margin-bottom:10px}.empty-state p{color:#999;text-indent:0}.video-container{margin:20px 0}.video-container h3{color:#2563eb;margin-bottom:15px}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px;box-shadow:0 4px 15px #0000001a;margin-bottom:15px}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-desc{color:#666;font-size:14px;line-height:1.7;margin-top:10px;padding:15px;background:#f8f9fa;border-radius:8px}.exercise-container{max-width:900px}.exercise-section{margin-bottom:35px}.exercise-section h3{color:#2563eb;font-size:20px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}.question-item{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:20px;border:2px solid transparent;transition:all .3s ease}.question-item:hover{border-color:#2563eb;background:#f0f4ff}.question-header{display:flex;gap:12px;margin-bottom:15px;align-items:flex-start}.question-number{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);padding:6px 12px;border-radius:6px;font-weight:700;font-size:14px;flex-shrink:0}.question-text{color:#333;font-size:16px;line-height:1.7;flex:1}.options{display:flex;flex-direction:column;gap:10px;margin-top:15px}.option{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.option:hover{border-color:#2563eb;background:#2563eb0d}.option input[type=radio],.option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.option label{flex:1;cursor:pointer;color:#333;font-size:15px}.submit-answers-btn{display:block;margin:30px auto 0;padding:14px 45px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.submit-answers-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea66}.answer-feedback{margin-top:15px;padding:12px 18px;border-radius:8px;font-size:14px;font-weight:600}.answer-feedback.correct{background:#d4edda;color:#155724;border:2px solid #c3e6cb}.answer-feedback.incorrect{background:#f8d7da;color:#721c24;border:2px solid #f5c6cb}.project-training{margin:30px 0;padding:25px;background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-radius:12px;box-shadow:0 4px 15px #fdcb6e4d}.project-training p{margin-bottom:15px;color:#2d3436;font-size:15px;font-weight:600;text-indent:0}.mooctest-link{display:inline-flex;align-items:center;gap:12px;padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.mooctest-link:hover{transform:translateY(-3px);box-shadow:0 6px 20px #667eea80}.mooctest-link .icon{font-size:20px}.mooctest-link .text{letter-spacing:.5px}@media(max-width:1024px){.textbook-layout{grid-template-columns:1fr}.textbook-sidebar{max-height:400px;border-right:none;border-bottom:2px solid #e0e0e0}.feature-highlights{grid-template-columns:1fr;gap:20px}}@media(max-width:768px){.textbook-layout{margin:10px}.tab-button{padding:12px 10px;font-size:13px}.tab-panel{padding:20px 15px}#textbook-body h1{font-size:24px}#textbook-body h2{font-size:20px}.guide-steps{flex-direction:column}.guide-steps .arrow{transform:rotate(90deg)}#textbook-body pre{padding:15px;margin:15px 0;font-size:12px;border-left-width:3px}#textbook-body pre code{font-size:12px;line-height:1.6}#textbook-body table{max-width:100%;font-size:12px;margin:20px auto}#textbook-body table th,#textbook-body table td{padding:8px 10px;font-size:12px}#textbook-body table th{font-size:13px}#textbook-body table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}#textbook-body table thead,#textbook-body table tbody,#textbook-body table tr{display:table;width:100%;table-layout:fixed}}@media(min-width:769px)and (max-width:1024px){#textbook-body pre{padding:18px;font-size:13px}#textbook-body pre code{font-size:13px;line-height:1.7}#textbook-body table{max-width:95%;font-size:13px}#textbook-body table th,#textbook-body table td{padding:10px 15px}}.study-category-tabs{display:flex;justify-content:center;gap:20px;margin-bottom:40px;flex-wrap:wrap}.category-tab{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 40px;background:#fff;border:3px solid #e0e0e0;border-radius:15px;cursor:pointer;transition:all .3s ease;min-width:200px}.category-tab:hover{border-color:#2563eb;transform:translateY(-5px);box-shadow:0 8px 20px #2563eb33}.category-tab.active{border-color:#2563eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tab-icon{font-size:36px}.tab-text{font-size:18px;font-weight:600}.category-content{display:none}.category-content.active{display:block;animation:fadeIn .4s ease}.study-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.study-module{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:all .3s ease}.study-module:hover{transform:translateY(-8px);box-shadow:0 8px 25px #00000026}.module-header{padding:25px;color:#fff;text-align:center}.module-header h3{margin:0;font-size:22px;font-weight:700}.module-body{padding:25px}.module-intro{margin-bottom:20px}.module-intro p{color:#666;line-height:1.8;margin:0}.module-sections{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.section-btn{display:flex;align-items:center;gap:15px;padding:15px;background:#f8f9fa;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.section-btn:hover{background:#2563eb0d;border-color:#2563eb;transform:translate(5px)}.section-number{display:inline-block;padding:6px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-size:13px;font-weight:600;flex-shrink:0}.section-title{color:#333;font-size:15px;font-weight:500}.module-actions{display:flex;gap:10px}.action-btn{flex:1;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.video-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.video-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.exercise-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.exercise-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f093fb66}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#0009;align-items:center;justify-content:center;padding:20px}.modal-content{background:#fff;border-radius:15px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;padding:40px;position:relative;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.close-modal{position:absolute;right:20px;top:20px;font-size:32px;font-weight:700;color:#999;cursor:pointer;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-modal:hover{color:#333;background:#f0f0f0}.modal-content-body{margin-top:20px;line-height:1.8}.modal-content-body h2{color:#2563eb;margin-bottom:20px;font-size:28px}.modal-content-body h3{color:#333;margin-top:30px;margin-bottom:15px;font-size:22px}.modal-content-body h4{color:#666;margin-top:20px;margin-bottom:10px;font-size:18px}.modal-content-body p{color:#666;margin-bottom:15px}.modal-content-body ul.content-list,.modal-content-body ol.content-list{margin:15px 0;padding-left:30px}.modal-content-body ul.content-list li,.modal-content-body ol.content-list li{margin-bottom:12px;line-height:1.8;color:#666}.status-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px 0;padding:20px;background:#f8f9fa;border-radius:10px}.status-item{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-weight:600;font-size:14px}.arrow{font-size:20px;color:#2563eb;font-weight:700}#textbook-body pre{background:#f8fafc;border:2px solid #e2e8f0;border-left:4px solid #2563eb;border-radius:8px;padding:20px;margin:20px 0;overflow-x:auto;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}#textbook-body pre:hover{box-shadow:0 4px 12px #2563eb26;border-left-color:#1d4ed8}#textbook-body pre code{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.8;color:#1e293b;display:block;white-space:pre}#textbook-body code{background:#e0e7ff;color:#3730a3;padding:2px 6px;border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}#textbook-body pre code{background:transparent;padding:0}#textbook-body .highlight-python{background:linear-gradient(to right,#f8fafc,#f1f5f9)}#textbook-body .keyword{color:#06c;font-weight:700}#textbook-body .function{color:#7c3aed;font-weight:600}#textbook-body .string{color:#059669}#textbook-body .comment{color:#64748b;font-style:italic}#textbook-body .number{color:#ea580c}#textbook-body .operator{color:#475569;font-weight:700}#textbook-body .bracket{color:#64748b}#textbook-body .constant{color:#dc2626;font-weight:700}#textbook-body .builtin{color:#0891b2;font-weight:600}#textbook-body .annotation{color:#d97706;font-weight:600}#textbook-body table{width:auto;max-width:90%;margin:30px auto;border-collapse:collapse;background:#fff;box-shadow:0 2px 12px #00000014;border-radius:8px;overflow:hidden;font-size:14px}#textbook-body table th{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;padding:14px 20px;text-align:center;font-weight:600;font-size:15px;letter-spacing:.5px;border:none}#textbook-body table td{padding:12px 20px;text-align:center;color:#1e293b;border:1px solid #e2e8f0;line-height:1.8;transition:background-color .2s ease}#textbook-body table td:first-child{font-weight:600;color:#2563eb;background:#f8fafc}#textbook-body table tbody tr:nth-child(odd){background:#fff}#textbook-body table tbody tr:nth-child(2n){background:#f8fafc}#textbook-body table tbody tr:hover{background:#e0f2fe;transform:scale(1.01);transition:all .2s ease}#textbook-body table tbody tr:hover td{color:#0c4a6e}#textbook-body table thead tr th:first-child{border-top-left-radius:8px}#textbook-body table thead tr th:last-child{border-top-right-radius:8px}#textbook-body table tbody tr:last-child td:first-child{border-bottom-left-radius:8px}#textbook-body table tbody tr:last-child td:last-child{border-bottom-right-radius:8px}#textbook-body table caption{font-size:16px;font-weight:600;color:#1e293b;padding:10px 0;caption-side:bottom;margin-top:10px}.code-block{background:#1a202c;border-radius:10px;padding:20px;margin:20px 0;overflow-x:auto}.code-block pre{color:#e2e8f0;font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.6;margin:0}@media(max-width:1024px){.study-grid{grid-template-columns:1fr}}@media(max-width:768px){.modal-content{padding:20px}.category-tab{min-width:150px;padding:15px 25px}.tab-icon{font-size:28px}.tab-text{font-size:16px}}.year-tabs[data-v-aaf52c70]{display:flex;justify-content:center;gap:12px;margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:15px}.year-tab[data-v-aaf52c70]{padding:6px 15px;border:none;background:#f0f0f0;border-radius:4px;cursor:pointer;color:#666;font-weight:500}.year-tab.active[data-v-aaf52c70]{background:#42b983;color:#fff}.track-tabs[data-v-aaf52c70]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.track-tab[data-v-aaf52c70]{padding:5px 15px;border:1px solid #e0e0e0;background:#fff;border-radius:15px;cursor:pointer;font-size:13px}.track-tab.active[data-v-aaf52c70]{border-color:#42b983;color:#42b983;background:#f0fff8}.certificate-table-wrapper[data-v-aaf52c70]{max-height:550px;overflow-y:auto;border:1px solid #eee;border-radius:8px}.certificate-table[data-v-aaf52c70]{width:100%;border-collapse:collapse;background:#fff;table-layout:fixed}.certificate-table th[data-v-aaf52c70]{background:#f9fafb;padding:12px;border-bottom:2px solid #edf2f7;position:sticky;top:0;z-index:5;text-align:left}.certificate-table td[data-v-aaf52c70]{padding:12px;border-bottom:1px solid #f1f1f1;word-wrap:break-word}.teacher-cell[data-v-aaf52c70]{color:#888;font-size:.9em}.award-badge[data-v-aaf52c70]{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:700}.platinum[data-v-aaf52c70]{background:linear-gradient(135deg,#ff416c,#ff4b2b);color:#fff;box-shadow:0 2px 4px #ff4b2b4d}.gold[data-v-aaf52c70]{background:gold;color:#333}.silver[data-v-aaf52c70]{background:#e2e8f0;color:#4a5568}.bronze[data-v-aaf52c70]{background:#faebdd;color:sienna}.empty-state[data-v-aaf52c70]{padding:60px;text-align:center;color:#a0aec0}.empty-state .icon[data-v-aaf52c70]{font-size:40px;margin-bottom:10px}.text-center[data-v-aaf52c70]{text-align:center}.font-bold[data-v-aaf52c70]{font-weight:600}.certificate-table th[data-v-aaf52c70]{background-color:#f2f2f2;color:#333!important;padding:12px;border-bottom:2px solid #ccc;position:sticky;top:0;z-index:10;text-align:center;font-weight:700}.certificate-table td[data-v-aaf52c70]{padding:12px;border-bottom:1px solid #eee;text-align:center;word-wrap:break-word;color:#444}.textbook-layout[data-v-49a824b3]{display:flex;align-items:stretch;min-height:calc(100vh - 120px);background-color:#f8f9fa;border-radius:12px;overflow:hidden;box-shadow:0 2px 15px #00000014}.textbook-sidebar[data-v-49a824b3]{width:300px;background-color:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;max-height:none!important;height:auto}.category-content[data-v-49a824b3]{flex:1;overflow-y:auto;padding:15px 0;position:sticky;top:0}.textbook-content[data-v-49a824b3]{flex:1;display:flex;flex-direction:column;background-color:#fff;min-width:0}.tab-container[data-v-49a824b3],.tab-panels-wrapper[data-v-49a824b3],.tab-panel[data-v-49a824b3]{display:flex;flex-direction:column;flex:1;max-height:none!important}.tab-panel[data-v-49a824b3]{display:none}.tab-panel.active[data-v-49a824b3]{display:flex}.dynamic-content[data-v-49a824b3],.welcome-content[data-v-49a824b3]{padding:30px;flex:1}@media(max-width:992px){.textbook-layout[data-v-49a824b3]{flex-direction:column;min-height:auto}.textbook-sidebar[data-v-49a824b3]{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;max-height:350px!important}.textbook-content[data-v-49a824b3]{min-height:500px}}.category-content[data-v-49a824b3]::-webkit-scrollbar{width:4px}.category-content[data-v-49a824b3]::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.textbook-layout[data-v-4c7d6357]{display:flex;align-items:stretch;min-height:calc(100vh - 120px);background-color:#f8f9fa;border-radius:12px;overflow:hidden;box-shadow:0 2px 15px #00000014}.textbook-sidebar[data-v-4c7d6357]{width:300px;background-color:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;max-height:none!important;height:auto}.category-content[data-v-4c7d6357]{flex:1;overflow-y:auto;padding:15px 0;position:sticky;top:0}.textbook-content[data-v-4c7d6357]{flex:1;display:flex;flex-direction:column;background-color:#fff;min-width:0}.tab-container[data-v-4c7d6357],.tab-panels-wrapper[data-v-4c7d6357],.tab-panel[data-v-4c7d6357]{display:flex;flex-direction:column;flex:1;max-height:none!important}.tab-panel[data-v-4c7d6357]{display:none}.tab-panel.active[data-v-4c7d6357]{display:flex}.dynamic-content[data-v-4c7d6357],.welcome-content[data-v-4c7d6357]{padding:30px;flex:1}@media(max-width:992px){.textbook-layout[data-v-4c7d6357]{flex-direction:column;min-height:auto}.textbook-sidebar[data-v-4c7d6357]{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;max-height:350px!important}.textbook-content[data-v-4c7d6357]{min-height:500px}}.category-content[data-v-4c7d6357]::-webkit-scrollbar{width:4px}.category-content[data-v-4c7d6357]::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.textbook-layout[data-v-0080ff1a]{display:flex;align-items:stretch;min-height:calc(100vh - 120px);background-color:#f8f9fa;border-radius:12px;overflow:hidden;box-shadow:0 2px 15px #00000014}.textbook-sidebar[data-v-0080ff1a]{width:300px;background-color:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;max-height:none!important;height:auto}.category-content[data-v-0080ff1a]{flex:1;overflow-y:auto;padding:15px 0;position:sticky;top:0}.textbook-content[data-v-0080ff1a]{flex:1;display:flex;flex-direction:column;background-color:#fff;min-width:0}.tab-container[data-v-0080ff1a],.tab-panels-wrapper[data-v-0080ff1a],.tab-panel[data-v-0080ff1a]{display:flex;flex-direction:column;flex:1;max-height:none!important}.tab-panel[data-v-0080ff1a]{display:none}.tab-panel.active[data-v-0080ff1a]{display:flex}.dynamic-content[data-v-0080ff1a],.welcome-content[data-v-0080ff1a]{padding:30px;flex:1}@media(max-width:992px){.textbook-layout[data-v-0080ff1a]{flex-direction:column;min-height:auto}.textbook-sidebar[data-v-0080ff1a]{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;max-height:350px!important}.textbook-content[data-v-0080ff1a]{min-height:500px}}.category-content[data-v-0080ff1a]::-webkit-scrollbar{width:4px}.category-content[data-v-0080ff1a]::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.toggle-link[data-v-d5ece3bc]{color:#2563eb;cursor:pointer;font-weight:700;white-space:nowrap}.toggle-link[data-v-d5ece3bc]:hover{text-decoration:underline}.info-banner[data-v-d5ece3bc]{background-color:#e7f3ff;border-left:4px solid #2196F3;padding:20px;margin:30px 0;border-radius:5px}.info-banner p[data-v-d5ece3bc]{text-align:center;color:#0d47a1;margin:0}.slide img[data-v-d5ece3bc]{object-fit:contain}.page-content[data-v-8ecfd9c8]{max-width:900px;margin:0 auto;padding:20px}h2[data-v-8ecfd9c8]{color:#333;margin-bottom:10px}p[data-v-8ecfd9c8]{color:#666;margin-bottom:30px}.news-list-page[data-v-8ecfd9c8]{display:flex;flex-direction:column;gap:12px}.news-list-item[data-v-8ecfd9c8]{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#fff;border-radius:8px;border-bottom:1px solid #eee;transition:all .2s ease;cursor:pointer}.news-list-item[data-v-8ecfd9c8]:hover{background-color:#f8fafc;transform:translate(5px);box-shadow:0 2px 8px #0000000d;border-bottom-color:transparent}.news-item-title[data-v-8ecfd9c8]{font-size:16px;font-weight:500;color:#333;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:20px;display:flex;align-items:center;gap:8px}.news-list-item:hover .news-item-title[data-v-8ecfd9c8]{color:#2563eb}.sticky-tag[data-v-8ecfd9c8]{font-size:12px;color:#e11d48;background-color:#ffe4e6;padding:2px 6px;border-radius:4px;font-weight:400;flex-shrink:0}.news-item-date[data-v-8ecfd9c8]{color:#888;font-size:14px;white-space:nowrap;flex-shrink:0}.empty-state[data-v-8ecfd9c8]{text-align:center;padding:40px;color:#999;background:#fafafa;border-radius:8px}.pagination[data-v-8ecfd9c8]{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:40px;padding:20px 0}.page-btn[data-v-8ecfd9c8]{padding:8px 14px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;color:#666;transition:all .3s ease}.page-btn[data-v-8ecfd9c8]:hover:not(:disabled){border-color:#2563eb;color:#2563eb}.page-btn.active[data-v-8ecfd9c8]{background:#2563eb;border-color:#2563eb;color:#fff}.page-btn[data-v-8ecfd9c8]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.news-list-item[data-v-8ecfd9c8]{flex-direction:column;align-items:flex-start;gap:8px}.news-item-title[data-v-8ecfd9c8]{padding-right:0;white-space:normal}}.news-detail-container[data-v-36c3aa63]{max-width:900px;margin:30px auto;padding:0 15px;background-color:#fcfcfc;min-height:90vh}.news-card[data-v-36c3aa63]{background:#fff;padding:40px 50px;border-radius:8px;box-shadow:0 4px 20px #0000000d}.news-header[data-v-36c3aa63]{display:flex;flex-direction:column;align-items:center;margin-bottom:25px}.news-title[data-v-36c3aa63]{width:100%;font-size:28px;line-height:1.4;color:#1a2a3a;margin:0 0 15px;font-weight:700;text-align:center;display:block}.news-meta[data-v-36c3aa63]{display:flex;justify-content:center;align-items:center;gap:12px;color:#8a99a8;font-size:14px}.meta-divider[data-v-36c3aa63]{width:1px;height:12px;background:#e0e6ed}.content-divider[data-v-36c3aa63]{border:0;height:1px;background:#f0f3f5;margin-bottom:35px}.news-body[data-v-36c3aa63]{font-size:16px;color:#334155;line-height:1.7;word-wrap:break-word}.news-body[data-v-36c3aa63] p{margin:.5em 0!important;padding:0}.news-body[data-v-36c3aa63] p:has(br){margin:0!important;line-height:1.2}.news-body[data-v-36c3aa63] img{max-width:100%!important;height:auto!important;display:block;margin:20px auto!important;border-radius:4px;box-shadow:0 2px 10px #0000000d}.news-body[data-v-36c3aa63] .ql-align-center{text-align:center}.news-body[data-v-36c3aa63] .ql-size-large{font-size:1.2em;font-weight:500}.news-body[data-v-36c3aa63] a{color:#2563eb;text-decoration:underline;word-break:break-all}.footer-actions[data-v-36c3aa63]{margin-top:50px;border-top:1px solid #f1f5f9;padding-top:25px;text-align:center}.back-btn-modern[data-v-36c3aa63]{padding:10px 30px;background-color:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.back-btn-modern[data-v-36c3aa63]:hover{background-color:#f8fafc;border-color:#cbd5e1;color:#1e293b}.status-wrapper[data-v-36c3aa63]{text-align:center;padding:80px 0;color:#94a3b8}.loader[data-v-36c3aa63]{border:2px solid #f3f3f3;border-top:2px solid #3b82f6;border-radius:50%;width:24px;height:24px;animation:spin-36c3aa63 1s linear infinite;margin:0 auto 10px}@keyframes spin-36c3aa63{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.news-card[data-v-36c3aa63]{padding:25px 20px}.news-title[data-v-36c3aa63]{font-size:22px}}
