@layer kit{:root{color-scheme:light;--h-page:#f6f4ee;--h-ground:#fcfbf8;--h-ink:#1b1a17;--h-ink-body:#4a463e;--h-ink-muted:#6b6559;--h-ink-faint:#a29b8c;--h-line:#d9d4c7;--h-line-soft:#e6e2d8;--h-spot:var(--h-ink);--h-spot-ink:var(--h-ink);--h-accent:var(--h-spot);--h-accent-ink:var(--h-spot-ink);--h-accent-hover:color-mix(in oklab, var(--h-spot) 86%, #000);--h-accent-deep:color-mix(in oklab, var(--h-spot) 80%, #000);--h-ink-on-accent:#fff;--h-mag-yellow:#f2d22e;--h-mag-red:#ff4b4b;--h-shell:#1b1a1709;--h-wash:#1b1a170d;--h-wash-2:#1b1a1714;--h-highlight:#ffffffe6;--h-mark:color-mix(in srgb, var(--h-spot-ink) 12%, transparent);--h-syn-str:#006962;--h-syn-num:#7a5700;--h-code-bg:#242019;--h-code-ink:#efe7d6;--h-surface-light:var(--h-page);--h-inset:clamp(1rem, 4vw, 2.25rem);--h-plate-frame:#3a2c1f;--h-plate-cell:#fdfcf7;--h-plate-ink:#3a2c1f;--h-plate-shadow:var(--h-lift-1);--h-screen-glass:#0b0a09;--h-screen-bezel:#151311;--h-screen-rim:#efe7d624;--h-screen-glow:#cdcdcd14;--h-project-code:#a93800;--h-project-emu:#0066af;--h-project-asm:#007742;--h-project-cat:#8000e0;--h-project-build:#865900;--h-project-debug:#b9003c;--h-project-isa:#00717b;--h-project-forge:#a4009e;--h-project-play:#5b6c00;--h-project-format:#007465;--h-project-studio:#482aff;--h-font-ui:"Nebula Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--h-font-read:var(--h-font-ui);--h-font-mag:"Fira Sans Condensed", "Nebula Sans", sans-serif;--h-font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--h-text-display:4rem;--h-lh-display:calc(68 / 64);--h-tr-display:-.025em;--h-text-h1:3rem;--h-lh-h1:calc(56 / 48);--h-tr-h1:-.02em;--h-text-h2:2.5rem;--h-lh-h2:calc(48 / 40);--h-tr-h2:-.02em;--h-text-h3:2rem;--h-lh-h3:calc(40 / 32);--h-tr-h3:-.015em;--h-text-h4:1.5rem;--h-lh-h4:calc(32 / 24);--h-tr-h4:-.01em;--h-text-lead:1.5rem;--h-lh-lead:calc(36 / 24);--h-text-body:1.25rem;--h-lh-body:calc(32 / 20);--h-text-small:1rem;--h-lh-small:calc(24 / 16);--h-text-micro:.875rem;--h-lh-micro:calc(20 / 14);--h-tr-micro:.01em;--h-weight-major:700;--h-weight-minor:600;--h-space-1:.25rem;--h-space-2:.5rem;--h-space-3:.75rem;--h-space-4:1rem;--h-space-6:1.5rem;--h-space-8:2rem;--h-space-12:3rem;--h-space-16:4rem;--h-space-24:6rem;--h-cell:.5rem;--h-measure:65ch;--h-lift-1:0 1px 2px #1b1a172e, 0 3px 8px #1b1a1717;--h-lift-2:0 2px 4px #1b1a1733, 0 8px 24px #1b1a171f;--h-rise:.12s;--h-decay:.42s;--h-ease:cubic-bezier(.2, 0, .1, 1)}:root[data-project=code]{--h-spot:var(--h-project-code);--h-spot-ink:var(--h-project-code)}:root[data-project=emu]{--h-spot:var(--h-project-emu);--h-spot-ink:var(--h-project-emu)}:root[data-project=asm]{--h-spot:var(--h-project-asm);--h-spot-ink:var(--h-project-asm)}:root[data-project=cat]{--h-spot:var(--h-project-cat);--h-spot-ink:var(--h-project-cat)}:root[data-project=build]{--h-spot:var(--h-project-build);--h-spot-ink:var(--h-project-build)}:root[data-project=debug]{--h-spot:var(--h-project-debug);--h-spot-ink:var(--h-project-debug)}:root[data-project=isa]{--h-spot:var(--h-project-isa);--h-spot-ink:var(--h-project-isa)}:root[data-project=forge]{--h-spot:var(--h-project-forge);--h-spot-ink:var(--h-project-forge)}:root[data-project=play]{--h-spot:var(--h-project-play);--h-spot-ink:var(--h-project-play)}:root[data-project=format]{--h-spot:var(--h-project-format);--h-spot-ink:var(--h-project-format)}:root[data-project=studio]{--h-spot:var(--h-project-studio);--h-spot-ink:var(--h-project-studio)}@media (prefers-reduced-motion:reduce){:root{--h-rise:0s;--h-decay:0s}}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-greek.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nebula-sans-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nebula-sans-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nebula-sans-600-greek.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nebula-sans-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nebula-sans-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nebula-sans-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nebula-sans-700-greek.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Nebula Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nebula-sans-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nebula Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nebula Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nebula Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-italic-greek.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Nebula Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/nebula-sans-400-italic-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Sans Condensed;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/fira-sans-condensed-900-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans Condensed;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/fira-sans-condensed-900-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans Condensed;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/fira-sans-condensed-900-italic-greek.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:Fira Sans Condensed;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/fira-sans-condensed-900-italic-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-greek.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-greek.woff2)format("woff2");unicode-range:U+370-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}}@layer composition{@property --stack-space{syntax:"*";inherits:false}@property --box-padding{syntax:"*";inherits:false}@property --box-border{syntax:"*";inherits:false}@property --center-max{syntax:"*";inherits:false}@property --center-gutters{syntax:"*";inherits:false}@property --cluster-space{syntax:"*";inherits:false}@property --cluster-justify{syntax:"*";inherits:false}@property --cluster-align{syntax:"*";inherits:false}@property --sidebar-space{syntax:"*";inherits:false}@property --switcher-space{syntax:"*";inherits:false}@property --grid-space{syntax:"*";inherits:false}@property --grid-row-space{syntax:"*";inherits:false}@property --grid-min{syntax:"*";inherits:false}@property --grid-max-columns{syntax:"*";inherits:false}@property --cover-min{syntax:"*";inherits:false}@property --cover-padding{syntax:"*";inherits:false}@property --cover-space{syntax:"*";inherits:false}@property --reel-space{syntax:"*";inherits:false}@property --frame-ratio{syntax:"*";inherits:false}.l-stack{justify-content:flex-start;gap:var(--stack-space,var(--h-space-4));flex-direction:column;display:flex}.l-stack>*{margin-block:0}.l-box{padding:var(--box-padding,var(--h-space-4));border:var(--box-border,0 solid)}.l-center{box-sizing:border-box;max-inline-size:var(--center-max,var(--h-measure));padding-inline:var(--center-gutters,0);margin-inline:auto}.l-center[data-intrinsic]{flex-direction:column;align-items:center;display:flex}.l-cluster{gap:var(--cluster-space,var(--h-space-4));justify-content:var(--cluster-justify,flex-start);align-items:var(--cluster-align,center);flex-wrap:wrap;display:flex}.l-with-sidebar{gap:var(--sidebar-space,var(--h-space-4));flex-wrap:wrap;display:flex}.l-with-sidebar[data-no-stretch]{align-items:flex-start}.l-with-sidebar[data-side=left]>:first-child,.l-with-sidebar[data-side=right]>:last-child{flex-grow:1;flex-basis:var(--sidebar-width)}.l-with-sidebar[data-side=left]>:last-child,.l-with-sidebar[data-side=right]>:first-child{min-inline-size:var(--sidebar-content-min);flex-grow:999;flex-basis:0}.l-switcher{gap:var(--switcher-space,var(--h-space-4));flex-wrap:wrap;display:flex}.l-switcher>*{flex-grow:1;flex-basis:calc((var(--switcher-threshold) - 100%) * 999)}.l-switcher[data-limit="2"]>:nth-last-child(n+3),.l-switcher[data-limit="2"]>:nth-last-child(n+3)~*,.l-switcher[data-limit="3"]>:nth-last-child(n+4),.l-switcher[data-limit="3"]>:nth-last-child(n+4)~*,.l-switcher[data-limit="4"]>:nth-last-child(n+5),.l-switcher[data-limit="4"]>:nth-last-child(n+5)~*{flex-basis:100%}.l-grid{column-gap:var(--grid-space,var(--h-space-4));row-gap:var(--grid-row-space,var(--grid-space,var(--h-space-4)));grid-template-columns:repeat(auto-fill, minmax(min(var(--grid-min,16rem), 100%), 1fr));display:grid}.l-grid[data-max-columns]{grid-template-columns:repeat(auto-fill, minmax(max(min(var(--grid-min,16rem), 100%), (100% - (var(--grid-max-columns) - 1) * var(--grid-space,var(--h-space-4))) / var(--grid-max-columns)), 1fr))}.l-cover{min-block-size:var(--cover-min,100vh);padding:var(--cover-padding,var(--h-space-4));gap:var(--cover-space,var(--h-space-4));flex-direction:column;display:flex}.l-cover>*{margin-block:0}.l-cover>[data-cover-centre]{margin-block:auto}.l-reel{gap:var(--reel-space,var(--h-space-4));scrollbar-color:var(--h-line) transparent;display:flex;overflow:auto hidden}.l-reel>*{flex:0 0 var(--reel-item-width)}.l-reel>img{flex-basis:auto;block-size:100%;inline-size:auto}.l-frame{aspect-ratio:var(--frame-ratio,16 / 9);justify-content:center;align-items:center;display:flex;overflow:hidden}.l-frame>:is(img,video,svg){object-fit:cover;block-size:100%;inline-size:100%}}@layer blocks{.label{font-family:var(--h-font-ui);font-size:var(--h-text-micro);line-height:var(--h-lh-micro);font-weight:var(--h-weight-minor);letter-spacing:normal}.ink-card{border:3px solid var(--h-ink);background:var(--h-ground);transition:border-color var(--h-decay) var(--h-ease);text-decoration:none}a.ink-card:hover,a.ink-card:focus-visible{border-color:var(--card-accent,var(--h-ink));transition-duration:var(--h-rise)}a.ink-card:focus-visible{outline:2px solid var(--card-accent,var(--h-ink));outline-offset:3px}.pill{align-items:center;gap:var(--h-space-2);white-space:nowrap;border:2px solid;padding:2px 8px;display:inline-flex}.page-title{font:700 var(--display-size)/1.05 var(--h-font-ui);letter-spacing:-.035em;color:var(--h-ink);padding:0}.heading-h2{font:700 var(--heading-h2-size)/var(--h-lh-h2) var(--h-font-ui);letter-spacing:var(--h-tr-h2);color:var(--h-ink);text-wrap:balance}.heading-h3{font:700 var(--heading-h3-size)/var(--h-lh-h3) var(--h-font-ui);letter-spacing:var(--h-tr-h3);color:var(--h-ink);text-wrap:balance}.control{box-sizing:border-box;border:1px solid var(--h-line);background:var(--h-ground);min-height:48px;color:var(--h-ink);font-family:var(--h-font-ui);font-size:var(--h-text-small);font-weight:400;line-height:var(--h-lh-small);border-radius:0;padding:8px 16px}:is(button,select).control{cursor:pointer}.wordmark[data-astro-cid-qisgtjgl]{flex:none;display:block}.wordmark[data-astro-cid-qisgtjgl] img[data-astro-cid-qisgtjgl]{width:338px;max-width:100%;height:auto;display:block}@media (width<=600px){.wordmark[data-astro-cid-qisgtjgl] img[data-astro-cid-qisgtjgl]{width:240px}}}@layer base{:root{--site-frame-width:1264px;--page-gutter:clamp(16px, 2vw, 32px);--reading-width:65ch;--article-width:840px;--display-size:clamp(42px, 5.5vw, 78px);--heading-h2-size:clamp(var(--h-text-h3), var(--h-text-h3) + (100vw - 20rem) * .0102564, var(--h-text-h2));--heading-h3-size:clamp(var(--h-text-h4), var(--h-text-h4) + (100vw - 20rem) * .0102564, var(--h-text-h3));--heading-h4-size:clamp(var(--h-text-body), var(--h-text-body) + (100vw - 20rem) * .0051282, var(--h-text-h4));--vault-machine-ink:#305c8c;--vault-machine-paper:#d9e5f1;--vault-craft-ink:#705200;--vault-craft-paper:#f3d52e;--vault-play-ink:#306749;--vault-play-paper:#dbe9d6;--vault-people-ink:#a34436;--vault-people-paper:#f0dacf;--vault-culture-ink:#70517f;--vault-culture-paper:#e7dded;--editor-border:#657584;--editor-bg:#0d1117;--editor-ink:#e6edf3;--editor-selection:#264f78;--lesson-reveal-fill:#e0744a;--lesson-reveal-hover:#e8835c;--lesson-reveal-ink:#1a0d07;--lesson-machine-width:440px}}@layer kit-components{.h-family[data-astro-cid-34ap2c4q]{padding:.9rem var(--h-inset);border-top:1px solid var(--h-line);font-family:var(--h-font-ui);color:var(--h-ink-muted);margin:0;font-size:.78rem}.h-family[data-astro-cid-34ap2c4q] a[data-astro-cid-34ap2c4q]{color:var(--h-accent-ink);text-underline-offset:.18em;text-decoration:none}.h-family[data-astro-cid-34ap2c4q] a[data-astro-cid-34ap2c4q]:hover{text-decoration:underline}.h-family[data-astro-cid-34ap2c4q] a[data-astro-cid-34ap2c4q]:focus-visible{outline:2px solid var(--h-accent);outline-offset:3px}}
