.rail[data-astro-cid-euxwtxot]{width:var(--rail);border-right:1px solid var(--rule);background:var(--paper);z-index:10;flex-direction:column;padding:28px 22px 22px;transition:background .2s,border-color .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.rail[data-astro-cid-euxwtxot] .mark[data-astro-cid-euxwtxot]{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;font-size:11px;display:flex}.rail[data-astro-cid-euxwtxot] .mark[data-astro-cid-euxwtxot] .dot[data-astro-cid-euxwtxot]{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}.rail[data-astro-cid-euxwtxot] .mark-sub[data-astro-cid-euxwtxot]{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-soft);margin-top:4px;font-size:10px}.rail[data-astro-cid-euxwtxot] nav[data-astro-cid-euxwtxot]{flex-direction:column;gap:2px;margin-top:56px;display:flex}.rail[data-astro-cid-euxwtxot] nav[data-astro-cid-euxwtxot] a[data-astro-cid-euxwtxot]{font-family:var(--sans);color:var(--ink-2);border-left:2px solid #0000;grid-template-columns:26px 1fr;align-items:center;padding:7px 0 7px 10px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:grid}.rail[data-astro-cid-euxwtxot] nav[data-astro-cid-euxwtxot] a[data-astro-cid-euxwtxot] .num[data-astro-cid-euxwtxot]{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.06em;font-size:10.5px}.rail[data-astro-cid-euxwtxot] nav[data-astro-cid-euxwtxot] a[data-astro-cid-euxwtxot]:hover{color:var(--ink)}.rail[data-astro-cid-euxwtxot] nav[data-astro-cid-euxwtxot] a[data-astro-cid-euxwtxot].active{color:var(--ink);border-left-color:var(--accent)}.rail[data-astro-cid-euxwtxot] nav[data-astro-cid-euxwtxot] a[data-astro-cid-euxwtxot].active .num[data-astro-cid-euxwtxot]{color:var(--accent)}.rail[data-astro-cid-euxwtxot] .grow[data-astro-cid-euxwtxot]{flex:1}.rail[data-astro-cid-euxwtxot] .status[data-astro-cid-euxwtxot]{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.04em;font-size:10.5px;line-height:1.7}.mobile-topbar[data-astro-cid-euxwtxot],.rail-overlay[data-astro-cid-euxwtxot]{display:none}@media (width<=760px){.mobile-topbar[data-astro-cid-euxwtxot]{background:var(--paper);border-bottom:1px solid var(--rule);z-index:36;justify-content:space-between;align-items:center;height:52px;padding:0 18px;display:flex;position:fixed;top:0;left:0;right:0}.mobile-topbar[data-astro-cid-euxwtxot] .mark[data-astro-cid-euxwtxot]{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;font-size:11px;display:flex}.mobile-topbar[data-astro-cid-euxwtxot] .mark[data-astro-cid-euxwtxot] .dot[data-astro-cid-euxwtxot]{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}.menu-btn[data-astro-cid-euxwtxot]{border:1px solid var(--rule-2);cursor:pointer;background:0 0;border-radius:2px;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;padding:0;display:flex}.menu-btn[data-astro-cid-euxwtxot] span[data-astro-cid-euxwtxot]{background:var(--ink);width:16px;height:1.5px;margin:0 auto;transition:transform .18s,opacity .18s;display:block}.menu-btn[data-astro-cid-euxwtxot][aria-expanded=true] span[data-astro-cid-euxwtxot]:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-btn[data-astro-cid-euxwtxot][aria-expanded=true] span[data-astro-cid-euxwtxot]:nth-child(2){opacity:0}.menu-btn[data-astro-cid-euxwtxot][aria-expanded=true] span[data-astro-cid-euxwtxot]:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.rail[data-astro-cid-euxwtxot]{z-index:40;width:min(78vw,280px);transition:transform .22s;display:flex;transform:translate(-100%)}.rail[data-astro-cid-euxwtxot].open{transform:translate(0)}.rail-overlay[data-astro-cid-euxwtxot]{opacity:0;pointer-events:none;z-index:35;background:#0006;transition:opacity .22s;display:block;position:fixed;inset:0}.rail-overlay[data-astro-cid-euxwtxot].open{opacity:1;pointer-events:auto}}footer[data-astro-cid-jo6i4kqk].bot{border-top:1.5px solid var(--ink);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:18px 0;font-size:10.5px}footer[data-astro-cid-jo6i4kqk].bot .inner[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:20px;display:flex}footer[data-astro-cid-jo6i4kqk].bot .center[data-astro-cid-jo6i4kqk]{text-align:center}footer[data-astro-cid-jo6i4kqk].bot a[data-astro-cid-jo6i4kqk]{color:var(--ink)}@media (width<=760px){footer[data-astro-cid-jo6i4kqk].bot .inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:8px}}.strip[data-astro-cid-556wtslr]{background:var(--strip-bg);color:var(--strip-fg);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;padding:11px 0;font-size:10.5px;transition:background .2s,color .2s}.strip-inner[data-astro-cid-556wtslr]{justify-content:space-between;gap:24px;display:flex}.strip[data-astro-cid-556wtslr] span[data-astro-cid-556wtslr].sep{opacity:.4}.strip[data-astro-cid-556wtslr] span[data-astro-cid-556wtslr].muted{color:var(--strip-muted)}@media (width<=760px){.strip-inner[data-astro-cid-556wtslr]{flex-wrap:wrap;gap:8px 16px}}.theme-toggle[data-astro-cid-l6lhmie6]{background:var(--paper);width:40px;height:40px;color:var(--ink);border:1px solid var(--rule-2);cursor:pointer;z-index:100;border-radius:4px;justify-content:center;align-items:center;transition:background .2s,color .2s,border-color .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 32px -8px #0000002e,0 2px 6px -2px #00000014}.theme-toggle[data-astro-cid-l6lhmie6]:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle[data-astro-cid-l6lhmie6] .glyph[data-astro-cid-l6lhmie6]{font-size:15px;line-height:1;display:none}html:not([data-theme=dark]) .theme-toggle[data-astro-cid-l6lhmie6] .sun[data-astro-cid-l6lhmie6],html[data-theme=dark] .theme-toggle[data-astro-cid-l6lhmie6] .moon[data-astro-cid-l6lhmie6]{display:block}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--paper:#f5f1e8;--paper-2:#ede7d7;--paper-3:#e5dec9;--ink:#1a1814;--ink-2:#3d3a33;--ink-3:#5f594e;--ink-soft:#8a8478;--rule:#d4cdb8;--rule-2:#c9c0a6;--accent:#c45a2c;--accent-2:#a14722;--accent-soft:#f4e4d6;--green:#5e7a4f;--green-soft:#dde5d4;--blue:#3a6b8a;--blue-soft:#d9e3eb;--violet:#6b4f8a;--violet-soft:#e1d9eb;--amber:#b58a2a;--red:#a14722;--slate:#56606b;--strip-bg:var(--ink);--strip-fg:var(--paper);--strip-muted:#b8b0a0;--bom-head-bg:var(--ink);--bom-head-fg:var(--paper);--fpga-bg:#1a1814;--fpga-inner:#1f1d18;--fpga-border:#2c2922;--code-bg:#1a1814;--code-fg:#efe9d6;--code-muted:#8a8478;--code-accent:#e68b4e;--led-bg:#15120d;--led-inner:#1f1d18;--led-border:#2c2922;--led-amber:#e8a232;--led-dim:#3a3a3a;--sans:"Inter Tight", ui-sans-serif, system-ui, sans-serif;--serif:"Source Serif 4", "Source Serif Pro", ui-serif, Georgia, serif;--mono:"JetBrains Mono", ui-monospace, monospace;--rail:204px;--maxw:1180px;--pad:60px;--prose:680px}html[data-theme=dark]{--paper:#16140f;--paper-2:#1e1b14;--paper-3:#26221a;--ink:#efe9d6;--ink-2:#cfc8b2;--ink-3:#a39c84;--ink-soft:#6f6952;--rule:#2c281d;--rule-2:#3a3527;--accent:#e68b4e;--accent-2:#f0a268;--accent-soft:#3a2718;--green:#8fa77a;--green-soft:#232c1b;--blue:#6fa0be;--blue-soft:#1b2630;--violet:#9c84be;--violet-soft:#261e33;--amber:#d9b057;--red:#e68b4e;--slate:#96a3ac;--strip-bg:#0e0c08;--strip-fg:#efe9d6;--strip-muted:#6f6952;--bom-head-bg:#0e0c08;--bom-head-fg:#efe9d6;--fpga-bg:#0e0c08;--fpga-inner:#16140f;--fpga-border:#2c281d;--code-bg:#0e0c08;--code-fg:#efe9d6;--code-muted:#6f6952;--code-accent:#f0a268}body[data-container=doc]{--maxw:960px;--pad:56px}body[data-container=index]{--maxw:1080px;--pad:56px}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;transition:background .2s,color .2s}body{min-height:100vh}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--ink)}.container{max-width:var(--maxw);padding:0 var(--pad);margin:0 auto}@media (width<=760px){.container{padding:0 24px}}main[data-astro-cid-z4jru4n3]{margin-left:var(--rail);min-height:100vh}@media (width<=760px){main[data-astro-cid-z4jru4n3]{margin-left:0;padding-top:52px}}
