@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");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-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-cyrillic-500-normal.DmUKJPL_.woff2) format("woff2"),url(/_astro/jetbrains-mono-cyrillic-500-normal.DJqRU3vO.woff) format("woff");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-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-greek-500-normal.JpySY46c.woff2) format("woff2"),url(/_astro/jetbrains-mono-greek-500-normal.D7SFKleX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(/_astro/jetbrains-mono-vietnamese-500-normal.DNRqzVM1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-ext-500-normal.Cut-4mMH.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-ext-500-normal.ckzbgY84.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2) format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff) format("woff");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}:root[data-theme=light]{--bg: #f6f4ee;--panel: #ffffff;--border: #d2cfc4;--border-soft: #e8e6dc;--text: #14171c;--muted: #5d6068;--accent: #2a4cd6;--active: #1f3eb8;--warm: #d97757;--accent-tint: rgba(42, 76, 214, .1);--focus-ring: rgba(42, 76, 214, .32);color-scheme:light}:root[data-theme=dark]{--bg: #161a22;--panel: #1e242f;--border: #323844;--border-soft: #262c37;--text: #e6e8ed;--muted: #8f96a3;--accent: #6488ff;--active: #7c9bff;--warm: #f2a275;--accent-tint: rgba(100, 136, 255, .14);--focus-ring: rgba(124, 155, 255, .45);color-scheme:dark}:root:not([data-theme]){color-scheme:dark;--bg: #161a22;--panel: #1e242f;--border: #323844;--border-soft: #262c37;--text: #e6e8ed;--muted: #8f96a3;--accent: #6488ff;--active: #7c9bff;--warm: #f2a275;--accent-tint: rgba(100, 136, 255, .14);--focus-ring: rgba(124, 155, 255, .45)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}html,body{background:var(--bg);color:var(--text);font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01","ss03";font-size:15.5px;line-height:1.62;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}@media(max-width:640px){html,body{font-size:14.5px}}a{color:var(--accent);transition:color .15s ease}a:hover{color:var(--active)}::selection{background:var(--accent-tint);color:var(--text)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;top:-40px;left:8px;z-index:100;padding:8px 14px;background:var(--accent);color:#fff;border-radius:6px;font-size:13px;font-weight:500;transition:top .15s ease}.skip-link:focus{top:8px;color:#fff}:root{--col-offset: 24px;--col-width: 720px}@media(min-width:800px){:root{--col-offset: clamp(24px, 7vw, 120px)}}.container{width:auto;max-width:var(--col-width);margin-left:var(--col-offset);margin-right:24px;padding:0}section{padding:56px 0}@media(max-width:640px){section{padding:40px 0}}h1,h2,h3{font-weight:600;letter-spacing:-.015em;line-height:1.2;color:var(--text)}.h-display{font-size:clamp(38px,5.4vw,56px);font-weight:600;letter-spacing:-.025em;line-height:1.05}.h-display .accent{color:var(--accent)}.h-section{font-size:clamp(20px,2.3vw,24px);letter-spacing:-.012em;margin-bottom:18px;font-weight:600}.h-section.lowercase{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;display:inline-flex;align-items:center;gap:8px}.h-section.lowercase:before{content:"";display:block;width:10px;height:1px;background:var(--accent)}.section-eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;display:inline-flex;align-items:center;gap:8px}.section-eyebrow:before{content:"";display:block;width:10px;height:1px;background:var(--accent)}.lead{font-size:clamp(15.5px,1.4vw,18px);color:var(--muted);line-height:1.62;max-width:62ch}p{max-width:68ch}.muted{color:var(--muted)}.site-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border-soft)}.site-nav .nav-inner{display:flex;align-items:center;justify-content:space-between;height:52px;gap:16px;max-width:var(--col-width);margin-left:var(--col-offset);margin-right:24px}.site-nav .nav-links{display:flex;align-items:center;gap:22px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;letter-spacing:.02em;color:var(--muted)}.site-nav .nav-links a{color:var(--muted)}.site-nav .nav-links a:hover{color:var(--text)}@media(max-width:720px){.site-nav .nav-links{display:none}}.nav-actions{display:flex;align-items:center;gap:8px}.lang-switcher{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 8px;border-radius:5px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;font-weight:500;letter-spacing:.06em;color:var(--muted);border:1px solid var(--border-soft);background:transparent;transition:background .15s,color .15s,border-color .15s}.lang-switcher:hover{color:var(--text);border-color:var(--border);background:var(--accent-tint)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:5px;color:var(--muted);border:1px solid var(--border-soft);background:transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--text);border-color:var(--border);background:var(--accent-tint)}.theme-toggle svg{width:15px;height:15px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.brand-lockup{display:inline-flex;align-items:center;gap:9px;color:var(--text)}.brand-mark{width:22px;height:22px;color:var(--accent);flex-shrink:0}.wordmark{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:500;letter-spacing:-.02em;white-space:nowrap}.wordmark .wm-tail{color:var(--accent)}.wordmark.wm-sm{font-size:15.5px}.hero{padding-top:80px;padding-bottom:64px;position:relative}.cad-sketch{display:none;position:absolute;top:84px;right:var(--col-offset);width:280px;pointer-events:none;color:var(--muted);opacity:.7}.cad-sketch svg{width:100%;height:auto}@media(min-width:1100px){.cad-sketch{display:block}}@media(min-width:1400px){.cad-sketch{width:320px;right:max(var(--col-offset),80px)}}.hero .hero-line{display:inline-flex;align-items:center;gap:10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;letter-spacing:.04em;color:var(--muted);margin-bottom:28px;text-transform:uppercase}.hero .hero-line .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.hero h1{margin-bottom:24px}.hero .manifesto{font-size:clamp(15.5px,1.4vw,18px);color:var(--muted);max-width:58ch;line-height:1.66}@media(max-width:640px){.hero{padding-top:48px;padding-bottom:40px}}.log-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}.log-item{display:grid;grid-template-columns:24px 1fr;align-items:baseline;gap:6px;font-size:15px;line-height:1.6;color:var(--text)}.log-marker{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;color:var(--accent);font-weight:500;user-select:none}.log-body{color:var(--text)}.log-body code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88em;padding:1px 5px;background:var(--border-soft);border-radius:4px;color:var(--text)}.log-body del{color:var(--muted);text-decoration-color:var(--muted);text-decoration-thickness:1px}.log-link{color:var(--text);font-weight:600;border-bottom:1px solid var(--border);padding-bottom:1px;transition:color .15s,border-color .15s}.log-link:hover{color:var(--accent);border-color:var(--accent)}.log-link.as-text{border-bottom:none;padding-bottom:0;cursor:default}.log-meta{display:inline-block;margin-left:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;letter-spacing:.04em;color:var(--muted);padding:1px 7px;border-radius:999px;border:1px solid var(--border-soft);white-space:nowrap}.log-desc{color:var(--muted);margin-left:4px}.log-aside{margin-top:20px;font-size:13.5px;color:var(--muted);font-style:italic;max-width:64ch}.log-aside a{font-style:normal;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;letter-spacing:.02em}.about-content p+p{margin-top:14px}.about-content p{color:var(--text);max-width:64ch}.about-content p strong{color:var(--text);font-weight:600}.contact-line{font-size:clamp(15px,1.4vw,17px);line-height:1.65;color:var(--text);max-width:62ch}.contact-line a{color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.92em;font-weight:500;border-bottom:1px solid var(--accent-tint);padding-bottom:1px;transition:border-color .15s,color .15s}.contact-line a:hover{border-color:var(--accent);color:var(--active)}.contact-aside{margin-top:14px;color:var(--muted);font-size:14px;max-width:62ch}.contact-form{margin-top:28px;padding-top:24px;border-top:1px dashed var(--border-soft);max-width:62ch}.contact-form-intro{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin-bottom:14px}.contact-form textarea,.contact-form input[type=text],.contact-form input[type=email]{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);padding:10px 0;color:var(--text);font-family:inherit;font-size:15px;line-height:1.55;resize:vertical;transition:border-color .15s ease;border-radius:0}.contact-form textarea{min-height:90px}.contact-form textarea::placeholder,.contact-form input::placeholder{color:var(--muted);opacity:.7}.contact-form textarea:focus,.contact-form input:focus{outline:none;border-bottom-color:var(--accent)}.contact-form-row{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-top:14px}@media(max-width:640px){.contact-form-row{grid-template-columns:1fr}}.contact-form-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:baseline}.contact-form-submit{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13.5px;font-weight:500;letter-spacing:.02em;color:var(--accent);background:transparent;border:0;padding:0;cursor:pointer;transition:color .15s ease}.contact-form-submit:hover:not(:disabled){color:var(--active)}.contact-form-submit:disabled{cursor:not-allowed;opacity:.6}.contact-form-status{margin:0;font-size:13px;color:var(--muted);min-height:1.5em}.contact-form-status[data-kind=success]{color:var(--accent)}.contact-form-status[data-kind=error]{color:var(--warm)}.site-footer{border-top:1px solid var(--border-soft);padding:24px 0 32px;font-size:12.5px;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.02em}.site-footer .footer-inner{display:flex;flex-direction:column;gap:12px;max-width:var(--col-width);margin-left:var(--col-offset);margin-right:24px}.site-footer .footer-line{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:baseline}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--text)}.site-footer .footer-meta{margin:0;padding-top:12px;border-top:1px dashed var(--border-soft);display:flex;flex-direction:column;gap:6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;letter-spacing:.02em}.site-footer .footer-meta-row{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:baseline}.site-footer .footer-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.site-footer .footer-meta dd{margin:0;color:var(--text);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.site-footer .footer-meta dd a{color:var(--text);border-bottom:1px solid var(--border);padding-bottom:1px;transition:color .15s,border-color .15s}.site-footer .footer-meta dd a:hover{color:var(--accent);border-color:var(--accent)}.site-footer .footer-meta-date{color:var(--muted)}@media(max-width:640px){.site-footer .footer-meta-row{grid-template-columns:1fr;gap:2px}}.site-footer .footer-tail{color:var(--muted);font-style:italic}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:7px;font-size:14px;font-weight:500;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--active);color:#fff}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.page-head{padding-top:56px;padding-bottom:32px}.page-body{padding-top:16px}.entry-list{display:flex;flex-direction:column;gap:0}.entry-card{border-top:1px solid var(--border-soft)}.entry-card:last-child{border-bottom:1px solid var(--border-soft)}.entry-card a{display:block;padding:22px 0 24px;color:var(--text)}.entry-card a:hover .entry-title{color:var(--accent)}.entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.02em;margin-bottom:8px}.entry-meta time{color:var(--muted)}.entry-meta .dot-sep{color:var(--border)}.entry-meta strong{color:var(--text);font-family:Inter Variable,Inter,sans-serif;font-weight:600;letter-spacing:0}.entry-title{font-size:clamp(20px,2.2vw,24px);margin-bottom:6px;transition:color .15s ease;letter-spacing:-.014em}.entry-summary{color:var(--muted);font-size:14.5px;max-width:64ch;margin-bottom:10px}.entry-tags{display:flex;flex-wrap:wrap;gap:6px;font-size:11.5px}.entry-tags .tag{display:inline-flex;padding:1px 8px;border-radius:999px;background:var(--accent-tint);color:var(--accent);font-weight:500}.article{padding:48px 0 72px}.article-container{max-width:var(--col-width)}.article-back{font-size:12.5px;margin-bottom:20px}.article-back a{color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-weight:500;letter-spacing:.02em}.article-back a:hover{color:var(--accent)}.article-head{margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid var(--border-soft)}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.02em;margin-bottom:16px}.article-meta .dot-sep{color:var(--border)}.article-meta strong{color:var(--text);font-family:Inter Variable,Inter,sans-serif;font-weight:600;letter-spacing:0}.article-meta .article-tags-inline{text-transform:uppercase;font-size:11px;letter-spacing:.06em}.article-head h1{font-size:clamp(28px,3.8vw,40px);letter-spacing:-.022em;line-height:1.14;margin-bottom:16px}.article-summary{font-size:clamp(15.5px,1.4vw,18px);color:var(--muted);line-height:1.6;max-width:62ch;margin-bottom:20px}.article-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}.article-stack{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px}.article-stack .stack-label{color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-weight:500;margin-right:4px}.article-stack .tag{display:inline-flex;padding:1px 8px;border-radius:999px;background:var(--border-soft);color:var(--text);font-weight:500}.prose{color:var(--text);font-size:16.5px;line-height:1.74;max-width:68ch}.prose>*+*{margin-top:18px}.prose h2{font-size:clamp(21px,2.2vw,26px);letter-spacing:-.016em;margin-top:44px;margin-bottom:4px;line-height:1.25}.prose h3{font-size:clamp(18px,2vw,21px);letter-spacing:-.012em;margin-top:32px;margin-bottom:4px}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose p{max-width:68ch;color:var(--text)}.prose .muted,.prose em{color:var(--muted)}.prose strong{font-weight:600;color:var(--text)}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--accent-tint);transition:text-decoration-color .15s,color .15s}.prose a:hover{color:var(--active);text-decoration-color:var(--accent)}.prose ul,.prose ol{padding-left:24px;list-style:revert}.prose ul li,.prose ol li{margin-top:6px}.prose ul li::marker{color:var(--accent)}.prose blockquote{padding:8px 18px;border-left:3px solid var(--accent);color:var(--muted);margin-left:0}.prose blockquote p{margin:0}.prose code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.88em;padding:2px 6px;background:var(--border-soft);border-radius:4px;color:var(--text)}.prose pre{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.6;padding:16px 18px;background:var(--panel);border:1px solid var(--border-soft);border-radius:7px;overflow-x:auto;margin-top:20px}.prose pre code{padding:0;background:transparent;border-radius:0;font-size:inherit}.prose pre.astro-code{background:var(--panel)!important}.prose hr{border:none;border-top:1px solid var(--border-soft);margin:32px 0}.prose table{width:100%;border-collapse:collapse;font-size:14px;margin-top:16px}.prose table th,.prose table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.prose table th{color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}.prose img{border-radius:7px;border:1px solid var(--border-soft);margin-top:16px}.article-foot{margin-top:48px;padding-top:26px;border-top:1px solid var(--border-soft)}.article-byline{font-size:14px;color:var(--muted);line-height:1.65;max-width:62ch}.article-byline strong{color:var(--text);font-weight:600}.article-byline a{color:var(--accent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.92em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
