.article-layout{--reading-width:72rem;--wide-width:var(--reading-width);--article-width:min(var(--wide-width), calc(100vw - 4rem) );width:var(--article-width);margin-inline:calc((100% - var(--article-width))/2)}.post{min-width:0}.post-header{max-width:var(--reading-width);margin:0 auto 2.5rem;padding:0;border:0}.post-title{margin:0 0 1rem;color:var(--accent-color);font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance}.post-meta{margin:0;color:var(--muted-text);font-size:.8rem;line-height:1.8}.post>.audio-player{max-width:var(--reading-width);margin-inline:auto}.post-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.tag{color:var(--accent-color);border:1px solid var(--border-color);border-radius:4px;padding:.15rem .5rem;text-decoration:none}.tag:before{content:"#";opacity:.6;margin-right:.2rem}.pinned-label{color:var(--accent-color)}.post-content{font-size:1rem;line-height:1.8;overflow-wrap:anywhere}.post-content>*{max-width:var(--reading-width,72rem);margin-left:auto;margin-right:auto}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{line-height:1.4;margin-top:2.1em;margin-bottom:.65em;scroll-margin-top:1.5rem;text-wrap:balance}.post-content h1{font-size:1.55rem;color:var(--accent-color)}.post-content h2{font-size:1.35rem;color:var(--accent-color)}.post-content h3{font-size:1.16rem;color:var(--accent-color-secondary)}.post-content h4,.post-content h5,.post-content h6{font-size:1rem;color:var(--accent-color-secondary)}.post-content p{margin-top:0;margin-bottom:1.25em}.heading-link{margin-left:.55em;font-size:.7em;text-decoration:none;opacity:.45}.heading-link:hover,.heading-link:focus-visible{opacity:1}.post-content a{text-underline-offset:.2em}.post-content ul,.post-content ol{padding-left:1.6rem}.post-content li{margin:.4rem 0}.post-content blockquote{border-left:3px solid var(--accent-color);padding-left:1rem;color:var(--muted-text)}.post-content .code-block-container,.post-content .image-with-caption,.post-content .embedded-media,.post-content .table-scroll{max-width:var(--wide-width,72rem);margin:1.8rem auto}.code-block-container{overflow:hidden;border:1px solid var(--border-color);border-radius:6px;background:#151313}.code-block-toolbar{min-height:2.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .55rem .35rem 1rem;border-bottom:1px solid var(--border-color);background:#1c1918}.code-language{color:var(--muted-text);font-size:.72rem;letter-spacing:.04em}.copy-code-button{padding:.25rem 0;font-size:.75rem;background:none;color:var(--accent-color);border:0;cursor:pointer}.copy-code-button:hover{color:var(--accent-color-secondary);background:none}.copy-code-button:focus-visible{outline:2px solid var(--accent-color-secondary);outline-offset:3px}.post-content pre{background:transparent;padding:1rem 1.1rem;overflow-x:auto;line-height:1.65;tab-size:4;white-space:pre;overflow-wrap:normal;margin:0;font-size:.86rem}.post-content code{font-family:inherit}.post-content :not(pre)>code{background:#ffffff09;border:1px solid var(--border-color);border-radius:3px;padding:.1rem .3rem}.post-content pre code[class^=kl-]{display:inline;padding:0;border-radius:0;overflow:visible}.post-content img,.post-content video{display:block;max-width:100%;height:auto;margin:1.5rem auto;border-radius:4px}.post-content audio{display:block;width:min(100%,var(--reading-width,72rem));max-width:100%;margin:1.5rem auto}.responsive-image{display:contents}.image-with-caption,.embedded-media{text-align:center}.image-with-caption img,.embedded-media video,.embedded-media audio{margin:0 auto}.image-alt-caption,.media-fallback{display:block;margin-top:.7rem;color:var(--muted-text);font-size:.8rem;line-height:1.5}.table-scroll{overflow-x:auto}.post-content table{width:100%;border-collapse:collapse;white-space:normal}.post-content th,.post-content td{text-align:left;padding:.7rem;border-bottom:1px solid var(--border-color);min-width:7rem}.post-content th{background:#ffffff08}.article-toc{max-width:var(--reading-width);margin:1.5rem auto 2.5rem;border-block:1px solid var(--border-color);padding:1rem 0}.article-toc summary{cursor:pointer;color:var(--accent-color)}@property --toc-centre{syntax:"<percentage>";inherits:true;initial-value:0%}@property --toc-top-primary{syntax:"<percentage>";inherits:true;initial-value:0%}@property --toc-bottom-primary{syntax:"<percentage>";inherits:true;initial-value:100%}.article-toc nav,.article-outline nav{transition:--toc-centre .18s ease,--toc-top-primary .18s ease,--toc-bottom-primary .18s ease;--toc-centre:0%;--toc-top-primary:0%;--toc-bottom-primary:100%;--toc-gradient:linear-gradient(to bottom,color-mix(in srgb,var(--accent-color) var(--toc-top-primary),var(--accent-color-secondary)),var(--accent-color-secondary) var(--toc-centre),color-mix(in srgb,var(--accent-color) var(--toc-bottom-primary),var(--accent-color-secondary)))}.article-toc ol,.article-outline ol{position:relative;isolation:isolate;list-style:none;padding:0 0 0 1.25rem;margin:1.2rem 0 .3rem;line-height:1.7}.article-toc ol:before,.article-outline ol:before{content:"";position:absolute;z-index:-1;left:2px;top:var(--toc-rail-top,.65em);height:var(--toc-rail-height, calc(100% - 1.3em) );width:1px;background:var(--toc-gradient);opacity:.8;pointer-events:none}.article-toc li,.article-outline li{position:relative;--toc-stop:color-mix(in srgb,var(--accent-color) var(--toc-primary,100%),var(--accent-color-secondary));margin:.65rem 0;padding-left:calc(var(--toc-depth,0) * .75rem)}.article-toc a,.article-outline a{display:block;color:var(--toc-stop,var(--accent-color));text-decoration:none;transition:color .18s ease}.article-toc a:before,.article-outline a:before{content:"";position:absolute;left:calc(0px - 1.25rem);top:.65em;width:5px;height:5px;border-radius:50%;background:var(--toc-stop,var(--accent-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--toc-stop,var(--accent-color)) 14%,transparent);transition:background-color .18s ease,box-shadow .18s ease}.article-toc a:hover,.article-outline a:hover{color:var(--toc-stop,var(--accent-color));text-decoration:underline;text-underline-offset:.25em}.article-toc a[aria-current=location],.article-outline a[aria-current=location]{color:var(--accent-color-secondary);font-weight:700;text-decoration:none}.article-toc a[aria-current=location]:hover,.article-outline a[aria-current=location]:hover{color:var(--accent-color-secondary)}.article-toc a[aria-current=location]:before,.article-outline a[aria-current=location]:before{background:var(--accent-color-secondary);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-color-secondary) 24%,transparent)}.article-outline{display:none}[data-article-reading]>.audio-player{max-width:var(--reading-width);margin-inline:auto}.protected-region{position:relative;display:grid;isolation:isolate;min-height:34rem;margin-top:2.5rem}.protected-placeholder,.password-protection{grid-area:1/1;min-width:0}.protected-placeholder{filter:blur(5px);opacity:.45;pointer-events:none;user-select:none;overflow-wrap:anywhere}.protected-placeholder>:first-child{margin-top:0}.protected-placeholder pre{min-height:4rem}.protected-link{color:var(--accent-color);text-decoration:underline;text-underline-offset:.2em}.protected-media-shape{display:block;aspect-ratio:16/9;background:linear-gradient(120deg,#302a26,#181615);border:1px solid var(--border-color);border-radius:4px;margin:1.8rem 0}.password-protection{position:sticky;top:max(2rem,calc(50vh - 12rem));align-self:start;justify-self:center;width:min(100%,26rem);margin:5rem 0;padding:2rem;border:1px solid color-mix(in srgb,var(--accent-color) 45%,var(--border-color));border-radius:8px;background:#141211f5;box-shadow:0 8px 40px #0005;text-align:center;z-index:1;line-height:1.7}.password-lock{display:block;width:1.7rem;height:1.7rem;margin:0 auto 1rem;color:var(--accent-color)}.password-protection h2{margin:0 0 .65rem;font-size:1.3rem;line-height:1.4;color:var(--accent-color);text-wrap:balance}.password-protection>p{margin:0;color:var(--muted-text);font-size:.86rem}.password-form{display:grid;gap:.7rem;margin-top:1.5rem;text-align:left}.password-form label{font-size:.75rem;color:var(--muted-text)}.password-input{width:100%;min-width:0;padding:.8rem;background:#0d0c0c;border:1px solid var(--border-color);border-radius:4px;color:inherit;font:inherit;font-size:.85rem}.password-input:focus-visible,.password-submit:focus-visible{outline:2px solid var(--accent-color-secondary);outline-offset:3px}.password-submit{width:100%;padding:.7rem 1.1rem;color:#17110d;background:var(--accent-color);border:1px solid var(--accent-color);border-radius:4px;font:inherit;font-size:.85rem;font-weight:700;line-height:1.4;cursor:pointer;transition:background-color .18s,color .18s}.password-submit:hover{background:var(--accent-color-secondary);border-color:var(--accent-color-secondary)}.password-submit:disabled{opacity:.6;cursor:wait}.password-error{color:#ff9b9b;margin:0;font-size:.8rem}.password-error:empty{display:none}.toc-locked{display:block;color:var(--toc-stop,var(--accent-color))}.toc-locked .toc-label{display:block;filter:blur(4px);user-select:none;opacity:.6}.toc-locked:before{content:"";position:absolute;left:calc(0px - 1.25rem);top:.65em;width:5px;height:5px;border-radius:50%;background:var(--toc-stop,var(--accent-color));box-shadow:0 0 0 3px color-mix(in srgb,var(--toc-stop,var(--accent-color)) 14%,transparent)}@media(max-width:640px){.password-protection{padding:1.5rem;margin-block:3rem}.protected-region{margin-top:2rem}}.post-content>:first-child{margin-top:0}.page-changelog .post-content h3{border-top:1px solid var(--border-color);padding-top:1.5rem;font-size:1.1rem}@media(min-width:112rem){.article-layout.has-outline{display:grid;grid-template-columns:minmax(0,1fr) 0;align-items:start}.article-toc{display:none}.article-outline{display:block;position:sticky;top:2rem;width:16rem;margin-left:2rem;max-height:calc(100vh - 4rem);overflow-y:auto;overflow-wrap:anywhere;padding:.15rem .5rem .5rem;font-size:.8rem}.outline-title{margin:0;color:var(--accent-color);font-weight:700}.article-outline ol{margin-top:1.2rem}}@media(max-width:640px){.article-layout{--article-width:100%}.post-content{font-size:.94rem}.post-content pre{font-size:.8rem;padding-inline:.8rem}.post-meta{font-size:.78rem}.post-content h1{font-size:1.4rem}.post-content h2{font-size:1.25rem}}
