*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100vw;overflow-x:hidden}p,h1,h2,h3,h4,h5,h6,span,a,li,dt,dd,blockquote,figcaption,td,th{overflow-wrap:break-word;word-wrap:break-word}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg-primary:#0b0f17;--bg-secondary:#111622;--bg-tertiary:#1b2230;--bg-elevated:#222c3d;--border-color:#273042;--border-focus:#e3b341;--fpga-gold:#e3b341;--fpga-gold-light:#ffd880;--fpga-gold-glow:#e3b34126;--fpga-cyan:#58a6ff;--fpga-cyan-glow:#58a6ff26;--fpga-green:#3fb950;--fpga-green-glow:#3fb95026;--fpga-red:#f85149;--fpga-red-glow:#f8514926;--text-primary:#f0f6fc;--text-secondary:#8b949e;--text-muted:#6e7681}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100dvh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}code,pre,kbd{font-family:var(--font-mono)}pre{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}code:not(pre code){background-color:var(--bg-tertiary);color:var(--fpga-gold-light);overflow-wrap:break-word;word-break:break-word;border:1px solid #ffffff14;border-radius:4px;padding:.15rem .35rem;font-size:.88em}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:all .15s ease-in-out}.app-container{flex-direction:column;width:100%;min-width:0;max-width:100vw;height:100dvh;display:flex;overflow:hidden}.top-navbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:50;justify-content:space-between;align-items:center;min-width:0;padding:.75rem 1.5rem;display:flex}.brand-section{align-items:center;gap:.75rem;min-width:0;display:flex}.brand-logo{flex-shrink:0;font-size:1.75rem;line-height:1}.brand-title{letter-spacing:-.02em;background:linear-gradient(135deg, #fff 40%, var(--fpga-gold) 100%);-webkit-text-fill-color:transparent;overflow-wrap:break-word;-webkit-background-clip:text;font-size:clamp(.95rem,2.5vw,1.15rem);font-weight:700}.brand-subtitle{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:.15rem .5rem;font-size:.75rem}.nav-tabs{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;gap:.5rem;min-width:0;max-width:100%;padding:.25rem;display:flex}.nav-tab-btn{color:var(--text-secondary);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.85rem;font-weight:500;display:flex}.nav-tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.nav-tab-btn.active{color:#fff;background:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:0 1px 3px #0000004d}.workspace-container{flex:1;width:100%;min-width:0;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-width,300px);background-color:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;min-width:0;display:flex;overflow:hidden auto}.sidebar.collapsed{visibility:hidden;border-right:none!important;width:0!important;min-width:0!important;padding:0!important;overflow:hidden!important}.sidebar-resizer{background-color:var(--border-color);cursor:col-resize;z-index:20;flex-shrink:0;justify-content:center;align-items:center;width:6px;transition:background-color .15s;display:flex;position:relative}.sidebar-resizer:hover,.sidebar-resizer.resizing{background-color:var(--fpga-gold)}.sidebar-resizer-line{position:absolute;inset:0}.sidebar-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.85rem 1rem;display:flex}.sidebar-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);overflow-wrap:break-word;word-break:break-word;min-width:0;font-size:.82rem;font-weight:700}.progress-indicator{font-size:.72rem;font-family:var(--font-mono);color:var(--fpga-gold-light);background:var(--fpga-gold-glow);white-space:nowrap;border:1px solid #e3b3414d;border-radius:9999px;padding:.2rem .5rem}.chapter-list{padding:.5rem;list-style:none}.chapter-item{margin-bottom:.35rem}.chapter-button{text-align:left;width:100%;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:.75rem;min-width:0;padding:.75rem .9rem;display:flex}.chapter-button:hover{background:var(--bg-tertiary)}.chapter-button.active{background:var(--bg-tertiary);box-shadow:0 0 12px var(--fpga-gold-glow);border-color:#e3b34166}.chapter-status-icon{flex-shrink:0;margin-top:.15rem;font-size:.9rem}.chapter-meta{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.chapter-number-badge{font-size:.68rem;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase}.chapter-name{color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;font-size:.88rem;font-weight:600;line-height:1.35}.chapter-button.active .chapter-name{color:var(--fpga-gold-light)}.chapter-badge-tag{color:var(--text-secondary);overflow-wrap:break-word;word-break:break-word;background:#ffffff0d;border-radius:4px;align-self:flex-start;margin-top:.2rem;padding:.1rem .4rem;font-size:.65rem}.tutorial-split-view{flex:1;width:100%;min-width:0;display:flex;position:relative;overflow:hidden}.theory-pane{background:var(--bg-primary);flex:1;min-width:0;padding:2rem 2.5rem;overflow-y:auto}.interactive-pane{width:var(--interactive-width,38%);flex:0 0 var(--interactive-width,38%);background:var(--bg-secondary);flex-direction:column;min-width:0;display:flex;overflow:hidden}.software-callout{border:1px solid #58a6ff4d;border-left:4px solid var(--fpga-cyan);background:linear-gradient(135deg,#58a6ff14 0%,#111622cc 100%);border-radius:8px;margin:1.5rem 0;padding:1.25rem}.software-callout-header{color:var(--fpga-cyan);align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:.95rem;font-weight:700;display:flex}.software-callout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;margin-top:.75rem;display:grid}@media (width<=768px){.software-callout-grid{grid-template-columns:minmax(0,1fr)}}.software-block{background:#0b0f17e6;border:1px solid #ffffff14;border-radius:6px;min-width:0;padding:.75rem;overflow-x:auto}.software-block pre{max-width:100%;margin:0;font-size:.82rem;line-height:1.45;overflow-x:auto}.software-block-title{text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.75rem;font-weight:600;display:flex}.danger-tag{color:var(--fpga-red)}.safe-tag{color:var(--fpga-green)}.editor-toolbar{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex}.editor-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.editor-tab-btn{color:var(--text-secondary);background:0 0;border-radius:4px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:flex}.editor-tab-btn.active{background:var(--bg-primary);color:#fff;border:1px solid var(--border-color)}.editor-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-primary{background:linear-gradient(135deg, var(--fpga-gold) 0%, #b88b1f 100%);color:#0b0f17;border-radius:6px;align-items:center;gap:.45rem;padding:.45rem 1rem;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 1px 4px #e3b3414d}.btn-primary:hover{background:linear-gradient(135deg, var(--fpga-gold-light) 0%, var(--fpga-gold) 100%);transform:translateY(-1px)}.btn-secondary{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.85rem;display:flex}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}.markdown-body h2{color:#f0f6fc;border-bottom:1px solid var(--border-color);margin-top:2rem;margin-bottom:.75rem;padding-bottom:.4rem;font-size:1.35rem;font-weight:700}.markdown-body p{color:#c9d1d9;margin-bottom:1rem;font-size:.95rem;line-height:1.7}.markdown-body ul,.markdown-body ol{color:#c9d1d9;margin-bottom:1rem;padding-left:1.5rem}.markdown-body li{margin-bottom:.4rem;line-height:1.6}.markdown-body pre{border:1px solid var(--border-color);background:#0d1117;border-radius:6px;margin:1rem 0 1.5rem;padding:1rem;font-size:.85rem;line-height:1.45}.editor-host.svelte-1wnpimk{width:100%;height:100%;font-family:var(--font-mono);background:#0d1117;font-size:.85rem;position:relative;overflow:hidden}.editor-host .cm-editor{outline:none;height:100%}.editor-host .cm-scroller{font-family:var(--font-mono);padding:.5rem 0;line-height:1.55}.editor-host .cm-gutters{border-right:1px solid var(--border-color);color:#484f58;background-color:#0b0f17}.editor-host .cm-activeLineGutter{color:#e3b341;background-color:#161b22}.editor-host .cm-activeLine{background-color:#e3b3410a}.waveform-container.svelte-vgbdqv{border-top:1px solid var(--border-color);background-color:#0b0f17;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.waveform-toolbar.svelte-vgbdqv{border-bottom:1px solid var(--border-color);background:#111622;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .85rem;display:flex}.toolbar-title.svelte-vgbdqv{text-transform:uppercase;letter-spacing:.05em;color:#f0f6fc;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;display:flex}.signal-count-tag.svelte-vgbdqv{font-size:.68rem;font-family:var(--font-mono);color:#3fb950;background:#3fb9501f;border:1px solid #3fb95040;border-radius:4px;padding:.1rem .4rem}.waveform-actions.svelte-vgbdqv{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.bus-format-picker.svelte-vgbdqv{border:1px solid var(--border-color);background:#0b0f17;border-radius:4px;align-items:center;gap:.2rem;padding:.1rem .25rem;display:flex}.format-label.svelte-vgbdqv{color:var(--text-muted);font-size:.68rem;font-family:var(--font-mono);margin-right:.2rem}.format-btn.svelte-vgbdqv{color:var(--text-secondary);background:0 0;border-radius:3px;padding:.15rem .35rem;font-size:.65rem;font-weight:600}.format-btn.active.svelte-vgbdqv{color:#e3b341;background:#21262d}.zoom-controls.svelte-vgbdqv{border:1px solid var(--border-color);background:#0b0f17;border-radius:4px;align-items:center;gap:.25rem;padding:.1rem;display:flex}.zoom-btn.svelte-vgbdqv{width:22px;height:22px;color:var(--text-secondary);background:0 0;border-radius:3px;justify-content:center;align-items:center;display:flex}.zoom-btn.svelte-vgbdqv:hover{background:var(--bg-tertiary);color:#fff}.zoom-indicator.svelte-vgbdqv{font-size:.68rem;font-family:var(--font-mono);color:var(--text-muted);text-align:center;min-width:32px}.empty-waveform-msg.svelte-vgbdqv{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;height:100%;padding:2.5rem 1rem;font-size:.82rem;font-style:italic;display:flex}.waveform-scroll-area.svelte-vgbdqv{flex:1;display:flex;position:relative;overflow:auto}.signals-legend.svelte-vgbdqv{border-right:1px solid var(--border-color);z-index:20;background:#0e141f;flex-shrink:0;width:140px;min-width:140px;position:sticky;left:0}.legend-header.svelte-vgbdqv{height:24px;font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted);border-bottom:1px solid var(--border-color);background:#111622;align-items:center;padding:0 .6rem;display:flex}.legend-row.svelte-vgbdqv{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:.3rem;height:38px;padding:0 .6rem;display:flex}.sig-name.svelte-vgbdqv{font-size:.75rem;font-family:var(--font-mono);color:#e6edf3;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.bus-tag.svelte-vgbdqv{font-size:.62rem;font-family:var(--font-mono);color:#e3b341;background:#e3b3411a;border-radius:3px;flex-shrink:0;padding:.05rem .25rem}.clk-tag.svelte-vgbdqv{font-size:.62rem;font-family:var(--font-mono);color:#3fb950;background:#3fb9501f;border-radius:3px;flex-shrink:0;padding:.05rem .25rem}.timing-diagram.svelte-vgbdqv{flex-shrink:0;position:relative}.time-ruler.svelte-vgbdqv{border-bottom:1px solid var(--border-color);background:#111622;height:24px;display:flex;position:relative}.ruler-tick.svelte-vgbdqv{border-left:1px solid #ffffff1a;flex-direction:column;justify-content:center;padding-left:4px;display:flex;position:absolute;top:0;bottom:0}.cycle-label.svelte-vgbdqv{font-size:.62rem;font-weight:700;font-family:var(--font-mono);color:#58a6ff;line-height:1}.time-label.svelte-vgbdqv{font-size:.58rem;font-family:var(--font-mono);color:var(--text-muted);line-height:1}.signal-row.svelte-vgbdqv{border-bottom:1px solid #ffffff0a;position:relative}.clock-grid-line.svelte-vgbdqv{pointer-events:none;background:#ffffff08;width:1px;position:absolute;top:0;bottom:0}.signal-svg.svelte-vgbdqv{position:absolute;top:0;left:0}.wave-clock.svelte-vgbdqv{fill:none;stroke:#3fb950;stroke-width:1.5px}.wave-line-high.svelte-vgbdqv{stroke:#58a6ff;stroke-width:2px}.wave-line-low.svelte-vgbdqv{stroke:#30363d;stroke-width:1.5px}.wave-transition-edge.svelte-vgbdqv{stroke:#58a6ff;stroke-width:1.5px}.wave-bus-fill.svelte-vgbdqv{fill:#e3b34114}.wave-bus-stroke.svelte-vgbdqv{fill:none;stroke:#e3b341;stroke-width:1.5px}.bus-text.svelte-vgbdqv{font-size:.65rem;font-family:var(--font-mono);fill:#ffd880;pointer-events:none;font-weight:600}.hover-cursor-line.svelte-vgbdqv{pointer-events:none;z-index:10;background:#f74c00;width:1px;position:absolute;top:0;bottom:0}.hover-cursor-pill.svelte-vgbdqv{color:#fff;font-size:.62rem;font-family:var(--font-mono);white-space:nowrap;background:#f74c00;border-radius:3px;padding:.1rem .35rem;font-weight:700;position:absolute;top:2px;left:4px;box-shadow:0 1px 4px #00000080}.resource-card.svelte-1m5epu4{border:1px solid var(--border-color);background:#0f141d;border-radius:6px;margin-bottom:.75rem;padding:.65rem .85rem}.resource-card.has-warning.svelte-1m5epu4{background:linear-gradient(135deg,#f851490d 0%,#0f141d 100%);border-color:#f8514966}.card-header.svelte-1m5epu4{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.header-left.svelte-1m5epu4{align-items:center;gap:.4rem;display:flex}.header-title.svelte-1m5epu4{text-transform:uppercase;letter-spacing:.05em;color:#e3b341;font-size:.75rem;font-weight:700}.fmax-badge.svelte-1m5epu4{font-size:.72rem;font-family:var(--font-mono);color:#3fb950;background:#3fb9501a;border:1px solid #3fb95040;border-radius:4px;align-items:center;gap:.3rem;padding:.1rem .45rem;font-weight:600;display:flex}.primitives-grid.svelte-1m5epu4{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.5rem;display:grid}@media (width<=640px){.primitives-grid.svelte-1m5epu4{grid-template-columns:repeat(2,1fr)}}.primitive-box.svelte-1m5epu4{background:#161b24;border:1px solid #ffffff0d;border-radius:4px;flex-direction:column;min-width:0;padding:.4rem .6rem;display:flex}.primitive-name.svelte-1m5epu4{font-size:.68rem;font-family:var(--font-mono);color:var(--text-secondary)}.primitive-value.svelte-1m5epu4{font-size:1.1rem;font-weight:800;font-family:var(--font-mono);color:#fff;margin:.1rem 0;line-height:1.2}.primitive-sub.svelte-1m5epu4{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.latch-warning-box.svelte-1m5epu4{background:#f851491a;border:1px solid #f851494d;border-radius:5px;margin-top:.5rem;padding:.5rem .75rem}.warning-title.svelte-1m5epu4{color:#ff7b72;align-items:center;gap:.4rem;margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:flex}.warning-desc.svelte-1m5epu4{color:#e6edf3;margin-bottom:.35rem;font-size:.72rem;line-height:1.4}.warning-desc.svelte-1m5epu4 code:where(.svelte-1m5epu4){color:#ff7b72;background:#ffffff1a;border-radius:3px;padding:.1rem .3rem}.latch-list.svelte-1m5epu4{flex-wrap:wrap;gap:.35rem;display:flex}.latch-tag.svelte-1m5epu4{font-size:.68rem;font-family:var(--font-mono);color:#ff7b72;background:#f8514933;border:1px solid #f8514966;border-radius:4px;padding:.1rem .4rem;font-weight:600}.clean-sync-note.svelte-1m5epu4{color:#7ee787;font-size:.7rem;font-family:var(--font-sans);align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.terminal-container.svelte-a5b9xg{border-top:1px solid var(--border-color);width:100%;height:100%;font-family:var(--font-mono);background-color:#0b0f17;flex-direction:column;min-width:0;display:flex}.terminal-header.svelte-a5b9xg{border-bottom:1px solid var(--border-color);background:#111622;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .85rem;display:flex}.terminal-title.svelte-a5b9xg{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.75rem;font-weight:700;display:flex}.terminal-meta.svelte-a5b9xg{align-items:center;gap:.6rem;display:flex}.status-pill.svelte-a5b9xg{border-radius:9999px;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.68rem;font-weight:600;display:inline-flex}.status-running.svelte-a5b9xg{color:#58a6ff;background:#58a6ff26;border:1px solid #58a6ff4d}.status-success.svelte-a5b9xg{color:#3fb950;background:#3fb95026;border:1px solid #3fb9504d}.status-error.svelte-a5b9xg{color:#f85149;background:#f8514926;border:1px solid #f851494d}.pulse-dot.svelte-a5b9xg{background:#58a6ff;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite svelte-a5b9xg-pulse}@keyframes svelte-a5b9xg-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.exec-time.svelte-a5b9xg{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.68rem;display:flex}.clear-btn.svelte-a5b9xg{color:var(--text-muted);background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;display:flex}.clear-btn.svelte-a5b9xg:hover{color:#fff;background:var(--bg-tertiary)}.terminal-body.svelte-a5b9xg{flex:1;padding:.65rem .85rem;font-size:.8rem;line-height:1.5;overflow-y:auto}.compiling-msg.svelte-a5b9xg{color:#58a6ff;align-items:center;gap:.6rem;display:flex}.spinner.svelte-a5b9xg{border:2px solid #58a6ff33;border-top-color:#58a6ff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite svelte-a5b9xg-spin}@keyframes svelte-a5b9xg-spin{to{transform:rotate(360deg)}}.ready-msg.svelte-a5b9xg{color:var(--text-muted);font-style:italic}.ready-msg.svelte-a5b9xg strong:where(.svelte-a5b9xg){color:#e3b341}.empty-msg.svelte-a5b9xg{color:var(--text-muted);font-style:italic}.stdout-stream.svelte-a5b9xg{color:#e6edf3;white-space:pre-wrap;word-break:break-word;margin-bottom:.5rem}.stderr-stream.svelte-a5b9xg{color:#ff7b72;white-space:pre-wrap;word-break:break-word}.quizzes-container.svelte-1vc7p15{border:1px solid var(--border-color);background:#0f141d;border-radius:8px;margin-top:2rem;margin-bottom:2rem;padding:1.25rem}.quizzes-header.svelte-1vc7p15{color:#e3b341;border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;font-size:.95rem;font-weight:700;display:flex}.quiz-item-card.svelte-1vc7p15{background:#161b24;border:1px solid #ffffff14;border-radius:6px;margin-bottom:1rem;padding:1rem;transition:all .2s}.quiz-item-card.svelte-1vc7p15:last-child{margin-bottom:0}.quiz-item-card.correct.svelte-1vc7p15{border-color:#3fb95059}.quiz-item-card.wrong.svelte-1vc7p15{border-color:#f8514959}.quiz-question-row.svelte-1vc7p15{align-items:flex-start;gap:.6rem;margin-bottom:.85rem;display:flex}.q-badge.svelte-1vc7p15{font-size:.72rem;font-family:var(--font-mono);color:#e3b341;background:#e3b34126;border-radius:4px;flex-shrink:0;margin-top:.1rem;padding:.1rem .4rem;font-weight:700}.q-title.svelte-1vc7p15{color:#f0f6fc;margin:0;font-size:.92rem;font-weight:600;line-height:1.45}.quiz-options-list.svelte-1vc7p15{flex-direction:column;gap:.45rem;display:flex}.quiz-option-btn.svelte-1vc7p15{border:1px solid var(--border-color);color:var(--text-primary);text-align:left;background:#0d1117;border-radius:6px;align-items:center;gap:.6rem;padding:.55rem .75rem;transition:all .15s;display:flex}.quiz-option-btn.svelte-1vc7p15:hover{background:#21262d;border-color:#58a6ff}.quiz-option-btn.show-correct.svelte-1vc7p15{color:#fff;background:#3fb9501f;border-color:#3fb950}.quiz-option-btn.show-wrong.svelte-1vc7p15{color:#fff;background:#f851491f;border-color:#f85149}.opt-bullet.svelte-1vc7p15{background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.bullet-letter.svelte-1vc7p15{font-size:.68rem;font-family:var(--font-mono);color:var(--text-muted);font-weight:700}.opt-text.svelte-1vc7p15{font-size:.85rem;line-height:1.4}.quiz-explanation-box.svelte-1vc7p15{border-radius:6px;margin-top:.85rem;padding:.75rem .9rem;font-size:.82rem;line-height:1.5}.expl-success.svelte-1vc7p15{color:#e6edf3;background:#3fb9501a;border-left:3px solid #3fb950}.expl-error.svelte-1vc7p15{color:#e6edf3;background:#f851491a;border-left:3px solid #f85149}.expl-header.svelte-1vc7p15{align-items:center;gap:.4rem;margin-bottom:.3rem;display:flex}.success-text.svelte-1vc7p15{color:#7ee787}.error-text.svelte-1vc7p15{color:#ff7b72}.expl-body.svelte-1vc7p15{color:#c9d1d9;margin:0}.schematic-container.svelte-16phyj3{border-radius:var(--radius-md);background:#0d1117;border:1px solid #10b9814d;flex-direction:column;margin-bottom:2rem;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 4px 16px #00000040}.schematic-container.expanded.svelte-16phyj3{z-index:100;border-color:var(--fpga-emerald);margin:0;position:fixed;inset:60px 20px 20px;box-shadow:0 10px 40px #000000b3}.schematic-toolbar.svelte-16phyj3{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.75rem;height:44px;padding:0 .85rem;display:flex}.toolbar-title-group.svelte-16phyj3{align-items:center;gap:.5rem;display:flex;overflow:hidden}.chip-icon.svelte-16phyj3{background:#10b9811f;border:1px solid #10b9814d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.title-texts.svelte-16phyj3{flex-direction:column;display:flex;overflow:hidden}.main-label.svelte-16phyj3{text-transform:uppercase;letter-spacing:.05em;color:#10b981;font-size:.72rem;font-weight:700}.sub-label.svelte-16phyj3{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.toolbar-actions.svelte-16phyj3{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.zoom-controls.svelte-16phyj3{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:.2rem;padding:.15rem .3rem;display:flex}.action-btn.svelte-16phyj3{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:.25rem;transition:all .15s;display:inline-flex}.action-btn.svelte-16phyj3:hover{color:var(--text-primary);background:#ffffff14}.expand-btn.svelte-16phyj3{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.35rem .5rem}.zoom-indicator.svelte-16phyj3{font-size:.68rem;font-family:var(--font-mono);color:var(--text-secondary);text-align:center;min-width:32px}.svg-viewport.svelte-16phyj3{background:#090d13;flex:1;min-height:240px;max-height:480px;padding:.5rem;position:relative;overflow:auto}.schematic-container.expanded.svelte-16phyj3 .svg-viewport:where(.svelte-16phyj3){max-height:none}.svg-zoom-wrapper.svelte-16phyj3{min-width:100%;transition:transform .1s;display:inline-block}.logic-svg{width:100%;max-width:100%;height:auto;display:block}.empty-schematic.svelte-16phyj3{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;padding:3rem;font-size:.85rem;display:flex}.schematic-footer.svelte-16phyj3{border-top:1px solid var(--border-color);background:#10b9810d;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;display:flex}.footer-icon.svelte-16phyj3{flex-shrink:0;margin-top:.1rem}.footer-text.svelte-16phyj3{color:var(--text-secondary);font-size:.82rem;line-height:1.45}.footer-text.svelte-16phyj3 strong:where(.svelte-16phyj3){color:var(--fpga-gold);margin-right:.35rem}@media (width<=600px){.sub-label.svelte-16phyj3{display:none}}.split-container.svelte-uji3w4{background:var(--bg-primary);flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.mobile-view-tabs.svelte-uji3w4{z-index:30;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);gap:.5rem;padding:.35rem .5rem;display:none;position:sticky;top:0}.mobile-tab-btn.svelte-uji3w4{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.mobile-tab-btn.active.svelte-uji3w4{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary);box-shadow:0 1px 3px #0003}.mobile-challenge-badge.svelte-uji3w4{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:4px;padding:.1rem .35rem;font-size:.68rem;font-weight:600}.theory-pane.svelte-uji3w4{flex:0 0 var(--theory-pct);background:var(--bg-primary);box-sizing:border-box;min-width:0;height:100%;padding:1.75rem 2rem 4rem;overflow-y:auto}.chapter-badge-line.svelte-uji3w4{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.badge-part.svelte-uji3w4{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-tertiary);border:1px solid #ffffff14;border-radius:4px;padding:.15rem .5rem}.badge-tag.svelte-uji3w4{color:var(--fpga-gold);background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.badge-unique.svelte-uji3w4{color:var(--fpga-cyan);background:#06b6d41f;border:1px solid #06b6d44d;border-radius:4px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.time-tag.svelte-uji3w4{color:var(--text-muted);margin-left:auto;font-size:.72rem}.chapter-main-title.svelte-uji3w4{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 .65rem;font-size:1.65rem;font-weight:700;line-height:1.25}.chapter-summary.svelte-uji3w4{color:var(--text-secondary);margin:0 0 1.5rem;font-size:1rem;line-height:1.55}.hardware-callout.svelte-uji3w4{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid #f59e0b4d;margin-bottom:2rem;padding:1.15rem 1.25rem;box-shadow:0 4px 14px #0003}.callout-header.svelte-uji3w4{color:var(--fpga-gold);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.95rem;font-weight:700;display:flex}.callout-desc.svelte-uji3w4{color:var(--text-secondary);margin:0 0 1rem;font-size:.85rem;line-height:1.5}.callout-grid.svelte-uji3w4{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.callout-block.svelte-uji3w4{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);flex-direction:column;padding:.75rem;display:flex}.software-block.svelte-uji3w4{border-left:3px solid #ef4444}.hardware-block.svelte-uji3w4{border-left:3px solid #10b981}.block-title.svelte-uji3w4{margin-bottom:.5rem;font-size:.78rem;font-weight:600}.software-danger.svelte-uji3w4{color:#ef4444}.hardware-safe.svelte-uji3w4{color:#10b981}.callout-block.svelte-uji3w4 pre:where(.svelte-uji3w4){font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:0 0;margin:0;padding:0;font-size:.78rem;line-height:1.45}.markdown-body.svelte-uji3w4{color:var(--text-primary);margin-bottom:2rem;line-height:1.65}.markdown-body.svelte-uji3w4 h2:where(.svelte-uji3w4){color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:1.75rem 0 .85rem;padding-bottom:.4rem;font-size:1.25rem;font-weight:600}.markdown-body.svelte-uji3w4 h3:where(.svelte-uji3w4){color:var(--fpga-gold);margin:1.25rem 0 .5rem;font-size:1.05rem;font-weight:600}.markdown-body.svelte-uji3w4 p:where(.svelte-uji3w4){color:var(--text-secondary);margin:0 0 .85rem;font-size:.92rem}.markdown-body.svelte-uji3w4 pre:where(.svelte-uji3w4){background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-mono);margin:.85rem 0;padding:.85rem 1rem;font-size:.82rem;line-height:1.45;overflow-x:auto}.challenge-box.svelte-uji3w4{border-radius:var(--radius-md);background:linear-gradient(#f59e0b14 0%,#11182799 100%);border:1px solid #f59e0b59;margin-bottom:2rem;padding:1.25rem}.challenge-header.svelte-uji3w4{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.challenge-title.svelte-uji3w4{color:var(--fpga-gold);align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.active-challenge-tag.svelte-uji3w4{color:var(--fpga-gold);background:#f59e0b33;border:1px solid #f59e0b66;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.challenge-instruction.svelte-uji3w4{color:var(--text-primary);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.challenge-actions.svelte-uji3w4{flex-wrap:wrap;gap:.5rem;display:flex}.load-challenge-btn.svelte-uji3w4,.solution-btn.svelte-uji3w4,.hint-btn.svelte-uji3w4{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.load-challenge-btn.svelte-uji3w4{background:var(--fpga-gold);color:#111827;border:none;font-weight:600}.load-challenge-btn.svelte-uji3w4:hover{filter:brightness(1.1)}.solution-btn.svelte-uji3w4{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.solution-btn.svelte-uji3w4:hover{color:var(--text-primary);border-color:var(--fpga-emerald)}.hint-btn.svelte-uji3w4{color:var(--fpga-gold);background:0 0;border:1px dashed #f59e0b66}.hint-btn.svelte-uji3w4:hover{background:#f59e0b1a}.hint-content.svelte-uji3w4{border-radius:var(--radius-sm);border-left:3px solid var(--fpga-gold);color:var(--text-secondary);background:#0000004d;margin-top:.85rem;padding:.75rem .85rem;font-size:.82rem;line-height:1.45}.mobile-cta-section.svelte-uji3w4{margin-bottom:2rem;display:none}.mobile-open-editor-btn.svelte-uji3w4{justify-content:center;width:100%;padding:.85rem;font-size:.95rem}.chapter-nav-bottom.svelte-uji3w4{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.nav-prev-btn.svelte-uji3w4,.nav-next-btn.svelte-uji3w4{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:500;transition:all .15s;display:inline-flex}.nav-prev-btn.svelte-uji3w4:hover,.nav-next-btn.svelte-uji3w4:hover{background:var(--bg-tertiary);border-color:var(--fpga-gold);color:var(--text-primary)}.nav-next-btn.svelte-uji3w4{color:var(--fpga-gold);background:#f59e0b1a;border-color:#f59e0b4d;margin-left:auto}.split-resizer.svelte-uji3w4{background:var(--bg-secondary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:10;flex:0 0 10px;justify-content:center;align-items:center;width:10px;transition:background .15s;display:flex;position:relative}.split-resizer.svelte-uji3w4:hover,.split-resizer.resizing.svelte-uji3w4{background:var(--fpga-gold)}.split-resizer-line.svelte-uji3w4{background:0 0;width:1px;position:absolute;top:0;bottom:0;left:4px}.split-resizer-handle.svelte-uji3w4{background:var(--bg-tertiary);border:1px solid var(--border-color);width:16px;height:32px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 5px #0000004d}.split-resizer.svelte-uji3w4:hover .split-resizer-handle:where(.svelte-uji3w4){border-color:var(--fpga-gold);color:var(--fpga-gold)}.interactive-pane.svelte-uji3w4{flex:0 0 var(--interactive-pct);background:#0d1117;flex-direction:column;min-width:0;height:100%;display:flex;position:relative}.editor-toolbar.svelte-uji3w4{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.5rem;height:44px;padding:0 .75rem;display:flex}.editor-tabs.svelte-uji3w4{align-items:center;gap:.35rem;display:flex;overflow-x:auto}.mobile-back-to-theory-btn.svelte-uji3w4{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.78rem;display:none}.editor-tab-btn.svelte-uji3w4{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex;position:relative}.editor-tab-btn.svelte-uji3w4:hover{color:var(--text-primary);background:#ffffff0a}.editor-tab-btn.active.svelte-uji3w4{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border-color)}.tab-indicator-dot.svelte-uji3w4{background:var(--fpga-gold);border-radius:50%;width:6px;height:6px;display:inline-block}.editor-actions.svelte-uji3w4{align-items:center;gap:.4rem;display:flex}.btn-primary.svelte-uji3w4,.btn-secondary.svelte-uji3w4{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary.svelte-uji3w4{color:#fff;background:#10b981;border:none}.btn-primary.svelte-uji3w4:hover:not(:disabled){background:#059669}.btn-primary.svelte-uji3w4:disabled{opacity:.6;cursor:not-allowed}.btn-secondary.svelte-uji3w4{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary.svelte-uji3w4:hover:not(:disabled){color:var(--text-primary);background:#ffffff14}.btn-subtle.svelte-uji3w4{color:var(--fpga-gold);border-color:#f59e0b4d}.editor-main-area.svelte-uji3w4{background:#0d1117;flex:1;min-height:0;position:relative;overflow:hidden}.solution-container.svelte-uji3w4{flex-direction:column;height:100%;display:flex}.solution-banner.svelte-uji3w4{background:#10b9811a;border-bottom:1px solid #10b9814d;justify-content:space-between;align-items:center;padding:.45rem .75rem;display:flex}.solution-banner-text.svelte-uji3w4{color:#10b981;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.apply-solution-btn.svelte-uji3w4{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:4px;padding:.25rem .55rem;font-size:.72rem;font-weight:500}.solution-editor-wrapper.svelte-uji3w4{flex:1;min-height:0}.console-resizer.svelte-uji3w4{background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:row-resize;-webkit-user-select:none;user-select:none;z-index:10;flex:0 0 8px;justify-content:center;align-items:center;height:8px;display:flex;position:relative}.console-resizer.svelte-uji3w4:hover,.console-resizer.resizing.svelte-uji3w4{background:var(--fpga-gold)}.console-resizer-handle.svelte-uji3w4{background:var(--bg-tertiary);border:1px solid var(--border-color);width:32px;height:6px;color:var(--text-muted);border-radius:3px;justify-content:center;align-items:center;display:flex}.bottom-panel-wrapper.svelte-uji3w4{border-top:1px solid var(--border-color);background:#0d1117;flex-direction:column;min-height:100px;display:flex;overflow:hidden}.bottom-panel-nav.svelte-uji3w4{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:34px;padding:0 .75rem;display:flex}.bottom-tabs.svelte-uji3w4{align-items:center;gap:.35rem;display:flex}.bottom-tab-btn.svelte-uji3w4{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:500;transition:all .15s;display:inline-flex}.bottom-tab-btn.svelte-uji3w4:hover{color:var(--text-primary)}.bottom-tab-btn.active.svelte-uji3w4{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border-color)}.active-dot.svelte-uji3w4{background:var(--fpga-emerald);border-radius:50%;width:5px;height:5px;display:inline-block}.latch-alert-tag.svelte-uji3w4{color:#ef4444;background:#ef444433;border:1px solid #ef444480;border-radius:4px;align-items:center;gap:.2rem;padding:.05rem .3rem;font-size:.65rem;font-weight:700;display:inline-flex}.header-latch-alert.svelte-uji3w4{color:#ef4444;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:inline-flex}.bottom-panel-content.svelte-uji3w4{flex:1;min-height:0;position:relative;overflow:hidden}.resources-scroll-wrapper.svelte-uji3w4,.schematic-bottom-scroll.svelte-uji3w4{height:100%;padding:.85rem;overflow-y:auto}@media (width<=900px){.split-container.svelte-uji3w4{flex-direction:column}.mobile-view-tabs.svelte-uji3w4{display:flex}.theory-pane.svelte-uji3w4,.interactive-pane.svelte-uji3w4{height:calc(100% - 45px);display:none;flex:100%!important}.theory-pane.pane-active.svelte-uji3w4,.interactive-pane.pane-active.svelte-uji3w4{flex-direction:column;display:flex}.split-resizer.svelte-uji3w4{display:none}.mobile-back-to-theory-btn.svelte-uji3w4{display:inline-flex}.mobile-cta-section.svelte-uji3w4{display:block}.callout-grid.svelte-uji3w4{grid-template-columns:1fr}}.playground-root.svelte-juouq9{background:var(--bg-primary);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.presets-bar.svelte-juouq9{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding:.75rem 1.25rem;display:flex}.presets-title-line.svelte-juouq9{color:var(--fpga-gold);align-items:center;gap:.4rem;font-size:.95rem;font-weight:700;display:flex}.presets-desc.svelte-juouq9{color:var(--text-secondary);margin:.15rem 0 0;font-size:.8rem}.presets-scroll-list.svelte-juouq9{align-items:center;gap:.45rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.preset-chip.svelte-juouq9{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.preset-chip.svelte-juouq9:hover{color:var(--text-primary);border-color:var(--fpga-gold)}.preset-chip.active.svelte-juouq9{border-color:var(--fpga-gold);color:var(--fpga-gold);background:#f59e0b26;font-weight:600}.playground-split.svelte-juouq9{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.editor-pane.svelte-juouq9{flex:0 0 var(--editor-pct);background:#0d1117;flex-direction:column;min-width:0;height:100%;display:flex}.pane-toolbar.svelte-juouq9{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.5rem;height:42px;padding:0 .85rem;display:flex}.pane-title.svelte-juouq9{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:flex}.active-preset-name.svelte-juouq9{color:var(--text-muted);font-weight:400}.pane-actions.svelte-juouq9{align-items:center;gap:.4rem;display:flex}.btn-primary.svelte-juouq9,.btn-secondary.svelte-juouq9{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.35rem;padding:.32rem .7rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary.svelte-juouq9{color:#fff;background:#10b981;border:none}.btn-primary.svelte-juouq9:hover:not(:disabled){background:#059669}.btn-secondary.svelte-juouq9{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary.svelte-juouq9:hover:not(:disabled){color:var(--text-primary);background:#ffffff14}.editor-body.svelte-juouq9{flex:1;min-height:0;position:relative}.split-resizer.svelte-juouq9{background:var(--bg-secondary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:col-resize;z-index:10;flex:0 0 10px;justify-content:center;align-items:center;width:10px;display:flex}.split-resizer.svelte-juouq9:hover,.split-resizer.resizing.svelte-juouq9{background:var(--fpga-gold)}.split-resizer-handle.svelte-juouq9{background:var(--bg-tertiary);border:1px solid var(--border-color);width:16px;height:32px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.diagnostics-pane.svelte-juouq9{flex:0 0 var(--right-pct);background:var(--bg-primary);flex-direction:column;min-width:0;height:100%;display:flex}.estimator-section.svelte-juouq9{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.section-header.svelte-juouq9{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:36px;padding:0 .85rem;display:flex}.section-title.svelte-juouq9{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:flex}.latch-badge.svelte-juouq9{color:#ef4444;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;display:inline-flex}.estimator-body.svelte-juouq9{flex:1;padding:.85rem}.console-resizer.svelte-juouq9{background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);cursor:row-resize;z-index:10;flex:0 0 8px;justify-content:center;align-items:center;height:8px;display:flex}.console-resizer.svelte-juouq9:hover,.console-resizer.resizing.svelte-juouq9{background:var(--fpga-gold)}.console-resizer-handle.svelte-juouq9{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;width:32px;height:6px}.bottom-tabs-section.svelte-juouq9{background:#0d1117;flex-direction:column;min-height:100px;display:flex;overflow:hidden}.bottom-nav.svelte-juouq9{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);align-items:center;gap:.35rem;height:34px;padding:0 .75rem;display:flex}.tab-btn.svelte-juouq9{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:500;display:inline-flex}.tab-btn.svelte-juouq9:hover{color:var(--text-primary)}.tab-btn.active.svelte-juouq9{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border-color)}.bottom-content.svelte-juouq9{flex:1;min-height:0;position:relative;overflow:hidden}.schematic-scroll-area.svelte-juouq9{height:100%;padding:.75rem;overflow-y:auto}@media (width<=900px){.playground-split.svelte-juouq9{flex-direction:column}.editor-pane.svelte-juouq9,.diagnostics-pane.svelte-juouq9{flex:50%!important}.split-resizer.svelte-juouq9{display:none}}.rosetta-container.svelte-uvvv16{background:var(--bg-primary);box-sizing:border-box;height:100%;padding:2rem 2.5rem 5rem;overflow-y:auto}.rosetta-header.svelte-uvvv16{flex-direction:column;gap:1.25rem;max-width:1200px;margin:0 auto 2.5rem;display:flex}.header-badge.svelte-uvvv16{color:var(--fpga-gold);background:#f59e0b1f;border:1px solid #f59e0b4d;border-radius:9999px;align-items:center;gap:.35rem;width:fit-content;margin-bottom:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.header-h1.svelte-uvvv16{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.header-sub.svelte-uvvv16{color:var(--text-secondary);max-width:800px;margin:0;font-size:.95rem;line-height:1.5}.search-bar.svelte-uvvv16{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.6rem;max-width:650px;padding:.65rem 1rem;transition:all .15s;display:flex}.search-bar.svelte-uvvv16:focus-within{border-color:var(--fpga-gold);box-shadow:0 0 0 2px #f59e0b33}.search-bar.svelte-uvvv16 input:where(.svelte-uvvv16){color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.clear-btn.svelte-uvvv16{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1}.rosetta-content.svelte-uvvv16{max-width:1200px;margin:0 auto}.empty-state.svelte-uvvv16{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:4rem 1rem;display:flex}.concepts-grid.svelte-uvvv16{flex-direction:column;gap:1.75rem;display:flex}.concept-card.svelte-uvvv16{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 12px #00000026}.card-header.svelte-uvvv16{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);align-items:center;gap:.65rem;padding:.85rem 1.25rem;display:flex}.concept-index.svelte-uvvv16{font-family:var(--font-mono);color:var(--fpga-gold);background:#f59e0b1f;border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:700}.concept-name.svelte-uvvv16{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:700}.card-body.svelte-uvvv16{background:var(--border-color);grid-template-columns:1fr 1fr;gap:1px;display:grid}.column-box.svelte-uvvv16{background:#0d1117;flex-direction:column;padding:1rem 1.25rem;display:flex}.column-title.svelte-uvvv16{justify-content:space-between;align-items:center;margin-bottom:.65rem;font-size:.78rem;font-weight:700;display:flex}.text-danger.svelte-uvvv16{color:#ef4444}.text-safe.svelte-uvvv16{color:#10b981}.copy-btns.svelte-uvvv16{align-items:center;gap:.35rem;display:flex}.copy-btn.svelte-uvvv16{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.68rem;transition:all .15s;display:inline-flex}.copy-btn.svelte-uvvv16:hover{color:var(--text-primary);border-color:var(--fpga-emerald)}.column-box.svelte-uvvv16 pre:where(.svelte-uvvv16){font-family:var(--font-mono);color:var(--text-primary);background:0 0;margin:0;padding:0;font-size:.8rem;line-height:1.45;overflow-x:auto}.card-footer.svelte-uvvv16{border-top:1px solid var(--border-color);background:#f59e0b0d;flex-direction:column;gap:.35rem;padding:.85rem 1.25rem;display:flex}.note-label.svelte-uvvv16{color:var(--fpga-gold);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:flex}.note-text.svelte-uvvv16{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}@media (width<=800px){.rosetta-container.svelte-uvvv16{padding:1.25rem 1rem 4rem}.card-body.svelte-uvvv16{grid-template-columns:1fr}}.lang-selector.svelte-mngkpt{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:.35rem;padding:.15rem .35rem;display:flex}.lang-buttons.svelte-mngkpt{align-items:center;gap:.15rem;display:flex}.lang-btn.svelte-mngkpt{font-size:.72rem;font-family:var(--font-mono);color:var(--text-secondary);background:0 0;border-radius:4px;padding:.15rem .4rem;font-weight:600}.lang-btn.svelte-mngkpt:hover{color:var(--text-primary);background:var(--bg-tertiary)}.lang-btn.active.svelte-mngkpt{color:#e3b341;background:var(--bg-tertiary);border:1px solid #e3b34166}.app-container.svelte-1n46o8q{background:var(--bg-primary);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.top-navbar.svelte-1n46o8q{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:40;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;height:52px;padding:0 1rem;display:flex}.brand-section.svelte-1n46o8q{align-items:center;gap:.65rem;display:flex}.sidebar-toggle-btn.svelte-1n46o8q{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.sidebar-toggle-btn.svelte-1n46o8q:hover{color:var(--text-primary);border-color:var(--fpga-gold)}.brand-logo-icon.svelte-1n46o8q{border-radius:var(--radius-sm);background:#f59e0b26;border:1px solid #f59e0b4d;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.brand-text-wrapper.svelte-1n46o8q{flex-direction:column;display:flex}.brand-title-row.svelte-1n46o8q{align-items:baseline;gap:.5rem;display:flex}.brand-title.svelte-1n46o8q{letter-spacing:-.01em;color:var(--text-primary);font-size:.95rem;font-weight:800}.brand-subtitle.svelte-1n46o8q{color:var(--text-muted);font-size:.72rem}.nav-tabs.svelte-1n46o8q{align-items:center;gap:.4rem;display:flex}.nav-tab-btn.svelte-1n46o8q{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.nav-tab-btn.svelte-1n46o8q:hover{color:var(--text-primary);background:#ffffff0a}.nav-tab-btn.active.svelte-1n46o8q{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border-color)}.tab-label-short.svelte-1n46o8q{display:none}.tab-badge.svelte-1n46o8q{font-size:.68rem;font-family:var(--font-mono);color:var(--fpga-gold);background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:9999px;padding:.1rem .4rem;font-weight:600}.top-right-meta.svelte-1n46o8q{align-items:center;gap:.65rem;display:flex}.doc-link.svelte-1n46o8q{color:var(--text-muted);border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.78rem;text-decoration:none;transition:all .15s;display:inline-flex}.doc-link.svelte-1n46o8q:hover{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border-color)}.workspace-container.svelte-1n46o8q{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.full-view-container.svelte-1n46o8q{flex:1;height:100%;overflow:hidden}.main-content-wrapper.svelte-1n46o8q{flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.sidebar.svelte-1n46o8q{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:25;flex-direction:column;height:100%;transition:width .15s,transform .25s;display:flex;overflow:hidden}.sidebar.collapsed.svelte-1n46o8q{visibility:hidden;border-right:none;overflow:hidden;flex:0 0 0!important;width:0!important}.sidebar-header.svelte-1n46o8q{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.sidebar-title.svelte-1n46o8q{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.82rem;font-weight:700}.sidebar-header-right.svelte-1n46o8q{align-items:center;gap:.5rem;display:flex}.progress-indicator.svelte-1n46o8q{font-size:.72rem;font-family:var(--font-mono);color:var(--fpga-gold);font-weight:600}.sidebar-desktop-collapse-btn.svelte-1n46o8q,.sidebar-close-btn.svelte-1n46o8q{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:.2rem;display:inline-flex}.sidebar-desktop-collapse-btn.svelte-1n46o8q:hover,.sidebar-close-btn.svelte-1n46o8q:hover{color:var(--text-primary)}.sidebar-close-btn.svelte-1n46o8q{display:none}.progress-bar-track.svelte-1n46o8q{background:#ffffff0d;width:100%;height:3px}.progress-bar-fill.svelte-1n46o8q{background:linear-gradient(90deg, var(--fpga-gold) 0%, var(--fpga-emerald) 100%);height:100%;transition:width .3s}.sidebar-search-area.svelte-1n46o8q{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.sidebar-search-box.svelte-1n46o8q{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:.45rem;padding:.35rem .65rem;display:flex}.sidebar-search-box.svelte-1n46o8q input:where(.svelte-1n46o8q){color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.8rem}.clear-search-btn.svelte-1n46o8q{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1rem;line-height:1}.filter-pills.svelte-1n46o8q{align-items:center;gap:.3rem;display:flex;overflow-x:auto}.filter-pill.svelte-1n46o8q{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.7rem;font-weight:500;transition:all .15s;display:inline-flex}.filter-pill.svelte-1n46o8q:hover{color:var(--text-primary)}.filter-pill.active.svelte-1n46o8q{border-color:var(--fpga-gold);color:var(--fpga-gold);background:#f59e0b26;font-weight:600}.sidebar-scroll-area.svelte-1n46o8q{flex:1;padding:.5rem .5rem 2rem;overflow-y:auto}.part-header-card.svelte-1n46o8q{margin-top:.5rem;padding:.65rem .6rem .35rem}.part-header-title.svelte-1n46o8q{color:var(--fpga-gold);align-items:center;gap:.4rem;margin-bottom:.2rem;font-size:.78rem;font-weight:700;display:flex}.part-header-desc.svelte-1n46o8q{color:var(--text-muted);font-size:.7rem;line-height:1.35}.chapter-list.svelte-1n46o8q{margin:0;padding:0;list-style:none}.empty-search-msg.svelte-1n46o8q{color:var(--text-muted);text-align:center;padding:1.5rem .75rem;font-size:.8rem}.chapter-item.svelte-1n46o8q{margin-bottom:.25rem}.chapter-button.svelte-1n46o8q{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:flex-start;gap:.6rem;padding:.55rem .65rem;transition:all .15s;display:flex}.chapter-button.svelte-1n46o8q:hover{color:var(--text-primary);background:#ffffff0a}.chapter-button.active.svelte-1n46o8q{background:var(--bg-tertiary);color:var(--text-primary);border-color:#f59e0b66;box-shadow:0 1px 3px #0000004d}.chapter-status-icon.svelte-1n46o8q{flex-shrink:0;margin-top:.15rem}.chapter-meta.svelte-1n46o8q{flex:1;min-width:0}.chapter-number-badge.svelte-1n46o8q{font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted)}.chapter-name.svelte-1n46o8q{white-space:normal;word-break:break-word;margin:.1rem 0 .25rem;font-size:.82rem;font-weight:600;line-height:1.35}.badges-row.svelte-1n46o8q{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.chapter-badge-tag.svelte-1n46o8q{color:var(--text-muted);background:#ffffff0a;border-radius:3px;padding:.08rem .35rem;font-size:.65rem}.unique-badge-pill.svelte-1n46o8q{color:var(--fpga-cyan);background:#06b6d41f;border:1px solid #06b6d44d;border-radius:3px;padding:.08rem .35rem;font-size:.65rem;font-weight:600}.sidebar-resizer.svelte-1n46o8q{background:var(--bg-secondary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:col-resize;z-index:20;-webkit-user-select:none;user-select:none;flex:0 0 8px;justify-content:center;align-items:center;width:8px;display:flex}.sidebar-resizer.svelte-1n46o8q:hover,.sidebar-resizer.resizing.svelte-1n46o8q{background:var(--fpga-gold)}.sidebar-resizer-handle.svelte-1n46o8q{background:var(--bg-tertiary);border:1px solid var(--border-color);width:14px;height:28px;color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.sidebar-backdrop.svelte-1n46o8q{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:35;background:#0009;border:none;display:none;position:fixed;inset:0}@media (width<=1024px){.tab-label-full.svelte-1n46o8q{display:none}.tab-label-short.svelte-1n46o8q{display:inline}.brand-subtitle.svelte-1n46o8q,.doc-link-text.svelte-1n46o8q{display:none}.sidebar.svelte-1n46o8q{max-width:85vw;position:fixed;top:52px;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #00000080;width:320px!important}.sidebar.mobile-open.svelte-1n46o8q{transform:translate(0)}.sidebar-desktop-collapse-btn.svelte-1n46o8q{display:none}.sidebar-close-btn.svelte-1n46o8q{display:inline-flex}.sidebar-backdrop.svelte-1n46o8q{display:block}.sidebar-resizer.svelte-1n46o8q{display:none}}
