body.blog{--blog-page:#f7f7f5;--blog-surface:#fff;--blog-surface-subtle:#f1f1ee;--blog-text:#171717;--blog-text-secondary:#626262;--blog-text-muted:#888884;--blog-border:#e6e6e1;--blog-border-strong:#d5d5cf;--blog-black:#0a0a0a;--blog-code-bg:#0d0d0d;--blog-code-text:#f5f5f5;--blog-accent:#0e7a55;--blog-measure:680px;--blog-wide:920px;background:var(--blog-page);color:var(--blog-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (min-width:1320px){body.blog{--blog-wide:800px}}body.blog ::selection{color:var(--blog-text);background:#cfeee0}body.blog :focus-visible{outline:2px solid var(--blog-accent);outline-offset:3px;border-radius:4px}.dark-footer{color:var(--foreground);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--background)}@layer components{.b-skip{z-index:100;background:var(--blog-black);color:#fff;border-radius:8px;padding:8px 14px;font-size:14px;position:absolute;top:8px;left:-9999px}.b-skip:focus{left:16px}.b-container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:20px}@media (min-width:640px){.b-container{padding-inline:32px}}.b-frame{width:100%;max-width:1360px;margin-inline:auto;padding-inline:20px}@media (min-width:640px){.b-frame{padding-inline:32px}}@media (min-width:1408px){.b-frame{padding-inline:0}}.b-header{z-index:40;border-bottom:1px solid var(--blog-border);background:color-mix(in srgb, var(--blog-page) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);position:sticky;top:0}.b-strip{scrollbar-width:none;gap:8px;padding-block:4px 12px;display:flex;overflow-x:auto}.b-strip::-webkit-scrollbar{display:none}.b-strip a{white-space:nowrap;border:1px solid var(--blog-border);color:var(--blog-text-secondary);background:var(--blog-surface);border-radius:999px;flex:none;padding:5px 12px;font-size:13px}.b-strip a[aria-current=page]{background:var(--blog-black);border-color:var(--blog-black);color:#fff}.b-iconbtn{width:36px;height:36px;color:var(--blog-text-secondary);border-radius:999px;place-items:center;transition:background-color .15s,color .15s;display:inline-grid}.b-iconbtn:hover{background:var(--blog-surface-subtle);color:var(--blog-text)}.b-btn{border:1px solid var(--blog-border-strong);height:36px;color:var(--blog-text);background:var(--blog-surface);border-radius:999px;align-items:center;gap:6px;padding-inline:14px;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s}.b-btn:hover{border-color:var(--blog-text-muted)}.b-btn--dark{background:var(--blog-black);border-color:var(--blog-black);color:#fff}.b-btn--dark:hover{background:#262626;border-color:#262626}.b-btn:disabled{opacity:.5}.b-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--blog-text-secondary);font-size:12px;font-weight:600}.b-eyebrow a:hover{color:var(--blog-text)}.b-meta{color:var(--blog-text-muted);font-size:13px}.b-chip{border:1px solid var(--blog-border);color:var(--blog-text-secondary);background:var(--blog-surface);border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;transition:border-color .15s,color .15s;display:inline-flex}a.b-chip:hover{border-color:var(--blog-border-strong);color:var(--blog-text)}.b-label-scenario{color:#8a5a00}.b-title{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2rem,1.35rem + 2.6vw,3.25rem);font-weight:650;line-height:1.08}.b-h2{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(1.5rem,1.25rem + 1vw,2rem);font-weight:650;line-height:1.15}.b-standfirst{font-family:var(--font-serif), Georgia, serif;color:var(--blog-text-secondary);text-wrap:pretty;font-size:clamp(1.15rem,1.05rem + .45vw,1.375rem);line-height:1.55}.b-card{flex-direction:column;gap:12px;display:flex}.b-card__img{border:1px solid var(--blog-border);background:var(--blog-surface-subtle);aspect-ratio:16/10;border-radius:14px;overflow:hidden}.b-card__img img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1)}.b-card:hover .b-card__img img{transform:scale(1.02)}.b-card__title{letter-spacing:-.02em;text-wrap:balance;font-weight:650;line-height:1.25}.b-card:hover .b-card__title{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.b-card__excerpt{color:var(--blog-text-secondary);font-size:15px;line-height:1.6}.b-rule{border-top:1px solid var(--blog-border)}.b-author{border-bottom:1px solid var(--blog-border);padding-bottom:22px}.b-author__more{color:var(--blog-text)}.b-author__more span{transition:transform .2s cubic-bezier(.16,1,.3,1);display:inline-block}.b-author__more:hover span{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.b-author__more span{transition:none}}.b-panel{border:1px solid var(--blog-border);background:var(--blog-surface);border-radius:16px}.b-progress{z-index:50;background:var(--blog-accent);transform-origin:0;height:2px;display:none;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.b-progress{animation:linear both b-grow;animation-timeline:scroll(root);display:block}}@keyframes b-grow{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.b-progress{display:none}}.b-article{position:relative}.b-col{width:min(var(--blog-measure), 100% - 40px);margin-inline:auto}.b-rail__inner{scrollbar-width:thin;max-height:calc(100vh - 120px);padding-bottom:8px;position:sticky;top:96px;overflow-y:auto}.b-railnav{gap:2px;display:grid}.b-railnav a{color:var(--blog-text-secondary);border-radius:8px;justify-content:space-between;align-items:baseline;gap:8px;margin-inline:-10px;padding:7px 10px;font-size:14px;transition:color .15s,background-color .15s;display:flex}.b-railnav a:hover,.b-railnav a[aria-current=page]{color:var(--blog-text);background:var(--blog-surface-subtle)}.b-railnav a[aria-current=page]{font-weight:600}.b-railnav a span{color:var(--blog-text-muted);font-size:12px;font-weight:400}.b-side{width:min(var(--blog-measure), 100% - 40px);margin:48px auto 0}.b-side .b-rail__inner{max-height:none;position:static;overflow:visible}@media (min-width:1440px){.b-side{top:0;bottom:0;left:calc(50% + var(--blog-measure) / 2 + 80px);width:260px;margin:0;position:absolute}.b-side .b-rail__inner{max-height:calc(100vh - 120px);position:sticky;overflow-y:auto}}.b-rail{display:none}@media (min-width:1400px){.b-rail--l{top:0;bottom:0;left:max(24px, calc(50% - var(--blog-measure) / 2 - 340px));width:260px;display:block;position:absolute}}@media (min-width:1440px){.b-rail--r{top:0;bottom:0;left:calc(50% + var(--blog-measure) / 2 + 80px);width:260px;display:block;position:absolute}}.b-toc a{border-left:1px solid var(--blog-border);color:var(--blog-text-muted);padding:5px 0 5px 14px;font-size:13px;line-height:1.4;transition:color .15s,border-color .15s;display:block}.b-toc a[data-level="3"]{padding-left:26px}.b-toc a:hover{color:var(--blog-text)}.b-toc a[aria-current=true]{color:var(--blog-text);border-left-color:var(--blog-text)}.b-prose{font-family:var(--font-serif), Georgia, serif;color:#262626;font-size:1.1875rem;line-height:1.75}.b-prose>*{width:min(var(--blog-measure), 100% - 40px);margin-inline:auto}.b-prose>*+*{margin-top:1.4em}.b-prose>.b-wide{width:min(var(--blog-wide), 100% - 40px)}.b-prose>.b-full{width:100%}.b-prose h2,.b-prose h3{font-family:var(--font-display), system-ui, sans-serif;color:var(--blog-text);text-wrap:balance;scroll-margin-top:96px;position:relative}.b-prose h2{letter-spacing:-.025em;margin-top:2.6em;font-size:1.75rem;font-weight:650;line-height:1.2}.b-prose h3{letter-spacing:-.015em;margin-top:2em;font-size:1.3rem;font-weight:650;line-height:1.3}.b-prose h2+*,.b-prose h3+*{margin-top:.7em}.b-anchor{color:var(--blog-text-muted);opacity:0;margin-left:.35em;font-weight:400;text-decoration:none;transition:opacity .15s}.b-prose :is(h2,h3):hover .b-anchor,.b-anchor:focus-visible{opacity:1}.b-prose a{color:var(--blog-text);text-decoration:underline;-webkit-text-decoration-color:var(--blog-border-strong);text-decoration-color:var(--blog-border-strong);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s}.b-prose a:hover{-webkit-text-decoration-color:var(--blog-text);text-decoration-color:var(--blog-text)}.b-prose strong{color:var(--blog-text);font-weight:600}.b-prose :not(pre)>code{font-family:var(--font-code), ui-monospace, monospace;background:var(--blog-surface-subtle);border:1px solid var(--blog-border);border-radius:5px;padding:.1em .35em;font-size:.82em}.b-prose ul:not([class]),.b-prose ol:not([class]){padding-left:1.3em}.b-prose ul:not([class]){list-style:outside}.b-prose ol:not([class]){list-style:decimal}.b-prose li+li{margin-top:.45em}.b-prose li::marker{color:var(--blog-text-muted)}.b-cite{font-family:var(--font-display), sans-serif;vertical-align:super;margin-left:1px;font-size:.68em;line-height:0}.b-prose .b-cite a{color:var(--blog-accent);text-decoration:none}.b-checklist{border:1px solid var(--blog-border);background:var(--blog-surface);font-family:var(--font-display), sans-serif;border-radius:14px;padding:18px 22px;font-size:16px;line-height:1.55}.b-checklist li{gap:12px;display:flex}.b-checklist li+li{margin-top:10px}.b-checklist li:before{content:"";border:1.5px solid var(--blog-border-strong);background:var(--blog-surface-subtle) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.2 2.2 2.2 4.8-4.8' fill='none' stroke='%230e7a55' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;border-radius:5px;flex-shrink:0;width:16px;height:16px;margin-top:3px}.b-steps{counter-reset:step}.b-steps li{counter-increment:step;padding-left:48px;position:relative}.b-steps li+li{margin-top:1.1em}.b-steps li:before{content:counter(step);background:var(--blog-black);color:#fff;width:30px;height:30px;font:600 13px var(--font-display), sans-serif;border-radius:999px;place-items:center;display:grid;position:absolute;top:.1em;left:0}.b-steps strong{font-family:var(--font-display), sans-serif;font-size:1.02rem;display:block}.b-note{border:1px solid var(--blog-border);background:var(--blog-surface);font-family:var(--font-display), sans-serif;color:#333;box-shadow:inset 3px 0 0 var(--b-note,var(--blog-text));border-radius:14px;padding:20px 22px;font-size:16px;line-height:1.65}.b-note__label{letter-spacing:.08em;text-transform:uppercase;color:var(--b-note,var(--blog-text));align-items:center;gap:8px;font-size:11.5px;font-weight:700;display:flex}.b-note__title{color:var(--blog-text);margin-top:6px;font-size:17px;font-weight:650}.b-note p{margin-top:6px}.b-note[data-variant=architecture]{--b-note:#1f3a8a}.b-note[data-variant=view]{--b-note:var(--blog-accent)}.b-note[data-variant=lesson]{--b-note:#9a5b00}.b-note[data-variant=avoid]{--b-note:#b42318}.b-note[data-variant=note]{--b-note:#525252}.b-quickanswer{background:var(--blog-surface);border:1px solid var(--blog-border);border-radius:16px;padding:22px 24px}.b-quickanswer p{font-family:var(--font-serif), Georgia, serif;color:var(--blog-text);margin-top:8px;font-size:1.15rem;line-height:1.65}.b-prose blockquote{border-left:2px solid var(--blog-text);color:var(--blog-text);padding-left:1.1em;font-style:italic}.b-prose blockquote footer{font:14px var(--font-display), sans-serif;color:var(--blog-text-secondary);margin-top:.5em;font-style:normal}.b-pullquote{text-align:center;border-block:1px solid var(--blog-border);padding-block:.6em}.b-pullquote p{font-family:var(--font-serif), Georgia, serif;color:var(--blog-text);text-wrap:balance;font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);font-style:italic;line-height:1.35}.b-pullquote footer{font:13px var(--font-display), sans-serif;letter-spacing:.04em;color:var(--blog-text-muted);text-transform:uppercase;margin-top:.8em}.b-figure img{border:1px solid var(--blog-border);background:var(--blog-surface-subtle);border-radius:12px;width:100%;height:auto}.b-full.b-figure img{border-inline:0;border-radius:0}.b-figcaption{font:14px/1.5 var(--font-display), sans-serif;color:var(--blog-text-secondary);margin-top:10px}.b-figcaption span{color:var(--blog-text-muted)}.b-full .b-figcaption{text-align:center;padding-inline:20px}.b-gallery{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.b-code{background:var(--blog-code-bg);color:var(--blog-code-text);font-family:var(--font-code), ui-monospace, monospace;border-radius:14px;overflow:hidden}.b-code__bar{color:#a3a3a3;border-bottom:1px solid #222;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:12.5px;display:flex}.b-code__copy{font:500 12px var(--font-display), sans-serif;color:#d4d4d4;border-radius:6px;padding:4px 10px;transition:background-color .15s}.b-code__copy:hover{background:#262626}.b-code pre{tab-size:2;margin:0;padding:16px 0;font-size:13.5px;line-height:1.7;overflow-x:auto;background:0 0!important}.b-code code{min-width:max-content;display:block}.b-code .line{min-width:100%;padding-inline:18px;display:inline-block}.b-code pre{white-space:pre-wrap;overflow-wrap:anywhere}.b-code code{min-width:0}.b-code[data-numbers] code{counter-reset:ln}.b-code[data-numbers] .line:before{counter-increment:ln;content:counter(ln);text-align:right;color:#525252;-webkit-user-select:none;user-select:none;width:2.2em;margin-right:14px;display:inline-block}.b-code .line.hl{background:#ffffff12;box-shadow:inset 2px 0 #5ee0a8}.b-code .line.add{background:#2ea04329}.b-code .line.del{background:#f8514924}.b-tabs [role=tablist]{gap:2px;display:flex}.b-tabs [role=tab]{font:500 12.5px var(--font-display), sans-serif;color:#a3a3a3;border-radius:6px;padding:4px 10px}.b-tabs [role=tab][aria-selected=true]{color:#fff;background:#262626}.b-table{border:1px solid var(--blog-border);background:var(--blog-surface);border-radius:12px;overflow-x:auto}.b-table table{border-collapse:collapse;width:100%;font:15px/1.5 var(--font-display), sans-serif}.b-table th{text-align:left;background:var(--blog-surface-subtle);font-weight:600}.b-table th,.b-table td{border-bottom:1px solid var(--blog-border);vertical-align:top;padding:10px 14px}.b-table tr:last-child td{border-bottom:0}.b-metrics{font-family:var(--font-display), sans-serif;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.b-metric{border:1px solid var(--blog-border);background:var(--blog-surface);border-radius:14px;padding:16px 18px}.b-metric strong{letter-spacing:-.03em;font-size:1.9rem;line-height:1.1;display:block}.b-metric span{margin-top:6px;font-size:14px;font-weight:600;display:block}.b-metric small{color:var(--blog-text-secondary);margin-top:4px;font-size:13px;line-height:1.45;display:block}.b-faq{border-top:1px solid var(--blog-border);font-family:var(--font-display), sans-serif}.b-faq>div,.b-faq>details{border-bottom:1px solid var(--blog-border);padding-block:14px}.b-faq dt,.b-faq summary{color:var(--blog-text);font-size:17px;font-weight:600}.b-faq summary{cursor:pointer;justify-content:space-between;gap:16px;list-style:none;display:flex}.b-faq summary::-webkit-details-marker{display:none}.b-faq summary:after{content:"+";color:var(--blog-text-muted);font-weight:400}.b-faq details[open] summary:after{content:"–"}.b-faq dd,.b-faq details>div{color:#404040;margin-top:6px;font-size:16px;line-height:1.65}.b-linkcard{border:1px solid var(--blog-border);background:var(--blog-surface);font-family:var(--font-display), sans-serif;border-radius:14px;align-items:center;gap:14px;padding:16px 18px;transition:border-color .15s;display:flex;text-decoration:none!important}.b-linkcard:hover{border-color:var(--blog-border-strong)}.b-linkcard strong{font-size:15px;display:block}.b-linkcard small{color:var(--blog-text-secondary);font-size:13px;display:block}.b-cta{background:var(--blog-black);color:#fff;font-family:var(--font-display), sans-serif;border-radius:16px;padding:26px 28px}.b-cta p{color:#a3a3a3;margin-top:6px;font-size:15px;line-height:1.6}.b-cta a{background:#fff;border-radius:999px;align-items:center;gap:6px;height:38px;margin-top:16px;padding-inline:16px;font-size:14px;font-weight:600;display:inline-flex;color:var(--blog-black)!important;text-decoration:none!important}.b-input{border:1px solid var(--blog-border-strong);background:var(--blog-surface);width:100%;height:42px;color:var(--blog-text);border-radius:999px;padding-inline:16px;font-size:15px}.b-input::placeholder{color:var(--blog-text-muted)}.b-input:focus{outline:2px solid var(--blog-accent);outline-offset:1px}.b-topic{border:1px solid var(--blog-border);background:var(--blog-surface);border-radius:16px;flex-direction:column;padding:22px 24px;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .25s;display:flex;position:relative}.b-topic:before{content:"";background:var(--blog-accent);transform-origin:0;border-radius:0 0 2px 2px;height:2px;transition:transform .3s cubic-bezier(.16,1,.3,1);position:absolute;inset:0 24px auto;transform:scaleX(0)}.b-topic__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.b-topic__more{color:var(--blog-text);margin-top:auto;padding-top:20px}.b-topic__arrow{transition:transform .25s cubic-bezier(.16,1,.3,1);display:inline-block}.b-topic:has(.b-topic__link:focus-visible){outline:2px solid var(--blog-accent);outline-offset:2px}.b-topic__link:focus-visible{outline:none}@media (hover:hover){.b-topic:hover{border-color:var(--blog-border-strong);transform:translateY(-3px);box-shadow:0 18px 40px -24px #00000040}.b-topic:hover:before{transform:scaleX(1)}.b-topic:hover .b-topic__arrow{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.b-topic,.b-topic:before,.b-topic__arrow{transition:none}}.b-search mark{color:inherit;background:#fdf0c4;border-radius:3px}}
