/*!modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize*/*,::before,::after{box-sizing:border-box}html{font-family:system-ui,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji;line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,liberation mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:initial}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}:root{--font-size:100%;--font-size-smaller:0.875rem;--font-size-smallest:0.75rem;--body-font-weight:400;--border-radius:0.25rem;--space-1:1px;--space-4:0.25rem;--space-8:0.5rem;--space-16:1rem;--body-min-width:20rem;--layout-max-width:90rem;--content-max-width:50rem;--menu-width:16rem;--toc-width:16rem}.flex{display:flex;&.gap{gap:var(--space-16)}}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-small{font-size:.875em}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}@keyframes spin{100%{transform:rotate(360deg)}}nav.horizontal>ul{display:flex;gap:var(--space-8);flex-wrap:wrap;justify-content:end;a{padding:var(--space-4)}> li > ul{padding:0}}html{font-size:var(--font-size);scroll-behavior:smooth;touch-action:manipulation;scrollbar-gutter:stable}body{min-width:var(--body-min-width);color:var(--body-font-color);background:var(--body-background)var(--body-background-tint);font-weight:var(--body-font-weight);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:inherit}a{flex:auto;align-items:center;gap:.5em;text-decoration:none;cursor:default;&[href], &[role=button]{color:var(--color-link);cursor:pointer}}small{font-size:.875em}:focus-visible,input.toggle:focus-visible+label,label:has(input.toggle:focus-visible){outline-style:auto;outline-color:var(--color-link)}nav ul{padding:0;margin:0;list-style:none;li{position:relative}a{padding:.5em 0;display:inline-block;transition:opacity .1s ease-in-out}a[href]:hover, a[role=button]:hover{opacity:.5}ul{padding-inline-start:1.5em}}nav>ul{margin-bottom:var(--space-16)}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0;.page-item a{padding:var(--space-16)}}.book-container{max-width:var(--layout-max-width);margin:0 auto}.book-icon{filter:var(--icon-filter);height:1em;width:1em}.book-brand{font-size:1.25rem;margin-bottom:var(--space-16);img{height:1em;width:auto}a[href]{color:var(--body-font-color)}}.book-menu{flex:0 0 var(--menu-width);font-size:var(--font-size-smaller);.book-menu-content{width:var(--menu-width);padding:var(--space-16)}a, label{color:inherit;word-wrap:break-word;display:flex}a.active{color:var(--color-link)}label > .book-icon:last-child{cursor:pointer;align-self:center;transition:transform .1s ease-in-out}input.toggle + label + ul{display:none}input.toggle:checked + label{> .book-icon:last-child{transform:rotate(90deg)}+ ul{display:block}}}body[dir=rtl] .book-menu{input.toggle + label > .book-icon:last-child{transform:rotate(180deg)}input.toggle:checked + label > .book-icon:last-child{transform:rotate(90deg)}}.book-section-flat{margin:var(--space-16)0;> a, > label a{font-weight:bolder}> ul{padding-inline-start:0}}.book-page{flex-grow:1;min-width:var(--body-min-width);max-width:var(--content-max-width);padding:var(--space-16);margin-inline-start:auto;margin-inline-end:0}.book-page:last-child,.book-toc:last-child{margin-inline-end:auto}.book-post{margin-bottom:calc(var(--space-16) * 4);.book-post-content{margin-top:var(--space-16)}.book-post-thumbnail{flex:0 0 34%;img{width:100%;aspect-ratio:4/3;object-fit:cover}}}.book-header{padding:var(--space-16);padding-bottom:0;label{line-height:0;.book-icon{font-size:1.25rem}}.book-brand{margin:0;font-size:1rem}}.book-breadcrumbs{font-size:var(--font-size-smaller);a{padding:0}ul{margin-bottom:var(--space-8)}ul, li{gap:var(--space-4)}}.book-layout-landing{.book-container{flex-direction:column;max-width:var(--layout-max-width)}.book-page{max-width:initial}.book-header{display:block;position:relative;z-index:1}}.book-search{position:relative;margin:var(--space-8)0;input{width:100%;padding:var(--space-8);border:var(--space-1)solid var(--gray-200);border-radius:var(--border-radius);background:var(--gray-100);color:var(--body-font-color);&:required + .book-search-spinner{display:block}}.book-search-spinner{position:absolute;top:0;margin:var(--space-8);margin-inline-start:calc(100% - (var(--space-16) + var(--space-8)));width:var(--space-16);height:var(--space-16);border:var(--space-1)solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}ul a{padding:0;margin-top:var(--space-16);font-weight:bolder}mark{background:0 0;color:var(--color-link)}}.book-toc{flex:0 0 var(--toc-width);font-size:var(--font-size-smallest);.book-toc-content{width:var(--toc-width);padding:var(--space-16)}img{height:1em;width:auto}}.book-toc-section{gap:.5em;> .book-icon{margin:.5em 0}}.book-menu .book-menu-content,.book-toc .book-toc-content{position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-footer{padding-top:var(--space-16);font-size:var(--font-size-smaller);a{margin:var(--space-4)0;padding:var(--space-4)0}}.book-comments{margin-top:var(--space-16)}.book-copyright{margin-top:var(--space-16)}.book-languages{span{padding:0}ul{padding-inline-start:1.5em}}.book-menu-content,.book-toc-content{transition:.2s ease-in-out;transition-property:transform,opacity,visibility;will-change:transform,opacity}@media screen and (max-width:56rem){.book-container{flex-direction:column}.book-page{max-width:initial;margin:0}.book-menu{visibility:hidden;flex-basis:0;margin-inline-start:calc(-1 * var(--menu-width));z-index:1;.book-menu-content{background:var(--body-background)}}.book-header{display:block;order:-2}.book-toc{display:none;flex:none;order:-1;.book-toc-content{position:static;width:auto;font-size:var(--font-size-smaller);overflow:initial}}.book-post-container{flex-direction:column-reverse}body:has(#menu-control:checked){.book-menu{visibility:initial}.book-menu .book-menu-content{transform:translateX(var(--menu-width));box-shadow:0 0 var(--space-8)rgba(0,0,0,.1)}.book-header, .book-toc, .book-page{opacity:.25}.book-menu-overlay{display:block;position:fixed;inset:0}}body:has(#toc-control:checked) .book-toc{display:block}body[dir=rtl]:has(#menu-control:checked){.book-menu .book-menu-content{transform:translateX(calc(-1 * var(--menu-width)))}}}@media screen and (min-width:85rem){.book-container{gap:var(--space-16);padding:var(--space-16)}.book-menu .book-menu-content,.book-toc .book-toc-content{padding-top:calc(var(--space-16) * 2)}}.markdown{line-height:1.6;>:first-child, >section:first-child :first-child{margin-top:0}h1, h2, h3, h4, h5, h6{font-weight:inherit;line-height:1.2;margin-top:1.5em;margin-bottom:var(--space-16);a.anchor{opacity:0;font-size:.75em;margin-inline-start:.25em;&::after{content:'#'}}&:hover a.anchor, a.anchor:focus-visible{opacity:initial;text-decoration:none}}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}b, optgroup, strong{font-weight:bolder}a{text-decoration:none;&[href]:hover{text-decoration:underline}&[href]:visited{color:var(--color-visited-link)}}img{max-width:100%;height:auto}code{direction:ltr;unicode-bidi:embed;padding:.125em .25em;background:var(--gray-100);border:var(--space-1)solid var(--gray-200);border-radius:var(--border-radius);font-size:.875em}pre{padding:var(--space-16);background:var(--gray-100);border:var(--space-1)solid var(--gray-200);border-radius:var(--border-radius);overflow-x:auto;&:focus{outline-style:auto;outline-color:var(--color-link)}code{padding:0;border:0;background:0 0}}p{word-wrap:break-word}blockquote{margin:var(--space-16)0;padding:var(--space-8)var(--space-16);border-radius:var(--border-radius);position:relative;&:before{border-radius:var(--border-radius);content:"";position:absolute;top:0;bottom:0;left:0;width:var(--space-4);background:var(--gray-500)} :first-child { margin-top: 0; } :last-child { margin-bottom: 0; }}table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:var(--space-16);margin-bottom:var(--space-16);tr th, tr td{padding:var(--space-8)var(--space-16);border:var(--space-1)solid var(--gray-200);text-align:start}}hr{height:var(--space-1);border:none;background:var(--gray-200)}ul, ol{padding-inline-start:calc(var(--space-16) * 2);word-wrap:break-word}dl{dt{font-weight:bolder;margin-top:var(--space-16)}dd{margin-inline-start:0;margin-bottom:var(--space-16)}}.highlight{direction:ltr;unicode-bidi:embed;border-radius:var(--border-radius);table tbody{border:var(--space-1)solid var(--gray-200)}table tr{pre{border:0}td pre code > span{display:flex}td:nth-child(1) pre{margin:0;padding-inline-end:0}td:nth-child(2) pre{margin:0;padding-inline-start:0}}}details{padding:var(--space-16);margin:var(--space-16)0;border:var(--space-1)solid var(--gray-200);border-radius:var(--border-radius);summary{line-height:1;padding:var(--space-16);margin:calc(-1 * var(--space-16));cursor:pointer;list-style:none;&::before{content:"›";display:inline-block;margin-inline-end:var(--space-8);transition:transform .1s ease-in-out}}&[open] summary{margin-bottom:0;&::before{transform:rotate(90deg)}}}figure{margin:var(--space-16)0;figcaption{margin-top:var(--space-16)}}}.markdown-inner>:first-child,.markdown .book-steps>ol>li>:first-child,.markdown figure figcaption>:first-child{margin-top:0}.markdown-inner>:last-child,.markdown .book-steps>ol>li>:last-child,.markdown figure figcaption>:last-child{margin-bottom:0}.markdown{.book-tabs{margin:var(--space-16)0;padding:0;border:var(--space-1)solid var(--gray-200);border-radius:var(--border-radius);display:flex;flex-wrap:wrap;label{display:inline-block;padding:var(--space-8)var(--space-16);border-bottom:var(--space-1)solid transparent;cursor:pointer}.book-tabs-content{order:999;width:100%;border-top:var(--space-1)solid var(--gray-100);padding:var(--space-16);display:none}input[type=radio]:checked+label{border-bottom:var(--space-1)solid var(--color-link)}input[type=radio]:checked+label+.book-tabs-content{display:block}}.book-columns{gap:var(--space-16);>div{margin:var(--space-16)0;min-width:calc(var(--body-min-width) * .66)}>ul{list-style:none;display:flex;padding:0;flex-wrap:wrap;gap:var(--space-16);>li{flex:1 1;min-width:calc(var(--body-min-width) * .66)}}}a.book-btn[href]{display:inline-block;font-size:var(--font-size-smaller);color:var(--color-link);line-height:calc(var(--space-16) * 2);padding:0 var(--space-16);border:var(--space-1)solid var(--color-link);border-radius:var(--border-radius);cursor:pointer;&:hover{text-decoration:none}}.book-hint{&.note{--accent-color:var(--color-accent-note)}&.tip{--accent-color:var(--color-accent-tip)}&.important{--accent-color:var(--color-accent-important)}&.warning{--accent-color:var(--color-accent-warning)}&.caution{--accent-color:var(--color-accent-caution)}&.default{--accent-color:var(--color-accent-default)}&.info{--accent-color:var(--color-accent-info)}&.success{--accent-color:var(--color-accent-success)}&.danger{--accent-color:var(--color-accent-danger)}background-color:color-mix(in srgb,var(--accent-color) 10%,transparent);&::before{background-color:var(--accent-color)}}.book-badge{&.note{--accent-color:var(--color-accent-note)}&.tip{--accent-color:var(--color-accent-tip)}&.important{--accent-color:var(--color-accent-important)}&.warning{--accent-color:var(--color-accent-warning)}&.caution{--accent-color:var(--color-accent-caution)}&.default{--accent-color:var(--color-accent-default)}&.info{--accent-color:var(--color-accent-info)}&.success{--accent-color:var(--color-accent-success)}&.danger{--accent-color:var(--color-accent-danger)}display:inline-block;font-size:var(--font-size-smaller);font-weight:var(--body-font-weight);vertical-align:middle;border-radius:var(--border-radius);border:var(--space-1)solid var(--accent-color);overflow:hidden;text-wrap:nowrap;color:var(--body-font-color);span{display:inline-block;padding:0 var(--space-8)}span.book-badge-value{color:var(--body-background);background-color:var(--accent-color)}}.book-steps{position:relative;>ol{counter-reset:steps;list-style:none;padding-inline-start:calc(var(--space-16) + var(--space-4));margin-top:calc(var(--space-16) * 2);>li::before{content:counter(steps);counter-increment:steps;position:absolute;left:var(--space-8);display:flex;justify-content:center;align-items:center;white-space:nowrap;height:calc(var(--space-16) * 1.5);width:calc(var(--space-16) * 1.5);line-height:var(--space-16);border-radius:var(--border-radius);background:var(--body-background);border:var(--space-1)solid var(--gray-500);outline:var(--space-4)solid var(--body-background)}>li{border-inline-start:var(--space-1)dotted var(--gray-500);padding-inline-start:calc(var(--space-16) * 3);padding-bottom:calc(var(--space-16) * 2)}>li:last-child{border:0}}}.book-image{input + img{border:var(--space-1)solid var(--gray-200);cursor:zoom-in}input:checked + img{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--body-background);object-fit:contain;width:100%;height:100%;z-index:1;cursor:zoom-out;padding:var(--space-16)}}.book-asciinema{margin:var(--space-16)0}.book-codeblock-filename{display:block;padding:var(--space-4)var(--space-8);border-bottom:0;font-size:var(--font-size-smallest);border-radius:var(--border-radius)var(--border-radius)0 0;a{color:var(--body-font-color)}+ .highlight pre{margin-top:0;border-start-start-radius:0;border-start-end-radius:0}}}@media print{.book-menu,.book-footer,.book-toc{display:none}a::after{content:attr(href);margin:0 var(--space-4)}main{display:block!important}}@layer theme{:root{color-scheme:light;--body-background-tint:none;--icon-filter:none;--color-accent-info:var(--color-accent-note);--color-accent-success:var(--color-accent-tip);--color-accent-danger:var(--color-accent-caution)}:root[data-theme$=dark]{color-scheme:dark}:root[data-theme$=auto]{color-scheme:light dark}:root,:root[data-theme=light],:root[data-theme=auto]{--body-background:white;--body-font-color:black;--color-link:#0055bb;--color-visited-link:#5500bb;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-accent-default:#64748b;--color-accent-note:#4486dd;--color-accent-tip:#3bad3b;--color-accent-important:#8144dd;--color-accent-warning:#f59e42;--color-accent-caution:#d84747}:root[data-theme=dark]{--body-background:#2e3440;--body-font-color:#eceff4;--icon-filter:brightness(0) invert(1);--color-link:#81a1c1;--color-visited-link:#b48ead;--gray-100:#3b4252;--gray-200:#434c5e;--gray-500:#d8dee9;--color-accent-default:#81a1c1;--color-accent-note:#5e81ac;--color-accent-tip:#a3be8c;--color-accent-important:#b48ead;--color-accent-warning:#d08770;--color-accent-caution:#bf616a}@media(prefers-color-scheme:dark){:root[data-theme=auto]{--body-background:#2e3440;--body-font-color:#eceff4;--icon-filter:brightness(0) invert(1);--color-link:#81a1c1;--color-visited-link:#b48ead;--gray-100:#3b4252;--gray-200:#434c5e;--gray-500:#d8dee9;--color-accent-default:#81a1c1;--color-accent-note:#5e81ac;--color-accent-tip:#a3be8c;--color-accent-important:#b48ead;--color-accent-warning:#d08770;--color-accent-caution:#bf616a}}:root[data-theme=contrast-light],:root[data-theme=contrast-auto]{--body-background:#ffffff;--body-font-color:#000000;--color-link:#0055ee;--color-visited-link:#551a8b;--gray-100:#f0f0f0;--gray-200:#d0d0d0;--gray-500:#707070;--color-accent-default:#000000;--color-accent-note:#0066cc;--color-accent-tip:#008000;--color-accent-important:#800080;--color-accent-warning:#ff8c00;--color-accent-caution:#cc0000}:root[data-theme=contrast-dark]{--body-background:#000000;--body-font-color:#ffffff;--icon-filter:brightness(0) invert(1);--color-link:#00ffff;--color-visited-link:#ff00ff;--gray-100:#1a1a1a;--gray-200:#333333;--gray-500:#a0a0a0;--color-accent-default:#ffffff;--color-accent-note:#00ccff;--color-accent-tip:#00ff00;--color-accent-important:#ff00ff;--color-accent-warning:#ffaa00;--color-accent-caution:#ff0000}@media(prefers-color-scheme:dark){:root[data-theme=contrast-auto]{--body-background:#000000;--body-font-color:#ffffff;--icon-filter:brightness(0) invert(1);--color-link:#00ffff;--color-visited-link:#ff00ff;--gray-100:#1a1a1a;--gray-200:#333333;--gray-500:#a0a0a0;--color-accent-default:#ffffff;--color-accent-note:#00ccff;--color-accent-tip:#00ff00;--color-accent-important:#ff00ff;--color-accent-warning:#ffaa00;--color-accent-caution:#ff0000}}:root[data-theme=catppuccin-light],:root[data-theme=catppuccin-auto]{--body-background:#eff1f5;--body-font-color:#4c4f69;--color-link:#dd7878;--color-visited-link:#dc8a78;--gray-100:#e6e9ef;--gray-200:#ccd0da;--gray-500:#9ca0b0;--color-accent-default:#7c7f93;--color-accent-note:#04a5e5;--color-accent-tip:#40a02b;--color-accent-important:#7287fd;--color-accent-warning:#df8e1d;--color-accent-caution:#d20f39}:root[data-theme=catppuccin-dark]{--body-background:#303446;--body-font-color:#c6d0f5;--icon-filter:brightness(0) invert(1);--color-link:#eebebe;--color-visited-link:#f2d5cf;--gray-100:#414559;--gray-200:#51576d;--gray-500:#737994;--color-accent-default:#838ba4;--color-accent-note:#8caaee;--color-accent-tip:#a6d189;--color-accent-important:#ca9ee6;--color-accent-warning:#ef9f76;--color-accent-caution:#e78284}@media(prefers-color-scheme:dark){:root[data-theme=catppuccin-auto]{--body-background:#303446;--body-font-color:#c6d0f5;--icon-filter:brightness(0) invert(1);--color-link:#eebebe;--color-visited-link:#f2d5cf;--gray-100:#414559;--gray-200:#51576d;--gray-500:#737994;--color-accent-default:#838ba4;--color-accent-note:#8caaee;--color-accent-tip:#a6d189;--color-accent-important:#ca9ee6;--color-accent-warning:#ef9f76;--color-accent-caution:#e78284}}:root[data-theme=ayu-light],:root[data-theme=ayu-auto]{--body-background:#fafafa;--body-font-color:#575f66;--color-link:#0870c4;--color-visited-link:#7339a8;--gray-100:#f3f4f5;--gray-200:#e7e8e9;--gray-500:#abb0b6;--color-accent-default:#8a9199;--color-accent-note:#399ee6;--color-accent-tip:#86b300;--color-accent-important:#a37acc;--color-accent-warning:#fa8d3e;--color-accent-caution:#f07171}:root[data-theme=ayu-dark]{--body-background:#1f2430;--body-font-color:#cbccc6;--icon-filter:brightness(0) invert(1);--color-link:#5ccfe6;--color-visited-link:#d4bfff;--gray-100:#242936;--gray-200:#2d3443;--gray-500:#5c6773;--color-accent-default:#5c6773;--color-accent-note:#5ccfe6;--color-accent-tip:#bae67e;--color-accent-important:#d4bfff;--color-accent-warning:#ffa759;--color-accent-caution:#f28779}@media(prefers-color-scheme:dark){:root[data-theme=ayu-auto]{--body-background:#1f2430;--body-font-color:#cbccc6;--icon-filter:brightness(0) invert(1);--color-link:#5ccfe6;--color-visited-link:#d4bfff;--gray-100:#242936;--gray-200:#2d3443;--gray-500:#5c6773;--color-accent-default:#5c6773;--color-accent-note:#5ccfe6;--color-accent-tip:#bae67e;--color-accent-important:#d4bfff;--color-accent-warning:#ffa759;--color-accent-caution:#f28779}}}:root,:root[data-theme=light],:root[data-theme=auto]{--border-radius:0;--menu-width:16.4rem;--color-link:#f04f2f;--color-link-hover:#c83f24;--color-visited-link:#f04f2f;--color-link-glow:rgb(255 112 72 / 32%);--color-link-shadow:rgb(255 112 72 / 22%);--color-button-text:#202429;--body-background:#fff;--body-font-color:#000;--body-header-background:rgba(250, 251, 252, 0.8);--gray-97:#fafbfc;--gray-95:#f5f8fa;--gray-90:#edf2f5;--gray-85:#e6eaed;--gray-80:#c7ced2;--gray-60:#9a9a9a;--gray-50:#808080;--gray-30:#515151;--gray-100:#f5f8fa;--gray-200:#e6eaed;--gray-500:#808080;--icon-filter:brightness(0);--home-surface:#f5f8fa;--home-surface-hover:#ffffff;--button-hover-background:#fbfcfd}:root[data-theme=dark]{--border-radius:0;--menu-width:16.4rem;--color-link:#ff7048;--color-link-hover:#ffad8f;--color-visited-link:#ff7048;--color-link-glow:rgb(255 173 143 / 36%);--color-link-shadow:rgb(255 173 143 / 24%);--color-button-text:#202429;--body-background:#202429;--body-font-color:#e9ecef;--body-header-background:rgba(31, 35, 39, 0.8);--gray-97:rgba(255, 255, 255, 0.02);--gray-95:rgba(255, 255, 255, 0.04);--gray-90:rgba(255, 255, 255, 0.08);--gray-85:rgba(255, 255, 255, 0.2);--gray-80:rgba(255, 255, 255, 0.3);--gray-60:#808080;--gray-50:#969899;--gray-30:#c3c5c7;--gray-100:rgba(255, 255, 255, 0.04);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:#969899;--icon-filter:brightness(0) invert(0.93);--home-surface:#292d31;--home-surface-hover:#353b42;--button-hover-background:#353b42}@media(prefers-color-scheme:dark){:root[data-theme=auto]{--body-background:#202429;--body-font-color:#e9ecef;--body-header-background:rgba(31, 35, 39, 0.8);--color-link:#ff7048;--color-link-hover:#ffad8f;--color-visited-link:#ff7048;--color-link-glow:rgb(255 173 143 / 36%);--color-link-shadow:rgb(255 173 143 / 24%);--color-button-text:#202429;--gray-97:rgba(255, 255, 255, 0.02);--gray-95:rgba(255, 255, 255, 0.04);--gray-90:rgba(255, 255, 255, 0.08);--gray-85:rgba(255, 255, 255, 0.2);--gray-80:rgba(255, 255, 255, 0.3);--gray-60:#808080;--gray-50:#969899;--gray-30:#c3c5c7;--gray-100:rgba(255, 255, 255, 0.04);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:#969899;--icon-filter:brightness(0) invert(0.93);--home-surface:#292d31;--home-surface-hover:#353b42;--button-hover-background:#353b42}}body{background:var(--body-background);color:var(--body-font-color)}body.book-kind-section.book-type-posts .book-footer{display:none}body.book-layout-xrazor .book-footer,body.book-layout-color-picker .book-footer{display:none}.book-container{justify-content:space-between}.book-page,.book-toc{margin-inline-start:0;margin-inline-end:0}.book-page:last-child,.book-toc:last-child{margin-inline-end:0}a[href],a[role=button]{color:var(--color-link)}button,input[type=button],input[type=submit],.button-secondary{border:1px solid transparent;border-radius:var(--border-radius);background:var(--home-surface);color:var(--body-font-color);cursor:pointer;font:inherit;line-height:1.4;padding:.18rem .5rem}button:hover,button:focus-visible,input[type=button]:hover,input[type=button]:focus-visible,input[type=submit]:hover,input[type=submit]:focus-visible,.button-secondary:hover,.button-secondary:focus-visible{background:var(--button-hover-background);border-color:var(--gray-80);color:var(--body-font-color);opacity:1;outline:none}.button-primary,.book-btn[href],a.book-btn[href]{border:1px solid var(--color-link);border-radius:var(--border-radius);background:var(--color-link);color:var(--color-button-text);cursor:pointer;font:inherit;line-height:1.4;padding:.18rem .5rem}.button-primary:hover,.button-primary:focus-visible,.book-btn[href]:hover,.book-btn[href]:focus-visible,a.book-btn[href]:hover,a.book-btn[href]:focus-visible{background:var(--color-link-hover);border-color:var(--color-link-hover);color:var(--color-button-text);opacity:1;outline:none}.book-menu .book-menu-content{background:var(--body-background);border-inline-end:1px solid var(--gray-90);padding:2rem 1.4rem 2rem 1rem!important}.book-menu a,.book-menu label{color:inherit;cursor:pointer}.book-menu nav ul a:hover,.book-menu nav ul a:focus-visible{color:inherit;opacity:1}.book-menu nav ul{padding:0;margin:0;list-style:none}.book-menu nav ul li{position:relative;margin:1em 0}.book-menu nav ul a{display:block;padding:0}.book-menu .book-content-tree{margin-bottom:2em;color:var(--gray-30)}.book-menu .book-content-single{margin-bottom:2em}.book-menu .book-content-tree ul{padding-inline-start:1rem}.book-menu .book-section-flat>ul{padding-inline-start:0}.book-menu .book-section-flat{margin:0}.book-menu .book-menu-content>a,.book-menu .book-menu-content>span,.book-menu .book-menu-content>label,.book-menu .book-section-nested>a,.book-menu .book-section-nested>span,.book-menu .book-section-nested>label,.book-menu .book-section-flat>a,.book-menu .book-section-flat>span,.book-menu .book-section-flat>label,.book-menu .book-section-flat>label>a{font-weight:bolder}.book-menu .book-section-nested>span,.book-menu .book-section-nested>label{color:var(--body-font-color)}.book-menu a.active{color:var(--body-font-color);opacity:.6;background:var(--gray-95);padding:.5rem}.book-brand{margin-top:0;margin-bottom:1rem;font-weight:700}.book-brand .book-logo-default{width:1.5em;height:1.5em;flex:none;margin-inline-end:.5em;fill:currentColor}.book-search{margin:1rem 0;border-bottom:1px solid transparent}.book-search input{box-sizing:border-box;width:100%;padding:.5rem;border:3px solid var(--gray-85);border-radius:0;background:0 0;color:var(--body-font-color)}.book-search input:hover,.book-search input:focus{border-color:var(--gray-80);outline:none}.book-search input::placeholder{color:var(--gray-60)}.book-search #book-search-results{position:absolute;top:100%;inset-inline:0;z-index:100;max-height:18.4rem;overflow-y:auto;background:var(--body-background);border-radius:0;box-shadow:0 2px 5px rgb(0 0 0/.1)}.book-search #book-search-results li{padding:.5rem 1rem}.book-search #book-search-results li:hover{background:var(--gray-95)}.book-search #book-search-results a{display:block;color:var(--body-font-color)}.book-search #book-search-results mark{background:0 0;color:var(--color-link)}.book-header{color:var(--gray-30);background:var(--body-header-background);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}.book-header a{color:var(--gray-50)}.book-header a:hover{color:inherit;opacity:1}.book-footer{margin-top:4.5rem;padding:1rem;background:var(--gray-97);color:var(--gray-60)}.book-footer a{margin:0;padding:0;color:var(--gray-60)}.book-post.book-post-list{margin-bottom:1.5rem;padding:1.5rem;background:var(--gray-97)}.book-post-date{color:var(--gray-60)}@media screen and (max-width:56rem){.book-post.book-post-list{padding:1rem}}.book-menu-footer{color:var(--gray-80)}body:not(:has(.book-toc)) .book-page{max-width:69rem}.markdown{margin-top:2rem;line-height:2}.markdown>:first-child,.markdown>section:first-child :first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:700;line-height:1.4}.markdown h1{margin-bottom:2rem}.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin-bottom:1rem}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown a{text-decoration:none}.markdown a[href]:hover{color:var(--color-link-hover);opacity:1;text-decoration:none}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;margin-inline-start:.25em;font-size:.75em}.markdown h1:hover a.anchor,.markdown h2:hover a.anchor,.markdown h3:hover a.anchor,.markdown h4:hover a.anchor,.markdown h5:hover a.anchor,.markdown h6:hover a.anchor,.markdown a.anchor:focus-visible{opacity:1;text-decoration:none}.markdown code{padding:0 .25rem;border:0;border-radius:0;background:var(--gray-90)}.markdown pre{border:0;border-radius:0;background:var(--gray-95)}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:4px solid var(--gray-80);border-radius:0;background:var(--gray-97)}.markdown blockquote::before{display:none}.markdown table{display:block;width:100%;overflow-x:auto;border-spacing:0;border-collapse:collapse}.markdown table th,.markdown table td{padding:.5rem 1rem;border:0;text-align:start}.markdown table th{background:var(--gray-90)}.markdown table tr:nth-child(odd){background:var(--gray-95)}.markdown table tr:nth-child(even){background:0 0}.markdown hr{background:var(--gray-90)}.bookmark-table-wrapper{overflow-x:auto}.bookmark-table{width:100%}.bookmark-table thead{display:none}.bookmark-table th,.bookmark-table td{border:0!important}.bookmark-table tr:nth-child(odd){background:var(--gray-95)}.bookmark-table tr:nth-child(even){background:0 0}.bookmark-table tr td:first-child{width:3rem;padding:0 0 0 .5rem!important;text-align:center}.bookmark-table:not(.bookmark-table-apps) tr td:nth-child(2){width:40%;padding:.5rem .5rem .5rem .3rem}.bookmark-table:not(.bookmark-table-apps) tr td:nth-child(3){width:60%}.bookmark-table-apps tr td:nth-child(2){width:34%;padding:.5rem .5rem .5rem .3rem}.bookmark-table-apps tr td:nth-child(3){width:47%}.bookmark-table-apps tr td:nth-child(4){width:19%;min-width:3rem;padding:0 .5rem 0 0!important}.bookmark-table img,.bookmark-table .platform-icon{display:inline-block;width:22px;height:22px;max-width:22px;max-height:22px;object-fit:contain;vertical-align:middle}.platform-icon{display:inline-block;width:22px;height:22px;max-width:22px;max-height:22px;margin:.15rem .25rem .15rem 0;vertical-align:middle;fill:var(--body-font-color)}.bookmark-extra-link{white-space:nowrap}.platform-na{display:inline-block;margin-right:.25rem}.apps-legend{margin-bottom:1rem}.apps-legend-table{width:auto!important;min-width:18rem}.apps-legend-table th,.apps-legend-table td{min-width:5rem;padding:.5rem 1rem;border:0;text-align:center;vertical-align:middle}.apps-legend-table th:first-child,.apps-legend-table td:first-child{min-width:4rem}.apps-legend-table tr:nth-child(odd){background:var(--gray-95)}.apps-legend-table tr:nth-child(even){background:0 0}.apps-legend-table .platform-icon{margin:0}.fill-font-color{fill:var(--body-font-color)}.home-search-form{display:flex;gap:.5rem;margin-bottom:.75rem}.home-search-form input{box-sizing:border-box;flex:auto;width:100%;padding:.5rem;border:3px solid var(--gray-85);border-radius:0;background:0 0;color:var(--body-font-color)}.home-search-form input:focus{border-color:var(--gray-80);outline:none;transition:border-color 160ms ease}.home-search-script-link,.home-search-script-link:visited{display:inline-flex;flex:none;align-items:center;padding:.5rem .65rem;border:1px solid var(--gray-80);border-radius:0;color:var(--body-font-color);white-space:nowrap;text-decoration:none}.home-search-script-link:hover,.home-search-script-link:focus-visible{border-color:var(--color-link);color:var(--color-link);outline:none}.home-search-groups{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem}.home-search-links{display:grid;gap:.35rem}.home-search-link{position:relative;width:100%;padding:.18rem .5rem;border:1px solid transparent;border-radius:0;background:var(--home-surface);color:var(--search-color);cursor:pointer;font:inherit;text-align:start;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}.home-search-icon{display:inline-block;width:1.4em;margin-inline-end:.35em;text-align:center}.home-search-link:hover,.home-search-link:focus-visible{border-color:var(--search-color);background:var(--button-hover-background);color:var(--search-color);outline:none}.quick-dial-group h3{margin-bottom:.5rem}.quick-dial-row{position:relative;display:grid;grid-template-columns:4em minmax(0,1fr);gap:.35rem;align-items:start;margin:0;padding:.35rem .45rem;border:1px solid transparent;background:var(--home-surface);min-width:0;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}.quick-dial-label{font-weight:bolder;padding-top:.1rem}.quick-dial-links{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.25rem .35rem;min-width:0}.quick-dial-links a,.quick-dial-links a:visited{display:block;min-width:0;padding:.1rem .3rem;color:var(--color-link)!important;overflow:hidden;text-overflow:ellipsis;text-align:center;white-space:nowrap;transition:color 160ms ease}.quick-dial-links a:hover,.quick-dial-links a:focus-visible{color:var(--color-link-hover)!important;outline:none}.quick-dial-row:hover,.quick-dial-row:focus-within{border-color:var(--quick-dial-color,var(--color-link));background:var(--button-hover-background)}.quick-dial-more{margin-top:.5rem}.quick-dial-group{display:grid;gap:.4rem}.quick-dial-group+.quick-dial-group{margin-top:1.5rem}@keyframes home-neon-outline{0%,100%{border-color:transparent;box-shadow:none}35%{border-color:var(--intro-color);box-shadow:none}}.home-effects-intro .home-search-link::after,.home-effects-intro .quick-dial-row::after{position:absolute;inset:-1px;border:1px solid transparent;border-radius:inherit;content:"";pointer-events:none;animation:home-neon-outline 900ms ease-out var(--intro-delay,0ms)both}.home-effects-intro .home-search-link::after{--intro-color:var(--search-color)}.home-effects-intro .quick-dial-row::after{--intro-color:var(--quick-dial-color, var(--color-link))}@media(prefers-reduced-motion:reduce){.home-search-link,.quick-dial-row{animation:none}.home-effects-intro .home-search-link::after,.home-effects-intro .quick-dial-row::after{animation:none}.home-search-form input,.home-search-link,.quick-dial-row,.quick-dial-links a{transition:none}}@media screen and (max-width:72rem){.home-search-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-dial-links{grid-template-columns:repeat(5,minmax(0,1fr))}}@media screen and (max-width:48rem){.home-search-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-dial-row{grid-template-columns:4em minmax(0,1fr);gap:.4rem}.quick-dial-links{display:block}.quick-dial-links a,.quick-dial-links a:visited{display:inline-block;padding:.28rem .35rem;text-align:start;white-space:normal}}@media screen and (max-width:56rem){.home-search-groups,.home-search-links{display:block}.home-search-link{display:inline-block;width:auto;margin:.12rem .18rem .12rem 0;vertical-align:top}.quick-dial-row{display:block}.quick-dial-label{display:inline-block;margin-inline-end:.35rem;padding-top:.28rem;vertical-align:top}.quick-dial-links{display:inline;vertical-align:top}.quick-dial-links a,.quick-dial-links a:visited{display:inline-block;vertical-align:top}}@media screen and (max-width:32rem){.home-search-form{display:grid;grid-template-columns:minmax(0,1fr)auto}.home-search-script-link{padding-inline:.5rem}}@media screen and (max-width:56rem) and (prefers-color-scheme:dark){:root[data-theme=auto] .book-toc{background-color:rgb(32 36 41/94%)}}@media screen and (min-width:85rem){.book-container{gap:0;padding:0}}@media screen and (min-width:56rem){.book-page{padding:2rem 1rem}}.book-toc-close{display:none}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu,.book-menu .book-menu-content,.book-menu nav,.book-menu nav ul,.book-menu nav li{box-sizing:border-box;min-width:0;max-width:var(--menu-width)}.book-menu .book-menu-content{width:var(--menu-width);overflow-x:hidden}.book-menu nav a{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-menu nav label{min-width:0;max-width:100%}.book-menu nav label>a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (max-width:56rem){.book-header{position:fixed;inset:0 0 auto;display:flex;align-items:center;z-index:100;box-sizing:border-box;height:60px;padding:0 1rem!important}.book-header-bar{display:grid;grid-template-columns:44px minmax(0,1fr)44px;align-items:center;height:44px;min-height:44px;width:100%}.book-header-bar>label,.book-header-bar>button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;background:0 0;color:inherit;line-height:1;cursor:pointer}.book-header-bar>label .book-icon{display:block;width:1.5rem;height:1.5rem}.book-header-bar>.book-header-toc .book-icon{width:1.8rem;height:1.8rem}.book-header-menu{appearance:none}.book-header-menu .book-logo-default{display:block;width:1.8rem;height:1.8rem}.book-header-title{display:flex;align-items:center;justify-content:center;height:44px;max-width:100%;overflow:hidden;color:var(--body-font-color);font-size:1rem;font-weight:700;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity 160ms ease;pointer-events:none}body.page-title-visible .book-header-title{opacity:1}.book-page{padding-top:4.5rem}.mobile-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:200;background-color:rgb(0 0 0/45%)}body.menu-open .book-menu{visibility:visible;z-index:210}body.menu-open .book-menu .book-menu-content{transform:translateX(var(--menu-width))}.mobile-toc-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:200;background:0 0}.book-menu{font-size:1rem}.book-menu .book-menu-content{padding:1.5rem 1.25rem 1.5rem 1rem!important}.book-menu nav ul li{margin:1.15em 0}body.toc-open .book-toc{display:block!important}.book-toc{position:fixed;inset:0 0 auto;z-index:310;box-sizing:border-box;height:50vh;height:min(50dvh,28rem);max-height:28rem;overflow:hidden;border:0;border-bottom:1px solid var(--gray-80);background-color:rgb(255 255 255/82%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.book-toc .book-toc-content{position:absolute;inset:0;box-sizing:border-box;width:auto;height:auto;min-height:0;max-height:none;padding:3.5rem 1.25rem 1rem!important;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;font-size:1rem}.book-toc-close{position:fixed;top:8px;right:1rem;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;border:0;padding:0;background:0 0;color:var(--body-font-color);cursor:pointer;font-size:1.75rem;line-height:1}.book-toc nav ul{margin:0}.book-toc nav li{margin:0}.book-toc nav a{display:block;padding:.65rem .25rem;line-height:1.5}}@media screen and (max-width:56rem) and (prefers-color-scheme:dark){:root[data-theme=auto] .book-toc{background-color:rgb(32 36 41/84%)}}@media screen and (max-width:56rem){:root[data-theme=dark] .book-toc{background-color:rgb(32 36 41/84%)}}.bookmarks-menu-host{position:static!important;margin:1em 0!important;padding:0!important}.sb-bookmarks,.sb-bookmarks *{box-sizing:border-box}.sb-bookmarks{position:relative;z-index:1000;color:var(--body-font-color);font:var(--body-font-weight)var(--font-size-smaller)/1.4 system-ui,sans-serif}.sb-bookmarks button,.sb-bookmarks a,.sb-bookmarks ul,.sb-bookmarks li{margin:0;border:0;border-radius:0;padding:0;background:0 0;color:inherit;font:inherit;list-style:none;text-decoration:none}.sb-bookmarks a,.sb-bookmarks a[href],.sb-bookmarks a:visited{color:var(--body-font-color)!important}.sb-bookmarks ul:not(.sb-bookmarks-column){display:block;width:auto;margin:0!important;padding:0!important;list-style:none!important}.sb-bookmarks li{display:block;width:auto;margin:0!important;padding:0!important;list-style:none!important}.sb-bookmarks li::marker{content:""}.sb-bookmarks button,.sb-bookmarks a{cursor:pointer}.sb-bookmarks-trigger{display:block;width:100%;min-height:0;padding:0!important;font-weight:700!important;text-align:left}.sb-bookmarks-trigger:focus-visible{color:inherit;outline:none}.sb-bookmarks-popover{position:fixed;z-index:1200;width:min(38rem,calc(100vw - 1rem));overflow:hidden;border:1px solid var(--gray-80);background:var(--body-background);box-shadow:3px 3px rgb(0 0 0/18%)}.sb-bookmarks-popover[hidden],.sb-bookmarks-backdrop[hidden],.sb-bookmarks-column [hidden]{display:none!important}.sb-bookmarks-backdrop{display:none}.sb-bookmarks-grid{display:grid;grid-template-columns:minmax(5.5rem,.55fr)minmax(8.5rem,.8fr)minmax(18rem,1.8fr);max-height:calc(100vh - 1rem)}.sb-bookmarks-column{min-width:0;max-height:calc(100vh - 1rem);overflow-y:auto;border-inline-end:1px solid var(--gray-90);padding:.25rem}.sb-bookmarks ul.sb-bookmarks-column{padding:.25rem!important;border-inline-end:1px solid var(--gray-90)!important}.sb-bookmarks-column:last-child{border-inline-end:0}.sb-bookmarks-row{display:block!important;width:100%!important;max-width:none!important;min-height:2.25rem;padding:.45rem .65rem!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}.sb-bookmarks-row:hover,.sb-bookmarks-row:focus-visible,.sb-bookmarks-row.is-active{background:var(--gray-95);color:inherit;outline:none}.sb-bookmarks-item{display:flex!important;align-items:flex-start;gap:.5rem;min-height:2.75rem;padding:.45rem .65rem!important}.sb-bookmarks-item:hover,.sb-bookmarks-item:focus-visible,.sb-bookmarks-extra a:hover,.sb-bookmarks-extra a:focus-visible{background:var(--gray-95);outline:none}.sb-bookmarks-item img{flex:none;width:22px;height:22px;object-fit:contain}.sb-bookmarks-item-copy{display:flex;min-width:0;flex-direction:column;gap:.15rem}.sb-bookmarks-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-bookmarks-item-copy small{overflow:hidden;color:var(--gray-50);font-size:.8em;text-overflow:ellipsis;white-space:nowrap}.sb-bookmarks-extra{display:flex;flex-wrap:wrap;gap:.25rem .65rem;margin:-.25rem 0 .35rem 2.2rem}.sb-bookmarks-extra a{padding:.25rem 0!important;color:var(--body-font-color)!important;font-size:.82em}.sb-bookmarks-mobile-bar{display:none}.sb-bookmarks-close{display:none}body.sb-bookmarks-open{overflow:hidden}@media screen and (max-width:56rem){.sb-bookmarks{font-size:1rem}.sb-bookmarks-backdrop{display:block;position:fixed;z-index:1190;inset:0;background:rgb(0 0 0/45%)}.sb-bookmarks-popover{position:fixed!important;inset:0;width:100vw;height:100dvh;max-height:none;overflow:auto;border:0;box-shadow:none}.sb-bookmarks-mobile-bar{display:flex;align-items:stretch;position:sticky;top:0;z-index:1;height:3rem;min-height:3rem;border:0;border-bottom:1px solid var(--gray-90)!important;background:var(--body-background)}.sb-bookmarks-back:not([hidden]),.sb-bookmarks-close{display:flex!important;align-items:center;justify-content:center;width:auto!important;height:3rem!important;min-height:3rem!important;margin:0!important;border:0!important;border-bottom:0!important;padding:0 1rem!important;background:0 0!important;color:inherit!important;line-height:1!important;text-decoration:none!important}.sb-bookmarks-control-icon{display:block;width:1.25rem;height:1.25rem;filter:var(--icon-filter)}.sb-bookmarks-close-icon{display:block;font-size:1.75rem;font-weight:400;line-height:1}.sb-bookmarks-back:not([hidden]){position:absolute;top:0;left:0}.sb-bookmarks-close{position:absolute;top:0;right:0}.sb-bookmarks-grid{display:block;min-height:calc(100dvh - 3rem);max-height:none}.sb-bookmarks-column{display:none;min-height:calc(100dvh - 3rem);max-height:none;overflow:visible;border:0;padding:.25rem 0}.sb-bookmarks ul.sb-bookmarks-column{padding:.25rem 0!important;border-inline-end:0!important}.sb-bookmarks-column.is-mobile-active{display:block}.sb-bookmarks-item{min-height:3rem;padding-block:.65rem!important}}