.page.svelte-gygcht{position:relative;z-index:1;padding-top:1.5rem}.shell.svelte-gygcht{max-width:56rem;margin:0 auto;padding:clamp(1.25rem,4vw,3rem)}.breadcrumb.svelte-gygcht{font-family:var(--font-mono);font-size:.78rem;color:var(--muter);display:flex;align-items:center;gap:.4rem;margin-bottom:1.75rem;letter-spacing:.04em}.breadcrumb.svelte-gygcht a:where(.svelte-gygcht){color:var(--muter);text-decoration:none;transition:color .14s}.breadcrumb.svelte-gygcht a:where(.svelte-gygcht):hover{color:var(--accent)}.current.svelte-gygcht{color:var(--accent)}.sep.svelte-gygcht{color:var(--border)}.card.svelte-gygcht{border:1px solid var(--border);background:var(--panel);overflow:hidden;margin-bottom:1.5rem}.termbar.svelte-gygcht{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.75rem .9rem;border-bottom:1px solid var(--border-2);background:var(--panel-2)}.termbar__title.svelte-gygcht{margin:0;font-size:clamp(1rem,2vw,1.25rem);letter-spacing:.02em;color:var(--text);font-weight:700}.badge.svelte-gygcht{font-size:.78rem;color:var(--muted);border:1px solid var(--border-2);padding:.2rem .55rem;background:var(--panel-2);text-transform:lowercase;white-space:nowrap;flex-shrink:0}.badge[data-type=open-source].svelte-gygcht{border-color:#36f2c240;color:#36f2c2eb;background:#36f2c20d}.badge[data-type=closed-source].svelte-gygcht{border-color:#f6c17738;color:#f6c177eb;background:#f6c1770d}.content.svelte-gygcht{padding:1.25rem;display:grid;gap:1rem}.meta-row.svelte-gygcht{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.year.svelte-gygcht{font-family:var(--font-mono);font-size:.8rem;color:var(--muter)}.video.svelte-gygcht{margin-top:.25rem;border-top:1px solid var(--border-2);padding-top:1rem}.video__frame.svelte-gygcht{display:block;width:100%;aspect-ratio:16 / 9;border:1px solid var(--border-2);background:var(--panel-2)}.video__native.svelte-gygcht{display:block;width:100%;border:1px solid var(--border-2);background:var(--panel-2)}.slides.svelte-gygcht{margin-top:1rem;border-top:1px solid var(--border-2);padding-top:1rem}.slides__frame.svelte-gygcht{display:block;width:100%;aspect-ratio:16 / 9;min-height:360px;border:1px solid var(--border-2);background:var(--panel-2)}.resources.svelte-gygcht{margin-top:1rem;border-top:1px solid var(--border-2);padding-top:.75rem}.resources__title.svelte-gygcht{margin:0 0 .35rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tech-badges.svelte-gygcht{display:flex;flex-wrap:wrap;gap:.4rem}.tech-badge.svelte-gygcht{font-size:.72rem;font-weight:500;color:var(--muted);border:1px solid var(--border-2);padding:.18rem .45rem;background:var(--panel-2);text-transform:lowercase;letter-spacing:.02em}.tech-badge[data-tech=rust].svelte-gygcht{border-color:#dea58459;color:#dea584f2;background:#dea58414}.tech-badge[data-tech=postgres].svelte-gygcht,.tech-badge[data-tech=postgresql].svelte-gygcht{border-color:#334e8359;color:#2297c9f2;background:#3c4ab814}.tech-badge[data-tech=svelte].svelte-gygcht{border-color:#ff3e0059;color:#ff6232f2;background:#ff3e0014}.tech-badge[data-tech=kubernetes].svelte-gygcht,.tech-badge[data-tech=k8s].svelte-gygcht{border-color:#326ce559;color:#508afff2;background:#326ce514}.tech-badge[data-tech=python].svelte-gygcht{border-color:#4c7fa959;color:#4a97d5f2;background:#2b5d8614}.tech-badge[data-tech=docker].svelte-gygcht{border-color:#007bff59;color:#1e99fff2;background:#0975e914}.tech-badge[data-tech=go].svelte-gygcht{border-color:#00add859;color:#1ecbf6f2;background:#00add814}.tech-badge[data-tech=typescript].svelte-gygcht{border-color:#3178c659;color:#4f98e4f2;background:#3178c614}.tech-badge[data-tech=wasm].svelte-gygcht,.tech-badge[data-tech=webassembly].svelte-gygcht{border-color:#654ff059;color:#836dfff2;background:#654ff014}.tech-badge[data-tech=c].svelte-gygcht,.tech-badge[data-tech="c/c++"].svelte-gygcht{border-color:#5555ff59;color:#7373fff2;background:#5555ff14}.tech-badge[data-tech=systemverilog].svelte-gygcht{border-color:#daa52059;color:#ffd700f2;background:#daa52014}.tech-badge[data-tech=react].svelte-gygcht{border-color:#61dafb59;color:#61dafbf2;background:#61dafb14}.tech-badge[data-tech=pytorch].svelte-gygcht{border-color:#ee4c2c59;color:#ee6a4af2;background:#ee4c2c14}.tech-badge[data-tech=javascript].svelte-gygcht{border-color:#f7df1e66;color:#f7e950f2;background:#f7df1e1a}.tech-badge[data-tech=html].svelte-gygcht{border-color:#e34c2259;color:#ff7850f2;background:#e34c2214}.tech-badge[data-tech="chrome extension"].svelte-gygcht{border-color:#4285f459;color:#64a3fff2;background:#4285f414}.tech-badge[data-tech=litellm].svelte-gygcht{border-color:#8b5cf659;color:#a78bfff2;background:#8b5cf614}.tech-badge[data-tech=rich].svelte-gygcht{border-color:#00bfa559;color:#00ddc3f2;background:#00bfa514}.tech-badge[data-tech=argparse].svelte-gygcht{border-color:#4c7fa959;color:#4a97d5f2;background:#2b5d8614}.tech-badge[data-tech="cadence virtuoso"].svelte-gygcht{border-color:#00968859;color:#00b4a6f2;background:#00968814}.tech-badge[data-tech=ota].svelte-gygcht{border-color:#9c27b059;color:#ba68c8f2;background:#9c27b014}.tech-badge[data-tech="analog modeling"].svelte-gygcht{border-color:#ff980059;color:#ffb74df2;background:#ff980014}.tech-badge[data-tech="parasitic simulation"].svelte-gygcht{border-color:#79554859;color:#a1887ff2;background:#79554814}.tech-badge[data-tech=ocr].svelte-gygcht{border-color:#3f51b559;color:#5c6bc0f2;background:#3f51b514}.tech-badge[data-tech="speech synthesis"].svelte-gygcht{border-color:#e91e6359;color:#f48fb1f2;background:#e91e6314}.tech-badge[data-tech=opencv].svelte-gygcht{border-color:#0096c759;color:#00b4e5f2;background:#0096c714}.tech-badge[data-tech=api].svelte-gygcht{border-color:#4caf5059;color:#81c784f2;background:#4caf5014}.tech-badge[data-tech=fpga].svelte-gygcht{border-color:#b71c1c59;color:#e57373f2;background:#b71c1c14}.tech-badge[data-tech=vga].svelte-gygcht{border-color:#5d403759;color:#8d6e63f2;background:#5d403714}.tech-badge[data-tech=fsm].svelte-gygcht{border-color:#daa52059;color:#ffd700f2;background:#daa52014}.tech-badge[data-tech=rsa-2048].svelte-gygcht{border-color:#2e7d3259;color:#66bb6af2;background:#2e7d3214}.tech-badge[data-tech=fastapi].svelte-gygcht{border-color:#00bfa559;color:#26dec4f2;background:#00bfa514}.tech-badge[data-tech=mqtt].svelte-gygcht{border-color:#ff790059;color:#ff971ef2;background:#ff790014}.tech-badge[data-tech="next.js"].svelte-gygcht{border-color:#00000080;color:#f3f6fff2;background:#ffffff1f}.subtitle.svelte-gygcht{margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.desc.svelte-gygcht{margin:0;color:var(--muted);line-height:1.7;font-size:.97rem}.long-desc.svelte-gygcht{color:var(--muted);font-size:.95rem;line-height:1.8;white-space:pre-wrap;padding-top:.5rem;border-top:1px solid var(--border-2)}.note.svelte-gygcht{margin:0;color:var(--accent-2);font-size:.92rem;font-family:var(--font-mono)}.links.svelte-gygcht{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:.25rem}.btn.svelte-gygcht{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:1px solid var(--border);text-decoration:none;font-size:.9rem;line-height:1;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease;font-family:var(--font-mono)}.btn.svelte-gygcht:hover{transform:translateY(-1px)}.btn--primary.svelte-gygcht{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.btn--primary.svelte-gygcht:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 58%,transparent)}.btn--ghost.svelte-gygcht{background:var(--panel-2);color:var(--muted);border-color:var(--border)}.btn--ghost.svelte-gygcht:hover{background:color-mix(in srgb,var(--panel-2) 84%,var(--text));border-color:var(--border-2)}.back-link.svelte-gygcht a:where(.svelte-gygcht){font-family:var(--font-mono);font-size:.82rem;color:var(--muter);text-decoration:none;letter-spacing:.04em;transition:color .14s}.back-link.svelte-gygcht a:where(.svelte-gygcht):hover{color:var(--accent)}.case-study.svelte-gygcht{border-top:1px solid var(--border-2);padding-top:1.25rem;display:grid;gap:1.1rem}.case-study__heading.svelte-gygcht{margin:0 0 .25rem;font-size:.78rem;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.cs-block.svelte-gygcht{display:grid;gap:.45rem}.cs-block__title.svelte-gygcht{margin:0;font-size:.78rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muter)}.cs-block__text.svelte-gygcht{margin:0;color:var(--text);font-size:.95rem;line-height:1.7}.cs-list.svelte-gygcht{margin:0;padding:0 0 0 1.1rem;display:grid;gap:.3rem}.cs-list.svelte-gygcht li:where(.svelte-gygcht){color:var(--muted);font-size:.93rem;line-height:1.6}
