:root{--ink:#201e19;--ink-strong:#171510;--ink-soft:#625e54;--paper:#f7f3e8;--paper-deep:#eee7d8;--night:#15130f;--night-soft:#211e18;--rust:#d85f2a;--rust-dark:#a83d17;--accent-2:#276c67;--accent-3:#7a4f00;--accent-4:#8f3c63;--mint:#92c9a5;--success:#347a4b;--success-soft:#347a4b24;--warning:#956000;--warning-soft:#95600024;--danger:#a43c35;--danger-soft:#a43c351f;--line:#201e1924;--grid-line:#4b423209;--link:#8f3415;--link-hover:#6f260e;--link-decoration:#8f341561;--accent-tint:#d85f2a24;--header-text:#f7f3e8;--header-border:#ffffff14;--sidebar-text:#f7f3e8;--sidebar-muted:#f7f3e8b8;--sidebar-faint:#f7f3e89c;--sidebar-hover:#fff8eb;--search-border:#ffffff1f;--search-surface:#ffffff0e;--surface:#fffcf4c2;--surface-alt:#ece4d3c7;--surface-soft:#ffffff57;--image-frame:#fffaf0;--code-bg:#1a1814;--code-text:#f8f1e3;--code-border:#ffffff1a;--code-shadow:0 16px 36px #1d170f29;--code-control-bg:#302b23;--code-control-text:#fffaf0;--code-control-border:#ffffff42;--syntax-comment:#bdb19d;--syntax-keyword:#ff9d7a;--syntax-type:#ffd477;--syntax-string:#b9df8a;--syntax-escape:#79e2d0;--syntax-function:#8ecdf4;--syntax-identifier:#eee8dc;--syntax-variable:#a9d7ff;--syntax-enum-variant:#ff96bd;--syntax-number:#d9afff;--syntax-safety:#ff9a9a;--syntax-added:#a7e6b8;--syntax-added-bg:#3d8b522e;--syntax-removed:#ffb0ac;--syntax-removed-bg:#a92f2f33;--syntax-error:#fff;--syntax-error-bg:#a92f2f;--inline-code:#9f3713;--inline-code-bg:#d85f2a14;--inline-code-border:#a83d1729;--diagram-node-bg:#fffaf0;--diagram-node-text:#201e19;--diagram-node-border:#a83d17;--diagram-edge:#625e54;--diagram-label-bg:#f7f3e8;--diagram-cluster-bg:#eee7d8;--inverse-text:#f7f3e8;--shadow:0 18px 50px #1f18101f;--reader-panel:color-mix(in srgb, var(--paper) 60%, #fff);--reader-panel-raised:color-mix(in srgb, var(--paper) 35%, #fff);--reader-line:color-mix(in srgb, var(--ink) 14%, var(--paper));--display:"Space Grotesk", system-ui, sans-serif;--body:"Lexend", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}:root[data-theme=dark]{--reader-panel:color-mix(in srgb, var(--paper) 96%, var(--ink));--reader-panel-raised:color-mix(in srgb, var(--paper) 93%, var(--ink))}:root[data-academy-theme=contrast]{--reader-panel:var(--paper);--reader-panel-raised:var(--paper);--reader-line:color-mix(in srgb, var(--ink) 42%, var(--paper))}:root[data-academy-theme=paper][data-theme=light]{--ink:#252a31;--ink-strong:#11151a;--ink-soft:#59636f;--paper:#f7f9fc;--paper-deep:#e8edf3;--night:#151b23;--night-soft:#222b37;--rust:#db5b32;--rust-dark:#9f3d20;--accent-2:#176b72;--accent-3:#805900;--accent-4:#8c3f6c;--mint:#8bc5aa;--success:#287447;--success-soft:#28744721;--warning:#845c00;--warning-soft:#845c0021;--danger:#a23c36;--danger-soft:#a23c361f;--line:#11151a29;--grid-line:#22344809;--link:#8f3216;--link-hover:#69220c;--link-decoration:#8f321666;--accent-tint:#db5b321f;--header-text:#f8fafc;--sidebar-text:#f8fafc;--sidebar-muted:#f8fafcc2;--sidebar-faint:#f8fafca6;--sidebar-hover:#fff;--surface:#ffffffdb;--surface-alt:#e5ebf2e6;--surface-soft:#ffffff7a;--image-frame:#fff;--code-bg:#15191f;--inline-code:#943616;--inline-code-bg:#db5b3214;--inline-code-border:#9f3d202b;--diagram-node-bg:#fff;--diagram-node-text:#11151a;--diagram-node-border:#9f3d20;--diagram-edge:#59636f;--diagram-label-bg:#f7f9fc;--diagram-cluster-bg:#e8edf3;--inverse-text:#f8fafc;--shadow:0 18px 50px #1826361f}:root[data-academy-theme=paper][data-theme=dark]{--ink:#e6eaf0;--ink-strong:#fff;--ink-soft:#b1bac6;--paper:#0f1216;--paper-deep:#171b21;--night:#080a0d;--night-soft:#1d232b;--rust:#ff8c61;--rust-dark:#ffad8d;--accent-2:#65d1c4;--accent-3:#f0c76a;--accent-4:#ed8eb5;--mint:#8ed9b1;--success:#78d69d;--success-soft:#78d69d26;--warning:#f0c76a;--warning-soft:#f0c76a26;--danger:#ff8e92;--danger-soft:#ff8e9224;--line:#e6eaf02b;--grid-line:#ff8c610a;--link:#ffad8d;--link-hover:#ffd4c3;--link-decoration:#ffad8d73;--accent-tint:#ff8c6126;--header-text:#f8fafc;--sidebar-text:#f8fafc;--sidebar-muted:#f8fafcbf;--sidebar-faint:#f8fafca3;--sidebar-hover:#fff;--surface:#1c2128f0;--surface-alt:#161b21f7;--surface-soft:#ffffff0e;--image-frame:#20262e;--code-bg:#080a0d;--inline-code:#ffc1a8;--inline-code-bg:#ff8c611c;--inline-code-border:#ffad8d3b;--diagram-node-bg:#20262e;--diagram-node-text:#fff;--diagram-node-border:#ff8c61;--diagram-edge:#c9d0d8;--diagram-label-bg:#0f1216;--diagram-cluster-bg:#171b21;--inverse-text:#fff;--shadow:0 18px 50px #0000006b}:root[data-academy-theme=purple]{--ink:#f4edf9;--ink-strong:#fffaff;--ink-soft:#cbbdd6;--paper:#171122;--paper-deep:#21162f;--night:#0f0917;--night-soft:#291936;--rust:#c48cff;--rust-dark:#d9b6ff;--accent-2:#68d9c2;--accent-3:#f0c66a;--accent-4:#ff92ad;--mint:#93dfc2;--success:#78d6a0;--success-soft:#78d6a026;--warning:#ffd166;--warning-soft:#ffd16626;--danger:#ff8992;--danger-soft:#ff899224;--line:#f4edf92b;--grid-line:#c48cff0b;--link:#dab9ff;--link-hover:#f3e5ff;--link-decoration:#dab9ff7a;--accent-tint:#c48cff2b;--header-text:#f9f0ff;--sidebar-text:#f9f0ff;--sidebar-muted:#f9f0ffbf;--sidebar-faint:#f9f0ffa8;--sidebar-hover:#fff;--surface:#2b1d3ae6;--surface-alt:#22172ff2;--surface-soft:#ffffff0e;--image-frame:#30203f;--code-bg:#100a17;--inline-code:#e1c5ff;--inline-code-bg:#c48cff1f;--inline-code-border:#dab9ff3d;--diagram-node-bg:#30203f;--diagram-node-text:#fffaff;--diagram-node-border:#c48cff;--diagram-edge:#d9b6ff;--diagram-label-bg:#171122;--diagram-cluster-bg:#21162f;--inverse-text:#fffaff;--shadow:0 18px 50px #04020861}:root[data-academy-theme=midnight]{--ink:#edf6ff;--ink-strong:#fff;--ink-soft:#b5c8d9;--paper:#0d1723;--paper-deep:#132233;--night:#07111d;--night-soft:#14283a;--rust:#53d2c7;--rust-dark:#82e8df;--accent-2:#ffb36b;--accent-3:#c8a8ff;--accent-4:#9fd784;--mint:#a8e6b5;--success:#75d49b;--success-soft:#75d49b24;--warning:#ffbd66;--warning-soft:#ffbd6624;--danger:#ff7d88;--danger-soft:#ff7d8821;--line:#edf6ff29;--grid-line:#53d2c70a;--link:#82e8df;--link-hover:#c1fff9;--link-decoration:#82e8df6b;--accent-tint:#53d2c726;--header-text:#effaff;--sidebar-text:#effaff;--sidebar-muted:#effaffbd;--sidebar-faint:#effaffa3;--sidebar-hover:#fff;--surface:#142738eb;--surface-alt:#0f1e2cf5;--surface-soft:#ffffff0d;--image-frame:#183047;--code-bg:#07101a;--inline-code:#8df0e8;--inline-code-bg:#53d2c71a;--inline-code-border:#82e8df3b;--diagram-node-bg:#183047;--diagram-node-text:#fff;--diagram-node-border:#53d2c7;--diagram-edge:#b5eae5;--diagram-label-bg:#0d1723;--diagram-cluster-bg:#132233;--inverse-text:#fff;--shadow:0 18px 50px #00050c6b}:root[data-academy-theme=forest]{--ink:#17241b;--ink-strong:#0e1911;--ink-soft:#506052;--paper:#eef3e8;--paper-deep:#dfe8d8;--night:#102018;--night-soft:#193024;--rust:#3b8c55;--rust-dark:#23663b;--accent-2:#286881;--accent-3:#8a5000;--accent-4:#8a3d5b;--mint:#8fc49c;--success:#2e7447;--success-soft:#2e744721;--warning:#8f6100;--warning-soft:#8f610021;--danger:#9c3b3b;--danger-soft:#9c3b3b1c;--line:#17241b29;--grid-line:#2957370a;--link:#205f38;--link-hover:#123f24;--link-decoration:#205f3861;--accent-tint:#3b8c5524;--header-text:#f1f7ed;--sidebar-text:#f1f7ed;--sidebar-muted:#f1f7edbd;--sidebar-faint:#f1f7eda3;--sidebar-hover:#fff;--surface:#f7faf2d1;--surface-alt:#dce7d3e0;--surface-soft:#ffffff61;--image-frame:#f7faef;--code-bg:#111c15;--inline-code:#205f38;--inline-code-bg:#3b8c5517;--inline-code-border:#23663b2e;--diagram-node-bg:#f7faef;--diagram-node-text:#17241b;--diagram-node-border:#23663b;--diagram-edge:#506052;--diagram-label-bg:#eef3e8;--diagram-cluster-bg:#dfe8d8;--inverse-text:#f1f7ed;--shadow:0 18px 50px #0e201324}:root[data-academy-theme=contrast]{--ink:#080808;--ink-strong:#000;--ink-soft:#303030;--paper:#fff;--paper-deep:#f0f0f0;--night:#000;--night-soft:#111;--rust:#ffbd00;--rust-dark:#003dcc;--accent-2:#00653b;--accent-3:#704b00;--accent-4:#9a004f;--mint:#59d98e;--success:#006b35;--success-soft:#e6f6ec;--warning:#704b00;--warning-soft:#fff4cc;--danger:#a00000;--danger-soft:#ffeaea;--line:#00000057;--grid-line:#0000000b;--link:#003dcc;--link-hover:#00246f;--link-decoration:#003dcc8c;--accent-tint:#ffbd0038;--header-text:#fff;--sidebar-text:#fff;--sidebar-muted:#ffffffd1;--sidebar-faint:#ffffffc2;--sidebar-hover:#ffdf66;--surface:#fff;--surface-alt:#eee;--surface-soft:#fff;--image-frame:#fff;--code-bg:#000;--inline-code:#002f9e;--inline-code-bg:#eef3ff;--inline-code-border:#003dcc;--diagram-node-bg:#fff;--diagram-node-text:#000;--diagram-node-border:#003dcc;--diagram-edge:#000;--diagram-label-bg:#fff;--diagram-cluster-bg:#eee;--inverse-text:#fff;--shadow:0 0 0 2px #000}:root[data-academy-theme=purple][data-theme=light]{--ink:#302438;--ink-strong:#1d1424;--ink-soft:#695d72;--paper:#f7f1fb;--paper-deep:#eadcf2;--night:#24112f;--night-soft:#351943;--rust:#8d4bc1;--rust-dark:#65308f;--accent-2:#17746b;--accent-3:#805600;--accent-4:#a33f68;--success:#267146;--success-soft:#26714621;--warning:#805600;--warning-soft:#80560021;--danger:#a53e49;--danger-soft:#a53e491f;--line:#30243829;--grid-line:#8d4bc10a;--link:#65308f;--link-hover:#44205f;--link-decoration:#65308f66;--accent-tint:#8d4bc121;--surface:#ffffffd1;--surface-alt:#ebdef3e6;--surface-soft:#ffffff6e;--image-frame:#fffaff;--code-bg:#170d1f;--inline-code:#65308f;--inline-code-bg:#8d4bc117;--inline-code-border:#65308f30;--diagram-node-bg:#fffaff;--diagram-node-text:#1d1424;--diagram-node-border:#65308f;--diagram-edge:#695d72;--diagram-label-bg:#f7f1fb;--diagram-cluster-bg:#eadcf2;--shadow:0 18px 50px #391f4921}:root[data-academy-theme=midnight][data-theme=light]{--ink:#1d303e;--ink-strong:#10222f;--ink-soft:#566b7a;--paper:#eef6fb;--paper-deep:#dceaf3;--night:#0b2030;--night-soft:#123249;--rust:#087f82;--rust-dark:#056267;--accent-2:#a85113;--accent-3:#6746a4;--accent-4:#4e762e;--success:#28724a;--success-soft:#28724a21;--warning:#865500;--warning-soft:#86550021;--danger:#a33d49;--danger-soft:#a33d491f;--line:#1d303e29;--grid-line:#087f820a;--link:#056267;--link-hover:#034247;--link-decoration:#05626766;--accent-tint:#087f821f;--surface:#ffffffd1;--surface-alt:#daeaf3e6;--surface-soft:#ffffff6e;--image-frame:#f8fcff;--code-bg:#07131d;--inline-code:#056267;--inline-code-bg:#087f8214;--inline-code-border:#0562672e;--diagram-node-bg:#f8fcff;--diagram-node-text:#10222f;--diagram-node-border:#056267;--diagram-edge:#566b7a;--diagram-label-bg:#eef6fb;--diagram-cluster-bg:#dceaf3;--shadow:0 18px 50px #1230431f}:root[data-academy-theme=forest][data-theme=dark]{--ink:#e5f0e6;--ink-strong:#fff;--ink-soft:#b2c5b5;--paper:#0d1710;--paper-deep:#15231a;--night:#071009;--night-soft:#193022;--rust:#75cb8e;--rust-dark:#a4e4b5;--accent-2:#72c9dc;--accent-3:#efbd65;--accent-4:#e68aa9;--success:#7bd69a;--success-soft:#7bd69a26;--warning:#efbd65;--warning-soft:#efbd6526;--danger:#ff9093;--danger-soft:#ff909324;--line:#e5f0e62b;--grid-line:#75cb8e0a;--link:#a4e4b5;--link-hover:#d5f5dd;--link-decoration:#a4e4b573;--accent-tint:#75cb8e26;--surface:#192a1ef0;--surface-alt:#132218f7;--surface-soft:#ffffff0e;--image-frame:#203b28;--code-bg:#071009;--inline-code:#b8ebc6;--inline-code-bg:#75cb8e1c;--inline-code-border:#a4e4b53b;--diagram-node-bg:#203b28;--diagram-node-text:#fff;--diagram-node-border:#75cb8e;--diagram-edge:#c7ddcc;--diagram-label-bg:#0d1710;--diagram-cluster-bg:#15231a;--shadow:0 18px 50px #0000006b}:root[data-academy-theme=contrast][data-theme=dark]{--ink:#fff;--ink-strong:#fff;--ink-soft:#dedede;--paper:#000;--paper-deep:#101010;--night:#000;--night-soft:#151515;--rust:#ffd200;--rust-dark:#ffe36b;--accent-2:#62f4a5;--accent-3:#9fc5ff;--accent-4:#ff91c6;--success:#62f4a5;--success-soft:#092818;--warning:#ffd200;--warning-soft:#292100;--danger:#ff8c8c;--danger-soft:#300909;--line:#ffffff7a;--grid-line:#ffffff13;--link:#9fc5ff;--link-hover:#fff;--link-decoration:#9fc5ffbf;--accent-tint:#ffd2002e;--surface:#090909;--surface-alt:#161616;--surface-soft:#101010;--image-frame:#000;--code-bg:#000;--inline-code:#ffe36b;--inline-code-bg:#211c00;--inline-code-border:#ffd200;--diagram-node-bg:#000;--diagram-node-text:#fff;--diagram-node-border:#ffd200;--diagram-edge:#fff;--diagram-label-bg:#000;--diagram-cluster-bg:#151515;--inverse-text:#000;--shadow:0 0 0 2px #fff}:root[data-academy-background=warm][data-theme=light]{--paper:#fbf4e7;--paper-deep:#efe2cd;--surface:#fffbf2e6;--surface-alt:#efe2cde6;--diagram-label-bg:#fbf4e7;--diagram-cluster-bg:#efe2cd}:root[data-academy-background=warm][data-theme=dark]{--paper:#17110c;--paper-deep:#241a12;--surface:#271d14f0;--surface-alt:#1f1710f7;--diagram-label-bg:#17110c;--diagram-cluster-bg:#241a12}:root[data-academy-background=cool][data-theme=light]{--paper:#eef7fb;--paper-deep:#daeaf2;--surface:#f8fdffe6;--surface-alt:#daeaf2e6;--diagram-label-bg:#eef7fb;--diagram-cluster-bg:#daeaf2}:root[data-academy-background=cool][data-theme=dark]{--paper:#09141b;--paper-deep:#10232e;--surface:#112530f0;--surface-alt:#0c1d27f7;--diagram-label-bg:#09141b;--diagram-cluster-bg:#10232e}:root[data-academy-background=rose][data-theme=light]{--paper:#fbf1f5;--paper-deep:#f0dce5;--surface:#fffafce6;--surface-alt:#f0dce5e6;--diagram-label-bg:#fbf1f5;--diagram-cluster-bg:#f0dce5}:root[data-academy-background=rose][data-theme=dark]{--paper:#180e14;--paper-deep:#281720;--surface:#2a1823f0;--surface-alt:#22121cf7;--diagram-label-bg:#180e14;--diagram-cluster-bg:#281720}:root[data-academy-background=neutral][data-theme=light]{--paper:#f4f5f6;--paper-deep:#e3e6e9;--surface:#ffffffe6;--surface-alt:#e3e6e9eb;--diagram-label-bg:#f4f5f6;--diagram-cluster-bg:#e3e6e9}:root[data-academy-background=neutral][data-theme=dark]{--paper:#101214;--paper-deep:#1b1e22;--surface:#1d2024f2;--surface-alt:#171a1dfa;--diagram-label-bg:#101214;--diagram-cluster-bg:#1b1e22}@media screen{:root .sl-markdown-content>.sl-heading-wrapper.level-h2,:root[data-academy-heading-style] .sl-markdown-content>.sl-heading-wrapper.level-h2{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}:root .sl-markdown-content>.sl-heading-wrapper.level-h2 h2{font-size:1.3rem;line-height:1.35}:root .sl-markdown-content>.sl-heading-wrapper.level-h2 h2:before{min-width:0;color:var(--chapter-ink);background:0 0;border:0;border-radius:0;padding:0}:root .sl-markdown-content .table-scroll{background:0 0;border:0;border-radius:4px;width:100%;max-width:100%}:root .sl-markdown-content>.table-scroll{margin-block:1.25rem}:root .sl-markdown-content .table-scroll table{table-layout:auto;width:max-content;min-width:0;max-width:100%}:root .sl-markdown-content .table-scroll :is(th,td){overflow-wrap:anywhere;padding:.375rem .5rem;line-height:1.45}:root .sl-markdown-content .table-scroll th{letter-spacing:.035em}:root .sl-markdown-content .table-scroll :is(th,td)>:is(p,ul,ol){margin-block:.25rem}:root .sl-markdown-content .lesson-finish{border:0;border-block-start:1px solid var(--reader-line);box-shadow:none;background:0 0;border-radius:0;margin-block-start:1.5rem;padding:.75rem 0 0}:root .lesson-finish .lesson-finish__title{margin-block:0 .3rem;font-size:1rem}:root .lesson-finish .lesson-finish__text{margin-block:0 .6rem;font-size:.82rem}:root .lesson-finish .lesson-finish__actions{gap:.4rem;margin-block-end:.65rem}:root .content-panel nav.pagination-links{gap:1rem;margin-block-start:.5rem}:root .content-panel nav.pagination-links a{min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:0;gap:.6rem;padding:.35rem 0;font-size:.75rem;line-height:1.4;transform:none}:root .content-panel nav.pagination-links a .link-title{font-size:1rem;line-height:1.4}:root .content-panel nav.pagination-links a>svg{width:18px;height:18px}:root .content-panel nav.pagination-links a:hover .link-title,:root .content-panel nav.pagination-links a:focus-visible .link-title{text-underline-offset:.2em;text-decoration:underline}}@media screen and (width<=48rem){:root .sl-markdown-content .table-scroll table{max-width:none}}img.diagram-on-dark,p.diagram-on-dark{background:#11151a;border-color:#11151a;padding:clamp(14px,3vw,28px)}p.diagram-on-dark{max-width:100%;box-shadow:var(--shadow);border:8px solid #11151a;border-radius:8px;margin:2em auto}p.diagram-on-dark img{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto}.lesson-header{border-bottom:1px solid var(--line);margin:0 0 64px;padding:30px 0 34px;position:relative}.lesson-header:after{content:"";background:var(--chapter-accent);width:92px;height:3px;position:absolute;bottom:-2px;right:0}.lesson-header h1{letter-spacing:-.06em;max-width:920px;margin:18px 0 14px;font-size:clamp(2.7rem,7vw,5.2rem);line-height:.94}.lesson-header>p{max-width:800px;color:var(--ink-soft);margin:0;font-size:1.16em;line-height:1.55}.lesson-kicker,.lesson-stats{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:9px 18px;font-size:11px;font-weight:500;display:flex}.lesson-kicker__emoji{margin-right:4px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:1.22em;line-height:1;display:inline-block;transform:translateY(1px)}.lesson-kicker span+span:before,.lesson-stats span+span:before{color:var(--chapter-accent);content:"◆";vertical-align:2px;margin-right:18px;font-size:7px}.lesson-stats{color:var(--ink-soft);margin-top:22px}.projection-lab{border:1px solid var(--line);max-width:100%;color:var(--ink);background:linear-gradient(135deg, var(--chapter-tint), transparent 42%), var(--surface);box-shadow:var(--shadow);border-radius:18px;margin:34px 0;padding:clamp(20px,3vw,32px);position:relative;overflow:hidden}.projection-lab__header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.projection-lab__header>div,.projection-lab__header>p{min-width:0}.projection-lab__header>div>span{color:var(--chapter-ink);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.projection-lab__header h3{margin:7px 0 0}.projection-lab__header p{width:min(100%,390px);color:var(--ink-soft);margin:0;font-size:.88em}.projection-lab__controls{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:14px 18px;margin:26px 0;display:grid}.projection-lab__controls label{min-width:0;color:var(--ink-soft);font-family:var(--mono);gap:8px;font-size:12px;display:grid}.projection-lab__controls label>span{justify-content:space-between;gap:10px;display:flex}.projection-lab__controls output{color:var(--ink-strong);font-weight:700}.projection-lab__controls input[type=range]{width:100%;accent-color:var(--chapter-accent);margin:0}.projection-lab__visuals{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.projection-lab__visuals figure{min-width:0;margin:0}.projection-lab__visuals figcaption{color:var(--ink-soft);font-family:var(--mono);margin-bottom:8px;font-size:12px}.projection-lab__visuals svg{border:1px solid var(--line);width:100%;height:auto;color:var(--ink-soft);background:color-mix(in srgb, var(--paper-deep) 72%, transparent);border-radius:12px;display:block}.projection-lab__visuals svg text{fill:var(--ink-soft);font-family:var(--mono);font-size:12px}.projection-lab__axis{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.projection-lab__frustum-edge,.projection-lab__near{fill:none;stroke:var(--chapter-accent);stroke-width:2px;vector-effect:non-scaling-stroke}.projection-lab__camera{fill:var(--ink-strong)}.projection-lab__viewport{fill:var(--surface-soft);stroke:var(--chapter-accent);stroke-width:2px;vector-effect:non-scaling-stroke}.projection-lab__point{fill:var(--success);stroke:var(--surface);stroke-width:3px;vector-effect:non-scaling-stroke}.projection-lab__point.is-outside{fill:var(--danger)}.projection-lab__result{color:var(--ink-soft);font-family:var(--mono);justify-content:space-between;align-items:baseline;gap:16px;margin-top:18px;font-size:12px;display:flex}.projection-lab__result strong{color:var(--ink-strong)}@media (width<=760px){.projection-lab__header,.projection-lab__result{display:grid}.projection-lab__header>p{width:auto}.projection-lab__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.projection-lab__visuals{grid-template-columns:1fr}}@media (width<=430px){.projection-lab__controls{grid-template-columns:1fr}}.academy-hero{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;gap:clamp(40px,7vw,96px);min-height:630px;padding:72px 0 82px;display:grid}.academy-hero__copy h1{letter-spacing:-.07em;max-width:660px;margin:18px 0 24px;font-size:clamp(3.5rem,8.3vw,6.7rem);line-height:.88}.academy-hero__copy h1 em{color:var(--rust);font-style:normal}.academy-hero__copy>p{max-width:600px;color:var(--ink-soft);font-size:1.28em;line-height:1.5}.eyebrow{color:var(--rust-dark);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:500}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.academy-hero__terminal{color:#eee6d6;box-shadow:26px 32px 0 var(--accent-tint), 0 32px 70px #0000003d;background:var(--night);border:1px solid #ffffff17;border-radius:10px;overflow:hidden;transform:rotate(1.2deg)}.academy-hero__terminal pre{min-height:245px;box-shadow:none;background:0 0;border:0;margin:0;padding:35px 28px;font-size:13px}.academy-hero__terminal code{color:#f7f3e8;background:0 0;border:0}.course-grid{border:1px solid var(--line);background:var(--line);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;width:100%;min-width:0;display:grid;overflow:hidden}.course-card{--course-accent:var(--tone);min-width:0;min-height:185px;color:var(--ink);box-shadow:inset 4px 0 0 var(--course-accent);background:var(--paper);padding:24px;text-decoration:none;transition:color .16s,background .16s,transform .16s;display:block;position:relative;overflow:hidden}.course-card:hover{z-index:1;color:var(--sidebar-text);background:var(--night-soft);text-decoration:none;transform:translateY(-2px)}.course-card--rust{color:var(--sidebar-text);box-shadow:inset 4px 0 0 var(--course-accent);background:var(--night-soft);text-decoration:none}.course-card>span{color:var(--course-accent);font-family:var(--mono);font-size:11px}.course-card--rust>span,.course-card:hover>span{color:var(--sidebar-text)}.course-card h3{color:inherit;hyphens:none;overflow-wrap:break-word;word-break:normal;margin:35px 0 7px;font-size:1.4em}.course-card p{max-width:290px;color:var(--ink-soft);opacity:1;overflow-wrap:break-word;word-break:normal;margin:0;font-size:.9em}.course-card--rust p,.course-card:hover p{color:var(--sidebar-muted)}.lab-source{color:var(--ink);border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;margin:2em 0;overflow:hidden}.lab-source>summary{color:var(--ink-strong);border-left:4px solid var(--rust);cursor:pointer;font-family:var(--mono);letter-spacing:.03em;padding:16px 18px;font-size:12px;font-weight:500}.lab-source>summary:hover,.lab-source>summary:focus-visible{color:var(--link-hover);background:var(--accent-tint);outline:0}.lab-source[open]>summary{border-bottom:1px solid var(--line);background:var(--accent-tint)}.lab-source>pre,.lab-source>div>pre{box-shadow:none;border:0;border-radius:0;margin:0}.lab-source-note{color:var(--ink-soft);margin:-.8em 0 1.6em;font-size:.9em}@media (width<=900px){.academy-hero{grid-template-columns:1fr}.academy-hero__terminal{max-width:540px;transform:none}}@media (width<=700px){.lesson-header{margin-bottom:42px}.lesson-header h1{font-size:clamp(2.7rem,15vw,4.6rem)}.academy-hero{min-height:auto;padding-top:44px}.academy-hero__copy h1{font-size:clamp(3.3rem,17vw,5rem)}.course-grid,.community-strip{grid-template-columns:1fr}}@media print{.projection-lab{break-inside:avoid;box-shadow:none!important}.projection-lab__controls{display:none!important}.lesson-header{margin-bottom:10mm;padding-top:0}.lesson-header h1{max-width:none;font-size:34pt}h2,h3,pre,table,figure,img,.academy-quiz,.concept-lab,.ownership-scope{break-inside:avoid}}@media screen{.lesson-header{margin-bottom:clamp(46px,6vw,72px);padding:22px 0 30px}.lesson-header h1{overflow-wrap:anywhere;text-wrap:balance;max-width:1040px;margin-top:14px;font-size:clamp(2.65rem,5.7vw,4.65rem);line-height:.98}.lesson-header>p{max-width:900px;font-size:clamp(1.02rem,1.55vw,1.18rem)}pre,.lab-source,.concept-lab,.academy-quiz,.ownership-scope{box-sizing:border-box;border-radius:12px;width:100%;min-width:0;max-width:100%}.academy-hero,.academy-hero>*,.course-grid,.course-grid>*,.why-rust,.why-rust>*,.community-strip,.community-strip>*{box-sizing:border-box;min-width:0;max-width:100%}.course-card{transition:transform .17s,border-color .17s,box-shadow .17s}.course-card:hover,.course-card:focus-visible{transform:translateY(-3px)}}@media screen and (width<=700px){.lesson-header h1{font-size:clamp(2.45rem,13vw,4rem)}}.academy-glossary{--glossary-rule:color-mix(in srgb, var(--line) 80%, transparent);width:100%;min-width:0}.academy-glossary__hero{border:1px solid var(--line);background:linear-gradient(120deg, color-mix(in srgb, var(--chapter-accent) 5%, var(--reader-panel)), var(--reader-panel));box-shadow:0 8px 24px color-mix(in srgb, var(--night) 8%, transparent);border-radius:22px;padding:clamp(28px,6vw,58px);position:relative;overflow:hidden}.academy-glossary__hero:after{content:"A–Z";color:color-mix(in srgb, var(--rust) 13%, transparent);font-family:var(--display);letter-spacing:-.09em;pointer-events:none;font-size:clamp(74px,17vw,156px);font-weight:850;line-height:1;position:absolute;bottom:-.18em;right:clamp(12px,5vw,52px)}.academy-glossary__hero>*{z-index:1;position:relative}.academy-glossary__hero h1{max-width:760px;color:var(--ink-strong);font-family:var(--display);letter-spacing:-.065em;margin:11px 0 14px;font-size:clamp(48px,9vw,92px);font-weight:850;line-height:.92}.academy-glossary__hero>p{max-width:670px;color:var(--ink-soft);margin:0;font-size:clamp(16px,2.2vw,20px);line-height:1.65}.academy-glossary__legend{flex-wrap:wrap;gap:7px;max-width:700px;margin-top:28px;display:flex}.academy-glossary__legend span{color:var(--ink-soft);border:1px solid var(--line);background:var(--surface-soft);font-family:var(--mono);border-radius:999px;padding:7px 10px;font-size:10px;line-height:1.35}.academy-glossary__legend b{color:var(--rust);margin-right:5px}.glossary-jump{z-index:12;border:1px solid var(--line);background:var(--paper);max-width:100%;box-shadow:0 6px 16px color-mix(in srgb, var(--night) 8%, transparent);border-radius:12px;flex-wrap:wrap;gap:4px;margin:22px 0 18px;padding:10px;display:flex;position:sticky;top:58px}.glossary-jump a{min-width:29px;height:29px;color:var(--ink-soft);font-family:var(--mono);border:1px solid #0000;border-radius:5px;place-items:center;padding:0 7px;font-size:10px;font-weight:800;text-decoration:none;display:grid}.glossary-jump a:hover,.glossary-jump a:focus-visible{color:var(--ink-strong);border-color:var(--rust);background:var(--accent-tint);outline:none}.glossary-reading-tip{color:var(--ink-soft);border-left:3px solid var(--rust-dark);background:color-mix(in srgb, var(--surface) 84%, transparent);border-radius:0 9px 9px 0;padding:15px 18px;margin:0 0 32px!important}.glossary-group{border-top:1px solid var(--glossary-rule);grid-template-columns:78px minmax(0,1fr);gap:clamp(22px,4vw,48px);min-width:0;padding:30px 0 14px;display:grid}.glossary-group__letter{text-align:center;align-self:start;position:sticky;top:126px}.glossary-group__letter h2{width:62px;height:62px;color:var(--inverse-text);background:var(--rust);font-family:var(--display);letter-spacing:-.05em;box-shadow:7px 7px 0 color-mix(in srgb, var(--rust-dark) 35%, transparent);border:0;border-radius:14px;place-items:center;margin:0;padding:0;scroll-margin-top:128px;font-size:27px;font-weight:850;line-height:1;display:grid}.glossary-group__letter h2:after,.glossary-group__letter h2:before{display:none}.glossary-group__letter>a{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:13px;font-size:9px;font-weight:800;text-decoration:none;display:inline-block}.glossary-group__letter>a:hover,.glossary-group__letter>a:focus-visible{color:var(--rust);outline:none}.glossary-list{min-width:0;margin:0;padding:0}.glossary-list dt{color:var(--ink-strong);border-top:1px solid var(--glossary-rule);margin:0;padding:17px 0 5px;scroll-margin-top:128px;font-style:normal;font-weight:800}.glossary-list dt:first-child{border-top:0;padding-top:0}.glossary-list dfn{color:inherit;font-family:var(--display);letter-spacing:-.015em;font-size:1.08em;font-style:normal}.glossary-alias{color:var(--rust);font-family:var(--mono);letter-spacing:.035em;text-transform:uppercase;margin-left:6px;font-size:9px;font-weight:700}.glossary-list dd{color:var(--ink-soft);margin:0;padding:0 0 18px;font-size:.95em;line-height:1.72}.academy-glossary__footer{color:var(--ink);border:1px solid var(--line);background:linear-gradient(120deg, color-mix(in srgb, var(--chapter-accent) 5%, var(--reader-panel)), var(--reader-panel));border-radius:18px;margin-top:34px;padding:clamp(24px,5vw,44px)}.academy-glossary__footer strong{color:var(--ink-strong);font-family:var(--display);font-size:clamp(22px,3vw,30px);line-height:1.2;display:block}.academy-glossary__footer p{max-width:680px;color:var(--ink-soft);margin:12px 0 18px}.academy-glossary__footer>a{color:var(--rust);font-weight:800}@media screen and (width<=700px){.academy-glossary__hero{border-radius:16px}.academy-glossary__hero:after{font-size:86px;right:8px}.academy-glossary__legend{display:grid}.glossary-jump{gap:3px;padding:8px;position:relative;top:auto}.glossary-jump a{min-width:27px;height:27px;padding:0 5px}.glossary-group{padding-top:24px;display:block}.glossary-group__letter{text-align:left;justify-content:space-between;align-items:center;margin-bottom:22px;display:flex;position:static}.glossary-group__letter h2{width:50px;height:50px;font-size:23px}.glossary-group__letter>a{margin-top:0}}@media print{.academy-glossary__hero,.academy-glossary__footer{box-shadow:none}.glossary-jump{box-shadow:none;backdrop-filter:none;position:static}.glossary-group,.glossary-list dt,.glossary-list dd{break-inside:avoid}.glossary-group__letter{position:static}}.lesson-header>p{max-width:var(--measure)}strong .glossary-term-link{color:inherit;font-weight:inherit;border-bottom:1px dotted var(--link-decoration,currentColor);padding-bottom:1px;text-decoration:none;transition:border-color .12s,color .12s}strong .glossary-term-link:hover,strong .glossary-term-link:focus-visible{color:var(--link-hover,var(--link));border-bottom-style:solid;border-bottom-color:currentColor}strong .glossary-term-link:focus-visible{outline:2px solid var(--rust);outline-offset:3px;border-radius:2px}.academy-glossary dt{scroll-margin-top:2rem}.academy-glossary dt.is-glossary-highlight dfn{background:var(--accent-tint);box-shadow:0 0 0 6px var(--accent-tint);border-radius:3px}@media (prefers-reduced-motion:no-preference){.academy-glossary dt.is-glossary-highlight dfn{transition:background .2s,box-shadow .2s}}@media print{strong .glossary-term-link{border-bottom:0}}.mem-figure{-webkit-overflow-scrolling:touch;max-width:100%;margin:1.5rem 0 1.75rem;overflow:auto hidden}.mem-strip{grid-template-columns:repeat(var(--mem-cells), minmax(2.9rem, max-content));align-items:end;gap:.5rem .4rem;padding:.2rem .1rem .35rem;display:inline-grid}.mem-figure:not(.mem-figure--column) .mem-cell{grid-row:1}.mem-cell{flex-direction:column;gap:.25rem;min-width:0;display:flex}.mem-cell__label{min-height:.9rem;color:var(--ink-soft);font-family:var(--mono);text-align:center;white-space:nowrap;font-size:.7rem;line-height:1.25}.mem-cell__value{border:1.5px solid var(--diagram-node-border);background:var(--diagram-node-bg);color:var(--diagram-node-text);font-family:var(--mono);text-align:center;white-space:nowrap;border-radius:6px;padding:.42rem .55rem;font-size:.86rem;font-weight:600;line-height:1.25;display:block}.mem-cell.is-marked .mem-cell__value{border-color:var(--chapter-accent);background:var(--chapter-tint);box-shadow:0 0 0 2px var(--chapter-tint)}.mem-group{border-top:2px solid var(--diagram-edge);color:var(--ink);text-align:center;padding:.5rem .2rem 0;font-size:.78rem;line-height:1.35;position:relative}.mem-group:before,.mem-group:after{content:"";border-left:2px solid var(--diagram-edge);height:.45rem;position:absolute;top:-.45rem}.mem-group:before{left:0}.mem-group:after{right:0}.mem-group--2,.mem-group--4{border-top-style:dashed}.mem-group--span,.mem-figure:not(.mem-figure--column) .mem-group--solo{contain:inline-size}.mem-figure:not(.mem-figure--column) .mem-group--solo>span{white-space:nowrap;width:max-content;min-width:100%;display:block}.mem-figure--dense .mem-strip{grid-template-columns:repeat(var(--mem-cells), minmax(2.4rem, max-content));column-gap:.28rem}.mem-figure--dense .mem-cell__value{padding:.36rem .4rem;font-size:.8rem}.mem-figure--column .mem-strip{grid-template-columns:minmax(0, max-content) repeat(var(--mem-rows), minmax(6rem, 12rem));align-items:stretch;gap:.3rem .9rem}.mem-figure--column .mem-cell{flex-direction:row;grid-column:1;align-items:center;gap:.6rem}.mem-figure--column .mem-cell__label{text-align:right;min-width:5.75rem}.mem-figure--column .mem-cell__value{text-align:left;white-space:normal;flex:1;min-width:8.5rem;max-width:22rem}.mem-figure--column .mem-group{border-top:0;border-left:2px solid var(--diagram-edge);text-align:left;align-items:center;padding:0 0 0 .65rem;display:flex}.mem-figure--column .mem-group--2{border-left-style:dashed}.mem-figure--column .mem-group:before,.mem-figure--column .mem-group:after{border-left:0;border-top:2px solid var(--diagram-edge);width:.45rem;height:0;left:-.45rem}.mem-figure--column .mem-group:before{top:0}.mem-figure--column .mem-group:after{top:auto;bottom:0;right:auto}.mem-figure figcaption{color:var(--ink-soft);margin-top:.55rem;font-size:.86rem;line-height:1.5}@media print{.mem-figure{break-inside:avoid;overflow:visible}}.sl-markdown-content .table-scroll :is(th,td) code{white-space:nowrap}.sl-markdown-content .academy-quiz,.sl-markdown-content .ownership-scope,.sl-markdown-content .concept-lab{max-width:100%;color:var(--ink);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;margin:2.4rem 0;position:relative;overflow:hidden}.sl-markdown-content .academy-quiz:before,.sl-markdown-content .ownership-scope:before,.sl-markdown-content .concept-lab:before{z-index:1;content:"";background:var(--chapter-accent);height:5px;position:absolute;top:0;left:0;right:0}.sl-markdown-content .academy-quiz{--quiz-padding:clamp(22px, 4vw, 36px);width:100%;min-width:0;padding:var(--quiz-padding);isolation:isolate;display:block!important}.academy-quiz__header{grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-width:0;margin-bottom:22px;display:grid!important}.academy-quiz__header>div{grid-area:1/2/span 2;min-width:0}.academy-quiz__number{width:42px;height:42px;color:var(--header-text);border:1px solid var(--chapter-accent);background:var(--night-soft);border-radius:50%;flex:0 0 42px;grid-area:1/1/span 2;place-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:17px;font-weight:700;display:grid}.ownership-scope__eyebrow:before{content:"🦀";letter-spacing:normal;margin-right:5px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif}.concept-lab__eyebrow:before{content:"🧪";letter-spacing:normal;margin-right:5px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif}.academy-quiz__eyebrow,.ownership-scope__eyebrow,.ownership-scope__panel-label{color:var(--chapter-ink);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.sl-markdown-content .academy-quiz__header h3,.sl-markdown-content .ownership-scope__header h3{color:var(--ink-strong);hyphens:none;overflow-wrap:break-word;word-break:normal;margin:0;font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.15}.academy-quiz__saved{color:var(--success);background:var(--success-soft);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:999px;grid-area:2/3;justify-self:end;margin-left:0;padding:5px 9px;font-size:10px;font-weight:700}.academy-quiz__prompt{clear:both;width:100%;min-width:0;color:var(--ink);font-size:1.02em;display:block}.sl-markdown-content .academy-quiz__prompt>:first-child,.sl-markdown-content .academy-quiz__feedback>div>:first-child{margin-top:0}.sl-markdown-content .academy-quiz__prompt>:last-child,.sl-markdown-content .academy-quiz__feedback>div>:last-child{margin-bottom:0}.academy-quiz__options{clear:both;gap:10px;width:100%;min-width:0;margin:20px 0;display:grid}.academy-quiz__options button{width:100%;color:var(--ink);border:1px solid var(--line);background:var(--surface-soft);font:inherit;text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:13px 15px;line-height:1.4;transition:border-color .13s,background-color .13s,transform .13s;display:grid}.academy-quiz__options button:hover:not(:disabled),.academy-quiz__options button:focus-visible{color:var(--ink-strong);border-color:var(--chapter-ink);background:var(--chapter-tint);outline:2px solid #0000;transform:translateY(-1px)}.academy-quiz__options button.is-selected{color:var(--ink-strong);border-color:var(--chapter-ink);box-shadow:inset 4px 0 0 var(--chapter-accent);background:var(--chapter-tint)}.academy-quiz__option-letter{width:27px;height:27px;color:var(--chapter-ink);border:1px solid var(--line);background:var(--surface-alt);font-family:var(--mono);border-radius:7px;place-items:center;font-size:12px;font-weight:700;display:grid}.academy-quiz__options button.is-correct-answer{color:var(--ink-strong);border-color:var(--success);box-shadow:inset 4px 0 0 var(--success);background:var(--success-soft)}.academy-quiz__answer-label{clear:both;width:100%;min-width:0;color:var(--ink-soft);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;gap:7px;margin:20px 0;font-size:12px;font-weight:700;display:grid}.academy-quiz__answer-label input{width:100%;min-height:48px;color:var(--ink-strong);border:1px solid var(--line);background:var(--surface-soft);font-family:var(--body);letter-spacing:normal;text-transform:none;border-radius:9px;outline:none;padding:10px 13px;font-size:17px}.academy-quiz__answer-label input:focus{border-color:var(--chapter-ink);box-shadow:0 0 0 3px var(--chapter-tint)}.sl-markdown-content .academy-quiz__program{max-width:100%;color:var(--code-text);background:var(--code-bg);box-shadow:none;border:0;border-radius:10px;margin:18px 0;padding:18px 20px;overflow:auto}.sl-markdown-content .academy-quiz__program:before,.sl-markdown-content .academy-quiz__program:after{content:none}.sl-markdown-content .academy-quiz__program code{color:inherit;white-space:pre;background:0 0;border:0;padding:0;display:inline}.academy-quiz__actions{clear:both;flex-wrap:wrap;gap:10px;width:100%;min-width:0;margin-top:18px;display:flex}.academy-quiz__check,.academy-quiz__retry,.ownership-scope__control{min-height:42px;color:var(--header-text);border:1px solid var(--chapter-accent);background:var(--night-soft);font-family:var(--mono);letter-spacing:.025em;cursor:pointer;border-radius:8px;padding:9px 15px;font-size:12px;font-weight:700}.academy-quiz__retry{color:var(--ink);border-color:var(--line);background:var(--surface-alt)}.academy-quiz__check:hover,.academy-quiz__check:focus-visible,.academy-quiz__retry:hover,.academy-quiz__retry:focus-visible,.ownership-scope__control:hover:not(:disabled),.ownership-scope__control:focus-visible{outline:2px solid var(--chapter-accent);outline-offset:2px}.academy-quiz__feedback{clear:both;width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);background:var(--surface-alt);border-left-width:5px;border-radius:9px;margin-top:18px;padding:15px 17px}.academy-quiz__feedback>strong{color:var(--ink-strong);margin-bottom:5px;display:block}.academy-quiz.is-correct .academy-quiz__feedback{border-color:var(--success);background:var(--success-soft)}.academy-quiz.is-incorrect .academy-quiz__feedback{border-color:var(--danger);background:var(--danger-soft)}.academy-quiz.is-unanswered .academy-quiz__feedback{border-color:var(--warning);background:var(--warning-soft)}.academy-quiz__question-progress{color:var(--chapter-accent);background:var(--surface-soft);font-family:var(--mono);letter-spacing:.04em;white-space:nowrap;border:1px solid;border-radius:999px;grid-area:1/3;justify-self:end;padding:6px 10px;font-size:10px;font-weight:700}.academy-quiz__extension{margin:30px calc(0px - var(--quiz-padding)) calc(0px - var(--quiz-padding));border-top:1px solid var(--line);background:var(--surface-alt)}.sl-markdown-content .academy-quiz.is-follow-up-active{padding:0}.sl-markdown-content .academy-quiz.is-follow-up-active>:not(.academy-quiz__extension){display:none!important}.sl-markdown-content .academy-quiz.is-follow-up-active>.academy-quiz__extension{border-top:0;margin:0}.academy-quiz__extension-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 18px;padding:clamp(22px,4vw,32px);display:flex}.academy-quiz__extension-eyebrow{color:var(--chapter-ink);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.sl-markdown-content .academy-quiz__extension-title h4{color:var(--ink-strong);margin:0;font-size:1.24rem}.academy-quiz__extension-body,.academy-quiz__extension-summary{padding:clamp(22px,4vw,32px)}.sl-markdown-content .academy-quiz__extension-prompt{color:var(--ink-strong);margin:0;font-size:1.06em;font-weight:700;line-height:1.5}.academy-quiz__extension-feedback{color:var(--ink);border:1px solid var(--line);background:var(--surface);border-left-width:5px;border-radius:9px;padding:14px 16px}.academy-quiz__extension-feedback strong{color:var(--ink-strong);margin-bottom:5px;display:block}.sl-markdown-content .academy-quiz__extension-feedback p{margin:0}.academy-quiz__extension-feedback.is-correct{border-color:var(--success);background:var(--success-soft)}.academy-quiz__extension-feedback.is-incorrect{border-color:var(--danger);background:var(--danger-soft)}.academy-quiz__extension-feedback.is-unanswered{border-color:var(--warning);background:var(--warning-soft)}.academy-quiz__check--next{border-color:var(--chapter-accent);box-shadow:inset 4px 0 0 var(--chapter-accent)}.academy-quiz__extension-summary{text-align:center}.academy-quiz__extension-complete,.academy-quiz__extension-score{display:block}.academy-quiz__extension-complete{color:var(--success);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.academy-quiz__extension-score{color:var(--ink-strong);font-family:var(--display);margin-top:6px;font-size:clamp(2.2rem,6vw,3.8rem)}.sl-markdown-content .academy-quiz__extension-summary p{max-width:52ch;color:var(--ink-soft);margin:8px auto 18px}.sl-markdown-content .ownership-scope{isolation:isolate;width:100%;min-width:0;padding:0;display:block!important}.ownership-scope__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:clamp(24px,4vw,36px);display:flex}.ownership-scope__step-pill{color:var(--chapter-accent);background:var(--surface-soft);font-family:var(--mono);border:1px solid;border-radius:999px;flex:none;padding:6px 10px;font-size:11px;font-weight:700}.ownership-scope__stage{grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);min-width:0;display:grid}.ownership-scope__code-panel,.ownership-scope__memory-panel{min-width:0;padding:clamp(20px,3vw,30px)}.ownership-scope__code-panel{color:var(--code-text);background:var(--code-bg)}.ownership-scope__code-panel .ownership-scope__panel-label{color:var(--syntax-comment)}.ownership-scope__memory-panel{background:var(--surface-alt)}.ownership-scope__code-lines{gap:5px;margin-top:16px;display:grid}.ownership-scope__code-line{width:100%;min-width:0;color:var(--code-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:30px minmax(0,1fr);align-items:baseline;gap:10px;padding:9px 10px;display:grid}.ownership-scope__code-line:hover,.ownership-scope__code-line:focus-visible{border-color:var(--chapter-on-code);outline:none}.ownership-scope__code-line.is-active{border-color:var(--chapter-on-code);box-shadow:inset 4px 0 0 var(--chapter-on-code);background:#ffffff14}.ownership-scope__line-number{color:var(--syntax-comment);font-family:var(--mono);font-size:11px}.sl-markdown-content .ownership-scope__code-line code{color:var(--syntax-identifier);font-family:var(--mono);overflow-wrap:anywhere;white-space:pre-wrap;background:0 0;border:0;padding:0;font-size:13px}.ownership-scope__memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.sl-markdown-content .ownership-scope__memory-column h4{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;margin:0 0 9px;font-size:11px}.ownership-scope__memory-items{gap:9px;display:grid}.ownership-scope__memory-item{min-width:0;color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--chapter-accent);background:var(--surface);border-radius:8px;padding:12px}.ownership-scope__memory-item.is-moved,.ownership-scope__memory-item.is-empty{border-left-color:var(--ink-soft)}.ownership-scope__memory-item.is-borrowed{border-left-color:var(--chapter-accent);background:var(--chapter-tint);border-left-style:dashed}.ownership-scope__memory-item.is-conflict{border-left-color:var(--danger);background:var(--danger-soft)}.ownership-scope__memory-name,.ownership-scope__memory-value,.ownership-scope__memory-owner{overflow-wrap:anywhere;display:block}.ownership-scope__memory-name{color:var(--chapter-ink);font-family:var(--mono);margin-bottom:5px;font-size:11px;font-weight:700}.ownership-scope__memory-value{color:var(--ink-strong);font-family:var(--mono);font-size:12px;line-height:1.45}.ownership-scope__memory-owner{color:var(--ink-soft);margin-top:5px;font-size:11px}.ownership-scope__explanation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-soft);padding:22px clamp(24px,4vw,36px)}.ownership-scope__event{color:var(--chapter-ink);margin-bottom:5px;display:block}.sl-markdown-content .ownership-scope__message{color:var(--ink);margin:0}.sl-markdown-content .ownership-scope__loan{color:var(--chapter-accent);border-left:3px solid var(--chapter-accent);font-family:var(--mono);margin:11px 0 0;padding-left:12px;font-size:12px;font-weight:700}.ownership-scope__controls{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px clamp(24px,4vw,36px) 22px;display:grid}.ownership-scope__control:disabled{cursor:not-allowed;opacity:.45}.ownership-scope__control--next{border-color:var(--chapter-accent);box-shadow:inset 4px 0 0 var(--chapter-accent)}.ownership-scope__hint{color:var(--ink-soft);text-align:center;font-size:12px}.ownership-scope__fallback{margin:0;padding:24px}.sl-markdown-content .ownership-scope,.sl-markdown-content .concept-lab{box-shadow:none;border-radius:5px;margin-block:1.25rem}.sl-markdown-content .ownership-scope:before,.sl-markdown-content .concept-lab:before{height:2px}.ownership-scope__header,.ownership-scope__explanation,.ownership-scope__controls{padding:.75rem}.ownership-scope__stage{gap:.6rem;padding:.75rem}.ownership-scope__control{border-radius:3px;min-height:2rem;padding:.25rem .6rem;font-size:.8rem}.sl-markdown-content .concept-lab{isolation:isolate;width:100%;min-width:0;display:block!important}.concept-lab__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:.75rem;display:flex}.concept-lab__header-copy{min-width:0}.concept-lab__eyebrow,.concept-lab__field-label,.concept-lab__result-label,.concept-lab__example-label{color:var(--chapter-ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.sl-markdown-content .concept-lab__header h3{color:var(--ink-strong);overflow-wrap:break-word;margin:4px 0 8px;font-size:1.05rem;line-height:1.15}.sl-markdown-content .concept-lab__description{max-width:66ch;color:var(--ink-soft);margin:0;line-height:1.55}.concept-lab__live-badge{color:var(--chapter-accent);background:var(--surface-soft);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:3px;flex:none;padding:2px 5px;font-size:10px;font-weight:700}.concept-lab__body{min-width:0;padding:.75rem}.concept-lab__control-row,.concept-lab__control-grid{gap:10px;min-width:0;display:grid}.concept-lab__control-row{grid-template-columns:minmax(220px,1fr) minmax(200px,1fr);align-items:end}.concept-lab__control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-lab__field{gap:7px;min-width:0;display:grid}.concept-lab__text-input{width:100%;min-width:0;min-height:36px;color:var(--ink-strong);border:1px solid var(--line);background:var(--surface-soft);font-family:var(--mono);border-radius:3px;outline:none;padding:5px 8px;font-size:15px}.concept-lab__text-input:focus{border-color:var(--chapter-ink);box-shadow:0 0 0 3px var(--chapter-tint)}.concept-lab__examples{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.concept-lab__example-label{color:var(--ink-soft);flex:1 0 100%}.concept-lab__example{min-height:32px;color:var(--ink);border:1px solid var(--line);background:var(--surface-alt);font-family:var(--mono);cursor:pointer;border-radius:3px;padding:4px 8px;font-size:12px;font-weight:700}.concept-lab__example:hover,.concept-lab__example:focus-visible{color:var(--ink-strong);border-color:var(--chapter-ink);outline:2px solid var(--chapter-accent);outline-offset:2px}.concept-lab__example.is-active{color:var(--ink-strong);border-color:var(--chapter-ink);box-shadow:inset 4px 0 0 var(--chapter-accent);background:var(--chapter-tint)}.concept-lab__pointer-path{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.concept-lab__pointer-node{min-width:0;color:var(--ink);border:1px solid var(--line);background:var(--surface-soft);font:inherit;text-align:left;cursor:pointer;border-radius:3px;gap:5px;padding:8px;display:grid;position:relative}.concept-lab__pointer-node:not(:last-child):after{z-index:2;content:"→";color:var(--chapter-accent);font-family:var(--mono);font-weight:700;position:absolute;top:50%;right:-10px;transform:translate(50%,-50%)}.concept-lab__pointer-node:hover,.concept-lab__pointer-node:focus-visible,.concept-lab__pointer-node.is-active{color:var(--ink-strong);border-color:var(--chapter-ink);background:var(--chapter-tint);outline:none}.concept-lab__pointer-node.is-active{box-shadow:inset 0 -4px 0 var(--chapter-accent)}.concept-lab__pointer-node.is-visited{border-color:var(--success)}.concept-lab__pointer-step{color:var(--chapter-ink);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:700}.concept-lab__pointer-node strong{overflow-wrap:anywhere}.sl-markdown-content .concept-lab__pointer-node code{color:var(--chapter-accent);overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:11px}.concept-lab__pointer-explanation{color:var(--ink);border:1px solid var(--line);border-left:5px solid var(--chapter-accent);background:var(--surface-alt);border-radius:3px;margin-top:10px;padding:8px 10px}.concept-lab__pointer-explanation strong{color:var(--ink-strong);margin-bottom:5px;display:block}.sl-markdown-content .concept-lab__pointer-explanation p{margin:0}.concept-lab__step-controls,.concept-lab__scan-stages{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.concept-lab__scan-stages{margin-top:0}.concept-lab__candidate-count{color:var(--ink-strong);font-family:var(--mono);margin:18px 0 10px;font-size:12px;display:block}.concept-lab__scan-memory{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.concept-lab__scan-cell{min-width:0;color:var(--ink);border:1px solid var(--line);background:var(--surface-soft);border-radius:3px;gap:5px;padding:8px;display:grid}.concept-lab__scan-cell span,.concept-lab__scan-cell small{color:var(--ink-soft);font-family:var(--mono);text-transform:uppercase;font-size:9px}.concept-lab__scan-cell strong{color:var(--ink-strong);font-family:var(--mono);font-size:18px}.concept-lab__scan-cell.is-kept{border-color:var(--success);box-shadow:inset 4px 0 0 var(--success);background:var(--success-soft)}.concept-lab__scan-cell.is-rejected{opacity:.55;filter:grayscale(.8)}.concept-lab__scan-cell.is-rejected strong{text-decoration:line-through}.sl-markdown-content .concept-lab__help,.sl-markdown-content .concept-lab__error,.sl-markdown-content .concept-lab__takeaway{margin:14px 0 0}.concept-lab__help{color:var(--ink-soft);font-size:.92em}.concept-lab__error{color:var(--danger);border-left:4px solid var(--danger);background:var(--danger-soft);border-radius:6px;padding:10px 12px;font-weight:700}.concept-lab__byte-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:20px;display:grid}.concept-lab__byte{min-width:0;color:var(--code-text);border:1px solid var(--line);background:var(--code-bg);font-family:var(--mono);border-radius:8px;place-items:center;padding:11px 6px;display:grid}.concept-lab__byte small{color:var(--syntax-comment);margin-bottom:3px;font-size:9px}.concept-lab__byte strong{color:var(--syntax-number);font-size:17px}.concept-lab__results{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.concept-lab__results--four{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-lab__result-card{min-width:0;color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--chapter-accent);background:var(--surface-alt);border-radius:3px;padding:8px}.concept-lab__result-card--accent{border-left-color:var(--chapter-accent);background:var(--chapter-tint)}.concept-lab__result-label{color:var(--ink-soft);overflow-wrap:anywhere;margin-bottom:7px}.concept-lab__result-value,.concept-lab__result-note{overflow-wrap:anywhere;display:block}.concept-lab__result-value{color:var(--ink-strong);font-family:var(--mono);font-size:clamp(14px,2vw,18px);line-height:1.35}.concept-lab__results--four .concept-lab__result-value{overflow-wrap:normal;word-break:normal;font-size:16px}.concept-lab__result-note{color:var(--ink-soft);margin-top:5px;font-size:11px;line-height:1.35}.concept-lab__takeaway{color:var(--ink);border-left:4px solid var(--chapter-accent);background:var(--chapter-tint);border-radius:7px;padding:8px 10px;line-height:1.5}.concept-lab__address-equation{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.2fr);align-items:stretch;gap:9px;margin-top:20px;display:grid}.concept-lab__operator{color:var(--chapter-ink);font-family:var(--mono);place-items:center;font-size:22px;font-weight:700;display:grid}.concept-lab__angle-layout{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.concept-lab__range-controls{align-content:start;gap:12px;display:grid}.concept-lab__range{gap:10px;min-width:0;display:grid}.concept-lab__range-heading{color:var(--ink-soft);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;font-size:11px;font-weight:700;display:flex}.concept-lab__range-value{color:var(--chapter-ink);font-size:15px}.concept-lab__range input[type=range]{width:100%;accent-color:var(--chapter-accent);cursor:pointer}.concept-lab__angle-visual{grid-template-columns:minmax(150px,.7fr) minmax(190px,1fr);align-items:center;gap:18px;min-width:0;display:grid}.concept-lab__dial{aspect-ratio:1;border:2px solid var(--line);background:linear-gradient(var(--line), var(--line)) center / 1px 100% no-repeat, linear-gradient(90deg, var(--line), var(--line)) center / 100% 1px no-repeat, var(--surface-alt);border-radius:50%;width:min(100%,190px);margin-inline:auto;position:relative}.concept-lab__dial-north{z-index:2;color:var(--ink-soft);font-family:var(--mono);font-size:9px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.concept-lab__dial-arm{transform-origin:50% 100%;border-radius:999px 999px 2px 2px;width:4px;height:39%;position:absolute;bottom:50%;left:calc(50% - 2px)}.concept-lab__dial-arm--current{z-index:1;background:var(--ink-soft)}.concept-lab__dial-arm--desired{z-index:2;background:var(--chapter-accent);width:2px}.concept-lab__dial-center{z-index:3;border:2px solid var(--paper);background:var(--ink-strong);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.concept-lab__angle-results{gap:10px;display:grid}.concept-lab__angle-takeaway{grid-column:1/-1}.concept-lab__fallback{margin:0;padding:24px}@media (width<=760px){.academy-quiz__header{grid-template-rows:auto auto auto;grid-template-columns:42px minmax(0,1fr);align-items:center}.academy-quiz__number,.academy-quiz__header>div{grid-row:1}.academy-quiz__question-progress{grid-area:2/1/auto/-1;justify-self:start}.academy-quiz__saved{grid-area:3/1/auto/-1;justify-self:start}.academy-quiz__actions,.academy-quiz__check,.academy-quiz__retry{width:100%}.ownership-scope__header{flex-direction:column;align-items:flex-start}.ownership-scope__stage,.ownership-scope__memory-grid{grid-template-columns:minmax(0,1fr)}.ownership-scope__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.ownership-scope__hint{grid-area:2/1/auto/-1}.ownership-scope__control{width:100%}.concept-lab__header{flex-direction:column}.concept-lab__control-row,.concept-lab__control-grid,.concept-lab__angle-layout,.concept-lab__angle-visual,.concept-lab__pointer-path{grid-template-columns:minmax(0,1fr)}.concept-lab__pointer-node:not(:last-child):after{top:auto;bottom:-10px;right:50%;transform:translate(50%,50%)rotate(90deg)}.concept-lab__scan-memory,.concept-lab__results,.concept-lab__results--four{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-lab__address-equation{grid-template-columns:minmax(0,1fr)}.concept-lab__operator{min-height:24px}.concept-lab__address-equation .concept-lab__operator:first-of-type{transform:none}}@media (width<=430px){.concept-lab__results,.concept-lab__results--four,.concept-lab__scan-memory{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.academy-quiz__options button{transition:none}}.pointer-tracer__code{margin:.5rem 0;padding-left:2rem;font-size:.83rem;line-height:1.55;overflow-x:auto}.pointer-tracer__code li{border-left:2px solid #0000;padding:0 .35rem}.pointer-tracer__code .is-active{border-color:var(--sl-color-accent);background:var(--sl-color-gray-6)}.pointer-tracer__code code{white-space:pre;background:0 0;padding:0}.pointer-tracer__picture{width:100%;max-width:500px;height:auto;margin:.5rem 0;font:13px sans-serif;display:block}.pointer-tracer__picture text{fill:var(--sl-color-white)}.pointer-tracer__viewport{max-width:100%;overflow-x:auto}.pointer-tracer__mono{font-family:var(--sl-font-mono);font-size:12px}.pointer-tracer__memory,.pointer-tracer__register{fill:var(--sl-color-gray-7,var(--sl-color-gray-6));stroke:var(--sl-color-gray-4)}.pointer-tracer__memory.is-selected{stroke:var(--sl-color-accent);stroke-width:2px}.pointer-tracer__register{stroke:var(--sl-color-accent)}.pointer-tracer__route{fill:none;stroke:var(--sl-color-accent);stroke-width:1.5px;stroke-dasharray:4 3}.pointer-tracer__copy rect{fill:var(--sl-color-gray-6);stroke:var(--sl-color-accent)}.pointer-tracer__explanation{min-height:3em;margin:.4rem 0;font-size:.9rem}@media (width<=430px){.pointer-tracer__picture{min-width:500px}}.academy-quiz__review-item{border-bottom:1px solid var(--reader-line);margin-block:.9rem;padding-block-end:.6rem}.academy-quiz__review-item p{margin-block:.25rem}.sl-markdown-content section.academy-quiz.not-content{box-shadow:none;background:0 0;border-radius:.45rem;margin-block:1.5rem;padding:1rem}.sl-markdown-content .academy-quiz .academy-quiz__number{display:none}.sl-markdown-content .academy-quiz .academy-quiz__header{gap:.5rem;margin-block-end:.65rem}.sl-markdown-content .academy-quiz .academy-quiz__header h3{font:700 1.05rem/1.3 var(--body)}.sl-markdown-content .academy-quiz .academy-quiz__prompt p{margin-block:.65rem}.sl-markdown-content .academy-quiz .academy-quiz__options{gap:.4rem}.sl-markdown-content .academy-quiz .academy-quiz__options button{border-radius:.4rem;min-height:2.75rem;padding:.45rem .65rem}.sl-markdown-content .academy-quiz .academy-quiz__feedback{border-radius:.4rem;padding:.7rem}.sl-markdown-content .academy-quiz .academy-quiz__actions{gap:.45rem;margin-block:.65rem 0}.concept-lab__steps{color:var(--ink);font-family:var(--mono);margin:8px 0;padding-left:1.4em;font-size:.9em}.concept-lab__guess{border:1px dashed var(--line);border-radius:3px;margin:8px 0;padding:6px 10px}.concept-lab__guess>summary{cursor:pointer;color:var(--ink-soft);font-size:.9em}.academy-quiz__after[hidden]{display:none}.sl-markdown-content .academy-quiz .academy-quiz__after{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:.9rem}.code-blanks,.fsm{gap:.8rem;min-width:0;display:grid}.code-blanks__code-wrap{min-width:0}.code-blanks__scroll-hint{color:var(--ink-soft);margin:.4em 0 0;font-size:.8rem;line-height:1.5}.code-blanks__scroll-hint[hidden]{display:none}.code-blanks__code:focus-visible{outline:.125rem solid var(--chapter-accent);outline-offset:.125rem}.code-blanks__code{min-width:0;color:var(--ink);border:1px solid var(--line);background:var(--surface-alt);font-family:var(--mono);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;border-radius:10px;margin:0;padding:.55rem .85rem;font-size:.86rem;line-height:1.9;overflow-x:auto}.code-blanks__line{white-space:pre;min-height:1.9em}.code-blanks__token{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}.code-blanks__blank{min-width:4.5ch;min-height:32px;color:var(--ink-strong);border:2px dashed var(--chapter-ink);background:var(--chapter-tint);font:inherit;vertical-align:middle;cursor:pointer;border-radius:7px;margin:0 1px;padding:0 .55em;line-height:1.4;transition:border-color .15s,background-color .15s;display:inline-block}.code-blanks__blank.is-filled{border-style:solid}.code-blanks__blank.is-over,.code-blanks__blank.is-picked{border-color:var(--chapter-accent);box-shadow:0 0 0 3px var(--chapter-tint), 0 0 0 5px var(--chapter-accent)}.code-blanks__blank.is-match{border-style:solid;border-color:var(--success);background:var(--success-soft)}.code-blanks__blank.is-match:after{content:" ✓";color:var(--success)}.code-blanks__blank.is-other{border-color:var(--warning);background:var(--warning-soft)}.code-blanks__blank.is-other:after{content:" ≠";color:var(--warning)}.code-blanks__blank.is-hint{border-color:var(--chapter-accent);background:var(--chapter-tint)}.code-blanks__blank:focus-visible,.code-blanks__token:focus-visible,.fsm__remove:focus-visible{outline:3px solid var(--chapter-accent);outline-offset:2px}.code-blanks__bank{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.code-blanks__token{cursor:grab;min-height:36px}.code-blanks__token--empty{font-style:italic;font-weight:400}.code-blanks__token.is-picked{color:var(--ink-strong);border-color:var(--chapter-ink);box-shadow:inset 4px 0 0 var(--chapter-accent);background:var(--chapter-tint)}.code-blanks__tip{color:var(--ink-soft);flex:1 0 100%;font-size:12px;line-height:1.45}.code-blanks__effect,.fsm__change{min-height:3.1em;margin:0}.code-blanks__summary{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.5}.code-blanks__summary.is-working{color:var(--success);font-weight:700}.code-blanks__why{border-left:4px solid var(--success);background:var(--success-soft);border-radius:7px;margin:0;padding:8px 10px;line-height:1.5}.fsm__howto,.fsm__status,.fsm__end{color:var(--ink-soft);margin:0;line-height:1.5}.fsm__viewport{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;min-width:0;overflow-x:auto}.fsm__svg{width:100%;min-width:0;height:auto;font-family:inherit;display:block}.fsm__node{cursor:pointer;outline:none}.fsm__node rect{fill:var(--surface-alt);stroke:var(--chapter-ink);stroke-width:1.5px;transition:fill .15s}.fsm__node text{fill:var(--ink-strong);pointer-events:none;font-size:13px;font-weight:700}.fsm__node:hover rect{fill:var(--chapter-tint)}.fsm__node:focus-visible rect{stroke:var(--chapter-accent);stroke-width:4px}.fsm__node.is-from rect{fill:var(--chapter-tint);stroke:var(--chapter-accent);stroke-width:4px}.fsm__node.is-to rect{stroke:var(--chapter-accent);stroke-width:3px;stroke-dasharray:5 3}.fsm__node.is-active rect{fill:var(--success-soft);stroke:var(--success);stroke-width:4px}.fsm__node text.fsm__start{fill:var(--ink-soft);font-family:var(--mono);text-transform:uppercase;font-size:10px;font-weight:400}.fsm__edge{cursor:pointer}.fsm__line{fill:none;stroke:var(--ink-soft);stroke-width:2px}.fsm__hit{fill:none;stroke:#0000;stroke-width:18px;pointer-events:stroke}.fsm__label-box{fill:var(--surface);stroke:var(--line)}.fsm__label{fill:var(--ink);pointer-events:none;font-size:11.5px}.fsm__edge:hover .fsm__label-box{stroke:var(--chapter-accent)}.fsm__edge.is-selected .fsm__line,.fsm__edge.is-walked .fsm__line{stroke:var(--chapter-accent);stroke-width:3px}.fsm__edge.is-selected .fsm__label-box{stroke:var(--chapter-accent);stroke-width:2px}.fsm__arrow{fill:var(--ink-soft)}.fsm__arrow--hot{fill:var(--chapter-accent)}.fsm__adder,.fsm__edge-bar{border:1px solid var(--chapter-ink);background:var(--chapter-tint);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.fsm__adder[hidden],.fsm__edge-bar[hidden]{display:none}.fsm__remove{white-space:nowrap;flex:none}.fsm__scroll-tip{color:var(--ink-soft);margin:0;font-size:.85rem;display:block}.fsm__select{width:auto;max-width:100%}.fsm__trace-heading{margin:0}.fsm__trace,.fsm__list{gap:5px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.fsm__step{border:1px solid var(--line);background:var(--surface-soft);overflow-wrap:anywhere;counter-increment:fsm-step;border-radius:6px;margin:0;padding:5px 8px 5px 2.3rem;line-height:1.45;position:relative}.fsm__trace{counter-reset:fsm-step}.fsm__step:before{color:var(--ink-soft);content:counter(fsm-step);font-family:var(--mono);font-size:12px;position:absolute;top:5px;left:9px}.fsm__step.is-different{border-color:var(--warning);background:var(--warning-soft)}.fsm__step.is-current{box-shadow:inset 4px 0 0 var(--chapter-accent);background:var(--chapter-tint)}.fsm__step.is-waiting{opacity:.55}.fsm__input{font-family:var(--mono);font-size:12.5px;font-weight:700}.fsm__lesson{color:var(--ink-soft)}.fsm__list{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.fsm__list-item{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:4px 8px;line-height:1.4;display:flex}.fsm__list-item.is-selected{border-color:var(--chapter-accent);background:var(--chapter-tint)}@media (width<=430px){.code-blanks__blank{min-width:3.6ch}}@media (prefers-reduced-motion:reduce){.code-blanks__blank,.fsm__node rect{transition:none}}.concept-lab{--lab-pad:.85rem}.concept-lab .concept-lab__header{padding:.7rem var(--lab-pad) .6rem;display:block;position:relative}.concept-lab .concept-lab__live-badge{margin:0;position:absolute;top:.6rem;right:.7rem}.concept-lab .concept-lab__eyebrow{padding-right:5rem}.concept-lab .concept-lab__header h3{margin:.15rem 0 .3rem;font-size:1.05rem;line-height:1.3}.concept-lab .concept-lab__description{color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.5}.concept-lab .concept-lab__takeaway,.sim-lab__explain{font-size:.93rem;line-height:1.55}.concept-lab .concept-lab__scan-memory{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:6px;display:grid}.concept-lab .concept-lab__scan-cell{min-height:0;padding:5px 8px}.concept-lab .concept-lab__scan-cell strong{font-size:1.05rem}.pointer-tracer__picture{min-width:420px}.pointer-tracer__small,.pointer-tracer__mono{font-size:13px}.sim-lab>:not(.concept-lab__header):not(.concept-lab__fallback),.visual-lab>:not(.concept-lab__header):not(.concept-lab__fallback){margin-inline:var(--lab-pad)}.sim-lab>:last-child,.visual-lab>:last-child{margin-bottom:.85rem}@media (width<=40rem){.concept-lab .concept-lab__header h3{font-size:1rem}.concept-lab .concept-lab__description{font-size:.86rem}}:root{--fb-good:#2b8a57;--fb-good-ink:#17402a;--fb-good-bg:color-mix(in srgb, var(--fb-good) 10%, var(--reader-panel,#fff));--fb-bad:#c0443f;--fb-bad-ink:#6b1f1c;--fb-bad-bg:color-mix(in srgb, var(--fb-bad) 9%, var(--reader-panel,#fff));--fb-warn:#c27a1c;--fb-warn-ink:#5e3a0a;--fb-warn-bg:color-mix(in srgb, var(--fb-warn) 12%, var(--reader-panel,#fff));--fb-info:#5c7bb0;--fb-info-ink:var(--ink,#252a31);--fb-info-bg:color-mix(in srgb, var(--fb-info) 8%, var(--reader-panel,#fff));--hl-k:#6d28d9;--hl-s:#15803d;--hl-c:#6b7280;--hl-n:#92400e;--hl-f:#1d4ed8;--hl-t:#0b6560;--hl-l:#be185d}:root[data-theme=dark]{--fb-good:#5fcf92;--fb-good-ink:#c9f2da;--fb-good-bg:color-mix(in srgb, var(--fb-good) 14%, var(--reader-panel,#11151a));--fb-bad:#ef7f7a;--fb-bad-ink:#fcd5d3;--fb-bad-bg:color-mix(in srgb, var(--fb-bad) 14%, var(--reader-panel,#11151a));--fb-warn:#e9b04f;--fb-warn-ink:#f6e1b4;--fb-warn-bg:color-mix(in srgb, var(--fb-warn) 14%, var(--reader-panel,#11151a));--fb-info:#8ba7d6;--fb-info-ink:var(--ink,#e6eaf0);--fb-info-bg:color-mix(in srgb, var(--fb-info) 11%, var(--reader-panel,#11151a));--hl-k:#c4b5fd;--hl-s:#86efac;--hl-c:#9ca3af;--hl-n:#fcd34d;--hl-f:#93c5fd;--hl-t:#5eead4;--hl-l:#f9a8d4}.concept-lab [data-tone=good]{color:var(--fb-good-ink);border-left:3px solid var(--fb-good);background:var(--fb-good-bg)}.concept-lab [data-tone=warn]{color:var(--fb-warn-ink);border-left:3px solid var(--fb-warn);background:var(--fb-warn-bg)}.concept-lab [data-tone=bad]{color:var(--fb-bad-ink);border-left:4px solid var(--fb-bad);background:var(--fb-bad-bg)}.concept-lab [data-tone=info]{color:var(--fb-info-ink);border-left:3px solid var(--fb-info);background:var(--fb-info-bg)}.concept-lab [data-tone-explicit][data-tone=info]{font-size:.86rem}.concept-lab [data-tone-explicit][data-tone=good]:before{content:"✓ ";font-weight:700}.concept-lab [data-tone-explicit][data-tone=warn]:before{content:"≠ ";font-weight:700}.concept-lab [data-tone-explicit][data-tone=info]:before{content:"▸ ";font-weight:700}.concept-lab .code-blanks__summary.is-working{color:var(--fb-good-ink);font-weight:650}.concept-lab .code-blanks__blank.is-match{border-color:var(--fb-good);background:var(--fb-good-bg)}.concept-lab .code-blanks__blank.is-other{border-color:var(--fb-warn);background:var(--fb-warn-bg)}.concept-lab .code-blanks__blank.is-picked{outline:2px solid var(--fb-info);outline-offset:1px}.academy-quiz.is-correct .academy-quiz__feedback{color:var(--fb-good-ink);border-color:var(--fb-good);background:var(--fb-good-bg)}.academy-quiz.is-incorrect .academy-quiz__feedback{color:var(--fb-bad-ink);border-color:var(--fb-bad);background:var(--fb-bad-bg)}.academy-quiz.is-correct .academy-quiz__feedback>:first-child,.academy-quiz.is-correct .academy-quiz__feedback strong{color:var(--fb-good)}.academy-quiz.is-incorrect .academy-quiz__feedback>:first-child,.academy-quiz.is-incorrect .academy-quiz__feedback strong{color:var(--fb-bad)}.academy-quiz__options button.is-correct-answer{border-color:var(--fb-good);box-shadow:inset 3px 0 0 var(--fb-good);background:var(--fb-good-bg)}.academy-quiz__options button.is-wrong-answer{border-color:var(--fb-bad);box-shadow:inset 3px 0 0 var(--fb-bad);background:var(--fb-bad-bg)}.hl-k{color:var(--hl-k);font-weight:600}.hl-s{color:var(--hl-s)}.hl-c{color:var(--hl-c);font-style:italic}.hl-n{color:var(--hl-n)}.hl-f{color:var(--hl-f)}.hl-t{color:var(--hl-t)}.hl-l{color:var(--hl-l)}.concept-lab .code-blanks__blank.is-differs{border-color:var(--fb-warn);background:var(--fb-warn-bg)}.concept-lab .code-blanks__summary:not(.is-working){color:var(--fb-warn-ink);font-weight:650}.concept-lab .code-blanks__blank{border-style:dashed;border-width:2px}.concept-lab .code-blanks__blank.is-filled{font-weight:650}.concept-lab .code-blanks__token{border-style:solid;border-radius:999px}.concept-lab .code-blanks__token.is-picked{outline:2px solid var(--fb-info);outline-offset:1px;background:var(--fb-info-bg)}.concept-lab .concept-lab__takeaway[data-tone=good],.concept-lab .sim-lab__explain[data-tone=good]{background:var(--fb-good-bg);border-left-color:var(--fb-good)}.concept-lab .concept-lab__takeaway[data-tone=warn],.concept-lab .sim-lab__explain[data-tone=warn]{background:var(--fb-warn-bg);border-left-color:var(--fb-warn)}.concept-lab .concept-lab__takeaway[data-tone=bad],.concept-lab .sim-lab__explain[data-tone=bad]{background:var(--fb-bad-bg);border-left-color:var(--fb-bad)}.concept-lab .concept-lab__takeaway[data-tone=info],.concept-lab .sim-lab__explain[data-tone=info]{background:var(--fb-info-bg);border-left-color:var(--fb-info)}.concept-lab .code-blanks__summary{border-left:4px solid var(--fb-warn);background:var(--fb-warn-bg);color:var(--fb-warn-ink);border-radius:7px;margin:.5rem 0;padding:.45rem .7rem}.concept-lab .code-blanks__summary.is-working{border-left-color:var(--fb-good);background:var(--fb-good-bg);color:var(--fb-good-ink)}.concept-lab .code-blanks__blank.is-picked{background:var(--fb-info-bg)}.concept-lab .code-trace__say[data-tone],.concept-lab .code-trace__diff[data-tone],.concept-lab .fsm__status[data-tone],.concept-lab .fsm__change[data-tone],.concept-lab .sort-board__explain[data-tone],.concept-lab .formula-builder__explain[data-tone],.concept-lab .formula-builder__note[data-tone],.concept-lab .visual-lab__explain[data-tone]{border-left-style:solid;border-left-width:4px;border-radius:7px;padding:.5rem .75rem}.concept-lab [data-tone=good],.concept-lab [data-tone=warn],.concept-lab [data-tone=bad],.concept-lab [data-tone=info]{border-left-style:solid;border-left-width:3px;border-top:1px solid color-mix(in srgb, var(--tone-edge) 16%, transparent);border-right:1px solid color-mix(in srgb, var(--tone-edge) 12%, transparent);border-bottom:1px solid color-mix(in srgb, var(--tone-edge) 12%, transparent);border-radius:.65rem;font-weight:400;line-height:1.55}.concept-lab [data-tone=good]{--tone-edge:var(--fb-good);background:linear-gradient(100deg, var(--fb-good-bg), color-mix(in srgb, var(--fb-good-bg) 30%, var(--reader-panel,transparent)))!important;border-left-color:color-mix(in srgb, var(--fb-good) 75%, transparent)!important}.concept-lab [data-tone=warn]{--tone-edge:var(--fb-warn);background:linear-gradient(100deg, var(--fb-warn-bg), color-mix(in srgb, var(--fb-warn-bg) 30%, var(--reader-panel,transparent)))!important;border-left-color:color-mix(in srgb, var(--fb-warn) 75%, transparent)!important}.concept-lab [data-tone=bad]{--tone-edge:var(--fb-bad);background:linear-gradient(100deg, var(--fb-bad-bg), color-mix(in srgb, var(--fb-bad-bg) 30%, var(--reader-panel,transparent)))!important;border-left-color:color-mix(in srgb, var(--fb-bad) 75%, transparent)!important}.concept-lab [data-tone=info]{--tone-edge:var(--fb-info);background:linear-gradient(100deg, var(--fb-info-bg), color-mix(in srgb, var(--fb-info-bg) 30%, var(--reader-panel,transparent)))!important;border-left-color:color-mix(in srgb, var(--fb-info) 70%, transparent)!important}.academy-quiz.is-correct .academy-quiz__feedback,.academy-quiz.is-incorrect .academy-quiz__feedback{border-radius:.65rem}.concept-lab .concept-lab__example:not(.code-blanks__token),.lesson-notes__actions button,.lesson-notes__tabs button,.lesson-cheat__button,.academy-quiz__retry,.academy-quiz__check,.academy-quiz__next,.concept-lab .code-trace__nav button,.concept-lab .fsm button:not(.fsm__node){border:1px solid var(--line);min-height:0;box-shadow:none;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .6rem;font-size:.78rem;font-weight:550;line-height:1.5;display:inline-flex}.concept-lab .concept-lab__example:not(.code-blanks__token):hover,.lesson-notes__actions button:hover,.lesson-cheat__button:hover,.academy-quiz__retry:hover,.academy-quiz__check:hover,.academy-quiz__next:hover{border-color:var(--chapter-accent);background:var(--chapter-tint,transparent)}.academy-quiz__check,.academy-quiz__next{color:var(--chapter-ink,var(--ink-strong));border-color:var(--chapter-accent)}[data-note-ref]:before{content:"🔗"}[data-note-quote]:before{content:"❝"}[data-note-export]:before,[data-note-export-all]:before,[data-cheat-download]:before{content:"⬇"}[data-note-clear]:before{content:"✕"}[data-quiz-submit]:before{content:"✓"}.academy-quiz__retry:before{content:"↻"}.academy-quiz__next:before{content:none}[data-note-ref]:before,[data-note-quote]:before,[data-note-export]:before,[data-note-export-all]:before,[data-cheat-download]:before,[data-note-clear]:before,[data-quiz-submit]:before,.academy-quiz__retry:before{opacity:.85;font-size:.85em}.concept-lab .predict-figure{color:var(--ink);margin:.5rem 0}.concept-lab .predict-figure[hidden]{display:none}.predict-figure__drawing{width:100%;height:auto;max-height:18rem;font:.875rem var(--mono);display:block}.predict-figure__drawing text{fill:var(--ink)}.predict-figure__record{fill:var(--surface-alt);stroke:var(--ink-soft)}.predict-figure__record.is-selected{fill:var(--chapter-tint);stroke:var(--chapter-ink);stroke-width:.125rem}.predict-figure__guide{fill:none;stroke:var(--ink-soft)}.predict-figure__triangle{fill:none;stroke:var(--ink-soft);stroke-dasharray:.25rem}.predict-figure__arrow{fill:none;stroke:var(--chapter-ink);stroke-width:.1875rem}.predict-figure__point{fill:var(--paper);stroke:var(--ink-strong);stroke-width:.125rem}.predict-figure__point.is-selected{fill:var(--chapter-ink);stroke:var(--chapter-ink)}:root[data-academy-theme=paper][data-academy-code-mode=light]{--code-bg:#edf2f7;--code-text:#1c2733;--code-border:#bcc8d4;--code-shadow:0 14px 30px #1e30421f;--code-control-bg:#fff;--code-control-text:#243240;--code-control-border:#9aaaba;--syntax-comment:#596b7a;--syntax-keyword:#9b371f;--syntax-type:#715000;--syntax-string:#28693b;--syntax-escape:#006b68;--syntax-function:#005d8d;--syntax-identifier:#25313d;--syntax-variable:#235b94;--syntax-enum-variant:#96385f;--syntax-number:#704098;--syntax-safety:#a32932;--syntax-added:#176a34;--syntax-added-bg:#dbeee1;--syntax-removed:#9a2828;--syntax-removed-bg:#f8dddd;--syntax-error:#fff;--syntax-error-bg:#a92f2f}:root[data-academy-theme=paper][data-academy-code-mode=dark]{--code-bg:#080a0d;--code-text:#f5f7fa;--code-border:#303945;--code-shadow:0 18px 38px #0000005c;--code-control-bg:#1c232c;--code-control-text:#f5f7fa;--code-control-border:#596676}:root[data-academy-theme=purple][data-academy-code-mode=light]{--code-bg:#f0e7f6;--code-text:#2a1d32;--code-border:#c9afd9;--code-shadow:0 14px 30px #4a285e21;--code-control-bg:#fffaff;--code-control-text:#3c234a;--code-control-border:#ae89c5;--syntax-comment:#6b5b75;--syntax-keyword:#7c2ba8;--syntax-type:#725100;--syntax-string:#276b48;--syntax-escape:#006b6a;--syntax-function:#175d91;--syntax-identifier:#34243d;--syntax-variable:#3659a0;--syntax-enum-variant:#9a2f62;--syntax-number:#6e3b9d;--syntax-safety:#a62e49;--syntax-added:#176a3c;--syntax-added-bg:#dceee1;--syntax-removed:#9d2b3c;--syntax-removed-bg:#f5dce4;--syntax-error:#fff;--syntax-error-bg:#9f2941}:root[data-academy-theme=purple][data-academy-code-mode=dark]{--code-bg:#100a17;--code-text:#f8f1fc;--code-border:#4b355a;--code-shadow:0 18px 38px #04020875;--code-control-bg:#291936;--code-control-text:#fffaff;--code-control-border:#75548c;--syntax-comment:#bcaec6;--syntax-keyword:#daf;--syntax-type:#ffd477;--syntax-string:#9fe0b5;--syntax-escape:#71ded1;--syntax-function:#91ccff;--syntax-identifier:#f0e7f5;--syntax-variable:#a8cfff;--syntax-enum-variant:#ff9fc5;--syntax-number:#c7a5ff;--syntax-safety:#ff9da7;--syntax-added:#9fe0b5;--syntax-added-bg:#3e8f5a33;--syntax-removed:#ffadb5;--syntax-removed-bg:#a92f4538}:root[data-academy-theme=midnight][data-academy-code-mode=light]{--code-bg:#e2eef5;--code-text:#162b39;--code-border:#a9c1d0;--code-shadow:0 14px 30px #12384c21;--code-control-bg:#f8fcff;--code-control-text:#17364a;--code-control-border:#7fa5b9;--syntax-comment:#526b7a;--syntax-keyword:#8d3d12;--syntax-type:#695000;--syntax-string:#246a3b;--syntax-escape:#006b70;--syntax-function:#075e8a;--syntax-identifier:#1c3443;--syntax-variable:#285995;--syntax-enum-variant:#91365f;--syntax-number:#66449a;--syntax-safety:#9f303c;--syntax-added:#196939;--syntax-added-bg:#d5eadf;--syntax-removed:#982c37;--syntax-removed-bg:#f4dce0;--syntax-error:#fff;--syntax-error-bg:#9e2b38}:root[data-academy-theme=midnight][data-academy-code-mode=dark]{--code-bg:#07101a;--code-text:#edf7ff;--code-border:#25465c;--code-shadow:0 18px 38px #00050c7a;--code-control-bg:#14283a;--code-control-text:#effaff;--code-control-border:#41677f;--syntax-comment:#a9bdcc;--syntax-keyword:#65e0d7;--syntax-type:#ffc786;--syntax-string:#a9df91;--syntax-escape:#84e9df;--syntax-function:#8ecfff;--syntax-identifier:#e9f4fc;--syntax-variable:#a8d3ff;--syntax-enum-variant:#e8a9ff;--syntax-number:#c8adff;--syntax-safety:#ff9da7;--syntax-added:#9de2b7;--syntax-added-bg:#398b5233;--syntax-removed:#ffadb5;--syntax-removed-bg:#a92f3a38}:root[data-academy-theme=forest][data-academy-code-mode=light]{--code-bg:#e3ece0;--code-text:#17291b;--code-border:#afc3ae;--code-shadow:0 14px 30px #18371f21;--code-control-bg:#f8fbf4;--code-control-text:#1d3b25;--code-control-border:#89a58c;--syntax-comment:#586b5b;--syntax-keyword:#875027;--syntax-type:#6d5200;--syntax-string:#236434;--syntax-escape:#006967;--syntax-function:#185e80;--syntax-identifier:#24352a;--syntax-variable:#315c8d;--syntax-enum-variant:#8c3a5b;--syntax-number:#664590;--syntax-safety:#9a3035;--syntax-added:#17642f;--syntax-added-bg:#d4e8d7;--syntax-removed:#952d2d;--syntax-removed-bg:#f2dbd8;--syntax-error:#fff;--syntax-error-bg:#972a2a}:root[data-academy-theme=forest][data-academy-code-mode=dark]{--code-bg:#071009;--code-text:#edf7ee;--code-border:#31523a;--code-shadow:0 18px 38px #00000075;--code-control-bg:#193022;--code-control-text:#f1f7ed;--code-control-border:#4d7658;--syntax-comment:#aebfb0;--syntax-keyword:#91dba8;--syntax-type:#f1c775;--syntax-string:#a8dc8e;--syntax-escape:#79d8cf;--syntax-function:#89cbe6;--syntax-identifier:#e8f2e9;--syntax-variable:#a8cdf3;--syntax-enum-variant:#efa4bd;--syntax-number:#c5a9f3;--syntax-safety:#ff9da0;--syntax-added:#9edaae;--syntax-added-bg:#35814836;--syntax-removed:#ffadb0;--syntax-removed-bg:#9e2f2f38}:root[data-academy-theme=contrast][data-academy-code-mode=light]{--code-bg:#fff;--code-text:#000;--code-border:#000;--code-shadow:5px 5px 0 #000;--code-control-bg:#fff;--code-control-text:#000;--code-control-border:#000;--syntax-comment:#424242;--syntax-keyword:#8b0000;--syntax-type:#604700;--syntax-string:#005d21;--syntax-escape:#00605f;--syntax-function:#003dcc;--syntax-identifier:#000;--syntax-variable:#003080;--syntax-enum-variant:#850046;--syntax-number:#551a8b;--syntax-safety:#a00000;--syntax-added:#005d21;--syntax-added-bg:#dff3e6;--syntax-removed:#a00000;--syntax-removed-bg:#ffe0e0;--syntax-error:#fff;--syntax-error-bg:#a00000}:root[data-academy-theme=contrast][data-academy-code-mode=dark]{--code-bg:#000;--code-text:#fff;--code-border:#fff;--code-shadow:5px 5px 0 #ffd200;--code-control-bg:#000;--code-control-text:#fff;--code-control-border:#fff;--syntax-comment:#d0d0d0;--syntax-keyword:#ffd200;--syntax-type:#9fc5ff;--syntax-string:#7fffb2;--syntax-escape:#70f7ed;--syntax-function:#9fc5ff;--syntax-identifier:#fff;--syntax-variable:#b8d6ff;--syntax-enum-variant:#ff91c6;--syntax-number:#d7b5ff;--syntax-safety:#ff9a9a;--syntax-added:#7fffb2;--syntax-added-bg:#073a1c;--syntax-removed:#faa;--syntax-removed-bg:#4a0808;--syntax-error:#000;--syntax-error-bg:#ffd200}:root[data-academy-theme][data-academy-code-mode=dark]{--code-text:#f8f1e3;--syntax-comment:#bdb19d;--syntax-keyword:#ff9d7a;--syntax-type:#ffd477;--syntax-string:#b9df8a;--syntax-escape:#79e2d0;--syntax-function:#8ecdf4;--syntax-identifier:#eee8dc;--syntax-variable:#a9d7ff;--syntax-enum-variant:#ff96bd;--syntax-number:#d9afff;--syntax-safety:#ff9a9a;--syntax-added:#a7e6b8;--syntax-added-bg:#3d8b522e;--syntax-removed:#ffb0ac;--syntax-removed-bg:#a92f2f33;--syntax-error:#fff;--syntax-error-bg:#a92f2f}:root[data-academy-syntax=cyber][data-academy-code-mode=dark]{--syntax-comment:#86a5b9;--syntax-keyword:#ff72a6;--syntax-type:#ffd166;--syntax-string:#7ce6ad;--syntax-escape:#61e7ee;--syntax-function:#75b8ff;--syntax-identifier:#eff8ff;--syntax-variable:#c4a7ff;--syntax-enum-variant:#ff9d72;--syntax-number:#67e0d5;--syntax-safety:#ff6f7c}:root[data-academy-syntax=cyber][data-academy-code-mode=light]{--syntax-comment:#536c7b;--syntax-keyword:#a20d55;--syntax-type:#725200;--syntax-string:#12663d;--syntax-escape:#006a72;--syntax-function:#075eb2;--syntax-identifier:#20303b;--syntax-variable:#5c3aa2;--syntax-enum-variant:#a33b16;--syntax-number:#00736d;--syntax-safety:#ad2531}:root[data-academy-syntax=aurora][data-academy-code-mode=dark]{--syntax-comment:#9aa7b3;--syntax-keyword:#c792ea;--syntax-type:#82d2ff;--syntax-string:#9ee493;--syntax-escape:#5de4c7;--syntax-function:#ffd580;--syntax-identifier:#eef3f7;--syntax-variable:#a8c7fa;--syntax-enum-variant:#ff9e7a;--syntax-number:#d6b4ff;--syntax-safety:#ff7b8b}:root[data-academy-syntax=aurora][data-academy-code-mode=light]{--syntax-comment:#5f6c77;--syntax-keyword:#7236a3;--syntax-type:#006a93;--syntax-string:#28713a;--syntax-escape:#00756d;--syntax-function:#8a5600;--syntax-identifier:#26313a;--syntax-variable:#2d5795;--syntax-enum-variant:#a4441f;--syntax-number:#68409a;--syntax-safety:#ad2638}:root[data-academy-syntax=solar][data-academy-code-mode=dark]{--syntax-comment:#93a1a1;--syntax-keyword:#ff7b72;--syntax-type:#f2cc60;--syntax-string:#a6d189;--syntax-escape:#5fd7cf;--syntax-function:#7dcfff;--syntax-identifier:#f2eadf;--syntax-variable:#d3b8ff;--syntax-enum-variant:#f6a36b;--syntax-number:#c6a0f6;--syntax-safety:#ff8a91}:root[data-academy-syntax=solar][data-academy-code-mode=light]{--syntax-comment:#657477;--syntax-keyword:#9d2f37;--syntax-type:#755600;--syntax-string:#3d6b2f;--syntax-escape:#006d67;--syntax-function:#0b5e8e;--syntax-identifier:#3a342c;--syntax-variable:#64469a;--syntax-enum-variant:#9a4b18;--syntax-number:#674194;--syntax-safety:#a52c36}:root[data-academy-syntax=ocean][data-academy-code-mode=dark]{--syntax-comment:#8ea9b8;--syntax-keyword:#70d6ff;--syntax-type:#80ffdb;--syntax-string:#b8f2a1;--syntax-escape:#64dfdf;--syntax-function:#ffd670;--syntax-identifier:#edf8ff;--syntax-variable:#a8c5ff;--syntax-enum-variant:#ff99c8;--syntax-number:#c7b0ff;--syntax-safety:#ff758f}:root[data-academy-syntax=ocean][data-academy-code-mode=light]{--syntax-comment:#586f7b;--syntax-keyword:#005f87;--syntax-type:#00705f;--syntax-string:#356b2f;--syntax-escape:#006b70;--syntax-function:#7a5700;--syntax-identifier:#20343f;--syntax-variable:#315d9b;--syntax-enum-variant:#9a315e;--syntax-number:#654596;--syntax-safety:#a92f45}:root[data-academy-syntax=mono][data-academy-code-mode=dark]{--syntax-comment:#9ca3aa;--syntax-keyword:#fff;--syntax-type:#e4e7ea;--syntax-string:#c5cbd0;--syntax-escape:#fff;--syntax-function:#eef1f3;--syntax-identifier:#d9dde0;--syntax-variable:#fff;--syntax-enum-variant:#fff;--syntax-number:#c5cbd0;--syntax-safety:#ff9a9a}:root[data-academy-syntax=mono][data-academy-code-mode=light]{--syntax-comment:#667079;--syntax-keyword:#111820;--syntax-type:#2d363e;--syntax-string:#4c565e;--syntax-escape:#111820;--syntax-function:#26313a;--syntax-identifier:#38434c;--syntax-variable:#111820;--syntax-enum-variant:#111820;--syntax-number:#4c565e;--syntax-safety:#9f2731}:root[data-academy-ligatures=off] .expressive-code pre code{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}:root[data-academy-ligatures=on] .expressive-code pre code{font-variant-ligatures:common-ligatures contextual;font-feature-settings:"liga" 1, "calt" 1}.expressive-code{--ec-codeBg:var(--code-bg);--ec-codeFg:var(--code-text);--ec-brdCol:var(--code-border);--ec-codeSelBg:color-mix(in srgb, var(--syntax-function) 30%, transparent);--ec-frm-edBg:var(--code-bg);--ec-frm-trmBg:var(--code-bg);--ec-frm-edActTabBg:var(--code-bg);--ec-frm-edActTabFg:var(--code-text);--ec-frm-edTabBarBg:color-mix(in srgb, var(--code-bg) 86%, var(--code-text));--ec-frm-edTabBarBrdBtmCol:var(--code-border);--ec-frm-trmTtbBg:color-mix(in srgb, var(--code-bg) 86%, var(--code-text));--ec-frm-trmTtbFg:var(--code-text);--ec-frm-trmTtbBrdBtmCol:var(--code-border);--ec-frm-frameBoxShdCssVal:0 1px 3px color-mix(in srgb, var(--night) 14%, transparent);--ec-frm-inlBtnFg:var(--code-control-text);--ec-frm-inlBtnBg:var(--code-control-bg);--ec-frm-inlBtnBrd:var(--code-control-border);--ec-tm-insBg:var(--syntax-added-bg);--ec-tm-insBrdCol:var(--syntax-added);--ec-tm-insDiffIndColor:var(--syntax-added);--ec-tm-delBg:var(--syntax-removed-bg);--ec-tm-delBrdCol:var(--syntax-removed);--ec-tm-delDiffIndColor:var(--syntax-removed);--ec-tm-markBg:color-mix(in srgb, var(--syntax-function) 18%, transparent);--ec-tm-markBrdCol:var(--syntax-function);margin:1.9em 0}.expressive-code .frame{--code-accent:var(--syntax-comment);--code-label:none;position:relative}.expressive-code .frame:has(>pre[data-language=rust]){--code-accent:var(--syntax-keyword);--code-label:"Rust"}.expressive-code .frame:has(>pre:is([data-language=powershell],[data-language=ps1])){--code-accent:var(--syntax-function);--code-label:"PowerShell"}.expressive-code .frame:has(>pre:is([data-language=sh],[data-language=bash],[data-language=shell])){--code-accent:var(--syntax-function);--code-label:"Shell"}.expressive-code .frame:has(>pre:is([data-language=asm],[data-language=nasm])){--code-accent:var(--syntax-number);--code-label:"x86 assembly"}.expressive-code .frame:has(>pre[data-language=toml]){--code-accent:var(--syntax-string);--code-label:"TOML"}.expressive-code .frame:has(>pre[data-language=json]){--code-accent:var(--syntax-string);--code-label:"JSON"}.expressive-code .frame:has(>pre[data-language=yaml]){--code-accent:var(--syntax-string);--code-label:"YAML"}.expressive-code .frame:has(>pre[data-language=ini]){--code-accent:var(--syntax-string);--code-label:"INI"}.expressive-code .frame:has(>pre[data-language=lua]){--code-accent:var(--syntax-type);--code-label:"Lua"}.expressive-code .frame:has(>pre[data-language=c]){--code-accent:var(--syntax-variable);--code-label:"C"}.expressive-code .frame:has(>pre[data-language=cpp]){--code-accent:var(--syntax-variable);--code-label:"C++"}.expressive-code .frame:has(>pre[data-language=python]){--code-accent:var(--syntax-function);--code-label:"Python"}.expressive-code .frame:has(>pre:is([data-language=js],[data-language=javascript])){--code-accent:var(--syntax-function);--code-label:"JavaScript"}.expressive-code .frame:has(>pre[data-language=ts]){--code-accent:var(--syntax-function);--code-label:"TypeScript"}.expressive-code .frame:has(>pre[data-language=html]){--code-accent:var(--syntax-keyword);--code-label:"HTML"}.expressive-code .frame:has(>pre[data-language=css]){--code-accent:var(--syntax-keyword);--code-label:"CSS"}.expressive-code .frame:has(>pre[data-language=md]){--code-label:"Markdown"}.expressive-code .frame:has(>pre[data-language=diff]){--code-accent:var(--syntax-added);--code-label:"before → after"}.expressive-code .frame pre{box-shadow:inset 3px 0 0 var(--code-accent);transition:background-color .16s,border-color .16s}.expressive-code .frame:not(.has-title):before{z-index:1;color:var(--code-accent);content:var(--code-label);font-family:var(--mono);letter-spacing:.12em;pointer-events:none;text-transform:uppercase;font-size:.64rem;font-weight:600;position:absolute;top:.55rem;left:1.05rem}.expressive-code .frame:not(.has-title):has(>pre:not([data-language=text],[data-language=txt],[data-language=plaintext])) pre{padding-top:1.55rem}.expressive-code pre code{font-family:var(--mono)}.expressive-code .ec-line span[style*="--0:#f8f1e3" i]{color:var(--code-text)!important}.expressive-code .ec-line span[style*="--0:#bdb19d" i]{font-style:italic;color:var(--syntax-comment)!important}.expressive-code .ec-line span[style*="--0:#ff9d7a" i]{color:var(--syntax-keyword)!important}.expressive-code .ec-line span[style*="--0:#ffd477" i]{color:var(--syntax-type)!important}.expressive-code .ec-line span[style*="--0:#b9df8a" i]{color:var(--syntax-string)!important}.expressive-code .ec-line span[style*="--0:#79e2d0" i]{color:var(--syntax-escape)!important}.expressive-code .ec-line span[style*="--0:#8ecdf4" i]{color:var(--syntax-function)!important}.expressive-code .ec-line span[style*="--0:#eee8dc" i]{color:var(--syntax-identifier)!important}.expressive-code .ec-line span[style*="--0:#a9d7ff" i]{color:var(--syntax-variable)!important}.expressive-code .ec-line span[style*="--0:#ff96bd" i]{color:var(--syntax-enum-variant)!important}.expressive-code .ec-line span[style*="--0:#d9afff" i]{color:var(--syntax-number)!important}.expressive-code .ec-line span[style*="--0:#ff9a9a" i]{font-weight:700;color:var(--syntax-safety)!important}.expressive-code .ec-line span[style*="--0:#a7e6b8" i]{color:var(--syntax-added)!important}.expressive-code .ec-line span[style*="--0:#ffb0ac" i]{color:var(--syntax-removed)!important}.expressive-code .ec-line span[style*="--0:#fffffe" i]{background:var(--syntax-error-bg);color:var(--syntax-error)!important}.expressive-code .semantic-token{text-underline-offset:.2em;font-weight:700;text-decoration-thickness:1px}.expressive-code .semantic-token--safety{text-decoration:underline wavy color-mix(in srgb, var(--syntax-safety) 65%, transparent);color:var(--syntax-safety)!important}.expressive-code .semantic-token--result{color:var(--syntax-number)!important}.expressive-code .semantic-token--enum-variant{color:var(--syntax-enum-variant)!important}.expressive-code .semantic-token--windows,.expressive-code .semantic-token--register{color:var(--syntax-escape)!important}.expressive-code .semantic-token--memory{color:var(--syntax-type)!important}.expressive-code .semantic-token--variable{font-weight:500;color:var(--syntax-variable)!important}.expressive-code .semantic-token--instruction{color:var(--syntax-keyword)!important}.expressive-code .semantic-token--command{text-decoration:underline color-mix(in srgb, var(--syntax-function) 55%, transparent);color:var(--syntax-function)!important}@media print{.expressive-code .frame:before{color:#444}}:root{--reading-palette-information:var(--link);--reading-palette-process:var(--accent-4);--reading-palette-result:var(--accent-2);--reading-palette-caution:var(--warning);--reading-information:var(--reading-palette-information);--reading-process:var(--reading-palette-process);--reading-result:var(--reading-palette-result);--reading-caution:var(--reading-palette-caution);--reading-menu-information:#ffad8d;--reading-menu-process:#ed8eb5;--reading-menu-result:#65d1c4;--reading-menu-caution:#f0c76a}:root[data-theme=light]{--reading-information:color-mix(in srgb, var(--reading-palette-information) 88%, #000);--reading-process:color-mix(in srgb, var(--reading-palette-process) 88%, #000);--reading-result:color-mix(in srgb, var(--reading-palette-result) 88%, #000);--reading-caution:color-mix(in srgb, var(--reading-palette-caution) 88%, #000)}:root[data-academy-theme=purple]{--reading-menu-information:#dab9ff;--reading-menu-process:#ff92ad;--reading-menu-result:#68d9c2;--reading-menu-caution:#ffd166}:root[data-academy-theme=midnight]{--reading-palette-process:var(--accent-3);--reading-palette-result:var(--accent-4);--reading-menu-information:#82e8df;--reading-menu-process:#c8a8ff;--reading-menu-result:#9fd784;--reading-menu-caution:#ffbd66}:root[data-academy-theme=forest]{--reading-menu-information:#a4e4b5;--reading-menu-process:#e68aa9;--reading-menu-result:#72c9dc;--reading-menu-caution:#efbd65}:root[data-academy-theme=contrast]{--reading-menu-information:#9fc5ff;--reading-menu-process:#ff91c6;--reading-menu-result:#62f4a5;--reading-menu-caution:#ffd200}.sl-markdown-content{--diagram-paper:var(--paper);--diagram-surface:var(--reader-panel);--diagram-ink:var(--ink);--diagram-ink-strong:var(--ink-strong);--diagram-ink-soft:var(--ink-soft);--diagram-canvas:linear-gradient(120deg, color-mix(in srgb, var(--chapter-accent) 3%, var(--diagram-paper)), var(--diagram-paper));--diagram-node-border:color-mix(in srgb, var(--chapter-accent) 72%, var(--diagram-ink-soft));--diagram-node-bg:color-mix(in srgb, var(--chapter-accent) 4%, var(--diagram-surface));--diagram-node-text:var(--diagram-ink);--diagram-edge:var(--diagram-ink-soft);--diagram-label-bg:color-mix(in srgb, var(--diagram-edge) 2%, var(--diagram-paper));--diagram-cluster-bg:var(--diagram-paper);--diagram-frame:color-mix(in srgb, var(--diagram-ink) 16%, var(--diagram-paper))}.sl-markdown-content .print-book-lesson{--diagram-node-border:color-mix(in srgb, var(--chapter-accent) 72%, var(--diagram-ink-soft));--diagram-node-bg:color-mix(in srgb, var(--chapter-accent) 4%, var(--diagram-surface))}:root:not([data-academy-diagram-background]):not([data-academy-diagram-background=page]) .sl-markdown-content .print-book-lesson,:root[data-academy-diagram-background=theme] .sl-markdown-content .print-book-lesson{--diagram-canvas:linear-gradient(120deg, color-mix(in srgb, var(--chapter-accent) 3%, var(--diagram-paper)), var(--diagram-paper))}:root[data-academy-diagram-background=page] .sl-markdown-content{--diagram-surface:var(--paper);--diagram-canvas:var(--paper)}:root:is([data-academy-diagram-background=warm],[data-academy-diagram-background=cool],[data-academy-diagram-background=rose],[data-academy-diagram-background=neutral]) .sl-markdown-content{--diagram-surface:var(--diagram-paper);--diagram-canvas:var(--diagram-paper);--diagram-ink:#252a31;--diagram-ink-strong:#11151a;--diagram-ink-soft:#59636f}:root[data-academy-diagram-background=warm] .sl-markdown-content{--diagram-paper:#fbf4e7}:root[data-academy-diagram-background=cool] .sl-markdown-content{--diagram-paper:#eef7fb}:root[data-academy-diagram-background=rose] .sl-markdown-content{--diagram-paper:#fbf1f5}:root[data-academy-diagram-background=neutral] .sl-markdown-content{--diagram-paper:#f4f5f6}:root[data-theme=dark]:is([data-academy-diagram-background=warm],[data-academy-diagram-background=cool],[data-academy-diagram-background=rose],[data-academy-diagram-background=neutral]) .sl-markdown-content{--diagram-ink:#e8edf3;--diagram-ink-strong:#fff;--diagram-ink-soft:#bec9d6}:root[data-theme=dark][data-academy-diagram-background=warm] .sl-markdown-content{--diagram-paper:#17110c}:root[data-theme=dark][data-academy-diagram-background=cool] .sl-markdown-content{--diagram-paper:#09141b}:root[data-theme=dark][data-academy-diagram-background=rose] .sl-markdown-content{--diagram-paper:#180e14}:root[data-theme=dark][data-academy-diagram-background=neutral] .sl-markdown-content{--diagram-paper:#101214}:root[data-academy-diagram-fill=plain] .sl-markdown-content,:root[data-academy-diagram-fill=plain] .sl-markdown-content .print-book-lesson{--diagram-node-bg:var(--diagram-paper)}:root[data-academy-diagram-labels=none] .sl-markdown-content{--diagram-label-bg:transparent}:root[data-academy-diagram-fill=plain] pre.mermaid svg :is(.cluster rect,.loopLine+rect){fill:var(--diagram-paper)!important}.sl-markdown-content .mem-figure{--diagram-node-border:var(--reading-information);--diagram-node-bg:color-mix(in srgb, var(--reading-information) 4%, var(--diagram-surface));background:var(--diagram-canvas);border-radius:8px;padding:.7rem}.sl-markdown-content :is(.projection-lab,.ownership-scope,.concept-lab){--ink:var(--diagram-ink);--ink-strong:var(--diagram-ink-strong);--ink-soft:var(--diagram-ink-soft);--surface:var(--diagram-surface);--surface-alt:var(--diagram-node-bg);--surface-soft:var(--diagram-node-bg);--paper-deep:var(--diagram-paper);background:var(--diagram-surface)}.mem-figure .mem-cell__label{color:var(--diagram-ink-soft)}.mem-figure .mem-group,.mem-figure figcaption{color:var(--diagram-ink)}.mem-figure .mem-cell.is-marked .mem-cell__value{border-color:var(--reading-result);background:color-mix(in srgb, var(--reading-result) 12%, var(--diagram-paper));box-shadow:0 0 0 2px color-mix(in srgb, var(--reading-result) 12%, transparent)}:root[data-academy-diagram-fill=plain] .mem-figure .mem-cell.is-marked .mem-cell__value{background:var(--diagram-paper)}:root[data-academy-diagram-fill=plain] .mem-figure{--diagram-node-bg:var(--diagram-paper)}.sl-markdown-content :is(.concept-lab__result-card--accent,.concept-lab__takeaway){border-left-color:var(--reading-result);background:color-mix(in srgb, var(--reading-result) 8%, var(--diagram-paper))}.sl-markdown-content .ownership-scope__memory-item.is-borrowed{border-left-color:var(--reading-information);background:color-mix(in srgb, var(--reading-information) 8%, var(--diagram-paper))}:root[data-academy-diagram-fill=plain] .sl-markdown-content :is(.ownership-scope__memory-item.is-borrowed,.concept-lab__result-card--accent,.concept-lab__takeaway,.concept-lab__pointer-node.is-active,.concept-lab__pointer-node:hover,.concept-lab__pointer-node:focus){background:var(--diagram-paper)}.sl-markdown-content strong .glossary-term-link{color:var(--reading-information);text-decoration-color:currentColor}.sl-markdown-content :not(pre)>code:not(:where(.not-content *)){color:var(--reading-process);border-color:color-mix(in srgb, var(--reading-process) 25%, transparent);background:color-mix(in srgb, var(--reading-process) 5%, var(--reader-panel))}.starlight-aside--note{--sl-color-asides-border:var(--reading-information);background:color-mix(in srgb, var(--reading-information) 5%, var(--reader-panel))}.starlight-aside--tip{--sl-color-asides-border:var(--reading-result);background:color-mix(in srgb, var(--reading-result) 5%, var(--reader-panel))}.starlight-aside--caution{--sl-color-asides-border:var(--reading-caution);background:color-mix(in srgb, var(--reading-caution) 5%, var(--reader-panel))}.sl-markdown-content .table-scroll{border-color:var(--reader-line);border-top:3px solid var(--reading-information)}.sl-markdown-content .table-scroll th{color:var(--reading-information);background:color-mix(in srgb, var(--reading-information) 6%, var(--reader-panel));box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--reading-information) 18%, var(--reader-line))}.sl-markdown-content .table-scroll tbody td:first-child strong{color:var(--reading-information)}.sl-markdown-content .expressive-code{border-inline-start:3px solid color-mix(in srgb, var(--reading-process) 60%, var(--code-bg));border-radius:10px}.sl-markdown-content :is(.mem-figure,.lesson-video) figcaption,.sl-markdown-content .scene__caption{border-inline-start:2px solid var(--reading-information);padding-inline-start:.65rem}.theme-switcher__backgrounds--diagram{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-switcher__backgrounds--diagram button{grid-template-columns:auto 1fr;place-items:center start;padding:7px;font-size:.64rem}.background-dot--page{background:var(--paper)}.theme-switcher__help{color:var(--sidebar-muted);margin-top:8px;font-size:.66rem;line-height:1.55;display:block}.theme-switcher__options{border:1px solid var(--search-border);border-radius:9px;margin-top:8px;padding:9px}.theme-switcher__options>summary{color:var(--sidebar-hover);cursor:pointer;font-size:.75rem;font-weight:600}.theme-switcher__options .theme-switcher__section{background:0 0;border:0;padding-inline:0}.theme-switcher__colour-key{margin:12px 8px;font-size:.72rem;line-height:1.6}.theme-switcher__colour-key summary{color:var(--sidebar-hover);cursor:pointer}.theme-switcher__colour-key ul{gap:.45rem;margin:9px 0;padding:0;list-style:none;display:grid}.theme-switcher__colour-key li{align-items:baseline;gap:.65rem;display:flex}.theme-switcher__role-swatch{background:currentColor;border:1px solid;border-radius:3px;flex:0 0 .75rem;width:.75rem;height:.75rem}.theme-switcher__colour-key p{color:var(--sidebar-muted);margin-top:8px}.theme-switcher__colour-key [data-reading-role=information]{color:var(--reading-menu-information)}.theme-switcher__colour-key [data-reading-role=process]{color:var(--reading-menu-process)}.theme-switcher__colour-key [data-reading-role=result]{color:var(--reading-menu-result)}.theme-switcher__colour-key [data-reading-role=caution]{color:var(--reading-menu-caution)}@media screen{:root[data-academy-grid=off] body:before{background-image:none}:root[data-academy-diagram-borders=strong] .sl-markdown-content :is(pre.mermaid,.scene,.mem-figure){border:2px solid var(--diagram-edge)}:root[data-academy-diagram-borders=none] .sl-markdown-content :is(pre.mermaid,.scene,.mem-figure){border:0}:root[data-academy-diagram-size=actual] pre.mermaid{justify-content:flex-start;overflow-x:auto}:root[data-academy-diagram-size=actual] pre.mermaid svg{flex:none;width:var(--mermaid-natural-width,100%)!important;max-width:none!important}:root[data-academy-text-size=small] .sl-markdown-content{font-size:.94rem}:root[data-academy-text-size=large] .sl-markdown-content{font-size:1.12rem}:root[data-academy-spacing=compact] .sl-markdown-content{--reader-prose-gap:.9rem;--reader-block-gap:1.35rem;--reader-section-gap:2.5rem;--reader-subsection-gap:1.6rem;--reader-widget-gap:2rem;line-height:1.6}:root[data-academy-spacing=spacious] .sl-markdown-content{--reader-prose-gap:1.5rem;--reader-block-gap:2.1rem;--reader-section-gap:3.8rem;--reader-subsection-gap:2.6rem;--reader-widget-gap:3.1rem;line-height:1.9}}:root[data-academy-gradients=off] .sl-markdown-content,:root[data-academy-gradients=off] .sl-markdown-content .print-book-lesson{--diagram-canvas:var(--diagram-paper)}:root[data-academy-gradients=off] :is(.content-panel .lesson-header,.pagination-links a,.course-card,.course-card:hover,.academy-glossary__hero,.academy-glossary__footer){background:color-mix(in srgb, var(--tone,var(--chapter-accent)) 4%, var(--reader-panel))}:root[data-academy-gradients=off] .sl-markdown-content .projection-lab{background:var(--diagram-surface)}:root[data-academy-gradients=off] .sl-markdown-content>.sl-heading-wrapper.level-h2{background:color-mix(in srgb, var(--chapter-accent) 4%, var(--reader-panel))}:root[data-academy-gradients=off] .sl-markdown-content>.sl-heading-wrapper.level-h3:after{background:var(--chapter-accent)}:root[data-academy-gradients=off] .sl-markdown-content hr{background:var(--line)}:root[data-academy-theme=contrast] .sl-markdown-content{--diagram-frame:var(--reader-line)}:root[data-academy-theme=contrast] :is(.content-panel .lesson-header,.pagination-links a,.course-card,.academy-glossary__hero,.academy-glossary__footer),:root[data-academy-theme=contrast] .sl-markdown-content>.sl-heading-wrapper.level-h2{background:var(--reader-panel)}:root[data-academy-heading-style=plain] .content-panel .lesson-header{background:0 0;border:0;border-radius:0;padding-inline:0}:root[data-academy-heading-style=plain] .sl-markdown-content>.sl-heading-wrapper.level-h2{background:0 0;border:0;border-radius:0;padding:0}:root[data-academy-heading-style=plain] .sl-markdown-content>.sl-heading-wrapper.level-h2 h2:before{min-width:1.6em;color:var(--chapter-ink);background:0 0;padding:0}.kit-accordion,.kit-expandable{border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:10px;margin-block:1.25rem}.kit-accordion>summary,.kit-expandable>summary{color:var(--ink-strong);font:650 .95rem/1.4 var(--body);cursor:pointer;align-items:center;gap:.65rem;padding:.7rem 1rem;list-style:none;display:flex}.kit-accordion>summary::-webkit-details-marker,.kit-expandable>summary::-webkit-details-marker{display:none}.kit-accordion>summary:before,.kit-expandable>summary:before{content:"";border-right:2.5px solid var(--chapter-accent);border-bottom:2.5px solid var(--chapter-accent);flex:none;width:.62rem;height:.62rem;margin-inline:.1rem .15rem;transition:transform .12s;transform:rotate(-45deg)}.kit-accordion[open]>summary:before,.kit-expandable[open]>summary:before{transform:rotate(45deg)}.kit-accordion[open]{border-left:4px solid var(--chapter-accent)}.kit-accordion__body,.kit-expandable__body{padding:.1rem 1.1rem 1.1rem}.kit-accordion-group{margin-block:1.25rem}.kit-accordion-group>.kit-accordion{border-radius:0;margin-block:0}.kit-accordion-group>.kit-accordion+.kit-accordion{border-top:0}.kit-accordion-group>.kit-accordion:first-child{border-radius:10px 10px 0 0}.kit-accordion-group>.kit-accordion:last-child{border-radius:0 0 10px 10px}.kit-expandable{background:0 0;margin-block:.75rem}.kit-expandable>summary{color:var(--ink-soft);padding:.5rem .8rem;font-size:.85rem}.kit-columns{grid-template-columns:repeat(var(--kit-columns,2), minmax(0, 1fr));align-items:start;gap:1rem;margin-block:1.25rem;display:grid}.sl-markdown-content .kit-columns>.kit-column,.kit-column{border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:10px;min-width:0;margin:0;padding:1rem 1.1rem}.kit-column__title,.kit-fields__title,.kit-tab__title{color:var(--chapter-ink);font:700 .74rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .6rem}@media (width<=45rem){.kit-columns{grid-template-columns:minmax(0,1fr)}}.kit-tiles{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem;margin-block:1.25rem;display:grid}.sl-markdown-content .kit-tiles>.kit-tile,.kit-tile{color:var(--ink);border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:12px;flex-direction:column;gap:.45rem;margin:0;padding-bottom:1rem;text-decoration:none;display:flex;overflow:hidden}.sl-markdown-content a.kit-tile{color:var(--ink);text-decoration:none}a.kit-tile:hover,a.kit-tile:focus-visible{border-color:var(--chapter-accent)}a.kit-tile:hover .kit-tile__title{text-underline-offset:.2em;text-decoration:underline}.kit-tile__title,.kit-tile__body{margin:0;padding-inline:1rem}.kit-tile__title{color:var(--ink-strong)}.kit-tile__body{color:var(--ink-soft);font-size:.88rem;line-height:1.55}.sl-markdown-content .kit-tile__image,.kit-tile__image{aspect-ratio:16/10;object-fit:cover;width:100%;box-shadow:none;border:0;border-radius:0;margin:0 0 .35rem;display:block}.sl-markdown-content .sl-steps>li:before{color:var(--paper);background-color:var(--chapter-accent);box-shadow:none;font-weight:700}.sl-markdown-content .sl-steps>li:after{background-color:color-mix(in srgb, var(--chapter-accent) 32%, var(--reader-line));width:2px}.sl-markdown-content .sl-badge{--badge:var(--ink-soft);color:color-mix(in srgb, var(--badge) 78%, var(--ink));border:1px solid color-mix(in srgb, var(--badge) 42%, transparent);background:color-mix(in srgb, var(--badge) 13%, transparent);font:650 .7rem/1.7 var(--mono);letter-spacing:.03em;border-radius:999px;padding:.05rem .65rem}.sl-markdown-content .sl-badge.tip{--badge:var(--reading-result)}.sl-markdown-content .sl-badge.caution{--badge:var(--warning)}.sl-markdown-content .sl-badge.danger{--badge:var(--danger)}.sl-markdown-content .sl-badge.success{--badge:var(--success)}.sl-markdown-content :is(p,li)>svg[aria-hidden=true]{vertical-align:-.2em;display:inline-block}.kit-tabs{margin-block:1.4rem}.kit-tab+.kit-tab{margin-top:1.1rem}.kit-tabs.is-enhanced .kit-tab__title{display:none}.kit-tabs__list{border-bottom:1px solid var(--reader-line);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}.kit-tabs__tab{color:var(--ink-soft);font:650 .86rem/1.3 var(--body);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.5rem .95rem}.kit-tabs__tab:hover{color:var(--ink-strong)}.kit-tabs__tab[aria-selected=true]{color:var(--ink-strong);border-bottom-color:var(--chapter-accent)}.kit-tab[hidden]{display:none}.kit-tabs--code.is-enhanced .kit-tabs__list{background:var(--code-bg);border-bottom:0;border-radius:10px 10px 0 0;margin-bottom:0;padding:.35rem .5rem 0}.kit-tabs--code.is-enhanced .kit-tabs__tab{color:color-mix(in srgb, var(--code-text) 68%, transparent)}.kit-tabs--code.is-enhanced .kit-tabs__tab[aria-selected=true]{color:var(--code-text);border-bottom-color:var(--chapter-on-code,var(--chapter-accent))}.kit-tabs--code.is-enhanced .kit-tab__body>.expressive-code{margin-top:0}.kit-tabs--code.is-enhanced .kit-tab__body>.expressive-code .frame,.kit-tabs--code.is-enhanced .kit-tab__body>.expressive-code pre{border-top-left-radius:0;border-top-right-radius:0}.kit-frame{border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:12px;margin:1.6rem 0;padding:.65rem}.kit-frame__media{border-radius:8px;overflow:hidden}.kit-frame__media>p{margin:0}.sl-markdown-content .kit-frame__media :is(img,video,svg),.kit-frame__media :is(img,video,svg){max-width:100%;height:auto;box-shadow:none;border:0;border-radius:6px;margin:0 auto;display:block}.kit-frame__caption{color:var(--ink-soft);text-align:center;margin:.6rem .3rem .1rem;font-size:.84rem;line-height:1.5}.kit-fields{margin-block:1.4rem}.kit-field{border-top:1px solid var(--reader-line);padding:.85rem 0}.kit-field:last-child{border-bottom:1px solid var(--reader-line)}.kit-field__head{flex-wrap:wrap;align-items:center;gap:.4rem .7rem;margin:0 0 .35rem;display:flex}.sl-markdown-content .kit-field__name,.kit-field__name{color:var(--inline-code);background:var(--inline-code-bg);font:700 .88rem/1.4 var(--mono);border-radius:5px;padding:.1rem .45rem}.kit-field__type{color:var(--reading-process);font:600 .78rem/1.4 var(--mono)}.kit-field__flag{color:var(--ink-soft);border:1px solid var(--reader-line);font:600 .66rem/1.6 var(--mono);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.05rem .55rem}.kit-field__default{color:var(--ink-soft);font-size:.78rem}.kit-field__body>:first-child{margin-top:0}.kit-field[data-kind=response]{border-left:3px solid var(--reading-result);padding-left:.9rem}.kit-example{border:1px solid color-mix(in srgb, var(--chapter-accent) 30%, var(--reader-line));border-left:4px solid var(--chapter-accent);background:var(--reader-panel);border-radius:0 12px 12px 0;margin-block:1.6rem}.kit-example__head{border-bottom:1px solid var(--reader-line);flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:0;padding:.7rem 1.1rem;display:flex}.kit-example__label,.kit-prompt__label{font:700 .66rem/1.6 var(--mono);letter-spacing:.09em;text-transform:uppercase}.kit-example__label{color:var(--chapter-ink);background:var(--chapter-tint);border-radius:999px;padding:.1rem .6rem}.kit-example__title{color:var(--ink-strong);font:700 1rem/1.35 var(--display)}.kit-example__body{padding:1rem 1.1rem 1.1rem}.kit-example__body>:first-child{margin-top:0}.kit-panel{border:1px solid var(--reader-line);background:color-mix(in srgb, var(--reading-information) 6%, var(--reader-panel));border-radius:12px;margin-block:1.6rem}.kit-panel__title{color:var(--ink-strong);border-bottom:1px solid var(--reader-line);font:700 .8rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0;padding:.6rem 1rem}.kit-panel__body{padding:.9rem 1rem 1rem;font-size:.93rem}.kit-panel__body>:first-child{margin-top:0}.kit-color{border:1px solid var(--reader-line);background:var(--reader-panel);vertical-align:middle;border-radius:999px;align-items:center;gap:.5rem;margin-inline:.2rem;padding:.1rem .6rem .1rem .15rem;display:inline-flex}.kit-color__swatch{background:var(--swatch);width:1.15rem;height:1.15rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 22%, transparent);border-radius:50%}.sl-markdown-content .kit-color__value,.kit-color__value{font:600 .78rem/1.4 var(--mono);background:0 0;border:0;padding:0}.kit-color__name{color:var(--ink-soft);font-size:.82rem}.kit-prompt{border:1px solid color-mix(in srgb, var(--reading-information) 35%, var(--reader-line));background:var(--reader-panel);border-radius:12px;margin-block:1.6rem}.kit-prompt__head{border-bottom:1px solid var(--reader-line);flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:0;padding:.6rem 1rem;display:flex}.kit-prompt__label{color:var(--reading-information)}.kit-prompt__title{color:var(--ink-strong)}.kit-prompt__text{border-left:3px solid var(--reading-information);margin:.9rem 1rem;padding:.1rem 0 .1rem 1rem;line-height:1.7}.kit-prompt__text>:first-child{margin-top:0}.kit-prompt__actions{flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem;display:flex}.kit-prompt__action{color:var(--ink);border:1.5px solid var(--reader-line);background:var(--reader-panel-raised);font:650 .78rem/1.3 var(--body);cursor:pointer;border-radius:999px;padding:.35rem .85rem;text-decoration:none}.kit-prompt__action:hover,.kit-prompt__action:focus-visible{border-color:var(--reading-information)}.kit-updates{border-left:2px solid var(--reader-line);margin-block:1.5rem;padding-left:1.4rem}.kit-update{padding-bottom:1.8rem;position:relative}.kit-update:before{content:"";background:var(--rust);width:10px;height:10px;box-shadow:0 0 0 4px var(--paper);border-radius:50%;position:absolute;top:.5rem;left:calc(-1.4rem - 6px)}.kit-update__head{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0 0 .3rem;display:flex}.kit-update__label{color:var(--ink-strong);font:700 1.05rem/1.3 var(--display)}.kit-update__tag{color:var(--ink-soft);border:1px solid var(--reader-line);font:600 .68rem/1.6 var(--mono);letter-spacing:.04em;border-radius:999px;padding:.05rem .55rem}.kit-update__description{color:var(--ink-soft);margin:0 0 .5rem}.kit-update__body>:first-child{margin-top:0}.kit-github{border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;margin-block:1.2rem;padding:.85rem 1rem;display:grid}.kit-github__icon{width:2.6rem;height:2.6rem;color:var(--chapter-ink);background:var(--chapter-tint);border-radius:10px;place-items:center;display:grid}.kit-github__title,.kit-github__meta,.kit-github__links{margin:0}.kit-github__title{color:var(--ink-strong);font:700 .98rem/1.35 var(--mono);overflow-wrap:anywhere}.kit-github__meta{color:var(--ink-soft);overflow-wrap:anywhere;font-size:.8rem}.kit-github__links{flex-wrap:wrap;gap:.4rem 1rem;font-size:.84rem;font-weight:650;display:flex}.kit-github__toggle{color:var(--chapter-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.kit-github__code{grid-column:1/-1;min-width:0}.kit-github__code[hidden]{display:none}.kit-github__code pre{max-height:min(70vh,36rem);color:var(--ink);font:.8rem/1.5 var(--mono);tab-size:4;border:1px solid var(--reader-line);background:var(--surface-alt,var(--reader-panel));border-radius:8px;margin:0;padding:.75rem .9rem;overflow:auto}@media (width<=40rem){.kit-github{grid-template-columns:auto minmax(0,1fr)}.kit-github__links{grid-column:1/-1}}.kit-math .katex{font-size:1.08em}.kit-math--display{border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:10px;margin:1.4rem 0;padding:.9rem 1rem;overflow-x:auto}.kit-math--display .katex-display{margin:0}@media print{.kit-tabs__list,.kit-prompt__actions{display:none!important}.kit-tab[hidden]{display:block!important}.kit-tabs.is-enhanced .kit-tab__title{display:block}.kit-accordion>summary:before,.kit-expandable>summary:before{display:none}.kit-accordion,.kit-frame,.kit-example,.kit-field{break-inside:avoid}}.kit-card__body{color:var(--ink-soft);font-size:.92em}.kit-card__label,.kit-card__title{font-weight:700}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_AMS-Regular.BQhdFMY1.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/rust-game-hacking-book/_astro/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/rust-game-hacking-book/_astro/KaTeX_Fraktur-Bold.CL6g_b3V.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Fraktur-Regular.CTYiF6lA.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/rust-game-hacking-book/_astro/KaTeX_Main-Bold.Cx986IdX.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/rust-game-hacking-book/_astro/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Main-Italic.NWA7e6Wa.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Main-Regular.B22Nviop.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/rust-game-hacking-book/_astro/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Math-Italic.t53AETM-.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/rust-game-hacking-book/_astro/KaTeX_SansSerif-Bold.D1sUS0GD.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_SansSerif-Italic.C3H0VqGB.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Script-Regular.D3wIWfF6.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Size1-Regular.mCD8mA8B.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Size2-Regular.Dy4dx90m.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Size4-Regular.Dl5lxZxV.woff2)format("woff2")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/rust-game-hacking-book/_astro/KaTeX_Typewriter-Regular.CO6r4hn1.woff2)format("woff2")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,math,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.19.0"}.katex .katex-mathml{-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}pre.mermaid{border:1px solid var(--diagram-frame);width:100%;min-width:0;max-width:100%;box-shadow:none;background:var(--diagram-canvas);border-radius:4px;justify-content:center;padding:10px;display:flex;overflow:hidden}pre.mermaid svg{display:block;overflow:visible;width:min(100%, var(--mermaid-natural-width,100%))!important;max-width:100%!important;height:auto!important}pre.mermaid .label,pre.mermaid .nodeLabel,pre.mermaid .edgeLabel{color:var(--diagram-node-text)!important;font-family:var(--body)!important}pre.mermaid svg text,pre.mermaid svg .messageText,pre.mermaid svg .loopText,pre.mermaid svg .label text,pre.mermaid svg .nodeLabel{fill:var(--diagram-node-text)!important;color:var(--diagram-node-text)!important}pre.mermaid svg .node rect,pre.mermaid svg .node circle,pre.mermaid svg .node ellipse,pre.mermaid svg .node polygon,pre.mermaid svg .node path,pre.mermaid svg rect.actor,pre.mermaid svg .note,pre.mermaid svg .labelBox{fill:var(--diagram-node-bg)!important;stroke:var(--diagram-node-border)!important}pre.mermaid svg .state-start,pre.mermaid svg .state-end{fill:var(--diagram-edge)!important;stroke:var(--diagram-edge)!important}pre.mermaid svg .node rect,pre.mermaid svg rect.actor,pre.mermaid svg .cluster rect{rx:6px;ry:6px}pre.mermaid svg text.actor,pre.mermaid svg .actor tspan,pre.mermaid svg .messageText,pre.mermaid svg .labelText,pre.mermaid svg .loopText,pre.mermaid svg .noteText{fill:var(--diagram-node-text)!important;color:var(--diagram-node-text)!important}pre.mermaid svg .edgePath path,pre.mermaid svg .flowchart-link,pre.mermaid svg .messageLine0,pre.mermaid svg .messageLine1,pre.mermaid svg .loopLine,pre.mermaid svg .actor-line,pre.mermaid svg .transition{stroke:var(--diagram-edge)!important}pre.mermaid svg marker path,pre.mermaid svg .arrowheadPath{fill:var(--diagram-edge)!important;stroke:var(--diagram-edge)!important}pre.mermaid svg .edgeLabel rect,pre.mermaid svg .labelBkg{fill:var(--diagram-label-bg)!important;opacity:1!important}pre.mermaid svg .edgeLabel foreignObject>div,pre.mermaid svg .edgeLabel foreignObject span,pre.mermaid svg .edgeLabel foreignObject p{color:var(--diagram-node-text)!important;background-color:#0000!important}pre.mermaid svg .academy-edge-label-box{stroke-width:1px;fill:var(--diagram-label-bg)!important;stroke:#0000!important}:root[data-academy-diagram-labels=outlined] pre.mermaid svg .academy-edge-label-box{stroke:color-mix(in srgb, var(--diagram-edge) 45%, var(--diagram-paper))!important}:root[data-academy-diagram-labels=none] pre.mermaid svg :is(.academy-edge-label-box,.edgeLabel rect,.labelBkg){fill:#0000!important;stroke:#0000!important}pre.mermaid svg .cluster rect,pre.mermaid svg .loopLine+rect{fill:color-mix(in srgb, var(--chapter-accent) 2%, var(--diagram-cluster-bg))!important;stroke:color-mix(in srgb, var(--diagram-node-border) 48%, var(--diagram-paper))!important}@media (width<=40rem){pre.mermaid{padding:12px 8px}}.account-controls [data-account-body]{gap:6px;margin:6px 0;display:grid}.account-controls button{text-align:left}.account-controls__who{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;font-weight:650;display:flex}.account-controls__who img{border-radius:50%;width:28px;height:28px}.account-controls [data-account-status]:empty{display:none}.reading-audio{font:.8rem/1.5 var(--body);color:var(--ink);margin-block:.8rem}.reading-audio summary{cursor:pointer;width:fit-content;font-weight:600}.reading-audio summary span{color:var(--ink-soft);margin-inline-start:.4rem;font-weight:400}.reading-audio__row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.5rem;display:flex}.reading-audio__row label{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.reading-audio select,.reading-audio button{max-width:100%;min-height:2rem;font:inherit;border:1px solid var(--line);color:var(--ink);background:var(--reader-panel,var(--surface));border-radius:3px;padding:.2rem .45rem}.reading-audio button{cursor:pointer}.reading-audio button:disabled{color:var(--ink-soft);cursor:default}.reading-audio input[type=range]{width:6rem;height:2rem;accent-color:var(--reading-process)}.reading-audio input[type=checkbox]{accent-color:var(--reading-process)}.reading-audio p{margin:.35rem 0}.reading-audio small{color:var(--ink-soft);font-size:.7rem;display:block}@media (width<=36rem){.reading-audio button,.reading-audio select{min-height:2.5rem}}@media print{.reading-audio{display:none}}
