:root{--primary:#42b883;--primary-hover:#33a06f;--primary-light:#42b8831f;--secondary:#35495e;--accent:#646cff;--bg-app:#f8fafc;--bg-surface:#fff;--bg-subtle:#f1f5f9;--bg-code:#1e1e2e;--bg-editor-gutter:#181825;--text-main:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--text-code:#cdd6f4;--border-color:#e2e8f0;--border-subtle:#f1f5f9;--badge-bg:#e0f2fe;--badge-text:#0369a1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #00000014;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #00000014;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}[data-theme=dark]{--primary:#42b883;--primary-hover:#4ade80;--primary-light:#42b8832e;--secondary:#94a3b8;--accent:#818cf8;--bg-app:#0f172a;--bg-surface:#1e293b;--bg-subtle:#334155;--bg-code:#0b0f19;--bg-editor-gutter:#070a11;--text-main:#f8fafc;--text-muted:#94a3b8;--text-light:#64748b;--text-code:#f1f5f9;--border-color:#334155;--border-subtle:#1e293b;--badge-bg:#42b88333;--badge-text:#4ade80;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-main);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans TC,Helvetica,Arial,sans-serif;line-height:1.6;transition:background-color .25s,color .25s;overflow-x:hidden}button{cursor:pointer;background:0 0;border:none;font-family:inherit}code,pre,.font-mono{font-family:JetBrains Mono,Fira Code,Courier New,Courier,monospace}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.track-jump-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0;display:grid}.track-jump-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;justify-content:space-between;padding:14px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000d}.track-jump-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.jump-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.jump-card-tag{background:var(--primary-light);color:var(--primary);border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:700}.jump-card-count{color:var(--text-muted);font-size:11px}.jump-card-title{color:var(--text-main);margin-bottom:6px;font-size:15px;font-weight:700}.jump-card-desc{color:var(--text-muted);flex:1;margin-bottom:14px;font-size:12px;line-height:1.5}.jump-action-btn{background:var(--bg-subtle);color:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;text-align:center;width:100%;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s}.jump-action-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.file-spec-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md,10px);margin:18px 0;padding:16px;box-shadow:0 2px 8px #0000000a}.file-spec-header{border-bottom:1px dashed var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.file-spec-name{font-family:var(--font-mono,monospace);color:var(--primary);align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.file-spec-role{color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:4px;padding:2px 8px;font-size:12px}.file-spec-desc{color:var(--text-main);margin-bottom:12px;font-size:13.5px;line-height:1.6}.file-spec-jump{border-top:1px solid var(--border-color);background:var(--bg-subtle);border-radius:var(--radius-sm,6px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.file-spec-lesson-info{color:var(--text-muted);font-size:12px}.file-spec-lesson-info strong{color:var(--text-main)}.file-jump-btn{background:var(--bg-surface);color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm,6px);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.file-jump-btn:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}.header-nav[data-v-62fe8dc8]{background:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:50;flex-direction:column;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0000000d}.header-top-row[data-v-62fe8dc8]{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:48px;padding:0 1.25rem;display:flex}.header-left[data-v-62fe8dc8]{align-items:center;gap:.75rem;min-width:0;display:flex}.brand[data-v-62fe8dc8]{-webkit-user-select:none;user-select:none;cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:.65rem;transition:opacity .2s;display:flex}.brand[data-v-62fe8dc8]:hover{opacity:.9}.brand-logo[data-v-62fe8dc8]{flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-text[data-v-62fe8dc8]{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.brand-title[data-v-62fe8dc8]{letter-spacing:-.01em;color:var(--text-main);white-space:nowrap;font-size:1.05rem;font-weight:700}.brand-badge[data-v-62fe8dc8]{background:var(--primary-light);color:var(--primary);border-radius:9999px;padding:1px 7px;font-size:.68rem;font-weight:600}.header-right[data-v-62fe8dc8]{align-items:center;gap:.75rem;display:flex}.visitor-stats-badge[data-v-62fe8dc8]{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:.5rem;padding:.25rem .65rem;font-size:.75rem;font-weight:500;display:flex}.visitor-stats-badge[data-v-62fe8dc8]:hover{border-color:var(--primary);background:var(--bg-surface)}.stat-item[data-v-62fe8dc8]{align-items:center;gap:.3rem;display:flex}.stat-icon[data-v-62fe8dc8]{opacity:.8;color:var(--text-muted)}.stat-val[data-v-62fe8dc8]{color:var(--text-main);font-variant-numeric:tabular-nums;font-weight:700}.stat-unit[data-v-62fe8dc8]{opacity:.85;font-size:.7rem}.stat-divider[data-v-62fe8dc8]{background:var(--border-color);width:1px;height:12px}.pulse-dot[data-v-62fe8dc8]{background-color:#94a3b8;border-radius:50%;width:7px;height:7px;transition:background-color .3s;display:inline-block}.pulse-dot.is-active[data-v-62fe8dc8]{background-color:#10b981;animation:2s infinite pulse-ring-62fe8dc8;box-shadow:0 0 #10b981b3}@keyframes pulse-ring-62fe8dc8{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 5px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.nav-toggle-btn[data-v-62fe8dc8]{color:var(--text-main);background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.nav-toggle-btn[data-v-62fe8dc8]:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.nav-toggle-btn.is-active[data-v-62fe8dc8]{background:var(--primary);color:#fff;border-color:var(--primary)}.nav-link[data-v-62fe8dc8]{color:var(--text-muted);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;text-decoration:none;transition:all .2s;display:flex}.nav-link[data-v-62fe8dc8]:hover{color:var(--primary);background:var(--primary-light)}.external-icon[data-v-62fe8dc8]{opacity:.7}.icon-btn[data-v-62fe8dc8]{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface);width:32px;height:32px;color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn[data-v-62fe8dc8]:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.theme-icon.sun[data-v-62fe8dc8]{color:#f59e0b}.theme-icon.moon[data-v-62fe8dc8]{color:#6366f1}.mobile-menu-btn[data-v-62fe8dc8]{display:none}.header-tags-row[data-v-62fe8dc8]{background:var(--bg-subtle);scrollbar-width:none;border-top:1px solid #00000005;justify-content:space-between;align-items:center;height:42px;padding:0 1.25rem;display:flex;overflow-x:auto}.header-tags-row[data-v-62fe8dc8]::-webkit-scrollbar{display:none}.track-tags-container[data-v-62fe8dc8]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.track-tag-item[data-v-62fe8dc8]{color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.track-tag-icon[data-v-62fe8dc8]{opacity:.7}.track-tag-count[data-v-62fe8dc8]{background:var(--bg-subtle);color:var(--text-muted);border-radius:9999px;padding:1px 6px;font-size:.68rem;font-weight:600;transition:all .2s}.track-tag-item[data-v-62fe8dc8]:hover{color:var(--text-main);border-color:#94a3b8;transform:translateY(-1px)}.track-tag-item.is-active[data-v-62fe8dc8]{color:#fff;box-shadow:0 2px 6px #0000001f}.track-tag-item.is-active .track-tag-icon[data-v-62fe8dc8]{opacity:1}.track-tag-item.is-active .track-tag-count[data-v-62fe8dc8]{color:#fff;background:#ffffff40}.track-tag-item.tag-css.is-active[data-v-62fe8dc8]{background:#2563eb;border-color:#1d4ed8}.track-tag-item.tag-html.is-active[data-v-62fe8dc8]{background:#ea580c;border-color:#c2410c}.track-tag-item.tag-javascript.is-active[data-v-62fe8dc8]{background:#d97706;border-color:#b45309}.track-tag-item.tag-vue.is-active[data-v-62fe8dc8]{background:#059669;border-color:#047857}.track-progress-wrapper[data-v-62fe8dc8]{flex-direction:column;flex-shrink:0;gap:3px;min-width:220px;display:flex}.progress-details[data-v-62fe8dc8]{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.progress-track-name[data-v-62fe8dc8]{color:var(--text-main);align-items:center;gap:4px;font-weight:600;display:flex}.progress-check-icon[data-v-62fe8dc8]{color:var(--primary)}.progress-num[data-v-62fe8dc8]{font-variant-numeric:tabular-nums;font-weight:500}.progress-track-bg[data-v-62fe8dc8]{background:var(--border-color);border-radius:9999px;width:100%;height:5px;overflow:hidden}.progress-track-fill[data-v-62fe8dc8]{background:linear-gradient(90deg,#10b981,#3b82f6);border-radius:9999px;height:100%;transition:width .35s cubic-bezier(.4,0,.2,1)}.short-name[data-v-62fe8dc8]{display:none}.full-name[data-v-62fe8dc8],.count-unit[data-v-62fe8dc8]{display:inline}@media (width<=860px){.mobile-menu-btn[data-v-62fe8dc8]{display:flex}.track-progress-wrapper[data-v-62fe8dc8],.nav-link-text[data-v-62fe8dc8],.brand-badge[data-v-62fe8dc8]{display:none}}@media (width<=768px){.visitor-stats-badge[data-v-62fe8dc8],.welcome-nav-btn[data-v-62fe8dc8],.header-right .nav-toggle-btn[data-v-62fe8dc8],.header-right .nav-link[data-v-62fe8dc8]{display:none!important}.header-left[data-v-62fe8dc8]{flex:1;min-width:0}.brand[data-v-62fe8dc8]{max-width:100%}.brand-title[data-v-62fe8dc8]{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;overflow:hidden}}@media (width<=640px){.header-top-row[data-v-62fe8dc8]{height:46px;padding:0 .6rem}.brand-title[data-v-62fe8dc8]{letter-spacing:-.02em;font-size:.95rem}.header-tags-row[data-v-62fe8dc8]{height:44px;padding:0 .4rem;overflow-x:visible}.track-tags-container[data-v-62fe8dc8]{grid-template-columns:repeat(4,1fr);gap:4px;width:100%;display:grid}.track-tag-item[data-v-62fe8dc8]{border-width:1.5px;border-radius:8px;justify-content:center;gap:4px;width:100%;padding:6px 2px;font-size:.78rem}.track-tag-icon[data-v-62fe8dc8],.full-name[data-v-62fe8dc8]{display:none}.short-name[data-v-62fe8dc8]{font-weight:700;display:inline}.count-unit[data-v-62fe8dc8]{display:none}.track-tag-count[data-v-62fe8dc8]{text-align:center;border-radius:6px;min-width:16px;padding:0 4px;font-size:.65rem}}.sidebar[data-v-1d4f57c7]{background:var(--bg-surface);border-right:1px solid var(--border-color);z-index:40;flex-direction:column;flex-shrink:0;width:290px;height:calc(100vh - 60px);transition:transform .3s;display:flex;position:sticky;top:60px}.sidebar-header[data-v-1d4f57c7]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.sidebar-title[data-v-1d4f57c7]{color:var(--text-main);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.sidebar-track-info[data-v-1d4f57c7]{align-items:center;gap:6px;display:flex}.track-title-text[data-v-1d4f57c7]{color:var(--text-main);font-size:.92rem;font-weight:700}.track-total-badge[data-v-1d4f57c7]{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-color);border-radius:9999px;padding:1px 6px;font-size:.7rem;font-weight:600}.title-icon[data-v-1d4f57c7]{color:var(--primary);flex-shrink:0}.close-btn[data-v-1d4f57c7]{color:var(--text-muted);border-radius:4px;padding:4px;display:none}.close-btn[data-v-1d4f57c7]:hover{background:var(--bg-subtle);color:var(--text-main)}.sidebar-quick-nav[data-v-1d4f57c7]{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding:.65rem .85rem;display:none}.quick-nav-header[data-v-1d4f57c7]{justify-content:space-between;align-items:center;display:flex}.quick-nav-title[data-v-1d4f57c7]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem;font-weight:700}.quick-nav-grid[data-v-1d4f57c7]{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.quick-nav-btn[data-v-1d4f57c7]{border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-main);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 2px #00000008}.quick-nav-btn[data-v-1d4f57c7]:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.quick-nav-btn.is-active[data-v-1d4f57c7]{background:var(--primary-light);border-color:var(--primary);color:var(--primary);font-weight:700}.quick-icon[data-v-1d4f57c7]{flex-shrink:0}.welcome-icon[data-v-1d4f57c7]{color:#10b981}.glossary-icon[data-v-1d4f57c7]{color:#8b5cf6}.sun-icon[data-v-1d4f57c7]{color:#f59e0b}.moon-icon[data-v-1d4f57c7]{color:#6366f1}.ext-icon[data-v-1d4f57c7]{opacity:.6}.sidebar-stats-badge[data-v-1d4f57c7]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;justify-content:space-around;align-items:center;padding:5px 8px;font-size:.72rem;display:flex}.sidebar-stat-item[data-v-1d4f57c7]{color:var(--text-muted);align-items:center;gap:4px;display:flex}.sidebar-stat-divider[data-v-1d4f57c7]{background:var(--border-color);width:1px;height:12px}.sidebar-pulse-dot[data-v-1d4f57c7]{background:#94a3b8;border-radius:50%;width:6px;height:6px}.sidebar-pulse-dot.is-active[data-v-1d4f57c7]{background:#10b981;box-shadow:0 0 6px #10b981}.sidebar-stats-badge .stat-val[data-v-1d4f57c7]{color:var(--text-main);font-family:monospace;font-weight:700}.sidebar-track-tabs[data-v-1d4f57c7]{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);grid-template-columns:repeat(4,1fr);gap:4px;padding:.5rem .75rem;display:grid}.sidebar-track-tab-btn[data-v-1d4f57c7]{border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:3px;padding:5px 2px;font-size:.74rem;font-weight:600;transition:all .2s;display:flex}.sidebar-track-tab-btn[data-v-1d4f57c7]:hover{color:var(--text-main);border-color:#94a3b8}.sidebar-track-tab-btn.is-active[data-v-1d4f57c7]{color:#fff;box-shadow:0 1px 4px #00000026}.sidebar-track-tab-btn.tab-css.is-active[data-v-1d4f57c7]{background:#2563eb;border-color:#1d4ed8}.sidebar-track-tab-btn.tab-html.is-active[data-v-1d4f57c7]{background:#ea580c;border-color:#c2410c}.sidebar-track-tab-btn.tab-javascript.is-active[data-v-1d4f57c7]{background:#d97706;border-color:#b45309}.sidebar-track-tab-btn.tab-vue.is-active[data-v-1d4f57c7]{background:#059669;border-color:#047857}.sidebar-track-tab-btn .tab-badge[data-v-1d4f57c7]{background:var(--bg-subtle);color:var(--text-muted);border-radius:9999px;padding:0 4px;font-size:.65rem}.sidebar-track-tab-btn.is-active .tab-badge[data-v-1d4f57c7]{color:#fff;background:#ffffff40}.sidebar-content[data-v-1d4f57c7]{flex-direction:column;gap:1.25rem;padding:.75rem .75rem 2rem;display:flex;overflow-y:auto}.category-group[data-v-1d4f57c7]{flex-direction:column;gap:.35rem;display:flex}.category-header[data-v-1d4f57c7]{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:6px;padding:.35rem .6rem;font-size:.75rem;font-weight:700;display:flex}.cat-icon[data-v-1d4f57c7]{color:var(--primary)}.category-count[data-v-1d4f57c7]{opacity:.7;font-size:.7rem}.lesson-list[data-v-1d4f57c7]{flex-direction:column;gap:2px;list-style:none;display:flex}.lesson-item[data-v-1d4f57c7]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:8px 10px;transition:all .15s;display:flex}.lesson-item[data-v-1d4f57c7]:hover{background:var(--bg-subtle)}.lesson-item.active[data-v-1d4f57c7]{background:var(--primary-light);border-color:#42b8834d}.lesson-item.active .lesson-title[data-v-1d4f57c7]{color:var(--primary);font-weight:600}.complete-checkbox[data-v-1d4f57c7]{border:1.5px solid var(--text-light);background:var(--bg-surface);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.complete-checkbox[data-v-1d4f57c7]:hover{border-color:var(--primary)}.complete-checkbox.is-checked[data-v-1d4f57c7]{background:var(--primary);border-color:var(--primary);color:#fff}.check-mark[data-v-1d4f57c7]{stroke-width:3px}.lesson-info[data-v-1d4f57c7]{flex-direction:column;flex:1;min-width:0;display:flex}.lesson-title[data-v-1d4f57c7]{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.lesson-time[data-v-1d4f57c7]{color:var(--text-muted);font-size:.7rem}.arrow-icon[data-v-1d4f57c7]{color:var(--text-light);opacity:0;transition:all .15s;transform:translate(-4px)}.lesson-item:hover .arrow-icon[data-v-1d4f57c7],.lesson-item.active .arrow-icon[data-v-1d4f57c7]{opacity:1;transform:translate(0)}.lesson-item.active .arrow-icon[data-v-1d4f57c7]{color:var(--primary)}@media (width<=860px){.sidebar[data-v-1d4f57c7]{width:290px;max-width:85vw;height:100vh;box-shadow:var(--shadow-lg);z-index:100;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open[data-v-1d4f57c7]{transform:translate(0)}.close-btn[data-v-1d4f57c7],.sidebar-quick-nav[data-v-1d4f57c7]{display:flex}.sidebar-backdrop[data-v-1d4f57c7]{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;background:#00000080;position:fixed;inset:0}}.lesson-article[data-v-51dbe72c]{flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;padding:1.5rem 2rem 3rem;display:flex}.lesson-meta-bar[data-v-51dbe72c]{align-items:center;gap:.75rem;display:flex}.category-pill[data-v-51dbe72c]{background:var(--primary-light);color:var(--primary);border-radius:9999px;padding:3px 10px;font-size:.75rem;font-weight:600}.read-time-pill[data-v-51dbe72c]{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;display:flex}.lesson-main-title[data-v-51dbe72c]{letter-spacing:-.02em;color:var(--text-main);font-size:1.85rem;font-weight:800;line-height:1.3}.summary-box[data-v-51dbe72c]{background:var(--bg-surface);border:1px solid var(--border-color);border-left:4px solid var(--primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.summary-icon[data-v-51dbe72c]{color:var(--primary);flex-shrink:0;margin-top:2px}.summary-text[data-v-51dbe72c]{color:var(--text-main);font-size:.95rem;font-weight:500;line-height:1.6}.lesson-body[data-v-51dbe72c]{line-height:1.75}.task-card[data-v-51dbe72c]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem;position:relative;overflow:hidden}.task-card[data-v-51dbe72c]:before{content:"";background:linear-gradient(90deg,#3b82f6,#42b883);height:3px;position:absolute;top:0;left:0;right:0}.task-header[data-v-51dbe72c]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.task-title-wrap[data-v-51dbe72c]{align-items:center;gap:8px;display:flex}.task-icon[data-v-51dbe72c]{color:#3b82f6}.task-title[data-v-51dbe72c]{color:var(--text-main);font-size:1.1rem;font-weight:700}.task-badge[data-v-51dbe72c]{color:#1e40af;background:#dbeafe;border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:700}.hints-box[data-v-51dbe72c]{border-top:1px dashed var(--border-color);margin-top:1.25rem;padding-top:.75rem}.hints-toggle[data-v-51dbe72c]{border-radius:var(--radius-sm);background:var(--bg-subtle);width:100%;color:var(--text-muted);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.hints-toggle[data-v-51dbe72c]:hover{background:var(--border-color);color:var(--text-main)}.hints-toggle-left[data-v-51dbe72c]{align-items:center;gap:6px;display:flex}.hint-icon[data-v-51dbe72c]{color:#f59e0b}.hints-list[data-v-51dbe72c]{flex-direction:column;gap:6px;margin-top:.5rem;padding:0 .5rem;list-style:none;display:flex}.hint-item[data-v-51dbe72c]{color:var(--text-main);background:#f59e0b14;border-left:3px solid #f59e0b;border-radius:4px;padding:6px 10px;font-size:.85rem}.lesson-footer[data-v-51dbe72c]{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.nav-btn[data-v-51dbe72c]{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-main);align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.nav-btn[data-v-51dbe72c]:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.nav-btn[data-v-51dbe72c]:disabled{opacity:.4;cursor:not-allowed}.complete-btn[data-v-51dbe72c]{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);align-items:center;gap:6px;padding:8px 18px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.complete-btn[data-v-51dbe72c]:hover{border-color:var(--primary);color:var(--primary)}.complete-btn.is-completed[data-v-51dbe72c]{background:var(--primary);border-color:var(--primary);color:#fff}.lesson-copyright-bar[data-v-51dbe72c]{border-top:1px dashed var(--border-subtle);color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1.25rem;font-size:.78rem;display:flex}.lesson-copyright-bar .divider[data-v-51dbe72c]{opacity:.4}@media (width<=640px){.lesson-article[data-v-51dbe72c]{padding:1rem}.lesson-main-title[data-v-51dbe72c]{font-size:1.4rem}.lesson-footer[data-v-51dbe72c]{flex-direction:column;align-items:stretch}}.markdown-body{color:var(--text-main);font-size:.95rem}.markdown-body .doc-h2{color:var(--text-main);border-bottom:1px solid var(--border-subtle);margin:1.25rem 0 .75rem;padding-bottom:.35rem;font-size:1.35rem;font-weight:700}.markdown-body .doc-h3{color:var(--text-main);margin:1.1rem 0 .5rem;font-size:1.1rem;font-weight:600}.markdown-body .doc-h4{color:var(--text-main);margin:1rem 0 .4rem;font-size:.98rem;font-weight:700}.markdown-body .doc-divider{border:none;border-top:1px solid var(--border-color);margin:1.5rem 0}.markdown-body .doc-p{margin-bottom:.9rem;line-height:1.7}.markdown-body .doc-link{color:var(--primary);text-underline-offset:3px;word-break:break-all;font-weight:500;text-decoration:underline;transition:all .2s}.markdown-body .doc-link:hover{color:var(--primary-hover,#33a06f);text-decoration-thickness:2px}.markdown-body .inline-code{background:var(--bg-subtle);color:#d946ef;border:1px solid var(--border-color);border-radius:4px;padding:2px 6px;font-size:.85em}[data-theme=dark] .markdown-body .inline-code{color:#f472b6}.markdown-body .code-block-wrapper{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:.85rem 0;overflow:hidden}.markdown-body .code-block{background:var(--bg-code);color:var(--text-code);padding:1rem 1.25rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.markdown-body .doc-callout{background:var(--bg-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-main);border-left:4px solid #3b82f6;margin:1rem 0;padding:.85rem 1rem;font-size:.9rem}.markdown-body .doc-ul{margin-bottom:.9rem;padding-left:1.25rem}.markdown-body .doc-li{margin-bottom:.35rem;line-height:1.6}.markdown-body .doc-ol{flex-direction:column;gap:.5rem;margin:.75rem 0 1.1rem;padding-left:0;list-style:none;display:flex}.markdown-body .doc-oli{color:var(--text-main);align-items:flex-start;gap:.5rem;padding:.25rem 0;line-height:1.65;display:flex}.markdown-body .oli-num{color:var(--primary);flex-shrink:0;min-width:1.4rem;font-weight:700}.interactive-panel[data-v-83e0bbd8]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-md);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.playground-mode-bar[data-v-83e0bbd8]{background:#0b0f19;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.mode-switcher-pills[data-v-83e0bbd8]{align-items:center;gap:4px;display:flex}.mode-pill-btn[data-v-83e0bbd8]{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.mode-pill-btn[data-v-83e0bbd8]:hover{color:#f1f5f9;background:#ffffff0d}.mode-pill-btn.is-active[data-v-83e0bbd8]{color:#fff;background:#1e293b;border-color:#334155;box-shadow:0 1px 3px #0000004d}.mode-bar-tools[data-v-83e0bbd8]{align-items:center;gap:4px;display:flex}.icon-tool-btn[data-v-83e0bbd8]{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:3px;justify-content:center;align-items:center;padding:3px 6px;display:flex}.icon-tool-btn[data-v-83e0bbd8]:hover{color:#fff;background:#ffffff1f}.font-size-text[data-v-83e0bbd8]{color:#64748b;text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-size:.7rem}.panel-header[data-v-83e0bbd8]{border-bottom:1px solid var(--border-color);background:var(--bg-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.panel-title-wrap[data-v-83e0bbd8]{align-items:center;gap:6px;display:flex}.panel-title[data-v-83e0bbd8]{color:var(--text-main);font-size:.82rem;font-weight:700}.pulse-dot[data-v-83e0bbd8]{background-color:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #22c55e40}.run-play-btn[data-v-83e0bbd8]{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.run-play-btn[data-v-83e0bbd8]:hover{background:var(--primary);border-color:var(--primary);color:#fff}.output-container[data-v-83e0bbd8]{background:#fff;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}:root[data-theme=dark] .output-container[data-v-83e0bbd8]{background:#0b0f19}.view-split .output-container[data-v-83e0bbd8]{border-bottom:2px dashed var(--border-color);max-height:48%}.iframe-wrapper[data-v-83e0bbd8]{background:#fff;flex:1;min-height:180px;display:flex;overflow:hidden}:root[data-theme=dark] .iframe-wrapper[data-v-83e0bbd8]{background:#0b0f19}.sandbox-iframe[data-v-83e0bbd8]{background:0 0;border:none;width:100%;height:100%}.error-banner[data-v-83e0bbd8]{color:#dc2626;background:#fef2f2;border-bottom:1px solid #fecaca;align-items:center;gap:6px;padding:6px 10px;font-size:.75rem;display:flex}.console-drawer[data-v-83e0bbd8]{border-top:1px solid var(--border-color);background:var(--bg-subtle);flex-shrink:0;font-size:.72rem}.console-drawer-header[data-v-83e0bbd8]{cursor:pointer;color:var(--text-muted);justify-content:space-between;align-items:center;padding:4px 10px;display:flex}.console-body[data-v-83e0bbd8]{background:var(--bg-code);color:#a6e3a1;max-height:100px;padding:4px 10px;font-family:monospace;overflow-y:auto}.editor-container[data-v-83e0bbd8]{background:var(--bg-code);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.editor-header[data-v-83e0bbd8]{background:var(--bg-editor-gutter);border-bottom:1px solid #ffffff14}.editor-header .panel-title[data-v-83e0bbd8]{color:var(--text-code)}.editor-hint-badge[data-v-83e0bbd8]{color:#42b883;background:#42b88326;border-radius:4px;padding:1px 5px;font-size:.65rem}.editor-tools[data-v-83e0bbd8]{align-items:center;gap:6px;display:flex}.auto-run-label[data-v-83e0bbd8]{color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;font-size:.72rem;display:flex}.tool-btn[data-v-83e0bbd8]{color:var(--text-code);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;display:flex}.tool-btn[data-v-83e0bbd8]:hover{color:#fff;background:#ffffff26}.solution-btn[data-v-83e0bbd8]{color:#fde047;background:#facc151a;border-color:#facc154d}.copy-success[data-v-83e0bbd8]{color:#4ade80}.mobile-symbol-bar[data-v-83e0bbd8]{scrollbar-width:none;background:#111827;border-bottom:1px solid #ffffff14;flex-shrink:0;padding:4px 6px;overflow-x:auto}.mobile-symbol-bar[data-v-83e0bbd8]::-webkit-scrollbar{display:none}.symbol-scroll-track[data-v-83e0bbd8]{align-items:center;gap:4px;min-width:max-content;display:flex}.symbol-chip[data-v-83e0bbd8]{color:#38bdf8;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1f2937;border:1px solid #374151;border-radius:4px;padding:3px 8px;font-family:monospace;font-size:.75rem;font-weight:600;transition:all .15s}.symbol-chip[data-v-83e0bbd8]:active{color:#fff;background:#0284c7;transform:scale(.95)}.editor-wrapper[data-v-83e0bbd8]{background:var(--bg-code);flex:1;display:flex;position:relative;overflow-y:auto}.editor-gutter[data-v-83e0bbd8]{background:var(--bg-editor-gutter);-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;align-items:flex-end;width:36px;padding:10px 4px;display:flex}.gutter-num[data-v-83e0bbd8]{color:#ffffff40;font-family:monospace;line-height:1.6}.code-textarea[data-v-83e0bbd8]{color:var(--text-code);resize:none;white-space:pre;tab-size:2;background:0 0;border:none;outline:none;flex:1;padding:10px 12px;font-family:inherit;line-height:1.6}.solution-status-bar[data-v-83e0bbd8]{color:#fef08a;background:#eab30826;border-top:1px solid #eab3084d;flex-shrink:0;padding:4px 10px;font-size:.72rem}.floating-view-toggle[data-v-83e0bbd8]{background:var(--primary);color:#fff;cursor:pointer;z-index:20;border:1px solid #fff3;border-radius:9999px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 4px 14px #0000004d}.floating-view-toggle[data-v-83e0bbd8]:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0006}@media (width<=768px){.desktop-only[data-v-83e0bbd8]{display:none}}.mobile-edit-overlay[data-v-83e0bbd8]{cursor:pointer;z-index:5;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0b0f1980;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mobile-edit-prompt[data-v-83e0bbd8]{color:#fff;background:#42b883e6;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.85rem;font-weight:700;transition:transform .15s;display:flex;box-shadow:0 4px 14px #0000004d}.mobile-edit-overlay:active .mobile-edit-prompt[data-v-83e0bbd8]{transform:scale(.95)}.mobile-fullscreen-editor[data-v-83e0bbd8]{z-index:9999;background:var(--bg-code,#0b0f19);flex-direction:column;display:flex;position:fixed;inset:0}.mobile-fs-toolbar[data-v-83e0bbd8]{background:#111827;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.mobile-fs-toolbar-left[data-v-83e0bbd8]{align-items:center;gap:8px;display:flex}.mobile-fs-title[data-v-83e0bbd8]{color:#e2e8f0;font-size:.85rem;font-weight:700}.mobile-fs-toolbar-right[data-v-83e0bbd8]{align-items:center;gap:8px;display:flex}.mobile-fs-done-btn[data-v-83e0bbd8]{color:#fff;cursor:pointer;background:#42b883;border:none;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:700;transition:background .15s}.mobile-fs-done-btn[data-v-83e0bbd8]:active{background:#38a37a}.mobile-fs-symbol-bar[data-v-83e0bbd8]{z-index:10;position:sticky;top:0}.mobile-fs-editor-wrapper[data-v-83e0bbd8]{background:var(--bg-code,#0b0f19);flex:1;display:flex;position:relative;overflow-y:auto}.mobile-fs-editor-wrapper .editor-gutter[data-v-83e0bbd8]{background:var(--bg-editor-gutter,#111827);-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;align-items:flex-end;width:36px;padding:10px 4px;display:flex}.mobile-fs-editor-wrapper .code-textarea[data-v-83e0bbd8]{color:var(--text-code,#e2e8f0);resize:none;white-space:pre;tab-size:2;background:0 0;border:none;outline:none;flex:1;padding:10px 12px;font-family:inherit;line-height:1.6}.glossary-container[data-v-85c943e3]{background:var(--bg-app);flex-direction:column;height:100%;display:flex;overflow:hidden}.glossary-header[data-v-85c943e3]{background:var(--bg-surface);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:.85rem;padding:1.25rem 1.75rem .75rem;display:flex}.header-main-row[data-v-85c943e3]{justify-content:space-between;align-items:center;display:flex}.glossary-brand[data-v-85c943e3]{align-items:center;gap:10px;display:flex}.brand-icon[data-v-85c943e3]{color:var(--primary)}.glossary-title[data-v-85c943e3]{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:700}.glossary-subtitle[data-v-85c943e3]{color:var(--text-muted);font-size:.75rem}.close-glossary-btn[data-v-85c943e3]{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-main);align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.close-glossary-btn[data-v-85c943e3]:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.search-control-bar[data-v-85c943e3]{align-items:center;gap:10px;display:flex}.search-input-wrap[data-v-85c943e3]{flex:1;align-items:center;display:flex;position:relative}.search-icon[data-v-85c943e3]{color:var(--text-muted);position:absolute;left:12px}.search-input[data-v-85c943e3]{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-app);width:100%;color:var(--text-main);outline:none;padding:8px 12px 8px 36px;font-size:.85rem;transition:border-color .2s}.search-input[data-v-85c943e3]:focus{border-color:var(--primary)}.stop-tts-btn[data-v-85c943e3]{border-radius:var(--radius-sm);color:#b91c1c;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;align-items:center;gap:5px;padding:7px 12px;font-size:.8rem;font-weight:600;display:flex}.cat-nav-pills[data-v-85c943e3]{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.cat-pill[data-v-85c943e3]{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:.78rem;transition:all .15s;display:flex}.cat-pill[data-v-85c943e3]:hover{background:var(--border-color);color:var(--text-main)}.cat-pill.active[data-v-85c943e3]{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.cat-badge[data-v-85c943e3]{background:#00000014;border-radius:9999px;padding:1px 6px;font-size:.7rem}.cat-pill.active .cat-badge[data-v-85c943e3]{color:#fff;background:#ffffff40}.terms-viewport[data-v-85c943e3]{flex:1;padding:1.5rem 1.75rem 3rem;overflow-y:auto}.terms-grid[data-v-85c943e3]{flex-direction:column;gap:14px;max-width:1080px;margin:0 auto;display:flex}.term-card[data-v-85c943e3]{background:var(--bg-surface);border:1px solid var(--border-color);border-left:4px solid var(--primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px 18px;display:flex}.term-header[data-v-85c943e3]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.term-name-group[data-v-85c943e3]{flex-direction:column;gap:2px;display:flex}.term-en[data-v-85c943e3]{color:var(--text-main);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.term-zh[data-v-85c943e3]{color:var(--text-muted);font-size:.85rem;font-weight:500}.speak-btn[data-v-85c943e3]{border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);cursor:pointer;border:1px solid #42b88340;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.speak-btn[data-v-85c943e3]:hover{background:var(--primary);color:#fff}.speak-btn.is-speaking[data-v-85c943e3]{background:var(--primary);color:#fff;animation:1s infinite alternate speaking-pulse-85c943e3}@keyframes speaking-pulse-85c943e3{0%{opacity:.8}to{opacity:1;transform:scale(1.05)}}.pronunciation-bar[data-v-85c943e3]{color:var(--text-muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.tag-label[data-v-85c943e3]{background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);border-radius:4px;padding:1px 6px;font-size:.7rem}.phonetic-code[data-v-85c943e3]{background:var(--bg-subtle);color:#d946ef;border-radius:4px;padding:1px 6px;font-family:monospace}[data-theme=dark] .phonetic-code[data-v-85c943e3]{color:#f472b6}.pinyin-text[data-v-85c943e3]{color:var(--text-light);font-size:.78rem}.term-section[data-v-85c943e3]{flex-direction:column;gap:4px;display:flex}.section-label-row[data-v-85c943e3]{align-items:center;display:flex}.section-badge[data-v-85c943e3]{border-radius:4px;padding:1px 8px;font-size:.7rem;font-weight:700}.badge-definition[data-v-85c943e3]{background:var(--primary-light);color:var(--primary)}.badge-analogy[data-v-85c943e3]{color:#92400e;background:#fef3c7}[data-theme=dark] .badge-analogy[data-v-85c943e3]{color:#fde68a;background:#f59e0b33}.section-text[data-v-85c943e3]{margin:0;font-size:.88rem;line-height:1.6}.definition-text[data-v-85c943e3]{color:var(--text-main)}.analogy-box[data-v-85c943e3]{background:var(--bg-subtle);border-radius:var(--radius-sm);border-left:3px solid #f59e0b;padding:10px 14px}.analogy-text[data-v-85c943e3]{color:var(--text-main);font-weight:500}.empty-results[data-v-85c943e3]{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.95rem}.site-footer[data-v-2536ff72]{background:var(--bg-surface,#fff);border-top:1px solid var(--border-color,#e2e8f0);color:var(--text-main,#334155);margin-top:3.5rem;padding:3.5rem 1.5rem 1.5rem;transition:background .3s,border-color .3s}.footer-container[data-v-2536ff72]{max-width:1160px;margin:0 auto}.footer-main-grid[data-v-2536ff72]{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem;display:grid}.footer-col[data-v-2536ff72]{flex-direction:column;gap:.85rem;display:flex}.footer-brand[data-v-2536ff72]{align-items:center;gap:8px;display:flex}.footer-brand-title[data-v-2536ff72]{letter-spacing:-.02em;color:var(--text-main,#0f172a);font-size:1.15rem;font-weight:800}.footer-slogan[data-v-2536ff72]{color:var(--text-muted,#64748b);margin:0;font-size:.86rem;line-height:1.6}.footer-social-links[data-v-2536ff72]{gap:8px;margin-top:.25rem;display:flex}.social-link[data-v-2536ff72]{border:1px solid var(--border-color,#cbd5e1);width:32px;height:32px;color:var(--text-muted,#64748b);background:var(--bg-subtle,#f8fafc);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex}.social-link[data-v-2536ff72]:hover{background:var(--primary,#059669);color:#fff;border-color:var(--primary,#059669);transform:translateY(-2px)}.col-title[data-v-2536ff72]{color:var(--text-main,#0f172a);letter-spacing:.02em;margin:0 0 .25rem;font-size:.92rem;font-weight:700}.footer-links[data-v-2536ff72]{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.footer-link-btn[data-v-2536ff72]{color:var(--text-muted,#64748b);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.84rem;transition:color .15s,transform .15s;display:inline-flex}.footer-link-btn[data-v-2536ff72]:hover{color:var(--primary,#059669);transform:translate(2px)}.link-icon[data-v-2536ff72]{opacity:.7;color:var(--primary,#059669);flex-shrink:0}.footer-ext-link[data-v-2536ff72]{color:var(--text-muted,#64748b);align-items:center;gap:5px;font-size:.84rem;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex}.footer-ext-link[data-v-2536ff72]:hover{color:var(--primary,#059669);transform:translate(2px)}.ext-arrow[data-v-2536ff72]{opacity:.5}.footer-bottom-bar[data-v-2536ff72]{border-top:1px solid var(--border-color,#e2e8f0);color:var(--text-muted,#64748b);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:1.5rem;font-size:.8rem;display:flex}.copyright-text[data-v-2536ff72]{color:var(--text-muted,#64748b);font-size:.8rem}.bottom-policy-links[data-v-2536ff72]{align-items:center;gap:.75rem;font-size:.78rem;display:flex}.divider[data-v-2536ff72]{color:var(--border-color,#cbd5e1);font-weight:300}.designed-by[data-v-2536ff72]{color:var(--text-main,#334155);font-weight:600}@media (width<=900px){.footer-main-grid[data-v-2536ff72]{grid-template-columns:repeat(2,1fr);gap:2rem}.brand-col[data-v-2536ff72]{grid-column:span 2}}@media (width<=580px){.site-footer[data-v-2536ff72]{padding:2.5rem 1rem 1.25rem}.footer-main-grid[data-v-2536ff72]{grid-template-columns:1fr;gap:1.75rem}.brand-col[data-v-2536ff72]{grid-column:span 1}.footer-bottom-bar[data-v-2536ff72]{flex-direction:column;align-items:flex-start;gap:.5rem}.bottom-policy-links[data-v-2536ff72]{flex-wrap:wrap;gap:.5rem}}.welcome-container[data-v-1b774520]{flex-direction:column;gap:3.5rem;max-width:1060px;margin:0 auto;padding:2.5rem 1.5rem 5rem;display:flex}.welcome-hero[data-v-1b774520]{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 1rem 1rem;display:flex}.hero-badge[data-v-1b774520]{background:var(--primary-light);color:var(--primary);letter-spacing:.04em;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.badge-icon[data-v-1b774520]{color:var(--primary)}.hero-title[data-v-1b774520]{letter-spacing:-.03em;color:var(--text-main);font-size:2.6rem;font-weight:800;line-height:1.2}.hero-subtitle[data-v-1b774520]{max-width:680px;color:var(--text-muted);font-size:1.05rem;line-height:1.7}.hero-actions[data-v-1b774520]{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.primary-action-btn[data-v-1b774520]{border-radius:var(--radius-md,10px);background:var(--primary);color:#fff;cursor:pointer;align-items:center;gap:8px;padding:10px 22px;font-size:.95rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 14px #42b88359}.primary-action-btn[data-v-1b774520]:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #42b88373}.secondary-action-btn[data-v-1b774520]{border-radius:var(--radius-md,10px);background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;align-items:center;gap:8px;padding:10px 22px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.secondary-action-btn[data-v-1b774520]:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.info-section[data-v-1b774520]{flex-direction:column;gap:1.5rem;display:flex}.section-header[data-v-1b774520]{flex-direction:column;gap:.4rem;display:flex}.section-tag[data-v-1b774520]{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-size:.75rem;font-weight:700}.section-title[data-v-1b774520]{color:var(--text-main);letter-spacing:-.01em;font-size:1.65rem;font-weight:800}.section-desc[data-v-1b774520]{color:var(--text-muted);max-width:800px;font-size:.95rem;line-height:1.6}.pipeline-grid[data-v-1b774520]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg,14px);align-items:center;gap:.75rem;padding:1.75rem 1.25rem;display:flex;box-shadow:0 2px 10px #00000008}.pipeline-step[data-v-1b774520]{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.65rem;display:flex}.step-num[data-v-1b774520]{color:var(--text-muted);letter-spacing:.05em;font-size:.75rem;font-weight:800}.step-icon-wrap[data-v-1b774520]{border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .2s;display:flex}.pipeline-step:hover .step-icon-wrap[data-v-1b774520]{transform:translateY(-3px)}.icon-code[data-v-1b774520]{color:#3b82f6;background:#3b82f61f}.icon-parse[data-v-1b774520]{color:#ea580c;background:#ea580c1f}.icon-paint[data-v-1b774520]{color:#10b981;background:#10b9811f}.icon-engine[data-v-1b774520]{color:#d97706;background:#d977061f}.step-title[data-v-1b774520]{color:var(--text-main);font-size:.95rem;font-weight:700}.step-desc[data-v-1b774520]{color:var(--text-muted);font-size:.8rem;line-height:1.5}.step-desc code[data-v-1b774520]{background:var(--bg-subtle);border-radius:4px;padding:1px 4px;font-size:.75rem}.pipeline-arrow[data-v-1b774520]{color:var(--border-color);justify-content:center;align-items:center;display:flex}@media (width<=860px){.pipeline-grid[data-v-1b774520]{flex-direction:column;gap:1.5rem}.pipeline-arrow[data-v-1b774520]{transform:rotate(90deg)}}.roles-cards-grid[data-v-1b774520]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;display:grid}.role-card[data-v-1b774520]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg,14px);cursor:pointer;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #00000008}.role-card[data-v-1b774520]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.card-html[data-v-1b774520]:hover{border-color:#ea580c}.card-css[data-v-1b774520]:hover{border-color:#2563eb}.card-js[data-v-1b774520]:hover{border-color:#d97706}.card-vue[data-v-1b774520]:hover{border-color:#10b981}.role-card-top[data-v-1b774520]{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.role-icon-box[data-v-1b774520]{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.card-html .role-icon-box[data-v-1b774520]{color:#ea580c;background:#ea580c1f}.card-css .role-icon-box[data-v-1b774520]{color:#2563eb;background:#2563eb1f}.card-js .role-icon-box[data-v-1b774520]{color:#d97706;background:#d977061f}.card-vue .role-icon-box[data-v-1b774520]{color:#10b981;background:#10b9811f}.role-sublabel[data-v-1b774520]{background:var(--bg-subtle);color:var(--text-muted);border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:700}.role-name[data-v-1b774520]{color:var(--text-main);margin-bottom:4px;font-size:1.35rem;font-weight:800}.role-metaphor[data-v-1b774520]{color:var(--primary);margin-bottom:.75rem;font-size:.82rem;font-weight:600}.card-html .role-metaphor[data-v-1b774520]{color:#ea580c}.card-css .role-metaphor[data-v-1b774520]{color:#2563eb}.card-js .role-metaphor[data-v-1b774520]{color:#d97706}.card-vue .role-metaphor[data-v-1b774520]{color:#10b981}.role-body[data-v-1b774520]{color:var(--text-muted);flex:1;margin-bottom:1.5rem;font-size:.85rem;line-height:1.6}.role-footer-action[data-v-1b774520]{color:var(--text-main);align-items:center;gap:6px;font-size:.82rem;font-weight:700;transition:color .2s;display:flex}.role-card:hover .role-footer-action[data-v-1b774520]{color:var(--primary)}.interactive-sandbox[data-v-1b774520]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg,14px);overflow:hidden;box-shadow:0 4px 16px #0000000a}.sandbox-controls[data-v-1b774520]{background:var(--bg-subtle);border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex}.control-toggle[data-v-1b774520]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.control-toggle input[type=checkbox][data-v-1b774520]{width:16px;height:16px;accent-color:var(--primary)}.toggle-name[data-v-1b774520]{color:var(--text-main);align-items:center;gap:5px;font-size:.88rem;font-weight:600;display:flex}.sandbox-stage[data-v-1b774520]{justify-content:center;align-items:center;min-height:260px;padding:2rem;display:flex}.raw-html-preview[data-v-1b774520]{color:#000;background:#fff;border:1px dashed #94a3b8;width:100%;max-width:500px;padding:1.25rem;font-family:serif}:root[data-theme=dark] .raw-html-preview[data-v-1b774520]{color:#e4e4e7;background:#18181b;border-color:#52525b}.raw-note[data-v-1b774520]{color:#ef4444;margin-bottom:.75rem;font-family:sans-serif;font-size:.72rem;font-weight:700}.raw-html-preview h1[data-v-1b774520]{margin-bottom:.5rem;font-size:1.3rem}.raw-html-preview p[data-v-1b774520]{margin-bottom:.5rem;font-size:.9rem}.raw-html-preview button[data-v-1b774520]{cursor:pointer;border:1px solid #71717a;padding:3px 8px;font-size:.85rem}.styled-preview-card[data-v-1b774520]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);flex-direction:column;gap:1rem;width:100%;max-width:440px;padding:1.5rem;display:flex;box-shadow:0 8px 24px #0000000f}.preview-card-header[data-v-1b774520]{justify-content:space-between;align-items:center;display:flex}.preview-badge-status[data-v-1b774520]{color:#10b981;align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:flex}.status-dot[data-v-1b774520]{background-color:#10b981;border-radius:50%;width:7px;height:7px}.preview-chip[data-v-1b774520]{background:var(--primary-light);color:var(--primary);border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:700}.preview-title[data-v-1b774520]{color:var(--text-main);margin-bottom:4px;font-size:1.15rem;font-weight:700}.preview-desc[data-v-1b774520]{color:var(--text-muted);margin-bottom:1rem;font-size:.82rem;line-height:1.5}.preview-counter-display[data-v-1b774520]{background:var(--bg-subtle);border-radius:var(--radius-sm,8px);border:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.counter-label[data-v-1b774520]{color:var(--text-muted);font-size:.78rem;font-weight:600}.counter-val-wrap[data-v-1b774520]{align-items:baseline;gap:3px;display:flex}.counter-num[data-v-1b774520]{color:var(--primary);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:800}.counter-unit[data-v-1b774520]{color:var(--text-muted);font-size:.75rem;font-weight:600}.preview-card-footer[data-v-1b774520]{gap:8px;display:flex}.btn-interactive[data-v-1b774520]{border-radius:var(--radius-sm,6px);background:var(--primary);color:#fff;cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-interactive[data-v-1b774520]:hover:not(.is-disabled){background:var(--primary-hover)}.btn-reset[data-v-1b774520]{border-radius:var(--radius-sm,6px);background:var(--bg-subtle);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;padding:8px 12px;font-size:.82rem;font-weight:600}.btn-interactive.is-disabled[data-v-1b774520],.btn-reset.is-disabled[data-v-1b774520]{opacity:.45;cursor:not-allowed}.empty-stage-state[data-v-1b774520]{color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.empty-icon[data-v-1b774520]{opacity:.4}.start-steps-grid[data-v-1b774520]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.start-step-card[data-v-1b774520]{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg,14px);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.step-card-header[data-v-1b774520]{justify-content:space-between;align-items:center;display:flex}.step-badge[data-v-1b774520]{color:var(--primary);font-size:.72rem;font-weight:700}.step-tool[data-v-1b774520]{background:var(--bg-subtle);color:var(--text-muted);border-radius:9999px;padding:2px 7px;font-size:.7rem;font-weight:600}.step-card-title[data-v-1b774520]{color:var(--text-main);font-size:1.1rem;font-weight:700}.step-card-body[data-v-1b774520]{color:var(--text-muted);font-size:.85rem;line-height:1.6}.step-card-body code[data-v-1b774520]{background:var(--bg-subtle);color:var(--primary);border-radius:4px;padding:1px 5px;font-size:.8em}.step-links[data-v-1b774520]{flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.step-link-btn[data-v-1b774520]{border-radius:var(--radius-sm,6px);background:var(--bg-subtle);color:var(--primary);border:1px solid var(--border-color);align-items:center;gap:5px;padding:5px 10px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.step-link-btn[data-v-1b774520]:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.step-link-btn.sub[data-v-1b774520]{color:var(--text-muted)}.step-link-btn.sub[data-v-1b774520]:hover{color:#fff;background:#3b82f6;border-color:#3b82f6}.welcome-cta[data-v-1b774520]{border:1px solid var(--border-color);border-radius:var(--radius-lg,16px);text-align:center;background:linear-gradient(135deg,#42b88314,#3b82f614);padding:3rem 1.5rem}.cta-inner[data-v-1b774520]{flex-direction:column;align-items:center;gap:1rem;max-width:680px;margin:0 auto;display:flex}.cta-title[data-v-1b774520]{color:var(--text-main);letter-spacing:-.01em;font-size:1.75rem;font-weight:800}.cta-desc[data-v-1b774520]{color:var(--text-muted);font-size:.95rem;line-height:1.6}.cta-buttons[data-v-1b774520]{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.75rem;display:flex}.cta-btn[data-v-1b774520]{border-radius:var(--radius-md,10px);cursor:pointer;align-items:center;gap:8px;padding:11px 22px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex}.cta-btn-vue[data-v-1b774520]{color:#fff;background:#059669;box-shadow:0 4px 14px #05966959}.cta-btn-vue[data-v-1b774520]:hover{background:#047857;transform:translateY(-2px)}.cta-btn-base[data-v-1b774520]{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-main)}.cta-btn-base[data-v-1b774520]:hover{border-color:var(--primary);color:var(--primary)}.app-layout[data-v-e8f9eaf6]{background-color:var(--bg-app);flex-direction:column;height:100vh;display:flex;overflow:hidden}.main-workspace[data-v-e8f9eaf6]{flex:1;width:100%;height:calc(100vh - 90px);display:flex;position:relative;overflow:hidden}.welcome-wrapper[data-v-e8f9eaf6]{background:var(--bg-app);flex:1;height:calc(100vh - 90px);overflow-y:auto}.glossary-wrapper[data-v-e8f9eaf6]{flex:1;height:calc(100vh - 90px);overflow:hidden}.workspace-main-area[data-v-e8f9eaf6]{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.mobile-subnav-tabs[data-v-e8f9eaf6]{background:var(--bg-surface);border-bottom:1px solid var(--border-color);flex-shrink:0;height:42px;display:flex}.mobile-subnav-btn[data-v-e8f9eaf6]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.mobile-subnav-btn.is-active[data-v-e8f9eaf6]{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-light)}.mobile-quick-jump[data-v-e8f9eaf6]{border-top:1px dashed var(--border-color);margin-top:2rem;padding-top:1.5rem}.quick-jump-btn[data-v-e8f9eaf6]{background:var(--primary);color:#fff;border-radius:var(--radius-md,8px);justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 4px 12px #42b8834d}.workspace-split[data-v-e8f9eaf6]{flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.doc-viewport[data-v-e8f9eaf6]{background-color:var(--bg-surface);border-right:1px solid var(--border-color);flex:1;min-width:320px;height:100%;overflow-y:auto}.doc-inner-container[data-v-e8f9eaf6]{max-width:780px;margin:0 auto;padding:1.75rem 2rem 4rem}.playground-viewport[data-v-e8f9eaf6]{background-color:#0f172a;flex-direction:column;flex:1.15;height:100%;display:flex;overflow:hidden}.playground-inner-container[data-v-e8f9eaf6]{flex-direction:column;width:100%;height:100%;display:flex}.playground-banner[data-v-e8f9eaf6]{background:#1e293b;border-bottom:1px solid #334155;flex-shrink:0;justify-content:space-between;align-items:center;height:38px;padding:0 1rem;display:flex}.banner-title-wrap[data-v-e8f9eaf6]{align-items:center;gap:8px;display:flex}.banner-icon[data-v-e8f9eaf6]{color:#38bdf8}.banner-title[data-v-e8f9eaf6]{color:#f1f5f9;letter-spacing:.02em;font-size:.82rem;font-weight:600}.banner-subtext[data-v-e8f9eaf6]{color:#94a3b8;font-size:.72rem}@media (width<=960px){.doc-viewport[data-v-e8f9eaf6]{border-right:none;min-width:0}.doc-inner-container[data-v-e8f9eaf6]{padding:1.25rem 1rem 3rem}.banner-subtext[data-v-e8f9eaf6]{display:none}}@media (width<=640px){.welcome-wrapper[data-v-e8f9eaf6]{height:calc(100vh - 90px)}}
