@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{--bg: #0e1116;--bg-panel: #151a22;--bg-elevated: #1b2230;--border: #2a3344;--text: #e7ecf3;--muted: #8b97ab;--accent: #3d8bfd;--accent-2: #d4a017;--danger: #f87171;--warn: #fbbf24;--ok: #4ade80;--font: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font)}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;padding:.35rem .65rem;cursor:pointer}button:hover:not(:disabled){border-color:#3d4a63;background:#222b3c}button:disabled{opacity:.4;cursor:default}button.active,button.primary{background:#1e3a5f;border-color:var(--accent)}button.ghost{background:transparent;border-color:transparent;padding:.15rem .4rem}.app-shell{display:grid;grid-template-rows:auto 1fr auto;height:100%}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.45rem .75rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#161c27,#12171f)}.brand{display:flex;align-items:center;gap:.6rem;min-width:0}.brand-mark{font-family:var(--mono);font-weight:500;letter-spacing:.08em;color:var(--accent-2);background:#2a2110;border:1px solid #5c4a1c;padding:.2rem .45rem;border-radius:3px;font-size:.75rem}.project-name{background:transparent;border:1px solid transparent;border-radius:4px;padding:.25rem .4rem;font-weight:600;min-width:0;width:100%;max-width:280px}.project-name:hover,.project-name:focus{border-color:var(--border);outline:none;background:var(--bg-panel)}.dirty-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-2);flex-shrink:0}.tabs{display:flex;gap:.25rem}.tabs button{min-width:6.5rem}.top-actions{display:flex;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}.main-row{display:grid;grid-template-columns:220px 1fr 260px;min-height:0;position:relative}.left-rail,.right-rail{border-color:var(--border);border-style:solid;border-width:0;background:var(--bg-panel);overflow:auto}.left-rail{border-right-width:1px}.right-rail{border-left-width:1px}.assistant-rail{position:absolute;top:0;right:0;bottom:0;width:360px;background:var(--bg-panel);border-left:1px solid var(--border);z-index:30;overflow:auto}.workspace{min-width:0;min-height:0;position:relative;background:radial-gradient(ellipse at top,rgba(61,139,253,.07),transparent 55%),var(--bg)}.workspace:has(.mission-banner) .canvas-host,.workspace:has(.mission-banner) .view3d-host{top:7.5rem}.workspace:has(.mission-banner) .docs-panel,.workspace:has(.mission-banner) .learn-panel,.workspace:has(.mission-banner) .si-panel,.workspace:has(.mission-banner) .sim-panel{padding-top:7.5rem}.mission-banner{position:absolute;top:0;left:0;right:0;z-index:20;padding:.55rem .85rem .65rem;background:#0e141cf0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mission-banner-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .85rem}.mission-banner-label{color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.mission-banner-tip{margin:.35rem 0 0;max-width:72ch;line-height:1.4}.mission-banner-msg{margin:.25rem 0 0;color:#e8a87c}.mission-banner-msg.ok{color:#5dcea6}.mission-banner-actions{margin-top:.45rem}.learn-track{margin-top:.85rem}.learn-track-title{margin:0 0 .25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.bridge-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:.75rem 0}@media(max-width:720px){.bridge-cols{grid-template-columns:1fr}}.footprint-svg,.via-svg{width:100%;max-width:420px;height:auto;display:block;margin:.5rem 0;color:var(--muted)}.fp-courtyard{fill:#1a2433;stroke:#6f7f99;stroke-dasharray:4 3}.fp-pad{fill:#d4a017;stroke:#8a6a10}.fp-label{fill:var(--text, #e8eef7);font-size:11px;font-weight:600}.fp-caption{fill:var(--muted);font-size:10px}.fab-checklist{list-style:none;margin:.75rem 0;padding:0}.stackup-cross{margin:.75rem 0;max-width:280px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.stackup-lam{width:100%}.stackup-lam.outer{background:linear-gradient(90deg,#d4a017,#c4890f)}.stackup-lam.inner{background:linear-gradient(90deg,#3d7eff88,#2a5fcc88);border-top:1px solid #0c1210;border-bottom:1px solid #0c1210}.via-cu.top,.via-cu.bot{fill:#d4a017}.via-core{fill:#1a5c3a}.via-barrel{fill:silver;stroke:#888}.via-drill{fill:#0c1210}.warn{color:#e8a87c}.canvas-host{position:absolute;inset:0;outline:none}.canvas-host canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.side-panel{padding:.75rem}.side-panel h3{margin:.85rem 0 .45rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.side-panel h3:first-child{margin-top:0}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.lib-list,.layer-list,.issue-list,.net-list{list-style:none;margin:0;padding:0}.lib-list li button{width:100%;display:flex;justify-content:space-between;gap:.5rem;text-align:left;margin-bottom:.25rem}.lib-list.compact li{padding:.2rem 0;font-size:.8rem}.layer-list li{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.layer-list li button{flex:1;text-align:left;font-family:var(--mono);font-size:.8rem}.check-row{display:flex;align-items:center;gap:.4rem;font-size:.85rem;margin:.5rem 0}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.55rem;font-size:.8rem}.field span{color:var(--muted)}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.35rem .45rem}.field textarea{resize:vertical}.muted{color:var(--muted)}.small{font-size:.8rem}.mono{font-family:var(--mono)}.issue-list li{font-size:.75rem;padding:.3rem 0;border-bottom:1px solid #1f2735;line-height:1.35}.issue-list li.error{color:var(--danger)}.issue-list li.warning{color:var(--warn)}.net-list li{display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem;padding:.2rem 0}.statusbar{display:flex;align-items:center;gap:.85rem;padding:.3rem .75rem;border-top:1px solid var(--border);background:#0b0e13;font-size:.75rem;font-family:var(--mono);color:#a8b3c7}.statusbar .grow{margin-left:auto;font-family:var(--font)}.docs-panel{overflow:auto;height:100%;padding:1.25rem 1.5rem 2rem;max-width:960px}.docs-section{margin-bottom:1.75rem}.docs-section h2{margin:0 0 .75rem;font-size:1.1rem}.docs-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.docs-section-head h2{margin:0}.bom-table{width:100%;border-collapse:collapse;font-size:.85rem}.bom-table th,.bom-table td{border:1px solid var(--border);padding:.4rem .55rem;text-align:left}.bom-table th{background:var(--bg-elevated);color:var(--muted);font-weight:500}.netlist-pre{background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;padding:.75rem;font-family:var(--mono);font-size:.8rem;overflow:auto;white-space:pre-wrap}.btn-row{display:flex;gap:.4rem;flex-wrap:wrap}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1rem}.stackup-grid{display:grid;gap:.45rem}.stackup-row{display:grid;grid-template-columns:1fr 140px 110px;gap:.4rem}.stackup-row input,.stackup-row select{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.3rem .45rem}.chat-panel{display:grid;grid-template-rows:auto auto auto 1fr auto auto;height:100%;padding:.7rem;gap:.5rem}.chat-head{display:flex;justify-content:space-between;align-items:center}.chat-head h3{margin:0;font-size:.9rem}.chat-modes{display:flex;flex-wrap:wrap;gap:.25rem}.chat-log{border:1px solid var(--border);border-radius:4px;background:var(--bg);padding:.5rem;overflow:auto;min-height:200px}.chat-msg{margin-bottom:.55rem;font-size:.82rem}.chat-msg.tool{color:var(--accent-2)}.chat-compose{display:grid;gap:.35rem}.chat-compose textarea{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.4rem}.approval-card,.plan-review-card,.chat-settings{border:1px solid var(--border);border-radius:4px;background:var(--bg);padding:.5rem}.linkish{margin-top:.4rem;color:var(--accent)}@media(max-width:960px){.main-row{grid-template-columns:180px 1fr}.right-rail{display:none}.topbar{grid-template-columns:1fr}}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;width:min(720px,100%);max-height:90vh;overflow:auto;padding:1rem 1.25rem 1.25rem;box-shadow:0 16px 48px #00000073}.modal-wide{width:min(920px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-head h2{margin:0;font-size:1.1rem}.template-group{margin-bottom:1.1rem}.template-group-title{margin:0 0 .45rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem}.template-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;min-height:96px;padding:.75rem}.template-card span{color:var(--muted);font-size:.8rem;line-height:1.35}.view3d-host{position:relative}.color-field-row{display:flex;align-items:center;gap:.4rem}.color-field-row input[type=color]{width:2rem;height:1.6rem;padding:0;border:none;background:transparent}.color-field-row input[type=text]{flex:1;min-width:0}.thermal-host{display:flex;flex-direction:column}.thermal-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;padding:.35rem .6rem;border-bottom:1px solid var(--border);background:var(--bg-panel)}.view3d-hint{position:absolute;left:.75rem;bottom:.75rem;pointer-events:none;background:#00000073;padding:.25rem .5rem;border-radius:4px}.subhead{margin:.75rem 0 .4rem;font-size:.85rem;color:var(--muted);font-weight:600}.wave-plot{border:1px solid var(--border);border-radius:4px;margin-top:.35rem}.tabs button{min-width:4.5rem}.learn-panel{max-width:880px}.learn-hero{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.learn-hero h1{margin:.15rem 0 .35rem;font-size:1.55rem;font-weight:600;letter-spacing:-.02em}.learn-lede{margin:0;color:var(--muted)}.learn-lesson h2{margin:0 0 .65rem;font-size:1.15rem}.learn-lesson p{line-height:1.55;max-width:62ch}.learn-outline{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.learn-outline button{width:100%;display:flex;gap:.55rem;align-items:flex-start;text-align:left;padding:.45rem .5rem;background:transparent;border:1px solid transparent;border-radius:4px;color:inherit;cursor:pointer}.learn-outline button:hover{background:#1a2030;border-color:var(--border)}.learn-outline button.active{background:#1a283c;border-color:var(--accent)}.learn-outline-idx{flex:0 0 1.25rem;color:var(--accent);font-size:.8rem;line-height:1.4}.learn-outline-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.learn-outline-title{font-size:.85rem;font-weight:560}.learn-tips-list{margin:0;padding-left:1.1rem;line-height:1.45}.ohm-lab{display:grid;gap:1rem;margin-top:1rem}.ohm-lab-controls .field{margin-bottom:.65rem}.lab-why{margin-top:.85rem;max-width:62ch}.lab-why-label{display:inline-block;margin-right:.35rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.lab-scale-strip{display:flex;gap:.35rem;flex-wrap:wrap;margin:.75rem 0}.lab-scale-strip button{display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;min-width:5.5rem;padding:.45rem .55rem}.lab-scale-label{font-size:.78rem;font-weight:560}.learn-outline button.learn-deepen .learn-outline-idx{color:#c9a227}.ohm-formula .warn,.ohm-formula p.warn{color:#e8a05d}.ohm-formula{font-family:var(--mono);font-size:1.35rem;letter-spacing:.04em;padding:.85rem 1rem;background:#121821;border:1px solid var(--border);border-radius:4px}.ohm-unk{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.ohm-viz,.circuit-svg,.bb-board{width:100%;max-width:520px;height:auto;display:block;margin:.75rem 0}.circuit-demo,.bb-guided,.bb-playground{margin-top:.75rem}.learn-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem 1rem;margin:.75rem 0;font-size:.85rem}.learn-quiz{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.learn-quiz-q{border:1px solid var(--border);border-radius:4px;padding:.65rem .85rem;margin:0 0 .65rem}.learn-quiz-q legend{padding:0 .35rem;font-size:.9rem}.learn-quiz-choice{display:flex;align-items:center;gap:.45rem;margin:.25rem 0;font-size:.88rem;cursor:pointer}.learn-defs{display:grid;gap:.75rem;margin:1rem 0}.learn-defs h3{margin:0 0 .2rem;font-size:.95rem}.learn-reveal-list{margin:.5rem 0 1rem;padding-left:1.15rem;line-height:1.5}.learn-click{fill:#1c2430;stroke:#6f7f99;cursor:pointer}.learn-hot-stroke{stroke:var(--accent)!important}.ok{color:#5dcea6}.bad{color:#e85d4c}.bb-toolbar{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.btn-row.wrap{flex-wrap:wrap}.bb-board{max-width:560px;background:#121821;border:1px solid var(--border);border-radius:6px}.si-panel{max-width:920px}.si-canvas-host{position:relative;width:100%;height:min(420px,55vh);margin:.75rem 0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#0c1210}.si-canvas-host canvas{display:block;width:100%!important;height:100%!important}.si-canvas-hint{position:absolute;left:.65rem;bottom:.45rem;pointer-events:none}.si-control{max-width:420px}.si-hud{padding:.2rem .45rem;background:#0c1210d9;border:1px solid var(--border);border-radius:4px;color:#dce3ef;font-size:.75rem;font-family:var(--mono);white-space:nowrap}.si-iv-plot{width:100%;max-width:360px;height:auto;display:block;margin:.5rem 0;background:#121821;border:1px solid var(--border);border-radius:4px}.si-track-block{margin-top:.65rem}.si-locked{opacity:.45;cursor:not-allowed!important}.si-truth{border-collapse:collapse;margin:.75rem 0;font-size:.85rem}.si-truth th,.si-truth td{border:1px solid var(--border);padding:.25rem .55rem;text-align:center}.si-truth tr.active{background:#1a283c}.si-ff-viz{display:flex;gap:.75rem;margin:.75rem 0}.si-bit{flex:1;max-width:140px;padding:.85rem;text-align:center;border:1px solid var(--border);border-radius:4px;background:#121821;color:var(--muted)}.si-bit.on{border-color:var(--accent);color:#5dcea6;background:#1a283c}@media(prefers-reduced-motion:reduce){.si-canvas-host{height:min(360px,50vh)}}.lab-breaks{margin-top:.85rem;max-width:62ch;padding:.6rem .8rem;border:1px solid var(--border);border-left:3px solid #e8a87c;border-radius:4px;background:#16181c}.lab-breaks-label{margin:0 0 .35rem;color:#e8a87c;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.lab-breaks-list{margin:0;padding-left:1.1rem;line-height:1.5;color:var(--muted)}.lab-breaks-list li+li{margin-top:.3rem}.lab-breaks-instead{margin:.5rem 0 0}.learn-predict{margin:1rem 0;max-width:62ch}.learn-predict-label{margin:0 0 .4rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.learn-predict-reveal{margin:.5rem 0 0;line-height:1.5;color:var(--muted)}.learn-autopsy{margin-top:1.5rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:4px;background:#121821;max-width:62ch}.learn-autopsy>summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--accent)}.learn-autopsy-list{margin:.5rem 0 0;padding-left:1.1rem;line-height:1.5;color:var(--muted)}.learn-autopsy-list li+li{margin-top:.4rem}.learn-autopsy-list strong{color:var(--text)}.learn-review .learn-quiz-q p{margin:.4rem 0 0;line-height:1.45}.return-path{margin-top:.75rem}.lab-scope{margin:.75rem 0}.lab-scope-svg{width:100%;max-width:560px;height:auto;display:block;background:#121821;border:1px solid var(--border);border-radius:4px}.lab-scope-legend{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:.4rem 0 0;padding:0;list-style:none}.lab-scope-legend li{display:flex;align-items:center;gap:.35rem}.lab-scope-swatch{display:inline-block;width:.7rem;height:.2rem;border-radius:1px}.bb-window{align-items:center;gap:.4rem;margin:0}.mna-stamps{display:grid;gap:.5rem}.mna-element-list{margin:0;padding-left:1.4rem;line-height:1.5}.mna-matrix-wrap{overflow-x:auto}.mna-matrix{border-collapse:collapse;font-size:.78rem}.mna-matrix th,.mna-matrix td{padding:.25rem .5rem;border:1px solid var(--border);text-align:right;white-space:nowrap}.mna-matrix thead th{color:var(--muted);font-weight:500}.mna-matrix tbody th{color:var(--muted);font-weight:500;text-align:left}.mna-cell-zero{color:#3a4558}.mna-cell-hot{background:#24331f;color:#8fe0b4}.mna-matrix .mna-rhs{border-left:2px solid var(--accent)}.mna-deck{margin:.75rem 0;padding:.5rem .75rem;border:1px solid var(--border);border-radius:4px;background:#121821}.mna-deck>summary{cursor:pointer;font-size:.85rem;color:var(--accent)}.fidelity-badge{display:inline-block;margin:0 0 .5rem;padding:.15rem .45rem;border-radius:3px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border)}.fidelity-toy{color:#a8b3c7;background:#1a1e26}.fidelity-teaching{color:#7eb8ff;background:#152033;border-color:#2a4a72}.fidelity-research{color:#e8a87c;background:#2a1f18;border-color:#6b4a32}.fidelity-capstone{color:#9ad0c2;background:#15241f;border-color:#3a6b5c}.lab-derive{margin:.75rem 0;max-width:62ch;padding:.55rem .75rem;border:1px solid var(--border);border-radius:4px;background:#121821}.lab-derive>summary{cursor:pointer;font-size:.85rem;font-weight:600;color:var(--accent)}.lab-derive-steps{margin:.45rem 0 0;padding-left:1.2rem;line-height:1.5;color:var(--muted)}.lab-derive-steps li+li{margin-top:.3rem}.learn-outline button.learn-studio .learn-outline-idx{color:#c9a227}.learn-outline button.learn-research .learn-outline-idx{color:#e8a87c}.learn-outline button.learn-capstone .learn-outline-idx{color:#9ad0c2}.defense-rubric{margin:1rem 0;max-width:62ch}.defense-rubric-title{margin:0 0 .35rem;font-size:1rem}.defense-field textarea{width:100%;resize:vertical;background:#121821;border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.4rem .5rem;font:inherit}.defense-ok{color:#5dcea6}.timing-fail{color:#e85d4c}.timing-slack-board p{margin:.25rem 0}.lab-notebook-panel{margin:1rem 0;max-width:62ch}.sar-bit-row{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0}.sar-bit{min-width:1.75rem;text-align:center;padding:.25rem .4rem;border:1px solid var(--border);border-radius:3px;font-family:var(--mono, ui-monospace, monospace);background:#121821}.sar-bit.on{border-color:#5dcea6;color:#5dcea6}.pdn-plot-wrap,.stackup-field-wrap{margin:.75rem 0;max-width:560px}.emc-checklist{margin:.75rem 0;padding:0;list-style:none;max-width:62ch}.emc-checklist li{display:flex;gap:.5rem;align-items:flex-start;margin:.35rem 0;color:var(--muted);font-size:.9rem}.band-diagram-svg,.poisson-plot-svg{width:100%;max-width:480px;height:auto;display:block;background:#121821;border:1px solid var(--border);border-radius:4px}
