.reader-tools-root .reader-dock .reader-dock__controls button{min-width:2.75rem;min-height:2.75rem}.reader-tools-root .reader-dock .reader-dock__exit{min-height:2.75rem}.reader-tools-root .reader-dock .reader-dock__speed{min-width:3.25rem;font-size:.9rem}.reader-tools-root .reader-dock__progress{flex:7rem;order:3}.reader-dock__voice{flex:none;order:3}.reader-dock .reader-dock__voice summary{border:1px solid var(--line);min-height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:.25rem;align-items:center;padding:.3rem .7rem;font-size:.8rem;font-weight:650;list-style:none;display:inline-flex}.reader-dock__voice summary::-webkit-details-marker{display:none}.reader-dock__voice[open] summary{border-color:var(--reader-accent)}.reader-dock__voice-panel{z-index:31;border:1px solid color-mix(in srgb, var(--reader-accent) 32%, var(--line));background:var(--paper);box-shadow:0 .75rem 1.75rem color-mix(in srgb, var(--ink) 16%, transparent);border-radius:.35rem;gap:.75rem;padding:.85rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0}.reader-dock__voice-panel label{color:var(--ink-soft);gap:.35rem;font-size:.8rem;font-weight:650;display:grid}.reader-dock__voice-panel label>span{justify-content:space-between;gap:.5rem;display:flex}.reader-dock .reader-dock__voice-panel select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:2.75rem;color:var(--ink);font:inherit;border-radius:.25rem;padding:.3rem .5rem}.reader-dock .reader-dock__voice-panel input[type=range]{width:100%;min-height:2.75rem;accent-color:var(--reader-accent)}.reader-dock .reader-dock__voice-panel button{justify-self:start;min-height:2.75rem}.reader-dock__now{min-height:1.4em;color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1 0 100%;order:5;margin:0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.reader-dock__now:empty{display:none}.reader-dock summary:focus-visible,.reader-dock select:focus-visible,.reader-dock input:focus-visible{outline:.15rem solid var(--reader-accent);outline-offset:.15rem}@media print{.reader-dock__voice,.reader-dock__now{display:none!important}}@media (width<=28rem){.reader-tools-root .reader-dock .reader-dock__exit{justify-content:center;min-width:2.75rem;padding-inline:.5rem}.reader-dock__exit-word,.reader-dock__exit-more{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.reader-tools-root .reader-dock .reader-dock__controls{flex:0 auto}.reader-tools-root .reader-dock .reader-dock__controls button{flex:none}}@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,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)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;--reader-accent:var(--rust-dark);--chapter-accent:var(--reader-accent);--chapter-ink:var(--reader-accent);--chapter-tint:color-mix(in srgb, var(--reader-accent) 12%, transparent);--diagram-canvas:color-mix(in srgb, var(--reader-accent) 5%, var(--paper));color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body[data-tone="2"]{--reader-accent:#175ba6}body[data-tone="3"]{--reader-accent:#7143ad}body[data-tone="4"]{--reader-accent:#006779}:root[data-theme=dark] body[data-tone="1"]{--reader-accent:#ffb08d}:root[data-theme=dark] body[data-tone="2"]{--reader-accent:#87baff}:root[data-theme=dark] body[data-tone="3"]{--reader-accent:#c7a7fb}:root[data-theme=dark] body[data-tone="4"]{--reader-accent:#70d2df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0}button,select,input{font:inherit}a{color:var(--link)}a:hover{color:var(--link-hover)}:where(a,button,input,select,summary):focus-visible{outline:2px solid var(--reader-accent);outline-offset:3px}.reader-skip{z-index:20;background:var(--paper);color:var(--ink);padding:.65rem .9rem;position:absolute;top:-4rem;left:1rem}.reader-skip:focus{top:.5rem}.reader-topbar{border-bottom:1px solid var(--header-border);background:var(--night);color:var(--header-text);justify-content:space-between;align-items:center;gap:1.5rem;padding:.95rem max(1.5rem,50vw - 560px);display:flex}.reader-topbar a{color:inherit;text-decoration:none}.reader-topbar a:hover{color:var(--rust)}.reader-brand{font-family:var(--display);letter-spacing:-.02em;align-items:center;gap:.8rem;font-size:.92rem;display:inline-flex}.reader-brand>span{border:1px solid color-mix(in srgb, var(--rust) 70%, transparent);width:2.45rem;height:2.45rem;color:var(--rust);font-family:var(--mono);letter-spacing:-.08em;border-radius:.35rem;place-items:center;font-size:.7rem;font-weight:800;display:grid}.reader-topbar nav{flex-wrap:wrap;align-items:center;gap:1rem;font-size:.82rem;display:flex}.reader-topbar .reader-topbar__exit{border:1px solid color-mix(in srgb, var(--header-text) 40%, transparent);border-radius:.4rem;padding:.3rem .7rem;font-weight:650}.reader-topbar .reader-topbar__exit:hover{border-color:var(--rust)}.reader-shell{width:min(100% - 2.5rem,1020px);margin:0 auto;padding:2.8rem 0 5rem}.reader-tools-root{display:contents}.reader-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reader-dock{z-index:30;border:1px solid color-mix(in srgb, var(--reader-accent) 32%, var(--line));border-left:4px solid var(--reader-accent);background:color-mix(in srgb, var(--reader-accent) 6%, var(--paper));box-shadow:none;border-radius:.35rem;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;margin-bottom:1.4rem;padding:.45rem .65rem;display:flex;position:sticky;top:.5rem}.reader-dock__controls{flex-wrap:nowrap;gap:.4rem;display:flex}.reader-dock__controls button{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.reader-dock__controls svg{fill:currentColor;flex:none;width:1.05rem;height:1.05rem}.reader-dock__controls svg[hidden]{display:none}.reader-dock button.reader-dock__primary{min-width:5.7rem}.reader-dock__speed{font-variant-numeric:tabular-nums;min-width:3.5rem}.reader-dock__progress{min-width:0;color:var(--ink-soft);flex:11rem;align-items:center;gap:.65rem;font-size:.72rem;display:flex}.reader-dock__progress progress{min-width:3rem;height:.55rem;accent-color:var(--reader-accent);flex:4rem}.reader-dock__progress span{white-space:nowrap}.reader-dock__exit{border:1px solid var(--line);background:var(--paper);min-height:2rem;color:var(--ink);border-radius:.4rem;align-items:center;gap:.45rem;margin-inline-start:auto;padding:.3rem .6rem;font-size:.75rem;font-weight:650;text-decoration:none;display:inline-flex}.reader-dock__exit:hover{border-color:var(--reader-accent);color:var(--ink-strong)}.reader-dock__status{min-height:1.4em;color:var(--ink-soft);flex:1 0 100%;margin:0;font-size:.72rem;line-height:1.4}.reader-tools{border:1px solid color-mix(in srgb, var(--reader-accent) 28%, var(--line));border-left:4px solid var(--reader-accent);background:color-mix(in srgb, var(--reader-accent) 4%, var(--surface));box-shadow:none;border-radius:.65rem;margin-bottom:2.5rem;padding:clamp(1rem,2vw,1.4rem)}.reader-tools__intro{grid-template-columns:1fr minmax(13rem,22rem);align-items:end;gap:1rem 2rem;display:grid}.reader-tools__eyebrow,.reader-article__eyebrow{color:var(--reader-accent);font:700 .66rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .45rem}.reader-tools h2,.reader-tools h3,.reader-tools h4{font-family:var(--display);letter-spacing:-.03em}.reader-tools h2{color:var(--ink-strong);margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.12}.reader-tools__intro>p{color:var(--ink-soft);margin:0;font-size:.85rem;line-height:1.6}.reader-tools button,.reader-dock button{border:1px solid var(--line);min-height:2rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:.25rem;padding:.3rem .6rem;font-size:.75rem;font-weight:650}.reader-tools button:hover:not(:disabled),.reader-dock button:hover:not(:disabled){border-color:var(--reader-accent)}.reader-tools button:disabled,.reader-dock button:disabled{cursor:not-allowed;opacity:.5}.reader-dock button.reader-dock__primary{border-color:var(--reader-accent);background:var(--reader-accent);color:var(--paper)}.reader-tools__settings{grid-template-columns:minmax(12rem,1.3fr) minmax(9rem,1fr) minmax(13rem,1.2fr);align-items:end;gap:1rem;margin-top:1.6rem;display:grid}.reader-tools__settings label{color:var(--ink-soft);gap:.4rem;font-size:.72rem;font-weight:650;display:grid}.reader-tools__settings label>span{justify-content:space-between;gap:.5rem;display:flex}.reader-tools select,.reader-tools input[type=url]{border:1px solid var(--line);background:var(--paper);width:100%;min-height:2.45rem;color:var(--ink);border-radius:.38rem;padding:.4rem .6rem;font-size:.78rem}.reader-tools input[type=range]{width:100%;accent-color:var(--reader-accent)}.reader-tools__settings .reader-tools__code-option{flex-direction:row;align-items:center;gap:.55rem;padding-bottom:.45rem;line-height:1.35;display:flex}.reader-tools__code-option input{width:1.05rem;height:1.05rem;accent-color:var(--reader-accent)}.reader-tools__status{min-height:1.3em;color:var(--ink-strong);margin:.75rem 0 0;font-size:.8rem}.reader-tools__hint{color:var(--ink-soft);margin:.45rem 0 0;font-size:.69rem;line-height:1.55}.reader-tools__handoff{border-top:1px solid var(--line);margin-top:1.7rem;padding-top:1.35rem}.reader-tools__handoff h3{margin:0 0 .8rem;font-size:1.05rem}.reader-tools__handoff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.reader-tools__handoff-grid>div{border:1px solid var(--line);background:var(--paper);border-radius:.45rem;padding:.95rem}.reader-tools__handoff-grid h4{margin:0 0 .35rem;font-size:.88rem}.reader-tools__handoff-grid p{color:var(--ink-soft);margin:0;font-size:.73rem;line-height:1.6}.reader-tools__handoff-grid a{margin:.7rem .85rem 0 0;font-size:.73rem;font-weight:650;display:inline-block}.reader-tools__link-label{color:var(--ink-soft);margin:1rem 0 .4rem;font-size:.72rem;font-weight:650;display:block}.reader-tools__link-row{gap:.5rem;display:flex}.reader-tools__link-row input{min-width:0;font-family:var(--mono);flex:12rem}.reader-tools__export{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.reader-article{padding:0 0 3rem}.reader-article__header{border-bottom:1px solid var(--line);max-width:74ch;margin:0 auto 3.2rem;padding-bottom:1.8rem}.reader-article__header h1{color:var(--ink-strong);font:700 clamp(2.3rem, 6vw, 4.25rem)/1.07 var(--display);letter-spacing:-.055em;margin:0}.reader-article__description{max-width:50rem;color:var(--ink-soft);margin:.9rem 0 0;font-size:1.05rem;line-height:1.65}.reader-article__minutes{color:var(--ink-soft);font:600 .7rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;margin:1.1rem 0 0}.reader-article__body{font-size:1.04rem;line-height:1.8}.reader-article__body>:is(p,ul,ol,blockquote,details,.sl-heading-wrapper){max-width:74ch;margin-inline:auto}.reader-article__body>:is(p,ul,ol,blockquote){margin-block:1.2rem}.reader-article__body :is(h2,h3,h4){color:var(--ink-strong);font-family:var(--display);letter-spacing:-.035em;line-height:1.18}.reader-article__body h2{margin:3.2rem 0 .9rem;font-size:clamp(1.55rem,3vw,2rem)}.reader-article__body h3{margin:2.2rem 0 .7rem;font-size:1.33rem}.reader-article__body h4{margin:1.7rem 0 .55rem;font-size:1.1rem}.reader-article__body p,.reader-article__body li{overflow-wrap:anywhere}.reader-article__body [data-narration-kind=diagram],.reader-article__body [data-narration-kind=table]{border-inline-start:3px solid var(--reading-information);padding-inline-start:1rem}.reader-article__body pre{border:1px solid var(--line);border-inline-start:3px solid var(--reading-process);font-family:var(--mono);border-radius:.4rem;padding:1rem;font-size:.84rem;overflow-x:auto}.reader-article__body pre[data-narration-kind=code]{color:var(--ink);background:var(--reader-panel);white-space:pre;line-height:1.7}.reader-article__body [data-narration-kind=diagram]{color:var(--ink);background:var(--reader-panel);padding:.8rem 1rem}.reader-article__body li+li{margin-top:.45rem}.reader-article__body a{text-underline-offset:.17em}.reader-article__body strong{color:var(--ink-strong)}.reader-article__body blockquote{border-left:3px solid var(--reader-accent);color:var(--ink-soft);background:var(--surface);padding:.2rem 1.2rem}.reader-article__body :not(pre)>code{color:var(--inline-code);background:var(--inline-code-bg);font:.87em var(--mono);border-radius:.2rem;padding:.1rem .28rem}.reader-article__body pre:not(.mermaid){border-radius:.45rem;max-width:100%;overflow-x:auto}.reader-article__body img{border-radius:.35rem;max-width:100%;height:auto;margin-inline:auto;display:block}.reader-article__body :is(figure,.expressive-code,.table-scroll,pre.mermaid,.starlight-aside,.academy-quiz,.concept-lab,.ownership-scope,.projection-lab){margin-block:1.8rem}.reader-article__body .table-scroll{max-width:100%;overflow-x:auto}.reader-article__body table{border-collapse:collapse;width:100%;font-size:.88rem}.reader-article__body :is(th,td){border:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .65rem}.reader-article__body th{background:var(--paper-deep)}.reader-article__body .starlight-aside{border-left:3px solid var(--reader-accent);background:var(--surface);border-radius:.35rem;padding:1rem 1.2rem}.reader-article__body .is-being-read{background:color-mix(in srgb, var(--reader-accent) 12%, transparent);box-decoration-break:clone}.reader-article__body pre.is-being-read{outline:2px solid var(--reader-accent)}.reader-article__body .mem-figure{--chapter-accent:var(--reader-accent)}.reader-article__body pre.mermaid{--diagram-canvas:color-mix(in srgb, var(--reader-accent) 5%, var(--paper))}.reader-neighbors{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:1.5rem;display:grid}.reader-neighbors a{color:var(--ink);border:0;gap:.3rem;padding:.4rem 0;text-decoration:none;display:grid}.reader-neighbors a:last-child{text-align:right}.reader-neighbors a:hover{border-color:var(--reader-accent)}.reader-neighbors a span{color:var(--reader-accent);font:650 .65rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.reader-neighbors a strong{font-size:.85rem;line-height:1.45}@media (width<=720px){.reader-tools__intro,.reader-tools__settings,.reader-tools__handoff-grid{grid-template-columns:1fr}.reader-dock__progress{flex:1 0 100%;order:3}.reader-dock__status{order:4}.reader-dock__controls{flex:1 1 0;gap:.3rem;min-width:0}.reader-dock__controls button{flex:1 1 0;min-width:2.6rem;min-height:2.6rem;padding:.4rem}.reader-dock button.reader-dock__primary{min-width:2.6rem}.reader-dock__speed{min-width:2.6rem;font-size:.78rem}.reader-dock__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.reader-dock__exit{min-height:2.6rem}.reader-neighbors{grid-template-columns:1fr}.reader-neighbors a:last-child{text-align:left}}@media (width<=450px){.reader-dock{gap:.4rem .6rem;padding:.5rem .6rem}.reader-dock__exit{padding:.3rem .6rem}.reader-dock__exit-more{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.reader-dock__status{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reader-topbar{padding-inline:1rem}.reader-brand strong{display:none}.reader-shell{width:min(100% - 1.5rem,1020px);padding-top:1.5rem}.reader-tools{margin-bottom:2.5rem}.reader-dock{padding-inline:.7rem}.reader-dock__exit{padding-inline:.65rem}.reader-tools__link-row{flex-wrap:wrap}.reader-tools__link-row button{width:100%}}@media (width<=23rem){.reader-dock{gap:.4rem;padding-inline:.5rem}.reader-dock__controls{gap:.2rem}.reader-dock__controls button{min-width:2.3rem;min-height:2.3rem;padding:.3rem}.reader-dock__exit{min-height:2.3rem;padding:.3rem .55rem}.reader-dock__exit-word{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}@media (height<=32rem) and (orientation:landscape){.reader-dock{flex-wrap:nowrap;gap:.5rem;margin-bottom:.9rem;padding:.35rem .6rem;top:.25rem}.reader-dock__controls{flex:none;gap:.3rem}.reader-dock__controls button{flex:none;min-width:2.4rem;min-height:2.4rem;padding:.3rem}.reader-dock button.reader-dock__primary{min-width:2.4rem}.reader-dock__speed{min-width:2.6rem;font-size:.78rem}.reader-dock__label,.reader-dock__status{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.reader-dock__progress{flex:auto;order:2}.reader-dock__exit{order:3;min-height:2.4rem;margin-inline-start:0;padding:.3rem .7rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{:root{color-scheme:light}body{color:#000;background:#fff}.reader-topbar,.reader-skip,.reader-dock,.reader-tools,.reader-neighbors,#context7-widget{display:none!important}.reader-shell{width:100%;padding:0}.reader-article__body{font-size:11pt}.reader-article__body :is(figure,pre,table){break-inside:avoid}}.reader-tools__options>summary{cursor:pointer;width:fit-content;padding-block:.15rem;font-size:.85rem;font-weight:600}.reader-tools__options[open]>summary{margin-bottom:.9rem}.reader-article__body .reader-visual{clear:inline-start;background:0 0;border:0;margin:1rem 0;padding:0}.reader-visual img,.reader-visual svg{object-fit:contain;background:#fff;border:0;width:auto;max-width:100%;max-height:32rem;margin-inline:auto;display:block}.reader-visual figcaption{color:var(--ink-soft);margin-top:.4rem;font-size:.82rem;line-height:1.5}
