@font-face{font-family:Anybody;font-style:normal;font-weight:500 900;font-stretch:50% 150%;font-display:swap;src:url(/fonts/anybody-var.woff2)format("woff2")}@font-face{font-family:Rubik;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/rubik-var.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-600.woff2)format("woff2")}:root{--color-mat:#1d5242;--color-panel:#173f33;--color-panel-deep:#10302a;--nav-fill:color-mix(in srgb, var(--color-panel) 85%, transparent);--color-ink:#f4f2e7;--color-ink-2:#cfddd4;--color-ink-3:#a9c3b6;--color-rule:#3c7a63;--color-accent:#f7c948;--color-accent-ink:#1b1b14;--color-warn:#ffa24d;--color-chip-ink:#10231c;--lane-pi:#7ad5f8;--lane-microcontroller:#d7f27a;--lane-lego:#ffb38a;--lane-software:#bda4ff;--lane-3d-print:#ff8cc6;--color-status-done:var(--color-accent);--color-status-in-progress:var(--color-warn);--color-status-planned:var(--color-ink-3);--color-code-base:#e6ece8;--color-code-keyword:#bda4ff;--color-code-fn:#ffa24d;--color-code-const:#7ad5f8;--color-code-num:#d7f27a;--color-code-comment:#8fb5a3;--hairline-hard:1px solid var(--color-ink);--hairline-cell:1px solid var(--color-rule);--hairline-dashed:1px dashed var(--color-rule);--hairline-plate:1px solid var(--color-rule);--hairline-plate-hover:1px solid var(--color-ink-3);--border-plate-active:1.5px solid var(--color-accent);--border-table:1.5px solid var(--color-ink);--border-button:1px solid var(--color-ink);--border-tab:2px solid var(--color-ink);--border-lesson:3px solid var(--color-accent);--border-callout:1.5px solid var(--color-accent);--border-node-emphasis:1.5px solid var(--color-ink);--tint-power:#ffa24d1f;--tint-data:#7ad5f81f;--leader-power-h:repeating-linear-gradient(90deg, var(--color-warn) 0 4px, transparent 4px 8px);--leader-data-h:repeating-linear-gradient(90deg, var(--lane-pi) 0 4px, transparent 4px 8px);--grid-mat:linear-gradient(#f4f2e729 1px, transparent 1px), linear-gradient(90deg, #f4f2e729 1px, transparent 1px), linear-gradient(#f4f2e712 1px, transparent 1px), linear-gradient(90deg, #f4f2e712 1px, transparent 1px);--grid-mat-size:100px 100px, 100px 100px, 20px 20px, 20px 20px;--ruler-size:26px;--ruler-ticks-x:linear-gradient(90deg, var(--color-ink-2) 1px, transparent 1px), linear-gradient(90deg, var(--color-ink-2) 1px, transparent 1px), linear-gradient(90deg, var(--color-ink-3) 1px, transparent 1px);--ruler-ticks-x-size:100px 14px, 50px 9px, 10px 5px;--ruler-ticks-y:linear-gradient(var(--color-ink-2) 1px, transparent 1px), linear-gradient(var(--color-ink-2) 1px, transparent 1px), linear-gradient(var(--color-ink-3) 1px, transparent 1px);--ruler-ticks-y-size:14px 100px, 9px 50px, 5px 10px;--stripes-thumb:repeating-linear-gradient(45deg, #1f5646 0 8px, #256050 8px 16px);--radius:3px;--radius-chip:1px;--tilt-tape:-1deg;--tilt-chip:-.8deg;--tilt-chip-alt:.7deg;--font-display:"Anybody", "Rubik", "Arial Narrow", sans-serif;--font-body:"Rubik", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace;--weight-display:850;--weight-chip:750;--stretch-display:135%;--stretch-tape:130%;--stretch-rail-title:80%;--stretch-chip:120%;--tracking-title:-.01em;--tracking-label:.06em;--tracking-chip:.03em;--sheet-width:1180px;--rail-width:320px;--rail-width-narrow:280px;--rail-padding:22px 20px;--rail-block-gap:24px;--page-padding:36px 30px 56px;--block-gap:36px;--page-gutter-mobile:16px;--tap-target-min:44px;--ease-reveal:cubic-bezier(.2, .6, .2, 1);--duration-reveal:.24s;--duration-crossfade:.18s;--duration-hover:.12s}.lane-pi{--lane:var(--lane-pi)}.lane-microcontroller{--lane:var(--lane-microcontroller)}.lane-lego{--lane:var(--lane-lego)}.lane-software{--lane:var(--lane-software)}.lane-3d-print{--lane:var(--lane-3d-print)}.rulers[data-astro-cid-y33ew4cz]>div[data-astro-cid-y33ew4cz]{z-index:1;box-sizing:border-box;background-color:var(--color-mat);color:var(--color-ink-2);font-size:10px;line-height:1;position:absolute;overflow:clip}.corner[data-astro-cid-y33ew4cz]{width:var(--ruler-size);height:var(--ruler-size);border-right:var(--hairline-hard);border-bottom:var(--hairline-hard);top:0;left:0}.top[data-astro-cid-y33ew4cz]{top:0;left:var(--ruler-size);height:var(--ruler-size);border-bottom:var(--hairline-hard);background-image:var(--ruler-ticks-x);background-size:var(--ruler-ticks-x-size);background-position:0 100%;background-repeat:repeat-x;display:flex;right:0}.left[data-astro-cid-y33ew4cz]{top:var(--ruler-size);width:var(--ruler-size);border-right:var(--hairline-hard);background-image:var(--ruler-ticks-y);background-size:var(--ruler-ticks-y-size);background-position:100% 0;background-repeat:repeat-y;flex-direction:column;display:flex;bottom:0;left:0}.top[data-astro-cid-y33ew4cz] span[data-astro-cid-y33ew4cz]{flex:0 0 100px;padding:2px 0 0 3px}.left[data-astro-cid-y33ew4cz] span[data-astro-cid-y33ew4cz]{flex:0 0 100px;padding:3px 0 0 3px}@media (width<=899px){.rulers[data-astro-cid-y33ew4cz]{display:none}}.bar[data-astro-cid-rutobish]{border-bottom:var(--hairline-cell);background:var(--nav-fill);align-items:center;gap:36px;padding:16px 30px;display:flex}.wordmark[data-astro-cid-rutobish]{font-family:var(--font-display);font-size:22px;font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-title);color:var(--color-ink);line-height:1;text-decoration:none}.tabs[data-astro-cid-rutobish]{gap:28px;display:flex}.tab[data-astro-cid-rutobish]{color:var(--color-ink-2);transition:color var(--duration-hover) ease-out;border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}.tab[data-astro-cid-rutobish]:hover,.tab[data-astro-cid-rutobish]:focus-visible{color:var(--color-ink)}.tab[data-astro-cid-rutobish][aria-current=page]{border-bottom:var(--border-tab);color:var(--color-ink)}@media (width<=899px){.bar[data-astro-cid-rutobish]{padding:0 var(--page-gutter-mobile);gap:20px}.wordmark[data-astro-cid-rutobish]{font-size:18px}.tabs[data-astro-cid-rutobish]{gap:18px}.tab[data-astro-cid-rutobish]{min-height:var(--tap-target-min);align-items:center;padding-bottom:0;display:inline-flex}}body{box-sizing:border-box;min-height:100vh;padding:var(--ruler-size) 0 0 var(--ruler-size);background-color:var(--color-mat);background-image:var(--grid-mat);background-size:var(--grid-mat-size);background-position:var(--ruler-size) var(--ruler-size);color:var(--color-ink);font-family:var(--font-body);font-variant-numeric:tabular-nums;margin:0;font-size:15px;line-height:1.5;position:relative}@media (width<=899px){body{background-position:0 0;padding:0}}.page[data-astro-cid-q2ygfhwj]{gap:var(--block-gap);max-width:var(--sheet-width);padding:var(--page-padding);grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid}@media (width<=899px){.page[data-astro-cid-q2ygfhwj]{padding:22px var(--page-gutter-mobile) 40px;gap:22px}}.tape[data-astro-cid-33utbry7]{border-radius:var(--radius-chip);background:var(--color-accent);font-family:var(--font-display);font-size:19px;font-weight:var(--weight-display);font-stretch:var(--stretch-tape);letter-spacing:var(--tracking-title);color:var(--color-accent-ink);transform:rotate(var(--tilt-tape));place-self:flex-start start;margin:0;padding:8px 14px 7px;line-height:1}
