@layer quartz-base{:root{--blog-accent:#a52142;--blog-ink:#0f0f0f;--blog-muted:#737373;--blog-faint:#b5b5b5;--blog-border:#e6e6e6;--blog-content-width:40rem;--blog-content-inline-offset:2rem;--blog-font-stack:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Ubuntu, sans-serif;--blog-mono-stack:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--blog-list-indent:1.8em;--blog-list-spacing:.075em;--blog-paragraph-spacing:1.75rem;--blog-surface:var(--background-primary);--blog-text:var(--blog-ink);--blog-wide-width:min(88vw, 50rem);--blog-link-color:var(--blog-accent)}:root[saved-theme=dark]{--blog-ink:#d1d1d1;--blog-muted:#8c8c8c;--blog-faint:#595959;--blog-border:#353535;--blog-link-color:#c75b75}body{color:var(--blog-ink);font-family:var(--blog-font-stack);font-size:16px;line-height:1.5}code,pre,kbd,samp{font-family:var(--blog-mono-stack)}article,.markdown-preview-view{color:var(--blog-text);font-size:16px;line-height:1.7}article :is(p,ul,ol,blockquote,pre,table,.callout),.markdown-preview-view :is(p,ul,ol,blockquote,pre,table,.callout){margin-block:0 var(--blog-paragraph-spacing)}article :is(h1,h2,h3,h4,h5,h6),.markdown-preview-view :is(h1,h2,h3,h4,h5,h6){color:var(--blog-ink);font-family:var(--blog-font-stack);letter-spacing:0;margin-block:2rem .9rem;line-height:1.2}article :is(h1),.markdown-preview-view :is(h1){font-size:2rem}article :is(h2),.markdown-preview-view :is(h2){font-size:1.55rem}article :is(h3),.markdown-preview-view :is(h3){font-size:1.2rem}article :is(a.internal,a.external),.markdown-preview-view :is(a.internal,a.external){color:var(--blog-link-color);text-decoration:none}article :is(a.internal,a.external):hover,.markdown-preview-view :is(a.internal,a.external):hover{color:var(--text-accent-hover);text-underline-offset:.16em;text-decoration:underline}article :is(ul,ol),.markdown-preview-view :is(ul,ol){padding-inline-start:var(--blog-list-indent)}article li,.markdown-preview-view li{margin-block:var(--blog-list-spacing)}article li::marker{color:var(--blog-faint)}.markdown-preview-view li::marker{color:var(--blog-faint)}article blockquote,.markdown-preview-view blockquote{border-inline-start:1px solid var(--blog-border);color:var(--blog-muted);margin-inline:0;padding-inline:1rem 0}article :is(img,video,iframe),.markdown-preview-view :is(img,video,iframe){height:auto;max-width:var(--blog-wide-width);margin-inline:auto;display:block}article :is(pre,table,.block-language-mermaid),.markdown-preview-view :is(pre,table,.block-language-mermaid){max-width:var(--blog-wide-width)}article :is(pre,table),.markdown-preview-view :is(pre,table){overflow-x:auto}article :is(p:has(.katex),li:has(.katex),.table-container),.markdown-preview-view :is(p:has(.katex),li:has(.katex),.table-container){max-width:100%;overflow-x:auto}article .table-container>table,.markdown-preview-view .table-container>table{width:max-content;max-width:none}article .block-language-mermaid,.markdown-preview-view .block-language-mermaid{overflow-x:auto}.block-language-mermaid .mermaid svg{width:auto;max-width:none;height:auto}.callout{--callout-color:var(--color);background-color:color-mix(in srgb, var(--callout-color) 6%, transparent);border:1px solid var(--callout-color);box-shadow:none}.callout-title{padding-block:.85rem}.callout-content{color:var(--blog-text)}[saved-theme=dark] article img{background-color:#fff;border-radius:8px;padding:.5rem}.page[data-frame=full-width]>#quartz-body .center.full-width,.page[data-frame=full-width]>#quartz-body>footer{box-sizing:border-box;max-width:var(--blog-content-width);min-width:0;width:min(calc(100% - var(--blog-content-inline-offset)), var(--blog-content-width));margin-inline:auto}.page[data-frame=full-width] .page-header{margin-bottom:2rem;padding:2rem 0}.page-header .page-title{color:var(--blog-ink)}.page-header .page-title a{color:var(--blog-ink);text-decoration:none}.page-header .page-title a:hover{color:var(--blog-accent)}body:has(.blog-latest) .page[data-frame=full-width] .page-header{margin-bottom:0;padding-bottom:0}body:has(.blog-latest) .page[data-frame=full-width] .page-header .popover-hint{display:none}body:has(.blog-latest) .page[data-frame=full-width] .center.full-width>hr{display:none}body:has(.blog-latest) .page-listing{display:none}@media (max-width:800px){.page[data-frame=full-width] .page-header{padding:max(8px, env(safe-area-inset-top)) 0 8px;margin-bottom:1.25rem}.page[data-frame=full-width] header{align-items:center;gap:0;width:100%;min-width:0;margin:0}.page-header .flex-component{align-items:center;width:100%;min-width:0;flex-wrap:nowrap!important;gap:.5rem!important}.page-header .flex-component>div{min-width:0}.page-header .flex-component>div:has(>.spacer){min-width:8px;flex:1 1 0!important}.page-header .page-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;align-items:center;height:40px;font-size:14px;font-weight:600;line-height:1;display:flex;overflow:hidden}.page-header .page-title a{align-items:center;height:40px;display:inline-flex}:is(.page-header .flex-component>div:has(>.search),.page-header .flex-component>div:has(>.darkmode)){align-items:center;height:40px;display:flex}.page-header .search{min-width:40px;max-width:none;flex-grow:0!important}.page-header .search-button{border:0;justify-content:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.page-header .search-button>p{display:none}.page-header .search-button svg{margin:0}.page-header .darkmode{justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;display:inline-flex;position:relative;overflow:hidden}.page-header .darkmode svg{width:18px;height:18px;top:50%;left:50%;transform:translate(-50%,-50%)}.page li.section-li>.section{border-top:1px solid var(--blog-border);flex-direction:column;grid-template-columns:none;align-items:flex-start;gap:.2rem;min-height:44px;padding:.85rem 0;display:flex}.page li.section-li:first-child>.section{border-top:0}.page li.section-li>.section>.meta{order:2;margin:0;font-size:.8rem}.page li.section-li>.section>.desc{order:1;width:100%;min-width:0}.page li.section-li>.section>.desc>h3{margin:0;font-size:1rem;font-weight:400;line-height:1.4}.page li.section-li>.section>.desc>h3>a{overflow-wrap:anywhere;word-break:keep-all}.page li.section-li>.section>.tags{display:none}}@media (max-width:430px){:root{--blog-content-inline-offset:1.5rem}}}