:root{--bg-darkest:#040711;--bg-base:#060913;--bg-surface:#0b1120;--bg-card:#0f172abf;--bg-card-hover:#1e293bd9;--bg-card-active:#1e293b;--border:#ffffff14;--border-subtle:#ffffff0a;--border-accent:#38bdf859;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-light:#fff;--accent-cyan:#38bdf8;--accent-blue:#2563eb;--accent-indigo:#6366f1;--accent-purple:#8b5cf6;--accent-emerald:#10b981;--accent-green:#22c55e;--accent-amber:#f59e0b;--accent-yellow:#eab308;--accent-rose:#f43f5e;--accent-red:#ef4444;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:9999px;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--shadow-glow-cyan:0 0 20px #38bdf840;--shadow-glow-green:0 0 20px #10b98140;--shadow-glow-indigo:0 0 20px #6366f140;--shadow-glow-red:0 0 20px #ef444459;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 50% 0,#38bdf812 0%,#0000 65%),radial-gradient(at 85%,#6366f10d 0%,#0000 50%),linear-gradient(90deg,#ffffff03 1px,#0000 1px),linear-gradient(#ffffff03 1px,#0000 1px);background-size:100% 100%,100% 100%,32px 32px,32px 32px;flex-direction:column;min-height:100vh;line-height:1.5;display:flex;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.academy-nav{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#060913e0;justify-content:space-between;align-items:center;gap:1.5rem;padding:.65rem 1.5rem;display:flex;position:sticky;top:0}.nav-brand-group{align-items:center;gap:.85rem;display:flex}.nav-brand-logo{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;display:flex}.brand-icon-box{background:linear-gradient(135deg, var(--accent-cyan), var(--accent-indigo));border-radius:var(--radius-sm);color:#000;justify-content:center;align-items:center;width:32px;height:32px;font-weight:900;display:flex;box-shadow:0 0 14px #38bdf866}.nav-badge-academy{color:var(--accent-cyan);font-family:var(--font-mono);border-radius:var(--radius-pill);text-transform:uppercase;background:#38bdf81f;border:1px solid #38bdf84d;padding:.2rem .55rem;font-size:.68rem;font-weight:600}.nav-search-bar{flex:1;align-items:center;max-width:480px;display:flex;position:relative}.nav-search-bar input{border:1px solid var(--border);border-radius:var(--radius-pill);width:100%;color:var(--text-primary);transition:var(--transition-fast);background:#0f172a99;padding:.45rem 2.5rem .45rem 2.2rem;font-size:.85rem}.nav-search-bar input:focus{border-color:var(--accent-cyan);background:#0f172af2;outline:none;box-shadow:0 0 12px #38bdf833}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.8rem}.search-shortcut{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-secondary);background:#ffffff14;border-radius:4px;padding:.1rem .35rem;font-size:.68rem;position:absolute;right:.65rem}.nav-links-cluster{color:var(--text-secondary);align-items:center;gap:1.25rem;font-size:.88rem;font-weight:500;display:flex}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--accent-cyan);font-weight:600}.nav-user-cluster{align-items:center;gap:.85rem;display:flex}.theme-toggle-btn{border:1px solid var(--border);border-radius:var(--radius-pill);width:32px;height:32px;color:var(--text-secondary);transition:var(--transition-fast);background:#ffffff0f;justify-content:center;align-items:center;font-size:.9rem;display:flex}.theme-toggle-btn:hover{color:var(--text-primary);background:#ffffff1f}.user-streak-badge{color:var(--accent-amber);border-radius:var(--radius-pill);font-size:.76rem;font-weight:700;font-family:var(--font-mono);background:#f59e0b1f;border:1px solid #f59e0b47;align-items:center;gap:.35rem;padding:.3rem .65rem;display:flex}.user-avatar-btn{border-radius:var(--radius-pill);color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:2px solid #ffffff26;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;display:flex}.academy-sub-bar{border-bottom:1px solid var(--border);background:#0b1120f2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.5rem;display:flex}.view-mode-tabs{border:1px solid var(--border);border-radius:var(--radius-pill);background:#0f172acc;align-items:center;gap:.2rem;padding:.2rem;display:flex}.view-mode-btn{border-radius:var(--radius-pill);color:var(--text-secondary);transition:var(--transition-fast);align-items:center;gap:.4rem;padding:.4rem .95rem;font-size:.78rem;font-weight:600;display:flex}.view-mode-btn:hover{color:var(--text-primary);background:#ffffff0a}.view-mode-btn.active{background:var(--accent-cyan);color:#040711;font-weight:700;box-shadow:0 0 12px #38bdf859}.academy-breadcrumbs-area{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.82rem;display:flex}.academy-breadcrumbs-area a{color:var(--text-secondary)}.academy-breadcrumbs-area a:hover{color:var(--accent-cyan)}.breadcrumbs-current{color:var(--text-primary);font-weight:600}.academy-main-container{flex:1;width:100%;max-width:1720px;margin:0 auto;padding:1.25rem 1.5rem 3rem}.quadrant-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.quadrant-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition-normal);box-shadow:var(--shadow-md);flex-direction:column;min-height:560px;display:flex;overflow:hidden}.quadrant-card:hover{border-color:#ffffff26}.quadrant-header-tag{border-bottom:1px solid var(--border);background:#0b1120a6;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.quadrant-tag-pill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);align-items:center;gap:.45rem;padding:.25rem .65rem;font-size:.74rem;font-weight:700;display:inline-flex}.pill-quad-1{color:var(--accent-cyan);background:#38bdf81f;border:1px solid #38bdf84d}.pill-quad-2{color:var(--accent-emerald);background:#10b9811f;border:1px solid #10b9814d}.pill-quad-3{color:var(--accent-amber);background:#f59e0b1f;border:1px solid #f59e0b4d}.pill-quad-4{color:var(--accent-indigo);background:#6366f11f;border:1px solid #6366f14d}.quadrant-subtitle-desc{color:var(--text-muted);font-size:.78rem}.quadrant-body{flex-direction:column;flex:1;padding:1.25rem;display:flex}.dash-welcome-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.dash-title{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;font-size:1.35rem;font-weight:800}.dash-subtitle{color:var(--text-secondary);margin-top:.2rem;font-size:.82rem}.dash-kpis{flex-wrap:wrap;gap:.65rem;display:flex}.kpi-chip{border:1px solid var(--border);border-radius:var(--radius-md);background:#0f172acc;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.78rem;font-weight:600;display:flex}.kpi-chip-fire{color:var(--accent-amber);border-color:#f59e0b4d}.kpi-chip-cert{color:var(--accent-emerald);border-color:#10b9814d}.kpi-chip-pct{color:var(--accent-cyan);border-color:#38bdf84d}.continue-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#1e293ba6 0%,#0f172ad9 100%);border:1px solid #38bdf840;margin-bottom:1.25rem;padding:1.15rem;position:relative;overflow:hidden}.continue-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#38bdf81f 0%,#0000 70%);width:140px;height:140px;position:absolute;top:0;right:0}.continue-top{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.continue-label{font-family:var(--font-mono);color:var(--accent-cyan);text-transform:uppercase;font-size:.7rem;font-weight:700}.continue-badge{color:var(--accent-cyan);border-radius:var(--radius-pill);background:#38bdf826;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.continue-title-group{align-items:center;gap:.85rem;margin-bottom:.85rem;display:flex}.continue-tech-icon{border-radius:var(--radius-sm);background:#38bdf81f;border:1px solid #38bdf84d;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;display:flex}.continue-course-title{font-family:var(--font-display);color:#fff;font-size:1.05rem;font-weight:700}.continue-course-desc{color:var(--text-secondary);font-size:.78rem}.progress-bar-wrap{border-radius:var(--radius-pill);background:#ffffff14;width:100%;height:6px;margin-bottom:.85rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-emerald));border-radius:var(--radius-pill);height:100%;transition:width .4s}.continue-action-row{justify-content:space-between;align-items:center;display:flex}.continue-time-left{color:var(--text-muted);font-size:.74rem}.btn-continue-lesson{background:var(--accent-cyan);color:#040711;border-radius:var(--radius-pill);transition:var(--transition-fast);align-items:center;gap:.35rem;padding:.45rem 1rem;font-size:.82rem;font-weight:700;display:inline-flex}.btn-continue-lesson:hover{background:#7dd3fc;box-shadow:0 0 16px #38bdf866}.path-ladder-section{margin-bottom:1.25rem}.section-mini-heading{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.65rem;font-size:.72rem;font-weight:700}.path-ladder-grid{grid-template-columns:repeat(4,1fr);gap:.65rem;display:grid}.path-step-card{border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition-fast);background:#0f172a99;align-items:center;gap:.6rem;padding:.65rem .75rem;display:flex}.path-step-card:hover{background:#1e293b99;border-color:#38bdf84d}.step-circle{border-radius:var(--radius-pill);width:26px;height:26px;color:var(--accent-cyan);font-family:var(--font-mono);background:#38bdf826;flex-shrink:0;justify-content:center;align-items:center;font-size:.74rem;font-weight:700;display:flex}.step-info-title{color:#fff;font-size:.78rem;font-weight:700}.step-info-sub{color:var(--text-muted);font-size:.68rem}.studios-track-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.track-box{border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition-fast);cursor:pointer;background:#0f172ab3;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .85rem;display:flex}.track-box:hover{background:#1e293bb3;border-color:#ffffff2e}.track-box.active-track{border-color:var(--accent-cyan);background:#38bdf81a}.track-left{align-items:center;gap:.65rem;display:flex}.track-icon{font-size:1.15rem}.track-name{color:#fff;font-size:.82rem;font-weight:700}.track-topics{color:var(--text-muted);font-size:.68rem}.track-pct{font-family:var(--font-mono);color:var(--accent-cyan);font-size:.82rem;font-weight:700}.lesson-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.lesson-breadcrumbs{color:var(--text-secondary);font-size:.76rem}.lesson-breadcrumbs span{color:var(--accent-emerald);font-weight:600}.lesson-actions{align-items:center;gap:.5rem;display:flex}.lesson-timer-pill{font-family:var(--font-mono);color:var(--text-muted);border-radius:var(--radius-pill);background:#ffffff0d;padding:.2rem .5rem;font-size:.72rem}.btn-mark-complete{background:var(--accent-emerald);color:#040711;border-radius:var(--radius-pill);transition:var(--transition-fast);align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.76rem;font-weight:700;display:inline-flex}.btn-mark-complete:hover{box-shadow:var(--shadow-glow-green);background:#34d399}.lesson-layout-split{flex:1;grid-template-columns:200px 1fr;gap:1rem;display:grid}.lesson-sidebar-tree{border-right:1px solid var(--border);flex-direction:column;gap:.65rem;max-height:480px;padding-right:.75rem;display:flex;overflow-y:auto}.tree-module-group{flex-direction:column;gap:.25rem;display:flex}.tree-module-header{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;margin-bottom:.15rem;font-size:.68rem;font-weight:700}.tree-item-btn{text-align:left;border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;padding:.35rem .55rem;font-size:.74rem;overflow:hidden}.tree-item-btn:hover{color:var(--text-primary);background:#ffffff0a}.tree-item-btn.active{color:var(--accent-emerald);background:#10b98126;font-weight:600}.lesson-content-pane{flex-direction:column;max-height:480px;padding-right:.35rem;display:flex;overflow-y:auto}.lesson-tabs-header{border-bottom:1px solid var(--border);align-items:center;gap:.35rem;margin-bottom:.85rem;padding-bottom:.4rem;display:flex}.tab-btn{color:var(--text-muted);border-radius:var(--radius-sm);transition:var(--transition-fast);padding:.3rem .65rem;font-size:.75rem;font-weight:600}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:#fff;background:#ffffff14}.lesson-title-main{font-family:var(--font-display);color:#fff;margin-bottom:.45rem;font-size:1.15rem;font-weight:700}.lesson-lead-p{color:var(--text-secondary);margin-bottom:1rem;font-size:.8rem;line-height:1.6}.objectives-box{border-radius:var(--radius-md);background:#10b98114;border:1px solid #10b98140;margin-bottom:1rem;padding:.85rem}.objectives-title{color:var(--accent-emerald);text-transform:uppercase;font-size:.76rem;font-weight:700;font-family:var(--font-mono);margin-bottom:.4rem}.objectives-list{color:var(--text-primary);flex-direction:column;gap:.35rem;font-size:.78rem;list-style:none;display:flex}.objectives-list li{align-items:center;gap:.45rem;display:flex}.obj-check{color:var(--accent-emerald);font-weight:800}.architecture-svg-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:#020611;flex-direction:column;align-items:center;margin-bottom:1rem;padding:1rem;display:flex}.arch-svg-label{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;align-self:flex-start;margin-bottom:.85rem;font-size:.7rem}.notes-container{flex-direction:column;gap:.75rem;display:flex}.notes-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);color:#fff;width:100%;min-height:120px;font-family:var(--font-body);resize:vertical;background:#0f172acc;padding:.75rem;font-size:.8rem}.notes-textarea:focus{border-color:var(--accent-cyan);outline:none}.btn-save-notes{background:var(--accent-cyan);color:#040711;border-radius:var(--radius-pill);align-self:flex-end;padding:.35rem .85rem;font-size:.76rem;font-weight:700}.flow-top-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.flow-title-wrap h3{font-family:var(--font-display);color:#fff;font-size:1.1rem;font-weight:700}.flow-title-wrap p{color:var(--text-muted);font-size:.75rem}.flow-btn-group{align-items:center;gap:.45rem;display:flex}.flow-select{border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);background:#0f172acc;padding:.3rem .6rem;font-size:.74rem}.btn-flow-toggle{color:var(--accent-emerald);border-radius:var(--radius-pill);background:#10b98126;border:1px solid #10b98159;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.72rem;font-weight:700;display:flex}.btn-flow-reset{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-pill);background:#ffffff0d;padding:.3rem .65rem;font-size:.72rem;font-weight:600}.btn-flow-reset:hover{color:#fff;border-color:#fff3}.btn-flow-fail{color:var(--accent-red);border-radius:var(--radius-pill);background:#ef444426;border:1px solid #ef444459;padding:.3rem .65rem;font-size:.72rem;font-weight:700}.btn-flow-fail:hover{box-shadow:var(--shadow-glow-red);background:#ef444440}.btn-flow-run{background:var(--accent-amber);color:#040711;border-radius:var(--radius-pill);transition:var(--transition-fast);padding:.3rem .75rem;font-size:.74rem;font-weight:700}.btn-flow-run:hover{background:#fde047;box-shadow:0 0 14px #f59e0b59}.pipeline-dag-container{border:1px solid var(--border);border-radius:var(--radius-md);background:#080c16f2;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:1rem;padding:1.25rem .85rem;display:flex;position:relative;overflow-x:auto}.pipeline-node{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;min-width:95px;transition:var(--transition-fast);background:#0f172ae6;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem .75rem;display:flex;position:relative}.pipeline-node:hover{border-color:#ffffff40;transform:translateY(-2px)}.pipeline-node.node-success{border-color:#10b98173}.pipeline-node.node-running{border-color:var(--accent-cyan);animation:2s ease-in-out infinite pulse-node;box-shadow:0 0 14px #38bdf859}.pipeline-node.node-failed{border-color:var(--accent-red);box-shadow:var(--shadow-glow-red)}.pipeline-node.node-pending{border-color:var(--border);opacity:.75}.pipeline-node.active-selected{outline:2px solid var(--accent-amber)}@keyframes pulse-node{0%,to{box-shadow:0 0 12px #38bdf84d}50%{box-shadow:0 0 20px #38bdf8b3}}.node-icon-box{font-size:1.1rem}.node-title-txt{color:#fff;white-space:nowrap;font-size:.72rem;font-weight:700}.node-status-badge{font-family:var(--font-mono);border-radius:var(--radius-pill);padding:.1rem .35rem;font-size:.62rem}.badge-success{color:var(--accent-emerald);background:#10b98126}.badge-running{color:var(--accent-cyan);background:#38bdf826}.badge-failed{color:var(--accent-red);background:#ef444433;font-weight:700}.badge-pending{color:var(--text-muted);background:#ffffff0d}.dag-arrow{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.8rem}.flow-bottom-split{flex:1;grid-template-columns:1.4fr 1fr;gap:.85rem;display:grid}.node-details-drawer{border:1px solid var(--border);border-radius:var(--radius-md);background:#0b1120cc;flex-direction:column;padding:.85rem;display:flex}.node-details-header{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.details-node-name{color:#fff;font-size:.82rem;font-weight:700}.details-tab-nav{border-bottom:1px solid var(--border);gap:.3rem;margin-bottom:.65rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.dtab-btn{color:var(--text-muted);border-radius:4px;padding:.2rem .45rem;font-size:.7rem}.dtab-btn.active{color:#fff;background:#ffffff14}.details-body-txt{color:var(--text-secondary);font-size:.74rem;line-height:1.5}.live-status-hud{border:1px solid var(--border);border-radius:var(--radius-md);background:#0b1120cc;flex-direction:column;padding:.85rem;display:flex}.hud-title{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;margin-bottom:.65rem;font-size:.72rem;font-weight:700}.hud-metrics-list{flex-direction:column;gap:.45rem;display:flex}.hud-metric-row{justify-content:space-between;align-items:center;font-size:.74rem;display:flex}.metric-label{color:var(--text-secondary)}.metric-val{font-family:var(--font-mono);color:#fff;font-weight:700}.lab-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.lab-project-picker-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.lab-project-badge{font-family:var(--font-mono);color:var(--accent-indigo);border-radius:var(--radius-pill);text-transform:uppercase;background:#6366f126;border:1px solid #6366f14d;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.lab-project-picker-select{border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:var(--transition-fast);background:#0f172ad9;border:1px solid #6366f159;outline:none;padding:.25rem .65rem;font-size:.74rem;font-weight:600}.lab-project-picker-select:hover,.lab-project-picker-select:focus{border-color:var(--accent-cyan);box-shadow:var(--shadow-glow-cyan)}.lab-title-wrap h3{font-family:var(--font-display);color:#fff;font-size:1.1rem;font-weight:700}.lab-title-wrap p{color:var(--text-muted);font-size:.74rem}.lab-top-actions{align-items:center;gap:.45rem;display:flex}.lab-badge-time{font-family:var(--font-mono);color:var(--accent-indigo);border-radius:var(--radius-pill);background:#6366f11f;border:1px solid #6366f14d;padding:.25rem .55rem;font-size:.72rem}.btn-lab-reset,.btn-lab-end{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-pill);transition:var(--transition-fast);background:#ffffff0d;padding:.25rem .65rem;font-size:.72rem;font-weight:600}.btn-lab-reset:hover{color:var(--text-primary);border-color:#fff3}.btn-lab-end{color:var(--accent-red);background:#ef44441f;border-color:#ef44444d}.btn-lab-end:hover{background:#ef444440}.lab-layout-3col{flex:1;grid-template-columns:160px 1fr 180px;gap:.85rem;display:grid}.lab-steps-nav{border-right:1px solid var(--border);flex-direction:column;gap:.4rem;padding-right:.65rem;display:flex}.lab-step-btn{text-align:left;border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition-fast);align-items:center;gap:.45rem;padding:.4rem .5rem;font-size:.72rem;display:flex}.lab-step-btn:hover{color:var(--text-primary);background:#ffffff0a}.lab-step-btn.completed{color:var(--accent-emerald)}.lab-step-btn.active{color:#fff;background:#6366f126;border:1px solid #6366f14d;font-weight:700}.step-num-bubble{border-radius:var(--radius-pill);width:18px;height:18px;font-family:var(--font-mono);background:#ffffff14;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;display:flex}.lab-step-btn.completed .step-num-bubble{background:var(--accent-emerald);color:#040711;font-weight:800}.lab-workspace-center{flex-direction:column;display:flex}.lab-center-tabs{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.35rem;display:flex}.ltab-buttons-group{gap:.35rem;display:flex}.ltab-btn{color:var(--text-muted);border-radius:4px;padding:.25rem .55rem;font-size:.74rem;font-weight:600}.ltab-btn.active{color:#fff;background:#ffffff14}.lab-step-instructions-content{color:var(--text-secondary);margin-bottom:.85rem;font-size:.76rem;line-height:1.6}.expected-output-box{border-radius:var(--radius-sm);background:#060911f2;border:1px solid #10b9814d;margin-bottom:.85rem;padding:.65rem .85rem}.expected-label{font-family:var(--font-mono);color:var(--accent-emerald);text-transform:uppercase;margin-bottom:.35rem;font-size:.68rem;font-weight:700}.expected-terminal-code{font-family:var(--font-mono);color:#a7f3d0;white-space:pre-wrap;font-size:.72rem;line-height:1.4}.hints-solution-box{border-radius:var(--radius-sm);background:#0f172ad9;border:1px dashed #f59e0b59;margin-bottom:.85rem;padding:.65rem .85rem}.hints-header-row{justify-content:space-between;align-items:center;display:flex}.hints-title{color:var(--accent-amber);align-items:center;gap:.35rem;font-size:.74rem;font-weight:700;display:flex}.hints-btn-group{gap:.35rem;display:flex}.btn-hint-toggle{border:1px solid var(--border);color:var(--text-primary);background:#ffffff0f;border-radius:4px;padding:.2rem .5rem;font-size:.68rem;font-weight:600}.btn-hint-toggle:hover{color:var(--accent-amber);background:#f59e0b26}.hint-content-reveal{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:.5rem;padding-top:.5rem;font-size:.72rem;line-height:1.4}.lab-nav-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.65rem;display:flex}.btn-lab-prev{color:var(--text-secondary);padding:.35rem .65rem;font-size:.74rem}.btn-lab-next{background:var(--accent-indigo);color:#fff;border-radius:var(--radius-pill);transition:var(--transition-fast);padding:.35rem .95rem;font-size:.76rem;font-weight:700}.btn-lab-next:hover{box-shadow:var(--shadow-glow-indigo);background:#818cf8}.lab-inspector-right{border-left:1px solid var(--border);flex-direction:column;gap:.85rem;padding-left:.75rem;display:flex}.env-hud-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#0b1120cc;padding:.75rem}.env-status-dot{border-radius:var(--radius-pill);background:var(--accent-emerald);width:8px;height:8px;box-shadow:0 0 8px var(--accent-emerald);margin-right:.35rem;display:inline-block}.env-specs-list{flex-direction:column;gap:.35rem;margin-top:.5rem;font-size:.72rem;display:flex}.quick-commands-card{flex-direction:column;gap:.35rem;display:flex}.btn-quick-cmd{border:1px solid var(--border);font-family:var(--font-mono);color:var(--accent-cyan);text-align:left;transition:var(--transition-fast);background:#0f172ad9;border-radius:4px;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.68rem;display:flex}.btn-quick-cmd:hover{border-color:var(--accent-cyan);background:#1e293bf2}.interactive-terminal-box{border-radius:var(--radius-sm);font-family:var(--font-mono);color:#f1f5f9;background:#020409;border:1px solid #1f293d;flex-direction:column;min-height:180px;max-height:240px;padding:.75rem;font-size:.74rem;display:flex;overflow-y:auto}.terminal-line{margin-bottom:.25rem;line-height:1.4}.term-prompt{color:var(--accent-cyan);font-weight:700}.terminal-hits-bar{border-radius:var(--radius-sm);background:#0f172aa6;border:1px dashed #38bdf840;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem;padding:.35rem .5rem;display:flex}.hits-label{font-family:var(--font-mono);color:var(--accent-cyan);text-transform:uppercase;font-size:.65rem;font-weight:700}.hits-chips-wrap{flex-wrap:wrap;gap:.35rem;display:flex}.btn-terminal-hit{border:1px solid var(--border);color:#93c5fd;font-family:var(--font-mono);cursor:pointer;transition:var(--transition-fast);background:#ffffff0d;border-radius:4px;padding:.15rem .45rem;font-size:.64rem}.btn-terminal-hit:hover{border-color:var(--accent-cyan);color:#fff;background:#38bdf826;box-shadow:0 0 8px #38bdf84d}.terminal-input-row{align-items:center;gap:.4rem;margin-top:auto;display:flex}.terminal-input-field{font-family:var(--font-mono);color:#fff;background:0 0;border:none;outline:none;flex:1;font-size:.74rem}.academy-toast{border:1px solid var(--accent-cyan);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg), var(--shadow-glow-cyan);z-index:999;background:#0f172a;padding:.75rem 1.25rem;font-size:.82rem;font-weight:600;animation:.3s slide-up;display:none;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.academy-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.academy-modal-content{border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;width:90%;max-width:480px;box-shadow:var(--shadow-lg);background:#0c1220;padding:1.75rem}@media (width<=1200px){.quadrant-grid{grid-template-columns:1fr}}@media (width<=768px){.academy-nav{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.nav-search-bar{max-width:100%}.nav-links-cluster{padding-bottom:.25rem;overflow-x:auto}.lesson-layout-split{grid-template-columns:1fr}.lesson-sidebar-tree{border-right:none;border-bottom:1px solid var(--border);padding-bottom:.75rem}.lab-layout-3col{grid-template-columns:1fr}.lab-steps-nav,.lab-inspector-right{border:none;padding:0}.flow-bottom-split{grid-template-columns:1fr}}.academy-engine-status-bar{border-bottom:1px solid var(--border);font-size:.72rem;font-family:var(--font-mono);color:var(--text-secondary);background:#0b1120f2;padding:.4rem 1.5rem}.engine-bar-inner{flex-wrap:wrap;align-items:center;gap:.85rem;max-width:1720px;margin:0 auto;display:flex}.engine-bar-item{align-items:center;gap:.35rem;display:inline-flex}.engine-bar-separator{color:#ffffff26;-webkit-user-select:none;user-select:none}.pulse-indicator{background-color:var(--accent-emerald);width:8px;height:8px;box-shadow:0 0 8px var(--accent-emerald);border-radius:50%;animation:2s ease-in-out infinite pulse-green;display:inline-block}@keyframes pulse-green{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.25)}to{opacity:.8;transform:scale(.95)}}.engine-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 7px;font-size:.65rem;font-weight:600}.badge-virtual{color:var(--accent-cyan);background:#38bdf81f;border:1px solid #38bdf84d}.badge-simulated{color:var(--accent-amber);background:#f59e0b1f;border:1px solid #f59e0b4d}.badge-local{color:var(--accent-emerald);background:#10b9811f;border:1px solid #10b9814d}.badge-tag{font-size:.62rem;font-family:var(--font-mono);vertical-align:middle;border-radius:4px;margin-left:.35rem;padding:1px 6px;font-weight:600;display:inline-block}.tag-demo{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b84d}.tag-sim{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.tag-virtual{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.tag-local{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.next-step-journey-card{border:1px solid var(--border-accent);border-radius:var(--radius-md);background:#0f172ad9;margin-top:1rem;padding:.85rem}.journey-header{margin-bottom:.65rem}.journey-header-title{font-family:var(--font-display);color:#fff;font-size:.82rem;font-weight:700;display:block}.journey-header-sub{color:var(--text-muted);font-size:.7rem;display:block}.journey-grid{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}@media (width<=900px){.journey-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.journey-grid{grid-template-columns:1fr}}.journey-item-card{border:1px solid var(--border);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:#060913;flex-direction:column;padding:.6rem;text-decoration:none;display:flex}.journey-item-card:hover{border-color:var(--accent-cyan);transform:translateY(-2px);box-shadow:0 4px 12px #38bdf826}.journey-item-badge{font-family:var(--font-mono);text-transform:uppercase;color:var(--accent-cyan);margin-bottom:.25rem;font-size:.62rem;font-weight:700}.journey-item-title{color:#fff;margin-bottom:.2rem;font-size:.74rem;font-weight:700;line-height:1.25}.journey-item-desc{color:var(--text-secondary);flex-grow:1;margin-bottom:.5rem;font-size:.66rem;line-height:1.3}.journey-item-cta{font-family:var(--font-mono);color:var(--accent-cyan);align-items:center;font-size:.68rem;font-weight:600;display:inline-flex}.topic-resources-container{flex-direction:column;gap:.6rem;font-size:.76rem;display:flex}.resource-item-row{border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);background:#0f172a99;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.resource-item-row:hover{border-color:var(--accent-cyan)}.resource-link-title{color:var(--accent-cyan);font-weight:600;text-decoration:underline}.resource-link-meta{font-family:var(--font-mono);color:var(--text-muted);font-size:.68rem}
