*,::after,::before{box-sizing:inherit;padding:0;margin:0}:where(:root){line-height:1.15;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif}:where(main){display:block}:where(h1){font-size:2em;margin:.67em 0}:where(p+p){margin-top:1rem}:where(a){background-color:initial}:where(abbr[title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(code,kbd,samp,pre){font-family:monospace,monospace;font-size:1em}:where(sub,sup){font-size:75%;line-height:0;position:relative;vertical-align:baseline}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(button,input,optgroup,select,textarea){line-height:inherit;border:1px solid}:where(button){overflow:visible;text-transform:none}:where(button,[type=button],[type=reset],[type=submit]){-webkit-appearance:button;padding:1px 6px}:where(input){overflow:visible}:where(input,textarea){padding:1px}:where(fieldset){border:1px solid;margin:0 2px}:where(legend){color:inherit;display:table;max-width:100%;white-space:normal}:where(progress){display:inline-block;vertical-align:baseline}:where(select){text-transform:none}:where(textarea){overflow:auto;vertical-align:top}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where([type=color]){background:inherit}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.5}::-webkit-file-upload-button,::-webkit-search-decoration{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}:where(hr){box-sizing:content-box;height:0;color:inherit;overflow:visible}:where(dl,ol,ul){margin:1em 0}:where(ol ol,ol ul,ol dl,ul ol,ul ul,ul dl,dl ol,dl ul,dl dl){margin:0}:where(b,strong){font-weight:bolder}:where(audio,video){display:inline-block}:where(audio):not([controls]){display:none;height:0}:where(img){border:0}:where(svg):not(:root){overflow:hidden}:where(table){text-indent:0;border-color:inherit}:where(details){display:block}:where(dialog){background-color:inherit;border:solid;color:inherit;display:block;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:fit-content}:where(dialog):not([open]){display:none}:where(summary){display:list-item}:where(canvas){display:inline-block}:where(template){display:none}:where([hidden]){display:none}@import 'https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap';@font-face{font-family:latin modern roman;src:url(/fonts/lmroman10-regular.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:latin modern roman;src:url(/fonts/lmroman10-italic.woff2)format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:latin modern roman;src:url(/fonts/lmroman10-bold.woff2)format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:latin modern roman;src:url(/fonts/lmroman10-bolditalic.woff2)format('woff2');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:latin modern roman caps;src:url(/fonts/lmromancaps10-regular.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:latin modern roman caps;src:url(/fonts/lmromancaps10-oblique.woff2)format('woff2');font-weight:400;font-style:oblique;font-display:swap}h1,h2,h3,h4,h5,h6{font-family:var(--font);font-weight:700;line-height:1.5;color:inherit}h1{font-size:2.5rem;margin:1em 0}h2{font-size:2.2rem;margin:1em 0}h3{font-size:1.9rem;margin:1em 0}h4{font-size:1.6rem;margin:1em 0}h5{font-size:1.3rem;margin:1em 0}h6{font-size:1rem;font-weight:400;font-style:italic;margin:1em 0;color:var(--fg-muted)}.content>h1:first-child{margin-top:0}h1+h2{margin-top:1em}h2+h3,h3+h4,h4+h5{margin-top:.75em}h5+h6{margin-top:.5em}p{margin:0}strong,b{font-weight:700}em,i{font-style:italic}small{font-size:.875em}mark{padding:.1em .2em;color:inherit;border-radius:2px;background:var(--selection)}del{text-decoration:line-through;color:var(--fg-muted)}ins{text-decoration:underline;text-decoration-color:var(--accent)}abbr[title]{cursor:help;text-decoration:underline dotted}sub,sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}blockquote{font-style:italic;margin:1.5em 0;padding:.25em 0 .25em 1.25em;color:var(--fg-muted);border-left:3px solid var(--accent)}blockquote>*+*{margin-top:.75em}blockquote blockquote{margin:.75em 0}blockquote cite,blockquote footer{font-size:.9em;font-style:normal;display:block;margin-top:.75em;color:var(--fg-dim)}code,kbd,samp{font-family:var(--font-mono);font-size:.875em;hyphens:none}:not(pre)>code{padding:.15em .35em;border:1px solid var(--border);border-radius:3px;background:var(--bg-elevated)}kbd{font-size:.8em;padding:.15em .4em;border:1px solid var(--border);border-radius:3px;background:var(--bg-elevated);box-shadow:0 1px 0 var(--border)}pre{font-family:var(--font-mono);font-size:.85rem;line-height:1.5;overflow-x:auto;padding:1rem 1.25rem;tab-size:4;hyphens:none;border:1px solid var(--border);background:var(--bg-elevated)}pre code{font-size:inherit;padding:0;border:none;background:0 0}ul,ol{padding-left:1.5em}li+li{margin-top:.35em}li>ul,li>ol{margin-top:.35em}dl{margin:0}dt{font-weight:700}dd{margin:.25em 0 .75em 1.5em}dd+dt{margin-top:1em}hr{margin:2em 0;border:none;border-top:1px solid var(--border)}.content{--table-border-width-thin:1px;--table-border-width-thick:2px}.content table:not(.borders-custom){font-size:.925em;line-height:1.35;width:auto;max-width:100%;border-collapse:collapse;border-spacing:0;border-top:var(--table-border-width-thick)solid var(--border);border-bottom:var(--table-border-width-thick)solid var(--border);counter-increment:caption}.content table:not(.borders-custom) tr>th[scope=col]{border-bottom:var(--table-border-width-thin)solid var(--border)}.content table:not(.borders-custom) tr>th[scope=row]{border-right:var(--table-border-width-thin)solid var(--border)}.content table:not(.borders-custom)>tbody>tr:first-child>td,.content table:not(.borders-custom)>tbody>tr:first-child>th{border-top:var(--table-border-width-thin)solid var(--border)}.content table:not(.borders-custom)>tbody>tr:last-child>td,.content table:not(.borders-custom)>tbody>tr:last-child>th{border-bottom:var(--table-border-width-thin)solid var(--border)}.content th,.content td{padding:.5rem .75rem;text-align:left;vertical-align:top}.content th{font-weight:700}.content caption{font-family:var(--font-mono);font-size:.8rem;text-align:left;padding:0 .25rem .35rem;caption-side:top}.content caption::before{content:"Table " counter(caption)". ";font-weight:700}.content .scroll-wrapper{overflow-x:auto;margin:1.25rem 0}.content .scroll-wrapper>table{margin:0}.content .scroll-wrapper>table td,.content .scroll-wrapper>table th{white-space:nowrap}.content table.borders-custom{font-size:.925em;line-height:1.35;width:auto;max-width:100%;border-collapse:collapse;border-spacing:0;counter-increment:caption}.content .border-top-thick{border-top:var(--table-border-width-thick)solid var(--border)}.content .border-right-thick{border-right:var(--table-border-width-thick)solid var(--border)}.content .border-bottom-thick{border-bottom:var(--table-border-width-thick)solid var(--border)}.content .border-left-thick{border-left:var(--table-border-width-thick)solid var(--border)}.content .border-top-thin{border-top:var(--table-border-width-thin)solid var(--border)}.content .border-right-thin{border-right:var(--table-border-width-thin)solid var(--border)}.content .border-bottom-thin{border-bottom:var(--table-border-width-thin)solid var(--border)}.content .border-left-thin{border-left:var(--table-border-width-thin)solid var(--border)}.content .col-1-l tr>:nth-child(1),.content .col-2-l tr>:nth-child(2),.content .col-3-l tr>:nth-child(3),.content .col-4-l tr>:nth-child(4){text-align:left}.content .col-1-c tr>:nth-child(1),.content .col-2-c tr>:nth-child(2),.content .col-3-c tr>:nth-child(3),.content .col-4-c tr>:nth-child(4){text-align:center}.content .col-1-r tr>:nth-child(1),.content .col-2-r tr>:nth-child(2),.content .col-3-r tr>:nth-child(3),.content .col-4-r tr>:nth-child(4){text-align:right}img{display:block;max-width:100%;height:auto}.content figure{margin:1.5em 0;counter-increment:figcaption}.content figure img{margin:0 auto}.content figcaption{font-family:var(--font-mono);font-size:.8rem;line-height:1.4;margin-top:.5em;text-align:left;color:var(--fg-muted)}.content figcaption::before{content:"Figure " counter(figcaption)". ";font-weight:700}.content :is(h2,h3,h4,h5,h6){scroll-margin-top:5rem}.footnotes{font-size:.9em;margin-top:2.5em;padding-top:1em;color:var(--fg-muted);border-top:1px solid var(--border)}.footnotes ol{padding-left:1.25em}.footnote-ref{font-size:.75em;line-height:0;vertical-align:super}.katex{font-size:1.05em}.katex-display{overflow-x:auto;overflow-y:hidden;padding:.25rem 0}.mermaid{margin:1.5rem 0;text-align:center}.content{counter-reset:theorem definition caption figcaption}.theorem,.lemma{counter-increment:theorem;display:block;margin:1.25rem 0;font-style:italic}.theorem::before{content:"Theorem " counter(theorem)". ";font-weight:700;font-style:normal}.lemma::before{content:"Lemma " counter(theorem)". ";font-weight:700;font-style:normal}.definition{counter-increment:definition;display:block;margin:1.25rem 0}.definition::before{content:"Definition " counter(definition)". ";font-weight:700}.proof{display:block;margin:1.25rem 0;padding-right:1.5rem;position:relative}.proof::before{content:"Proof. ";font-style:italic}.proof::after{content:"∎";position:absolute;right:0;bottom:0;color:var(--fg-muted)}:root{--font:"Latin Modern Roman", "Computer Modern", "Times New Roman", serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--width:100%;--toc-width:220px;--gutter:1.25rem;--radius:6px;--transition:0.2s ease}:root[data-theme=dark]{color-scheme:dark;--bg:#1E1F22;--bg-header:#26282E;--bg-elevated:#2B2D30;--fg:#BCBEC4;--fg-muted:#9DA0A8;--fg-dim:#6F737A;--accent:#548AF7;--accent-hover:#56A8F5;--border:#43454A;--selection:#35538F;--toggle-bg:#393B40;--toggle-active:#35538F;--icon:#9DA0A8;--icon-hover:#CF8E6D;--header-fg:#BCBEC4}:root[data-theme=light]{color-scheme:light;--bg:#FFF;--bg-header:#FFF;--bg-elevated:#F5F5F5;--fg:#333;--fg-muted:#969896;--fg-dim:#808080;--accent:#00F;--accent-hover:#00C;--border:#E0E0E0;--selection:#B0CDE7;--toggle-bg:#E0E0E0;--toggle-active:#B0CDE7;--icon:#595959;--icon-hover:#DF5000;--header-fg:#333}@media(prefers-color-scheme:dark){:root[data-theme=auto]{color-scheme:dark;--bg:#1E1F22;--bg-header:#26282E;--bg-elevated:#2B2D30;--fg:#BCBEC4;--fg-muted:#9DA0A8;--fg-dim:#6F737A;--accent:#548AF7;--accent-hover:#56A8F5;--border:#43454A;--selection:#35538F;--toggle-bg:#393B40;--toggle-active:#35538F;--icon:#9DA0A8;--icon-hover:#CF8E6D;--header-fg:#BCBEC4}}@media(prefers-color-scheme:light){:root[data-theme=auto]{color-scheme:light;--bg:#FFF;--bg-header:#FFF;--bg-elevated:#F5F5F5;--fg:#333;--fg-muted:#969896;--fg-dim:#808080;--accent:#00F;--accent-hover:#00C;--border:#E0E0E0;--selection:#B0CDE7;--toggle-bg:#E0E0E0;--toggle-active:#B0CDE7;--icon:#595959;--icon-hover:#DF5000;--header-fg:#333}}@media(min-width:933px){:root{--width:1080px;--gutter:2rem}}html,body{min-height:100vh;margin:0}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font);font-size:1rem;line-height:1.5;transition:background var(--transition),color var(--transition);hyphens:auto;color:var(--fg);background:var(--bg);text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}::selection{background:var(--selection)}a{transition:color var(--transition);text-decoration:none;color:var(--accent)}a:hover{color:var(--accent-hover)}.flex-wrapper{display:flex;flex-direction:column;min-height:100vh}.content-wrapper{display:flex;flex:1 auto;justify-content:center}.content-wrapper.vertical{align-items:center;flex-direction:column}.content{width:100%;text-align:left}.main{width:100%;max-width:var(--width);margin:0 auto;padding:0 var(--gutter)}.header-wrapper{flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-header)}.header{display:flex;align-items:center;gap:1rem;max-width:var(--width);min-height:60px;margin:0 auto;padding:0 var(--gutter)}.header-start,.header-end{display:flex;align-items:center;gap:.75rem;min-width:0}.header-end{flex-shrink:0;margin-left:auto}.terminal,.header-nav a{font-family:var(--font-mono);font-weight:700}.terminal{font-size:.95rem;color:var(--header-fg);white-space:nowrap}.nav-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:.45rem;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius);background:var(--toggle-bg);gap:4px}.nav-toggle-bar{display:block;width:100%;height:2px;background:var(--header-fg)}.nav-close{display:none}.header-nav ul{display:flex;margin:0;padding:0;list-style:none;gap:.75rem}.header-nav li{display:flex;align-items:center;margin:0;padding:0}.header-nav a{font-size:.9rem;line-height:1;color:var(--header-fg)}.header-nav a:hover,.header-nav a[aria-current=page]{color:var(--accent)}.header-search{--pf-font:'Latin Modern Roman';--pf-border-radius:var(--radius);--pf-outline-focus:var(--accent);--pf-text:var(--header-fg);--pf-text-secondary:var(--fg-muted);--pf-text-muted:var(--fg-dim);--pf-background:var(--toggle-bg);--pf-border:var(--border);--pf-border-focus:var(--accent);--pf-hover:var(--bg-elevated);--pf-mark:var(--accent)}.theme-toggle{position:relative;display:flex;padding:3px;border:1px solid var(--border);border-radius:var(--radius);background:var(--toggle-bg);gap:2px}.theme-toggle-slider{position:absolute;top:3px;left:3px;width:calc((100% - 6px - 4px)/3);height:calc(100% - 6px);border-radius:calc(var(--radius) - 2px);background:var(--toggle-active);transition:transform .28s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:0}.theme-toggle:has([data-theme-choice=light][aria-pressed=true]) .theme-toggle-slider{transform:translateX(calc(100% + 2px))}.theme-toggle:has([data-theme-choice=dark][aria-pressed=true]) .theme-toggle-slider{transform:translateX(calc(200% + 4px))}.theme-btn{font-family:var(--font-mono);font-size:.75rem;position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:.35rem .55rem;cursor:pointer;transition:color var(--transition);color:var(--fg-muted);border:none;border-radius:calc(var(--radius) - 2px);background:0 0;gap:.35rem}.theme-btn:hover{color:var(--fg)}.theme-btn[aria-pressed=true]{color:var(--fg)}.theme-btn i{font-size:.85rem}body.nav-open{overflow:hidden}@media(max-width:932px){.theme-label{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;white-space:nowrap;clip-path:inset(50%);border:0}.nav-toggle{display:flex}.header-nav{position:fixed;z-index:200;inset:0;display:grid;grid-template-rows:auto auto 1fr;padding:var(--gutter);gap:1.5rem;transition:opacity .28s ease,visibility .28s ease,transform .28s cubic-bezier(.4,0,.2,1);transform:translateY(-2%);opacity:0;visibility:hidden;pointer-events:none;background:var(--bg-header)}.nav-close{display:flex;align-items:center;justify-content:center;justify-self:end;width:2.5rem;height:2.5rem;font-family:var(--font-mono);font-size:1.5rem;font-weight:700;line-height:1;cursor:pointer;color:var(--header-fg);border:1px solid var(--border);border-radius:var(--radius);background:var(--toggle-bg)}.nav-close:hover{color:var(--accent)}.header-search{justify-self:center}.header-nav>ul{display:flex;flex-direction:column;align-items:center;align-content:center;justify-content:center;gap:2rem;margin:0}.header-nav a{font-size:clamp(1.25rem,5vw,1.75rem);line-height:1}.header-wrapper.is-nav-open .header-nav{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}}.footer{font-size:.9rem;flex-shrink:0;padding:1rem;text-align:center;color:var(--fg-muted);border-top:1px solid var(--border);background:var(--bg-header)}.footer a{color:var(--header-fg)}.footer a:hover{color:var(--accent)}.spotlight{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding-block:2rem 3rem}.spotlight-inner{width:100%;max-width:42rem;margin-inline:auto;text-align:center}.title{font-size:clamp(2rem,6vw,3rem);font-weight:700;margin:0 0 .5rem;letter-spacing:-.02em;text-align:center}.subtitle{font-size:1.1rem;margin:0 0 2.5rem;color:var(--fg-muted);text-align:center}.social{width:100%;--social-btn-size:8.25rem}.social ul{display:grid;grid-auto-flow:column;grid-auto-columns:var(--social-btn-size);justify-content:center;margin:0;padding:0;list-style:none;gap:1.25rem}.social li{display:contents}.social-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--social-btn-size);height:var(--social-btn-size);padding:.75rem;transition:color var(--transition),border-color var(--transition),transform .2s ease;color:var(--icon);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);gap:.45rem;box-sizing:border-box}.social-btn i{display:flex;align-items:center;justify-content:center;width:2.85rem;height:2.85rem;font-size:2.85rem;line-height:1}.social-label{font-family:var(--font-mono);font-size:.82rem;line-height:1;letter-spacing:.03em}.social-btn:hover{transform:translateY(-2px);color:var(--icon-hover);border-color:var(--accent)}@media(max-width:932px){.social{--social-btn-size:7.5rem}.social ul{grid-auto-flow:row;justify-items:center;gap:1rem}}.post-list{display:flex;flex-direction:column;gap:1.25rem;margin:1.5rem 0 0}.post-preview{padding:1rem 0;border-bottom:1px solid var(--border)}.post-preview:last-child{border-bottom:none}.post-preview-title{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;margin:0 0 .35rem;line-height:1.3}.post-preview-title a{color:var(--header-fg)}.post-preview-title a:hover{color:var(--accent)}.post-preview-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-family:var(--font-mono);font-size:.8rem;color:var(--fg-muted);margin-bottom:.5rem}.post-preview-summary{font-size:.95rem;color:var(--fg-muted);line-height:1.5}.post-preview-summary p{margin:0}.section-intro{margin-bottom:1rem;color:var(--fg-muted)}.post-breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.post-breadcrumb{font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--fg-muted)}.post-breadcrumb:hover{color:var(--accent)}.post-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-family:var(--font-mono);font-size:.8rem;color:var(--fg-muted);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.post-footer{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border)}.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.post-tag{font-family:var(--font-mono);font-size:.8rem;font-weight:700;padding:.2rem .55rem;color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.post-tag:hover{color:var(--accent);border-color:var(--accent)}.sharing{display:flex;flex-wrap:wrap;gap:.5rem}.sharing-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);transition:color var(--transition),border-color var(--transition)}.sharing-btn:hover{color:var(--accent);border-color:var(--accent)}.sharing-btn i{font-size:.95rem;line-height:1}.taxonomy-list{margin:1.5rem 0 0;padding:0;list-style:none}.taxonomy-list li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-weight:700}.taxonomy-list li:last-child{border-bottom:none}.taxonomy-list a{color:var(--header-fg)}.taxonomy-list a:hover{color:var(--accent)}.taxonomy-count{font-size:.8rem;font-weight:700;color:var(--fg-muted)}.term-count{font-family:var(--font-mono);font-size:.85rem;color:var(--fg-muted);margin:0 0 .5rem}.taxonomy-breadcrumb{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;margin-bottom:.75rem;font-family:var(--font-mono);font-size:.8rem;font-weight:700}.taxonomy-breadcrumb a{color:var(--fg-muted)}.taxonomy-breadcrumb a:hover{color:var(--accent)}.taxonomy-breadcrumb-sep{color:var(--fg-dim)}.taxonomy-breadcrumb-current{color:var(--accent)}.taxonomy-nav-section+.taxonomy-nav-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.taxonomy-nav .page-toc-title a{color:var(--fg-dim);text-decoration:none}.taxonomy-nav .page-toc-title a:hover,.taxonomy-nav .page-toc-title a.is-active{color:var(--accent)}.taxonomy-nav-list{margin:0;padding:0;list-style:none}.taxonomy-nav-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.3rem 0;font-family:var(--font-mono);font-size:.78rem;font-weight:700;line-height:1.35}.taxonomy-nav-list a{color:var(--fg-muted);min-width:0;overflow-wrap:anywhere}.taxonomy-nav-list a:hover,.taxonomy-nav-list a.is-active{color:var(--accent)}.taxonomy-nav-list .taxonomy-count{flex-shrink:0;font-size:.72rem}.pagination{margin-top:2rem}.pagination-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:0;padding:0;list-style:none;gap:.4rem}.pagination-list>li{display:flex;align-items:center;margin:0;padding:0}.pagination-prev,.pagination-next,.pagination-num{font-family:var(--font-mono);font-size:.85rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:2.25rem;min-width:2.25rem;padding:0 .55rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.pagination-prev,.pagination-next,a.pagination-num{color:var(--header-fg);transition:color var(--transition),border-color var(--transition),background var(--transition)}.pagination-prev:hover,.pagination-next:hover,a.pagination-num:hover{color:var(--accent);border-color:var(--accent)}.pagination-num.is-current{color:var(--fg);border-color:var(--accent);background:var(--toggle-active)}.pagination-prev,.pagination-next{padding-inline:.75rem}.page-main{padding-block:2rem 3rem}.page-layout{display:grid;gap:1.5rem;grid-template-areas:"toc" "content"}.page-body{grid-area:content}.page-toc{grid-area:toc;max-height:calc(100vh - 3rem);overflow-y:auto;padding:.85rem 0 .85rem 1rem;border-left:1px solid var(--border)}.page-toc>summary.page-toc-title{font-family:var(--font-mono);font-size:.7rem;font-weight:700;margin:0 0 .75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);cursor:pointer;list-style:none}.page-toc>summary.page-toc-title::-webkit-details-marker{display:none}.page-toc>summary.page-toc-title::before{content:"▸";display:inline-block;margin-right:.35rem;transition:transform .28s cubic-bezier(.4,0,.2,1)}.page-toc[open]>summary.page-toc-title::before{transform:rotate(90deg)}.page-toc-panel{overflow:hidden;min-height:0}.page-toc-title{font-family:var(--font-mono);font-size:.7rem;font-weight:700;margin:0 0 .75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.page-toc nav,.page-toc #TableOfContents{font-family:var(--font-mono);font-size:.8rem;line-height:1.45}.page-toc ul{margin:0;padding:0;list-style:none}.page-toc li+li{margin-top:.35rem}.page-toc li ul{margin-top:.35rem;padding-left:.85rem;border-left:1px solid var(--border)}.page-toc a{display:block;color:var(--fg-muted)}.page-toc a:hover{color:var(--accent)}@media(min-width:933px){.header-nav{position:static;display:flex;flex:1;align-items:center;gap:.75rem;padding:0;transform:none;opacity:1;visibility:visible;pointer-events:auto;background:0 0}.header-nav>ul{order:1}.header-nav .header-search{order:2;margin-left:auto}.page-layout{grid-template-columns:minmax(0,1fr)var(--toc-width);grid-template-areas:"content toc";gap:2.5rem;align-items:start}.page-toc{position:sticky;top:4rem;max-height:calc(100vh - 8rem);padding:.75rem 0 .75rem .75rem;border:1px solid transparent;border-left:1px solid var(--border);border-radius:0;background:0 0}.page-toc>summary.page-toc-title{cursor:default;pointer-events:none;margin-bottom:.75rem}.page-toc>summary.page-toc-title::before{content:none;transform:none;transition:none}.page-toc-panel{display:block;grid-template-rows:none}.page-toc-panel>nav,.page-toc-panel>#TableOfContents{opacity:1;overflow:visible}}@media(max-width:932px){.page-toc{max-height:none;overflow:visible;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.page-toc>summary.page-toc-title{margin-bottom:0;transition:margin-bottom .28s cubic-bezier(.4,0,.2,1)}.page-toc[open]>summary.page-toc-title{margin-bottom:.75rem}.page-toc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1)}.page-toc[open] .page-toc-panel{grid-template-rows:1fr}.page-toc-panel>nav,.page-toc-panel>#TableOfContents{overflow:hidden;min-height:0;opacity:0;transition:opacity .28s ease}.page-toc[open] .page-toc-panel>nav,.page-toc[open] .page-toc-panel>#TableOfContents{opacity:1}}@media(max-width:932px) and (prefers-reduced-motion:reduce){.page-toc>summary.page-toc-title,.page-toc>summary.page-toc-title::before,.page-toc-panel,.page-toc-panel>nav,.page-toc-panel>#TableOfContents{transition:none}}.not-found{text-align:center}.highlight{margin:1.5rem 0}.scroll-top{position:fixed;z-index:100;right:var(--gutter);bottom:var(--gutter);display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;cursor:pointer;color:var(--header-fg);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-header);box-shadow:0 2px 8px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(.5rem);transition:opacity .28s cubic-bezier(.4,0,.2,1),visibility .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),color var(--transition),border-color var(--transition),background var(--transition)}.scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-top:hover{color:var(--accent);border-color:var(--accent)}.scroll-top i{font-size:.95rem;line-height:1}@media(prefers-reduced-motion:reduce){.scroll-top{transition:color var(--transition),border-color var(--transition),background var(--transition)}}:root[data-syntax-theme=light]{.bg{color:#272822;background-color:#fafafa}.chroma{color:#272822;background-color:#fafafa;-webkit-text-size-adjust:none}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#e1e1e1}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#00a8c8}.chroma .kc{color:#00a8c8}.chroma .kd{color:#00a8c8}.chroma .kn{color:#f92672}.chroma .kp{color:#00a8c8}.chroma .kr{color:#00a8c8}.chroma .kt{color:#00a8c8}.chroma .n{color:#111}.chroma .na{color:#75af00}.chroma .nc{color:#75af00}.chroma .no{color:#00a8c8}.chroma .nd{color:#75af00}.chroma .ni{color:#111}.chroma .ne{color:#75af00}.chroma .nl{color:#111}.chroma .nn{color:#111}.chroma .nx{color:#75af00}.chroma .py{color:#111}.chroma .nt{color:#f92672}.chroma .nb{color:#111}.chroma .bp{color:#111}.chroma .nv{color:#111}.chroma .vc{color:#111}.chroma .vg{color:#111}.chroma .vi{color:#111}.chroma .vm{color:#111}.chroma .nf{color:#75af00}.chroma .fm{color:#75af00}.chroma .l{color:#ae81ff}.chroma .ld{color:#d88200}.chroma .s{color:#d88200}.chroma .sa{color:#d88200}.chroma .sb{color:#d88200}.chroma .sc{color:#d88200}.chroma .dl{color:#d88200}.chroma .sd{color:#d88200}.chroma .s2{color:#d88200}.chroma .se{color:#8045ff}.chroma .sh{color:#d88200}.chroma .si{color:#d88200}.chroma .sx{color:#d88200}.chroma .sr{color:#d88200}.chroma .s1{color:#d88200}.chroma .ss{color:#d88200}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .or{color:#f92672}.chroma .p{color:#111}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .ge{font-style:italic}.chroma .gs{font-weight:700}}:root[data-syntax-theme=dark]{.bg{color:#f8f8f2;background-color:#272822}.chroma{color:#f8f8f2;background-color:#272822;-webkit-text-size-adjust:none}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#3c3d38}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .nf{color:#a6e22e}.chroma .fm{color:#a6e22e}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .or{color:#f92672}.chroma .p{color:#f8f8f2}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}}