:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#f5f9ff;--primary-color: #6BA3E3;--primary-light: #9BC4ED;--primary-dark: #4A8BCF;--bg-light: #F5F9FF;--bg-white: #FEFEFE;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#f5f9ff}a{color:inherit;text-decoration:none}button{font-family:inherit}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}.header[data-v-b886003a]{background:#fefefe;box-shadow:0 2px 8px #6ba3e31a;position:sticky;top:0;z-index:1000}.header-container[data-v-b886003a]{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:70px}.logo-section[data-v-b886003a]{display:flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer}.logo-icon[data-v-b886003a]{width:24px;height:24px;background:#6ba3e3;border-radius:4px}.logo-text[data-v-b886003a]{font-size:24px;font-weight:700;color:#333}.logo-image[data-v-b886003a]{height:40px;max-width:200px;object-fit:contain}.nav-menu[data-v-b886003a]{display:flex;gap:32px;align-items:center}.nav-link[data-v-b886003a]{color:#666;text-decoration:none;font-size:15px;transition:color .3s;position:relative}.nav-link[data-v-b886003a]:hover{color:#6ba3e3}.nav-link.router-link-active[data-v-b886003a]{color:#6ba3e3;font-weight:500}.auth-buttons[data-v-b886003a]{display:flex;gap:12px}.btn-login[data-v-b886003a]{padding:8px 24px;border:1px solid #6BA3E3;color:#6ba3e3;text-decoration:none;border-radius:4px;font-size:14px;transition:all .3s}.btn-login[data-v-b886003a]:hover{background:#e8f4fd}.btn-register[data-v-b886003a]{padding:8px 24px;background:#6ba3e3;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;transition:all .3s}.btn-register[data-v-b886003a]:hover{background:#9bc4ed}.btn-logout[data-v-b886003a]{padding:8px 24px;background:#f56c6c;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:all .3s}.btn-logout[data-v-b886003a]:hover{background:#f78989}@media(max-width:768px){.nav-menu[data-v-b886003a]{gap:16px;font-size:14px}.nav-link[data-v-b886003a]{font-size:14px}}.footer[data-v-d7842fbd]{background:#f5f9ff;padding:60px 20px 30px;margin-top:80px}.footer-container[data-v-d7842fbd]{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-column[data-v-d7842fbd]{display:flex;flex-direction:column;gap:20px}.company-name[data-v-d7842fbd]{font-size:16px;font-weight:500;color:#333}.contact-info[data-v-d7842fbd]{font-size:14px;color:#666;line-height:1.8}.social-icons[data-v-d7842fbd]{display:flex;gap:12px;margin-top:10px}.social-icon[data-v-d7842fbd]{width:32px;height:32px;border-radius:50%;background:#ddd;cursor:pointer;transition:background .3s}.social-icon[data-v-d7842fbd]:hover{background:#6ba3e3}.footer-title[data-v-d7842fbd]{font-size:16px;font-weight:500;color:#333;margin-bottom:10px}.footer-links[data-v-d7842fbd]{display:flex;flex-direction:column;gap:12px}.footer-link[data-v-d7842fbd]{color:#666;text-decoration:none;font-size:14px;transition:color .3s}.footer-link[data-v-d7842fbd]:hover{color:#6ba3e3}@media(max-width:768px){.footer-container[data-v-d7842fbd]{grid-template-columns:1fr;gap:40px}}.home[data-v-dc968784]{min-height:100vh;background:#fefefe}.hero-section[data-v-dc968784]{padding:80px 20px;background:linear-gradient(to bottom,#f5f9ff,#fefefe)}.hero-container[data-v-dc968784]{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-title[data-v-dc968784]{font-size:48px;font-weight:700;line-height:1.2;margin-bottom:24px;color:#333}.hero-title .highlight[data-v-dc968784]{color:#6ba3e3;display:block}.hero-description[data-v-dc968784]{font-size:16px;line-height:1.8;color:#666;margin-bottom:32px}.hero-actions[data-v-dc968784]{display:flex;align-items:center;gap:24px}.btn-primary[data-v-dc968784]{padding:14px 32px;background:#6ba3e3;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:8px}.btn-primary[data-v-dc968784]:hover{background:#9bc4ed;transform:translateY(-2px);box-shadow:0 4px 12px #6ba3e34d}.arrow[data-v-dc968784]{font-size:18px}.user-count[data-v-dc968784]{display:flex;align-items:center;gap:12px}.count-number[data-v-dc968784]{font-size:18px;font-weight:600;color:#333}.avatars[data-v-dc968784]{display:flex;gap:-8px}.avatar[data-v-dc968784]{width:32px;height:32px;border-radius:50%;background:#6ba3e3;border:2px solid #fff;margin-left:-8px}.avatar[data-v-dc968784]:first-child{margin-left:0}.hero-image[data-v-dc968784]{display:flex;justify-content:center;align-items:center}.image-placeholder[data-v-dc968784]{width:100%;height:400px;background:linear-gradient(135deg,#6ba3e3,#9bc4ed);border-radius:12px;position:relative;overflow:hidden}.student-figure[data-v-dc968784]{position:absolute;bottom:0;left:50%;transform:translate(-50%)}.head[data-v-dc968784]{width:80px;height:80px;background:#ffdbac;border-radius:50%;margin:0 auto 10px}.body[data-v-dc968784]{width:120px;height:150px;background:#333;border-radius:20px 20px 0 0;margin:0 auto}.laptop[data-v-dc968784]{width:140px;height:90px;background:#fff;border-radius:8px;margin:10px auto 0;box-shadow:0 4px 12px #0000001a}.section[data-v-dc968784]{padding:80px 20px}.section-container[data-v-dc968784]{max-width:1200px;margin:0 auto}.section-title[data-v-dc968784]{font-size:36px;font-weight:700;text-align:center;margin-bottom:20px;color:#333}.section-description[data-v-dc968784]{text-align:center;color:#666;font-size:15px;line-height:1.8;margin-bottom:50px;max-width:600px;margin-left:auto;margin-right:auto}.cards-grid[data-v-dc968784]{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.card[data-v-dc968784]{background:#fefefe;padding:32px;border-radius:12px;box-shadow:0 2px 12px #6ba3e31a;transition:all .3s}.card[data-v-dc968784]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.card-icon[data-v-dc968784]{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.icon-symbol[data-v-dc968784]{font-size:28px}.card-title[data-v-dc968784]{font-size:20px;font-weight:600;margin-bottom:12px;color:#333}.card-description[data-v-dc968784]{font-size:14px;line-height:1.7;color:#666}.programming-section[data-v-dc968784]{background:#f5f9ff}.programming-content[data-v-dc968784]{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.programming-card[data-v-dc968784]{background:#6ba3e3;padding:48px;border-radius:16px;color:#fff;position:relative}.programming-title[data-v-dc968784]{font-size:32px;font-weight:700;margin-bottom:20px}.programming-description[data-v-dc968784]{font-size:16px;line-height:1.8;opacity:.95}.programming-arrow[data-v-dc968784]{position:absolute;right:48px;bottom:48px;font-size:24px}.programming-image[data-v-dc968784]{height:300px;background:#1a1a1a;border-radius:12px;padding:30px;display:flex;flex-direction:column;gap:12px}.code-display[data-v-dc968784]{flex:1;display:flex;flex-direction:column;gap:12px}.code-line[data-v-dc968784]{height:20px;background:#2d3748;border-radius:4px;width:80%}.code-line[data-v-dc968784]:nth-child(2){width:60%}.code-line[data-v-dc968784]:nth-child(3){width:90%}.activity-cards[data-v-dc968784]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.activity-card[data-v-dc968784]{background:#fefefe;border-radius:12px;padding:32px;box-shadow:0 2px 12px #6ba3e31a;transition:all .3s}.activity-card[data-v-dc968784]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.activity-card.active[data-v-dc968784]{background:#6ba3e3;color:#fff}.activity-header[data-v-dc968784]{font-size:18px;font-weight:600;margin-bottom:16px;color:#6ba3e3}.activity-card.active .activity-header[data-v-dc968784]{color:#fff}.activity-title[data-v-dc968784]{font-size:20px;font-weight:600;margin-bottom:12px}.activity-description[data-v-dc968784]{font-size:14px;line-height:1.7;opacity:.9}.function-card[data-v-dc968784]{max-width:600px;margin:0 auto;background:#fefefe;padding:48px;border-radius:12px;box-shadow:0 2px 12px #6ba3e31a;text-align:center}.function-icon[data-v-dc968784]{font-size:64px;margin-bottom:24px}.function-description[data-v-dc968784]{font-size:15px;line-height:1.8;color:#666}@media(max-width:768px){.hero-container[data-v-dc968784],.programming-content[data-v-dc968784],.cards-grid[data-v-dc968784],.activity-cards[data-v-dc968784]{grid-template-columns:1fr}.hero-title[data-v-dc968784]{font-size:32px}}.recommend[data-v-c31682d3]{text-align:center;font-weight:700;font-size:28px;margin-bottom:20px}.course-center[data-v-c31682d3]{min-height:100vh;background:#f5f9ff}.page-header[data-v-c31682d3]{background:linear-gradient(135deg,#6ba3e3,#9bc4ed);padding:80px 20px;color:#fff}.page-container[data-v-c31682d3]{max-width:1200px;margin:0 auto}.page-title[data-v-c31682d3]{font-size:42px;font-weight:700;margin-bottom:16px}.page-subtitle[data-v-c31682d3]{font-size:18px;opacity:.95}.page-content[data-v-c31682d3]{padding:40px 20px}.loading[data-v-c31682d3]{text-align:center;padding:60px 20px;font-size:16px;color:#666}.error-message[data-v-c31682d3]{text-align:center;padding:60px 20px;font-size:16px;color:#f56c6c}.empty-state[data-v-c31682d3]{text-align:center;padding:60px 20px;font-size:16px;color:#999}.courses-grid[data-v-c31682d3]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.course-card[data-v-c31682d3]{background:#fefefe;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #6ba3e31a;transition:all .3s;cursor:pointer}.course-card[data-v-c31682d3]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.course-image[data-v-c31682d3]{height:150px;background:linear-gradient(135deg,#6ba3e3,#9bc4ed);display:flex;align-items:center;justify-content:center;overflow:hidden}.course-image img[data-v-c31682d3]{width:100%;height:100%;object-fit:cover}.image-placeholder[data-v-c31682d3]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.course-icon[data-v-c31682d3]{font-size:48px}.course-info[data-v-c31682d3]{padding:24px}.course-name[data-v-c31682d3]{font-size:18px;font-weight:600;margin-bottom:12px;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-desc[data-v-c31682d3]{font-size:14px;color:#666;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:1024px){.courses-grid[data-v-c31682d3]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.courses-grid[data-v-c31682d3]{grid-template-columns:1fr}}.course-detail[data-v-a547dfb4]{min-height:100vh;background:linear-gradient(135deg,#f5f9ff,#e8f4fd)}.page-container[data-v-a547dfb4]{max-width:1400px;margin:0 auto;padding:40px 20px}.loading[data-v-a547dfb4]{text-align:center;padding:60px 20px;font-size:16px;color:#666}.error-message[data-v-a547dfb4]{text-align:center;padding:60px 20px;font-size:16px;color:#f56c6c}.detail-content[data-v-a547dfb4]{background:#fff;border-radius:16px;padding:40px;box-shadow:0 4px 20px #6ba3e326}.btn-back[data-v-a547dfb4]{padding:10px 20px;background:linear-gradient(135deg,#6ba3e3,#9bc4ed);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;margin-bottom:24px;transition:all .3s;box-shadow:0 2px 8px #6ba3e34d}.btn-back[data-v-a547dfb4]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6ba3e366}.detail-header[data-v-a547dfb4]{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #E8F4FD}.detail-title[data-v-a547dfb4]{font-size:36px;font-weight:700;margin-bottom:16px;color:#1a1a1a;line-height:1.4;background:linear-gradient(135deg,#6ba3e3,#4a90e2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center}.detail-meta[data-v-a547dfb4]{display:flex;gap:32px;font-size:15px;color:#666;flex-wrap:wrap}.meta-item[data-v-a547dfb4]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f9ff;border-radius:20px}.meta-icon[data-v-a547dfb4]{font-size:18px}.detail-cover[data-v-a547dfb4]{width:100%;margin-bottom:32px;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.detail-cover img[data-v-a547dfb4]{width:100%;height:auto;display:block}.detail-desc[data-v-a547dfb4]{margin-bottom:40px;padding:24px;background:linear-gradient(135deg,#f5f9ff,#fff);border-radius:12px;border-left:4px solid #6BA3E3}.section-title[data-v-a547dfb4]{font-size:22px;font-weight:600;margin-bottom:20px;color:#1a1a1a;display:flex;align-items:center;gap:12px}.title-icon[data-v-a547dfb4]{font-size:24px}.desc-content[data-v-a547dfb4]{font-size:16px;line-height:2;color:#555}.content-layout[data-v-a547dfb4]{display:grid;grid-template-columns:380px 1fr;gap:32px;margin-top:32px}.left-panel[data-v-a547dfb4]{position:sticky;top:20px;height:fit-content;max-height:calc(100vh - 100px);overflow-y:auto}.catalog-section[data-v-a547dfb4]{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 12px #6ba3e31a;border:1px solid #E8F4FD}.catalog-list[data-v-a547dfb4]{display:flex;flex-direction:column;gap:12px;margin-top:20px}.catalog-item[data-v-a547dfb4]{padding:16px;background:#f8fafc;border-radius:10px;cursor:pointer;transition:all .3s;border:2px solid transparent}.catalog-item[data-v-a547dfb4]:hover{background:#e8f4fd;transform:translate(4px);box-shadow:0 2px 8px #6ba3e333}.catalog-item.active[data-v-a547dfb4]{background:linear-gradient(135deg,#6ba3e3,#9bc4ed);color:#fff;border-color:#4a90e2;box-shadow:0 4px 12px #6ba3e34d}.chapter-header[data-v-a547dfb4]{display:flex;align-items:center;gap:12px;font-weight:600}.chapter-number[data-v-a547dfb4]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#6ba3e333;border-radius:50%;font-size:14px;font-weight:700}.catalog-item.active .chapter-number[data-v-a547dfb4]{background:#ffffff4d;color:#fff}.chapter-title[data-v-a547dfb4]{flex:1;font-size:15px}.chapter-icon[data-v-a547dfb4]{font-size:12px;opacity:.7}.chapter-desc[data-v-a547dfb4]{margin-top:8px;font-size:13px;opacity:.8;line-height:1.6}.right-panel[data-v-a547dfb4]{min-height:600px}.attachment-section[data-v-a547dfb4]{background:#fff;border-radius:12px;padding:28px;box-shadow:0 2px 12px #6ba3e31a;border:1px solid #E8F4FD}.chapter-name[data-v-a547dfb4]{font-size:16px;color:#6ba3e3;font-weight:500}.empty-state[data-v-a547dfb4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon[data-v-a547dfb4]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-text[data-v-a547dfb4]{font-size:16px;color:#999}.attachment-content[data-v-a547dfb4]{margin-top:24px}.attachment-list[data-v-a547dfb4]{display:flex;flex-direction:column;gap:16px}.attachment-item[data-v-a547dfb4]{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#f8fafc;border-radius:12px;border:1px solid #E8F4FD;transition:all .3s}.attachment-item[data-v-a547dfb4]:hover{background:#f0f7ff;border-color:#6ba3e3;box-shadow:0 2px 8px #6ba3e326;transform:translateY(-2px)}.attachment-info[data-v-a547dfb4]{display:flex;align-items:center;gap:16px;flex:1}.attachment-icon[data-v-a547dfb4]{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f4fd,#f5f9ff);border-radius:12px}.attachment-details[data-v-a547dfb4]{flex:1}.attachment-name[data-v-a547dfb4]{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.attachment-meta[data-v-a547dfb4]{display:flex;gap:12px;align-items:center}.meta-tag[data-v-a547dfb4]{padding:3px 12px 5px;background:#6ba3e3;color:#fff;border-radius:12px;font-size:12px;font-weight:500}.meta-size[data-v-a547dfb4]{font-size:13px;color:#999}.attachment-actions[data-v-a547dfb4]{display:flex;gap:12px}.btn-action[data-v-a547dfb4]{padding:10px 20px;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:6px;font-weight:500}.btn-preview[data-v-a547dfb4]{background:linear-gradient(135deg,#6ba3e3,#9bc4ed);color:#fff;box-shadow:0 2px 8px #6ba3e34d}.btn-preview[data-v-a547dfb4]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6ba3e366}.btn-download[data-v-a547dfb4]{background:#fff;color:#6ba3e3;border:2px solid #6BA3E3}.btn-download[data-v-a547dfb4]:hover{background:#6ba3e3;color:#fff;transform:translateY(-2px)}.btn-icon[data-v-a547dfb4]{font-size:16px}.preview-area[data-v-a547dfb4]{margin-top:24px;border-radius:12px;overflow:hidden;border:1px solid #E8F4FD;background:#fff;box-shadow:0 4px 16px #6ba3e326}.preview-header[data-v-a547dfb4]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:linear-gradient(135deg,#6ba3e3,#9bc4ed);color:#fff}.preview-title[data-v-a547dfb4]{font-size:16px;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-close[data-v-a547dfb4]{width:32px;height:32px;border:none;background:#fff3;color:#fff;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s}.btn-close[data-v-a547dfb4]:hover{background:#ffffff4d;transform:rotate(90deg)}.preview-content[data-v-a547dfb4]{min-height:500px;background:#f8fafc}.preview-video[data-v-a547dfb4],.preview-pdf[data-v-a547dfb4],.preview-office[data-v-a547dfb4],.preview-image[data-v-a547dfb4]{width:100%;height:600px;background:#000}.video-player[data-v-a547dfb4]{width:100%;height:100%;display:block}.pdf-iframe[data-v-a547dfb4],.office-iframe[data-v-a547dfb4]{width:100%;height:100%;border:none}.preview-image[data-v-a547dfb4]{display:flex;align-items:center;justify-content:center;background:#f0f0f0;padding:20px}.image-preview[data-v-a547dfb4]{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 16px #0000001a}.preview-other[data-v-a547dfb4]{display:flex;align-items:center;justify-content:center;height:100%;min-height:500px}.preview-placeholder[data-v-a547dfb4]{text-align:center;padding:60px}.placeholder-icon[data-v-a547dfb4]{font-size:80px;margin-bottom:24px;opacity:.6}.placeholder-text[data-v-a547dfb4]{font-size:16px;color:#999;margin-bottom:24px}.btn-download-large[data-v-a547dfb4]{padding:14px 28px;background:linear-gradient(135deg,#6ba3e3,#9bc4ed);color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;font-weight:500;box-shadow:0 2px 8px #6ba3e34d}.btn-download-large[data-v-a547dfb4]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6ba3e366}@media(max-width:1200px){.content-layout[data-v-a547dfb4]{grid-template-columns:320px 1fr;gap:24px}}@media(max-width:968px){.content-layout[data-v-a547dfb4]{grid-template-columns:1fr;gap:24px}.left-panel[data-v-a547dfb4]{position:static;max-height:none}.catalog-list[data-v-a547dfb4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}}@media(max-width:768px){.detail-content[data-v-a547dfb4]{padding:24px}.detail-title[data-v-a547dfb4]{font-size:28px}.detail-meta[data-v-a547dfb4]{flex-direction:column;gap:12px}.attachment-item[data-v-a547dfb4]{flex-direction:column;align-items:flex-start;gap:16px}.attachment-actions[data-v-a547dfb4]{width:100%;justify-content:space-between}.btn-action[data-v-a547dfb4]{flex:1;justify-content:center}.preview-video[data-v-a547dfb4],.preview-pdf[data-v-a547dfb4],.preview-office[data-v-a547dfb4]{height:400px}.catalog-list[data-v-a547dfb4]{grid-template-columns:1fr}}.experiment-center[data-v-dabbff73]{min-height:100vh;background:#f8f9fa}.page-header[data-v-dabbff73]{background:linear-gradient(135deg,#f093fb,#f5576c);padding:80px 20px;color:#fff}.page-container[data-v-dabbff73]{max-width:1200px;margin:0 auto}.page-title[data-v-dabbff73]{font-size:42px;font-weight:700;margin-bottom:16px}.page-subtitle[data-v-dabbff73]{font-size:18px;opacity:.95}.page-content[data-v-dabbff73]{padding:60px 20px}.experiment-categories[data-v-dabbff73]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:60px}.category-card[data-v-dabbff73]{background:#fff;padding:32px;border-radius:12px;text-align:center;box-shadow:0 2px 12px #00000014;transition:all .3s}.category-card[data-v-dabbff73]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.category-icon[data-v-dabbff73]{font-size:48px;margin-bottom:16px}.category-name[data-v-dabbff73]{font-size:20px;font-weight:600;margin-bottom:8px;color:#333}.category-desc[data-v-dabbff73]{font-size:14px;color:#666;margin-bottom:12px}.category-count[data-v-dabbff73]{font-size:13px;color:#409eff;font-weight:500}.section-title[data-v-dabbff73]{font-size:28px;font-weight:700;margin-bottom:30px;color:#333}.experiments-grid[data-v-dabbff73]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.experiment-card[data-v-dabbff73]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:all .3s}.experiment-card[data-v-dabbff73]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.experiment-thumb[data-v-dabbff73]{height:160px;background:linear-gradient(135deg,#667eea,#764ba2)}.thumb-placeholder[data-v-dabbff73]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.experiment-emoji[data-v-dabbff73]{font-size:48px}.experiment-info[data-v-dabbff73]{padding:24px}.experiment-name[data-v-dabbff73]{font-size:18px;font-weight:600;margin-bottom:8px;color:#333}.experiment-desc[data-v-dabbff73]{font-size:14px;color:#666;line-height:1.6;margin-bottom:16px}.experiment-meta[data-v-dabbff73]{display:flex;justify-content:space-between;font-size:13px;color:#999;margin-bottom:16px}.btn-start[data-v-dabbff73]{width:100%;padding:10px;background:#409eff;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s}.btn-start[data-v-dabbff73]:hover{background:#66b1ff}.tool-modal-overlay[data-v-dabbff73]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tool-modal[data-v-dabbff73]{width:100%;max-width:1300px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;overflow:hidden;display:flex;flex-direction:column;animation:modalIn-dabbff73 .2s ease-out}.tool-modal__header[data-v-dabbff73]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f0f0f0;background:linear-gradient(135deg,#eef2ff,#f8fbff)}.tool-modal__title[data-v-dabbff73]{font-size:16px;font-weight:600;color:#333}.tool-modal__close[data-v-dabbff73]{width:32px;height:32px;border:none;border-radius:6px;background:#fff;box-shadow:0 1px 2px #0000000f;cursor:pointer;font-size:20px;line-height:32px;text-align:center;color:#666;transition:all .2s}.tool-modal__close[data-v-dabbff73]:hover{background:#f5f7fa;color:#333}.tool-modal__body[data-v-dabbff73]{height:80vh;background:#fafafa}.tool-iframe[data-v-dabbff73]{width:100%;height:100%;border:0;border-radius:0 0 12px 12px;background:#fff}@keyframes modalIn-dabbff73{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.experiment-categories[data-v-dabbff73]{grid-template-columns:repeat(2,1fr)}.experiments-grid[data-v-dabbff73]{grid-template-columns:1fr}}.classroom-activities[data-v-e182d2dd]{min-height:100vh;background:#f8f9fa}.page-header[data-v-e182d2dd]{background:linear-gradient(135deg,#4facfe,#00f2fe);padding:80px 20px;color:#fff}.page-container[data-v-e182d2dd]{max-width:1200px;margin:0 auto}.page-title[data-v-e182d2dd]{font-size:42px;font-weight:700;margin-bottom:16px}.page-subtitle[data-v-e182d2dd]{font-size:18px;opacity:.95}.page-content[data-v-e182d2dd]{padding:60px 20px}.loading[data-v-e182d2dd]{text-align:center;padding:60px 20px;font-size:16px;color:#666}.error-message[data-v-e182d2dd]{text-align:center;padding:60px 20px;font-size:16px;color:#f56c6c}.empty-state[data-v-e182d2dd]{text-align:center;padding:60px 20px;font-size:16px;color:#999}.activities-grid[data-v-e182d2dd]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.activity-item[data-v-e182d2dd]{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:all .3s;cursor:pointer}.activity-item[data-v-e182d2dd]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.activity-cover[data-v-e182d2dd]{width:100%;height:200px;overflow:hidden;background:#f0f0f0}.activity-cover img[data-v-e182d2dd]{width:100%;height:100%;object-fit:cover}.activity-title[data-v-e182d2dd]{font-size:20px;font-weight:600;margin:20px 24px 12px;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-desc[data-v-e182d2dd]{font-size:14px;color:#666;line-height:1.7;margin:0 24px 24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:1024px){.activities-grid[data-v-e182d2dd]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.activities-grid[data-v-e182d2dd]{grid-template-columns:1fr}}.activity-detail[data-v-c6c3df09]{min-height:100vh;background:#f5f9ff}.page-container[data-v-c6c3df09]{max-width:900px;margin:0 auto;padding:40px 20px}.loading[data-v-c6c3df09]{text-align:center;padding:60px 20px;font-size:16px;color:#666}.error-message[data-v-c6c3df09]{text-align:center;padding:60px 20px;font-size:16px;color:#f56c6c}.detail-content[data-v-c6c3df09]{background:#fefefe;border-radius:12px;padding:40px;box-shadow:0 2px 12px #6ba3e31a}.btn-back[data-v-c6c3df09]{padding:8px 16px;background:#f0f0f0;border:none;border-radius:6px;font-size:14px;cursor:pointer;margin-bottom:24px;transition:all .3s}.btn-back[data-v-c6c3df09]:hover{background:#e0e0e0}.detail-header[data-v-c6c3df09]{margin-bottom:24px}.detail-title[data-v-c6c3df09]{font-size:32px;font-weight:700;margin-bottom:16px;color:#333;line-height:1.4}.detail-meta[data-v-c6c3df09]{display:flex;gap:24px;font-size:14px;color:#666}.meta-item[data-v-c6c3df09]{display:flex;align-items:center}.detail-cover[data-v-c6c3df09]{width:100%;margin-bottom:32px;border-radius:8px;overflow:hidden}.detail-cover img[data-v-c6c3df09]{width:100%;height:auto;display:block}.detail-desc[data-v-c6c3df09]{margin-bottom:32px}.detail-desc h3[data-v-c6c3df09],.detail-content-rich h3[data-v-c6c3df09],.detail-attach h3[data-v-c6c3df09]{font-size:20px;font-weight:600;margin-bottom:16px;color:#333}.detail-desc p[data-v-c6c3df09]{font-size:15px;line-height:1.8;color:#666}.detail-content-rich[data-v-c6c3df09]{margin-bottom:32px}.rich-text[data-v-c6c3df09]{font-size:15px;line-height:1.8;color:#333}.rich-text[data-v-c6c3df09] p{margin-bottom:16px}.rich-text[data-v-c6c3df09] img{max-width:100%;height:auto;border-radius:4px}.rich-text[data-v-c6c3df09] a{color:#6ba3e3;text-decoration:none}.rich-text[data-v-c6c3df09] a:hover{text-decoration:underline}.detail-attach[data-v-c6c3df09]{padding-top:24px;border-top:1px solid #e0e0e0}.btn-download[data-v-c6c3df09]{padding:12px 24px;background:#6ba3e3;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px}.btn-download[data-v-c6c3df09]:hover{background:#9bc4ed}@media(max-width:768px){.detail-content[data-v-c6c3df09]{padding:24px}.detail-title[data-v-c6c3df09]{font-size:24px}.detail-meta[data-v-c6c3df09]{flex-direction:column;gap:8px}}.classroom-functions[data-v-04427adb]{min-height:100vh;background:#f8f9fa}.page-header[data-v-04427adb]{background:linear-gradient(135deg,#fa709a,#fee140);padding:80px 20px;color:#fff}.page-container[data-v-04427adb]{max-width:1200px;margin:0 auto}.page-title[data-v-04427adb]{font-size:42px;font-weight:700;margin-bottom:16px}.page-subtitle[data-v-04427adb]{font-size:18px;opacity:.95}.page-content[data-v-04427adb]{padding:60px 20px}.function-intro[data-v-04427adb]{text-align:center;background:#fff;padding:48px;border-radius:12px;margin-bottom:50px;box-shadow:0 2px 12px #00000014}.intro-icon[data-v-04427adb]{font-size:64px;margin-bottom:24px}.intro-text[data-v-04427adb]{font-size:16px;line-height:1.8;color:#666;max-width:700px;margin:0 auto}.functions-grid[data-v-04427adb]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:60px}.function-card[data-v-04427adb]{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 12px #00000014;transition:all .3s}.function-card[data-v-04427adb]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.function-icon-wrapper[data-v-04427adb]{width:64px;height:64px;background:#ecf5ff;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.function-icon[data-v-04427adb]{font-size:32px}.function-name[data-v-04427adb]{font-size:22px;font-weight:600;margin-bottom:12px;color:#333}.function-desc[data-v-04427adb]{font-size:14px;color:#666;margin-bottom:20px;line-height:1.6}.function-features[data-v-04427adb]{list-style:none;padding:0;margin:0}.function-features li[data-v-04427adb]{font-size:14px;color:#666;padding:8px 0 8px 20px;position:relative}.function-features li[data-v-04427adb]:before{content:"✓";position:absolute;left:0;color:#409eff;font-weight:700}.features-section[data-v-04427adb]{margin-top:60px}.section-title[data-v-04427adb]{font-size:28px;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.features-list[data-v-04427adb]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature-item[data-v-04427adb]{background:#fff;padding:32px;border-radius:12px;display:flex;gap:24px;box-shadow:0 2px 12px #00000014}.feature-badge[data-v-04427adb]{font-size:36px;font-weight:700;color:#409eff;line-height:1}.feature-content[data-v-04427adb]{flex:1}.feature-title[data-v-04427adb]{font-size:20px;font-weight:600;margin-bottom:12px;color:#333}.feature-text[data-v-04427adb]{font-size:14px;color:#666;line-height:1.7}@media(max-width:768px){.functions-grid[data-v-04427adb],.features-list[data-v-04427adb]{grid-template-columns:1fr}}.about[data-v-006c6623]{min-height:100vh;background:#f5f9ff}.page-header[data-v-006c6623]{background:linear-gradient(135deg,#6ba3e3,#9bc4ed);padding:80px 20px;color:#fff}.page-container[data-v-006c6623]{max-width:1200px;margin:0 auto}.page-title[data-v-006c6623]{font-size:42px;font-weight:700;margin-bottom:16px}.page-subtitle[data-v-006c6623]{font-size:18px;opacity:.95}.page-content[data-v-006c6623]{padding:60px 20px}.about-intro[data-v-006c6623]{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:#fefefe;padding:48px;border-radius:12px;margin-bottom:60px;box-shadow:0 2px 12px #6ba3e31a}.intro-image[data-v-006c6623]{height:300px;display:flex;align-items:center;justify-content:center}.image-placeholder[data-v-006c6623]{width:100%;height:100%;background:linear-gradient(135deg,#6ba3e3,#9bc4ed);border-radius:12px;display:flex;align-items:center;justify-content:center}.logo-image-large[data-v-006c6623]{width:100%;height:100%;object-fit:contain;border-radius:12px}.logo-large[data-v-006c6623]{font-size:64px;font-weight:700;color:#fff}.intro-title[data-v-006c6623]{font-size:28px;font-weight:700;margin-bottom:20px;color:#333}.intro-content[data-v-006c6623]{font-size:15px;line-height:1.8;color:#666;margin-bottom:16px}.values-section[data-v-006c6623],.team-section[data-v-006c6623],.contact-section[data-v-006c6623]{margin-bottom:60px}.section-title[data-v-006c6623]{font-size:32px;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.values-grid[data-v-006c6623]{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.value-card[data-v-006c6623]{background:#fefefe;padding:32px;border-radius:12px;text-align:center;box-shadow:0 2px 12px #6ba3e31a;transition:all .3s}.value-card[data-v-006c6623]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.value-icon[data-v-006c6623]{font-size:48px;margin-bottom:20px}.value-title[data-v-006c6623]{font-size:20px;font-weight:600;margin-bottom:12px;color:#333}.value-desc[data-v-006c6623]{font-size:14px;color:#666;line-height:1.6}.team-grid[data-v-006c6623]{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.team-member[data-v-006c6623]{background:#fefefe;padding:32px;border-radius:12px;text-align:center;box-shadow:0 2px 12px #6ba3e31a;transition:all .3s}.team-member[data-v-006c6623]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.member-avatar[data-v-006c6623]{margin-bottom:20px}.avatar-placeholder[data-v-006c6623]{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#6ba3e3,#9bc4ed);margin:0 auto}.member-name[data-v-006c6623]{font-size:20px;font-weight:600;margin-bottom:8px;color:#333}.member-role[data-v-006c6623]{font-size:14px;color:#666}.contact-section[data-v-006c6623]{background:#fefefe;padding:48px;border-radius:12px;box-shadow:0 2px 12px #6ba3e31a}.contact-info[data-v-006c6623]{display:flex;flex-direction:column;gap:20px;max-width:600px;margin:0 auto}.contact-item[data-v-006c6623]{display:flex;gap:20px;font-size:16px}.contact-label[data-v-006c6623]{font-weight:600;color:#333;min-width:80px}.contact-value[data-v-006c6623]{color:#666}@media(max-width:768px){.about-intro[data-v-006c6623]{grid-template-columns:1fr}.values-grid[data-v-006c6623],.team-grid[data-v-006c6623]{grid-template-columns:repeat(2,1fr)}}.login-page[data-v-dfa6a575]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column}.login-container[data-v-dfa6a575]{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 20px}.login-box[data-v-dfa6a575]{background:#fff;border-radius:16px;padding:48px;width:100%;max-width:450px;box-shadow:0 10px 40px #0000001a}.login-title[data-v-dfa6a575]{font-size:32px;font-weight:700;text-align:center;margin-bottom:8px;color:#333}.login-subtitle[data-v-dfa6a575]{text-align:center;color:#666;margin-bottom:32px;font-size:14px}.login-form[data-v-dfa6a575]{width:100%}.form-group[data-v-dfa6a575]{margin-bottom:24px}.form-label[data-v-dfa6a575]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.form-input[data-v-dfa6a575]{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s;box-sizing:border-box}.form-input[data-v-dfa6a575]:focus{outline:none;border-color:#409eff;box-shadow:0 0 0 2px #409eff1a}.form-options[data-v-dfa6a575]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:14px}.remember-me[data-v-dfa6a575]{display:flex;align-items:center;gap:8px;color:#666;cursor:pointer}.remember-me input[data-v-dfa6a575]{cursor:pointer}.forgot-password[data-v-dfa6a575]{color:#409eff;text-decoration:none}.forgot-password[data-v-dfa6a575]:hover{text-decoration:underline}.btn-submit[data-v-dfa6a575]{width:100%;padding:14px;background:#409eff;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.btn-submit[data-v-dfa6a575]:hover{background:#66b1ff}.divider[data-v-dfa6a575]{text-align:center;margin:24px 0;position:relative;color:#999;font-size:14px}.divider[data-v-dfa6a575]:before,.divider[data-v-dfa6a575]:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:#e0e0e0}.divider[data-v-dfa6a575]:before{left:0}.divider[data-v-dfa6a575]:after{right:0}.social-login[data-v-dfa6a575]{display:flex;gap:12px;margin-bottom:24px}.social-btn[data-v-dfa6a575]{flex:1;padding:12px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;transition:all .3s}.social-btn[data-v-dfa6a575]:hover{border-color:#409eff;color:#409eff}.register-link[data-v-dfa6a575]{text-align:center;font-size:14px;color:#666}.register-link a[data-v-dfa6a575]{color:#409eff;text-decoration:none}.register-link a[data-v-dfa6a575]:hover{text-decoration:underline}.error-message[data-v-dfa6a575]{padding:12px;background:#fee;color:#f56c6c;border-radius:6px;margin-bottom:16px;font-size:14px}.btn-submit[data-v-dfa6a575]:disabled{opacity:.6;cursor:not-allowed}.register-page[data-v-961cdff1]{min-height:100vh;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;flex-direction:column}.register-container[data-v-961cdff1]{flex:1;display:flex;align-items:center;justify-content:center;padding:60px 20px}.register-box[data-v-961cdff1]{background:#fff;border-radius:16px;padding:48px;width:100%;max-width:450px;box-shadow:0 10px 40px #0000001a}.register-title[data-v-961cdff1]{font-size:32px;font-weight:700;text-align:center;margin-bottom:8px;color:#333}.register-subtitle[data-v-961cdff1]{text-align:center;color:#666;margin-bottom:32px;font-size:14px}.register-form[data-v-961cdff1]{width:100%}.form-group[data-v-961cdff1]{margin-bottom:24px}.form-label[data-v-961cdff1]{display:block;font-size:14px;color:#333;margin-bottom:8px;font-weight:500}.form-input[data-v-961cdff1]{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s;box-sizing:border-box}.form-input[data-v-961cdff1]:focus{outline:none;border-color:#409eff;box-shadow:0 0 0 2px #409eff1a}.verify-group[data-v-961cdff1]{display:flex;gap:12px}.verify-input[data-v-961cdff1]{flex:1}.btn-verify[data-v-961cdff1]{padding:12px 20px;background:#f0f0f0;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;cursor:pointer;white-space:nowrap;transition:all .3s}.btn-verify[data-v-961cdff1]:hover{background:#e0e0e0}.form-agreement[data-v-961cdff1]{margin-bottom:24px}.agreement-label[data-v-961cdff1]{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#666;line-height:1.6;cursor:pointer}.agreement-label input[data-v-961cdff1]{margin-top:2px;cursor:pointer}.agreement-label a[data-v-961cdff1]{color:#409eff;text-decoration:none}.agreement-label a[data-v-961cdff1]:hover{text-decoration:underline}.btn-submit[data-v-961cdff1]{width:100%;padding:14px;background:#409eff;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.btn-submit[data-v-961cdff1]:hover{background:#66b1ff}.login-link[data-v-961cdff1]{text-align:center;margin-top:24px;font-size:14px;color:#666}.login-link a[data-v-961cdff1]{color:#409eff;text-decoration:none}.login-link a[data-v-961cdff1]:hover{text-decoration:underline}.error-message[data-v-961cdff1]{padding:12px;background:#fee;color:#f56c6c;border-radius:6px;margin-bottom:16px;font-size:14px}.success-message[data-v-961cdff1]{padding:12px;background:#f0f9ff;color:#67c23a;border-radius:6px;margin-bottom:16px;font-size:14px}.btn-submit[data-v-961cdff1]:disabled{opacity:.6;cursor:not-allowed}
