@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/rust-game-hacking-book/_astro/lexend-vietnamese-wght-normal.RvljkFvg.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/rust-game-hacking-book/_astro/lexend-latin-ext-wght-normal.B6JQhE1e.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/rust-game-hacking-book/_astro/lexend-latin-wght-normal.ci0D1wrL.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/rust-game-hacking-book/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/rust-game-hacking-book/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/rust-game-hacking-book/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/rust-game-hacking-book/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/rust-game-hacking-book/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/rust-game-hacking-book/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/rust-game-hacking-book/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/rust-game-hacking-book/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--body:"Lexend Variable", system-ui, sans-serif;--display:"Space Grotesk Variable", system-ui, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, monospace;--sl-font:var(--body);--sl-font-mono:var(--mono);--sl-content-width:48rem}:root[data-theme=dark]{--sl-color-white:color-mix(in srgb, var(--ink) 80%, white);--sl-color-gray-1:color-mix(in srgb, var(--ink) 94%, var(--paper));--sl-color-gray-2:color-mix(in srgb, var(--ink) 86%, var(--paper));--sl-color-gray-3:var(--ink-soft);--sl-color-gray-4:color-mix(in srgb, var(--ink-soft) 55%, var(--paper));--sl-color-gray-5:color-mix(in srgb, var(--ink) 20%, var(--paper));--sl-color-gray-6:color-mix(in srgb, var(--ink) 9%, var(--paper));--sl-color-black:var(--paper);--sl-color-accent-low:color-mix(in srgb, var(--rust) 24%, var(--paper));--sl-color-accent:var(--rust);--sl-color-accent-high:var(--rust-dark);--sl-color-text-accent:var(--link)}:root[data-theme=light]{--sl-color-white:color-mix(in srgb, var(--ink) 80%, black);--sl-color-gray-1:color-mix(in srgb, var(--ink) 94%, var(--paper));--sl-color-gray-2:var(--ink);--sl-color-gray-3:var(--ink-soft);--sl-color-gray-4:color-mix(in srgb, var(--ink-soft) 62%, var(--paper));--sl-color-gray-5:color-mix(in srgb, var(--ink) 22%, var(--paper));--sl-color-gray-6:color-mix(in srgb, var(--ink) 8%, var(--paper));--sl-color-gray-7:color-mix(in srgb, var(--ink) 4%, var(--paper));--sl-color-black:var(--paper);--sl-color-accent-low:color-mix(in srgb, var(--rust) 16%, var(--paper));--sl-color-accent:var(--rust);--sl-color-accent-high:var(--rust-dark);--sl-color-text-accent:var(--link)}.sl-markdown-content :is(h1,h2,h3,h4),h1#_top,.lesson-header h1,.site-title{font-family:var(--display);letter-spacing:-.01em}.lesson-header{margin-bottom:.5rem}.lesson-header .lesson-kicker{color:var(--ink-soft);font-family:var(--mono);font-size:var(--sl-text-xs);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:.6rem;display:flex}.lesson-header .lesson-kicker>span:first-child{color:var(--rust-dark);font-weight:700}.lesson-header h1{color:var(--sl-color-white);font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);margin:0}.lesson-header .lesson-summary{color:var(--ink-soft);font-size:var(--sl-text-lg);margin:.75rem 0 0;line-height:1.55}.lesson-header .lesson-stats{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.lesson-header .lesson-stats span{border:1px solid var(--line);color:var(--ink-soft);font-size:var(--sl-text-xs);border-radius:999px;padding:.2rem .6rem}.sl-markdown-content strong .glossary-term-link{color:inherit;text-decoration:underline dotted;text-decoration-color:var(--chapter-ink);text-underline-offset:.2em}.sl-markdown-content strong .glossary-term-link:hover,.sl-markdown-content strong .glossary-term-link:focus-visible{color:var(--chapter-ink);text-decoration-style:solid}.diagram-on-dark img{background:#fff;border-radius:.5rem;padding:.5rem}.sl-markdown-content details.lab-source{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;padding:.25rem 1rem}.sl-markdown-content details.lab-source>summary{cursor:pointer;color:var(--chapter-ink);padding:.5rem 0;font-weight:600}pre.mermaid:not([data-processed]){color:#0000;min-height:4rem}:root{--tone-1:color-mix(in srgb, #9e421a 85%, var(--ink-soft));--tone-2:color-mix(in srgb, #175ba6 85%, var(--ink-soft));--tone-3:color-mix(in srgb, #7143ad 85%, var(--ink-soft));--tone-4:color-mix(in srgb, #006779 85%, var(--ink-soft));--chapter-accent:var(--rust-dark);--tone:var(--chapter-accent);--chapter-ink:color-mix(in srgb, var(--chapter-accent) 72%, var(--ink));--chapter-tint:color-mix(in srgb, var(--chapter-accent) 12%, transparent);--chapter-on-code:color-mix(in srgb, var(--chapter-accent) 60%, var(--code-text));--chapter-on-night:color-mix(in srgb, var(--chapter-accent) 68%, var(--header-text))}:root[data-theme=dark]{--tone-1:color-mix(in srgb, #ffb08d 80%, var(--ink-soft));--tone-2:color-mix(in srgb, #87baff 80%, var(--ink-soft));--tone-3:color-mix(in srgb, #c7a7fb 80%, var(--ink-soft));--tone-4:color-mix(in srgb, #70d2df 80%, var(--ink-soft))}:root[data-academy-theme=contrast]{--tone-1:#9e421a;--tone-2:#175ba6;--tone-3:#7143ad;--tone-4:#006779}:root[data-academy-theme=contrast][data-theme=dark]{--tone-1:#ffb08d;--tone-2:#87baff;--tone-3:#c7a7fb;--tone-4:#70d2df}[data-tone]{--chapter-accent:var(--tone-1);--tone:var(--chapter-accent);--chapter-ink:color-mix(in srgb, var(--chapter-accent) 72%, var(--ink));--chapter-tint:color-mix(in srgb, var(--chapter-accent) 12%, transparent);--chapter-on-code:color-mix(in srgb, var(--chapter-accent) 60%, var(--code-text));--chapter-on-night:color-mix(in srgb, var(--chapter-accent) 68%, var(--header-text))}[data-tone="2"]{--chapter-accent:var(--tone-2)}[data-tone="3"]{--chapter-accent:var(--tone-3)}[data-tone="4"]{--chapter-accent:var(--tone-4)}body{isolation:isolate}body:before{z-index:-1;pointer-events:none;content:"";opacity:.36;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:28px 28px;position:fixed;inset:0}::selection{color:var(--paper);background:var(--rust-dark)}:where(a,button,input,summary,[tabindex]):focus-visible{outline:2px solid var(--rust);outline-offset:3px}.reading-progress{z-index:60;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.reading-progress span{background:var(--chapter-on-night);transform-origin:0;width:100%;height:100%;transition:transform .1s linear;display:block;transform:scaleX(0)}header.header{--sl-color-white:var(--header-text);--sl-color-gray-1:var(--sidebar-hover);--sl-color-gray-2:var(--sidebar-muted);--sl-color-gray-3:var(--sidebar-muted);--sl-color-gray-5:var(--search-border);--sl-color-gray-6:var(--search-surface);--sl-color-black:var(--night);--sl-color-text-accent:var(--rust);color:var(--header-text);border-bottom:1px solid var(--header-border);background:var(--night)}header.header .site-title{color:var(--header-text);font-family:var(--display);letter-spacing:-.01em}@media (width<=30rem){header.header .site-title{font-size:clamp(.8rem,4.2vw,1.15rem)}}header.header site-search button{color:var(--sidebar-muted);border:1px solid var(--search-border);background:var(--search-surface);border-radius:8px}header.header site-search button:hover{color:var(--sidebar-hover);border-color:var(--rust)}header.header .social-icons a{color:var(--sidebar-muted)}header.header .social-icons a:hover{color:var(--sidebar-hover)}starlight-menu-button button{color:var(--header-text);background:var(--search-surface)}#starlight__sidebar{--sl-color-white:var(--sidebar-hover);--sl-color-gray-1:var(--sidebar-hover);--sl-color-gray-2:var(--sidebar-muted);--sl-color-gray-3:var(--sidebar-muted);--sl-color-gray-5:var(--search-border);--sl-color-gray-6:var(--search-surface);--sl-color-hairline-light:#ffffff14;--sl-color-hairline-shade:#ffffff14;--sl-color-text-accent:var(--rust);color:var(--sidebar-muted);background:var(--night);scrollbar-color:var(--rust) var(--night);scrollbar-width:thin}.sidebar-pane{border-inline-end:1px solid #ffffff0f}#starlight__sidebar ul.top-level{counter-reset:gha-chapter}#starlight__sidebar ul.top-level>li+li{counter-increment:gha-chapter}#starlight__sidebar ul.top-level>li{--chapter-accent:var(--rust);--tone:var(--chapter-accent);--tone-on-night:color-mix(in srgb, var(--tone) 68%, var(--sidebar-text))}#starlight__sidebar ul.top-level>li:has(a[data-tone="1"]){--chapter-accent:var(--tone-1)}#starlight__sidebar ul.top-level>li:has(a[data-tone="2"]){--chapter-accent:var(--tone-2)}#starlight__sidebar ul.top-level>li:has(a[data-tone="3"]){--chapter-accent:var(--tone-3)}#starlight__sidebar ul.top-level>li:has(a[data-tone="4"]){--chapter-accent:var(--tone-4)}#starlight__sidebar summary{border-bottom:1px solid #ffffff12;padding-block:.5rem}#starlight__sidebar .group-label .large{color:var(--sidebar-text);font-family:var(--display);font-size:.9rem;font-weight:700;line-height:1.3}#starlight__sidebar ul.top-level>li+li .group-label .large{align-items:baseline;display:flex}#starlight__sidebar ul.top-level>li+li .group-label .large:before{min-width:1.9rem;color:var(--tone-on-night);content:counter(gha-chapter, decimal-leading-zero);font-family:var(--mono);flex:none;font-size:.72rem;font-weight:600}#starlight__sidebar a{color:var(--sidebar-muted);border-radius:6px;font-size:.86rem;transition:color .13s,background-color .13s}#starlight__sidebar a:hover,#starlight__sidebar a:focus-visible{color:var(--sidebar-hover);background:color-mix(in srgb, var(--sidebar-hover) 7%, transparent)}#starlight__sidebar a[aria-current=page],#starlight__sidebar a[aria-current=page]:hover{color:var(--sidebar-hover);background:color-mix(in srgb, var(--tone-on-night,var(--rust)) 17%, var(--night));border-inline-start:3px solid var(--tone-on-night,var(--rust));border-radius:0 8px 8px 0;outline:none;padding-inline-start:calc(var(--sl-sidebar-item-padding-inline,.5rem) - 3px);font-weight:700;box-shadow:0 1px 2px #00000047}#starlight__sidebar a[aria-current=page]:focus-visible{background:color-mix(in srgb, var(--tone-on-night,var(--rust)) 28%, var(--night));text-underline-offset:.25em;outline:none;text-decoration:underline}#starlight__sidebar .caret{color:var(--sidebar-muted)}.academy-reader-tools{align-items:center;gap:.45rem;display:flex}.print-pdf-button{width:2.4rem;height:2.4rem;color:var(--sidebar-muted);border:1px solid var(--search-border);background:var(--search-surface);cursor:pointer;border-radius:8px;place-items:center;display:inline-grid}.print-pdf-button:hover,.print-pdf-button:focus-visible{color:var(--sidebar-hover);border-color:var(--rust);background:var(--accent-tint)}@media (width>=50rem){:root[data-academy-sidebar=hidden] .sidebar-pane{display:none}:root[data-academy-sidebar=hidden] .main-frame{--sl-content-inline-start:0rem}}@media (width>=50rem) and (width<=71.99rem){:root[data-academy-sidebar=hidden] .main-pane .sl-container{margin-inline:auto}}:root[data-academy-toc=hidden] .right-sidebar-container{display:none}:root[data-academy-toc=hidden][data-has-toc]{--sl-mobile-toc-height:0rem}@media (width<=49.99rem){:root[data-academy-toc=hidden] .right-sidebar-container{display:block}:root[data-academy-toc=hidden][data-has-toc]{--sl-mobile-toc-height:3rem}}@media (width>=72rem){:root[data-academy-toc=hidden][data-has-toc] .main-pane{--sl-content-margin-inline:auto;width:100%}}.theme-switcher{font-family:var(--body);position:relative}.theme-switcher__toggle{min-width:11.5rem;min-height:2.4rem;color:var(--sidebar-muted);border:1px solid var(--search-border);background:var(--search-surface);cursor:pointer;font:inherit;text-align:left;border-radius:8px;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:0 11px;font-size:.72rem;display:grid}.theme-switcher__toggle:hover,.theme-switcher__toggle:focus-visible,.theme-switcher__toggle[aria-expanded=true]{color:var(--sidebar-hover);border-color:var(--rust)}.theme-switcher__glyph{color:var(--rust);font-size:1.05rem}.theme-switcher__current{min-width:0;color:var(--sidebar-text);font-family:var(--mono);letter-spacing:.06em;text-align:right;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.6rem;font-weight:500;overflow:hidden}.theme-switcher__menu{z-index:200;width:min(22rem,100vw - 2rem);max-height:calc(100vh - 5.5rem);color:var(--sidebar-text);border:1px solid var(--search-border);background:var(--night-soft);scrollbar-width:thin;border-radius:12px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 34px #00000052}.theme-switcher__menu[hidden]{display:none}.theme-switcher__menu-heading{border-bottom:1px solid var(--search-border);align-items:center;gap:10px;padding:7px 8px 11px;display:flex}.theme-switcher__menu-heading>span:first-child{background:var(--accent-tint);border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.theme-switcher__menu-heading strong,.theme-switcher__menu-heading small{display:block}.theme-switcher__menu-heading strong{color:var(--sidebar-hover);font-size:.82rem}.theme-switcher__menu-heading small{color:var(--sidebar-muted);margin-top:1px;font-size:.66rem}.theme-switcher__section{border:1px solid color-mix(in srgb, var(--search-border) 72%, transparent);background:color-mix(in srgb, var(--search-surface) 72%, transparent);border-radius:9px;margin-top:8px;padding:9px}.theme-switcher__section>p,.theme-switcher__section--toggles>div>p{color:var(--sidebar-muted);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 9px;font-size:.6rem}.theme-switcher__section--toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.theme-switcher__modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.theme-switcher__modes--three,.theme-switcher__modes--palette{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-switcher__modes--chat button[data-chat-choice=off]{grid-column:1/-1}.theme-switcher__modes button,.theme-switcher__backgrounds button{color:var(--sidebar-muted);border:1px solid var(--search-border);background:var(--search-surface);font-family:var(--mono);cursor:pointer;border-radius:7px;font-weight:700}.theme-switcher__modes button{min-height:36px;padding:6px 7px;font-size:.66rem}.theme-switcher__modes button:hover,.theme-switcher__modes button:focus-visible,.theme-switcher__backgrounds button:hover,.theme-switcher__backgrounds button:focus-visible{color:var(--sidebar-hover);border-color:color-mix(in srgb, var(--rust) 55%, var(--search-border))}.theme-switcher__modes button[aria-pressed=true],.theme-switcher__backgrounds button[aria-pressed=true]{color:var(--sidebar-hover);border-color:color-mix(in srgb, var(--rust) 42%, var(--search-border));background:var(--accent-tint);box-shadow:inset .2rem 0 0 color-mix(in srgb, var(--rust) 60%, transparent)}.theme-switcher__backgrounds{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.theme-switcher__backgrounds button{justify-items:center;gap:4px;min-width:0;padding:6px 2px;font-size:.56rem;font-weight:500;display:grid}.background-dot{border:1px solid #ffffff5c;border-radius:50%;width:20px;height:20px;box-shadow:inset 0 0 0 2px #00000014}.background-dot--theme{background:linear-gradient(135deg, var(--paper) 0 50%, var(--rust) 50%)}.background-dot--warm{background:linear-gradient(135deg,#fbf4e7 0 50%,#17110c 50%)}.background-dot--cool{background:linear-gradient(135deg,#eef7fb 0 50%,#09141b 50%)}.background-dot--rose{background:linear-gradient(135deg,#fbf1f5 0 50%,#180e14 50%)}.background-dot--neutral{background:linear-gradient(135deg,#f4f5f6 0 50%,#101214 50%)}.theme-switcher__choices{gap:5px;display:grid}.theme-switcher__choices button{width:100%;color:var(--sidebar-muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:7px;display:grid}.theme-switcher__choices button:hover,.theme-switcher__choices button:focus-visible{color:var(--sidebar-hover);background:var(--search-surface)}.theme-switcher__choices button[aria-pressed=true]{color:var(--sidebar-hover);border-color:color-mix(in srgb, var(--rust) 42%, var(--search-border));background:var(--accent-tint)}.theme-switcher__choices strong,.theme-switcher__choices small{display:block}.theme-switcher__choices strong{color:inherit;font-size:.76rem}.theme-switcher__choices small{color:var(--sidebar-muted);margin-top:1px;font-size:.64rem}.theme-swatch{border:1px solid #fff3;border-radius:5px;width:30px;height:25px}.theme-swatch--paper{background:linear-gradient(135deg,#f7f3e8 0 46%,#d85f2a 46% 64%,#276c67 64% 82%,#8f3c63 82%)}.theme-swatch--purple{background:linear-gradient(135deg,#171122 0 46%,#c48cff 46% 64%,#68d9c2 64% 82%,#ff92ad 82%)}.theme-swatch--midnight{background:linear-gradient(135deg,#0d1723 0 46%,#53d2c7 46% 64%,#ffb36b 64% 82%,#c8a8ff 82%)}.theme-swatch--forest{background:linear-gradient(135deg,#eef3e8 0 46%,#3b8c55 46% 64%,#286881 64% 82%,#8a3d5b 82%)}.theme-swatch--contrast{background:linear-gradient(135deg,#fff 0 38%,#000 38% 56%,#ffbd00 56% 72%,#00653b 72% 86%,#9a004f 86%)}.theme-switcher__reset{width:100%;min-height:34px;color:var(--sidebar-muted);border:1px dashed var(--search-border);font-family:var(--mono);cursor:pointer;background:0 0;border-radius:8px;margin-top:9px;font-size:.64rem}.theme-switcher__reset:hover,.theme-switcher__reset:focus-visible{color:var(--sidebar-hover);border-color:var(--rust);background:var(--accent-tint)}.theme-switcher__shortcut{color:var(--sidebar-muted);font-family:var(--mono);margin-top:10px;font-size:.56rem;line-height:1.5;display:block}@media (width<=50rem){.theme-switcher__menu{width:auto;max-height:calc(100vh - 5.5rem);position:fixed;top:4.25rem;left:1rem;right:1rem}.theme-switcher__toggle{width:100%;min-width:0}}.lesson-header h1{letter-spacing:-.045em;font-size:clamp(2.3rem,4.6vw,3.5rem);line-height:1.02}.content-panel .lesson-header{border:1px solid color-mix(in srgb, var(--tone) 16%, var(--reader-line));background:linear-gradient(120deg, color-mix(in srgb, var(--tone) 6%, var(--reader-panel)), color-mix(in srgb, var(--tone) 2%, var(--reader-panel)) 75%);border-radius:16px;margin-bottom:0;padding:clamp(1.25rem,3vw,1.9rem) clamp(1.1rem,3vw,2rem) clamp(1.45rem,3vw,2.1rem);overflow:hidden}.content-panel .lesson-header:after{background:var(--chapter-accent);width:auto;height:4px;bottom:0;left:0;right:0}.lesson-header .lesson-kicker{align-items:center}.lesson-header .lesson-kicker>span:first-child{color:color-mix(in srgb, var(--tone) 72%, var(--ink));background:color-mix(in srgb, var(--tone) 7%, var(--reader-panel));border-radius:999px;padding:.3rem .7rem}.lesson-header .lesson-kicker span+span:before{color:var(--tone)}.lesson-header .lesson-stats span{color:var(--ink-soft);border-color:var(--reader-line);background:var(--reader-panel-raised)}.content-panel:has(.lesson-header)+.content-panel{border-top:0}.content-panel:has(>.sl-container>#_top:only-child){padding-block:0}.content-panel:has(>.sl-container>#_top:only-child)+.content-panel{border-top:0}.sl-markdown-content{--diagram-node-border:var(--chapter-accent);--diagram-node-bg:color-mix(in srgb, var(--chapter-accent) 6%, var(--paper));--diagram-cluster-bg:var(--paper);counter-reset:lesson-section;text-rendering:optimizelegibility;line-height:1.76}.sl-markdown-content a:not(:where(.not-content *,.sl-link-button)){color:var(--chapter-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--chapter-accent) 45%, transparent);text-underline-offset:.18em;text-decoration-thickness:.08em}.sl-markdown-content a:not(:where(.not-content *,.sl-link-button)):hover,.sl-markdown-content a:not(:where(.not-content *,.sl-link-button)):focus{color:var(--ink);text-decoration-color:currentColor}.sl-markdown-content :is(h2,h3,h4):not(:where(.not-content *)){color:var(--ink);font-family:var(--display);letter-spacing:-.025em;font-weight:700}.sl-markdown-content>.sl-heading-wrapper.level-h2{--tone:var(--chapter-accent);counter-increment:lesson-section;border:1px solid color-mix(in srgb, var(--tone) 14%, var(--reader-line));border-left:4px solid var(--tone);background:linear-gradient(110deg, color-mix(in srgb, var(--tone) 6%, var(--reader-panel)), color-mix(in srgb, var(--tone) 2%, var(--reader-panel)));border-radius:4px 12px 12px 4px;margin-top:3rem;margin-bottom:1rem;padding:.8rem 1.1rem;scroll-margin-top:5rem;line-height:1.22;position:relative}.sl-markdown-content>.sl-heading-wrapper.level-h2:first-child{margin-top:0}.sl-markdown-content>.sl-heading-wrapper.level-h2 h2:before{min-width:2.3em;color:var(--paper);background:color-mix(in srgb, var(--tone) 86%, var(--ink));content:counter(lesson-section, decimal-leading-zero);font-family:var(--mono);letter-spacing:.04em;text-align:center;vertical-align:.28em;border-radius:7px;margin-right:.7rem;padding:.24em .5em;font-size:.58em;font-weight:700;line-height:1.2;display:inline-block}.sl-markdown-content>.sl-heading-wrapper.level-h2 h2{font-size:clamp(1.4rem,2.5vw,1.7rem);line-height:1.22}.sl-markdown-content>:is(.expressive-code,.mem-figure,pre.mermaid,.table-scroll,details,.concept-lab,.ownership-scope,.projection-lab){content-visibility:auto;contain-intrinsic-size:auto 18rem}.sl-markdown-content>.sl-heading-wrapper.level-h3{margin-top:1.9em}.sl-markdown-content>.sl-heading-wrapper.level-h3:after{content:"";background:linear-gradient(90deg, var(--chapter-accent), transparent);border-radius:999px;width:42px;height:2px;margin-top:8px;display:block}.sl-markdown-content>.sl-heading-wrapper.level-h3 h3{color:var(--ink-strong);font-size:1.18rem}.sl-markdown-content strong:not(:where(.not-content *)){color:var(--ink-strong);font-weight:700}.sl-markdown-content :is(p,li):not(:where(.not-content *)){text-wrap:pretty}.sl-markdown-content li:not(:where(.not-content *))::marker{color:var(--chapter-ink);font-family:var(--mono);font-weight:700}.sl-markdown-content hr:not(:where(.not-content *)){background:linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);border:0;height:1px;margin:3em 0}.sl-markdown-content :not(pre)>code:not(:where(.not-content *)){color:var(--inline-code);border:1px solid var(--inline-code-border);background:var(--inline-code-bg);font-family:var(--mono);border-radius:4px;padding:.12em .34em;font-size:.83em}.sl-markdown-content img:not(:where(.not-content *)){border:8px solid var(--image-frame);box-shadow:var(--shadow);border-radius:8px}.table-scroll{border:1px solid var(--line);overscroll-behavior-inline:contain;border-radius:8px;width:100%;margin:1.6em 0;overflow:auto hidden}.table-scroll:focus-visible{outline:3px solid var(--chapter-accent);outline-offset:3px}.sl-markdown-content .table-scroll table{border-collapse:separate;border-spacing:0;border:0;width:100%;min-width:max(100%,28rem);margin:0;font-size:.95em;display:table}.sl-markdown-content .table-scroll :is(th,td){border:0;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.sl-markdown-content .table-scroll th{color:var(--chapter-ink);background:color-mix(in srgb, var(--chapter-accent) 12%, var(--paper));box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--chapter-accent) 50%, transparent);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:.72em;line-height:1.35}.sl-markdown-content .table-scroll tr{color:var(--ink);background:var(--reader-panel);transition:background-color .14s}.sl-markdown-content .table-scroll tr:nth-child(2n){background:color-mix(in srgb, var(--ink) 2%, var(--reader-panel))}.sl-markdown-content .table-scroll tbody tr:hover{background:color-mix(in srgb, var(--reading-information) 5%, var(--reader-panel))}.sl-markdown-content .table-scroll tr:last-child td{border-bottom:0}.starlight-aside{color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--sl-color-asides-border);background:var(--sl-color-asides-text-accent-bg,var(--surface-alt));border-radius:0 10px 10px 0;padding:19px 22px}.starlight-aside--tip{--sl-color-asides-border:var(--success);background:var(--success-soft)}.starlight-aside--caution{--sl-color-asides-border:var(--warning);background:var(--warning-soft)}.starlight-aside--danger{--sl-color-asides-border:var(--danger);background:var(--danger-soft)}.starlight-aside--note{--sl-color-asides-border:var(--chapter-ink);background:color-mix(in srgb, var(--chapter-accent) 11%, var(--paper))}.starlight-aside__title{color:var(--sl-color-asides-border);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;gap:.45rem;font-size:.72rem;font-weight:700}.starlight-aside__title svg{display:none}.starlight-aside__title:before{letter-spacing:normal;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:1rem}.starlight-aside--tip .starlight-aside__title:before{content:"💡"}.starlight-aside--caution .starlight-aside__title:before{content:"⚠️"}.starlight-aside--danger .starlight-aside__title:before{content:"🛑"}.starlight-aside--note .starlight-aside__title:before{content:"🧠"}.starlight-aside__content{color:var(--ink)}@media screen{.sl-markdown-content{--reader-prose-gap:1.2rem;--reader-block-gap:1.75rem;--reader-section-gap:3.25rem;--reader-subsection-gap:2.15rem;--reader-widget-gap:2.6rem}.sl-markdown-content>:is(p,ul,ol,blockquote)+:is(p,ul,ol,blockquote){margin-top:var(--reader-prose-gap)}.sl-markdown-content>:is(ul,ol)>li+li{margin-top:.4rem}.sl-markdown-content>:is(.expressive-code,pre,figure,.table-scroll,.starlight-aside,details),.sl-markdown-content>p:has(>:is(img,picture)){margin-block:var(--reader-block-gap)}.sl-markdown-content>:is(.academy-quiz,.concept-lab,.ownership-scope,.projection-lab){margin-block:var(--reader-widget-gap)}.sl-markdown-content>.sl-heading-wrapper.level-h2{margin-top:var(--reader-section-gap);margin-bottom:1.15rem}.sl-markdown-content>.sl-heading-wrapper.level-h3{margin-top:var(--reader-subsection-gap);margin-bottom:1.1rem}.sl-markdown-content>:is(p,ul,ol,blockquote,pre,figure,details,.expressive-code,.table-scroll,.starlight-aside,.academy-quiz,.concept-lab,.ownership-scope,.projection-lab,.sl-heading-wrapper):first-child{margin-top:0}}@media screen and (width<=40rem){.sl-markdown-content{--reader-prose-gap:1.15rem;--reader-block-gap:1.6rem;--reader-section-gap:3.1rem;--reader-subsection-gap:2rem;--reader-widget-gap:2.4rem}}.pagination-links a{--tone:var(--chapter-accent);border:1px solid color-mix(in srgb, var(--tone) 16%, var(--reader-line));background:linear-gradient(120deg, color-mix(in srgb, var(--tone) 5%, var(--reader-panel)), var(--reader-panel));border-radius:10px;transition:transform .16s,border-color .16s}.pagination-links a:not([data-tone]){--tone:var(--ink-soft)}.pagination-links a:hover,.pagination-links a:focus-visible{border-color:var(--tone);transform:translateY(-2px)}.pagination-links a .link-title{color:var(--ink);font-family:var(--display)}starlight-toc a[aria-current=true]{color:var(--chapter-ink);font-weight:700}.sl-markdown-content .print-book-lesson{--diagram-node-border:var(--chapter-accent);--diagram-node-bg:color-mix(in srgb, var(--chapter-accent) 6%, var(--paper))}@media (width<=50rem){.starlight-aside{padding:16px 17px}}@media print{body:before,.reading-progress,.academy-reader-tools{display:none!important}}:root{--done:var(--success);--done-ink:color-mix(in srgb, var(--success) 80%, var(--ink));--done-tint:color-mix(in srgb, var(--success) 14%, transparent);--done-on-night:color-mix(in srgb, var(--success) 55%, #fff)}.done-toggle,.chapter-done-button,.progress-clear-button{min-height:2.2rem;color:var(--ink);border:1.5px solid var(--reader-line);background:var(--reader-panel-raised);font:650 .8rem/1.2 var(--body);cursor:pointer;border-radius:999px;align-items:center;gap:.55rem;display:inline-flex}.done-toggle{padding:.35rem .85rem .35rem .6rem}.chapter-done-button{padding:.35rem .9rem}.progress-clear-button{color:var(--ink-soft);padding:.3rem .8rem;font-size:.74rem;font-weight:600}.done-toggle:hover,.chapter-done-button:hover{border-color:var(--done)}.progress-clear-button:hover{color:var(--danger);border-color:var(--danger)}.done-toggle[data-state=done],.chapter-done-button[data-state=done]{color:var(--done-ink);border-color:var(--done);background:var(--done-tint)}.done-toggle[data-state=done] .state-todo,.done-toggle[data-state=todo] .state-done,.chapter-done-button[data-state=done] .state-todo,.chapter-done-button[data-state=todo] .state-done{display:none}.chapter-done-button[data-state=done]:before{content:"✓";font-weight:800}.done-toggle__box{border:2px solid color-mix(in srgb, var(--ink) 48%, transparent);border-radius:50%;flex:none;width:1.2rem;height:1.2rem;position:relative}.done-toggle[data-state=done] .done-toggle__box{border-color:var(--done);background:var(--done)}.done-toggle[data-state=done] .done-toggle__box:after{content:"";border:solid var(--paper);border-width:0 2px 2px 0;width:.28rem;height:.56rem;position:absolute;top:.1rem;left:.31rem;transform:rotate(45deg)}.done-toggle--compact{background:0 0;border-color:#0000;min-height:0;padding:.4rem}.done-toggle--compact:hover{border-color:#0000}.done-toggle--compact:hover .done-toggle__box{border-color:var(--done)}.chapter-meter{align-items:center;gap:.7rem;min-width:0;display:flex}.chapter-meter__track{background:color-mix(in srgb, var(--ink) 14%, transparent);border-radius:999px;flex:6rem;height:.5rem;position:relative;overflow:hidden}.chapter-meter__fill{border-radius:inherit;background:var(--done);transform:scaleX(var(--progress,0));transform-origin:0;position:absolute;inset:0}.chapter-meter__text{color:var(--ink-soft);font:600 .74rem/1.3 var(--mono)}.chapter-meter.is-complete .chapter-meter__text,.chapter-meter.is-complete [data-progress-text]{color:var(--done-ink)}.course-card__progress{color:var(--done-ink);margin-top:.4rem;font-weight:700;display:block}.course-card__progress:not(.has-progress){display:none}.lesson-finish{border:1px solid color-mix(in srgb, var(--chapter-accent) 28%, var(--reader-line));border-left:4px solid var(--chapter-accent);background:var(--reader-panel);border-radius:0 12px 12px 0;margin-top:3rem;padding:1.25rem 1.4rem 1.35rem}.lesson-finish__title{color:var(--ink-strong);font:700 1.15rem/1.25 var(--display);margin:0 0 .35rem}.lesson-finish__text{color:var(--ink-soft);margin:0 0 1rem;font-size:.88rem;line-height:1.6}.lesson-finish__actions{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.done-glyph{color:var(--done-ink);font-weight:800}.lesson-header .lesson-meta{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.9rem;display:flex}.lesson-header .lesson-meta .lesson-stats{margin-top:0}#starlight__sidebar a.is-done{padding-inline-end:2rem;position:relative}#starlight__sidebar a.is-done:after{top:50%;content:"✓";width:1.1rem;height:1.1rem;color:var(--night);background:var(--done-on-night);font:800 .66rem/1 var(--body);border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-end:.6rem;transform:translateY(-50%)}#starlight__sidebar summary .group-label{flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex}#starlight__sidebar summary .group-label .large{flex:auto;min-width:0}.chapter-progress{color:var(--done-on-night);border:1px solid color-mix(in srgb, var(--done-on-night) 45%, transparent);background:color-mix(in srgb, var(--done-on-night) 15%, transparent);font:700 .64rem/1.45 var(--mono);white-space:nowrap;border-radius:999px;flex:none;padding:.1rem .5rem}.chapter-progress[hidden]{display:none}#starlight__sidebar li.is-complete .chapter-progress{color:var(--night);border-color:var(--done-on-night);background:var(--done-on-night)}.panel-bar--sidebar{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.55rem;display:flex}.panel-bar__title{color:var(--sidebar-muted);font:700 .66rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}.panel-bar--toc{padding:.75rem var(--sl-sidebar-pad-x) 0;justify-content:flex-start;display:flex}.panel-hide,.panel-restore{font:650 .74rem/1.2 var(--body);cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.panel-hide{border-radius:8px;padding:.3rem .6rem}.panel-hide--sidebar{color:var(--sidebar-muted);border:1px solid var(--search-border);background:var(--search-surface)}.panel-hide--sidebar:hover,.panel-hide--sidebar:focus-visible{color:var(--sidebar-hover);border-color:var(--rust);background:var(--accent-tint)}.panel-hide--toc{color:var(--ink-soft);border:1px solid var(--reader-line);background:var(--reader-panel)}.panel-hide--toc:hover,.panel-hide--toc:focus-visible{color:var(--ink-strong);border-color:var(--chapter-accent)}.panel-restore{z-index:3;top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height) + 1rem);color:var(--ink);border:1px solid var(--reader-line);background:var(--reader-panel-raised);box-shadow:0 2px 8px color-mix(in srgb, var(--ink) 12%, transparent);padding:.55rem .75rem;display:none;position:fixed}.panel-restore:hover,.panel-restore:focus-visible{border-color:var(--chapter-accent)}.panel-restore--sidebar{border-left:0;border-radius:0 10px 10px 0;left:0}.panel-restore--toc{border-right:0;border-radius:10px 0 0 10px;right:0}:root[data-academy-sidebar=hidden][data-has-sidebar] .panel-restore--sidebar,:root[data-academy-toc=hidden][data-has-toc] .panel-restore--toc{display:inline-flex}@media (width<=49.99rem){.panel-bar--sidebar,.panel-restore--sidebar,.panel-bar--toc,.panel-restore--toc{display:none!important}html mobile-starlight-toc summary{padding-inline-end:1rem}}@media (width<=71.99rem){.panel-bar--toc{z-index:calc(var(--sl-z-index-toc) + 1);top:calc(var(--sl-nav-height) - 1px + (var(--sl-mobile-toc-height) - 2rem) / 2);padding:0;position:fixed;inset-inline-end:.8rem}mobile-starlight-toc summary{padding-inline-end:6.5rem}}@media print{.panel-bar,.panel-restore,.done-toggle,.lesson-finish,.chapter-progress,.academy-hovercard,#context7-widget{display:none!important}}#context7-widget{--chat-top:calc(var(--sl-nav-height,3.5rem) + var(--sl-mobile-toc-height,0rem) + .75rem)}.contents-chapter.is-complete .done-toggle[data-state=done] .done-toggle__box{border-color:var(--done-ink);background:var(--done-ink)}#starlight__sidebar li.is-complete a.is-done:after{background:color-mix(in srgb, var(--done-on-night) 60%, var(--night));color:#fff}.academy-hovercard{--card-accent:var(--reader-line);z-index:2000;width:min(22rem,100vw - 20px);color:var(--ink);border:1px solid var(--reader-line);border-top:4px solid var(--card-accent);background:var(--reader-panel-raised);box-shadow:0 10px 26px color-mix(in srgb, var(--ink) 20%, transparent);font:400 .82rem/1.55 var(--body);opacity:0;border-radius:10px;padding:.85rem 1rem .95rem;transition:opacity .12s,transform .12s;position:fixed;top:0;left:0;transform:translateY(3px)}.academy-hovercard[hidden]{display:none}.academy-hovercard.is-open{opacity:1;transform:none}.gloss{text-decoration:underline dashed;text-decoration-color:color-mix(in srgb, var(--reading-information) 45%, transparent);text-underline-offset:.28em;cursor:help;text-decoration-thickness:1px}.gloss:hover,.gloss:focus-visible{text-decoration-color:var(--reading-information);background:color-mix(in srgb, var(--reading-information) 11%, transparent);border-radius:3px}.academy-hovercard[data-tone]{--card-accent:var(--chapter-accent)}.academy-hovercard[data-kind=term],.academy-hovercard[data-kind=card]{--card-accent:var(--reading-information)}.academy-hovercard:is([data-card-kind=example],[data-card-kind=alternative]){--card-accent:var(--reading-process)}.academy-hovercard:is([data-card-kind=tip],[data-card-kind=recommendation]){--card-accent:var(--reading-result)}.academy-hovercard[data-card-kind=caution]{--card-accent:var(--reading-caution)}.academy-hovercard[data-kind=tip]{border-top-width:1px;width:max-content;max-width:17rem;padding:.45rem .7rem;font-size:.76rem;line-height:1.45}.academy-hovercard p{margin:0}.academy-hovercard__eyebrow{color:color-mix(in srgb, var(--card-accent) 72%, var(--ink));font:700 .62rem/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.2rem}.academy-hovercard__title{color:var(--ink-strong);font:700 .98rem/1.3 var(--display);margin-bottom:.35rem}.academy-hovercard__text{color:var(--ink)}.academy-hovercard__text code{background:color-mix(in srgb, var(--ink) 8%, transparent);font:500 .92em var(--mono);border-radius:4px;padding:.05em .3em}.academy-hovercard__text a{color:var(--link)}.academy-hovercard__meta{color:var(--ink-soft);font:600 .7rem/1.4 var(--mono);margin-top:.6rem}.academy-hovercard__done{color:var(--done-ink);font-weight:800}.academy-hovercard__link{color:var(--link);text-underline-offset:.18em;margin-top:.6rem;font-size:.74rem;font-weight:650;display:inline-block}.academy-hovercard__link:hover,.academy-hovercard__link:focus-visible{color:var(--link-hover)}.academy-hovercard__open:after{content:" →"}@media (pointer:coarse){.academy-hovercard__link{margin-top:.35rem;padding:.6rem 0;font-size:.84rem}}.kit-card{--card-role:var(--reading-information)}.kit-card:is([data-card-kind=example],[data-card-kind=alternative]){--card-role:var(--reading-process)}.kit-card:is([data-card-kind=tip],[data-card-kind=recommendation]){--card-role:var(--reading-result)}.kit-card[data-card-kind=caution]{--card-role:var(--reading-caution)}a.kit-card__trigger :is(strong,em){color:inherit}span.kit-card__trigger{text-decoration:underline dashed;text-decoration-color:color-mix(in srgb, var(--card-role) 45%, transparent);text-underline-offset:.28em;cursor:help;text-decoration-thickness:1px}span.kit-card__trigger:hover,span.kit-card__trigger:focus-visible{text-decoration-color:var(--card-role);background:color-mix(in srgb, var(--card-role) 11%, transparent);border-radius:3px}:root[data-cards-ready] .kit-card__body{display:none}:root[data-academy-cards=off] :is(.gloss,span.kit-card__trigger){cursor:inherit;text-decoration:none}:root[data-academy-cards=off] .academy-hovercard{display:none}@media (prefers-reduced-motion:reduce){.academy-hovercard{transition:none;transform:none}}@media print{.gloss,span.kit-card__trigger{background:0 0;text-decoration:none}:root[data-cards-ready] .kit-card__body{display:inline}.kit-card__text[data-href]:after{content:" " attr(data-href);word-break:break-all}}.kit-speedtype{margin:1.2rem 0}.kit-speedtype>.expressive-code[hidden]{display:none!important}.kit-speedtype__bar{flex-wrap:wrap;align-items:center;gap:.45rem .9rem;margin-top:.55rem;display:flex}.kit-speedtype__bar[hidden]{display:none}.kit-speedtype__start,.kit-speedtype__action{min-height:2rem;color:var(--reading-process);border:1px solid color-mix(in srgb, var(--reading-process) 55%, var(--reader-line,var(--line)));background:color-mix(in srgb, var(--reading-process) 6%, var(--reader-panel,var(--paper)));font:inherit;cursor:pointer;border-radius:5px;padding:.25rem .65rem;font-size:.85rem;font-weight:600}.kit-speedtype__start:hover,.kit-speedtype__action:hover{border-color:var(--reading-process);background:color-mix(in srgb, var(--reading-process) 12%, var(--reader-panel,var(--paper)))}.kit-speedtype__start:focus-visible,.kit-speedtype__action:focus-visible{outline:2px solid var(--chapter-ink);outline-offset:3px}.kit-speedtype__best{color:var(--ink-soft);font-family:var(--mono);font-size:.76rem}.kit-speedtype__panel{border:1px solid color-mix(in srgb, var(--chapter-accent) 22%, var(--reader-line,var(--line)));border-top:2px solid var(--chapter-accent);background:var(--reader-panel,var(--paper));border-radius:5px;padding:.6rem}.kit-speedtype__stats{color:var(--ink-soft);font-family:var(--mono);flex-wrap:wrap;gap:.3rem 1.3rem;font-size:.8rem;display:flex}.kit-speedtype__mode{margin-inline-start:auto}.kit-speedtype__stat strong{color:var(--ink-strong);font-size:1rem}.kit-speedtype__progress{background:color-mix(in srgb, var(--ink) 12%, var(--paper));border-radius:2px;height:4px;margin:.55rem 0 .8rem;overflow:hidden}.kit-speedtype__progress>span{background:var(--reading-result);width:0;height:100%;display:block}.kit-speedtype__shell{cursor:text;position:relative}.kit-speedtype__code{margin:0}.kit-speedtype__code pre{overflow-x:visible}.sl-markdown-content .kit-speedtype__code .ec-line{margin-block:0}.kit-speedtype__code .ec-line .code{white-space:pre-wrap;overflow-wrap:anywhere}.kit-speedtype__input{resize:none;opacity:0;caret-color:#0000;border:0;outline:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.kit-speedtype__paused{color:var(--ink-strong);background:color-mix(in srgb, var(--paper) 72%, transparent);pointer-events:none;place-items:center;font-size:.9rem;font-weight:600;display:grid;position:absolute;inset:0}.kit-speedtype__paused[hidden]{display:none}.st-c[data-s=todo]{opacity:.72}.st-c[data-s=ok]{opacity:1}.st-nl{color:var(--reading-process);opacity:0!important}.st-nl[data-cur]{opacity:.9!important}.st-c[data-recall-hidden]{background:color-mix(in srgb, var(--chapter-accent,var(--reading-process)) 24%, transparent);box-shadow:inset 0 -.15em 0 var(--chapter-accent,var(--reading-process));color:var(--chapter-accent,var(--reading-process));opacity:1;border-radius:.2em;font-weight:800}.st-c[data-cur]{background:color-mix(in srgb, var(--code-text,#f8f1e3) 26%, transparent);box-shadow:inset .22em 0 0 var(--code-text,#f8f1e3), 0 0 0 .1em var(--code-text,#f8f1e3);opacity:1;border-radius:2px}.st-c[data-cur][data-recall-hidden]{background:color-mix(in srgb, var(--chapter-accent,var(--reading-process)) 38%, transparent)}.kit-speedtype__panel[data-focus] .st-c[data-cur]{animation:1s steps(2,jump-none) infinite st-caret}.st-c[data-bad]{background:color-mix(in srgb, var(--fb-warn,var(--reading-caution)) 52%, transparent);box-shadow:inset 0 -.125rem 0 var(--fb-warn,var(--reading-caution));border-radius:.125rem}@keyframes st-caret{0%,to{box-shadow:inset .22em 0 0 var(--code-text,#f8f1e3), 0 0 0 .1em var(--code-text,#f8f1e3)}50%{box-shadow:inset .22em 0 #0000,0 0 0 .1em #0000}}@media (prefers-reduced-motion:reduce){.kit-speedtype__panel[data-focus] .st-c[data-cur]{animation:none}}:root[data-academy-motion=off] .kit-speedtype__panel[data-focus] .st-c[data-cur]{animation:none}.sl-markdown-content .kit-speedtype__hint,.sl-markdown-content .kit-speedtype__clue{color:var(--ink-soft);margin:.7rem 0 0;font-size:.82rem}.sl-markdown-content .kit-speedtype__clue:empty{display:none}.sl-markdown-content .kit-speedtype__result{color:var(--reading-result);margin:.7rem 0 0;font-size:.92rem;font-weight:600}.sl-markdown-content .kit-speedtype__result:empty{display:none}.kit-speedtype__actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem;display:flex}.sl-markdown-content .kit-speedtype__actions>button{margin:0}.kit-speedtype__panel[data-done]{border-top-color:var(--reading-result)}@media print{.kit-speedtype__bar,.kit-speedtype__panel{display:none!important}.kit-speedtype>.expressive-code[hidden]{display:block!important}}@media (width<=600px){.kit-speedtype__start,.kit-speedtype__action{min-height:44px}}.button{font-family:var(--body);border:1px solid #0000;border-radius:10px;align-items:center;gap:.5rem;padding:.72rem 1.2rem;font-size:.98rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.button:hover{text-decoration:none;transform:translateY(-1px)}.hero-actions .button--primary{color:#fff;border-color:var(--rust);background:var(--rust)}.hero-actions .button--primary:hover,.hero-actions .button--primary:focus-visible{color:#fff;border-color:var(--rust-dark);background:var(--rust-dark)}.hero-actions .button--ghost{color:var(--ink);border-color:var(--line);background:var(--surface)}.hero-actions .button--ghost:hover,.hero-actions .button--ghost:focus-visible{color:var(--rust-dark);border-color:var(--rust)}.academy-hero{min-height:0;padding:64px 0 56px}.academy-hero__copy h1{font-size:clamp(3.1rem,7vw,5.6rem);line-height:.92}.academy-hero__terminal{box-shadow:0 24px 60px color-mix(in srgb, var(--night) 22%, transparent);transform:none}.course-grid{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem;overflow:visible}.course-card{min-height:0;color:var(--ink);border:1px solid color-mix(in srgb, var(--tone) 16%, var(--reader-line));border-top:4px solid var(--tone);box-shadow:none;background:linear-gradient(120deg, color-mix(in srgb, var(--tone) 5%, var(--reader-panel)), var(--reader-panel));border-radius:12px;flex-direction:column;gap:.5rem;padding:1.15rem 1.3rem 1.1rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.course-card:hover,.course-card:focus-visible{color:var(--ink);border-color:var(--tone);background:linear-gradient(120deg, color-mix(in srgb, var(--tone) 8%, var(--reader-panel)), var(--reader-panel));box-shadow:0 8px 20px color-mix(in srgb, var(--night) 10%, transparent);transform:translateY(-2px)}.course-card__top{align-items:center;gap:.65rem;display:flex}.course-card__emoji{background:color-mix(in srgb, var(--tone) 8%, var(--reader-panel));border-radius:10px;place-items:center;width:2.3rem;height:2.3rem;font-size:1.25rem;line-height:1;display:inline-grid}.course-card__number{color:color-mix(in srgb, var(--tone) 74%, var(--ink));font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:600}.course-card h3{margin:.15rem 0 0;font-size:1.18rem;line-height:1.25}.course-card p,.course-card:hover p{max-width:none;color:var(--ink-soft);flex:1;font-size:.9rem;line-height:1.5}.course-card__meta{border-top:1px solid var(--line);font-family:var(--mono);padding-top:.6rem;font-size:.72rem}.course-card>.course-card__top,.course-card:hover>.course-card__top{color:inherit}.course-card>.course-card__meta,.course-card:hover>.course-card__meta{color:var(--ink-soft)}.section-heading>span{color:var(--rust-dark);font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:500}.button--primary{color:var(--paper);background:var(--ink)}.button--primary:hover{color:var(--sidebar-hover);border-color:var(--rust-dark);background:var(--rust-dark);text-decoration:none}.button--ghost{color:var(--ink);border-color:var(--line)}.button--ghost:hover{color:var(--rust-dark);border-color:var(--rust);text-decoration:none}.terminal-bar{border-bottom:1px solid #ffffff14;align-items:center;gap:7px;height:43px;padding:0 13px;display:flex}.terminal-bar span{background:#ffffff29;border-radius:50%;width:8px;height:8px}.terminal-bar b{color:#f7f3e8b3;font-family:var(--mono);margin-left:auto;font-size:9px;font-weight:400}.code-dim{color:#f7f3e8b3}.code-keyword{color:#ee8b58}.terminal-status{color:color-mix(in srgb, var(--success) 68%, var(--header-text));font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;border-top:1px solid #ffffff14;justify-content:space-between;padding:12px 17px;font-size:9px;display:flex}.section-heading{max-width:650px;margin:105px 0 38px}.section-heading h2,.why-rust h2{letter-spacing:-.055em;margin:12px 0;font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98}.section-heading p{color:var(--ink-soft);font-size:1.1em}.why-rust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:.9fr 1.1fr;gap:clamp(36px,8vw,100px);margin:110px 0;padding:55px 0;display:grid}.why-rust h2{margin-top:12px}.why-rust__points p{border-left:2px solid var(--line);color:var(--ink-soft);padding:0 0 20px 22px}.why-rust__points p+p{border-top:1px solid var(--line);padding-top:20px}.why-rust__points strong{color:var(--ink);display:block}.community-strip{background:var(--night);border-radius:8px;grid-template-columns:repeat(3,1fr);margin:70px 0 30px;display:grid;overflow:hidden}.community-strip a{color:var(--inverse-text);border-right:1px solid #ffffff14;align-items:center;gap:14px;padding:22px;text-decoration:none;display:flex}.community-strip a:hover{background:var(--accent-tint)}.community-strip i{color:var(--rust);font-size:22px}.community-strip strong,.community-strip small{display:block}.community-strip small{color:var(--sidebar-muted);font-family:var(--mono);text-transform:uppercase;font-size:9px}@media (width<=900px){.academy-hero{grid-template-columns:1fr}.academy-hero__terminal{max-width:540px;transform:none}.why-rust{grid-template-columns:1fr}}@media (width<=700px){.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}.community-strip a{border-bottom:1px solid #ffffff14;border-right:0}}@media screen{.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%}}.print-book{max-width:74rem;margin-inline:auto}.print-book [hidden]{display:none!important}.print-book-intro{max-width:70ch}.print-book-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;margin-block:2rem;display:grid}.print-book-option{border:1px solid var(--sl-color-gray-5);background:var(--sl-color-gray-6);border-radius:.8rem;padding:1.2rem}.print-book-option h2{margin-top:0}.print-book-option p{max-width:65ch}.print-book-chapter-links{max-height:23rem;padding-inline-start:1.4rem;overflow:auto}.print-book-chapter-links li{margin-block:.45rem}.print-book-chapter-links li span{font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);display:block}.print-book-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.print-book-actions button{border:1px solid var(--sl-color-accent);background:var(--sl-color-accent);color:#fff;font:inherit;cursor:pointer;border-radius:.45rem;padding:.55rem .9rem;font-weight:650}.print-book-actions button:disabled{opacity:.65;cursor:wait}.print-book-actions button[data-print-cancel]{color:var(--sl-color-text);background:0 0}.print-book-actions button:focus-visible,.print-book-actions a:focus-visible{outline:3px solid var(--sl-color-accent);outline-offset:3px}.print-book [data-print-progress]{width:min(100%,30rem);display:block}.print-book-contents{margin-block:2rem}.print-book-contents>section{break-inside:avoid}.print-book-contents ol{padding-inline-start:1.5rem}.print-book-contents li{margin-block:.25rem}.print-book-chapter-content,.print-book-output{min-width:0}.print-book-lesson{border-top:2px solid var(--chapter-accent);margin-top:3rem;padding-top:2rem}.print-book-kicker{color:var(--chapter-ink);font-family:var(--mono);font-size:var(--sl-text-xs);text-transform:uppercase}.print-book-title{break-after:avoid}.print-only{display:none}@media print{.print-screen-only,.academy-quiz__actions,.ownership-scope__controls,.concept-lab__step-controls,.projection-lab__controls{display:none!important}.print-only{display:block}.print-book[data-print-ready=true] .print-book-unprepared,.print-book[data-print-ready=false] .print-book-contents{display:none}.print-book-contents{break-after:page}.print-book-output[hidden]{display:none!important}.print-book-lesson{break-before:page;border-top:0;margin-top:0;padding-top:0}.print-book-lesson :is(figure,img,svg,pre,.expressive-code,.memory-strip){break-inside:avoid;max-width:100%}}:root[data-design=v2]{--z-dock:900;--z-pop:1000;--dock-gap:1.5rem;--focus-ring:var(--rust);--panel-dark-bg:#12161c;--panel-dark-text:#e6eaf0;--panel-dark-muted:#9aa5b3;--panel-dark-border:#2a323c;--panel-dark-accent:#ff8c61;--panel-dark-accent-ink:#1a0c06;--panel-light-bg:#eef2f7;--panel-light-text:#252a31;--panel-light-muted:#59636f;--panel-light-border:#dde3ea;--panel-light-accent:#b8431c;--panel-light-accent-ink:#fff}:root[data-design=v2][data-measure=narrow]{--reading-width:38rem}:root[data-design=v2][data-measure=wide]{--reading-width:56rem}@media (width>=50rem){:root[data-design=v2][data-has-sidebar]:not([data-academy-sidebar=hidden]) #context7-widget{--chat-left:calc(var(--sl-sidebar-width,18.75rem) + 1.5rem)}}@media (width>=72rem){:root[data-design=v2][data-has-sidebar]:not([data-academy-toc=hidden]) #context7-widget{--chat-right:calc(var(--sl-sidebar-width,18.75rem) + 1.5rem)}}:root[data-design=v2]{& .floating-pager{display:none!important}& .pagination-links{position:static}& .lesson-notes__fab{z-index:var(--z-dock)}& .lesson-notes__panel{z-index:calc(var(--z-dock) + 1)}& #context7-widget{z-index:var(--z-dock)}&[data-chat-position=off] #context7-widget{display:none}& .sidebar-pane,& .sidebar-content{transition:transform .25s cubic-bezier(.4,0,.2,1),width .25s,opacity .2s}& .main-pane,& .main-frame,& .content-panel{transition:padding .25s,margin .25s}&[data-measure=narrow]{--sl-content-width:38rem}&[data-measure=wide]{--sl-content-width:56rem}&[data-hovercards=off] [data-hovercard]{cursor:inherit;border-bottom:0;text-decoration:none}}:root[data-design=v2]{& .sidebar-content,& .right-sidebar-panel,& starlight-toc{padding-bottom:6.5rem}}:root[data-design=v2][data-sidebar-tone=light] .sidebar-pane{--bg-sidebar:var(--panel-light-bg);--bg-surface:var(--panel-light-bg);--bg-surface-elevated:color-mix(in srgb, var(--panel-light-text) 8%, var(--panel-light-bg));--text-primary:var(--panel-light-text);--text-heading:var(--panel-light-text);--text-secondary:var(--panel-light-text);--text-muted:var(--panel-light-muted);--border-subtle:var(--panel-light-border);--border-strong:var(--panel-light-border);--accent-primary:var(--panel-light-accent);--text-on-accent:var(--panel-light-accent-ink);--sidebar-text:var(--panel-light-text);--sidebar-muted:var(--panel-light-text);--sidebar-faint:var(--panel-light-muted);--sidebar-hover:var(--panel-light-text);--night:var(--panel-light-bg);--night-soft:var(--panel-light-bg);--search-border:var(--panel-light-border);--search-surface:color-mix(in srgb, var(--panel-light-text) 6%, transparent);--sl-color-white:var(--panel-light-text);--sl-color-gray-2:var(--panel-light-text);--sl-color-gray-3:var(--panel-light-muted);--sl-color-text-accent:var(--panel-light-accent);background:var(--panel-light-bg);color:var(--panel-light-text);color-scheme:light}:root[data-design=v2][data-sidebar-tone=dark] .sidebar-pane{--bg-sidebar:var(--panel-dark-bg);--bg-surface:var(--panel-dark-bg);--bg-surface-elevated:color-mix(in srgb, var(--panel-dark-text) 8%, var(--panel-dark-bg));--text-primary:var(--panel-dark-text);--text-heading:var(--panel-dark-text);--text-secondary:var(--panel-dark-text);--text-muted:var(--panel-dark-muted);--border-subtle:var(--panel-dark-border);--border-strong:var(--panel-dark-border);--accent-primary:var(--panel-dark-accent);--text-on-accent:var(--panel-dark-accent-ink);--sidebar-text:var(--panel-dark-text);--sidebar-muted:var(--panel-dark-text);--sidebar-faint:var(--panel-dark-muted);--sidebar-hover:var(--panel-dark-text);--night:var(--panel-dark-bg);--night-soft:var(--panel-dark-bg);--search-border:var(--panel-dark-border);--search-surface:color-mix(in srgb, var(--panel-dark-text) 6%, transparent);--sl-color-white:var(--panel-dark-text);--sl-color-gray-2:var(--panel-dark-text);--sl-color-gray-3:var(--panel-dark-muted);--sl-color-text-accent:var(--panel-dark-accent);background:var(--panel-dark-bg);color:var(--panel-dark-text);color-scheme:dark}:root[data-design=v2][data-toc-tone=light] .right-sidebar{--bg-sidebar:var(--panel-light-bg);--bg-surface:var(--panel-light-bg);--bg-surface-elevated:color-mix(in srgb, var(--panel-light-text) 8%, var(--panel-light-bg));--text-primary:var(--panel-light-text);--text-heading:var(--panel-light-text);--text-secondary:var(--panel-light-text);--text-muted:var(--panel-light-muted);--border-subtle:var(--panel-light-border);--border-strong:var(--panel-light-border);--accent-primary:var(--panel-light-accent);--text-on-accent:var(--panel-light-accent-ink);--sidebar-text:var(--panel-light-text);--sidebar-muted:var(--panel-light-text);--sidebar-faint:var(--panel-light-muted);--sidebar-hover:var(--panel-light-text);--night:var(--panel-light-bg);--night-soft:var(--panel-light-bg);--search-border:var(--panel-light-border);--search-surface:color-mix(in srgb, var(--panel-light-text) 6%, transparent);--sl-color-white:var(--panel-light-text);--sl-color-gray-2:var(--panel-light-text);--sl-color-gray-3:var(--panel-light-muted);--sl-color-text-accent:var(--panel-light-accent);background:var(--panel-light-bg);color:var(--panel-light-text);color-scheme:light}:root[data-design=v2][data-toc-tone=dark] .right-sidebar{--bg-sidebar:var(--panel-dark-bg);--bg-surface:var(--panel-dark-bg);--bg-surface-elevated:color-mix(in srgb, var(--panel-dark-text) 8%, var(--panel-dark-bg));--text-primary:var(--panel-dark-text);--text-heading:var(--panel-dark-text);--text-secondary:var(--panel-dark-text);--text-muted:var(--panel-dark-muted);--border-subtle:var(--panel-dark-border);--border-strong:var(--panel-dark-border);--accent-primary:var(--panel-dark-accent);--text-on-accent:var(--panel-dark-accent-ink);--sidebar-text:var(--panel-dark-text);--sidebar-muted:var(--panel-dark-text);--sidebar-faint:var(--panel-dark-muted);--sidebar-hover:var(--panel-dark-text);--night:var(--panel-dark-bg);--night-soft:var(--panel-dark-bg);--search-border:var(--panel-dark-border);--search-surface:color-mix(in srgb, var(--panel-dark-text) 6%, transparent);--sl-color-white:var(--panel-dark-text);--sl-color-gray-2:var(--panel-dark-text);--sl-color-gray-3:var(--panel-dark-muted);--sl-color-text-accent:var(--panel-dark-accent);background:var(--panel-dark-bg);color:var(--panel-dark-text);color-scheme:dark}@media (width>=50rem){:root[data-design=v2][data-has-sidebar]:not([data-academy-sidebar=hidden]) .lesson-notes[data-hidden=false]:is([data-corner=bl],[data-corner=tl]) :is(.lesson-notes__fab,.lesson-notes__panel){left:calc(var(--sl-sidebar-width,18.75rem) + 1.5rem);right:auto}}@media (width>=72rem){:root[data-design=v2][data-has-sidebar]:not([data-academy-toc=hidden]) .lesson-notes[data-hidden=false][data-corner=tr] :is(.lesson-notes__fab,.lesson-notes__panel){right:calc(var(--sl-sidebar-width,18.75rem) + 1.5rem);left:auto}}#starlight__sidebar a.is-done:after{opacity:.6;transform:translateY(-50%)scale(.88)}#starlight__sidebar a.is-done:is(:hover,:focus-visible):after{opacity:.9}#starlight__sidebar,.right-sidebar-panel,.theme-switcher__menu,.lesson-notes__panel{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink-soft) 55%, transparent) transparent}:root[data-design=v2] header.header .right-group{align-items:center;gap:.75rem}:root[data-design=v2] .sl-markdown-content kbd{font-family:var(--mono);border:1px solid var(--line);background:var(--reader-panel,var(--surface-alt));box-shadow:inset 0 -1px 0 var(--line);border-bottom-width:2px;border-radius:.3rem;padding:.05em .45em;font-size:.85em}:root[data-design=v2] input[type=checkbox]{accent-color:var(--rust)}html:root[data-surface-contrast=unified][data-palette][data-brightness]{--night:color-mix(in srgb, var(--ink) 7%, var(--paper));--night-soft:color-mix(in srgb, var(--ink) 11%, var(--paper));--header-text:var(--ink);--header-border:var(--line);--sidebar-text:var(--ink);--sidebar-muted:var(--ink-soft);--sidebar-faint:var(--ink-soft);--sidebar-hover:var(--ink-strong);--search-border:var(--line);--search-surface:color-mix(in srgb, var(--ink) 5%, transparent);--done-on-night:var(--success)}:root[data-inline-code=soft] .sl-markdown-content :not(pre)>code:not(:where(.not-content *)){color:color-mix(in srgb, var(--inline-code) 60%, var(--ink));border:1px solid color-mix(in srgb, var(--ink) 9%, transparent);background:color-mix(in srgb, var(--ink) 4.5%, transparent);font-size:.86em;line-height:inherit;vertical-align:baseline;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:.04em .28em}:root[data-inline-code=soft] .sl-markdown-content :is(a,h1,h2,h3,h4,h5,h6)>code:not(:where(.not-content *)){color:inherit}:root[data-floating-ui=minimal] .lesson-notes__fab{opacity:.7;width:2.6rem;min-height:2.6rem;padding:0;font-size:0;transition:opacity .2s;overflow:hidden}:root[data-floating-ui=minimal] .lesson-notes__fab:before{content:"📝";place-items:center;width:2.6rem;height:2.6rem;font-size:1.15rem;display:grid}:root[data-floating-ui=minimal] .lesson-notes__fab:is(:hover,:focus-visible),:root[data-floating-ui=minimal] .lesson-notes[data-open] .lesson-notes__fab{opacity:1}:root[data-floating-ui=minimal] #context7-widget{--chat-scale:.8;--chat-opacity:.7}:is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.scene,.academy-quiz,.ownership-scope,.projection-lab) button{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .12s}:is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.scene,.academy-quiz,.ownership-scope,.projection-lab) button:disabled{opacity:.5;cursor:not-allowed}dialog[open]::backdrop{backdrop-filter:blur(.4rem)}:root[data-depth=soft] pre.mermaid svg .node :is(rect,polygon,circle,ellipse,path){filter:drop-shadow(0 .06rem .1rem color-mix(in srgb, var(--night) 22%, transparent))}:root[data-depth=soft] :is(.kit-card,.kit-tile,.course-card,.academy-quiz,.concept-lab,.sim-lab,.scene,pre.mermaid,.starlight-aside,.lesson-cheat){box-shadow:0 .06rem .25rem color-mix(in srgb, var(--night) 12%, transparent)}:root[data-depth=soft] :is(.kit-card,.kit-tile,.course-card):hover{box-shadow:0 .3rem .8rem color-mix(in srgb, var(--night) 16%, transparent);transform:translateY(-.12rem)}:root[data-depth=soft] :is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.scene,.academy-quiz) button:hover:not(:disabled){box-shadow:0 .15rem .4rem color-mix(in srgb, var(--night) 18%, transparent);transform:translateY(-.06rem)}:root[data-design=v2] input[type=range]{-webkit-appearance:none;appearance:none;height:1.4rem;accent-color:var(--chapter-accent,var(--rust));background:0 0}:root[data-design=v2] input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--ink) 20%, transparent);border-radius:62.5rem;height:.4rem}:root[data-design=v2] input[type=range]::-moz-range-track{background:color-mix(in srgb, var(--ink) 20%, transparent);border-radius:62.5rem;height:.4rem}:root[data-design=v2] input[type=range]::-moz-range-progress{background:var(--chapter-accent,var(--rust));border-radius:62.5rem;height:.4rem}:root[data-design=v2] input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;border:.15rem solid var(--paper);background:var(--chapter-accent,var(--rust));width:1.1rem;height:1.1rem;box-shadow:0 .06rem .25rem color-mix(in srgb, var(--night) 45%, transparent);border-radius:50%;margin-top:-.35rem;transition:transform .12s}:root[data-design=v2] input[type=range]::-moz-range-thumb{border:.15rem solid var(--paper);background:var(--chapter-accent,var(--rust));border-radius:50%;width:.8rem;height:.8rem}:root[data-design=v2] input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}:root[data-design=v2] input[type=range]:focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:.15rem;border-radius:62.5rem}.theme-switcher__menu .reading-audio{--ink:var(--sidebar-text);--ink-soft:var(--sidebar-muted);--line:var(--search-border);--reader-panel:var(--search-surface);--surface:var(--search-surface)}.theme-switcher__menu .reading-audio :is(select,button){color:var(--sidebar-text)}:root:has(.theme-switcher__toggle[aria-expanded=true]) :is(.lesson-notes__fab,.lesson-notes__panel,#context7-widget){visibility:hidden}:root[data-drawer=sheet] header.header{z-index:1000}:root[data-drawer=sheet] .sl-menu-button{z-index:1001}:root[data-drawer=sheet] .theme-switcher__menu{top:var(--sl-nav-height,4rem);z-index:1001;width:min(24rem,100vw);max-height:none;box-shadow:-.9rem 0 2.2rem color-mix(in srgb, var(--night) 40%, transparent);border-radius:0;animation:.22s cubic-bezier(.4,0,.2,1) gha-sheet-in;position:fixed;bottom:0;left:auto;right:0}:root[data-drawer=sheet] .theme-switcher__menu[hidden]{display:none}:root[data-drawer=sheet]:has(.theme-switcher__toggle[aria-expanded=true]) body:before{content:"";z-index:950;background:color-mix(in srgb, var(--night) 40%, transparent);position:fixed;inset:0}@keyframes gha-sheet-in{0%{opacity:.6;transform:translate(100%)}to{opacity:1;transform:none}}@media (width<=49.99rem){:root[data-drawer=sheet] .theme-switcher__menu{top:var(--sl-nav-height,3.5rem);width:100vw}}.theme-switcher__tier-title{border-top:1px solid var(--search-border);color:var(--sidebar-faint);font:700 .62rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:.9rem 0 .2rem;padding-top:.6rem}:root[data-academy-tier=basic] .theme-switcher__tier:is([data-tier=advanced],[data-tier=detailed]),:root[data-academy-tier=advanced] .theme-switcher__tier[data-tier=detailed],.theme-switcher__tierbar [data-tier-help]{display:none}:root[data-academy-tier=basic] .theme-switcher__tierbar [data-tier-help=basic],:root[data-academy-tier=advanced] .theme-switcher__tierbar [data-tier-help=advanced],:root[data-academy-tier=detailed] .theme-switcher__tierbar [data-tier-help=detailed]{display:block}.theme-switcher__tierbar{z-index:2;background:var(--night-soft);position:sticky;top:0}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action]{min-height:2.4rem;font:inherit;cursor:pointer;border-radius:.55rem;padding:.35rem 1rem;font-size:.88rem;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .12s}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action=primary][data-action]{color:var(--paper);border:1px solid var(--chapter-ink,var(--rust-dark));background:var(--chapter-ink,var(--rust-dark));box-shadow:0 .1rem .35rem color-mix(in srgb, var(--chapter-ink,var(--rust-dark)) 30%, transparent)}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action=primary][data-action]:hover:not(:disabled):not(.is-disabled){background:color-mix(in srgb, var(--chapter-ink,var(--rust-dark)) 88%, var(--ink-strong));transform:translateY(-.06rem)}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action=secondary][data-action]{color:var(--ink);border:1px solid color-mix(in srgb, var(--chapter-accent,var(--rust)) 55%, var(--line));box-shadow:none;background:0 0}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action=secondary][data-action]:hover:not(:disabled):not(.is-disabled){background:color-mix(in srgb, var(--chapter-accent,var(--rust)) 10%, transparent);border-color:var(--chapter-accent,var(--rust))}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action=ghost][data-action]{min-height:2.2rem;color:var(--ink-soft);box-shadow:none;background:0 0;border:1px solid #0000;padding-inline:.7rem;font-weight:550}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action=ghost][data-action]:hover:not(:disabled):not(.is-disabled){color:var(--ink-strong);background:color-mix(in srgb, var(--ink) 6%, transparent);text-underline-offset:.22em;text-decoration:underline}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action]:is(:disabled,.is-disabled){opacity:.45;cursor:default;box-shadow:none;transform:none}:is(.concept-lab,.scene,.cpu-step,.ownership-scope,.projection-lab,.sort-board,.formula-builder,.sim-lab,.visual-lab,.code-trace) button[data-action]:focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:.12rem}:root[data-design=v2] input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--chapter-accent,var(--rust)) 0, var(--chapter-accent,var(--rust)) var(--fill,0%), color-mix(in srgb, var(--ink) 20%, transparent) var(--fill,0%))}.code-trace__footer{border-top:1px solid var(--line);gap:.5rem;margin-top:.25rem;padding:.75rem .75rem .85rem;display:grid}.code-trace__footer .code-trace__nav{align-items:center;gap:.5rem;padding:0}.code-trace__footer .code-trace__count{color:var(--ink-soft);font-family:var(--mono);white-space:nowrap;margin-inline-start:auto;font-size:.8rem}.sl-markdown-content .code-trace__footer .code-trace__diff{border-radius:.5rem;margin:0;padding:.4rem .7rem;font-size:.86rem}.sl-markdown-content .code-trace__footer .code-trace__hint{margin:0}html .code-trace__cells{border:1px solid var(--line);background:var(--surface-alt);border-radius:.6rem;gap:0;padding:0;overflow-x:auto}html .code-trace__cells .code-trace__cell{background:0 0;border:0;border-top:.2rem solid #0000;border-radius:0;flex:4rem;gap:.15rem;min-width:3.6rem;max-width:none;padding:.4rem .5rem .5rem}html .code-trace__cells .code-trace__cell+.code-trace__cell{border-inline-start:1px solid var(--line)}html .code-trace__cells .code-trace__cell-label{border-bottom:1px dashed var(--line);color:var(--ink-soft);padding-bottom:.2rem}html .code-trace__cells .code-trace__cell-value{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}html .code-trace__cells .code-trace__cell.is-marked{border-top-color:var(--chapter-accent)}html .code-trace__cells .code-trace__cell.is-changed{border-top-color:var(--chapter-accent);background:var(--chapter-tint);box-shadow:inset 0 0 0 .12rem color-mix(in srgb, var(--chapter-accent) 55%, transparent);outline:0}.mem-figure:not(.mem-figure--column) .mem-strip{column-gap:0}.mem-figure:not(.mem-figure--column) .mem-cell__value{border-radius:0;margin-inline-start:-1.5px}.mem-figure:not(.mem-figure--column) .mem-cell:first-child .mem-cell__value{border-start-start-radius:.5rem;border-end-start-radius:.5rem;margin-inline-start:0}.mem-figure:not(.mem-figure--column) .mem-cell:last-child .mem-cell__value{border-start-end-radius:.5rem;border-end-end-radius:.5rem}.mem-figure:not(.mem-figure--column) .mem-cell.is-marked{z-index:1;position:relative}.concept-lab{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 3%, var(--reader-panel,var(--surface)));border-radius:1rem}.concept-lab .concept-lab__live-badge{color:var(--ink-soft);box-shadow:none;pointer-events:none;user-select:none;font:600 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;display:inline-flex}.concept-lab .concept-lab__live-badge:before{content:"";background:var(--success);width:.5rem;height:.5rem;box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 55%, transparent);border-radius:50%;animation:2.2s ease-out infinite gha-live-pulse}@keyframes gha-live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 50%, transparent)}70%,to{box-shadow:0 0 0 .45rem #0000}}:root[data-academy-motion=off] .concept-lab .concept-lab__live-badge:before{animation:none}@media (prefers-reduced-motion:reduce){.concept-lab .concept-lab__live-badge:before{animation:none}}.concept-lab .concept-lab__examples{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;display:flex}.concept-lab .concept-lab__examples .concept-lab__example:not([data-action]){min-height:0;color:var(--ink-soft);font:600 .82rem/1.2 var(--mono);background:color-mix(in srgb, var(--ink) 7%, transparent);box-shadow:none;border:1px solid #0000;border-radius:62.5rem;padding:.28rem .85rem}.concept-lab .concept-lab__examples .concept-lab__example:not([data-action]):hover{color:var(--ink-strong);background:color-mix(in srgb, var(--ink) 12%, transparent)}.concept-lab .concept-lab__examples .concept-lab__example.is-active:not([data-action]){color:var(--ink-strong);border-color:color-mix(in srgb, var(--chapter-accent,var(--rust)) 55%, transparent);background:color-mix(in srgb, var(--chapter-accent,var(--rust)) 14%, transparent)}.concept-lab .concept-lab__byte-strip{flex-wrap:wrap;gap:.6rem;display:flex}.concept-lab .concept-lab__byte{box-shadow:none;background:0 0;border:0;justify-items:center;gap:.3rem;padding:0;display:grid}.concept-lab .concept-lab__byte small{color:var(--ink-soft);font:600 .72rem/1 var(--mono)}.concept-lab .concept-lab__byte-input{width:3.6rem;height:3.2rem;color:var(--sidebar-text);text-align:center;text-transform:uppercase;font:700 1.25rem/1 var(--mono);border:1px solid var(--search-border);background:var(--night-soft);box-shadow:0 .1rem .3rem color-mix(in srgb, var(--night) 25%, transparent);border-radius:.7rem;padding:0}.concept-lab .concept-lab__byte-input:hover{border-color:color-mix(in srgb, var(--chapter-accent,var(--rust)) 50%, var(--search-border))}.concept-lab .concept-lab__byte-input:focus-visible,.concept-lab .concept-lab__byte-input:focus{outline:2px solid var(--chapter-accent,var(--rust));outline-offset:.12rem}.concept-lab .concept-lab__result-card{border-radius:.8rem;flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.concept-lab .concept-lab__type-badge{--tone:var(--reading-information);color:var(--tone);font:700 .62rem/1.5 var(--mono);letter-spacing:.08em;border:1px solid color-mix(in srgb, var(--tone) 32%, transparent);background:color-mix(in srgb, var(--tone) 12%, transparent);border-radius:62.5rem;padding:.1rem .5rem}.concept-lab .concept-lab__type-badge[data-kind=float]{--tone:var(--reading-process)}.concept-lab .concept-lab__type-badge[data-kind=endian]{--tone:var(--reading-result)}.concept-lab .concept-lab__result-value{font:700 1.45rem/1.15 var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.concept-lab .concept-lab__result-value[data-negative=true]{color:var(--danger)}.concept-lab .concept-lab__order{color:var(--ink-soft);font:600 .7rem/1.3 var(--mono)}.concept-lab .concept-lab__takeaway[data-kind=insight]{padding:.7rem .95rem .8rem;font-size:.98rem;line-height:1.55}.concept-lab .concept-lab__takeaway[data-kind=insight]:before{content:"💡 Key insight";color:var(--ink-soft);font:700 .68rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.2rem;display:block}.concept-lab[data-concept-lab=address-builder] .concept-lab__address-equation{grid-template-columns:minmax(0,1fr);gap:.5rem}.concept-lab__address-equation .concept-lab__field{width:100%;margin:0}.concept-lab__address-equation .concept-lab__result-label{display:none}.concept-lab__address-equation .concept-lab__text-input{box-sizing:border-box;width:100%;min-width:0;min-height:2.75rem;font:600 1rem/1.3 var(--mono)}.concept-lab__address-equation .concept-lab__operator{font-size:1.25rem}.concept-lab__packet-header{border:.0625rem solid var(--line);border-radius:.8rem;min-width:0;margin:0;padding:.75rem}.concept-lab__packet-header legend{color:var(--ink);font:600 .8rem/1.4 var(--mono);padding-inline:.35rem}.concept-lab__packet-header .concept-lab__byte-strip{margin-top:.25rem}.concept-lab__packet-header .concept-lab__help{margin-bottom:0}.concept-lab[data-concept-lab=packet-framer] .concept-lab__control-row{grid-template-columns:minmax(0,1fr);display:grid}.concept-lab .concept-lab__scan-cell :is(span,small){color:var(--ink)}.concept-lab .concept-lab__scan-cell.is-rejected{opacity:1;filter:none;background:var(--surface-alt)}.concept-lab [hidden]{display:none!important}.concept-lab .hl-s{color:color-mix(in srgb, var(--hl-s) 80%, var(--ink-strong))}.concept-lab .hl-l{color:color-mix(in srgb, var(--hl-l) 85%, var(--ink-strong))}.concept-lab .hl-c{color:color-mix(in srgb, var(--hl-c) 72%, var(--ink-strong))}.sim-lab .sim-lab__program-text{box-sizing:border-box;resize:vertical;width:100%;min-width:0;min-height:10em;color:var(--ink);background:var(--surface-alt);border:.0625rem solid var(--line);font:.9rem/1.5 var(--mono);border-radius:.55rem;padding:.65rem .75rem}.sim-lab .sim-lab__program-text:focus-visible{outline:.125rem solid var(--chapter-accent,var(--rust));outline-offset:.12rem}.sim-lab .sim-lab__execution{min-width:0;max-height:18rem;font:.86rem/1.55 var(--mono);margin-block:.6rem;padding-inline-start:1.8rem;overflow:auto}.sim-lab .sim-lab__execution li{overflow-wrap:anywhere;margin-block:.25rem}.sim-lab .sim-lab__tree{margin-block:.5rem;padding-inline-start:1.5rem}.sim-lab .sim-lab__tree ul{border-inline-start:.0625rem solid var(--line);margin-block:.3rem;padding-inline-start:1.25rem}.sim-lab .sim-lab__tree li{overflow-wrap:anywhere;padding-block:.18rem}.sim-lab .sim-lab__tree [data-status=running]>span{text-underline-offset:.18em;font-weight:700;text-decoration:underline}.sim-lab .sim-lab__tree [data-status=failure]>span{color:var(--ink);font-style:italic}.sim-lab .sim-lab__tree [data-status=success]>span{font-weight:650}.sim-lab .sim-lab__help{margin-block:.5rem;font-size:.88rem}.sim-lab .sim-lab__help summary{cursor:pointer}.sim-lab .sim-lab__cost-bars{gap:.5rem;display:grid}.sim-lab .sim-lab__cost-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.sim-lab .sim-lab__cost-row meter{width:100%;min-width:0;accent-color:var(--chapter-accent,var(--rust))}.sim-lab .sim-lab__cost-row strong{font-family:var(--mono);font-variant-numeric:tabular-nums}.sim-lab .sim-lab__sample{white-space:normal}.sim-lab .sim-lab__controls label:has(input[type=checkbox]){align-items:center;gap:.4rem;display:flex}.sim-lab .sim-lab__controls input[type=checkbox]{flex:none}@media (width<=30rem){.sim-lab .sim-lab__cost-row{grid-template-columns:minmax(0,1fr) auto}.sim-lab .sim-lab__cost-row meter{grid-area:2/1/auto/-1}}html .starlight-aside{border:1px solid color-mix(in srgb, var(--sl-color-asides-border) 22%, var(--line));border-left:3px solid var(--sl-color-asides-border);background:linear-gradient(100deg, color-mix(in srgb, var(--sl-color-asides-border) 11%, var(--reader-panel)), color-mix(in srgb, var(--sl-color-asides-border) 3%, var(--reader-panel)) 85%);border-radius:.75rem;padding:1rem 1.25rem}html .starlight-aside>:last-child{margin-bottom:0}html .kit-accordion,html .kit-expandable{border-radius:.75rem;transition:border-color .15s,background-color .15s}html .kit-accordion>summary,html .kit-expandable>summary{border-radius:.75rem;transition:background-color .15s}html .kit-accordion>summary:hover,html .kit-expandable>summary:hover{background:color-mix(in srgb, var(--chapter-accent) 7%, transparent)}html .kit-accordion>summary:focus-visible,html .kit-expandable>summary:focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:-2px}html .kit-accordion[open]{background:linear-gradient(100deg, color-mix(in srgb, var(--chapter-accent) 6%, var(--reader-panel)), var(--reader-panel) 70%);border-left-width:3px}@supports selector(::details-content){html .kit-accordion,html .kit-expandable{interpolate-size:allow-keywords}html .kit-accordion::details-content,html .kit-expandable::details-content{block-size:0;transition:block-size .28s ease, content-visibility .28s allow-discrete;overflow:clip}html .kit-accordion[open]::details-content,html .kit-expandable[open]::details-content{block-size:auto}}@media (prefers-reduced-motion:reduce){html .kit-accordion::details-content,html .kit-expandable::details-content{transition:none}}html .kit-tabs__tab{border-radius:.4rem .4rem 0 0;transition:color .15s,border-color .15s,background-color .15s}html .kit-tabs__tab:not([aria-selected=true]):hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}html .kit-tabs__tab:focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:-2px}html .kit-tabs--code.is-enhanced{border:1px solid var(--code-border);background:var(--code-bg);box-shadow:var(--code-shadow);border-radius:.75rem;overflow:hidden}html .kit-tabs--code.is-enhanced .kit-tabs__list{border-bottom:1px solid var(--code-border);border-radius:0;gap:.15rem;padding:.4rem .6rem 0}html .kit-tabs--code.is-enhanced .kit-tabs__tab:not([aria-selected=true]):hover{background:color-mix(in srgb, var(--code-text) 8%, transparent)}html .sl-markdown-content .kit-tabs--code.is-enhanced .kit-tab__body .expressive-code{border:0;border-radius:0;margin:0}html .sl-markdown-content .kit-tabs--code.is-enhanced .kit-tab__body .expressive-code .frame,html .sl-markdown-content .kit-tabs--code.is-enhanced .kit-tab__body .expressive-code pre{box-shadow:none;border:0;border-radius:0}html .sl-markdown-content .kit-frame figcaption{background:color-mix(in srgb, var(--ink) 6%, transparent);width:fit-content;max-width:100%;color:var(--ink-soft);text-align:center;border:0;border-radius:62.5rem;margin:.6rem auto .2rem;padding:.15rem .85rem;font-size:.82em}html :is(.kit-card,.kit-tile,.course-card){transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s}html :is(.kit-tile,.course-card):focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:.15rem}html .academy-quiz__options button{border-radius:.65rem;transition:border-color .15s,background-color .15s,box-shadow .15s}html .academy-quiz__options button:not(:disabled):not(.is-correct-answer):not(.is-wrong-answer):hover{border-color:color-mix(in srgb, var(--chapter-accent,var(--rust)) 55%, var(--line));background:color-mix(in srgb, var(--chapter-accent,var(--rust)) 7%, var(--reader-panel))}html .academy-quiz__options button:focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:.12rem}html .kit-fields{border:1px solid var(--reader-line);background:var(--reader-panel);border-radius:.75rem;overflow:hidden}html .kit-fields__title{border-bottom:1px solid var(--reader-line);background:linear-gradient(100deg, color-mix(in srgb, var(--chapter-accent) 9%, var(--reader-panel)), var(--reader-panel) 80%);margin:0;padding:.6rem 1rem}html .kit-field{border-top:1px solid var(--reader-line);padding:.85rem 1rem}html .kit-fields>.kit-field:first-child,html .kit-fields__title+.kit-field{border-top:0}html .kit-field:last-child{border-bottom:0}html .kit-field__body{padding-inline-start:.2rem}html .kit-field__flag{color:var(--chapter-ink);border-color:color-mix(in srgb, var(--chapter-accent) 40%, var(--reader-line));background:color-mix(in srgb, var(--chapter-accent) 8%, transparent)}html .kit-field__default{background:color-mix(in srgb, var(--ink) 6%, transparent);font-family:var(--mono);border-radius:62.5rem;padding:.05rem .45rem}html :is(.kit-panel,.kit-prompt){border-radius:.75rem;overflow:hidden}html .kit-panel__title,html .kit-prompt__head{background:linear-gradient(100deg, color-mix(in srgb, var(--reading-information) 10%, var(--reader-panel)), transparent 85%)}html .kit-example{border-radius:0 .75rem .75rem 0}html .kit-example__head{background:linear-gradient(100deg, color-mix(in srgb, var(--chapter-accent) 9%, var(--reader-panel)), transparent 85%)}html .kit-prompt__action{border-radius:62.5rem;transition:background-color .15s,border-color .15s,color .15s}html .kit-prompt__actions>.kit-prompt__action:first-child{color:var(--paper);border-color:var(--chapter-ink);background:var(--chapter-ink)}html .kit-prompt__actions>.kit-prompt__action:first-child:hover{background:color-mix(in srgb, var(--chapter-ink) 88%, var(--ink-strong))}html .kit-prompt__action:focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:.12rem}html .kit-github{border-radius:.75rem;transition:border-color .15s,background-color .15s}html .kit-github:hover{border-color:color-mix(in srgb, var(--chapter-accent) 40%, var(--reader-line))}html .kit-github__toggle{border-radius:62.5rem;transition:background-color .15s,border-color .15s}html .kit-github__toggle:hover{background:color-mix(in srgb, var(--chapter-accent) 10%, transparent)}html .kit-github__toggle:focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:.12rem}html .kit-column{border-radius:.75rem}html .academy-hovercard{box-shadow:0 .6rem 1.8rem color-mix(in srgb, var(--night) 32%, transparent);border-radius:.75rem}html [role=tooltip]{box-shadow:0 .3rem .9rem color-mix(in srgb, var(--night) 28%, transparent);border-radius:.5rem}.sl-markdown-content starlight-file-tree .comment{color:var(--ink)}@media (width<=767px){:root[data-design=v2]{& .floating-pager{display:none!important}& .breadcrumbs,& nav[aria-label=Breadcrumbs]{white-space:nowrap;text-overflow:ellipsis;scrollbar-width:none;display:block;overflow-x:auto}& :is(.sl-markdown-content table,.sl-markdown-content pre,.scene,.kit-frame,svg){-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}& :is(button,[role=tab],.academy-quiz__options button,summary){min-width:44px;min-height:44px}& .kit-columns{grid-template-columns:1fr}& #starlight__sidebar::backdrop{backdrop-filter:blur(4px);background:#00000080}& .lesson-notes__fab{inset-inline-end:1rem;bottom:1rem}}}@media (hover:none){:root[data-design=v2] .academy-hovercard{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom));z-index:1100;box-shadow:0 -10px 30px #00000038;width:auto!important;max-width:none!important;position:fixed!important;inset:auto 0 0!important;transform:none!important}}:root[data-design=v2]{& :is(a,button,summary,input,select,textarea,[role=tab],[tabindex]):focus-visible{outline:2px solid var(--focus-ring,var(--rust));outline-offset:2px}&[data-motion=system] *,&:not([data-motion]) *{scroll-behavior:auto}}:root[data-design=v2][data-theme=dark]{color-scheme:dark}:root[data-design=v2][data-theme=light]{color-scheme:light}@media (prefers-reduced-motion:reduce){:root[data-design=v2] *,:root[data-design=v2] :before,:root[data-design=v2] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root[data-design=v2]{color-scheme:light;--bg-canvas:#fff;--bg-surface:#fff;--text-primary:#111}:root[data-design=v2] body{color:#111;background:#fff}:root[data-design=v2] :is(.sidebar-pane,header.header,.right-sidebar,.floating-pager,#context7-widget,.reading-audio,.lesson-notes,.lesson-cheat,.academy-quiz button,.academy-quiz__actions){display:none!important}:root[data-design=v2] :is(pre,table,.kit-frame,.scene){break-inside:avoid;page-break-inside:avoid}}:root{--semantic-hue-data:250;--semantic-hue-flow:300;--semantic-hue-success:155;--semantic-hue-warn:80;--semantic-hue-danger:25;--semantic-lightness:.42;--semantic-chroma:.1;--semantic-code-lightness:.8;--semantic-code-chroma:var(--semantic-chroma);--semantic-menu-lightness:.8;--semantic-data:oklch(var(--semantic-lightness) var(--semantic-chroma) var(--semantic-hue-data));--semantic-flow:oklch(var(--semantic-lightness) var(--semantic-chroma) var(--semantic-hue-flow));--semantic-success:oklch(var(--semantic-lightness) var(--semantic-chroma) var(--semantic-hue-success));--semantic-warn:oklch(var(--semantic-lightness) var(--semantic-chroma) var(--semantic-hue-warn));--semantic-danger:oklch(var(--semantic-lightness) var(--semantic-chroma) var(--semantic-hue-danger));--semantic-code-data:oklch(var(--semantic-code-lightness) var(--semantic-code-chroma) var(--semantic-hue-data));--semantic-code-flow:oklch(var(--semantic-code-lightness) var(--semantic-code-chroma) var(--semantic-hue-flow));--semantic-code-success:oklch(var(--semantic-code-lightness) var(--semantic-code-chroma) var(--semantic-hue-success));--semantic-code-warn:oklch(var(--semantic-code-lightness) var(--semantic-code-chroma) var(--semantic-hue-warn));--semantic-code-danger:oklch(var(--semantic-code-lightness) var(--semantic-code-chroma) var(--semantic-hue-danger));--semantic-menu-data:oklch(var(--semantic-menu-lightness) var(--semantic-chroma) var(--semantic-hue-data));--semantic-menu-flow:oklch(var(--semantic-menu-lightness) var(--semantic-chroma) var(--semantic-hue-flow));--semantic-menu-success:oklch(var(--semantic-menu-lightness) var(--semantic-chroma) var(--semantic-hue-success));--semantic-menu-warn:oklch(var(--semantic-menu-lightness) var(--semantic-chroma) var(--semantic-hue-warn));--semantic-menu-danger:oklch(var(--semantic-menu-lightness) var(--semantic-chroma) var(--semantic-hue-danger));--semantic-register:var(--semantic-code-data);--semantic-mnemonic:var(--semantic-code-flow);--semantic-value:var(--semantic-code-success);--semantic-data-wash:color-mix(in oklch, var(--semantic-data) 6%, var(--reader-panel));--semantic-flow-wash:color-mix(in oklch, var(--semantic-flow) 6%, var(--reader-panel));--semantic-success-wash:color-mix(in oklch, var(--semantic-success) 6%, var(--reader-panel));--semantic-warn-wash:color-mix(in oklch, var(--semantic-warn) 6%, var(--reader-panel));--semantic-danger-wash:color-mix(in oklch, var(--semantic-danger) 6%, var(--reader-panel))}:root[data-academy-theme=purple]{--semantic-hue-data:255;--semantic-hue-flow:305;--semantic-hue-warn:85;--semantic-hue-danger:20}:root[data-academy-theme=midnight]{--semantic-hue-data:240;--semantic-hue-flow:295;--semantic-hue-success:150;--semantic-hue-warn:75}:root[data-academy-theme=forest]{--semantic-hue-data:235;--semantic-hue-flow:315;--semantic-hue-success:150;--semantic-hue-warn:85}:root[data-theme=dark]{--semantic-lightness:.8}:root[data-academy-code-mode=light]{--semantic-code-lightness:.42}:root[data-academy-theme=contrast]{--semantic-lightness:.35;--semantic-code-lightness:.35;--semantic-chroma:.07}:root[data-academy-theme=contrast][data-theme=dark]{--semantic-lightness:.88}:root[data-academy-theme=contrast][data-academy-code-mode=dark]{--semantic-code-lightness:.88}:root[data-academy-semantic=off]{--semantic-data:var(--ink-soft);--semantic-flow:var(--ink-soft);--semantic-success:var(--ink-soft);--semantic-warn:var(--ink-soft);--semantic-danger:var(--ink-soft);--semantic-code-data:var(--code-text);--semantic-code-flow:var(--code-text);--semantic-code-success:var(--code-text);--semantic-code-warn:var(--code-text);--semantic-code-danger:var(--code-text);--semantic-menu-data:var(--sidebar-text);--semantic-menu-flow:var(--sidebar-text);--semantic-menu-success:var(--sidebar-text);--semantic-menu-warn:var(--sidebar-text);--semantic-menu-danger:var(--sidebar-text)}@media screen{:root[data-academy-appearance=modern]{--reading-information:var(--semantic-data);--reading-process:var(--semantic-flow);--reading-result:var(--semantic-success);--reading-caution:var(--semantic-warn);--reading-menu-information:var(--semantic-menu-data);--reading-menu-process:var(--semantic-menu-flow);--reading-menu-result:var(--semantic-menu-success);--reading-menu-caution:var(--semantic-menu-warn);--success:var(--semantic-success);--warning:var(--semantic-warn);--danger:var(--semantic-danger);--success-soft:var(--semantic-success-wash);--warning-soft:var(--semantic-warn-wash);--danger-soft:var(--semantic-danger-wash)}:root[data-academy-appearance=modern][data-academy-surface=unified]{--semantic-menu-lightness:var(--semantic-lightness)}:root[data-academy-appearance=modern]:is([data-academy-syntax=academy],:not([data-academy-syntax])){--syntax-keyword:var(--semantic-mnemonic);--syntax-escape:var(--semantic-register);--syntax-variable:var(--semantic-register);--syntax-number:var(--semantic-value);--syntax-type:var(--semantic-code-warn);--syntax-safety:var(--semantic-code-danger)}:root[data-academy-appearance=modern][data-academy-semantic=off]{--syntax-keyword:var(--code-text);--syntax-type:var(--code-text);--syntax-string:var(--code-text);--syntax-escape:var(--code-text);--syntax-function:var(--code-text);--syntax-identifier:var(--code-text);--syntax-variable:var(--code-text);--syntax-enum-variant:var(--code-text);--syntax-number:var(--code-text);--syntax-safety:var(--code-text);--syntax-added:var(--code-text);--syntax-removed:var(--code-text);--syntax-added-bg:color-mix(in oklch, var(--code-text) 6%, var(--code-bg));--syntax-removed-bg:color-mix(in oklch, var(--code-text) 6%, var(--code-bg))}:root[data-academy-appearance=modern] .expressive-code .semantic-token{font-weight:inherit}:root[data-academy-appearance=modern] .expressive-code :is(.semantic-token--register,.semantic-token--windows,.semantic-token--variable){color:var(--semantic-register)!important}:root[data-academy-appearance=modern] .expressive-code :is(.semantic-token--instruction,.semantic-token--command){text-decoration-color:currentColor;color:var(--semantic-mnemonic)!important}:root[data-academy-appearance=modern] .expressive-code :is(.semantic-token--result,.semantic-token--enum-variant){color:var(--semantic-value)!important}:root[data-academy-appearance=modern] .expressive-code .semantic-token--memory{color:var(--semantic-code-warn)!important}:root[data-academy-appearance=modern] .expressive-code .semantic-token--safety{text-decoration-color:currentColor;color:var(--semantic-code-danger)!important}:root[data-academy-appearance=modern] .cpu-step__register{fill:var(--code-bg)!important;stroke:var(--semantic-register)!important}:root[data-academy-appearance=modern] .cpu-step__register.is-changed{fill:color-mix(in oklch, var(--semantic-code-success) 8%, var(--code-bg))!important;stroke:var(--semantic-code-success)!important}:root[data-academy-appearance=modern] .cpu-step [data-reader-register]{fill:var(--semantic-register)}:root[data-academy-appearance=modern] .cpu-step [data-reader-value]{fill:var(--semantic-value)}:root[data-academy-appearance=modern] .starlight-aside--note{--sl-color-asides-border:var(--semantic-data)}:root[data-academy-appearance=modern] .starlight-aside--tip{--sl-color-asides-border:var(--semantic-success)}:root[data-academy-appearance=modern] .starlight-aside--caution{--sl-color-asides-border:var(--semantic-warn)}:root[data-academy-appearance=modern] .starlight-aside--danger{--sl-color-asides-border:var(--semantic-danger)}}@media print{:root{--semantic-data:var(--ink);--semantic-flow:var(--ink);--semantic-success:var(--ink);--semantic-warn:var(--ink);--semantic-danger:var(--ink);--semantic-code-data:var(--code-text);--semantic-code-flow:var(--code-text);--semantic-code-success:var(--code-text);--semantic-code-warn:var(--code-text);--semantic-code-danger:var(--code-text)}}@media screen{:root[data-academy-appearance=modern]{--reader-radius-tag:.25rem;--reader-radius-control:.5rem;--reader-radius-panel:.75rem;--reader-stroke:.0625rem;--reader-stroke-strong:.125rem;--reader-accent-stroke:.1875rem;--reader-easing:cubic-bezier(.2, 0, .2, 1);--reader-transition:.15s;--reader-boundary:color-mix(in oklch, var(--ink) 16%, var(--reader-panel));--reader-control-boundary:color-mix(in srgb, var(--ink-soft) 78%, var(--reader-panel));--reader-shadow:none;--reader-control-shadow:none;--reader-control-glow:none;--code-shadow:var(--reader-shadow);--reader-chrome-boundary:color-mix(in srgb, var(--sidebar-text) 65%, var(--night-soft));--reader-control-fill:linear-gradient(180deg, var(--reader-panel-raised), var(--reader-panel));--reader-frost:.75rem;--mono:"Geist Mono", "JetBrains Mono", "SFMono-Regular", Consolas, ui-monospace, monospace}:root[data-academy-appearance=modern][data-depth=soft]{--reader-shadow:0 .0625rem .25rem color-mix(in srgb, var(--night) 12%, transparent), 0 .5rem 1.5rem color-mix(in srgb, var(--night) 6%, transparent);--reader-control-shadow:0 .0625rem .125rem color-mix(in srgb, var(--night) 10%, transparent);--reader-control-glow:0 0 .5rem color-mix(in srgb, var(--semantic-data) 18%, transparent)}:root[data-academy-appearance=modern] :is(h1,h2,h3){letter-spacing:-.025em}:root[data-academy-appearance=modern] :is(pre,code,kbd,.code-trace__val,.code-trace__count,.code-trace__cell-value,.cpu-step text){font-variant-numeric:tabular-nums}:root[data-academy-appearance=modern] :is(.lesson-header,.lesson-cheat,.kit-panel,.kit-prompt,.kit-fields,.kit-accordion,.kit-expandable,.starlight-aside,.academy-quiz,.concept-lab,.sim-lab,.code-trace,.cpu-step,.scene,.table-scroll){border-radius:var(--reader-radius-panel);box-shadow:var(--reader-shadow)}:root[data-academy-appearance=modern] .sl-markdown-content .expressive-code{border-inline-start-width:var(--reader-accent-stroke);border-radius:var(--reader-radius-panel)}:root[data-academy-appearance=modern] .expressive-code{--ec-brdRad:var(--reader-radius-panel)}:root[data-academy-appearance=modern] :is(.expressive-code .frame,.expressive-code pre){border-radius:var(--reader-radius-panel)}:root[data-academy-appearance=modern] .sl-markdown-content :is(.kit-tabs--code.is-enhanced .expressive-code .frame,.kit-tabs--code.is-enhanced .expressive-code pre){border-radius:0}:root[data-academy-appearance=modern] :is(kbd,.code-trace__tag,.kit-field__flag,.academy-quiz__option-letter){border-radius:var(--reader-radius-tag)}:root[data-academy-appearance=modern] :is(.starlight-aside,.kit-panel,.kit-prompt,.kit-fields,.academy-quiz,.concept-lab,.sim-lab,.code-trace,.cpu-step,.scene,.table-scroll){border-color:var(--reader-boundary)}:root[data-academy-appearance=modern] .starlight-aside{border-inline-start-color:var(--sl-color-asides-border);border-inline-start-width:var(--reader-accent-stroke);background:color-mix(in oklch, var(--sl-color-asides-border) 6%, var(--reader-panel))}:root[data-academy-appearance=modern] :is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.academy-quiz,.ownership-scope,.projection-lab) :is(button,select,input:not([type=range])){border-radius:var(--reader-radius-control);border-color:var(--reader-control-boundary);transition:color var(--reader-transition) var(--reader-easing), background-color var(--reader-transition) var(--reader-easing), border-color var(--reader-transition) var(--reader-easing), box-shadow var(--reader-transition) var(--reader-easing), transform var(--reader-transition) var(--reader-easing)}:root[data-academy-appearance=modern] :is(.code-trace__btn,.cpu-step button,.concept-lab__button,.academy-quiz__button){color:var(--ink);background:var(--reader-control-fill);box-shadow:var(--reader-control-shadow)}:root[data-academy-appearance=modern] :is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.academy-quiz,.ownership-scope,.projection-lab) button:not(:disabled):hover{border-color:var(--semantic-data);box-shadow:var(--reader-control-glow);transform:none}:root[data-academy-appearance=modern] :is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.academy-quiz,.ownership-scope,.projection-lab) button:focus-visible{outline:var(--reader-stroke-strong) solid var(--semantic-data);outline-offset:var(--reader-stroke-strong)}:root[data-academy-appearance=modern] :is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.academy-quiz,.ownership-scope,.projection-lab) button:not(:disabled):active{transform:scale(.98)}:root[data-academy-appearance=modern] .academy-quiz__options button{border-width:var(--reader-stroke);background:var(--reader-panel);box-shadow:none}:root[data-academy-appearance=modern] .academy-quiz__options button:not(:disabled):not(.is-correct-answer):not(.is-wrong-answer):is(:hover,:focus-visible),:root[data-academy-appearance=modern] .academy-quiz__options button.is-selected{border-color:var(--semantic-data);background:var(--semantic-data-wash);box-shadow:inset var(--reader-accent-stroke) 0 0 var(--semantic-data)}:root[data-academy-appearance=modern] .academy-quiz__options button.is-correct-answer{border-color:var(--semantic-success);background:var(--semantic-success-wash);box-shadow:inset var(--reader-accent-stroke) 0 0 var(--semantic-success)}:root[data-academy-appearance=modern] .academy-quiz__options button.is-wrong-answer{border-color:var(--semantic-danger);background:var(--semantic-danger-wash);box-shadow:inset var(--reader-accent-stroke) 0 0 var(--semantic-danger)}:root[data-academy-appearance=modern] .theme-switcher__menu{border-color:var(--reader-chrome-boundary);border-radius:var(--reader-radius-panel)}:root[data-academy-appearance=modern][data-drawer=sheet] .theme-switcher__menu{border-radius:0}:root[data-academy-appearance=modern] .theme-switcher__menu :is(button,select,input:not([type=range])){border-radius:var(--reader-radius-control);transition:color var(--reader-transition) var(--reader-easing), background-color var(--reader-transition) var(--reader-easing), border-color var(--reader-transition) var(--reader-easing), transform var(--reader-transition) var(--reader-easing)}:root[data-academy-appearance=modern] .theme-switcher__menu .theme-switcher__modes button{border-color:var(--reader-chrome-boundary)}:root[data-academy-appearance=modern] .theme-switcher__menu button:not(:disabled):active{transform:scale(.98)}:root[data-academy-appearance=modern] .theme-switcher__menu button:focus-visible{outline:var(--reader-stroke-strong) solid var(--sidebar-hover);outline-offset:var(--reader-stroke-strong)}:root[data-academy-appearance=modern] .theme-switcher__tierbar{border-bottom:var(--reader-stroke) solid var(--reader-chrome-boundary)}:root[data-academy-appearance=modern] :is(.theme-switcher__menu,.lesson-notes__panel,.academy-hovercard){box-shadow:var(--reader-shadow)}:root[data-academy-appearance=modern] header.header{border-bottom-color:var(--reader-chrome-boundary)}:root[data-academy-appearance=modern][data-academy-gradients=off],:root[data-academy-appearance=modern][data-academy-theme=contrast]{--reader-control-fill:var(--reader-panel)}:root[data-academy-appearance=modern][data-academy-theme=contrast]{--reader-boundary:var(--ink-soft);--reader-shadow:none;--reader-control-shadow:none;--reader-control-glow:none}:root[data-academy-appearance=modern][data-academy-motion=off]{--reader-transition:0s}:root[data-academy-appearance=modern][data-academy-motion=off] :is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.academy-quiz,.ownership-scope,.projection-lab) button:active{transform:none}@supports (backdrop-filter:blur(1rem)){:root[data-academy-appearance=modern][data-depth=soft]:not([data-academy-theme=contrast]) header.header{background:color-mix(in srgb, var(--night) 94%, transparent);backdrop-filter:blur(var(--reader-frost))}:root[data-academy-appearance=modern][data-depth=soft]:not([data-academy-theme=contrast]) :is(.theme-switcher__menu,.theme-switcher__tierbar){background:color-mix(in srgb, var(--night-soft) 94%, transparent);backdrop-filter:blur(var(--reader-frost))}:root[data-academy-appearance=modern][data-depth=soft]:not([data-academy-theme=contrast]) .lesson-notes__panel{background:color-mix(in srgb, var(--reader-panel) 96%, transparent);backdrop-filter:blur(var(--reader-frost))}}}@media screen and (prefers-reduced-motion:reduce){:root[data-academy-appearance=modern]{--reader-transition:0s}:root[data-academy-appearance=modern] :is(.concept-lab,.sim-lab,.code-trace,.sort-board,.formula-builder,.code-blanks,.visual-lab,.cpu-step,.academy-quiz,.ownership-scope,.projection-lab) button:active{transform:none}}@media (width<=40rem),(pointer:coarse){main :where(select,input[type=range],input[type=number],input[type=text]),main :is(.code-trace__field select,.code-trace__field input[type=range],.concept-lab__text-input,.concept-lab__example,.scene__scrub,.scene input[type=range],.concept-lab input[type=range],.sim-lab input[type=range]){min-height:2.75rem}main .concept-lab .concept-lab__example:not(.code-blanks__token),main .concept-lab .concept-lab__examples .concept-lab__example:not([data-action]),main .concept-lab .concept-lab__examples .concept-lab__example[data-action]{min-height:2.75rem;padding-block:.4rem}main :is(.academy-quiz__question-progress,.concept-lab__live-badge,.concept-lab__type-badge,.code-trace__cell-label,.code-trace__cell-note,.kit-example__label,.kit-field__flag,.formula-builder__slot-label,.gloss),main .concept-lab :is(.concept-lab__live-badge,.concept-lab__type-badge){font-size:max(.72rem,11.5px)}main :is(table,.table-scroll) th,:root main .sl-markdown-content :is(table,.table-scroll) th{font-size:max(.75rem,12px)}main :is(th,.margin-note) code{font-size:max(1em,11.5px)}}@media (width<=49.99rem){.header>.sl-hidden{flex:none;align-items:center;margin-inline-start:.5rem;display:flex!important}.header>.sl-hidden>:not(.academy-reader-tools),.header .academy-reader-tools>:not(.theme-switcher){display:none!important}.header .theme-switcher__toggle{color:#f8fafcdb;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:minmax(0,1fr);place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid;position:relative}.header .theme-switcher__toggle>:not(.theme-switcher__glyph){clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header .theme-switcher__glyph{font-size:1.2rem;line-height:1}.header .site-title{white-space:normal;gap:.5rem;min-width:0;font-size:.82rem;line-height:1.1}.header .title-wrapper{flex:auto;min-width:0}.sl-menu-button{color:#f8fafcdb;width:2.75rem;height:2.75rem;box-shadow:none;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:8px;top:6px!important}.sl-menu-button[aria-expanded=true]{color:#fff;background:#ffffff29}}@media (width<=40rem){:root .lesson-notes__fab{inset-inline-end:4.75rem!important;bottom:max(1rem, env(safe-area-inset-bottom))!important}}html:not([data-note-mode=pin]) .margin-note:not([data-collapsed=true])>.margin-note__toggle,html[data-note-mode=pin] .margin-note[data-open=true]>.margin-note__toggle{width:2.75rem;height:2.75rem;color:var(--ink-soft,#64748b);background:0 0;border:0;border-radius:50%;place-items:center;margin:0;padding:0;font-size:0;line-height:1;display:grid;position:absolute;inset-block-start:.15rem;inset-inline-end:.15rem}html:not([data-note-mode=pin]) .margin-note:not([data-collapsed=true])>.margin-note__toggle:before,html[data-note-mode=pin] .margin-note[data-open=true]>.margin-note__toggle:before{content:"✕";font-size:.9rem}html:not([data-note-mode=pin]) .margin-note:not([data-collapsed=true])>.margin-note__toggle:hover,html[data-note-mode=pin] .margin-note[data-open=true]>.margin-note__toggle:hover{background:color-mix(in srgb, var(--note-hue,#d97706) 18%, transparent);color:var(--ink,inherit)}html:not([data-note-mode]) .margin-note:not([data-collapsed=true]){padding-inline-end:2.9rem;position:relative}html[data-note-mode] .margin-note:not([data-collapsed=true]){padding-inline-end:2.9rem}html[data-note-mode=pin] .margin-note:not([data-open=true]){padding-inline-end:0}html[data-note-mode=pin] .margin-note:not([data-open=true])>.margin-note__toggle,.margin-note[data-collapsed=true]>.margin-note__toggle{color:var(--ink)}:root .lesson-notes .lesson-notes__panel{--nb-edge:color-mix(in srgb, var(--ink,#1f2937) 24%, transparent);--nb-fill:color-mix(in srgb, var(--ink,#1f2937) 5%, var(--paper,#fff));--nb-hover:color-mix(in srgb, var(--chapter-accent,#c2410c) 14%, var(--paper,#fff))}:root .lesson-notes .lesson-notes__panel :is(button,select){border:1px solid var(--nb-edge);background:var(--nb-fill);min-height:2.4rem;box-shadow:none;color:var(--ink);font:inherit;text-align:center;cursor:pointer;border-radius:.6rem;justify-content:center;align-items:center;gap:.4rem;padding:.35rem .8rem;font-size:.85rem;line-height:1.2;display:inline-flex}:root .lesson-notes .lesson-notes__panel :is(button,select):hover{background:var(--nb-hover)}:root .lesson-notes .lesson-notes__panel :is(button,select,textarea):focus-visible{outline:.15rem solid var(--chapter-accent,#c2410c);outline-offset:.1rem}:root .lesson-notes .lesson-notes__head{align-items:center;gap:.5rem}:root .lesson-notes .lesson-notes__head strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.95rem;overflow:hidden}:root .lesson-notes .lesson-notes__tools{flex:none;gap:.35rem}:root .lesson-notes .lesson-notes__tools button{white-space:nowrap;min-height:2.25rem;padding:.2rem .6rem;font-size:.8rem}:root .lesson-notes .lesson-notes__tools .lesson-notes__close{border-radius:50%;width:2.25rem;padding:0;font-size:1.1rem}:root .lesson-notes .lesson-notes__tabs{border:1px solid var(--nb-edge);background:var(--nb-fill);border-radius:.8rem;grid-template-columns:1fr 1fr;gap:.2rem;padding:.2rem;display:grid}:root .lesson-notes .lesson-notes__tabs button{background:0 0;border-color:#0000;border-radius:.6rem;min-height:2.2rem}:root .lesson-notes .lesson-notes__tabs button[aria-selected=true]{border-color:var(--chapter-accent,#c2410c);background:var(--paper,#fff);font-weight:700;box-shadow:0 1px 3px #0000001f}:root .lesson-notes .lesson-notes__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.5rem;display:grid}:root .lesson-notes .lesson-notes__actions:has([data-note-bubble]){grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}:root .lesson-notes .lesson-notes__actions:has([data-note-export]){grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}:root .lesson-notes .lesson-notes__actions button{white-space:normal}:root .lesson-notes .lesson-notes__actions select{width:100%;min-width:0;padding-inline-end:.4rem}:root .lesson-notes .lesson-notes__actions [data-note-clear]{border-color:color-mix(in srgb, var(--semantic-danger,#b42318) 45%, transparent);color:var(--semantic-danger,#b42318);background:0 0}:root .lesson-notes .lesson-notes__actions [data-note-clear]:hover{background:color-mix(in srgb, var(--semantic-danger,#b42318) 12%, var(--paper,#fff))}:root .lesson-notes .lesson-notes__status{margin-top:.5rem}@media (width<=40rem),(pointer:coarse){:root .lesson-notes .lesson-notes__panel :is(button,select){min-height:2.75rem;font-size:.9rem}:root .lesson-notes .lesson-notes__tools button{min-height:2.75rem}:root .lesson-notes .lesson-notes__tools .lesson-notes__close{width:2.75rem}:root .lesson-notes .lesson-notes__tabs button{min-height:2.75rem}}@media (width<=24rem){:root .lesson-notes .lesson-notes__actions:has([data-note-export]){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:root .lesson-notes .lesson-notes__actions [data-note-clear]{grid-column:1/-1}}:root .kit-accordion>summary,:root .kit-expandable>summary{min-height:2.75rem}:root .kit-accordion>summary:before,:root .kit-expandable>summary:before{border:.125rem solid var(--chapter-accent);background:color-mix(in srgb, var(--chapter-accent) 10%, var(--reader-panel));content:"›";width:1.55rem;height:1.55rem;color:var(--chapter-accent);font:800 1.15rem/1 var(--body);border-radius:50%;place-items:center;margin:0;transition:transform .16s,background-color .16s;display:grid;transform:none;-webkit-mask:none;mask:none}:root .kit-accordion[open]>summary:before,:root .kit-expandable[open]>summary:before{background:color-mix(in srgb, var(--chapter-accent) 22%, var(--reader-panel));transform:rotate(90deg)}:root .kit-accordion .kit-accordion__title{text-wrap:balance}:root .kit-tabs:not(.kit-tabs--code).is-enhanced .kit-tabs__list{border:1px solid var(--reader-line);background:color-mix(in srgb, var(--ink,#1f2937) 5%, var(--reader-panel));border-radius:.85rem;flex-wrap:wrap;gap:.2rem;padding:.2rem;display:inline-flex}:root .kit-tabs:not(.kit-tabs--code).is-enhanced .kit-tabs__tab{background:0 0;border:0;border-radius:.65rem;min-height:2.6rem;padding:.3rem 1rem}:root .kit-tabs:not(.kit-tabs--code).is-enhanced .kit-tabs__tab[aria-selected=true]{background:var(--reader-panel);box-shadow:0 1px 3px #00000029, 0 0 0 1px color-mix(in srgb, var(--chapter-accent) 55%, transparent);color:var(--ink-strong)}:root .sl-link-card{border-inline-start:.3rem solid var(--chapter-accent);border-radius:.8rem;transition:box-shadow .16s,border-color .16s}:root .sl-link-card:is(:hover,:focus-within){box-shadow:0 6px 18px #0000001f}:root article.card{border:1px solid var(--reader-line);border-top:.25rem solid var(--chapter-accent);background:var(--reader-panel);border-radius:.8rem;gap:.55rem;padding:.95rem 1.1rem 1rem}:root article.card .title{text-wrap:balance;gap:.6rem;font-size:1.05rem;font-weight:700;line-height:1.3}:root article.card .body{margin:0;font-size:.95rem;line-height:1.55}:root .kit-column{border-top:.25rem solid var(--chapter-accent);border-radius:.7rem}:root .kit-column__title,:root .kit-example__label,:root .kit-panel__title,:root .starlight-aside__title{text-transform:none;letter-spacing:0}:root .kit-column__title{font-size:.95rem;font-weight:700}:root .sl-steps>li:not(:last-child){padding-bottom:1.5rem}:root .sl-steps>li:after{background-color:color-mix(in srgb, var(--chapter-accent) 45%, var(--reader-line));border-radius:.1rem;width:.1875rem}:root :is(.kit-example__title,.kit-panel__title,.kit-column__title,.kit-tile__title){text-wrap:balance}:root .expressive-code{border-left:0}:root .expressive-code .frame pre{box-shadow:inset .25rem 0 0 var(--chapter-accent,#9f3d20)}:root :is(.kit-fields__title,.kit-tab__title,.kit-prompt__label,.kit-field__flag){text-transform:none;letter-spacing:0}:root :is(.kit-fields__title,.kit-prompt__label){font-family:inherit;font-size:.9rem;font-weight:700}:root starlight-file-tree{border:1px solid var(--reader-line);background:color-mix(in srgb, var(--ink,#1f2937) 4%, var(--reader-panel));border-radius:.8rem;padding:.7rem .9rem;font-size:.9rem}@media (hover:hover) and (pointer:fine){:root starlight-file-tree summary{min-height:1.9rem!important}}:root .sl-badge{letter-spacing:0;text-transform:none;margin-block:.15rem .4rem;margin-inline-end:.3rem;padding:.1rem .6rem;font-family:inherit;font-size:.8rem;font-weight:600}:root .starlight-aside__title{font-family:inherit;font-size:.95rem;font-weight:700;line-height:1.3}@media (prefers-reduced-motion:reduce){:root .sl-link-card{transition:none}}@layer starlight.base{:root,::backdrop{--sl-color-white:#fff;--sl-color-gray-1:#edeef3;--sl-color-gray-2:#c1c3c8;--sl-color-gray-3:#888c96;--sl-color-gray-4:#555962;--sl-color-gray-5:#353841;--sl-color-gray-6:#23262f;--sl-color-black:#17181c;--sl-hue-orange:41;--sl-color-orange-low:hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange:hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high:hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green:101;--sl-color-green-low:hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high:hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue:234;--sl-color-blue-low:hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue:hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple:281;--sl-color-purple-low:hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple:hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red:339;--sl-color-red-low:hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red:hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high:hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low:#17264f;--sl-color-accent:#3369ff;--sl-color-accent-high:#b3c7ff;--sl-color-text:var(--sl-color-gray-2);--sl-color-text-accent:var(--sl-color-accent-high);--sl-color-text-invert:var(--sl-color-accent-low);--sl-color-bg:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-6);--sl-color-bg-sidebar:var(--sl-color-gray-6);--sl-color-bg-inline-code:var(--sl-color-gray-5);--sl-color-bg-accent:var(--sl-color-accent-high);--sl-color-hairline-light:var(--sl-color-gray-5);--sl-color-hairline:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-black);--sl-color-backdrop-overlay:#16181da8;--sl-shadow-sm:0px 1px 1px #0000001f, 0px 2px 1px #0000003d;--sl-shadow-md:0px 8px 4px #00000014, 0px 5px 2px #00000014, 0px 3px 2px #0000001f, 0px 1px 1px #00000026;--sl-shadow-lg:0px 25px 7px #00000008, 0px 16px 6px #0000001a, 0px 9px 5px #16181d54, 0px 4px 4px #000000bf, 0px 4px 2px #00000040;--sl-text-2xs:.75rem;--sl-text-xs:.8125rem;--sl-text-sm:.875rem;--sl-text-base:1rem;--sl-text-lg:1.125rem;--sl-text-xl:1.25rem;--sl-text-2xl:1.5rem;--sl-text-3xl:1.8125rem;--sl-text-4xl:2.1875rem;--sl-text-5xl:2.625rem;--sl-text-6xl:4rem;--sl-text-body:var(--sl-text-base);--sl-text-body-sm:var(--sl-text-xs);--sl-text-code:var(--sl-text-sm);--sl-text-code-sm:var(--sl-text-xs);--sl-text-h1:var(--sl-text-4xl);--sl-text-h2:var(--sl-text-3xl);--sl-text-h3:var(--sl-text-2xl);--sl-text-h4:var(--sl-text-xl);--sl-text-h5:var(--sl-text-lg);--sl-line-height:1.75;--sl-line-height-headings:1.2;--sl-font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font:var(--sl-font,var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono:var(--sl-font-mono,var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height:3.5rem;--sl-nav-pad-x:1rem;--sl-nav-pad-y:.75rem;--sl-mobile-toc-height:3rem;--sl-sidebar-width:18.75rem;--sl-sidebar-pad-x:1rem;--sl-content-width:45rem;--sl-content-pad-x:1rem;--sl-content-gap-y:1rem;--sl-main-pad:0 0 3vh 0;--sl-menu-button-size:2rem;--sl-nav-gap:var(--sl-content-pad-x);--sl-outline-offset-inside:-.1875rem;--sl-z-index-toc:4;--sl-z-index-menu:5;--sl-z-index-navbar:10;--sl-z-index-skiplink:20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white:#17181c;--sl-color-gray-1:#23262f;--sl-color-gray-2:#353841;--sl-color-gray-3:#555962;--sl-color-gray-4:#888c96;--sl-color-gray-5:#c1c3c8;--sl-color-gray-6:#edeef3;--sl-color-gray-7:#f6f7f9;--sl-color-black:#fff;--sl-color-orange-high:hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange:hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low:hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high:hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low:hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue:hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low:hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple:hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low:hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high:hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red:hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low:hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high:#0f1c8a;--sl-color-accent:#3d50f5;--sl-color-accent-low:#cfd4fc;--sl-color-text-accent:var(--sl-color-accent);--sl-color-text-invert:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-7);--sl-color-bg-sidebar:var(--sl-color-bg);--sl-color-bg-inline-code:var(--sl-color-gray-6);--sl-color-bg-accent:var(--sl-color-accent);--sl-color-hairline-light:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-gray-6);--sl-color-backdrop-overlay:#545864a8;--sl-shadow-sm:0px 1px 1px #0000000f, 0px 2px 1px #0000000f;--sl-shadow-md:0px 8px 4px #00000008, 0px 5px 2px #00000008, 0px 3px 2px #0000000f, 0px 1px 1px #0000000f;--sl-shadow-lg:0px 25px 7px #00000003, 0px 16px 6px #00000008, 0px 9px 5px #16181d14, 0px 4px 4px #00000029, 0px 4px 2px #0000000a}@media (width>=50em){:root{--sl-nav-height:4rem;--sl-nav-pad-x:1.5rem;--sl-text-h1:var(--sl-text-5xl);--sl-text-h2:var(--sl-text-4xl);--sl-text-h3:var(--sl-text-3xl);--sl-text-h4:var(--sl-text-2xl)}}@media (width>=72rem){:root{--sl-content-pad-x:1.5rem;--sl-mobile-toc-height:0rem}}}@layer starlight.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent);-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}[lang]:where(:lang(zh),:lang(ja)){text-autospace:normal}[lang]:where(:not(:lang(zh),:lang(ja))){text-autospace:initial}pre,code,samp,kbd{text-autospace:no-autospace}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.core{.sl-banner:where(.astro-ofbg3qve){--__sl-banner-text:var(--sl-color-banner-text,var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg,var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-ofbg3qve) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-a7po4psb){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-a7po4psb)+.content-panel:where(.astro-a7po4psb){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-a7po4psb){max-width:var(--sl-content-width)}.sl-container:where(.astro-a7po4psb)>*+*{margin-top:1.5rem}@media (width>=72rem){.sl-container:where(.astro-a7po4psb){margin-inline:var(--sl-content-margin-inline,auto)}}p:where(.astro-gsljcgkv){border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings);text-align:start;align-items:center;gap:.75em;padding:.75em 1em}a:where(.astro-qlekgd3o){color:var(--sl-color-gray-3);align-items:center;gap:.5rem;text-decoration:none}a:where(.astro-qlekgd3o):hover{color:var(--sl-color-white)}footer:where(.astro-ddtxxk7k){flex-direction:column;gap:1.5rem}.meta:where(.astro-ddtxxk7k){font-size:var(--sl-text-sm);color:var(--sl-color-gray-3);flex-wrap:wrap;justify-content:space-between;gap:.75rem 3rem;margin-top:3rem}.meta:where(.astro-ddtxxk7k)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-ddtxxk7k){font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);align-items:center;gap:.5em;margin:1.5rem auto;text-decoration:none}.kudos:where(.astro-ddtxxk7k):hover{color:var(--sl-color-white)}label:where(.astro-2z5xp7gb){--sl-label-icon-size:.875rem;--sl-caret-size:1.25rem;--sl-inline-padding:.5rem;color:var(--sl-color-gray-2);align-items:center;gap:.25rem;display:flex;position:relative}label:where(.astro-2z5xp7gb):hover{color:var(--sl-color-white)}.icon:where(.astro-2z5xp7gb){pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}select:where(.astro-2z5xp7gb){padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none;background-color:#0000;border:0}option:where(.astro-2z5xp7gb){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (width>=50rem){select:where(.astro-2z5xp7gb){font-size:var(--sl-text-sm)}}site-search:where(.astro-b5kgnn7o){display:contents}button:where(.astro-b5kgnn7o)[data-open-modal]{color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl);background-color:#0000;border:0;align-items:center;gap:.5rem;display:flex}@media (width>=50rem){button:where(.astro-b5kgnn7o)[data-open-modal]{border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);border-radius:.5rem;width:100%;max-width:22rem;padding-inline:.75rem .5rem}button:where(.astro-b5kgnn7o)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-b5kgnn7o)[data-open-modal]>:where(.astro-b5kgnn7o):last-child{margin-inline-start:auto}}button:where(.astro-b5kgnn7o)>kbd:where(.astro-b5kgnn7o){font-size:var(--sl-text-2xs);background-color:var(--sl-color-gray-6);border-radius:.25rem;gap:.25em;padding-inline:.375rem}kbd:where(.astro-b5kgnn7o){font-family:var(--__sl-font)}dialog:where(.astro-b5kgnn7o){background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg);margin:0}dialog:where(.astro-b5kgnn7o)[open]{display:flex}dialog:where(.astro-b5kgnn7o)::backdrop{background-color:var(--sl-color-backdrop-overlay);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-b5kgnn7o){flex-direction:column;flex-grow:1;gap:1rem;padding:1rem;position:relative;overflow:auto}button:where(.astro-b5kgnn7o)[data-close-modal]{z-index:1;height:calc(64px * var(--pagefind-ui-scale));cursor:pointer;color:var(--sl-color-text-accent);background:0 0;border:0;align-self:flex-end;align-items:center;padding:.25rem;position:absolute}#starlight__search:where(.astro-b5kgnn7o){--pagefind-ui-primary:var(--sl-color-text);--pagefind-ui-text:var(--sl-color-gray-2);--pagefind-ui-font:var(--__sl-font);--pagefind-ui-background:var(--sl-color-black);--pagefind-ui-border:var(--sl-color-gray-5);--pagefind-ui-border-width:1px;--pagefind-ui-tag:var(--sl-color-gray-5);--sl-search-cancel-space:5rem}:root[data-theme=light] #starlight__search:where(.astro-b5kgnn7o){--pagefind-ui-tag:var(--sl-color-gray-6)}@media (width>=50rem){#starlight__search:where(.astro-b5kgnn7o){--sl-search-cancel-space:0px}dialog:where(.astro-b5kgnn7o){border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem);margin:4rem auto auto}.dialog-frame:where(.astro-b5kgnn7o){padding:1.5rem}}.pagefind-ui__result.svelte-j9e30.svelte-j9e30{align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)), 3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);list-style-type:none;display:flex}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30.svelte-j9e30{width:min(30%, calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-j9e30.svelte-j9e30{border-radius:var(--pagefind-ui-image-border-radius);width:auto;max-width:100%;height:auto;max-height:100%;font-size:0;display:block;position:absolute;left:50%;transform:translate(-50%)}.pagefind-ui__result-inner.svelte-j9e30.svelte-j9e30{margin-top:calc(10px * var(--pagefind-ui-scale));flex-direction:column;flex:1;align-items:flex-start;display:flex}.pagefind-ui__result-title.svelte-j9e30.svelte-j9e30{font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0;display:inline-block}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-j9e30 .pagefind-ui__result-link.svelte-j9e30:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-j9e30.svelte-j9e30{font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));min-width:calc(250px * var(--pagefind-ui-scale));margin-bottom:0;display:inline-block}.pagefind-ui__loading.svelte-j9e30.svelte-j9e30{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-j9e30.svelte-j9e30{gap:calc(20px * var(--pagefind-ui-scale));margin-top:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;padding:0;list-style-type:none;display:flex}.pagefind-ui__result-tag.svelte-j9e30.svelte-j9e30{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf{align-items:flex-start;gap:min(calc(40px * var(--pagefind-ui-scale)), 3%);padding:calc(30px * var(--pagefind-ui-scale)) 0 calc(40px * var(--pagefind-ui-scale));border-top:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border);list-style-type:none;display:flex}.pagefind-ui__result.svelte-4xnkmf.svelte-4xnkmf:last-of-type{border-bottom:solid var(--pagefind-ui-border-width) var(--pagefind-ui-border)}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf{padding-left:calc(20px * var(--pagefind-ui-scale));flex-direction:column;display:flex}.pagefind-ui__result-nested.svelte-4xnkmf.svelte-4xnkmf:first-of-type{padding-top:calc(10px * var(--pagefind-ui-scale))}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{font-size:.9em;position:relative}.pagefind-ui__result-nested.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:before{content:"⤷ ";position:absolute;top:0;right:calc(100% + .1em)}.pagefind-ui__result-thumb.svelte-4xnkmf.svelte-4xnkmf{width:min(30%, calc((30% - (100px * var(--pagefind-ui-scale))) * 100000));max-width:calc(120px * var(--pagefind-ui-scale));margin-top:calc(10px * var(--pagefind-ui-scale));aspect-ratio:var(--pagefind-ui-image-box-ratio);position:relative}.pagefind-ui__result-image.svelte-4xnkmf.svelte-4xnkmf{border-radius:var(--pagefind-ui-image-border-radius);width:auto;max-width:100%;height:auto;max-height:100%;font-size:0;display:block;position:absolute;left:50%;transform:translate(-50%)}.pagefind-ui__result-inner.svelte-4xnkmf.svelte-4xnkmf{margin-top:calc(10px * var(--pagefind-ui-scale));flex-direction:column;flex:1;align-items:flex-start;display:flex}.pagefind-ui__result-title.svelte-4xnkmf.svelte-4xnkmf{font-weight:700;font-size:calc(21px * var(--pagefind-ui-scale));margin-top:0;margin-bottom:0;display:inline-block}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf{color:var(--pagefind-ui-text);text-decoration:none}.pagefind-ui__result-title.svelte-4xnkmf .pagefind-ui__result-link.svelte-4xnkmf:hover{text-decoration:underline}.pagefind-ui__result-excerpt.svelte-4xnkmf.svelte-4xnkmf{font-weight:400;font-size:calc(16px * var(--pagefind-ui-scale));margin-top:calc(4px * var(--pagefind-ui-scale));min-width:calc(250px * var(--pagefind-ui-scale));margin-bottom:0;display:inline-block}.pagefind-ui__loading.svelte-4xnkmf.svelte-4xnkmf{color:var(--pagefind-ui-text);background-color:var(--pagefind-ui-text);border-radius:var(--pagefind-ui-border-radius);opacity:.1;pointer-events:none}.pagefind-ui__result-tags.svelte-4xnkmf.svelte-4xnkmf{gap:calc(20px * var(--pagefind-ui-scale));margin-top:calc(20px * var(--pagefind-ui-scale));flex-wrap:wrap;padding:0;list-style-type:none;display:flex}.pagefind-ui__result-tag.svelte-4xnkmf.svelte-4xnkmf{padding:calc(4px * var(--pagefind-ui-scale)) calc(8px * var(--pagefind-ui-scale));font-size:calc(14px * var(--pagefind-ui-scale));border-radius:var(--pagefind-ui-border-radius);background-color:var(--pagefind-ui-tag)}legend.svelte-1v2r7ls.svelte-1v2r7ls{clip:rect(0 0 0 0);position:absolute}.pagefind-ui__filter-panel.svelte-1v2r7ls.svelte-1v2r7ls{min-width:min(calc(260px * var(--pagefind-ui-scale)), 100%);margin-top:calc(20px * var(--pagefind-ui-scale));flex-direction:column;flex:1;display:flex}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{border:0;padding:0}.pagefind-ui__filter-block.svelte-1v2r7ls.svelte-1v2r7ls{border-bottom:solid calc(2px * var(--pagefind-ui-scale)) var(--pagefind-ui-border);padding:0;padding:calc(20px * var(--pagefind-ui-scale)) 0;display:block}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls{font-size:calc(16px * var(--pagefind-ui-scale));cursor:pointer;height:calc(24px * var(--pagefind-ui-scale));align-items:center;font-weight:700;list-style:none;display:flex;position:relative}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls::-webkit-details-marker{display:none}.pagefind-ui__filter-name.svelte-1v2r7ls.svelte-1v2r7ls:after{content:"";right:calc(6px * var(--pagefind-ui-scale));width:calc(8px * var(--pagefind-ui-scale));height:calc(8px * var(--pagefind-ui-scale));border:solid calc(2px * var(--pagefind-ui-scale)) currentColor;border-top:0;border-right:0;position:absolute;top:50%;transform:translateY(-70%)rotate(-45deg)}.pagefind-ui__filter-block[open].svelte-1v2r7ls .pagefind-ui__filter-name.svelte-1v2r7ls:after{transform:translateY(-70%)rotate(-225deg)}.pagefind-ui__filter-group.svelte-1v2r7ls.svelte-1v2r7ls{gap:calc(20px * var(--pagefind-ui-scale));padding-top:calc(30px * var(--pagefind-ui-scale));flex-direction:column;display:flex}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls{align-items:center;gap:calc(8px * var(--pagefind-ui-scale));display:flex;position:relative}.pagefind-ui__filter-value.svelte-1v2r7ls.svelte-1v2r7ls:before{content:"";top:50%;left:calc(8px * var(--pagefind-ui-scale));opacity:0;width:0;height:0;transform:translate(calc(4.5px * var(--pagefind-ui-scale) * -1), calc(.8px * var(--pagefind-ui-scale))) skewX(-5deg) rotateZ(-45deg);transform-origin:0 0;pointer-events:none;border-top:0;border-bottom:1px solid #fff;border-left:1px solid #fff;border-right:0;position:absolute}.pagefind-ui__filter-value.pagefind-ui__filter-value--checked.svelte-1v2r7ls.svelte-1v2r7ls:before{opacity:1;width:calc(9px * var(--pagefind-ui-scale));height:calc(4px * var(--pagefind-ui-scale));transition:width .1s ease-out .1s,height .1s ease-in}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls{width:calc(16px * var(--pagefind-ui-scale));height:calc(16px * var(--pagefind-ui-scale));border:solid 1px var(--pagefind-ui-border);-webkit-appearance:none;appearance:none;border-radius:calc(var(--pagefind-ui-border-radius) / 2);background-color:var(--pagefind-ui-background);cursor:pointer;margin:0}.pagefind-ui__filter-checkbox.svelte-1v2r7ls.svelte-1v2r7ls:checked{background-color:var(--pagefind-ui-primary);border:solid 1px var(--pagefind-ui-primary)}.pagefind-ui__filter-label.svelte-1v2r7ls.svelte-1v2r7ls{cursor:pointer;font-size:calc(16px * var(--pagefind-ui-scale));font-weight:400}.pagefind-ui--reset :where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert;outline:revert}.pagefind-ui--reset *,.pagefind-ui--reset :before,.pagefind-ui--reset :after{box-sizing:border-box}.pagefind-ui--reset a,.pagefind-ui--reset button{cursor:revert}.pagefind-ui--reset ol,.pagefind-ui--reset ul,.pagefind-ui--reset menu{list-style:none}.pagefind-ui--reset img{max-width:100%}.pagefind-ui--reset table{border-collapse:collapse}.pagefind-ui--reset input,.pagefind-ui--reset textarea{-webkit-user-select:auto}.pagefind-ui--reset textarea{white-space:revert}.pagefind-ui--reset meter{-webkit-appearance:revert;appearance:revert}.pagefind-ui--reset ::placeholder{color:unset}.pagefind-ui--reset :where([hidden]){display:none}.pagefind-ui--reset :where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}.pagefind-ui--reset :where([draggable=true]){-webkit-user-drag:element}.pagefind-ui--reset mark{all:revert}:root{--pagefind-ui-scale:.8;--pagefind-ui-primary:#393939;--pagefind-ui-text:#393939;--pagefind-ui-background:#fff;--pagefind-ui-border:#eee;--pagefind-ui-tag:#eee;--pagefind-ui-border-width:2px;--pagefind-ui-border-radius:8px;--pagefind-ui-image-border-radius:8px;--pagefind-ui-image-box-ratio:3 / 2;--pagefind-ui-font:system, -apple-system, "BlinkMacSystemFont", ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", "Ubuntu", "arial", sans-serif}.pagefind-ui.svelte-e9gkc3{width:100%;color:var(--pagefind-ui-text);font-family:var(--pagefind-ui-font)}.pagefind-ui__hidden.svelte-e9gkc3{display:none!important}.pagefind-ui__suppressed.svelte-e9gkc3{opacity:0;pointer-events:none}.pagefind-ui__form.svelte-e9gkc3{position:relative}.pagefind-ui__form.svelte-e9gkc3:before{background-color:var(--pagefind-ui-text);width:calc(18px * var(--pagefind-ui-scale));height:calc(18px * var(--pagefind-ui-scale));top:calc(23px * var(--pagefind-ui-scale));left:calc(20px * var(--pagefind-ui-scale));content:"";opacity:.7;z-index:9;pointer-events:none;display:block;position:absolute;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.7549 11.255H11.9649L11.6849 10.985C12.6649 9.845 13.2549 8.365 13.2549 6.755C13.2549 3.165 10.3449 0.255005 6.75488 0.255005C3.16488 0.255005 0.254883 3.165 0.254883 6.755C0.254883 10.345 3.16488 13.255 6.75488 13.255C8.36488 13.255 9.84488 12.665 10.9849 11.685L11.2549 11.965V12.755L16.2549 17.745L17.7449 16.255L12.7549 11.255ZM6.75488 11.255C4.26488 11.255 2.25488 9.245 2.25488 6.755C2.25488 4.26501 4.26488 2.255 6.75488 2.255C9.24488 2.255 11.2549 4.26501 11.2549 6.755C11.2549 9.245 9.24488 11.255 6.75488 11.255Z' fill='%23000000'/%3E%3C/svg%3E%0A");-webkit-mask-size:100%;mask-size:100%}.pagefind-ui__search-input.svelte-e9gkc3{height:calc(64px * var(--pagefind-ui-scale));padding:0 calc(70px * var(--pagefind-ui-scale)) 0 calc(54px * var(--pagefind-ui-scale));background-color:var(--pagefind-ui-background);border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);font-size:calc(21px * var(--pagefind-ui-scale));-webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;font-weight:700;display:flex;position:relative}.pagefind-ui__search-input.svelte-e9gkc3::placeholder{opacity:.2}.pagefind-ui__search-clear.svelte-e9gkc3{top:calc(3px * var(--pagefind-ui-scale));right:calc(3px * var(--pagefind-ui-scale));height:calc(58px * var(--pagefind-ui-scale));padding:0 calc(15px * var(--pagefind-ui-scale)) 0 calc(2px * var(--pagefind-ui-scale));color:var(--pagefind-ui-text);font-size:calc(14px * var(--pagefind-ui-scale));cursor:pointer;background-color:var(--pagefind-ui-background);border-radius:var(--pagefind-ui-border-radius);position:absolute}.pagefind-ui__drawer.svelte-e9gkc3{gap:calc(60px * var(--pagefind-ui-scale));flex-flow:wrap;display:flex}.pagefind-ui__results-area.svelte-e9gkc3{min-width:min(calc(400px * var(--pagefind-ui-scale)), 100%);margin-top:calc(20px * var(--pagefind-ui-scale));flex:1000}.pagefind-ui__results.svelte-e9gkc3{padding:0}.pagefind-ui__message.svelte-e9gkc3{box-sizing:content-box;font-size:calc(16px * var(--pagefind-ui-scale));height:calc(24px * var(--pagefind-ui-scale));padding:calc(20px * var(--pagefind-ui-scale)) 0;align-items:center;margin-top:0;font-weight:700;display:flex}.pagefind-ui__button.svelte-e9gkc3{margin-top:calc(40px * var(--pagefind-ui-scale));border:var(--pagefind-ui-border-width) solid var(--pagefind-ui-border);border-radius:var(--pagefind-ui-border-radius);height:calc(48px * var(--pagefind-ui-scale));padding:0 calc(12px * var(--pagefind-ui-scale));font-size:calc(16px * var(--pagefind-ui-scale));color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background);text-align:center;cursor:pointer;width:100%;font-weight:700}.pagefind-ui__button.svelte-e9gkc3:hover{border-color:var(--pagefind-ui-primary);color:var(--pagefind-ui-primary);background:var(--pagefind-ui-background)}[data-search-modal-open]{overflow:hidden}#starlight__search{--sl-search-result-spacing:calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-start:calc(3.75rem * var(--pagefind-ui-scale));--sl-search-result-pad-inline-end:calc(1.25rem * var(--pagefind-ui-scale));--sl-search-result-pad-block:calc(.9375rem * var(--pagefind-ui-scale));--sl-search-result-nested-pad-block:calc(.625rem * var(--pagefind-ui-scale));--sl-search-corners:calc(.3125rem * var(--pagefind-ui-scale));--sl-search-page-icon-size:calc(1.875rem * var(--pagefind-ui-scale));--sl-search-page-icon-inline-start:calc((var(--sl-search-result-pad-inline-start) - var(--sl-search-page-icon-size)) / 2);--sl-search-tree-diagram-size:calc(2.5rem * var(--pagefind-ui-scale));--sl-search-tree-diagram-inline-start:calc((var(--sl-search-result-pad-inline-start) - var(--sl-search-tree-diagram-size)) / 2)}#starlight__search .pagefind-ui__form:before{--pagefind-ui-text:var(--sl-color-gray-1);opacity:1}#starlight__search .pagefind-ui__search-input{color:var(--sl-color-white);width:calc(100% - var(--sl-search-cancel-space));font-weight:400}#starlight__search input:focus{--pagefind-ui-border:var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear{width:calc(60px * var(--pagefind-ui-scale));background-color:#0000;padding:0;inset-inline-end:var(--sl-search-cancel-space);overflow:hidden}#starlight__search .pagefind-ui__search-clear:focus{outline:1px solid var(--sl-color-accent)}#starlight__search .pagefind-ui__search-clear:before{content:"";background-color:var(--sl-color-text-accent);width:100%;height:100%;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") 50%/50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m13.41 12 6.3-6.29a1 1 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1 1 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 .33 1.64 1 1 0 0 0 1.09-.22l6.29-6.3 6.29 6.3a1 1 0 0 0 1.64-.33 1 1 0 0 0-.22-1.09L13.41 12Z'/%3E%3C/svg%3E") 50%/50% no-repeat}#starlight__search .pagefind-ui__results>*+*{margin-top:var(--sl-search-result-spacing)}#starlight__search .pagefind-ui__result{border:0;padding:0}#starlight__search .pagefind-ui__result-nested{padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start);position:relative}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)),#starlight__search .pagefind-ui__result-nested{background-color:var(--sl-color-black);position:relative}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):hover,#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:hover,#starlight__search .pagefind-ui__result-nested:focus-within{outline:1px solid var(--sl-color-accent-high)}#starlight__search .pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)):focus-within,#starlight__search .pagefind-ui__result-nested:focus-within{background-color:var(--sl-color-accent-low)}#starlight__search .pagefind-ui__result-thumb,#starlight__search .pagefind-ui__result-inner{margin-top:0}#starlight__search .pagefind-ui__result-inner>:first-child{border-radius:var(--sl-search-corners) var(--sl-search-corners) 0 0}#starlight__search .pagefind-ui__result-inner>:last-child{border-radius:0 0 var(--sl-search-corners) var(--sl-search-corners)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title{padding:var(--sl-search-result-pad-block) var(--sl-search-result-pad-inline-end);padding-inline-start:var(--sl-search-result-pad-inline-start)}#starlight__search .pagefind-ui__result-inner>.pagefind-ui__result-title:before{content:"";width:var(--sl-search-page-icon-size);background:var(--sl-color-gray-3);position:absolute;inset-block:0;inset-inline-start:var(--sl-search-page-icon-inline-start);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") 50% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' viewBox='0 0 24 24'%3E%3Cpath d='M9 10h1a1 1 0 1 0 0-2H9a1 1 0 0 0 0 2Zm0 2a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2H9Zm11-3V8l-6-6a1 1 0 0 0-1 0H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V9Zm-6-4 3 3h-2a1 1 0 0 1-1-1V5Zm4 14a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5v3a3 3 0 0 0 3 3h3v9Zm-3-3H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2Z'/%3E%3C/svg%3E") 50% no-repeat}#starlight__search .pagefind-ui__result-inner{align-items:stretch;gap:1px}#starlight__search .pagefind-ui__result-link{position:unset;--pagefind-ui-text:var(--sl-color-white);font-weight:600}#starlight__search .pagefind-ui__result-link:hover{text-decoration:none}#starlight__search .pagefind-ui__result-nested .pagefind-ui__result-link:before{content:unset}#starlight__search .pagefind-ui__result-nested:before{content:"";width:var(--sl-search-tree-diagram-size);background:var(--sl-color-gray-4);position:absolute;inset-block:0;inset-inline-start:var(--sl-search-tree-diagram-inline-start);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0 0/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' viewBox='0 0 16 1000' preserveAspectRatio='xMinYMin slice'%3E%3Cpath d='M8 0v1000m6-988H8'/%3E%3C/svg%3E") 0 0/100% no-repeat}#starlight__search .pagefind-ui__result-nested:last-of-type:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='M8 0v12m6 0H8'/%3E%3C/svg%3E")}[dir=rtl] .pagefind-ui__result-title:before,[dir=rtl] .pagefind-ui__result-nested:before{transform:matrix(-1,0,0,1,0,0)}#starlight__search .pagefind-ui__result-link:after{content:"";position:absolute;inset:0}#starlight__search .pagefind-ui__result-excerpt{font-size:calc(1rem * var(--pagefind-ui-scale));overflow-wrap:anywhere}#starlight__search mark{color:var(--sl-color-gray-2);background-color:#0000;font-weight:600}#starlight__search .pagefind-ui__filter-value:before{border-color:var(--sl-color-text-invert)}#starlight__search .pagefind-ui__result-tags{background-color:var(--sl-color-black);padding:var(--sl-search-result-nested-pad-block) var(--sl-search-result-pad-inline-end);margin-top:0}.site-title:where(.astro-32trhkrv){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);color:var(--sl-color-text-accent);white-space:nowrap;min-width:0;font-weight:600;text-decoration:none}span:where(.astro-32trhkrv){overflow:hidden}a:where(.astro-n2mnl6yq){color:var(--sl-color-text-accent);margin:-.5em;padding:.5em}a:where(.astro-n2mnl6yq):hover{color:var(--sl-color-white)}.header:where(.astro-by6fddyj){gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%;display:flex}.title-wrapper:where(.astro-by6fddyj){min-width:0;margin:-.25rem;padding:.25rem;overflow:clip}.right-group:where(.astro-by6fddyj),.social-icons:where(.astro-by6fddyj){align-items:center;gap:1rem}.social-icons:where(.astro-by6fddyj):after{content:"";border-inline-end:1px solid var(--sl-color-gray-5);height:2rem}@media (width>=50rem){:root[data-has-sidebar]{--__sidebar-pad:calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width:0rem}.header:where(.astro-by6fddyj){--__sidebar-width:max(0rem, var(--sl-content-inline-start,0rem) - var(--sl-nav-pad-x));--__main-column-fr:calc(( 100% + var(--__sidebar-pad,0rem) - var(--__toc-width,var(--sl-sidebar-width)) - (2 * var(--__toc-width,var(--sl-nav-pad-x))) - var(--sl-content-inline-start,0rem) - var(--sl-content-width) ) / 2);grid-template-columns: minmax(calc(var(--__sidebar-width) + max(0rem, var(--__main-column-fr) - var(--sl-nav-gap))), auto)  1fr  auto;align-content:center;display:grid}}.hero:where(.astro-2qjbuh7f){grid-template-columns:100%;align-items:center;gap:1rem;padding-bottom:1rem;display:grid}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-2qjbuh7f){text-align:center;flex-direction:column;gap:clamp(1.5rem,1.5rem + 1vw,2rem)}.copy:where(.astro-2qjbuh7f){flex-direction:column;align-items:center;gap:1rem}.copy:where(.astro-2qjbuh7f)>:where(.astro-2qjbuh7f){max-width:50ch}h1:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-3xl), calc(.25rem + 5vw), var(--sl-text-6xl));line-height:var(--sl-line-height-headings);color:var(--sl-color-white);font-weight:600}.tagline:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-base), calc(.0625rem + 2vw), var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-2qjbuh7f){flex-wrap:wrap;justify-content:center;gap:1rem 2rem}@media (width>=50rem){.hero:where(.astro-2qjbuh7f){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,1rem + 10vmin,10rem)}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){order:2;width:min(100%,25rem)}.stack:where(.astro-2qjbuh7f){text-align:start}.copy:where(.astro-2qjbuh7f){align-items:flex-start}.actions:where(.astro-2qjbuh7f){justify-content:flex-start}}button:where(.astro-r2osgdlg){top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);z-index:var(--sl-z-index-navbar);width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer;border:0;border-radius:50%;padding:.5rem;position:fixed;inset-inline-end:var(--sl-nav-pad-x)}button:where(.astro-r2osgdlg):has(~:popover-open){background-color:var(--sl-color-gray-2);box-shadow:none}button:where(.astro-r2osgdlg):has(~:popover-open) .open-menu:where(.astro-r2osgdlg){display:none}button:where(.astro-r2osgdlg):not(:has(~:popover-open)) .close-menu:where(.astro-r2osgdlg){display:none}[data-theme=light] button:where(.astro-r2osgdlg){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] button:where(.astro-r2osgdlg):has(~:popover-open){background-color:var(--sl-color-gray-5)}body:has(#starlight__sidebar:popover-open){overflow:hidden}@media (width>=50rem){body:has(#starlight__sidebar:popover-open){overflow:auto}}.page:where(.astro-yntsjkba){flex-direction:column;min-height:100vh}.header:where(.astro-yntsjkba){z-index:var(--sl-z-index-navbar);width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav);padding-inline-end:var(--sl-nav-pad-x);position:fixed;inset-block-start:0;inset-inline-start:0}[data-has-sidebar] .header:where(.astro-yntsjkba){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-yntsjkba){border:unset;padding:unset;height:unset;color:unset;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;background-color:var(--sl-color-black);scrollbar-gutter:stable;width:100%;position:fixed;inset-inline-start:0;overflow-y:auto}.sidebar-content:where(.astro-yntsjkba){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (width>=50rem){.sidebar-content:where(.astro-yntsjkba):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-yntsjkba){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (width>=50rem){[data-has-sidebar] .header:where(.astro-yntsjkba){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-yntsjkba){width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade);display:block}}ul:where(.astro-jugkfwgx){padding:0;list-style:none}a:where(.astro-jugkfwgx){--pad-inline:.5rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);border-radius:.25rem;line-height:1.25;display:block}a:where(.astro-jugkfwgx)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx){--pad-inline:1rem;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);color:var(--sl-color-text);font-size:var(--sl-text-sm);outline-offset:var(--sl-outline-offset-inside);border-radius:0;padding-block:.5rem;text-decoration:none;display:flex}.isMobile:where(.astro-jugkfwgx):first-child>li:where(.astro-jugkfwgx):first-child>a:where(.astro-jugkfwgx){border-top:0}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true],.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:hover,.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:after{content:"";background-color:var(--sl-color-text-accent);flex-shrink:0;width:1rem;-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}nav:where(.astro-66cqc7ze){z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav);position:fixed;inset-inline:0}@media (width>=50rem){nav:where(.astro-66cqc7ze){inset-inline-start:var(--sl-content-inline-start,0)}}summary:where(.astro-66cqc7ze){height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside);align-items:center;gap:.5rem;padding:.5rem 1rem}summary:where(.astro-66cqc7ze)::marker,summary:where(.astro-66cqc7ze)::-webkit-details-marker{display:none}.toggle:where(.astro-66cqc7ze){border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);user-select:none;cursor:pointer;border-radius:.5rem;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding-block:.5rem;padding-inline:.75rem .5rem;line-height:1}details:where(.astro-66cqc7ze)[open] .toggle:where(.astro-66cqc7ze){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-66cqc7ze) .toggle:where(.astro-66cqc7ze):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-66cqc7ze){transform:rotate(180deg)}details:where(.astro-66cqc7ze)[open] .caret:where(.astro-66cqc7ze){transform:rotate(90deg)}.display-current:where(.astro-66cqc7ze){white-space:nowrap;text-overflow:ellipsis;color:var(--sl-color-white);overflow:hidden}.dropdown:where(.astro-66cqc7ze){--border-top:1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain;overflow-y:auto}.right-sidebar-panel:where(.astro-qok35upx){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-qok35upx){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-qok35upx) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-qok35upx) :where(a){font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);overflow-wrap:anywhere;text-decoration:none;display:block}.right-sidebar-panel:where(.astro-qok35upx) :where(a):hover{color:var(--sl-color-white)}@media (width>=72rem){.sl-container:where(.astro-qok35upx){max-width:calc(( ( 100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x) ) * .25  ))}}.social-icons:where(.astro-p4azlveh){align-items:center;gap:1rem;margin-inline-end:auto;padding-block:1rem;display:flex}.social-icons:where(.astro-p4azlveh):empty{display:none}.mobile-preferences:where(.astro-p4azlveh){border-top:1px solid var(--sl-color-gray-6);flex-wrap:wrap;justify-content:space-between;column-gap:1rem;padding:.5rem 0}sl-sidebar-state-persist:where(.astro-ipdry5cl){display:contents}ul:where(.astro-rmhv4bp6){--sl-sidebar-item-padding-inline:.5rem;padding:0;list-style:none}li:where(.astro-rmhv4bp6){overflow-wrap:anywhere}ul:where(.astro-rmhv4bp6) ul:where(.astro-rmhv4bp6) li:where(.astro-rmhv4bp6){border-inline-start:1px solid var(--sl-color-hairline-light);margin-inline-start:var(--sl-sidebar-item-padding-inline);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-rmhv4bp6){font-size:var(--sl-text-lg);color:var(--sl-color-white);font-weight:600}.top-level:where(.astro-rmhv4bp6)>li:where(.astro-rmhv4bp6)+li:where(.astro-rmhv4bp6){margin-top:.75rem}summary:where(.astro-rmhv4bp6){padding:.2em var(--sl-sidebar-item-padding-inline);cursor:pointer;user-select:none;justify-content:space-between;align-items:center;line-height:1.4;display:flex}summary:where(.astro-rmhv4bp6)::marker,summary:where(.astro-rmhv4bp6)::-webkit-details-marker{display:none}.caret:where(.astro-rmhv4bp6){flex-shrink:0;transition:transform .2s ease-in-out}[dir=rtl] .caret:where(.astro-rmhv4bp6){transform:rotate(180deg)}:where(.astro-rmhv4bp6)[open]>summary:where(.astro-rmhv4bp6) .caret:where(.astro-rmhv4bp6){transform:rotate(90deg)}a:where(.astro-rmhv4bp6){color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);border-radius:.25rem;line-height:1.4;text-decoration:none;display:block}a:where(.astro-rmhv4bp6):hover,a:where(.astro-rmhv4bp6):focus{color:var(--sl-color-white)}:where(.astro-rmhv4bp6)[aria-current=page],:where(.astro-rmhv4bp6)[aria-current=page]:hover,:where(.astro-rmhv4bp6)[aria-current=page]:focus{color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);font-weight:600}a:where(.astro-rmhv4bp6)>:where(.astro-rmhv4bp6):not(:last-child),.group-label:where(.astro-rmhv4bp6)>:where(.astro-rmhv4bp6):not(:last-child){margin-inline-end:.25em}@media (width>=50rem){.top-level:where(.astro-rmhv4bp6)>li:where(.astro-rmhv4bp6)+li:where(.astro-rmhv4bp6){margin-top:.5rem}.large:where(.astro-rmhv4bp6){font-size:var(--sl-text-base)}a:where(.astro-rmhv4bp6){font-size:var(--sl-text-sm)}}a:where(.astro-qb7clj6f){clip:rect(0, 0, 0, 0);top:.75rem;position:fixed;inset-inline-start:.75rem}a:where(.astro-qb7clj6f):focus{clip:unset;z-index:var(--sl-z-index-skiplink);color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg);padding:.5rem 1rem;text-decoration:none;display:block}.main-pane:where(.astro-lrzkfocr){isolation:isolate}@media (width>=72rem){.right-sidebar-container:where(.astro-lrzkfocr){width:max(var(--sl-sidebar-width), calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:2;position:relative}.right-sidebar:where(.astro-lrzkfocr){border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);scrollbar-width:none;width:100%;height:100vh;position:fixed;top:0;overflow-y:auto}.main-pane:where(.astro-lrzkfocr){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-lrzkfocr){--sl-content-margin-inline:auto 0;width:min(calc(100% - var(--sl-sidebar-width)), calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:1}}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size:.8275em;--sl-anchor-icon-gap:.25em;--sl-anchor-icon-space:calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content .sl-heading-wrapper:has(>:first-child:is(.sr-only,[hidden])){display:contents}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+.sl-heading-wrapper{margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child:not([hidden]){padding-inline-end:var(--sl-anchor-icon-space);display:inline}.sl-markdown-content .sl-anchor-link{-webkit-user-select:none;user-select:none;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));display:inline-flex;position:relative}.sl-markdown-content .sl-heading-wrapper:has(>:first-child:is(.sr-only,[hidden]))>.sl-anchor-link{display:none}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2));display:inline}@media (hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)),.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content :is(ol,ul):has(>li>:not(a,strong,em,del,span,input,code,br,script,ol,ul))>li>:is(:last-child:not(a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){max-width:100%;height:auto;display:block}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);font-size:var(--sl-text-code-sm);margin-block:-.125rem;padding:.125rem .375rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);font-size:var(--sl-text-code);tab-size:2;padding:.75rem 1rem}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){border-spacing:0;display:block;overflow:auto}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);vertical-align:baseline;padding:.5rem 1rem}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)
	){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)}}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)
	){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-gray-5);--sl-details-border-color--hover:var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;margin-inline-start:-.5rem;padding-inline-start:.5rem;font-weight:600;display:block}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size:1.25rem;content:"";height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-asides-border);--sl-details-border-color--hover:var(--sl-color-asides-text-accent)}}@layer starlight.components{.starlight-aside{border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white);padding:1rem}.starlight-aside--note{--sl-color-asides-text-accent:var(--sl-color-blue-high);--sl-color-asides-border:var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent:var(--sl-color-purple-high);--sl-color-asides-border:var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent:var(--sl-color-orange-high);--sl-color-asides-border:var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent:var(--sl-color-red-high);--sl-color-asides-border:var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent);align-items:center;gap:.5rem;display:flex}.starlight-aside__icon{width:1em;height:1em;font-size:1.333em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content:empty{display:none}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}.kudos:where(.astro-ddtxxk7k) svg{color:var(--sl-color-orange)}.label-icon:where(.astro-2z5xp7gb){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-2z5xp7gb){font-size:var(--sl-caret-size);inset-inline-end:0}}@layer starlight.utils{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (width>=50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (width>=72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:matrix(-1,0,0,1,0,0)}}.pagination-links:where(.astro-ygmfhhsy){grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem;display:grid}a:where(.astro-ygmfhhsy){width:100%;color:var(--ink-soft);overflow-wrap:anywhere;align-items:center;gap:.5rem;padding:1rem;text-decoration:none;display:flex}:where(.astro-ygmfhhsy)[rel=next]{text-align:end;flex-direction:row-reverse;justify-content:end}.link-title:where(.astro-ygmfhhsy){font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-ygmfhhsy){flex-shrink:0}.gha-mark{flex:none;width:auto;display:block;overflow:visible}.gha-mark__frame{fill:none;stroke:var(--gha-mark-line,currentColor);stroke-width:1.5px}.gha-mark__hit{fill:var(--gha-mark-hit,color-mix(in srgb, var(--rust) 34%, transparent))}.gha-mark__notch{fill:var(--gha-mark-accent,var(--rust))}.gha-mark__byte{fill:var(--gha-mark-ink,currentColor);font-family:var(--mono);font-size:11px;font-weight:700}header.header .gha-site-title{gap:.7rem}header.header .gha-site-title__mark{--gha-mark-line:color-mix(in srgb, var(--header-text) 58%, transparent);--gha-mark-ink:var(--header-text);height:2rem}header.header .gha-site-title:focus-visible{outline:2px solid var(--rust);outline-offset:4px;border-radius:4px}@media (width<=30rem){header.header .gha-site-title{gap:.5rem}header.header .gha-site-title__mark{height:1.5rem}}.gha-hero{--gha-label:7rem;--gha-gap:1.25rem;grid-template-columns:minmax(0,1fr);padding:clamp(2rem,5vw,3.25rem) 0 clamp(1.5rem,4vw,2.5rem);display:grid}@media (width>=64rem){.gha-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-areas:"title title""lede quote""actions quote""demo demo";column-gap:clamp(2.5rem,5vw,4.5rem)}.sl-markdown-content .gha-hero__title{grid-area:title}.gha-hero__lede{grid-area:lede}.gha-hero__actions{grid-area:actions}.sl-markdown-content .gha-hero__quote{grid-area:quote;align-self:end;margin-top:0}.gha-demo{grid-area:demo}}.sl-markdown-content .gha-hero__title{max-width:21ch;color:var(--ink-strong,var(--ink));font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.45rem,6.2vw,4.5rem);font-weight:700;line-height:1.02}.gha-hero__lede{max-width:40rem;color:var(--ink-soft);margin:1.25rem 0 0;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6}.gha-hero__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.4rem;margin-top:1.75rem;display:flex}:is(.gha-hero,.gha-lost) .button--primary,.gha-hero .hero-actions .button--primary{color:var(--paper);background:color-mix(in srgb, var(--rust) 52%, var(--ink));border-color:#0000}:is(.gha-hero,.gha-lost) .button--primary:is(:hover,:focus-visible),.gha-hero .hero-actions .button--primary:is(:hover,:focus-visible){color:var(--paper);background:color-mix(in srgb, var(--rust) 38%, var(--ink));border-color:#0000}:is(.gha-hero,.gha-lost) .button--ghost{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 35%, transparent);background:0 0}:is(.gha-hero,.gha-lost) .button:focus-visible,.gha-hero__link:focus-visible,.gha-demo__hit:focus-visible,.gha-credit a:focus-visible{outline:2px solid var(--link);outline-offset:3px}.gha-hero__link{color:var(--link);text-decoration:underline;text-decoration-color:var(--link-decoration,currentColor);text-underline-offset:.2em;font-weight:500}.gha-hero__link:hover{color:var(--link-hover,var(--link))}:root[data-gha-resume] .gha-hero .hero-resume[hidden]{visibility:hidden;display:inline-flex}.gha-hero .hero-resume{flex-direction:column;align-items:flex-start;gap:0;width:min(100%,19rem)}.gha-hero .hero-resume__detail{max-width:100%;min-height:1.35em}.sl-markdown-content .gha-hero__quote{border-inline-start:3px solid var(--chapter-accent);max-width:34rem;color:var(--ink);background:0 0;margin:2.25rem 0 0;padding:0 0 0 1rem;font-size:1.05rem;font-style:normal;line-height:1.6}.gha-hero__quote p{margin:0}.gha-hero__quote footer{color:var(--ink-soft);margin-top:.4rem;font-size:.9rem}.gha-hero__quote a{color:var(--link)}.gha-demo{max-width:60rem;margin-top:clamp(2rem,4.5vw,2.75rem)}.gha-demo__foot{margin-inline-start:calc(var(--gha-label) + var(--gha-gap))}.gha-demo__row{grid-template-columns:var(--gha-label) minmax(0, 1fr);align-items:center;gap:.4rem var(--gha-gap);display:grid}.gha-demo__row+.gha-demo__row{margin-top:1rem}.gha-demo__row--memory{align-items:end}.gha-demo__label{color:var(--ink-soft);font-size:.92rem;font-weight:500}.gha-demo__row--memory .gha-demo__label{padding-bottom:clamp(.9rem,2.6vw,1.7rem)}.gha-demo__screen{align-items:center;gap:1rem;min-width:0;display:flex}.gha-demo__bar{border:1.5px solid color-mix(in srgb, var(--ink) 30%, transparent);background:color-mix(in srgb, var(--ink) 6%, var(--paper));border-radius:62.5rem;flex:1;height:.85rem;overflow:hidden}.gha-demo__fill{width:var(--gha-health,100%);background:var(--reading-result,var(--success));height:100%;display:block}@media (prefers-reduced-motion:no-preference){:root:not([data-academy-motion=off]) .gha-demo__fill{transition:width .22s ease-out}}.sl-markdown-content .gha-demo__value{min-width:6.5rem;color:var(--ink);white-space:nowrap;margin:0;font-size:1rem}.gha-demo__value b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.45rem}.sl-markdown-content .gha-demo .mem-figure{background:0 0;border:0;margin:0;padding:0;overflow:visible}.gha-demo .mem-strip{grid-template-columns:repeat(var(--mem-cells), minmax(0, 1fr));width:100%;padding:0;display:grid}.gha-demo .mem-cell__label{font-size:clamp(.72rem,1.4vw,.9rem)}.gha-demo .mem-figure .mem-cell__value{font-variant-numeric:tabular-nums;padding:clamp(.55rem,1.8vw,1rem) 0;font-size:clamp(2rem,6.6vw,4.4rem);font-weight:600;line-height:1}.gha-demo .mem-figure:not(.mem-figure--column) .mem-cell:first-child .mem-cell__value{border-start-start-radius:.8rem;border-end-start-radius:.8rem}.gha-demo .mem-figure:not(.mem-figure--column) .mem-cell:last-child .mem-cell__value{border-start-end-radius:.8rem;border-end-end-radius:.8rem}.gha-demo__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem 2rem;margin-top:1.1rem;display:flex}.sl-markdown-content .gha-demo__derive{max-width:30rem;color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}.gha-demo__derive [data-gha-derive]{color:var(--ink);font-family:var(--mono);font-size:.92em;font-weight:600}.gha-demo__hit{border:1.5px solid var(--ink);min-height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:.6rem 1.15rem;font-weight:600}.gha-demo__hit:hover{background:color-mix(in srgb, var(--ink) 7%, transparent)}@media (width<=40rem){.gha-demo__foot{margin-inline-start:0}.gha-demo__row{grid-template-columns:minmax(0,1fr)}.gha-demo__row--memory .gha-demo__label{padding-bottom:0}.gha-hero__actions .button{flex:100%;justify-content:center}.gha-hero .hero-resume{align-items:center;width:100%}}.gha-start{max-width:44rem}.sl-markdown-content .gha-start .gha-start__step{color:var(--ink);margin:0;font-weight:600}.sl-markdown-content .gha-start li>p+p{color:var(--ink-soft);margin-top:.3rem}.gha-start a,.gha-lost__text a{color:var(--link);text-decoration-color:var(--link-decoration,currentColor);text-underline-offset:.2em}.gha-start a:hover{color:var(--link-hover,var(--link))}.gha-start a:focus-visible{outline:2px solid var(--link);outline-offset:2px}.community-strip a{color:var(--header-text)}.gha-credit{border-top:1px solid var(--line);color:var(--ink-soft);align-items:flex-start;gap:.85rem;margin-top:2.5rem;padding-top:1.25rem;font-size:.82rem;line-height:1.6;display:flex}.gha-credit p{max-width:46rem;margin:0}.gha-credit a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:.18em}.gha-credit a:hover{color:var(--ink)}.gha-credit__mark{--gha-mark-line:color-mix(in srgb, var(--ink) 45%, transparent);--gha-mark-ink:var(--ink-soft);height:1.1rem;margin-top:.2rem}.gha-lost{max-width:44rem;padding:clamp(2.5rem,8vw,5.5rem) 0 3rem}.sl-markdown-content .gha-lost__title{color:var(--ink-strong,var(--ink));font-family:var(--display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:700;line-height:1.04}.sl-markdown-content .gha-lost__path{color:var(--ink-soft);overflow-wrap:anywhere;margin:1rem 0 0}.gha-lost__path code{font-size:.95rem}.sl-markdown-content .gha-lost .mem-figure{background:0 0;margin:1.75rem 0 1.5rem;padding:0}.gha-lost .mem-strip{grid-template-columns:repeat(var(--mem-cells), minmax(0, 6.5rem));padding:0;display:grid}.gha-lost .mem-cell__label{display:none}.gha-lost .mem-figure .mem-cell__value{color:var(--ink-soft);padding:.65rem 0;font-size:clamp(1.6rem,6vw,2.6rem);line-height:1}.sl-markdown-content .gha-lost__text{max-width:38rem;color:var(--ink-soft);font-size:1.05rem;line-height:1.65}.gha-lost__text code{border:1px solid var(--line);color:var(--ink);font-family:var(--mono);border-radius:4px;padding:.05em .3em;font-size:.9em}.gha-lost__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.4rem;margin-top:1.75rem;display:flex}.gha-lost__actions .button[hidden],.gha-cover{display:none}@media print{.gha-credit__mark{--gha-mark-line:#000;--gha-mark-ink:#000}.gha-cover.print-only{color:#000;break-after:page;flex-direction:column;gap:0;min-height:96vh;padding-top:14vh;display:flex}.gha-cover__mark{--gha-mark-line:#000;--gha-mark-ink:#000;--gha-mark-accent:#000;--gha-mark-hit:#e4e4e4;height:2.4cm;margin-bottom:1.1cm}.gha-cover p{margin:0}.gha-cover__title{font-family:var(--display);letter-spacing:-.02em;font-size:34pt;font-weight:700;line-height:1.05}.gha-cover__subtitle{font-family:var(--body);font-size:14pt;margin-top:.3cm!important}.gha-cover__dump{color:#000;font-family:var(--mono);white-space:pre;background:0 0;border:.6pt solid #000;border-inline:0;border-radius:0;margin:1.4cm 0 0;padding:.35cm 0;font-size:9.5pt;line-height:1.6;overflow:visible}.gha-cover__note{font-size:9.5pt;margin-top:.25cm!important}.gha-cover__facts{font-size:10pt;margin-top:auto!important}.gha-cover__credit{font-size:9pt;margin-top:.2cm!important}:root:has(.gha-cover) h1#_top{display:none}}@media screen{html:root[data-academy-appearance=modern] .reader-outline__trigger{--outline-chrome-opacity:1;isolation:isolate;opacity:1!important}html:root[data-academy-appearance=modern] .reader-outline__trigger:before{content:"";z-index:-1;border-radius:inherit;background:color-mix(in oklch, var(--outline-accent) 8%, transparent);opacity:var(--outline-chrome-opacity);pointer-events:none;transition:opacity var(--reader-transition) var(--reader-easing);position:absolute;inset:0}html:root[data-academy-appearance=modern] .reader-outline[data-outline-direction=down] .reader-outline__trigger{--outline-chrome-opacity:.2}html:root[data-academy-appearance=modern] .reader-outline[data-outline-direction=up] .reader-outline__trigger,html:root[data-academy-appearance=modern] .reader-outline__trigger:is(:hover,:focus-visible){--outline-chrome-opacity:1}}.kit-tabs--code .kit-tab__body{background:var(--paper);color:var(--ink)}.lesson-notes__tools{align-items:center;gap:4px;display:inline-flex}.lesson-notes__tools button:not(.lesson-notes__close){color:var(--ink);font:inherit;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.1rem .5rem;font-size:.75em}.lesson-notes[data-corner=bl] .lesson-notes__fab{bottom:1rem;left:1rem;right:auto}.lesson-notes[data-corner=bl] .lesson-notes__panel{bottom:4.2rem;left:1rem;right:auto}.lesson-notes[data-corner=tr] .lesson-notes__fab{top:4.8rem;bottom:auto}.lesson-notes[data-corner=tr] .lesson-notes__panel{max-height:calc(100vh - 9rem);top:8rem;bottom:auto}.lesson-notes[data-corner=tl] .lesson-notes__fab{inset:4.8rem auto auto 1rem}.lesson-notes[data-corner=tl] .lesson-notes__panel{max-height:calc(100vh - 9rem);inset:8rem auto auto 1rem}.lesson-notes[data-hidden=true] .lesson-notes__fab{opacity:.45;border-radius:8px 0 0 8px;width:.7rem;min-height:2.6rem;padding:0;font-size:0;right:0;overflow:hidden}.lesson-notes[data-hidden=true][data-corner=bl] .lesson-notes__fab,.lesson-notes[data-hidden=true][data-corner=tl] .lesson-notes__fab{border-radius:0 8px 8px 0;left:0;right:auto}@media print{.lesson-notes{display:none!important}}.lesson-notes__fab{z-index:40;color:var(--ink-strong);font:inherit;background:var(--reader-panel,var(--surface-alt));border:1px solid var(--chapter-accent,var(--line));cursor:pointer;border-radius:999px;padding:.5rem .9rem;font-size:.9rem;font-weight:650;position:fixed;bottom:5.4rem;right:1rem;box-shadow:0 4px 14px #0000002e}.lesson-notes__fab [data-note-summary]{color:var(--ink-soft);font-size:.85em;font-weight:400}.lesson-notes__panel{z-index:41;background:var(--reader-panel,var(--surface-alt));border:1px solid var(--line);border-radius:14px;gap:.45rem;width:min(24rem,100vw - 2rem);max-height:calc(100vh - 10.5rem);padding:.7rem .8rem;display:grid;position:fixed;bottom:8.6rem;right:1rem;overflow:auto;box-shadow:0 10px 30px #00000047}.lesson-notes__panel[hidden]{display:none}.lesson-notes__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.lesson-notes__close{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0 .5rem;font-size:1.3rem;line-height:1.2}.lesson-notes__tabs{gap:6px;display:flex}.lesson-notes__tabs button,.lesson-notes__actions button{color:var(--ink);font:inherit;background:var(--surface-alt,transparent);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:.25rem .65rem;font-size:.82em}.lesson-notes__tabs button[aria-selected=true]{color:var(--chapter-ink,var(--ink-strong));border-color:var(--chapter-accent);background:var(--chapter-tint,transparent);font-weight:650}.lesson-notes textarea{box-sizing:border-box;width:100%;min-height:8rem;color:var(--ink);font:.88rem/1.5 var(--mono);border:1px solid var(--line);background:var(--surface-alt,transparent);resize:vertical;border-radius:8px;padding:.55rem}.lesson-notes__preview{overflow-wrap:anywhere;border:1px dashed var(--line);border-radius:8px;min-height:8rem;padding:.3rem .7rem}.lesson-notes__preview[hidden],.lesson-notes textarea[hidden]{display:none}.lesson-notes__preview pre{border:1px solid var(--line);font-family:var(--mono);border-radius:6px;padding:.5rem;font-size:.85em;overflow:auto}.lesson-notes__preview blockquote{border-left:3px solid var(--chapter-accent);color:var(--ink-soft);margin:.4rem 0;padding-left:.8rem}.lesson-notes__actions{flex-wrap:wrap;gap:6px;display:flex}.lesson-notes__status{color:var(--ink-soft);margin:0;font-size:.78em}.lesson-actionbar{display:contents}.lesson-actionbar__chapter,.reader-shortcuts,.reader-heading-copy{display:none}.reader-support__status{clip-path:inset(50%);white-space:nowrap;block-size:.0625rem;inline-size:.0625rem;position:absolute;overflow:hidden}.reader-keyboard-hud{max-block-size:calc(100dvh - 2rem);inline-size:min(32rem,100vw - 2rem);color:var(--ink);background:var(--reader-panel);border:.0625rem solid var(--ink-soft);box-sizing:border-box;border-radius:.75rem;padding:1rem;overflow:auto}.reader-keyboard-hud::backdrop{background:color-mix(in srgb, var(--night) 60%, transparent)}.reader-keyboard-hud header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.reader-keyboard-hud h2{font-size:1.1rem;border:0!important;margin:0!important;padding:0!important}.reader-keyboard-hud button{min-block-size:2.75rem;min-inline-size:2.75rem;color:var(--ink);background:var(--reader-panel-raised);border:.0625rem solid var(--ink-soft);font:inherit;cursor:pointer;border-radius:.5rem}.reader-keyboard-hud dl{margin-block:1rem}.reader-keyboard-hud dl>div{border-block-end:.0625rem solid var(--reader-line);grid-template-columns:minmax(7rem,.8fr) minmax(0,1.8fr);align-items:baseline;gap:.75rem;padding-block:.4rem;display:grid}.reader-keyboard-hud :is(dt,dd){margin:0}.reader-keyboard-hud dd,.reader-keyboard-hud p{font-size:.85rem}.reader-keyboard-hud kbd{border:.0625rem solid var(--ink-soft);background:var(--reader-panel-raised);font:.75rem/1.4 var(--mono);border-radius:.25rem;padding:.15rem .3rem}.reader-keyboard-hud button:focus-visible{outline:.125rem solid var(--semantic-data);outline-offset:.125rem}.lesson-cheat__summary-meta,.lesson-cheat__download-link{display:none}@media screen{:root[data-academy-appearance=modern] .lesson-actionbar{border-block-start:var(--reader-stroke) solid var(--reader-line);flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-block-start:1rem;padding-block-start:.75rem;display:flex}:root[data-academy-appearance=modern] .lesson-actionbar__chapter{color:var(--chapter-ink);font:.75rem/1.4 var(--mono);font-variant-numeric:tabular-nums;display:inline-block}:root[data-academy-appearance=modern] .lesson-actionbar .lesson-reading-actions{gap:.5rem .75rem;margin:0}:root[data-academy-appearance=modern] .lesson-actionbar .lesson-meta{border:0;gap:.75rem;margin:0;padding:0}:root[data-academy-appearance=modern] .lesson-actionbar .lesson-stats{font:.75rem/1.4 var(--mono)}:root[data-academy-appearance=modern] .reader-shortcuts{min-block-size:2.75rem;min-inline-size:2.75rem;color:var(--ink);background:var(--reader-panel);border:var(--reader-stroke) solid var(--reader-control-boundary);border-radius:var(--reader-radius-control);font:1rem/1 var(--mono);cursor:pointer;place-items:center;padding:.35rem;display:inline-grid}:root[data-academy-appearance=modern] .reader-shortcuts[hidden]{display:none}:root[data-academy-appearance=modern] .reader-shortcuts:focus-visible{outline:var(--reader-stroke-strong) solid var(--semantic-data);outline-offset:var(--reader-stroke-strong)}:root[data-academy-appearance=modern] .reader-heading-copy{border-radius:var(--reader-radius-tag);min-block-size:1.8rem;min-inline-size:1.8rem;color:var(--ink-soft);font:.8rem/1 var(--mono);vertical-align:middle;place-items:center;margin-inline-start:.35rem;text-decoration:none;display:inline-grid}:root[data-academy-appearance=modern] .reader-heading-copy:before{content:"#"}:root[data-academy-appearance=modern] .reader-heading-copy:is(:hover,:focus-visible){color:var(--semantic-data);background:var(--semantic-data-wash);outline:var(--reader-stroke-strong) solid var(--semantic-data);outline-offset:var(--reader-stroke)}:root[data-academy-appearance=modern] .sl-heading-wrapper:has(.reader-heading-copy)>.sl-anchor-link{display:none}:root[data-academy-appearance=modern] .lesson-cheat{border-inline-start:var(--reader-accent-stroke) solid var(--semantic-data);background:var(--semantic-data-wash);padding:1rem;position:relative}:root[data-academy-appearance=modern] .lesson-cheat>details>summary{flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;padding-block:.4rem;display:flex}:root[data-academy-appearance=modern] .lesson-cheat>details>summary:before{content:"+";color:var(--semantic-data);font:1rem var(--mono);flex:0 0 1rem}:root[data-academy-appearance=modern] .lesson-cheat>details[open]>summary:before{content:"−"}:root[data-academy-appearance=modern] .lesson-cheat__summary-meta{color:var(--ink-soft);font:.75rem/1.4 var(--mono);display:inline}:root[data-academy-appearance=modern] .lesson-cheat__download-link{color:var(--semantic-data);text-underline-offset:.2em;margin-block-start:.5rem;font-size:.8rem;display:inline-block}:root[data-academy-appearance=modern] .lesson-cheat__button{display:none}:root[data-academy-appearance=modern] .lesson-cheat__preview{border-radius:var(--reader-radius-control)}:root[data-academy-appearance=modern] :is(.lesson-notes__fab,[data-reader-utility-chat]){--reader-utility-decoration-opacity:1}:root[data-academy-appearance=modern][data-reader-interactive-active=true] :is(.lesson-notes__fab,[data-reader-utility-chat]){--reader-utility-decoration-opacity:.25}:root[data-academy-appearance=modern] :is(.lesson-notes__fab,[data-reader-utility-chat]):is(:hover,:focus,:active){--reader-utility-decoration-opacity:1}:root[data-academy-appearance=modern] :is(.lesson-notes__fab,[data-reader-utility-chat]):after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(110deg, transparent, color-mix(in srgb, var(--semantic-data) 8%, transparent));opacity:var(--reader-utility-decoration-opacity);transition:opacity var(--reader-transition) var(--reader-easing);position:absolute;inset:0}:root[data-academy-appearance=modern][data-academy-gradients=off] :is(.lesson-notes__fab,[data-reader-utility-chat]):after{display:none}:root[data-academy-appearance=modern][data-academy-motion=off] :is(.code-trace__var.is-flash th,.code-trace__var.is-flash td,.code-trace__cell.is-flash){animation:none}}@media (prefers-reduced-motion:reduce){.lesson-notes__fab:after,[data-reader-utility-chat]:after{transition:none!important}}@media print{.reader-support,.reader-heading-copy,.lesson-actionbar__chapter,.lesson-cheat__button,.lesson-cheat__download-link{display:none!important}.lesson-cheat{break-inside:avoid;background:0 0;border-radius:0}.lesson-cheat__preview{border:0;max-block-size:none;overflow:visible}.lesson-cheat>details::details-content{content-visibility:visible}}.reader-outline,.reader-chapter-meter{display:none}@media screen{html:root[data-academy-appearance=modern]{--reader-outline-width:15rem;--reader-outline-compact-width:2.75rem}html:root[data-academy-appearance=modern][data-academy-measure=standard]{--reading-width:70ch;--sl-content-width:var(--reading-width)}html:root[data-academy-appearance=modern] .reader-outline-original,html:root[data-academy-appearance=modern] .panel-restore--toc{display:none!important}html:root[data-academy-appearance=modern][data-has-toc]{--sl-mobile-toc-height:0rem}html:root[data-academy-appearance=modern][data-has-toc] .right-sidebar-container{block-size:0;inline-size:0;min-inline-size:0;display:block}html:root[data-academy-appearance=modern][data-has-toc] .right-sidebar{background:0 0;border:0;block-size:auto;inline-size:auto;padding:0;position:static;overflow:visible}html:root[data-academy-appearance=modern][data-has-toc] .main-pane{--sl-content-margin-inline:auto;width:100%}html:root[data-academy-appearance=modern] .reader-outline{--outline-bg:var(--reader-panel-raised);--outline-ink:var(--ink);--outline-muted:var(--ink-soft);--outline-accent:var(--semantic-data);--outline-line:color-mix(in srgb, var(--outline-ink) 16%, var(--outline-bg));--outline-control-line:color-mix(in srgb, var(--outline-muted) 80%, var(--outline-bg));color:var(--outline-ink);font-size:.8rem;line-height:1.4;display:block;position:relative}html:root[data-academy-appearance=modern][data-academy-toc-tone=dark] .reader-outline{--outline-bg:var(--panel-dark-bg);--outline-ink:var(--panel-dark-text);--outline-muted:var(--panel-dark-muted);--outline-accent:oklch(.8 var(--semantic-chroma) var(--semantic-hue-data))}html:root[data-academy-appearance=modern][data-academy-toc-tone=light] .reader-outline{--outline-bg:var(--panel-light-bg);--outline-ink:var(--panel-light-text);--outline-muted:var(--panel-light-muted);--outline-accent:oklch(.42 var(--semantic-chroma) var(--semantic-hue-data))}html:root[data-academy-appearance=modern][data-academy-semantic=off] .reader-outline{--outline-accent:var(--outline-muted)}html:root[data-academy-appearance=modern] .reader-outline [hidden]{display:none}html:root[data-academy-appearance=modern] .reader-outline__shell{border:var(--reader-stroke) solid var(--outline-line);border-radius:var(--reader-radius-panel);background:var(--outline-bg);box-shadow:var(--reader-shadow)}html:root[data-academy-appearance=modern] .reader-outline__panel{background:0 0;border:0;margin:0;padding:0}html:root[data-academy-appearance=modern] .reader-outline__summary{min-block-size:2.75rem;color:var(--outline-ink);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;font-weight:700;list-style:none;display:flex}html:root[data-academy-appearance=modern] .reader-outline__summary::-webkit-details-marker{display:none}html:root[data-academy-appearance=modern] .reader-outline__summary svg,html:root[data-academy-appearance=modern] .reader-outline__trigger svg{flex:none;block-size:1.1rem;inline-size:1.1rem}html:root[data-academy-appearance=modern] .reader-outline__panel[open] .reader-outline__summary svg{transform:rotate(90deg)}html:root[data-academy-appearance=modern] .reader-outline__navigation{position:relative}html:root[data-academy-appearance=modern] .reader-outline :is(ol,li){margin:0;padding:0;list-style:none}html:root[data-academy-appearance=modern] .reader-outline__link{padding:.5rem .75rem .5rem calc(.75rem + var(--outline-depth,0) * .75rem);color:var(--outline-muted);overflow-wrap:anywhere;border-radius:var(--reader-radius-tag);align-items:baseline;gap:.625rem;text-decoration:none;display:flex}html:root[data-academy-appearance=modern] .reader-outline a:is(:hover,[aria-current=location]){color:var(--outline-accent);background:color-mix(in oklch, var(--outline-accent) 6%, var(--outline-bg))}html:root[data-academy-appearance=modern] .reader-outline :is(a,button,summary):focus-visible{outline:var(--reader-stroke-strong) solid var(--outline-accent);outline-offset:calc(-1 * var(--reader-stroke-strong))}html:root[data-academy-appearance=modern] .reader-outline__notch{border-radius:var(--reader-radius-tag);background:currentColor;flex:none;align-self:center;block-size:.25rem;inline-size:.625rem;display:inline-block}html:root[data-academy-appearance=modern] .reader-outline__thumb{inline-size:var(--reader-accent-stroke);border-radius:var(--reader-radius-tag);background:var(--outline-accent);pointer-events:none;block-size:1.5rem;position:absolute;inset-block-start:calc(var(--outline-progress,0) * (100% - 1.5rem));inset-inline-start:0}html:root[data-academy-appearance=modern] .reader-outline__trigger{z-index:calc(var(--z-pop,1000) - 1);min-block-size:2.75rem;color:var(--outline-ink);border:var(--reader-stroke) solid var(--outline-control-line);background:var(--outline-bg);box-shadow:var(--reader-shadow);font:inherit;cursor:pointer;transition:opacity var(--reader-transition) var(--reader-easing);border-radius:2rem;align-items:center;gap:.625rem;padding:.625rem .875rem;display:inline-flex;position:fixed;inset-block-start:calc(var(--sl-nav-height) + .75rem);inset-inline-end:1rem}html:root[data-academy-appearance=modern] .reader-outline[data-outline-direction=down] .reader-outline__trigger{opacity:.2}html:root[data-academy-appearance=modern] .reader-outline[data-outline-direction=up] .reader-outline__trigger,html:root[data-academy-appearance=modern] .reader-outline__trigger:is(:hover,:focus-visible){opacity:1}html:root[data-academy-appearance=modern] .reader-outline__backdrop{z-index:var(--z-pop,1000);background:color-mix(in srgb, var(--night) 45%, transparent);cursor:pointer;border:0;border-radius:0;position:fixed;inset:0}html:root[data-academy-appearance=modern] .reader-outline__close{z-index:1;min-block-size:2.5rem;min-inline-size:2.5rem;color:var(--outline-ink);border:var(--reader-stroke) solid var(--outline-control-line);border-radius:var(--reader-radius-control);background:var(--outline-bg);font:1.25rem/1 var(--mono);cursor:pointer;position:absolute;inset-block-start:.5rem;inset-inline-end:.5rem}html:root[data-academy-appearance=modern] .reader-outline__tooltip{z-index:calc(var(--z-pop,1000) + 3);max-inline-size:min(18rem,70vw);color:var(--outline-ink);border:var(--reader-stroke) solid var(--outline-control-line);border-radius:var(--reader-radius-control);background:var(--outline-bg);box-shadow:var(--reader-shadow);overflow-wrap:anywhere;pointer-events:none;padding:.625rem .75rem;position:fixed;transform:translateY(-50%)}html:root[data-academy-appearance=modern] #starlight__sidebar .chapter-progress{display:none}html:root[data-academy-appearance=modern] #starlight__sidebar .reader-chapter-meter{white-space:nowrap;color:var(--sidebar-muted);flex:none;align-items:center;gap:.3rem;margin-inline-start:.5rem;display:inline-flex}html:root[data-academy-appearance=modern] #starlight__sidebar .reader-chapter-meter svg{flex:none;block-size:1.25rem;inline-size:1.25rem;overflow:visible;transform:rotate(-90deg)}html:root[data-academy-appearance=modern] .reader-chapter-meter circle{fill:none;stroke-width:2px}html:root[data-academy-appearance=modern] .reader-chapter-meter__track{stroke:color-mix(in srgb, var(--sidebar-text) 20%, var(--night))}html:root[data-academy-appearance=modern] .reader-chapter-meter__fill{stroke:var(--semantic-menu-success);stroke-dasharray:1;stroke-linecap:round}html:root[data-academy-appearance=modern] .reader-chapter-meter__count{white-space:nowrap;font:.72rem/1.2 var(--mono);font-variant-numeric:tabular-nums}html:root[data-academy-appearance=modern] #starlight__sidebar summary .group-label{position:relative}html:root[data-academy-appearance=modern] .reader-chapter-meter__bar{block-size:var(--reader-stroke-strong);border-radius:var(--reader-radius-tag);background:linear-gradient(to right, var(--semantic-menu-success) calc(var(--reader-chapter-progress,0) * 100%), transparent 0);position:absolute;inset-block-end:-.25rem;inset-inline:0}html:root[data-academy-appearance=modern] #starlight__sidebar a[data-chapter]{border-inline-start:var(--reader-stroke-strong) solid transparent}html:root[data-academy-appearance=modern] #starlight__sidebar a[data-chapter].is-done{border-inline-start-color:var(--semantic-menu-success)}html:root[data-academy-appearance=modern] #starlight__sidebar a.is-done:after{display:none}}@media screen and (width<=89.999rem){html:root[data-academy-appearance=modern] .reader-outline[data-outline-ready=true] .reader-outline__shell{display:none}html:root[data-academy-appearance=modern] .reader-outline[data-outline-modal=true] .reader-outline__shell{z-index:calc(var(--z-pop,1000) + 2);overscroll-behavior:contain;border-radius:0;max-block-size:100dvh;inline-size:min(22rem,90vw);padding-block:.5rem 2rem;display:block;position:fixed;inset-block:0;inset-inline-end:0;overflow-y:auto}html:root[data-academy-appearance=modern] .reader-outline[data-outline-modal=true] .reader-outline__summary{padding-inline-end:3.5rem}html:root[data-academy-appearance=modern] .reader-outline[data-outline-modal=true] .reader-outline__summary svg{display:none}}@media screen and (width>=90rem){html:root[data-academy-appearance=modern][data-academy-toc=hidden]{--reader-outline-width:var(--reader-outline-compact-width)}html:root[data-academy-appearance=modern][data-has-toc] .right-sidebar-container{inline-size:var(--reader-outline-width);flex:0 0 var(--reader-outline-width);block-size:auto}html:root[data-academy-appearance=modern][data-has-toc] .right-sidebar{padding-inline:.5rem;position:sticky;inset-block-start:calc(var(--sl-nav-height) + .75rem)}html:root[data-academy-appearance=modern][data-has-toc] .main-pane{width:calc(100% - var(--reader-outline-width))}html:root[data-academy-appearance=modern] .reader-outline__list{max-block-size:calc(100dvh - var(--sl-nav-height) - 5rem);overscroll-behavior:contain;scrollbar-width:thin;padding-block-end:4.5rem;overflow-y:auto}html:root[data-academy-appearance=modern] .reader-outline[data-outline-folded=true] .reader-outline__summary{justify-content:center;padding-inline:.25rem}html:root[data-academy-appearance=modern] .reader-outline[data-outline-folded=true] .reader-outline__summary span{clip-path:inset(50%);block-size:1rem;inline-size:1rem;position:absolute;overflow:hidden}html:root[data-academy-appearance=modern] .reader-outline__compact{max-block-size:calc(100dvh - var(--sl-nav-height) - 5rem);scrollbar-width:none;margin-block-start:.5rem;position:relative;overflow-y:auto}html:root[data-academy-appearance=modern] .reader-outline__compact a{min-block-size:2rem;color:var(--outline-muted);border-radius:var(--reader-radius-tag);justify-content:center;align-items:center;display:flex}}@media print{.reader-outline,.reader-chapter-meter{display:none!important}}.read-here:where(.astro-42wtwxio){flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.88rem;display:inline-flex}.read-here:where(.astro-42wtwxio) button:where(.astro-42wtwxio),.read-here:where(.astro-42wtwxio) summary:where(.astro-42wtwxio){border:.0625rem solid var(--line);background:var(--reader-panel,var(--paper));min-height:2.75rem;color:var(--chapter-ink,var(--ink));font:inherit;cursor:pointer;border-radius:.5rem;padding:.35rem .8rem}.read-here__start:where(.astro-42wtwxio){font-weight:700}.read-here:where(.astro-42wtwxio) svg:where(.astro-42wtwxio){fill:currentColor;flex:none;width:1.1rem;height:1.1rem}.read-here:where(.astro-42wtwxio) svg:where(.astro-42wtwxio)[hidden]{display:none}.read-here:where(.astro-42wtwxio) button:where(.astro-42wtwxio):focus-visible,.read-here:where(.astro-42wtwxio) summary:where(.astro-42wtwxio):focus-visible,.read-here:where(.astro-42wtwxio) select:where(.astro-42wtwxio):focus-visible{outline:.15rem solid var(--chapter-accent);outline-offset:.15rem}.read-here:where(.astro-42wtwxio) button:where(.astro-42wtwxio):disabled{cursor:default;opacity:.6}.read-here:where(.astro-42wtwxio) :where(.astro-42wtwxio)[hidden]{display:none!important}.read-here__status:where(.astro-42wtwxio){color:var(--ink-soft)}.read-here__bar:where(.astro-42wtwxio){z-index:80;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));border-top:.125rem solid var(--chapter-accent,var(--line));background:var(--paper);box-shadow:0 -.5rem 1.5rem color-mix(in oklch, var(--ink) 12%, transparent);gap:.45rem;font-size:.85rem;display:grid;position:fixed;bottom:0;left:0;right:0}.read-here__now:where(.astro-42wtwxio){color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:1.35em;margin:0;line-height:1.35;display:-webkit-box;overflow:hidden}.read-here__progress:where(.astro-42wtwxio){width:100%;height:.4rem;accent-color:var(--chapter-accent)}.read-here__row:where(.astro-42wtwxio){flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.read-here__row:where(.astro-42wtwxio)>button:where(.astro-42wtwxio),.read-here__row:where(.astro-42wtwxio) summary:where(.astro-42wtwxio){justify-content:center;align-items:center;gap:.35rem;min-width:2.75rem;display:inline-flex}.read-here__main:where(.astro-42wtwxio){font-weight:700;background:var(--chapter-accent)!important;border-color:var(--chapter-accent)!important;color:var(--chapter-on-accent,var(--paper))!important}.read-here__speed:where(.astro-42wtwxio){font-variant-numeric:tabular-nums;font-weight:700}.read-here__voice:where(.astro-42wtwxio) summary:where(.astro-42wtwxio){list-style:none}.read-here__voice:where(.astro-42wtwxio) summary:where(.astro-42wtwxio)::-webkit-details-marker{display:none}.read-here__voice-panel:where(.astro-42wtwxio){border:.0625rem solid var(--line);background:var(--paper);max-width:24rem;box-shadow:0 .5rem 1.5rem color-mix(in oklch, var(--ink) 18%, transparent);border-radius:.5rem;gap:.5rem;padding:.75rem;display:grid;position:absolute;bottom:calc(100% + .5rem);left:.75rem;right:.75rem}.read-here__voice-panel:where(.astro-42wtwxio) label:where(.astro-42wtwxio){gap:.25rem;display:grid}.read-here__voice-panel:where(.astro-42wtwxio) select:where(.astro-42wtwxio){border:.0625rem solid var(--line);background:var(--paper);width:100%;min-height:2.75rem;color:var(--ink);font:inherit;border-radius:.35rem;padding:.35rem .5rem}.read-here__stop:where(.astro-42wtwxio){margin-left:auto}html[data-read-player=on] body{padding-bottom:calc(var(--read-player-height,6rem) + 1rem)}@media (width<=47.99rem){html[data-read-player=on] :is(.lesson-notes__fab,#context7-widget){transform:translateY(calc(-1 * var(--read-player-height,6rem)))}}@media (width>=48rem){.read-here__bar:where(.astro-42wtwxio){border:.0625rem solid var(--line);border-top:.125rem solid var(--chapter-accent,var(--line));border-radius:.75rem;width:min(40rem,100vw - 2rem);bottom:1rem;left:50%;right:auto;transform:translate(-50%)}}@media print{.read-here:where(.astro-42wtwxio){display:none}}.lesson-reading-actions:where(.astro-xrbnetbz){flex-wrap:wrap;gap:.65rem 1.25rem;margin-top:.8rem;font-size:.82rem;display:flex}.lesson-reading-actions:where(.astro-xrbnetbz) a:where(.astro-xrbnetbz){color:var(--chapter-ink);text-underline-offset:.2em}.plain-title:where(.astro-xrbnetbz){font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);color:var(--sl-color-white);margin-top:1rem;font-weight:600}html:not([data-has-toc]){--sl-mobile-toc-height:0rem}html:not([data-has-sidebar]){--sl-content-width:67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-g5ptsecz){padding:var(--sl-main-pad)}@media (width>=50em){:where(.astro-g5ptsecz)[data-has-sidebar]{--sl-content-inline-start:var(--sl-sidebar-width)}}@media (width>=72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}}
