.article-page{margin-top:3rem}.article-breadcrumb{display:flex;gap:.4rem;margin-bottom:1.75rem;font-size:.8em;font-style:italic;color:var(--color-subtle)}.article-breadcrumb-link{color:var(--color-subtle);text-decoration:none;transition:color .15s}.article-breadcrumb-link:hover{color:var(--accent)}.article-breadcrumb-link:after{content:"."}.article-header{margin-bottom:0rem}.article-title{font-size:var(--font-size-display);font-weight:700;line-height:1.18;letter-spacing:-.025em;color:var(--color-ink-soft);margin-bottom:.5rem}.article-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.8em;color:var(--color-faint);font-style:italic;margin-bottom:1.25rem}.article-meta-sep{opacity:1;margin-left:1.2rem}.article-excerpt{font-size:1.05em;line-height:1.65;color:var(--color-muted-2);font-style:italic;border-left:2px solid var(--accent);padding-left:1.1rem;margin-top:1rem}.article-hero{margin:0 0 2.75rem;border-radius:3px;overflow:hidden}.article-hero img{width:100%;height:auto;display:block}.article-body{line-height:1.6;font-size:var(--font-size-base)}.article-body p{margin-bottom:1.5rem}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{font-family:var(--font-serif);font-weight:700;line-height:1.22;margin-top:2.75rem;margin-bottom:.25rem;letter-spacing:-.02em;color:var(--color-ink-soft)}.article-body h1{font-size:var(--text-3xl)}.article-body h2{font-size:var(--text-2xl)}.article-body h3{font-size:var(--text-xl)}.article-body h4,.article-body h5,.article-body h6{font-size:var(--text-base)}.article-body blockquote{border-left:4px solid var(--accent);margin:1rem 0;padding:.25rem 0 .25rem 1.4rem;color:var(--color-muted-2);font-style:italic}.article-body blockquote p{margin-bottom:0}.article-body ul,.article-body ol{margin-bottom:1.5rem;padding-left:1.6rem}.article-body ul{list-style-type:disc}.article-body ol{list-style-type:decimal}.article-body li{margin-bottom:.5rem;line-height:1.72}.article-body a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s,text-shadow .15s}.article-body a:hover{color:var(--color-ink);text-shadow:0 5px 8px hsla(var(--accent-hue),80%,75%,.7),0 8px 12px hsla(var(--accent-hue),80%,75%,.1)}.article-body :not(pre)>code{font-family:var(--font-mono);font-size:.82em;display:inline-block;background:var(--color-code-inline-bg);padding:.2em .55em;border-radius:6px;color:var(--color-code)}.hljs{color:#24292e;background:transparent}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}html.dark .hljs{color:#adbac7}html.dark .hljs-doctag,html.dark .hljs-keyword,html.dark .hljs-meta .hljs-keyword,html.dark .hljs-template-tag,html.dark .hljs-template-variable,html.dark .hljs-type,html.dark .hljs-variable.language_{color:#f47067}html.dark .hljs-title,html.dark .hljs-title.class_,html.dark .hljs-title.class_.inherited__,html.dark .hljs-title.function_{color:#dcbdfb}html.dark .hljs-attr,html.dark .hljs-attribute,html.dark .hljs-literal,html.dark .hljs-meta,html.dark .hljs-number,html.dark .hljs-operator,html.dark .hljs-variable,html.dark .hljs-selector-attr,html.dark .hljs-selector-class,html.dark .hljs-selector-id{color:#6cb6ff}html.dark .hljs-regexp,html.dark .hljs-string,html.dark .hljs-meta .hljs-string{color:#96d0ff}html.dark .hljs-built_in,html.dark .hljs-symbol{color:#f69d50}html.dark .hljs-comment,html.dark .hljs-code,html.dark .hljs-formula{color:#768390}html.dark .hljs-name,html.dark .hljs-quote,html.dark .hljs-selector-tag,html.dark .hljs-selector-pseudo{color:#8ddb8c}html.dark .hljs-subst{color:#adbac7}html.dark .hljs-section{color:#316dca;font-weight:700}html.dark .hljs-bullet{color:#eac55f}html.dark .hljs-emphasis{color:#adbac7;font-style:italic}html.dark .hljs-strong{color:#adbac7;font-weight:700}html.dark .hljs-addition{color:#b4f1b4;background-color:#1b4721}html.dark .hljs-deletion{color:#ffd8d3;background-color:#78191b}.article-body .code-block{margin-bottom:1.5rem;border-radius:8px;border:1px solid var(--color-border-soft);overflow:hidden}.article-body .code-block-header{display:flex;align-items:center;padding:.4rem 1rem;background:color-mix(in srgb,var(--color-code-block-bg) 70%,var(--color-ink) 8%);border-bottom:1px solid var(--color-border-soft)}.article-body .code-block-lang{font-family:var(--font-mono);font-size:.72em;color:var(--color-faint);letter-spacing:.04em;text-transform:lowercase}.article-body .code-block pre{border-radius:0;border:none;margin-bottom:0}.article-body pre{background:var(--color-code-block-bg);border-radius:8px;padding:1.2rem 1.4rem;overflow-x:auto;margin-bottom:1.5rem;border:1px solid var(--color-border-soft)}.article-body pre code{display:block;background:none;padding:0;border-radius:0;font-family:var(--font-mono);font-size:.82em;line-height:1.6;color:inherit;white-space:pre-wrap;overflow-wrap:break-word}.article-body strong{font-weight:600;color:var(--color-ink-soft)}.article-body s{opacity:.55}.article-body hr{border:none;border-top:1px solid var(--color-border);margin:2.75rem 0}.article-body-image{margin:2rem 0}.article-body-image img{width:100%;height:auto;display:block;border-radius:3px}.article-body-image figcaption{font-size:.78em;color:var(--color-faint);font-style:italic;margin-top:.55rem;text-align:center}.article-footer{margin-top:3.5rem;padding-top:1.75rem;border-top:1px dashed var(--color-ink)}.article-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.75rem}.article-tag{font-size:.78em;font-style:italic;color:var(--color-faint);text-decoration:none;letter-spacing:.01em;transition:color .15s;text-transform:lowercase}.article-tag:hover{color:var(--color-ink)}.article-back{margin-top:.5rem}.note-navigation{display:flex;justify-content:space-around;align-items:center;margin:2rem 0;padding:1.5rem 0}.nav-link{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:var(--color-muted-3);transition:color .15s;flex:1;max-width:200px;&:first-of-type{align-items:flex-start}}.nav-link:hover{color:var(--color-ink)}.nav-link.previous,.nav-link.next{text-align:center}.arrow{font-size:1.5rem}.nav-text{font-size:.8rem;font-style:italic;letter-spacing:.05em}.nav-title{font-size:.9rem;line-height:1.3;font-weight:500}
