.ml-scope{--accent:#f59e0b;color:var(--text);font-family:var(--font)}.ml-course-view{flex:1;grid-template-columns:260px 1fr;height:100%;min-height:0;transition:grid-template-columns .2s;display:grid;position:relative;overflow:hidden}.ml-mobile-menu-btn{z-index:15;background:var(--sidebar-bg);border:none;border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font);text-align:left;cursor:pointer;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:13px;font-weight:600;display:none;position:sticky;top:0}.ml-mobile-menu-btn:hover{color:var(--text)}.ml-mobile-menu-btn .ml-mobile-menu-icon{flex-direction:column;gap:3px;width:16px;display:inline-flex}.ml-mobile-menu-btn .ml-mobile-menu-icon span{background:currentColor;border-radius:1px;height:2px;display:block}.ml-mobile-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#0000008c;display:none;position:absolute;inset:0}.course-nav{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.course-nav-full{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.course-nav-mini{flex-direction:column;align-items:center;gap:6px;width:100%;height:100%;padding:10px 0;display:none;overflow-y:auto}.course-nav-mini-toggle,.course-nav-collapse-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-dim);font-size:14px;font-family:var(--mono);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.course-nav-mini-toggle:hover,.course-nav-collapse-btn:hover{color:var(--text);border-color:var(--primary)}.course-nav-mini-toggle{margin-bottom:6px}.course-nav-mini-units{flex-direction:column;align-items:center;gap:4px;width:100%;padding:0 4px;display:flex}.course-nav-mini-unit{border:1px solid var(--border);background:var(--surface);min-width:32px;height:32px;color:var(--text-muted);font-family:var(--mono);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;transition:all .12s;display:inline-flex}.course-nav-mini-unit:hover{color:var(--text);border-color:var(--primary)}.course-nav-mini-unit.active{border-color:var(--primary);color:var(--primary-light);background:#4d6ce626}.course-nav-mini-unit.done{color:var(--success);border-color:#6ce7bc59}@media (min-width:768px){.ml-course-view.nav-collapsed{grid-template-columns:56px 1fr}.ml-course-view.nav-collapsed .course-nav-full{display:none}.ml-course-view.nav-collapsed .course-nav-mini{display:flex}}@media (max-width:767px){.course-nav-collapse-btn{display:none}.ml-course-view.nav-collapsed .course-nav-full{display:flex}.ml-course-view.nav-collapsed .course-nav-mini{display:none}}.course-nav-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 12px 12px}.course-nav-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.course-nav-title{color:var(--text);letter-spacing:-.2px;font-size:13px;font-weight:700}.course-progress-row{align-items:center;gap:8px;display:flex}.course-progress-bar{background:var(--surface2);border-radius:3px;flex:1;height:5px;overflow:hidden}.course-progress-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .4s}.course-progress-label{color:var(--text-dim);font-size:11px;font-family:var(--mono);text-align:right;flex-shrink:0;min-width:36px}.course-unit-list{flex:1;padding:4px 0;overflow-y:auto}.unit-section{border-bottom:1px solid #2a385266}.unit-section:last-child{border-bottom:none}.unit-header{cursor:pointer;width:100%;font-family:var(--font);background:0 0;border:none;justify-content:space-between;align-items:center;padding:9px 12px 8px;transition:background .12s;display:flex}.unit-header:hover{background:#4d6ce60d}.unit-header-left{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.unit-number{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);opacity:.8;font-size:9px;font-weight:700}.unit-title-nav{color:var(--text-muted);text-align:left;font-size:11.5px;font-weight:600;line-height:1.3}.unit-section.expanded .unit-title-nav{color:var(--text)}.unit-header-right{flex-shrink:0;align-items:center;gap:5px;display:flex}.unit-progress-label{color:var(--text-dim);font-size:10px;font-family:var(--mono);background:var(--surface2);border-radius:10px;padding:1px 5px}.unit-chevron{color:var(--text-dim);font-size:9px;transition:transform .15s}.unit-section.expanded .unit-chevron{transform:rotate(0)}.lesson-list-nav{flex-direction:column;gap:0;padding:0 6px 8px;display:flex}.lesson-nav-item{cursor:pointer;font-family:var(--font);color:var(--text-dim);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;width:100%;padding:6px 8px;font-size:11px;transition:all .12s;display:flex}.lesson-nav-item:hover{color:var(--text);background:#4d6ce612}.lesson-nav-item.active{color:var(--primary-light);background:#4d6ce621;font-weight:600}.lesson-nav-item.done{color:var(--success)}.lesson-nav-item.active.done{color:var(--success);background:#6ce7bc1a}.lesson-nav-icon{opacity:.8;flex-shrink:0;width:12px;font-size:9px}.lesson-nav-title{flex:1;line-height:1.4}.lesson-nav-time{color:var(--text-dim);font-size:10px;font-family:var(--mono);opacity:.7;flex-shrink:0}.course-main{background:var(--bg);overflow-y:auto}.course-home{max-width:900px;margin:0 auto;padding:32px}.course-home-hero{text-align:center;background:var(--panel-bg);border:1px solid var(--border);border-radius:16px;margin-bottom:40px;padding:40px}.hero-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);background:#4d6ce61f;border:1px solid #4d6ce64d;border-radius:20px;margin-bottom:16px;padding:3px 12px;font-size:11px;font-weight:700;display:inline-block}.hero-title{color:var(--text);letter-spacing:-.5px;margin-bottom:12px;font-size:28px;font-weight:700}.hero-desc{color:var(--text-muted);max-width:560px;margin:0 auto 24px;font-size:14px;line-height:1.6}.hero-stats{justify-content:center;gap:32px;margin-bottom:24px;display:flex}.hero-stat{text-align:center}.hero-stat-val{color:var(--primary-light);font-size:28px;font-weight:700;font-family:var(--mono)}.hero-stat-label{color:var(--text-dim);margin-top:2px;font-size:11px}.hero-cta{background:var(--primary);color:#fff;font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;border-radius:8px;padding:10px 28px;transition:background .15s}.hero-cta:hover{background:var(--primary-dark)}.units-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:32px;display:grid}.unit-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .15s}.unit-card:hover{border-color:var(--primary-dark)}.unit-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.unit-card-num{text-transform:uppercase;letter-spacing:.08em;color:var(--primary-light);font-size:10px;font-weight:700}.unit-card-progress{color:var(--text-dim);font-size:11px;font-family:var(--mono)}.unit-card-title{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:700;line-height:1.3}.unit-card-sub{color:var(--text-muted);margin-bottom:12px;font-size:11px;line-height:1.4}.unit-card-bar{background:var(--surface2);border-radius:2px;height:3px;margin-bottom:12px;overflow:hidden}.unit-card-bar-fill{background:var(--primary);border-radius:2px;height:100%;transition:width .3s}.unit-card-lessons{align-items:center;gap:4px;margin-bottom:12px;display:flex}.unit-card-lesson-dot{background:var(--surface2);border:1px solid var(--border);border-radius:50%;width:8px;height:8px}.unit-card-lesson-dot.done{background:var(--success);border-color:var(--success)}.unit-card-more{color:var(--text-dim);margin-left:4px;font-size:10px}.unit-card-start{border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;background:0 0;border-radius:6px;width:100%;padding:5px 12px;font-weight:500;transition:all .15s}.unit-card-start:hover{border-color:var(--primary);color:var(--primary-light)}.principles-section{margin-top:8px}.principles-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:14px;font-size:12px;font-weight:700}.principles-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.principle-card{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.principle-icon{margin-bottom:8px;font-size:20px}.principle-title{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:700}.principle-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.lesson-page{max-width:1000px;padding:0 0 40px}.failure-banner{background:#ef444414;border-bottom:1px solid #ef444440;align-items:flex-start;gap:12px;padding:14px 24px;display:flex}.failure-banner-icon{color:var(--danger);flex-shrink:0;margin-top:1px;font-size:16px}.failure-banner-content{flex:1}.failure-symptom,.failure-observed{color:var(--text-muted);font-size:13px;line-height:1.5}.failure-label{color:var(--danger);margin-right:5px;font-weight:700}.real-world-anchor{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.anchor-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:9px;font-weight:700}.real-world-anchor>:last-child{color:var(--accent);background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.lesson-header{border-bottom:1px solid var(--border);padding:20px 24px 16px}.lesson-meta{align-items:center;gap:10px;margin-bottom:10px;display:flex}.lesson-diff{border:1px solid;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.lesson-time{color:var(--text-dim);font-size:11px}.lesson-complete-badge{color:var(--success);background:#6ce7bc1f;border:1px solid #6ce7bc4d;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.lesson-title{color:var(--text);letter-spacing:-.3px;margin-bottom:8px;font-size:20px;font-weight:700}.lesson-desc{color:var(--text-muted);font-size:13px;line-height:1.6}.lesson-content{border-bottom:1px solid var(--border);flex-direction:column;gap:12px;padding:20px 24px;display:flex}.lc-text{color:var(--text-muted);max-width:760px;font-size:13px;line-height:1.7}.lc-callout{border-left:3px solid var(--primary);background:#4d6ce612;border-radius:8px;align-items:flex-start;gap:10px;max-width:760px;padding:10px 14px;display:flex}.lc-callout-key-insight{border-left-color:var(--primary);background:#4d6ce612}.lc-callout-warning{border-left-color:var(--danger);background:#ef444412}.lc-callout-rule-of-thumb{border-left-color:var(--accent);background:#f59e0b12}.lc-callout-real-world{border-left-color:var(--success);background:#6ce7bc12}.lc-callout-try-it{border-left-color:var(--accent);background:#f59e0b12}.lc-callout-fix{border-left-color:var(--success);background:#6ce7bc12}.lc-callout-shape-tracker{border-left-color:var(--primary);background:#4d6ce612}.lc-visual3d-wrap{border-radius:14px;margin:16px 0;overflow:hidden}.lc-callout-label{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--primary-light);flex-shrink:0;padding-top:1px;font-size:10px;font-weight:700}.lc-callout-warning .lc-callout-label{color:var(--danger)}.lc-callout-rule-of-thumb .lc-callout-label{color:var(--accent)}.lc-callout-real-world .lc-callout-label{color:var(--success)}.lc-callout-try-it .lc-callout-label{color:var(--accent)}.lc-callout-fix .lc-callout-label{color:var(--success)}.lc-callout-text{color:var(--text-muted);font-size:12px;line-height:1.6}.lc-code-wrap{border:1px solid var(--border);border-radius:8px;max-width:760px;overflow:hidden}.lc-code-header{background:var(--surface2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.lc-code-lang{letter-spacing:.08em;text-transform:uppercase;color:var(--primary-light);font-size:10px;font-weight:700}.lc-copy-btn{border:1px solid var(--border);color:var(--text-dim);font-size:10px;font-family:var(--font);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;transition:all .15s}.lc-copy-btn:hover{color:var(--text);border-color:var(--primary)}.lc-code{background:var(--bg);font-family:var(--mono);color:var(--text-muted);white-space:pre;margin:0;padding:14px 16px;font-size:12px;line-height:1.7;overflow-x:auto}.lc-code .hl-kw{color:#c084fc}.lc-code .hl-str{color:#86efac}.lc-code .hl-num{color:#fb923c}.lc-code .hl-cmt{color:var(--text-dim);font-style:italic}.lc-code .hl-fn{color:#60a5fa}.lc-code .hl-bi{color:#f9a8d4}.lc-code .hl-dec{color:var(--accent)}.lesson-sandbox-wrap,.lesson-initviz-wrap{border-bottom:1px solid var(--border);padding:20px 24px}.lesson-split-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0;min-height:0;display:grid}.lesson-split-sandbox{border-right:1px solid var(--border);padding:20px;overflow-y:auto}.lesson-split-diag{overflow-y:auto}.diagnostics-section.diagnostics-inline{border-top:none;padding-top:0}.challenge-passed-badge{color:var(--success);background:#6ce7bc1f;border:1px solid #6ce7bc4d;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.lesson-nav-done{color:var(--success);font-size:12px;font-weight:600}.sandbox{flex-direction:column;gap:12px;display:flex}.sandbox-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.ctrl-group{flex-direction:column;gap:5px;display:flex}.ctrl-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:10px;font-weight:700}.ctrl-btns{gap:4px;display:flex}.ctrl-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;white-space:nowrap;border-radius:5px;padding:4px 10px;font-weight:500;transition:all .12s}.ctrl-btn:hover{border-color:var(--primary);color:var(--text)}.ctrl-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.ctrl-slider{width:120px;accent-color:var(--primary);cursor:pointer}.ctrl-btn-reset{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;border-radius:5px;align-self:flex-end;padding:4px 12px;transition:all .12s}.ctrl-btn-reset:hover{border-color:var(--danger);color:var(--danger)}.sandbox-main{align-items:flex-start;gap:20px;display:flex}@media (max-width:767px){.sandbox-main{flex-direction:column;gap:14px}.sandbox,.sandbox-controls{gap:10px}.ctrl-slider{width:100%;min-width:120px}.ctrl-group{flex:1;min-width:110px}.sandbox-stats{flex-wrap:wrap}.stat-card{min-width:72px}}.boundary-wrap{flex-shrink:0;width:100%;max-width:340px}.boundary-svg{border:1px solid var(--border);background:var(--panel-bg);border-radius:8px;display:block}.boundary-legend{color:var(--text-dim);align-items:center;gap:4px;margin-top:6px;font-size:11px;display:flex}.bl-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.sandbox-right{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.sandbox-stats{gap:10px;display:flex}.stat-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;flex:1;padding:10px 12px}.stat-val{color:var(--text);font-size:18px;font-weight:700;font-family:var(--mono)}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px}.arch-display{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px}.arch-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:10px;font-size:10px;font-weight:700}.arch-nodes{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.arch-node{width:36px;height:36px;font-size:12px;font-weight:700;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;display:flex}.arch-node.input{border:1.5px solid var(--primary);color:var(--primary-light);background:#4d6ce626}.arch-node.hidden{border:1.5px solid var(--success);color:var(--success);background:#6ce7bc1f}.arch-node.output{border:1.5px solid var(--danger);color:var(--danger);background:#ef44441f}.arch-sizes{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.arch-sizes span{color:var(--text-dim);text-align:center;min-width:36px;font-size:10px}.loss-chart-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:5px;font-size:10px;font-weight:700}.loss-chart{border-radius:4px;display:block}.train-controls{gap:8px;display:flex}.train-btn{background:var(--primary);border:1px solid var(--primary);color:#fff;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;border-radius:7px;flex:1;padding:8px 16px;transition:background .15s}.train-btn:hover{background:var(--primary-dark)}.train-btn.active{background:var(--accent);border-color:var(--accent)}.step-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-family:var(--font);cursor:pointer;border-radius:7px;padding:8px 16px;transition:all .15s}.step-btn:hover{border-color:var(--primary);color:var(--text)}.diagnostics-section{border-bottom:1px solid var(--border);padding:16px 24px}.diag-toolbar{align-items:center;gap:8px;margin-bottom:14px;display:flex}.diag-toolbar-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-right:4px;font-size:10px;font-weight:700}.diag-tool-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;border-radius:5px;padding:4px 12px;transition:all .12s}.diag-tool-btn:hover{border-color:var(--primary);color:var(--text)}.diag-tool-btn.active{border-color:var(--primary);color:var(--primary-light);background:#4d6ce61f}.diag-panels{flex-wrap:wrap;gap:14px;display:flex}.diag-panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;flex:1;min-width:260px;padding:16px}.diag-panel-wide{flex:2;min-width:400px}.diag-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:12px;font-size:11px;font-weight:700}.diag-empty{color:var(--text-dim);text-align:center;padding:20px 0;font-size:12px}.diag-note{color:var(--text-dim);margin-top:10px;font-size:10px;line-height:1.4}.diag-legend-row{color:var(--text-dim);align-items:center;gap:4px;margin-bottom:14px;font-size:11px;display:flex}.diag-legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.gradient-bars{flex-direction:column;gap:8px;display:flex}.gradient-bar-row{grid-template-columns:80px 1fr 110px;align-items:center;gap:8px;display:grid}.gradient-bar-label{flex-direction:column;display:flex}.gradient-bar-name{color:var(--text-muted);font-size:11px}.gradient-bar-act{color:var(--text-dim);font-size:10px;font-family:var(--mono)}.gradient-bar-track{background:var(--surface2);border-radius:5px;height:10px;overflow:hidden}.gradient-bar-fill{border-radius:5px;height:100%;transition:width .3s}.gradient-bar-meta{flex-direction:column;gap:1px;display:flex}.gradient-bar-mag{color:var(--text-dim);font-size:10px;font-family:var(--mono)}.gradient-bar-status{font-size:10px;font-weight:600}.shape-track-flow{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:14px;display:flex}.shape-track-node-wrap{align-items:center;gap:4px;display:flex}.shape-track-node{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:6px;min-width:60px;padding:6px 10px}.shape-track-node.input-node{border-color:var(--primary);background:#4d6ce614}.shape-track-node.output-node{border-color:var(--danger);background:#ef444414}.shape-node-name{color:var(--text-dim);font-size:10px;font-weight:600}.shape-node-out{color:var(--text);font-size:12px;font-family:var(--mono);font-weight:700}.shape-node-params{color:var(--text-dim);margin-top:1px;font-size:9px}.shape-node-act{color:var(--success);font-size:9px;font-family:var(--mono);margin-top:1px}.shape-track-arrow{color:var(--text-dim);font-size:12px}.shape-table{border-collapse:collapse;width:100%;font-size:11px}.shape-table th{background:var(--surface2);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border);padding:5px 8px;font-size:9px;font-weight:700}.shape-table td{color:var(--text-muted);border-bottom:1px solid #2a385280;padding:5px 8px}.shape-table tr:last-child td{border-bottom:none}.shape-table tfoot td{border-top:1px solid var(--border);padding-top:6px}.shape-table .mono{font-family:var(--mono)}.shape-table .dim{color:var(--text-dim)}.shape-table .act{color:var(--success)}.total-label{color:var(--text-muted);font-weight:600}.total-val{color:var(--text);font-weight:700}.init-panels{gap:12px;display:flex}.init-panel{flex:1}.init-panel-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.init-panel-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.init-panel-name{color:var(--text-muted);font-size:11px;font-weight:600}.init-histogram{align-items:flex-end;gap:1px;height:80px;margin-bottom:8px;display:flex}.init-hist-bar{border-radius:2px 2px 0 0;flex:1;min-height:2px;transition:height .3s}.init-dead-badge{align-items:baseline;gap:4px;margin-bottom:4px;display:flex}.init-dead-pct{font-size:18px;font-weight:700;font-family:var(--mono)}.init-dead-label{color:var(--text-dim);font-size:10px}.init-note{color:var(--text-dim);font-size:10px;line-height:1.4}.challenge-section{border-bottom:1px solid var(--border);padding:16px 24px}.challenge-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.challenge-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:10px;padding:2px 10px;font-size:10px;font-weight:700}.challenge-type-label{color:var(--text-muted);font-size:12px}.connect-pipes{flex-direction:column;gap:14px;display:flex}.pipes-prompt{color:var(--text);font-size:13px;line-height:1.5}.pipeline-row{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:16px;display:flex}.pipeline-node{font-size:11px;font-weight:600;font-family:var(--mono);border-radius:6px;padding:6px 14px}.pipeline-node.fixed{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted)}.pipeline-slot-group{align-items:center;gap:6px;display:flex}.pipeline-arrow{color:var(--text-dim)}.pipe-arrow-svg{display:block}.pipeline-slot{border:2px dashed var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-width:110px;min-height:44px;padding:6px 10px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.pipeline-slot.empty{color:var(--text-dim)}.pipeline-slot.empty:hover{border-color:var(--primary);color:var(--primary-light)}.pipeline-slot.droppable{border-color:var(--primary);border-style:solid}.pipeline-slot.fixed-block{cursor:default;border-style:solid}.pipeline-slot.user-block:not(.empty):hover{opacity:.8}.slot-block-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.slot-block-name{font-size:11px;font-weight:600}.slot-remove{color:var(--text-dim);margin-left:auto;font-size:12px}.slot-empty-label{font-size:11px}.palette-section{flex-direction:column;gap:8px;display:flex}.palette-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:10px;font-weight:700}.palette-blocks{flex-wrap:wrap;gap:8px;display:flex}.palette-block{cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .12s;display:flex}.palette-block:hover{opacity:.85}.palette-block.selected{box-shadow:0 0 0 2px}.palette-dot{border-radius:50%;width:8px;height:8px}.palette-hint{color:var(--primary-light);font-size:11px}.criteria-list{flex-direction:column;gap:6px;display:flex}.criteria-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:4px;font-size:10px;font-weight:700}.criterion-row{color:var(--text-muted);align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.criterion-icon{flex-shrink:0;width:16px;font-size:13px}.criterion-row.pass{color:var(--success)}.criterion-row.fail{color:var(--danger)}.pipes-hint{color:var(--text-dim);background:var(--surface);border-radius:6px;padding:8px 12px;font-size:12px;line-height:1.5}.hint-icon{margin-right:4px}.pipes-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pipes-submit{background:var(--primary);color:#fff;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;border-radius:7px;padding:8px 20px;transition:background .15s}.pipes-submit:hover{background:var(--primary-dark)}.pipes-submit:disabled{opacity:.4;cursor:not-allowed}.pipes-reset{border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-family:var(--font);cursor:pointer;background:0 0;border-radius:7px;padding:8px 16px;transition:all .15s}.pipes-reset:hover{border-color:var(--danger);color:var(--danger)}.pipes-feedback{border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600}.pipes-feedback.pass{color:var(--success);background:#6ce7bc1f;border:1px solid #6ce7bc4d}.pipes-feedback.fail{color:var(--danger);background:#ef444414;border:1px solid #ef444433}.lesson-nav{justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.lesson-nav-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;border-radius:7px;padding:8px 18px;transition:all .15s}.lesson-nav-btn:hover{border-color:var(--primary);color:var(--text)}.lesson-nav-btn:disabled{opacity:.3;cursor:not-allowed}.lesson-nav-btn:disabled:hover{border-color:var(--border);color:var(--text-muted)}.lesson-nav-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.lesson-nav-btn.primary:hover{background:var(--primary-dark)}.lesson-done-btn{color:var(--success);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;background:#6ce7bc1f;border:1px solid #6ce7bc4d;border-radius:7px;padding:8px 18px;transition:all .15s}.lesson-done-btn:hover{background:#6ce7bc33}.live-code-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:20px 24px;overflow:hidden}.live-code-header{border-bottom:1px solid var(--border);background:#1e1e3080;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.live-code-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.live-code-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:#4d6ce61f;border:1px solid #4d6ce64d;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.live-code-subtitle{color:var(--text-muted);font-size:11px}.live-code-tabs{gap:4px;display:flex}.live-code-tab{border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:500;font-family:var(--font);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;transition:all .15s}.live-code-tab:hover{border-color:var(--primary);color:var(--text)}.live-code-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.live-code-body{padding:0;position:relative}.live-code-copy{z-index:1;border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--font);cursor:pointer;background:#1e1e30e6;border-radius:5px;padding:3px 10px;transition:all .15s;position:absolute;top:10px;right:12px}.live-code-copy:hover{border-color:var(--primary);color:var(--text)}.live-code-pre{color:#cdd6f4;white-space:pre;background:#1a1b2e;max-height:380px;margin:0;padding:16px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;line-height:1.65;overflow:auto}.word-embed-wrap{padding:20px 24px}.word-embed-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;font-size:13px;font-weight:600}.word-embed-canvas-wrap{border:1px solid var(--border);background:#141426cc;border-radius:10px;position:relative;overflow:hidden}.word-embed-controls{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.word-embed-btn{border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;transition:all .15s}.word-embed-btn:hover{border-color:var(--primary);color:var(--text)}.word-embed-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.word-embed-legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:10px;font-size:11px;display:flex}.word-embed-legend-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.word-embed-info{color:var(--text-muted);background:#4d6ce614;border:1px solid #4d6ce633;border-radius:7px;margin-top:10px;padding:10px 14px;font-size:12px;line-height:1.6}.loss3d-wrap{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.loss3d-header{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:12px 16px 10px;display:flex}.loss3d-title{color:var(--text);font-size:13px;font-weight:600}.loss3d-sub{color:var(--text-dim);font-size:11px}.loss3d-canvas-wrap{width:100%;height:340px}@media (max-width:767px){.loss3d-canvas-wrap{height:260px}}@media (max-width:480px){.loss3d-canvas-wrap{height:220px}}.loss3d-controls{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.loss3d-stats-row{flex-wrap:wrap;gap:20px;display:flex}.loss3d-stat{flex-direction:column;gap:2px;min-width:56px;display:flex}.loss3d-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-family:var(--mono)}.loss3d-stat-val{color:var(--text);font-size:14px;font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums}.loss3d-bottom-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.loss3d-lr-group{flex-direction:column;gap:5px;display:flex}.loss3d-lr-btns{gap:4px;display:flex}.loss3d-lr-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--mono);cursor:pointer;border-radius:5px;padding:3px 9px;transition:all .15s}.loss3d-lr-btn:hover{border-color:var(--primary);color:var(--text)}.loss3d-lr-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.loss3d-action-btns{flex-wrap:wrap;gap:6px;display:flex}.loss3d-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--font);cursor:pointer;border-radius:6px;padding:5px 13px;transition:all .15s}.loss3d-btn:disabled{opacity:.35;cursor:not-allowed}.loss3d-btn:hover:not(:disabled){border-color:var(--primary);color:var(--text)}.loss3d-btn.run{border-color:var(--success);color:var(--success);background:#6ce7bc14}.loss3d-btn.run:hover{background:var(--success);color:#0a1a12}.loss3d-btn.stop{border-color:var(--danger);color:var(--danger);background:#ef444414}.loss3d-btn.stop:hover{background:var(--danger);color:#fff}.loss3d-btn.reset{border-color:var(--accent);color:var(--accent)}.loss3d-btn.reset:hover{background:var(--accent);color:var(--bg)}.loss3d-btn.step{border-color:var(--primary-light);color:var(--primary-light)}.loss3d-btn.step:hover:not(:disabled){background:var(--primary);color:#fff}.nn3d-wrap{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.nn3d-header{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:12px 16px 10px;display:flex}.nn3d-title{color:var(--text);font-size:13px;font-weight:600}.nn3d-sub{color:var(--text-dim);font-size:11px}.nn3d-canvas-wrap{width:100%;height:320px}@media (max-width:767px){.nn3d-canvas-wrap{height:240px}}@media (max-width:480px){.nn3d-canvas-wrap{height:200px}}.nn3d-controls{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.nn3d-arch-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nn3d-arch-tabs{flex-wrap:wrap;gap:5px;display:flex}.nn3d-arch-tab{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--mono);cursor:pointer;border-radius:6px;padding:3px 10px;transition:all .15s}.nn3d-arch-tab:hover{border-color:var(--primary);color:var(--text)}.nn3d-arch-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.nn3d-layer-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nn3d-layer-name{color:var(--text)}.nn3d-layer-btns{align-items:center;gap:5px;display:flex}.nn3d-layer-dot{background:var(--surface2);border:1.5px solid var(--border);cursor:pointer;border-radius:50%;width:10px;height:10px;transition:all .15s}.nn3d-layer-dot.active{background:var(--primary);border-color:var(--primary-light)}.nn3d-legend{flex-wrap:wrap;gap:12px;display:flex}.nn3d-legend-item{color:var(--text-dim);align-items:center;gap:6px;font-size:11px;display:flex}.nn3d-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ds3d-wrap{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.ds3d-header{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:12px 16px 10px;display:flex}.ds3d-title{color:var(--text);font-size:13px;font-weight:600}.ds3d-sub{color:var(--text-dim);font-size:11px}.ds3d-canvas-wrap{width:100%;height:340px;position:relative}@media (max-width:767px){.ds3d-canvas-wrap{height:260px}}@media (max-width:480px){.ds3d-canvas-wrap{height:220px}}.ds3d-formula-overlay{border:1px solid var(--border);pointer-events:none;background:#090d17b3;border-radius:6px;padding:4px 10px;position:absolute;top:10px;right:12px}.ds3d-formula{font-family:var(--mono);color:var(--primary-light);font-size:13px}.ds3d-controls{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.ds3d-dataset-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ds3d-tabs{flex-wrap:wrap;gap:4px;display:flex}.ds3d-tab{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--mono);cursor:pointer;border-radius:6px;padding:3px 10px;transition:all .15s}.ds3d-tab:hover{border-color:var(--primary);color:var(--text)}.ds3d-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.ds3d-action-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ds3d-lift-btn{background:var(--surface);border:1.5px solid var(--border);color:var(--text-muted);font-size:12px;font-weight:600;font-family:var(--font);cursor:pointer;border-radius:7px;padding:6px 16px;transition:all .2s}.ds3d-lift-btn:hover{border-color:var(--primary);color:var(--text)}.ds3d-lift-btn.lifted{border-color:var(--primary);color:var(--primary-light);background:#4d6ce61f}.ds3d-legend{color:var(--text-dim);align-items:center;gap:8px;font-size:11px;display:flex}.ds3d-legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.ds3d-insight{background:#4d6ce60f;border:1px solid #4d6ce633;border-radius:7px;flex-direction:column;gap:3px;padding:8px 12px;display:flex}.ds3d-insight-formula{font-family:var(--mono);color:var(--primary-light);font-size:12px;font-weight:600}.ds3d-insight-text{color:var(--text-muted);font-size:12px;line-height:1.5}@media (max-width:767px){.ml-course-view{height:auto;display:block;overflow:visible}.ml-mobile-menu-btn{display:flex}.course-nav{z-index:30;width:280px;max-width:85vw;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #0006}.ml-course-view.ml-mobile-open .course-nav{transform:translate(0)}.ml-course-view.ml-mobile-open .ml-mobile-backdrop{z-index:25;display:block;position:fixed;inset:0}.course-main{overflow-y:visible}.ml-course-view.nav-collapsed .course-nav-full{display:flex}.ml-course-view.nav-collapsed .course-nav-mini{display:none}}
.dl-scope{--accent:#f59e0b;color:var(--text);font-family:var(--font)}.dl-course-view{grid-template-columns:260px 1fr;height:100%;min-height:0;transition:grid-template-columns .2s;display:grid;position:relative;overflow:hidden}.dl-mobile-menu-btn{z-index:15;background:var(--sidebar-bg);border:none;border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font);text-align:left;cursor:pointer;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:13px;font-weight:600;display:none;position:sticky;top:0}.dl-mobile-menu-btn:hover{color:var(--text)}.dl-mobile-menu-btn .dl-mobile-menu-icon{flex-direction:column;gap:3px;width:16px;display:inline-flex}.dl-mobile-menu-btn .dl-mobile-menu-icon span{background:currentColor;border-radius:1px;height:2px;display:block}.dl-mobile-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#0000008c;display:none;position:absolute;inset:0}.dl-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.dl-sidebar-full{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.dl-sidebar-mini{flex-direction:column;align-items:center;gap:6px;width:100%;height:100%;padding:10px 0;display:none;overflow-y:auto}.dl-sidebar-mini-toggle,.dl-sidebar-collapse-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-dim);font-size:14px;font-family:var(--mono);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.dl-sidebar-mini-toggle:hover,.dl-sidebar-collapse-btn:hover{color:var(--text);border-color:var(--primary)}.dl-sidebar-mini-toggle{margin-bottom:6px}.dl-sidebar-mini-units{flex-direction:column;align-items:center;gap:4px;width:100%;padding:0 4px;display:flex}.dl-sidebar-mini-unit{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-muted);font-family:var(--mono);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .12s;display:inline-flex}.dl-sidebar-mini-unit:hover{color:var(--text);border-color:var(--primary)}.dl-sidebar-mini-unit.active{border-color:var(--primary);color:var(--primary-light);background:#4d6ce626}.dl-sidebar-mini-unit.done{color:var(--success);border-color:#6ce7bc59}@media (min-width:768px){.dl-course-view.nav-collapsed{grid-template-columns:56px 1fr}.dl-course-view.nav-collapsed .dl-sidebar-full{display:none}.dl-course-view.nav-collapsed .dl-sidebar-mini{display:flex}}@media (max-width:767px){.dl-sidebar-collapse-btn{display:none}.dl-course-view.nav-collapsed .dl-sidebar-full{display:flex}.dl-course-view.nav-collapsed .dl-sidebar-mini{display:none}}.dl-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 12px 12px}.dl-sidebar-title-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dl-sidebar-title{color:var(--text);font-size:13px;font-weight:700}.dl-lang-toggle{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font-size:10px;font-weight:700;font-family:var(--mono);cursor:pointer;letter-spacing:.05em;border-radius:5px;padding:2px 8px;transition:all .15s}.dl-lang-toggle:hover{border-color:var(--primary);color:var(--primary-light)}.dl-progress-row{align-items:center;gap:8px;display:flex}.dl-progress-bar{background:var(--surface2);border-radius:2px;flex:1;height:4px;overflow:hidden}.dl-progress-fill{background:var(--primary);border-radius:2px;height:100%;transition:width .4s}.dl-progress-label{color:var(--text-dim);font-size:10px;font-family:var(--mono);text-align:right;min-width:32px}.dl-nav-list{flex:1;padding:8px 0;overflow-y:auto}.dl-unit-section{border-bottom:1px solid var(--border)}.dl-unit-section:last-child{border-bottom:none}.dl-unit-header{cursor:pointer;color:var(--text-muted);font-size:12px;font-weight:600;font-family:var(--font);align-items:center;gap:8px;padding:10px 16px;transition:color .15s;display:flex}.dl-unit-header:hover,.dl-unit-header.active .dl-unit-title{color:var(--text)}.dl-unit-header.done .dl-unit-title{color:var(--success)}.dl-unit-number{color:var(--primary);white-space:nowrap;background:#4d6ce61f;border:1px solid #4d6ce640;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:700}.dl-unit-title{font-size:12px}.dl-unit-check{color:var(--success);margin-left:auto;font-size:11px}.dl-lesson-list{padding:2px 0 6px}.dl-lesson-item{cursor:pointer;width:calc(100% - 16px);font-family:var(--font);color:var(--text-muted);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;margin:1px 8px;padding:7px 16px 7px 28px;font-size:12px;transition:all .15s;display:flex}.dl-lesson-item:hover{color:var(--text);background:#ffffff0a}.dl-lesson-item.active{color:var(--primary-light);background:#4d6ce626}.dl-lesson-item.done{color:var(--success)}.dl-lesson-dot{flex-shrink:0;width:14px;font-size:11px}.dl-lesson-title{flex:1;font-size:12px;line-height:1.3}.dl-main{background:var(--bg);overflow-y:auto}.dl-home{max-width:900px;padding:32px 40px}.dl-home-hero{margin-bottom:32px}.dl-hero-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);background:#4d6ce61f;border:1px solid #4d6ce64d;border-radius:20px;margin-bottom:14px;padding:3px 12px;font-size:11px;font-weight:700;display:inline-block}.dl-hero-title{color:var(--text);letter-spacing:-.3px;margin-bottom:10px;font-size:22px;font-weight:700}.dl-hero-desc{color:var(--text-muted);max-width:540px;margin-bottom:20px;font-size:13px;line-height:1.6}.dl-hero-stats{gap:28px;margin-bottom:20px;display:flex}.dl-hero-stat{text-align:center}.dl-stat-val{color:var(--primary-light);font-size:20px;font-weight:700;font-family:var(--mono);display:block}.dl-stat-label{color:var(--text-dim);font-size:11px}.dl-hero-cta{background:var(--primary);color:#fff;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;border:none;border-radius:6px;padding:8px 22px;transition:background .15s}.dl-hero-cta:hover{background:var(--primary-dark)}.dl-units-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.dl-unit-card{background:var(--panel-bg);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:14px;transition:border-color .15s}.dl-unit-card:hover{border-color:var(--primary-dark)}.dl-unit-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dl-unit-card-num{text-transform:uppercase;letter-spacing:.08em;color:var(--primary-light);font-size:10px;font-weight:700}.dl-unit-card-prog{color:var(--text-dim);font-size:11px;font-family:var(--mono)}.dl-unit-card-title{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:700;line-height:1.3}.dl-unit-card-sub{color:var(--text-muted);margin-bottom:12px;font-size:11px;line-height:1.4}.dl-unit-card-bar{background:var(--surface2);border-radius:2px;height:3px;overflow:hidden}.dl-unit-card-fill{background:var(--primary);border-radius:2px;height:100%;transition:width .3s}.dl-lesson{max-width:820px;padding:32px 40px}.dl-lesson-header{margin-bottom:24px}.dl-lesson-unit-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.dl-lesson-title{color:var(--text);letter-spacing:-.3px;margin:8px 0;font-size:22px;font-weight:700}.dl-lesson-desc{color:var(--text-muted);font-size:14px;line-height:1.6}.dl-completed-badge{color:var(--success);background:#6ce7bc1a;border:1px solid #6ce7bc40;border-radius:20px;margin-top:8px;padding:2px 10px;font-size:11px;display:inline-block}.dl-lesson-body{flex-direction:column;gap:18px;margin-bottom:32px;display:flex}.dl-text{color:var(--text-muted);font-size:14px;line-height:1.75}.dl-equation{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;padding:14px 20px;overflow-x:auto}.dl-equation .katex{color:var(--text);font-size:1.15em}.dl-callout{border:1px solid #4d6ce633;border-left:3px solid var(--primary);background:#4d6ce60f;border-radius:8px;flex-direction:column;gap:5px;padding:12px 16px;display:flex}.dl-callout-label{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);font-size:10px;font-weight:700}.dl-callout-body{color:var(--text-muted);font-size:13px;line-height:1.6}.dl-visual-wrap{border-radius:12px;overflow:hidden}.dl-code-wrap{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.dl-code-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:6px 14px;display:flex}.dl-code-lang{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:10px;font-weight:700}.dl-copy-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:10px;transition:all .12s}.dl-copy-btn:hover{border-color:var(--primary);color:var(--primary-light)}.dl-code{font-family:var(--mono);color:#c2cbe0;white-space:pre;margin:0;padding:14px 16px;font-size:12px;line-height:1.65;overflow-x:auto}.dl-exercises{margin-bottom:28px}.dl-exercises-title{color:var(--text);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-size:13px;font-weight:700}.dl-exercise{background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:16px}.dl-exercise-question{color:var(--text);margin-bottom:12px;font-size:13px;font-weight:500;line-height:1.5}.dl-exercise-options{flex-direction:column;gap:7px;margin-bottom:10px;display:flex}.dl-exercise-option{background:var(--surface);border:1px solid var(--border);font-family:var(--font);color:var(--text-muted);cursor:pointer;text-align:left;border-radius:7px;align-items:flex-start;gap:10px;padding:9px 12px;font-size:12px;transition:all .12s;display:flex}.dl-exercise-option:hover:not(:disabled){border-color:var(--primary);color:var(--text)}.dl-exercise-option.selected{border-color:var(--primary);color:var(--text);background:#4d6ce614}.dl-exercise-option.correct{border-color:var(--success);color:var(--success);background:#6ce7bc14}.dl-exercise-option.wrong{border-color:var(--danger);color:var(--danger);background:#ef444414}.dl-exercise-option:disabled{cursor:default}.dl-option-letter{font-size:10px;font-weight:700;font-family:var(--mono);background:var(--surface2);border-radius:4px;flex-shrink:0;padding:1px 5px}.dl-reveal-btn{color:var(--primary-light);font-size:12px;font-family:var(--font);cursor:pointer;background:#4d6ce61a;border:1px solid #4d6ce64d;border-radius:6px;padding:6px 14px;transition:all .15s}.dl-reveal-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.dl-explanation{border-radius:7px;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 14px;font-size:12px;line-height:1.6;display:flex}.dl-explanation.correct{color:var(--text-muted);background:#6ce7bc14;border:1px solid #6ce7bc40}.dl-explanation.wrong{color:var(--text-muted);background:#ef44440f;border:1px solid #ef444433}.dl-explanation-icon{flex-shrink:0;font-size:13px}.dl-lesson-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.dl-nav-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;border-radius:7px;padding:8px 18px;transition:all .15s}.dl-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--text)}.dl-nav-btn:disabled{opacity:.3;cursor:not-allowed}.dl-nav-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.dl-nav-btn.primary:hover:not(:disabled){background:var(--primary-dark)}.dl-nav-center{align-items:center;display:flex}.dl-complete-btn{color:var(--success);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;background:#6ce7bc1a;border:1px solid #6ce7bc4d;border-radius:7px;padding:8px 18px;transition:all .15s}.dl-complete-btn:hover{background:#6ce7bc33}.dl-nav-done{color:var(--success);font-size:12px}.nd-wrap{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;padding:16px;overflow:hidden}.nd-svg{background:var(--bg);border-radius:8px;width:100%;display:block}.nd-controls{flex-direction:column;gap:8px;margin-top:12px;display:flex}.nd-sliders{flex-direction:column;gap:6px;display:flex}.nd-slider-row{color:var(--text-dim);font-size:11px;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nd-slider-label{min-width:90px}.nd-slider-row input[type=range]{min-width:80px;accent-color:var(--primary);flex:1}.nd-act-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nd-act-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--mono);cursor:pointer;border-radius:5px;padding:3px 10px;transition:all .12s}.nd-act-btn:hover{border-color:var(--primary);color:var(--text)}.nd-act-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.nd-formula{color:var(--text-dim);font-size:10px;font-family:var(--mono);flex:1}.af-wrap{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.af-toggles{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:12px 14px 8px;display:flex}.af-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:var(--mono);cursor:pointer;border-radius:6px;padding:4px 12px;transition:all .15s}.af-toggle:hover{border-color:var(--primary);color:var(--text)}.af-svg{background:var(--bg);width:100%;display:block}.af-desc-row{flex-direction:column;gap:6px;padding:10px 14px;display:flex}.af-desc-item{border-left:2.5px solid;align-items:baseline;gap:10px;padding-left:8px;font-size:12px;display:flex}.af-desc-name{font-family:var(--mono);flex-shrink:0;min-width:56px;font-size:11px;font-weight:700}.af-desc-text{color:var(--text-dim);line-height:1.5}.fp-wrap{background:var(--panel-bg);border:1px solid var(--border);border-radius:12px;padding:16px}.fp-inputs{flex-wrap:wrap;gap:20px;margin-bottom:16px;display:flex}.fp-input-row{align-items:center;gap:8px;display:flex}.fp-input-label{color:var(--text-dim);font-size:11px;font-family:var(--mono);min-width:70px}.fp-input-row input{accent-color:var(--primary);width:120px}.fp-layers{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.fp-layer{flex-direction:column;gap:6px;display:flex}.fp-layer.hidden{opacity:.3}.fp-layer-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:10px;font-weight:700;font-family:var(--mono)}.fp-nodes{flex-wrap:wrap;gap:8px;display:flex}.fp-node{background:var(--surface);border:1.5px solid;border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:6px 10px;transition:border-color .3s;display:flex}.fp-node-val{font-family:var(--mono);font-size:13px;font-weight:600;transition:color .3s}.fp-node-sub{color:var(--text-dim);font-size:9px;font-family:var(--mono)}.fp-arrow{color:var(--text-dim);text-align:center;margin:-2px 0;font-size:16px}.fp-nav{justify-content:center;align-items:center;gap:10px;padding:8px 0;display:flex}.fp-step-label{color:var(--text-muted);font-size:12px;font-family:var(--mono);text-align:center;min-width:120px}.fp-result{text-align:center;background:var(--surface);color:var(--text-muted);border-radius:7px;padding:10px;font-size:13px}@media (max-width:767px){.dl-course-view{height:auto;display:block;overflow:visible}.dl-mobile-menu-btn{display:flex}.dl-sidebar{z-index:30;width:280px;max-width:85vw;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #0006}[dir=rtl] .dl-sidebar{left:auto;right:0;transform:translate(100%)}.dl-course-view.dl-mobile-open .dl-sidebar{transform:translate(0)}.dl-course-view.dl-mobile-open .dl-mobile-backdrop{z-index:25;display:block;position:fixed;inset:0}.dl-main{overflow-y:visible}.dl-course-view.nav-collapsed .dl-sidebar-full{display:flex}.dl-course-view.nav-collapsed .dl-sidebar-mini{display:none}}
