@font-face{font-family:newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/Newsreader.woff2)format("woff2")}@font-face{font-family:newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../fonts/Newsreader-italic.woff2)format("woff2")}:root{--radius:8px;--highlight-color:rgba(137, 137, 222, 0.3);--font-family-base:"Newsreader";--font-size-base:20px;--content-max-inline-size:620px;--content-padding:20px;--focus-color:#0066cc;--muted-text-color:#666666}body,.toc-container{transition:background-color .2s,color .2s}header h1 a{display:block;inline-size:140px;font-family:var(--font-family-base),serif}.dark-mode-on:root{--bg-color:#141413;--text-color:#f0efea;--border-color:#444;--footnote-bg-color:rgba(255, 255, 255, 0.15);--footnote-hover-bg-color:rgba(255, 255, 255, 0.4);--tooltip-bg-color:#2a2a2a;--tooltip-text-color:#f0f0f0;--tooltip-shadow-color:rgba(255, 255, 255, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#f0efea;--subscribe-button-bg:#f0efea;--subscribe-button-text:#141413;--invert-percentage:100%;--code-bg:rgb(55, 56, 62);--hljs-bg:rgb(46, 46, 51);--muted-text-color:#b3b3b3}.dark-mode-off:root{--bg-color:#f0efea;--text-color:#141413;--border-color:#e6e4dd;--footnote-bg-color:rgba(0, 0, 0, 0.08);--footnote-hover-bg-color:rgba(0, 0, 0, 0.15);--tooltip-bg-color:#f9f9f9;--tooltip-text-color:#333;--tooltip-shadow-color:rgba(0, 0, 0, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#141413;--subscribe-button-bg:#141413;--subscribe-button-text:#f0efea;--invert-percentage:0%;--code-bg:rgb(223, 223, 223);--hljs-bg:rgb(28, 29, 33);--muted-text-color:#666666}@media(prefers-color-scheme:dark){:root{--bg-color:#141413;--text-color:#f0efea;--border-color:#444;--footnote-bg-color:rgba(255, 255, 255, 0.15);--footnote-hover-bg-color:rgba(255, 255, 255, 0.4);--tooltip-bg-color:#2a2a2a;--tooltip-text-color:#f0f0f0;--tooltip-shadow-color:rgba(255, 255, 255, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#f0efea;--subscribe-button-bg:#f0efea;--subscribe-button-text:#141413;--invert-percentage:100%;--code-bg:rgb(55, 56, 62);--hljs-bg:rgb(46, 46, 51);--muted-text-color:#b3b3b3}}@media(prefers-color-scheme:light){:root{--bg-color:#f0efea;--text-color:#141413;--border-color:#e6e4dd;--footnote-bg-color:rgba(0, 0, 0, 0.08);--footnote-hover-bg-color:rgba(0, 0, 0, 0.15);--tooltip-bg-color:#f9f9f9;--tooltip-text-color:#333;--tooltip-shadow-color:rgba(0, 0, 0, 0.15);--subscribe-form-bg:transparent;--subscribe-form-text:#141413;--subscribe-button-bg:#141413;--subscribe-button-text:#f0efea;--invert-percentage:0%;--code-bg:rgb(223, 223, 223);--hljs-bg:rgb(28, 29, 33);--muted-text-color:#666666}}.dark-mode-on:root .toggle-input:checked+.toggle-label{background-color:var(--text-color)}.dark-mode-on:root .toggle-input:checked+.toggle-label .toggle-slider{inset-inline-start:22px;background-color:var(--bg-color)}.dark-mode-init *{transition:none!important}html,body{overflow-x:hidden}body{font-family:var(--font-family-base),serif;font-size:var(--font-size-base);font-weight:400;line-height:1.6;color:var(--text-color);background-color:var(--bg-color);margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;transition:background-color .2s ease,color .2s ease}code{direction:ltr;margin-block:auto;margin-inline:2px;padding-block:.2em;padding-inline:.4em;font-size:80%;line-height:1.5;background:var(--code-bg);border-radius:6px;font-family:menlo,Consolas,ui-monospace,monospace}pre code{display:block;margin-block:auto;margin-inline:0;color:#d5d5d6;background:var(--hljs-bg)!important;border-radius:var(--radius);overflow-x:auto;word-break:break-all}h1:hover .anchor,h2:hover .anchor,h3:hover .anchor,h4:hover .anchor,h5:hover .anchor,h6:hover .anchor{display:inline-flex;color:var(--text-color);margin-inline-start:8px;font-weight:500;user-select:none;opacity:.5}.anchor{display:none}a{color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}a code{margin-block:auto;margin-inline:0}a:hover code{text-decoration:underline}ul{padding-inline-start:20px}li{margin-block-end:.8em}strong{font-weight:600}p.intro{margin-block-start:.5em}.content-wrapper,header>div{max-inline-size:var(--content-max-inline-size);margin-inline:auto;padding-block:0;padding-inline:var(--content-padding);box-sizing:border-box}@media(min-width:1076px){body.has-toc .content-wrapper,body.has-toc header>div{max-inline-size:var(--content-max-inline-size);padding-inline:20px;margin-inline:auto}.toc-container{inset-inline-start:calc(50% - (var(--content-max-inline-size)/2) - 270px)}}header{background-color:var(--bg-color);padding-block-end:10px;margin-block:20px;transition:background-color .2s}header>div{display:flex;justify-content:space-between;align-items:center;position:relative;min-block-size:44px}header h1,header h1 a{font-family:var(--font-family-base),serif;font-weight:600;font-size:1.2em;line-height:44px;margin-block:0;margin-inline:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;inline-size:250px;padding-block-start:2px}header h1 a{text-decoration:none;color:inherit}header h1 a:hover{text-decoration:none}p a:hover{opacity:.7}.header-controls{display:flex;align-items:center;gap:12px;opacity:1;pointer-events:auto;transition:opacity .2s ease}.toggle-switch{visibility:hidden;position:relative;inline-size:40px;block-size:20px;flex-shrink:0;margin-inline-start:0}.toggle-switch.visible{visibility:visible}.toggle-input{opacity:0;inline-size:0;block-size:0}.toggle-label{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-color);transition:background-color .2s ease,border-color .2s ease;border-radius:34px;border:1px solid var(--text-color)}.toggle-slider{position:absolute;content:"";block-size:14px;inline-size:14px;inset-inline-start:2px;inset-block-end:2px;background-color:var(--text-color);transition:inset-inline-start .2s ease,background-color .2s ease;border-radius:50%}.toggle-input:checked+.toggle-label{background-color:var(--text-color)}.toggle-input:checked+.toggle-label .toggle-slider{inset-inline-start:22px;background-color:var(--bg-color)}.toggle-input:focus-visible+.toggle-label{outline:2px solid var(--focus-color);outline-offset:2px}h1,h2,h3,.author-date,.mobile-toc-link,.toc-container h2{font-family:var(--font-family-base),serif;font-weight:400;line-height:1.2}h1{font-size:3em;margin-block-start:1em;margin-block-end:0;font-weight:600;line-height:1.1}h1.smaller{font-size:2em}h2{font-size:1.6em;margin-block-start:1em;margin-block-end:.5em;font-weight:600}h3{font-size:1.2em;margin-block-start:1em;margin-block-end:.5em;font-weight:600}h4{font-size:1.1em;margin-block-start:.5em;margin-block-end:.5em;font-weight:400;font-style:italic}center{margin-block-start:.5em}@media(max-width:1076px){h1{font-size:2.4em}h2{font-size:1.6em}h3{font-size:1.2em}}.author-date{font-weight:400;font-size:.9em;color:var(--muted-text-color);margin-block-start:2em;margin-block-end:0;line-height:1.4}.mobile-toc-link,.toc-container h2{font-size:1.2em;padding-block-start:130px;padding-inline:20px;padding-block-end:30px;font-weight:600}hr{border:none}hr:after{content:"\2042";display:block;font-family:serif;font-weight:200;font-size:1.5em;margin-block:1em;margin-inline:auto;text-align:center}@media(min-width:1400px){.content-wrapper,header>div{max-inline-size:var(--content-max-inline-size)}}.footnotes{margin-block-start:25px}.footnotes-list{list-style-type:none;padding-inline-start:0;counter-reset:footnote}.footnote-item{margin-block-end:10px;position:relative;padding-inline-start:0;display:block}.footnote-item p sup[id^=fnref]{vertical-align:super;font-size:.75em;line-height:0}.footnote-item sup{margin-inline-end:4px;flex-shrink:0;font-size:14px;font-weight:500}sup[id^=fnref] a{text-decoration:none;font-size:12px;font-weight:500;color:inherit;padding-block-start:3px;padding-inline:3px;padding-block-end:1px;margin-block:0;margin-inline:2px;border-radius:4px;background-color:var(--footnote-bg-color);position:relative;z-index:1}sup[id^=fnref] a:hover,sup[id^=fnref] a:focus{background-color:var(--footnote-hover-bg-color)}.footnote-backref{text-decoration:none;color:inherit;font-size:.75em;vertical-align:middle;line-height:0;margin-inline-start:2px}.footnote-backref:hover{text-decoration:underline}.footnote-tooltip{position:absolute;background-color:var(--tooltip-bg-color);color:var(--tooltip-text-color);padding-block:20px;padding-inline:20px;border-radius:4px;box-shadow:0 2px 8px var(--tooltip-shadow-color);max-inline-size:400px;z-index:1000;font-size:17px;line-height:1.5;pointer-events:auto}.footnote-tooltip p{margin-block:0 8px;margin-inline:0;display:block;align-items:flex-start}.footnote-tooltip p:last-child{margin-block-end:0}.footnote-tooltip sup{margin-inline-end:4px;flex-shrink:0;font-weight:500}.footnote-tooltip a{color:inherit;text-decoration:underline}footer{margin-block-start:0;margin-block-end:20px;padding-block:20px;padding-inline:0;background-color:var(--bg-color);transition:background-color .2s ease}.back-to-top{text-align:center;cursor:pointer;font-weight:400;color:var(--text-color);text-decoration:underline}.footer-content{font-size:.8em;text-align:center;color:var(--text-color);opacity:.7}.privacy-policy-link{text-align:center;margin-block-start:10px;font-size:.8em}.privacy-policy-link a{color:var(--text-color);text-decoration:none;opacity:.7;transition:opacity .2s ease}.privacy-policy-link a:hover{text-decoration:underline;opacity:1}.subscribe-form-container{margin-block-start:20px;max-inline-size:400px;box-sizing:border-box;margin-inline:auto;display:flex;flex-direction:column;align-items:center}.subscribe-form{display:flex;flex-direction:column;inline-size:100%;margin-block-end:10px}.subscribe-form .email-input{inline-size:100%;padding-block:10px;padding-inline:10px;margin-block-end:10px;border:2px solid var(--border-color);border-radius:4px;font-size:var(--font-size-base);background-color:var(--bg-color);color:var(--subscribe-form-text);box-sizing:border-box;font-family:inherit}.subscribe-form .submit-button{inline-size:100%;padding-block:10px;padding-inline:10px;background-color:var(--subscribe-button-bg);color:var(--subscribe-button-text);border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:400;cursor:pointer;transition:opacity .2s ease;font-family:inherit}.subscribe-form .submit-button:hover{opacity:.85}#formMessage{text-align:center;margin-block-start:10px;font-weight:400;font-style:italic;inline-size:100%}.content-wrapper img{max-inline-size:100%;block-size:auto;display:block;margin-block:1em;margin-inline:auto}