﻿:root{--paper: #fdfdfb;--surface: #f4f4f0;--accent-soft: #eaf0ec;--rule: #e4e5e0;--rule-strong: #c8cac3;--ink: #262826;--ink-muted: #696c67;--accent: #5a6f64;--accent-line: #a9b8af;--syn-keyword: #3d5a4c;--syn-string: #7a5532;--font-serif: "Source Serif 4", "PT Serif", georgia, serif;--font-sans: "Golos Text", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 2px;--radius-md: 3px;--hairline: 1px;--marker: 2px;--page-width: 1032px;--toc-width: 216px;--toc-gap: 56px;--sidebar-width: 240px;--main-width: calc(var(--page-width) - var(--sidebar-width) - var(--toc-gap));--gutter: 24px;--content-top: 48px}@media (max-width: 880px){:root{--gutter: 16px;--content-top: 32px}}html{-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{margin:0;min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/golos-text-cyrillic-normal-400-f57bdd.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/golos-text-latin-normal-400-0defa2.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/golos-text-cyrillic-normal-400-f57bdd.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/golos-text-latin-normal-400-0defa2.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/golos-text-cyrillic-normal-400-f57bdd.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/golos-text-latin-normal-400-0defa2.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-cyrillic-italic-400-d018d3.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"JetBrains Mono";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-latin-italic-400-7903b9.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-cyrillic-normal-400-b1b041.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-latin-normal-400-480c06.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/jetbrains-mono-cyrillic-normal-400-b1b041.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/jetbrains-mono-latin-normal-400-480c06.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/jetbrains-mono-cyrillic-normal-400-b1b041.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/jetbrains-mono-latin-normal-400-480c06.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/source-serif-4-cyrillic-italic-400-65d86a.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/source-serif-4-latin-italic-400-760608.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/source-serif-4-cyrillic-normal-400-4948e9.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/source-serif-4-latin-normal-400-3084ac.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/source-serif-4-cyrillic-normal-400-4948e9.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/source-serif-4-latin-normal-400-3084ac.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{background:var(--paper)}body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:29px;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:clip}@media (max-width: 880px){body{font-size:16px;line-height:27px}}body>main{flex:1 0 auto}::selection{background:var(--accent-soft);color:var(--ink)}:where(a,button,summary,[tabindex]):focus-visible{outline:var(--marker) solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.link,.prose a:not(.zola-anchor){color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-line);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color .12s,text-decoration-color .12s}.link:hover,.prose a:not(.zola-anchor):hover{color:var(--accent);text-decoration-color:var(--accent)}.label,.col-head{font-family:var(--font-mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted)}.col-head{display:block;font-weight:700;color:var(--accent);margin:0}.meta{font-family:var(--font-mono);font-size:12.5px;line-height:18px;letter-spacing:.01em;color:var(--ink-muted);font-variant-numeric:tabular-nums}.caption{font-family:var(--font-mono);font-size:12px;line-height:18px;color:var(--ink-muted)}.aside{font-family:var(--font-mono);font-size:12.5px;line-height:18px;color:var(--ink-muted);font-style:italic}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.plain-list{list-style:none;margin:0;padding:0}.page{width:100%;max-width:calc(var(--page-width) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter);box-sizing:border-box}.page-head{padding:var(--content-top) 0 var(--space-5)}.page-head__title{margin:0;font-family:var(--font-serif);font-size:32px;line-height:38px;font-weight:600;letter-spacing:-.01em;font-variation-settings:"opsz" 36}.page-head__lead{margin:var(--space-2) 0 0;font-size:15px;line-height:24px;color:var(--ink-muted);max-width:40em}.two-col{display:grid;grid-template-columns:minmax(0, 1fr) var(--sidebar-width);column-gap:var(--toc-gap)}@media (max-width: 880px){.two-col{grid-template-columns:minmax(0, 1fr);column-gap:0}}@media (max-width: 880px){.two-col{row-gap:var(--space-7)}}.two-col>*{min-width:0}.site-header{--header-height: 76px;position:relative;isolation:isolate;border-bottom:var(--hairline) solid var(--rule)}@media (max-width: 880px){.site-header{--header-height: 64px}}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);height:var(--header-height)}.site-header__decoration{position:absolute;z-index:-1;top:50%;right:100%;margin-top:calc(var(--header-height)/-2);height:117px;width:auto;max-width:none;pointer-events:none;user-select:none}@media (max-width: 880px){.site-header__decoration{display:none}}.brand{display:grid;grid-template-columns:auto minmax(0, 1fr);column-gap:12px;align-items:center;color:var(--ink);text-decoration:none;min-width:0}.brand__logo{grid-row:1/span 2;width:40px;height:40px;fill:var(--accent)}.brand__name{font-family:var(--font-serif);font-size:22px;line-height:28px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand__by{grid-column:2;font-size:17px;line-height:22px;color:var(--ink-muted);white-space:nowrap}@media (max-width: 880px){.brand{column-gap:10px}.brand__logo{width:32px;height:32px}.brand__name{font-size:14px;line-height:18px}.brand__by{font-size:13px;line-height:18px}}@media (max-width: 465px){.brand{grid-template-columns:minmax(0, 1fr);column-gap:0}.brand__logo{display:none}.brand__by{grid-column:1}}.site-nav{position:relative;display:flex;flex:none;gap:var(--space-5)}@media (max-width: 880px){.site-nav{gap:var(--space-4)}}.site-nav__link{display:block;margin-bottom:-1px;white-space:nowrap;font-size:15px;line-height:74px;color:var(--ink);text-decoration:none;border-bottom:var(--marker) solid rgba(0,0,0,0)}@media (max-width: 880px){.site-nav__link{line-height:62px}}.site-nav__link:hover{color:var(--accent)}.site-nav__link[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width: 465px){.site-nav__link--feed{display:none}}.site-footer{margin-top:var(--space-8);border-top:var(--hairline) solid var(--rule);background:var(--surface)}.site-footer__inner{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;gap:var(--space-6);align-items:end;padding-block:var(--space-6) var(--space-5)}@media (max-width: 880px){.site-footer__inner{grid-template-columns:minmax(0, 1fr);gap:var(--space-4);align-items:start}}.site-footer__art{display:block;width:240px;height:48px}.site-footer__phrase{margin:0;font-family:var(--font-serif);font-style:italic;font-size:17px;line-height:24px}.site-footer__side{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right}@media (max-width: 880px){.site-footer__side{align-items:flex-start;text-align:left}}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-1) 6px;list-style:none;margin:0;padding:0}.tag{display:inline-flex;align-items:center;padding:0 7px;font-family:var(--font-mono);font-size:12px;line-height:20px;color:var(--ink);white-space:nowrap;text-decoration:none;border:var(--hairline) solid var(--rule-strong);border-radius:var(--radius-sm);transition:color .12s,border-color .12s}.tag__count{margin-left:6px;color:var(--ink-muted)}a.tag:hover{border-color:var(--accent);color:var(--accent)}.field-mark{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;line-height:16px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.field-mark::before{content:"";width:14px;height:var(--hairline);background:var(--accent)}.field-mark b{font-weight:500}.feed{list-style:none;margin:0;padding:0}.feed-item{padding:var(--space-5) 0;border-bottom:var(--hairline) solid var(--rule)}.feed-item:first-child{padding-top:0}.feed-item .field-mark{display:flex;margin-bottom:6px}.feed-item__title{margin:0;font-family:var(--font-serif);font-size:22px;line-height:29px;font-weight:600;font-variation-settings:"opsz" 24;letter-spacing:-.005em}@media (max-width: 880px){.feed-item__title{font-size:20px;line-height:26px}}.feed-item__title a{color:var(--ink);text-decoration:none}.feed-item__title a:hover{color:var(--accent)}.feed-item__desc{margin:var(--space-2) 0 0;font-size:15px;line-height:24px}.feed-item__cover{margin:var(--space-3) 0 0}.feed-item__cover img{display:block;width:100%;height:auto;border:var(--hairline) solid var(--rule)}.feed-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-3)}.intro{margin-top:var(--content-top);padding:20px var(--space-5);background:var(--surface);border-radius:var(--radius-md)}@media (max-width: 880px){.intro{padding:var(--space-4)}}.intro__text{margin:0;font-size:17px;line-height:29px}@media (max-width: 880px){.intro__text{font-size:16px;line-height:27px}}.intro__note{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-style:italic;font-size:14px;line-height:22px;color:var(--ink-muted)}@media (max-width: 880px){.intro__note{font-size:13px;line-height:20px}}.sidebar{display:flex;flex-direction:column;gap:var(--space-6);padding-top:calc(var(--content-top) - 4px)}@media (max-width: 880px){.sidebar{padding-top:0}}.sidebar__section{border-top:var(--hairline) solid var(--accent);padding-top:var(--space-2)}.sidebar__section>.col-head{margin-bottom:var(--space-3)}.sidebar__list{list-style:none;margin:0;padding:0}.sidebar__list li{padding:5px 0;border-bottom:var(--hairline) solid var(--rule);font-size:15px;line-height:22px}.sidebar__list li:last-child{border-bottom:0}.sidebar__list a{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--ink);text-decoration:none}.sidebar__list a:hover{color:var(--accent)}.sidebar__list .meta{flex:none}@media (max-width: 880px){.sidebar__decoration{display:none}}.toc__label{display:block;margin-bottom:var(--space-3)}.toc__list{list-style:none;margin:0;padding:0}.toc>.toc__list{counter-reset:toc-h2;border-left:var(--hairline) solid var(--rule-strong)}.toc__list>li{counter-increment:toc-h2;counter-reset:toc-h3}.toc__link{display:block;padding:4px 0 4px var(--space-3);margin-left:-1px;border-left:var(--marker) solid rgba(0,0,0,0);font-size:14px;line-height:20px;color:var(--ink-muted);text-decoration:none;transition:color .12s,border-color .12s}.toc__link::before{content:counter(toc-h2);margin-right:6px;font-family:var(--font-mono);font-size:12px}.toc__link:hover{color:var(--ink)}.toc__link[aria-current=location]{color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft)}.toc__list .toc__list>li{counter-increment:toc-h3}.toc__list .toc__list .toc__link{padding-left:26px;font-size:13px}.toc__list .toc__list .toc__link::before{content:counter(toc-h2) "." counter(toc-h3)}.toc-mobile{display:none;margin-bottom:var(--space-5);border-top:var(--hairline) solid var(--rule);border-bottom:var(--hairline) solid var(--rule)}.toc-mobile__summary{display:flex;justify-content:space-between;padding:var(--space-3) 0;cursor:pointer;list-style:none}.toc-mobile__summary::-webkit-details-marker{display:none}.toc-mobile__summary::after{content:"+";font-family:var(--font-mono);color:var(--ink-muted)}.toc-mobile[open]>.toc-mobile__summary::after{content:"−"}.toc-mobile .toc{padding-bottom:var(--space-3)}.prose{font-size:17px;line-height:29px;counter-reset:prose-h2}@media (max-width: 880px){.prose{font-size:16px;line-height:27px}}.prose>*{margin-top:0;margin-bottom:var(--space-5)}.prose>:last-child{margin-bottom:0}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:4px 0}.prose li::marker{color:var(--accent)}.prose ol>li::marker{font-family:var(--font-mono);font-size:.82em}.prose strong{font-weight:600}.prose blockquote{margin-left:0;padding-left:var(--space-4);border-left:var(--marker) solid var(--rule-strong);color:var(--ink-muted);font-style:italic}.prose hr{border:0;text-align:center;margin:var(--space-7) 0;height:18px}.prose hr::before{content:"· · ·";font-family:var(--font-mono);color:var(--accent);letter-spacing:.4em}.prose :not(pre)>code{font-family:var(--font-mono);font-size:.86em;padding:1px 5px;background:var(--surface);border:var(--hairline) solid var(--rule);border-radius:var(--radius-sm)}.prose h4{margin:var(--space-6) 0 var(--space-2);font-size:17px;line-height:26px;font-weight:600}.prose h2,.prose h3{position:relative;font-family:var(--font-serif);font-weight:600;scroll-margin-top:var(--space-5)}.prose h2{counter-increment:prose-h2;counter-reset:prose-h3;margin:var(--space-7) 0 var(--space-4);font-size:26px;line-height:34px;letter-spacing:-.01em;font-variation-settings:"opsz" 28}@media (max-width: 880px){.prose h2{font-size:23px;line-height:30px}}.prose h2::before{content:counter(prose-h2)}.prose h3{counter-increment:prose-h3;margin:var(--space-6) 0 var(--space-3);font-size:21px;line-height:28px;font-variation-settings:"opsz" 22}@media (max-width: 880px){.prose h3{font-size:19px;line-height:26px}}.prose h3::before{content:counter(prose-h2) "." counter(prose-h3)}.prose h2::before,.prose h3::before{margin-right:.55em;font-family:var(--font-mono);font-weight:400;font-size:.62em;color:var(--accent);vertical-align:.14em}.prose .zola-anchor{margin-left:6px;padding:2px 4px;font-size:0;text-decoration:none;vertical-align:.12em}.prose .zola-anchor::before{content:"#";font:400 .7rem/1 var(--font-mono);font-size:.7em;color:var(--rule-strong);transition:color .12s}.prose h2:hover .zola-anchor::before,.prose h3:hover .zola-anchor::before,.prose .zola-anchor:focus-visible::before{color:var(--accent)}.callout{padding:var(--space-3) var(--space-4) var(--space-4);background:var(--surface);border:var(--hairline) solid var(--rule);border-radius:var(--radius-md);font-size:15px;line-height:24px}.callout__kind{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:var(--ink)}.callout__kind::before{content:"";flex:none;width:7px;height:7px;background:var(--accent)}.callout--warning .callout__kind::before{width:6px;height:6px;background:var(--ink);transform:rotate(45deg)}.callout--observation .callout__kind::before{width:5px;height:5px;background:rgba(0,0,0,0);border:1.5px solid var(--accent);border-radius:50%}.callout--tip .callout__kind::before{width:5px;height:5px;background:rgba(0,0,0,0);border:1.5px solid var(--accent)}.callout__body>:first-child{margin-top:0}.callout__body>:last-child{margin-bottom:0}.callout__body p{margin:0 0 var(--space-2)}.prose pre{position:relative;margin-left:0;margin-right:0;padding:var(--space-4) 64px var(--space-4) var(--space-4);background:var(--surface);border:var(--hairline) solid var(--rule);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:14px;line-height:22px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}@media (max-width: 880px){.prose pre{padding:26px var(--space-3) var(--space-3);font-size:13px;line-height:20px}}.prose pre[data-lang]::before{content:attr(data-lang);position:absolute;top:6px;right:10px;font-size:11px;line-height:16px;letter-spacing:.04em;color:var(--ink-muted);user-select:none}.prose pre code{font:inherit;background:none;border:0;padding:0}.figure{margin:var(--space-5) 0}.figure img,.figure svg,.figure video{display:block;max-width:100%;height:auto;margin:0 auto}.figure--frame img{border:var(--hairline) solid var(--rule)}.figure__caption{text-align:center;margin-top:var(--space-2)}.figure__caption b{font-weight:500;color:var(--ink)}.prose table,.table{width:100%;border-collapse:collapse;border:var(--hairline) solid var(--rule);font-size:15px;line-height:22px}.prose table th,.prose table td,.table th,.table td{padding:8px 12px;text-align:left;vertical-align:top;border-bottom:var(--hairline) solid var(--rule)}.prose table th,.table th{font-family:var(--font-mono);font-size:11px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border-bottom-color:var(--rule-strong)}.prose table tr:last-child td,.table tr:last-child td{border-bottom:0}.prose table td[style*="text-align: right"],.table td[style*="text-align: right"]{text-align:right;font-family:var(--font-mono);font-size:13.5px;font-variant-numeric:tabular-nums}.equation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:var(--space-5) 0;scroll-margin-top:var(--space-5)}.equation__body{grid-column:2;overflow-x:auto;font-size:1.05em}.equation__number{grid-column:3;justify-self:end}.equation-ref{font-family:var(--font-mono);font-size:.86em}.note-links{display:grid;grid-template-columns:1fr 1fr;gap:var(--toc-gap);margin-top:var(--space-8);padding-top:var(--space-5);border-top:var(--hairline) solid var(--ink)}@media (max-width: 880px){.note-links{grid-template-columns:minmax(0, 1fr);gap:var(--space-6)}}.note-links__head{display:flex;justify-content:space-between;margin:0 0 var(--space-3);color:var(--ink)}.note-links ul{list-style:none;margin:0;padding:0}.note-links li{padding:10px 0;border-bottom:var(--hairline) solid var(--rule)}.note-links li:first-child{padding-top:0}.note-links li a{font-family:var(--font-serif);font-size:17px;line-height:24px;font-weight:600;color:var(--ink);text-decoration:none}.note-links li a:hover{color:var(--accent)}.note-links li .meta{display:block;margin-top:2px}.note-links__col--back li a::before{content:"← ";font-family:var(--font-mono);font-weight:400;color:var(--accent)}.note-links__empty{margin:0;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-muted)}.contacts{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5);list-style:none;margin:0;padding:0;font-family:var(--font-mono);font-size:13px;line-height:20px}.contacts li{display:inline-flex;align-items:center}.contacts__icon{display:block;flex:none;width:16px;height:16px;margin-right:6px}.contacts__label{margin-right:6px;color:var(--ink-muted)}.contacts a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:.2em}.contacts a:hover{color:var(--accent);text-decoration-color:var(--accent)}.job{display:grid;grid-template-columns:56px minmax(0, 1fr);column-gap:var(--space-5);padding:40px 0;border-bottom:var(--hairline) solid var(--rule)}@media (max-width: 880px){.job{grid-template-columns:44px minmax(0, 1fr);column-gap:var(--space-4)}}.job:first-child{padding-top:0}.job:last-child{padding-bottom:0;border-bottom:0}.job__logo{grid-column:1;grid-row:1/span 5;align-self:start;margin-top:7px;width:56px;height:56px;border-radius:var(--radius-md);object-fit:cover}@media (max-width: 880px){.job__logo{grid-row:1/span 3;width:44px;height:44px}}.job__title{grid-column:2;margin:0;font-family:var(--font-serif);font-size:19px;line-height:26px;font-weight:600}.job__company,.job__period{grid-column:2;margin:0;font-size:14px;line-height:21px;color:var(--ink-muted)}.job__company{margin-top:2px}.job__summary{grid-column:2;margin:var(--space-2) 0 var(--space-3);max-width:60ch;font-size:15px;line-height:24px}@media (max-width: 880px){.job__summary{grid-column:1/-1}}.job__summary ul{margin:0;padding-left:1.2em;list-style:disc}.job__summary li{margin:2px 0}.job__summary li::marker{color:var(--accent)}.job__summary p{margin:0}.job>.tag-list{grid-column:2}@media (max-width: 880px){.job>.tag-list{grid-column:1/-1}}.home__feed-head{margin:var(--space-6) 0 var(--space-2)}.article-layout{display:grid;grid-template-columns:minmax(0, 1fr) var(--sidebar-width);column-gap:var(--toc-gap);align-items:start}@media (max-width: 880px){.article-layout{grid-template-columns:minmax(0, 1fr);column-gap:0}}.article-head{grid-column:1;grid-row:1;padding:calc(var(--content-top) - 28px) 0 var(--space-6);border-bottom:var(--hairline) solid var(--rule)}@media (max-width: 880px){.article-head{padding-bottom:var(--space-5)}}.article-head .field-mark{display:flex;margin-bottom:var(--space-3)}.article-head__title{margin:0;max-width:24em;font-family:var(--font-serif);font-size:40px;line-height:46px;font-weight:600;letter-spacing:-.015em;font-variation-settings:"opsz" 48;text-wrap:balance}@media (max-width: 880px){.article-head__title{font-size:30px;line-height:36px}}.article-head__desc{margin:var(--space-4) 0 0;max-width:40em;font-size:19px;line-height:31px;color:var(--ink-muted)}@media (max-width: 880px){.article-head__desc{font-size:17px;line-height:28px}}.article-head__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-5)}.article-main{grid-column:1;grid-row:2;min-width:0;padding-top:var(--space-6)}@media (max-width: 880px){.article-main{padding-top:var(--space-5)}}.article-toc{grid-column:2;grid-row:1/span 2;align-self:start;position:sticky;top:var(--space-5);max-height:calc(100vh - 48px);overflow:auto;padding-top:calc(var(--content-top) + 5px)}@media (max-width: 880px){.article-toc{display:none}}@media (max-width: 880px){.toc-mobile{display:block}}.profile{display:grid;grid-template-columns:minmax(0, 1fr) 136px;gap:var(--space-5);align-items:start;padding:var(--content-top) 0 var(--space-6);border-bottom:var(--hairline) solid var(--rule)}@media (max-width: 880px){.profile{grid-template-columns:minmax(0, 1fr) 88px;gap:var(--space-4)}}.profile__photo{display:block;width:136px;height:136px;object-fit:cover;filter:grayscale(0.25);border:var(--hairline) solid var(--rule);background:var(--surface)}@media (max-width: 880px){.profile__photo{width:88px;height:88px}}.profile__name{margin:0;font-family:var(--font-serif);font-size:32px;line-height:38px;font-weight:600;letter-spacing:-.01em}@media (max-width: 880px){.profile__name{font-size:26px;line-height:32px}}.profile__role{margin:4px 0 0;font-size:14px;line-height:21px;color:var(--ink-muted)}.profile__summary{margin:var(--space-3) 0 var(--space-4);max-width:38em;font-size:17px;line-height:28px}.about-section{padding:var(--space-6) 0;border-bottom:var(--hairline) solid var(--rule)}.about-section>*{max-width:var(--main-width)}.about-section__label{margin:0 0 var(--space-4);color:var(--ink)}.skills{display:flex;flex-direction:column;gap:var(--space-4)}.skill-group__title{margin:0;font-size:15px;line-height:22px;font-weight:600}.skill-group__list{list-style:none;margin:2px 0 0;padding:0;font-size:14px;line-height:21px;color:var(--ink-muted)}.skill-group__list li{display:inline;white-space:nowrap}.skill-group__list li+li::before{content:" · ";white-space:normal}.jobs{list-style:none;margin:0;padding:0}