:root{--void:#0a0a0a;--surface:#141414;--surface-2:#1b1b1b;--line:#262626;--ink:#ededed;--ink-dim:#8c8c8c;--ink-faint:#5a5a5a;--add:#62c98a;--add-bg:#62c98a1a;--del:#e0675f;--del-bg:#e0675f1a;--col:680px}.blog-shell{background:var(--void);min-height:100vh;color:var(--ink);font-family:var(--font-inter), "Helvetica Neue", system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:19px;line-height:1.7;position:relative}.blog-shell:before{content:"";z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:160px 160px;position:fixed;inset:0}.blog-shell>*{z-index:2;position:relative}.blog-container{width:100%;max-width:1100px;margin:0 auto;padding-left:32px;padding-right:32px}@media (max-width:640px){.blog-container{padding-left:20px;padding-right:20px}}.blog-shell .font-display{font-family:var(--font-fraunces), Georgia, "Times New Roman", serif;font-optical-sizing:auto}.blog-shell .font-mono{font-family:var(--font-jetbrains), ui-monospace, "SF Mono", Menlo, monospace}.blog-shell .h1-hero{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.015em;max-width:18ch;font-size:clamp(36px,6vw,70px);font-weight:400;line-height:1.08}.blog-shell .h2-article{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.02em;max-width:20ch;font-size:clamp(32px,5vw,54px);font-weight:400;line-height:1.1}.blog-shell .h2-section{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.01em;font-size:clamp(28px,3.6vw,42px);font-weight:500;line-height:1.15}.blog-shell .h3-index{font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(22px,2.4vw,30px);font-weight:400;line-height:1.2}.blog-shell .lead{color:var(--ink);font-size:22px;line-height:1.6}.blog-shell .meta{font-family:var(--font-jetbrains), ui-monospace, monospace;letter-spacing:.04em;color:var(--ink-dim);font-size:14px}.blog-shell a{color:inherit;text-decoration:none}.blog-link{color:var(--ink);box-shadow:inset 0 -1px 0 var(--line);transition:box-shadow .2s,color .2s}.blog-link:hover{color:var(--add);box-shadow:inset 0 -1px 0 var(--add)}.blog-shell a:focus-visible,.blog-shell button:focus-visible,.blog-shell [tabindex]:focus-visible{outline:2px solid var(--add);outline-offset:3px;border-radius:2px}.blog-nav{z-index:50;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#0a0a0ab3;align-items:center;height:64px;display:flex;position:sticky;top:0}.blog-nav__inner{justify-content:space-between;align-items:center;width:100%;display:flex}.blog-brand{font-family:var(--font-jetbrains), monospace;letter-spacing:.02em;color:var(--ink);font-size:16px;font-weight:500}.blog-brand .dot{color:var(--add)}.blog-nav__links{align-items:center;gap:26px;display:flex}.blog-nav__link{font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);font-size:15px;transition:color .2s}.blog-nav__link:hover,.blog-nav__link[aria-current=page],.blog-nav__offers-toggle.is-active{color:var(--ink)}.blog-nav__cta{font-family:var(--font-jetbrains), monospace;color:var(--ink);border:1px solid var(--line);padding:6px 12px;font-size:14px;transition:border-color .2s,color .2s}.blog-nav__cta:hover{border-color:var(--ink)}.blog-nav__offers{position:relative}.blog-nav__offers-toggle{cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;display:inline-flex}.blog-nav__caret{font-size:10px;transition:transform .2s}.blog-nav__caret.is-open{transform:rotate(180deg)}.blog-nav__offers-menu{z-index:60;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);background:#141414fa;width:264px;margin:0;padding:6px 0;list-style:none;position:absolute;top:calc(100% + 12px);left:0}.blog-nav__offers-item{color:var(--ink-dim);padding:9px 16px;transition:color .2s,background-color .2s;display:block}.blog-nav__offers-item:hover,.blog-nav__offers-item[aria-current=page]{color:var(--ink);background:var(--surface-2)}.blog-nav__offers-title{font-family:var(--font-inter), sans-serif;font-size:15px;display:block}.blog-nav__offers-meta{font-family:var(--font-jetbrains), monospace;color:var(--ink-faint);margin-top:2px;font-size:12px;display:block}.blog-nav__offers-compare{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.blog-nav__offers-compare .blog-nav__offers-item{font-family:var(--font-jetbrains), monospace;font-size:14px}@media (max-width:640px){.blog-nav{height:auto;min-height:64px;padding-top:12px;padding-bottom:12px}.blog-nav__inner{flex-wrap:wrap;justify-content:flex-start;row-gap:10px}.blog-nav__inner>nav{width:100%}.blog-nav__links{flex-wrap:wrap;gap:12px 18px}.blog-nav__cta{display:none}}.blog-footer{border-top:1px solid var(--line);margin-top:96px;padding:56px 0 40px}.blog-footer__grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.blog-footer__col-title{font-family:var(--font-jetbrains), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:16px;font-size:13px}.blog-footer__col-links{flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.blog-footer__col-links a{color:var(--ink-dim);font-size:15px;transition:color .2s}.blog-footer__col-links a:hover{color:var(--add)}.blog-footer__legal{border-top:1px solid var(--line);font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);margin-top:48px;padding-top:24px;font-size:13px}@media (max-width:640px){.blog-footer__grid{grid-template-columns:1fr;gap:32px}}.blog-progress{background:var(--add);z-index:60;width:0%;height:2px;transition:width 80ms linear;position:fixed;top:0;left:0}.article-back{font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);box-shadow:none;align-items:center;gap:6px;margin-bottom:32px;font-size:15px;transition:color .2s,gap .2s;display:inline-flex}.article-back:hover{color:var(--add);gap:10px}.blog-to-top{z-index:55;font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);cursor:pointer;opacity:0;pointer-events:none;background:#141414d9;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:14px;transition:opacity .2s,transform .2s,color .2s,border-color .2s;display:inline-flex;position:fixed;bottom:24px;right:24px;transform:translateY(8px)}.blog-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.blog-to-top:hover{color:var(--ink);border-color:var(--add)}@media (prefers-reduced-motion:reduce){.blog-to-top{transition:opacity .2s,color .2s,border-color .2s;transform:none}}.hero-stage{cursor:default;display:inline-block;position:relative}.hero-layer{margin:0}.layer-friction{pointer-events:none;-webkit-mask-image:radial-gradient(circle 150px at var(--mx,-300px) var(--my,-300px), #000 0%, #000 52%, transparent 100%);-webkit-mask-image:radial-gradient(circle 150px at var(--mx,-300px) var(--my,-300px), #000 0%, #000 52%, transparent 100%);mask-image:radial-gradient(circle 150px at var(--mx,-300px) var(--my,-300px), #000 0%, #000 52%, transparent 100%);position:absolute;inset:0}.layer-friction .fword:before,.layer-friction .hero-anno:before{content:attr(data-w)}.layer-friction .del{color:var(--del);text-decoration:line-through;-webkit-text-decoration-color:var(--del);text-decoration-color:var(--del)}.layer-friction .flag{border-bottom:2px solid var(--del)}.hero-anno{font-family:var(--font-jetbrains), monospace;letter-spacing:.03em;white-space:nowrap;font-size:14px;position:absolute}.hero-anno.fric{color:var(--del)}.hero-anno.fix{color:var(--add)}.lamp{pointer-events:none;opacity:0;background:radial-gradient(circle 150px at var(--mx,-300px) var(--my,-300px), #62c98a12, transparent 60%);transition:opacity .25s;position:absolute;inset:0}.hero-stage:hover .lamp{opacity:1}@media (hover:none){.layer-friction{opacity:.92;-webkit-mask-image:none;mask-image:none}.lamp{display:none}}@media (prefers-reduced-motion:reduce){.layer-friction{opacity:.92;-webkit-mask-image:none;mask-image:none}.lamp,.blog-progress{transition:none}}.index-filter{flex-wrap:wrap;gap:10px;margin-bottom:40px;display:flex}.index-tag{font-family:var(--font-jetbrains), monospace;letter-spacing:.02em;color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:7px 16px;font-size:14px;transition:color .2s,border-color .2s,background .2s}.index-tag:hover{color:var(--ink);border-color:var(--ink-faint)}.index-tag.is-active{color:var(--void);background:var(--add);border-color:var(--add)}.index-list{border-top:1px solid var(--line)}.index-row{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:baseline;gap:24px;padding:28px 8px;transition:background .2s,padding-left .2s;display:grid}.index-row:hover{background:var(--surface);padding-left:20px}.index-num{font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);font-size:15px;transition:color .2s}.index-row:hover .index-num{color:var(--add)}.index-main{min-width:0}.index-title{font-family:var(--font-fraunces), Georgia, serif;color:var(--ink);font-size:clamp(22px,2.4vw,30px);font-weight:400;line-height:1.2;display:block}.index-meta{font-family:var(--font-jetbrains), monospace;letter-spacing:.03em;color:var(--ink-dim);margin-top:8px;font-size:14px;display:block}.index-cat{color:var(--add)}.index-probe{font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);white-space:nowrap;opacity:0;font-size:14px;transition:opacity .2s,transform .2s;transform:translate(8px)}.index-row:hover .index-probe{opacity:1;transform:translate(0)}.index-probe .caret{color:var(--add)}@media (max-width:640px){.index-row{grid-template-columns:40px 1fr}.index-probe{display:none}}.article-header{border-bottom:1px solid var(--line);padding-top:56px;padding-bottom:32px}.article-kicker{font-family:var(--font-jetbrains), monospace;letter-spacing:.04em;color:var(--ink-dim);margin-bottom:20px;font-size:15px}.article-kicker .add{color:var(--add)}.article-meta{font-family:var(--font-jetbrains), monospace;letter-spacing:.03em;color:var(--ink-dim);flex-wrap:wrap;gap:8px 18px;margin-top:24px;font-size:14px;display:flex}.article-meta .cat{color:var(--add)}.article-shell{grid-template-columns:200px minmax(0, var(--col));align-items:start;gap:56px;display:grid}.article-main{min-width:0}.article-cover{border:1px solid var(--line);border-radius:12px;width:100%;height:auto;margin-top:8px;display:block}.article-body{padding-top:48px}.article-prose{min-width:0}.toc{align-self:start;position:sticky;top:88px}.toc__toggle{display:none}.toc__title{font-family:var(--font-jetbrains), monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:16px;font-size:13px}.toc__list{border-left:1px solid var(--line);flex-direction:column;gap:11px;margin:0;padding:0;list-style:none;display:flex}.toc__link{font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);box-shadow:none;border-left:2px solid #0000;margin-left:-1px;padding-left:14px;font-size:14.5px;line-height:1.4;transition:color .2s,border-color .2s;display:block}.toc__link:hover{color:var(--ink);box-shadow:none}.toc__link.is-active{color:var(--add);border-left-color:var(--add)}@media (max-width:900px){.article-shell{grid-template-columns:1fr;gap:0}.toc{border:1px solid var(--line);border-radius:8px;margin-bottom:28px;position:static}.toc__title{display:none}.toc__toggle{cursor:pointer;width:100%;font-family:var(--font-jetbrains), monospace;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;padding:13px 16px;font-size:15px;display:flex}.toc__toggle:after{content:"▾";color:var(--ink-dim);transition:transform .2s;display:inline-block}.toc__toggle[aria-expanded=true]:after{transform:rotate(180deg)}.toc__list{border-left:none;padding:4px 16px 14px;display:none}.toc__list.is-open{display:flex}}.article-prose>p{color:#d6d6d6;margin:0 0 26px;font-size:19px;line-height:1.7}.article-prose>p.lead,.article-prose>.lead,.article-prose>p:first-of-type{color:var(--ink);font-size:22px}.margin-note p,.diagnostic__body p,.scancta__body p{font-size:inherit;color:inherit;line-height:inherit;margin:0}.article-prose h2{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.01em;color:var(--ink);margin:56px 0 20px;font-size:clamp(28px,3.6vw,42px);font-weight:500;line-height:1.15}.article-prose h3{font-family:var(--font-fraunces), Georgia, serif;color:var(--ink);margin:40px 0 16px;font-size:26px;font-weight:500;line-height:1.25}.article-prose h4{font-family:var(--font-fraunces), Georgia, serif;color:var(--ink);margin:32px 0 12px;font-size:26px;font-weight:500}.article-prose ul,.article-prose ol{color:#d6d6d6;margin:0 0 26px;padding-left:24px}.article-prose li{margin:0 0 10px}.article-prose ul li::marker{color:var(--ink-faint)}.article-prose blockquote{border-left:2px solid var(--line);font-family:var(--font-fraunces), Georgia, serif;color:var(--ink);margin:32px 0;padding:4px 0 4px 24px;font-size:24px;font-style:italic;line-height:1.5}.article-prose :not(pre)>code{font-family:var(--font-jetbrains), monospace;background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:1px 6px;font-size:.88em}.article-prose pre{background:var(--surface);border:1px solid var(--line);font-family:var(--font-jetbrains), monospace;color:#cfcfcf;border-radius:6px;margin:28px 0;padding:18px 20px;font-size:15.5px;line-height:1.7;overflow-x:auto}.article-prose pre code{background:0 0;border:none;padding:0}.article-prose hr{border:none;border-top:1px solid var(--line);margin:48px 0}.article-prose img{border:1px solid var(--line);border-radius:6px;max-width:100%;height:auto}.article-figure{margin:40px 0}.article-figure img{width:100%;height:auto;display:block}.article-figure figcaption{border-left:2px solid var(--line);font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);margin-top:12px;padding-left:14px;font-size:15px;line-height:1.5}.article-prose a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;text-decoration-thickness:1px;transition:text-decoration-color .2s,color .2s}.article-prose a:hover{color:var(--add);-webkit-text-decoration-color:var(--add);text-decoration-color:var(--add)}.friction{background:var(--del-bg);box-shadow:inset 0 -1px 0 var(--del);cursor:help;padding:0 1px}.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}.margin-note{float:right;clear:right;border-left:2px solid var(--ink-faint);width:100%;max-width:320px;font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);margin:6px -360px 24px 0;padding:10px 0 10px 14px;font-size:14px;line-height:1.6}.margin-note.fric{border-left-color:var(--del)}.margin-note.fix{border-left-color:var(--add)}.margin-note__label{letter-spacing:.06em;margin-bottom:6px;display:block}.margin-note.fric .margin-note__label{color:var(--del)}.margin-note.fix .margin-note__label{color:var(--add)}.margin-note.rule .margin-note__label{color:var(--ink-faint)}@media (max-width:860px){.article-body{grid-template-columns:1fr;gap:0}.margin-note{float:none;background:var(--surface);border-radius:0 4px 4px 0;width:auto;max-width:none;margin:16px 0 24px;padding:12px 14px}}.copydiff{background:var(--surface);border:1px solid var(--line);font-family:var(--font-jetbrains), monospace;border-radius:4px;margin:32px 0;font-size:15.5px;line-height:1.9;overflow:hidden}.copydiff__bar{border-bottom:1px solid var(--line);color:var(--ink-faint);justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;display:flex}.copydiff__line{grid-template-columns:42px 18px 1fr;align-items:baseline;display:grid}.copydiff__num{text-align:right;color:var(--ink-faint);-webkit-user-select:none;user-select:none;padding-right:12px}.copydiff__sign{text-align:center;-webkit-user-select:none;user-select:none}.copydiff__text{white-space:pre-wrap;word-break:break-word;padding-right:14px}.copydiff__line.del{background:var(--del-bg)}.copydiff__line.del .copydiff__sign,.copydiff__line.del .copydiff__text{color:var(--del)}.copydiff__line.add{background:var(--add-bg)}.copydiff__line.add .copydiff__sign,.copydiff__line.add .copydiff__text{color:var(--add)}@media (max-width:480px){.copydiff__line{grid-template-columns:22px 16px 1fr}.copydiff__num{padding-right:6px}}.diagnostic{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--add);border-radius:4px;margin:32px 0;padding:18px 22px}.diagnostic__label{font-family:var(--font-jetbrains), monospace;letter-spacing:.08em;color:var(--add);margin-bottom:10px;font-size:13px;display:block}.diagnostic__body{color:#cfcfcf;margin:0;font-size:17px;line-height:1.65}.brief{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--ink-faint);border-radius:4px;margin:0 0 40px;padding:18px 22px}.brief__label{font-family:var(--font-jetbrains), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:12px;font-size:13px;display:block}.brief__list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.brief__list li{color:#cfcfcf;padding-left:22px;font-size:17px;line-height:1.55;position:relative}.brief__list li:before{content:"→";color:var(--ink-faint);position:absolute;top:0;left:0}.scancta{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:64px 0 0;overflow:hidden}.scancta__bar{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:11px 14px;display:flex}.scancta__dot{background:var(--line);border-radius:50%;width:10px;height:10px}.scancta__body{font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);padding:22px;font-size:15px;line-height:1.9}.scancta__body .caret{color:var(--add)}.scancta__body .bang{color:var(--del)}a.scancta__cta{background:var(--add);color:#06140c;font-family:var(--font-jetbrains), monospace;border-radius:4px;align-items:center;margin-top:18px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .18s,filter .18s;display:inline-flex}a.scancta__cta:hover{filter:brightness(1.06);transform:translateY(-1px)}.authorcard{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--ink-faint);border-radius:6px;align-items:flex-start;gap:20px;margin:64px 0 0;padding:22px;display:flex}.authorcard__avatar{object-fit:cover;border:1px solid var(--line);border-radius:50%;flex-shrink:0;width:64px;height:64px}.authorcard__name{font-family:var(--font-fraunces), Georgia, serif;color:var(--ink);margin:0;font-size:22px;line-height:1.2}.authorcard__role{font-family:var(--font-jetbrains), monospace;letter-spacing:.04em;color:var(--add);margin-top:4px;font-size:13px;display:block}.authorcard__bio{color:#cfcfcf;margin:12px 0 14px;font-size:16px;line-height:1.6}.authorcard__links{font-family:var(--font-jetbrains), monospace;flex-wrap:wrap;gap:18px;font-size:14px;display:flex}.authorcard__links a{color:var(--ink-dim);transition:color .2s}.authorcard__links a:hover{color:var(--add)}@media (max-width:640px){.authorcard{flex-direction:column;gap:14px}}.related{margin-top:80px}.related__kicker{margin-bottom:18px}.compare{margin:40px 0;overflow-x:auto}.compare table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.55}.compare th,.compare td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 16px}.compare thead th{background:var(--surface);font-family:var(--font-jetbrains), monospace;letter-spacing:.02em;color:var(--ink);font-size:14px;font-weight:500}.compare tbody th{background:var(--surface-2);color:var(--ink);font-weight:600}.compare tbody td{color:#d6d6d6}.compare figcaption{border-left:2px solid var(--line);font-family:var(--font-jetbrains), monospace;color:var(--ink-dim);margin-top:12px;padding-left:14px;font-size:15px;line-height:1.5}.blog-page{padding-top:120px;padding-bottom:88px}.blog-hero{margin-bottom:72px}.blog-hero__lead{max-width:54ch;margin-top:28px}.blog-hero__kicker{margin-bottom:22px}.reveal{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transform:translateY(16px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.pilier-family{margin-top:64px}.pilier-family__title{color:var(--ink);margin-bottom:10px;font-size:1.6rem;line-height:1.2}.pilier-family__intro{color:var(--ink-dim);max-width:60ch;margin-bottom:24px}.pilier-cta{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-top:80px;padding:36px}.pilier-cta p{color:var(--ink-dim);max-width:62ch;margin-bottom:24px}.pilier-cta a{color:var(--add);box-shadow:inset 0 -1px 0 var(--add);font-weight:600}.pilier-map{grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 8px;display:grid}.pilier-map__col{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:22px 24px}.pilier-map__col .meta{margin-bottom:14px}.pilier-map__col ul{margin:0;padding:0;list-style:none}.pilier-map__col li{color:var(--ink);border-top:1px solid var(--line);padding:8px 0}.pilier-map__col li:first-child{border-top:none}@media (max-width:640px){.pilier-map{grid-template-columns:1fr}}.blog-pilier{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:36px 0 4px;padding:22px 24px;transition:border-color .15s;display:block}.blog-pilier:hover{border-color:var(--add)}.blog-pilier .meta{margin-bottom:10px;display:block}.blog-pilier__title{color:var(--ink);margin-bottom:6px;font-size:1.15rem;font-weight:600;line-height:1.3;display:block}.blog-pilier__sub{color:var(--ink-dim);display:block}
