@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg:#000018;--panel:#1e1e28b3;--panel-solid:#151523;--line:#d4af3740;--heading:#f5f1e8;--ink:#c9b9a1;--label:#d6d2c8;--muted:#94a3b8;--accent:#d4af37;--accent-soft:#d4af371f;--code-bg:#0b0b1e;--code-ink:#e1e4e8;--font:"Geist Mono Variable", "Geist Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html{opacity:.95;color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--bg);max-width:1280px;margin:0 auto;padding:0 32px;font-size:14px;line-height:1.7}h1,h2,h3,h4{color:var(--heading);margin:0;font-weight:700;line-height:1.4}strong,b{color:var(--heading)}p,ul,ol{margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--heading);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{background:var(--accent-soft)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.plain{text-decoration:none}a.plain:hover{opacity:.7;background:0 0}a.bold{font-weight:700}::selection{color:var(--ink);background:#d4af3759}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{position:absolute;left:-9999px}.skip:focus{background:var(--accent);color:var(--bg);padding:4px 8px;top:8px;left:32px}.muted{color:var(--muted)}.label{text-transform:uppercase;color:var(--label);letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:700}.section-title{text-transform:uppercase;color:var(--label);letter-spacing:.08em;margin-bottom:12px;font-size:12px;font-weight:700}.more{letter-spacing:.08em;color:var(--label);font-size:12px}.rule{border:0;border-top:1px solid var(--line);height:0;margin:32px 0}.banner{border-bottom:1px solid var(--line);padding:16px 0 12px;font-size:12px;line-height:1.6}.banner a{text-transform:uppercase;font-weight:700}.shell{grid-template-columns:minmax(0,1fr) 160px;gap:16px;display:grid}.shell>.rail-ads{padding-top:16px}.site-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:32px 0 24px;display:flex}.brand{text-decoration:none;display:block}.brand:hover{background:0 0}.brand strong{color:var(--heading);letter-spacing:.04em;text-transform:uppercase;font-size:16px;display:block}.brand span{color:var(--muted)}.site-nav{flex-direction:column;align-items:flex-end;display:flex}.site-nav a{color:var(--label);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;text-decoration:none;display:inline-flex}.site-nav a:before{content:"";background:#d6d2c859;width:12px;height:1px}.site-nav a:hover{background:var(--accent-soft);color:var(--heading)}.site-nav a[aria-current=page]{color:var(--accent)}.site-nav a[aria-current=page]:before{background:var(--accent)}.home{max-width:688px}.search-box{border:1px solid var(--line);background:var(--panel);width:100%;height:40px;color:var(--ink);font:inherit;padding:0 20px;font-size:14px;display:block}.search-box::placeholder{color:var(--muted)}.post-list{padding:0;list-style:none}.post-list li{margin-bottom:4px;padding-left:16px;position:relative}.post-list li:before{content:"-";position:absolute;left:0}.post-list .date{color:var(--muted);margin-left:6px;font-size:12px}.post-list a,.featured a{color:var(--heading)}.featured{background:var(--panel);border-left:2px solid var(--accent);margin:4px 0 12px;padding:12px}.featured .tag{text-transform:uppercase;margin-right:6px;font-size:12px;font-weight:700}.featured p{margin-top:4px}.about-card h2{text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px;font-size:20px}.contact-lines p{margin:0}.side-title{text-transform:uppercase;letter-spacing:.02em;margin-bottom:8px;font-size:20px;line-height:1.4}.newsletter label.label{color:var(--ink);margin-top:16px;display:block}.newsletter input[type=email]{border:1px solid var(--line);background:var(--panel);width:100%;height:40px;color:var(--ink);font:inherit;padding:0 12px;display:block}.btn{background:var(--accent);width:100%;height:40px;color:var(--bg);font:inherit;cursor:pointer;border:0;margin-top:8px;font-weight:700;display:block}.btn:hover{filter:brightness(1.1)}.fine{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6}.topic-list{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--line);padding:4px 10px;font-size:12px;text-decoration:none;display:inline-block}.chip:hover{background:var(--accent-soft);border-color:var(--accent)}.rail-box{background:var(--panel);margin-bottom:16px;padding:12px;font-size:11.2px;line-height:1.4;text-decoration:none;display:block}.rail-box .label{text-align:right;margin-bottom:12px;font-size:9px}.rail-box strong{text-transform:uppercase;margin-bottom:4px;display:block}.rail-box p{color:var(--muted);font-weight:400}.rail-box.outline{border:1px solid var(--line);background:0 0}.post-wrap{grid-template-columns:312px 632px minmax(0,1fr);gap:32px;padding-top:8px;display:grid}.toc{align-self:start;font-size:12px;line-height:1.5;position:sticky;top:24px}.toc ol{padding:0;list-style:none}.toc li{margin-bottom:6px;padding-left:12px;position:relative}.toc li:before{content:"-";position:absolute;left:0}.toc li.depth-3{margin-left:12px}.crumbs{color:var(--muted);margin-bottom:8px;font-size:12px}.post-title{text-transform:uppercase;margin-bottom:4px;font-size:20px;line-height:28px}.byline{color:var(--muted);margin-bottom:24px}.lede{color:var(--muted);margin-bottom:0;font-size:12px}.prose{font-size:14px;line-height:1.7}.prose>*+*{margin-top:1em}.prose h2{text-transform:uppercase;margin:42px 0 21px;font-size:21px;line-height:28px}.prose h3{margin:32px 0 12px;font-size:16px}.prose ul,.prose ol{margin:17.5px 0;padding-left:22.75px}.prose li{margin:7px 0 4px;padding-left:5px}.prose li::marker{color:var(--muted)}.prose code{font-family:var(--font);background:var(--panel);border:1px solid var(--line);padding:2px 4px;font-size:12.25px;font-weight:600}.prose pre{color:var(--code-ink);margin:21px 0;padding:10.5px 14px;font-size:12.25px;line-height:1.7;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{background:0 0;border:0;padding:0;font-weight:400}.prose blockquote{border-left:2px solid var(--accent);background:var(--panel);margin:21px 0;padding:8px 16px}.prose table{border-collapse:collapse;width:100%;margin:24.5px 0;font-size:12.25px;display:block;overflow-x:auto}.prose th{text-align:left;border-bottom:1px solid var(--line);padding:0 7px 7px 0;font-weight:600}.prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 7px 7px 0}.prose hr{border:0;border-top:1px solid var(--line);height:0;margin:32px 0}.prose img{border:1px solid var(--line);margin:24px 0}.tags-line{margin-top:32px;font-size:12px}.related{margin-top:32px}.site-footer{margin-top:64px;padding-bottom:40px}.footer-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;display:grid}.footer-cols ul{padding:0;list-style:none}.footer-cols li{padding-left:16px;position:relative}.footer-cols li:before{content:"-";position:absolute;left:0}.copyright{color:var(--muted);margin-top:40px;font-size:12px}.archive-year{margin:32px 0 12px;font-size:14px;font-weight:700}.page-title{text-transform:uppercase;margin-bottom:8px;font-size:20px}.wall-form{max-width:632px;margin-top:24px}.wall-canvas{aspect-ratio:2;background:var(--panel-solid);border:1px solid var(--line);touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.wall-tools{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.wall-tools .fine{margin-top:0}.btn-ghost{border:1px solid var(--line);height:32px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;flex:none;padding:0 14px;font-size:12px}.btn-ghost:hover{background:var(--accent-soft);border-color:var(--accent)}.wall-form label.label{color:var(--ink);margin-top:16px;display:block}.wall-input{border:1px solid var(--line);background:var(--panel);width:100%;height:40px;color:var(--ink);font:inherit;padding:0 12px;display:block}.wall-consent{align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;line-height:1.6;display:flex}.wall-consent input{accent-color:var(--accent);flex:none;margin:3px 0 0}.wall-consent input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wall-heading{margin-top:48px}.wall-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 16px;padding:0;list-style:none;display:grid}.wall-grid svg{background:var(--panel);fill:none;width:100%;height:auto;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;display:block}.wall-name{overflow-wrap:anywhere;margin-top:6px;font-weight:700}.wall-date{color:var(--muted);font-size:12px}.admin-form{max-width:400px;margin-top:24px}.admin-form label.label{color:var(--ink);display:block}#search{--pagefind-ui-font:var(--font);--pagefind-ui-primary:var(--accent);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--panel);--pagefind-ui-border:#d4af374d;--pagefind-ui-tag:var(--panel);--pagefind-ui-border-radius:0;--pagefind-ui-scale:.85}#search mark{color:var(--ink);background:#d4af3740}@media (width<=1240px){.post-wrap{grid-template-columns:240px minmax(0,632px)}.post-wrap .post-rail{display:none}}@media (width<=1100px){.shell{grid-template-columns:minmax(0,1fr)}.shell>.rail-ads{display:none}}@media (width<=860px){body{padding:0 16px}.post-wrap{grid-template-columns:minmax(0,1fr)}.toc{border:1px solid var(--line);padding:12px;position:static}.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.site-header{flex-direction:column}.site-nav{flex-flow:wrap;align-items:flex-start;gap:0 12px}}
