.rcta[data-astro-cid-cms5ffcz]{gap:var(--s-3);justify-items:start;display:grid;position:relative}.rcta[data-astro-cid-cms5ffcz] .btn-ref{justify-self:stretch}.rcta__h[data-astro-cid-cms5ffcz] img{vertical-align:middle;width:auto;max-height:26px;display:inline-block}.rcta--inline[data-astro-cid-cms5ffcz] .rcta__h[data-astro-cid-cms5ffcz] img{max-height:34px}.rcta--inline[data-astro-cid-cms5ffcz]{margin-top:var(--s-7);padding:var(--s-6);border:1px solid var(--line);border-left:2px solid var(--accent)}.rcta--inline[data-astro-cid-cms5ffcz] .rcta__h[data-astro-cid-cms5ffcz]{letter-spacing:-.015em;color:var(--ink);font-size:1.375rem;font-weight:400;line-height:1.25}.rcta--inline[data-astro-cid-cms5ffcz] .rcta__sub[data-astro-cid-cms5ffcz]{color:var(--muted)}.rcta--inline[data-astro-cid-cms5ffcz] .btn{margin-top:var(--s-3)}.author[data-astro-cid-kxctoonq]{gap:var(--s-4);padding:var(--s-5);border:1px solid var(--line);grid-template-columns:56px minmax(0,1fr);display:grid}.author__pic[data-astro-cid-kxctoonq]{background:var(--accent);color:#fff;width:56px;height:56px;font-family:var(--font-mono);letter-spacing:.04em;place-items:center;font-size:14px;display:grid;overflow:hidden}.author__pic[data-astro-cid-kxctoonq] img[data-astro-cid-kxctoonq]{object-fit:cover;width:100%;height:100%}.author__text[data-astro-cid-kxctoonq]>[data-astro-cid-kxctoonq]+[data-astro-cid-kxctoonq]{margin-top:4px}.author__name[data-astro-cid-kxctoonq]{font-size:1.0625rem;font-weight:500}.author__name[data-astro-cid-kxctoonq] a[data-astro-cid-kxctoonq]:hover{color:var(--accent-ink)}.author__role[data-astro-cid-kxctoonq],.author__bio[data-astro-cid-kxctoonq]{color:var(--muted);font-size:var(--fs-small);line-height:1.6}.author__more[data-astro-cid-kxctoonq]{margin-top:var(--s-3)!important}.author--compact[data-astro-cid-kxctoonq]{gap:var(--s-5);padding:var(--s-6);background:linear-gradient(180deg, var(--paper-2), var(--paper));border-radius:18px;grid-template-columns:72px minmax(0,1fr)}.author--compact[data-astro-cid-kxctoonq] .author__pic[data-astro-cid-kxctoonq]{width:72px;height:72px;box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--accent-tint-2);border-radius:50%}.author__bio[data-astro-cid-kxctoonq].is-clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.author__bio-more[data-astro-cid-kxctoonq]{color:var(--accent-text);font:inherit;font-size:var(--fs-small);cursor:pointer;text-decoration:underline;text-decoration-color:var(--accent-tint-2);text-underline-offset:3px;background:0 0;border:0;padding:0;display:block}.prose .takeaways{margin:0 0 var(--s-7);padding:var(--s-5) var(--s-6) var(--s-5);border:1px solid var(--accent-tint-2);border-radius:var(--radius);background:linear-gradient(180deg, var(--accent-tint) 0%, var(--paper) 120%)}.prose .takeaways>p:first-child{margin:0 0 var(--s-3);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--accent-deep)}.prose .takeaways>p:first-child strong{font-weight:500}.prose .takeaways ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.prose .takeaways li::marker,.prose .layout-cards li::marker,.prose .steps li::marker{content:none}.prose .takeaways li+li{margin-top:0}.prose .takeaways li{font-size:var(--fs-small);margin:0;padding-left:26px;line-height:1.55;position:relative}.prose .takeaways li:before{content:"";background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.5 2.2 2.2 4.8-5.2' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;border-radius:50%;width:14px;height:14px;position:absolute;top:.3em;left:2px}.prose .sidenote{margin:var(--s-5) 0;padding:var(--s-3) var(--s-4);border-left:2px solid var(--accent);background:var(--paper-2);font-size:var(--fs-small);color:var(--ink-2);line-height:1.55}.prose .sidenote>*{margin:0}.prose .sidenote>*+*{margin-top:6px}.prose .sidenote .sidenote__label{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--accent-deep)}.prose .sidenote strong{color:var(--ink);font-weight:500}.prose .sidenote--stat .sidenote__big{letter-spacing:-.02em;color:var(--ink);font-size:1.75rem;font-weight:400;line-height:1.1;display:block}@media (width>=1280px){.prose .sidenote{float:right;clear:right;width:min(230px, calc(var(--note-bleed,var(--bleed)) - 36px));margin:6px calc(-1 * var(--note-bleed,var(--bleed))) var(--s-4) 0;padding:0 0 0 var(--s-4);border-left:1px solid var(--line-2);font-size:var(--fs-xs);background:0 0;position:relative}.prose .sidenote:before{content:"";background:var(--accent);width:7px;height:7px;position:absolute;top:4px;left:-4px}}.prose .layout-cards{gap:var(--s-4);margin:var(--s-6) 0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.prose .layout-cards li{margin:0}.prose .layout-card{height:100%;padding:var(--s-4);border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper);color:var(--ink);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);align-content:start;gap:4px;text-decoration:none;display:grid}.prose .layout-card:hover,.prose .layout-card:focus-visible{border-color:var(--accent-tint-2);box-shadow:var(--shadow-card);color:var(--ink);transform:translateY(-3px)}.prose .layout-card>span:first-child{height:clamp(120px,11vw,150px);margin-bottom:var(--s-3);border-radius:calc(var(--radius) - 2px);background:var(--paper-2) center / contain no-repeat;display:block}.prose .layout-card strong{font-weight:500}.prose .layout-card>span:last-child{font-size:var(--fs-small);color:var(--muted)}.prose .layout-card[data-art=wizard]>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'%3E%3Crect x='20' y='12' width='120' height='6' rx='3' fill='%23e3e3fd'/%3E%3Crect x='20' y='12' width='44' height='6' rx='3' fill='%236161ff'/%3E%3Ctext x='20' y='29' font-family='monospace' font-size='7' fill='%238b8b98'%3EStep 1 of 3%3C/text%3E%3Crect x='20' y='35' width='46' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='42' width='120' height='11' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='20' y='59' width='36' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='66' width='120' height='11' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='104' y='84' width='36' height='11' rx='2' fill='%236161ff'/%3E%3C/svg%3E")}.prose .layout-card[data-art=tabs]>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'%3E%3Crect x='20' y='12' width='38' height='12' rx='2' fill='%23efeffe'/%3E%3Crect x='62' y='12' width='38' height='12' rx='2' fill='white' stroke='%23e3e3e8'/%3E%3Crect x='104' y='12' width='36' height='12' rx='2' fill='white' stroke='%23e3e3e8'/%3E%3Cpath d='M20 25h120' stroke='%23d9d9e3'/%3E%3Cpath d='M20 25h38' stroke='%236161ff' stroke-width='2'/%3E%3Crect x='20' y='35' width='46' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='42' width='120' height='11' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='20' y='59' width='36' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='66' width='120' height='11' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3C/svg%3E")}.prose .layout-card[data-art=accordion]>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'%3E%3Crect x='20' y='8' width='120' height='12' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Cpath d='m127 12 3 3 3-3' fill='none' stroke='%238b8b98'/%3E%3Crect x='20' y='24' width='120' height='50' rx='2' fill='white' stroke='%236161ff'/%3E%3Crect x='20' y='24' width='120' height='12' rx='2' fill='%23efeffe'/%3E%3Cpath d='m127 31 3-3 3 3' fill='none' stroke='%236161ff'/%3E%3Crect x='28' y='42' width='40' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='28' y='49' width='104' height='9' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='28' y='61' width='104' height='9' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='20' y='78' width='120' height='12' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Cpath d='m127 82 3 3 3-3' fill='none' stroke='%238b8b98'/%3E%3C/svg%3E")}.prose .layout-card[data-art=single]>span:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 100'%3E%3Crect x='20' y='8' width='40' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='15' width='120' height='9' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='20' y='30' width='34' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='37' width='120' height='9' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='20' y='52' width='44' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='59' width='120' height='9' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Crect x='20' y='74' width='30' height='4' rx='2' fill='%23c9c9d4'/%3E%3Crect x='20' y='81' width='120' height='9' rx='2' fill='white' stroke='%23d9d9e3'/%3E%3Cpath d='M146 10v80' stroke='%23e3e3e8' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M146 10v22' stroke='%23b4b4c2' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}.prose .facts{gap:var(--s-4);margin:var(--s-6) 0;flex-wrap:wrap;display:flex}.prose .facts>.fact{flex:240px;min-width:0}.prose .fact{--fact-c:var(--accent);--fact-tint:var(--accent-tint);--fact-ink:var(--accent-deep);padding:var(--s-5);border:1px solid var(--line);background:linear-gradient(180deg, var(--fact-tint) 0, var(--paper) 72px);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:hidden}.prose .fact:before{content:"";background:var(--fact-c);transform-origin:0;height:3px;position:absolute;inset:0 0 auto}.prose .fact:hover{border-color:color-mix(in srgb, var(--fact-c) 35%, var(--line));box-shadow:0 16px 36px -18px color-mix(in srgb, var(--fact-c) 55%, transparent);transform:translateY(-3px)}.prose .facts>.fact--look{flex-basis:100%}.prose .fact--use{--fact-c:var(--warn-ink);--fact-ink:var(--warn-ink);--fact-tint:var(--warn-tint)}.prose .fact--gain,.prose .fact--after{--fact-c:var(--ok-ink);--fact-ink:var(--ok-ink);--fact-tint:var(--ok-tint)}.prose .fact--avoid{--fact-c:var(--danger);--fact-ink:var(--danger);--fact-tint:var(--danger-tint)}.prose .fact--before{--fact-c:var(--muted);--fact-ink:var(--muted);--fact-tint:var(--paper-2)}.prose .fact__label{margin:0 0 var(--s-4);font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--fact-ink);align-items:center;gap:10px;display:flex}.prose .fact__label strong{color:inherit;font-weight:500}.prose .fact__icon{background:var(--paper);width:28px;height:28px;box-shadow:0 0 0 1px color-mix(in srgb, var(--fact-c) 25%, transparent);border-radius:50%;flex:none;place-items:center;display:inline-grid}.prose .fact__icon:after{content:"";background:var(--fact-c);width:14px;height:14px;-webkit-mask:var(--fact-i) center / contain no-repeat;mask:var(--fact-i) center / contain no-repeat}.prose .fact{--fact-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10'/%3E%3C/svg%3E")}.prose .fact--look{--fact-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 8S4 3.5 8 3.5 14.5 8 14.5 8 12 12.5 8 12.5 1.5 8 1.5 8Z'/%3E%3Ccircle cx='8' cy='8' r='2'/%3E%3C/svg%3E")}.prose .fact--use{--fact-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Ccircle cx='8' cy='8' r='2.5'/%3E%3C/svg%3E")}.prose .fact--gain,.prose .fact--after{--fact-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 8.5 3 3 6-7'/%3E%3C/svg%3E")}.prose .fact--avoid{--fact-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='m4.5 4.5 7 7M11.5 4.5l-7 7'/%3E%3C/svg%3E")}.prose .fact--before{--fact-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M8 4.5V8l2.5 1.5'/%3E%3C/svg%3E")}.prose .fact ul{font-size:var(--fs-small);gap:10px;margin:0;padding:0;line-height:1.55;list-style:none;display:grid}.prose .fact li{margin:0;padding-left:24px;position:relative}.prose .fact li::marker{content:none}.prose .fact li:before{content:"";background:var(--fact-c);width:14px;height:14px;-webkit-mask:var(--fact-i) center / contain no-repeat;mask:var(--fact-i) center / contain no-repeat;position:absolute;top:.32em;left:0}.prose .fact--look ul{counter-reset:look;gap:0}.prose .fact--look li{counter-increment:look;padding:0 0 var(--s-4) 40px}.prose .fact--look li:last-child{padding-bottom:0}.prose .fact--look li:before{content:counter(look);background:var(--paper);width:24px;height:24px;box-shadow:inset 0 0 0 1.5px var(--fact-c);color:var(--fact-c);font-family:var(--font-mono);font-size:var(--fs-mono-sm);border-radius:50%;place-items:center;display:grid;top:0;-webkit-mask:none;mask:none}.prose .fact--look li:after{content:"";background:color-mix(in srgb, var(--fact-c) 35%, transparent);transform-origin:top;width:1.5px;position:absolute;top:26px;bottom:2px;left:11.25px}.prose .fact--look li:last-child:after{display:none}.prose .fact--look li:last-child:before{background:var(--fact-c);color:#fff}.js .prose .fact[data-reveal]{transition:opacity var(--dur-reveal) var(--ease) calc(var(--i,0) * 90ms), transform var(--dur-reveal) var(--ease) calc(var(--i,0) * 90ms), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease)}.js .prose .fact[data-reveal]:not(.is-in):before{transform:scaleX(0)}.js .prose .fact[data-reveal]:before{transition:transform .7s var(--ease) calc(var(--i,0) * 90ms + .15s)}.js .prose .fact[data-reveal]:not(.is-in) li{opacity:0;transform:translateY(6px)}.js .prose .fact[data-reveal] li{transition:opacity .42s var(--ease), transform .42s var(--ease)}.js .prose .fact[data-reveal]:not(.is-in) li:after{transform:scaleY(0)}.js .prose .fact[data-reveal] li:after{transition:transform .36s var(--ease)}.prose .fact li:first-child{transition-delay:calc(var(--i,0) * 90ms + .2s)}.prose .fact li:nth-child(2){transition-delay:calc(var(--i,0) * 90ms + .28s)}.prose .fact li:nth-child(3){transition-delay:calc(var(--i,0) * 90ms + .36s)}.prose .fact li:nth-child(4){transition-delay:calc(var(--i,0) * 90ms + .44s)}.prose .fact li:nth-child(5){transition-delay:calc(var(--i,0) * 90ms + .52s)}.prose .fact li:nth-child(6){transition-delay:calc(var(--i,0) * 90ms + .6s)}.prose .fact li:nth-child(n+7){transition-delay:calc(var(--i,0) * 90ms + .68s)}.prose .fact li:first-child:after{transition-delay:.32s}.prose .fact li:nth-child(2):after{transition-delay:.4s}.prose .fact li:nth-child(3):after{transition-delay:.48s}.prose .fact li:nth-child(4):after{transition-delay:.56s}.prose .fact li:nth-child(5):after{transition-delay:.64s}.prose .fact li:nth-child(n+6):after{transition-delay:.72s}@media (prefers-reduced-motion:reduce){.prose .fact:hover{transform:none}}.prose .steps ol{margin:var(--s-6) 0;counter-reset:step;padding:0;list-style:none;position:relative}.prose .steps ol:before,.prose .steps ol:after{content:"";background:var(--line-2);width:2px;position:absolute;top:16px;bottom:16px;left:15px}.prose .steps ol:after{background:var(--accent);transform-origin:top}.prose .steps li{padding:4px 0 var(--s-5) 52px;counter-increment:step;margin:0;position:relative}.prose .steps li:last-child{padding-bottom:0}.prose .steps li:before{content:counter(step);z-index:1;border:2px solid var(--accent);background:var(--paper);width:32px;height:32px;font-family:var(--font-mono);color:var(--accent-deep);border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;top:0;left:0}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.prose .steps ol:after{animation:linear both steps-draw}.prose .steps li:before{animation:linear both step-node}.prose.post__body .steps ol:after{animation-timeline:view();animation-range:entry 40% cover 60%}.prose.post__body .steps li:before{animation-timeline:view();animation-range:entry 60% cover 40%}}}@keyframes steps-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes step-node{0%{background:var(--paper);color:var(--accent-deep)}to{background:var(--accent);color:#fff}}.prose .case{margin:var(--s-6) 0;padding:var(--s-6);border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-card)}.prose .case>:first-child{margin-top:0}.prose .case .stats{gap:var(--s-4);margin:0 0 var(--s-6);padding-bottom:var(--s-6);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.prose .case .stat{align-content:start;gap:6px;margin:0;display:grid}.prose .case .stat__num{letter-spacing:-.03em;color:var(--accent-deep);font-variant-numeric:tabular-nums;font-size:clamp(2rem,1.6rem + 1.4vw,2.75rem);font-weight:400;line-height:1}.prose .case .stat__label{font-size:var(--fs-xs);color:var(--muted);line-height:1.45}.prose .case>:last-child{margin-bottom:0}@media (width<=720px){.prose .case{padding:var(--s-5)}.prose .case .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.prose .fdemo{margin:var(--s-6) 0;padding:var(--s-5);border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper-2)}.fdemo__head{align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.fdemo__title{color:var(--ink);font-weight:500}.fdemo__switch,.fdemo__tabs{margin:0 0 var(--s-4);border:0;flex-wrap:wrap;gap:6px;padding:0;display:flex}.fdemo__opt,.fdemo__tab{cursor:pointer;position:relative}.fdemo__opt input,.fdemo__tab input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.fdemo__opt span{border:1px solid var(--line-2);border-radius:var(--radius-pill);background:var(--paper);font-size:var(--fs-xs);color:var(--ink-2);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:6px 12px;display:inline-block}.fdemo__opt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.fdemo__opt input:focus-visible+span,.fdemo__tab input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.fdemo__stage{padding:var(--s-5);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);min-height:300px}.fdemo__view{display:none}.fdemo:has(input[value=wizard]:checked) [data-view=wizard],.fdemo:has(input[value=tabs]:checked) [data-view=tabs],.fdemo:has(input[value=accordion]:checked) [data-view=accordion],.fdemo:has(input[value=single]:checked) [data-view=single]{animation:fdemo-in .25s var(--ease);display:block}@keyframes fdemo-in{0%{opacity:0;transform:translateY(4px)}}.fdemo__field{margin-bottom:var(--s-3);gap:4px;display:grid}.fdemo__label{font-size:var(--fs-xs);color:var(--ink-2)}.fdemo__input{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper);height:32px}.fdemo__sec{margin:var(--s-4) 0 var(--s-3);font-weight:500;font-size:var(--fs-small)}.fdemo__sec:first-child{margin-top:0}.fdemo__count{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--muted);margin:0 0 4px}.fdemo__progress{height:6px;margin-bottom:var(--s-4);background:var(--accent-tint-2);border-radius:3px;overflow:hidden}.fdemo__bar{width:var(--p);background:var(--accent);height:100%;transition:width .3s var(--ease);display:block}.fdemo:not(.is-js) .fdemo__progress,.fdemo:not(.is-js) .fdemo__nav{display:none}.fdemo:not(.is-js) .fdemo__step+.fdemo__step{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px dashed var(--line-2)}.fdemo__step[hidden]{display:none}.fdemo__nav{margin-top:var(--s-4);justify-content:space-between;display:flex}.fdemo__btn{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--paper);min-height:32px;font-size:var(--fs-xs);color:var(--ink);cursor:pointer;padding:6px 14px;display:inline-block}.fdemo__btn:disabled{opacity:.45;cursor:default}.fdemo__btn--primary{border-color:var(--accent);background:var(--accent);color:#fff}.fdemo__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fdemo__view>.fdemo__btn--primary,.fdemo__panel>.fdemo__btn--primary{margin-top:var(--s-3)}.fdemo__tabs{border-bottom:1px solid var(--line-2);gap:0}.fdemo__tab span{font-size:var(--fs-xs);color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;display:inline-block}.fdemo__tab input:checked+span{border-bottom-color:var(--accent);color:var(--ink)}.fdemo__panel{display:none}.fdemo:has(input[name$=-tab][value="1"]:checked) [data-panel="1"],.fdemo:has(input[name$=-tab][value="2"]:checked) [data-panel="2"],.fdemo:has(input[name$=-tab][value="3"]:checked) [data-panel="3"]{display:block}.fdemo__acc{border:1px solid var(--line-2);border-radius:var(--radius);padding:0 var(--s-4);margin:0 0 8px}.prose .fdemo__acc+.fdemo__acc{margin-top:0}.fdemo__acc summary{font-size:var(--fs-small);cursor:pointer;padding:10px 0;font-weight:500}.fdemo__acc[open]{border-color:var(--accent-tint-2);padding-bottom:var(--s-2)}.fdemo__acc[open] summary{color:var(--accent-deep)}@media (prefers-reduced-motion:reduce){.fdemo__view,.fdemo__bar,.prose .layout-card{transition:none!important;animation:none!important}}.prose .h-link{border-radius:var(--radius);width:26px;height:26px;color:var(--faint);vertical-align:middle;cursor:pointer;opacity:0;transition:opacity var(--dur) var(--ease);background:0 0;border:0;place-items:center;margin-left:6px;padding:0;display:inline-grid}.prose .has-link:hover .h-link,.prose .h-link:focus-visible,.prose .h-link[data-done]{opacity:1}.prose .h-link:hover{color:var(--accent);background:var(--accent-tint)}.h-link__i{width:14px;height:14px;-webkit-mask:var(--i-link) center / contain no-repeat;mask:var(--i-link) center / contain no-repeat;--i-link:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M6.5 9.5 9.5 6.5M7 4.5l1-1a2.83 2.83 0 0 1 4 4l-1 1M9 11.5l-1 1a2.83 2.83 0 0 1-4-4l1-1'/%3E%3C/svg%3E");background:currentColor}.prose .h-link[data-done]{color:var(--ok-ink)}.prose .h-link[data-done] .h-link__i{--i-link:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 8.5 3 3 6-7'/%3E%3C/svg%3E")}@media (hover:none){.prose .h-link{opacity:1}}.read-progress{z-index:80;background:var(--accent);transform-origin:0;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.read-progress{animation:linear both read-progress}div.read-progress{animation-timeline:scroll(root)}}@keyframes read-progress{to{transform:scaleX(1)}}.read-left{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:0;display:flex}.read-left[hidden]{display:none}.read-left__dot{background:var(--accent);width:6px;height:6px}.prose.post__body .layout-cards,.prose.post__body .case,.prose.post__body .fdemo,.prose.post__body .steps,.prose.post__body .facts{clear:right}.prose.post__body .layout-cards{max-width:none}.prose figcaption.fdemo__head{font-size:var(--fs-small);color:var(--ink-2);border-top:0;padding:0}.prose .fdemo fieldset{min-width:0}.prose .callout.callout--card{column-gap:var(--s-5);margin:var(--s-7) 0;padding:var(--s-5) var(--s-6);border:1px solid var(--accent-tint-2);background:radial-gradient(120% 140% at 100% 0%, #6161ff1f, transparent 55%), linear-gradient(180deg, var(--accent-tint) 0, var(--paper) 100%);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), opacity var(--dur-reveal) var(--ease);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;row-gap:0;display:grid;overflow:hidden}.prose .callout.callout--card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -22px #6161ff8c}.prose .callout.callout--card:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffffb3 50%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}.js .prose .callout.callout--card.is-in:after{animation:callout-sweep 1.2s var(--ease) .3s 1}@keyframes callout-sweep{to{transform:translate(100%)}}.prose .callout--card>*+*{margin-top:0}.prose .callout__icon{background:var(--accent);color:#fff;border-radius:12px;grid-area:1/1/span 9;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 20px -8px #6161ffcc}.prose .callout--card>p{grid-column:2;max-width:none;margin:0}.prose .callout--card .callout-heading{margin-bottom:6px;font-size:1.1875rem;line-height:1.35}.prose .callout--card>p:not(.callout-heading,.callout-action){color:var(--ink-2);font-size:var(--fs-small);line-height:1.6}.prose .callout--card .callout-action{grid-area:1/3/span 9;align-self:center;justify-items:center;gap:8px;display:grid}.prose .callout--card .button{min-height:46px;font-family:var(--font-sans,inherit);font-size:var(--fs-small);letter-spacing:0;text-transform:none;white-space:nowrap;transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);border-radius:999px;padding:0 20px;font-weight:500;box-shadow:0 10px 24px -10px #6161ffd9}.prose .callout--card .button:after{content:none}.prose .callout--card .button:hover{transform:translateY(-1px)}.prose .callout__arrow{transition:transform var(--dur) var(--ease);display:inline-flex}.prose .callout--card .button:hover .callout__arrow{transform:translate(3px)}.prose .callout__trust{font-family:var(--font-mono);font-size:var(--fs-mono-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--muted);white-space:nowrap}@media (width<=720px){.prose .callout.callout--card{grid-template-columns:auto minmax(0,1fr)}.prose .callout--card .callout-action{margin-top:var(--s-3);grid-area:auto/2;justify-items:start}}.prose .faq{counter-reset:faq;margin:var(--s-5) 0 0;border:1px solid var(--line);background:var(--paper);border-radius:16px;overflow:hidden}.prose .faq__bar{padding:12px var(--s-5);border-bottom:1px solid var(--line);background:var(--paper-2);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.prose .faq__all{border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);font:inherit;font-size:var(--fs-xs);cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.prose .faq__all:hover{border-color:var(--accent);color:var(--ink)}.prose .faq details{counter-increment:faq;border:0;border-top:1px solid var(--line);transition:background var(--dur) var(--ease);margin:0;padding:0}.prose .faq details:first-of-type{border-top:0}.prose .faq details:last-of-type{border-bottom:0}.prose .faq details[open]{background:linear-gradient(90deg, var(--accent-tint) 0, var(--paper) 60%);box-shadow:inset 3px 0 0 var(--accent)}.prose .faq summary{padding:18px var(--s-5);transition:color var(--dur) var(--ease);align-items:center}.prose .faq summary:hover{color:var(--accent-ink)}.prose .faq summary:before{content:counter(faq, decimal-leading-zero);width:2.2em;font-family:var(--font-mono);color:var(--faint);flex:none;font-size:12px}.prose .faq details[open] summary:before{color:var(--accent)}.prose .faq summary>:is(h2,h3,h4){text-wrap:pretty;flex:1;max-width:none}.prose .faq summary:after{border:1px solid var(--line-2);width:28px;height:28px;transition:transform .3s var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-radius:50%;place-items:center;font-size:16px;line-height:1;display:grid}.prose .faq details[open] summary:after{border-color:var(--accent);background:var(--accent);color:#fff}.prose .faq details>:not(summary){padding:0 var(--s-6) var(--s-5) calc(var(--s-5) + 2.2em * .857);color:var(--ink-2);margin:0}@supports (interpolate-size:allow-keywords){.prose .faq{interpolate-size:allow-keywords}.prose .faq details::details-content{height:0;transition:height .32s var(--ease), content-visibility .32s allow-discrete;overflow:clip}.prose .faq details[open]::details-content{height:auto}}.prose .faq-ask{align-items:center;gap:var(--s-5);margin:var(--s-4) 0 var(--s-7);padding:var(--s-5) var(--s-6);color:#fffc;background:radial-gradient(80% 140% at 100% 0,#6161ff59,#0000 60%),#0d1220;border-radius:16px;display:flex}.prose .faq-ask__icon{color:#fff;background:#ffffff1a;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.prose .faq-ask>div{flex:1}.prose .faq-ask p{max-width:none;margin:0}.prose .faq-ask__title{color:#fff;font-size:1.125rem;font-weight:500}.prose .faq-ask__text{font-size:var(--fs-small);line-height:1.55;margin-top:4px!important}.prose a.faq-ask__btn{color:#0b1015;height:44px;font-size:var(--fs-small);transition:transform var(--dur) var(--ease);background:#fff;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 18px;font-weight:500;text-decoration:none;display:inline-flex}.prose a.faq-ask__btn:hover{color:#0b1015;transform:translateY(-1px)}@media (width<=560px){.prose .faq-ask{flex-wrap:wrap}.prose a.faq-ask__btn{flex:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.prose .callout.callout--card:hover,.prose a.faq-ask__btn:hover{transform:none}.js .prose .callout.callout--card.is-in:after{animation:none}}html .prose.post__body :is(.case,.facts,.layout-cards,.fdemo,.takeaways,.steps) :is(.case,.facts,.layout-cards,.fdemo,.takeaways,.steps,.callout--card,.table-box--wide){margin-left:0;margin-right:0}.prose .facts:has(>.fact--before,>.fact--after){align-items:start}.post{--note-bleed:var(--bleed)}.post>*{--bleed:0px}.post__crumbs[data-astro-cid-ssdmjifj]{margin-bottom:var(--s-5);gap:8px;display:flex}.post__crumbs[data-astro-cid-ssdmjifj] a[data-astro-cid-ssdmjifj]:hover{color:var(--ink)}.post__title[data-astro-cid-ssdmjifj]{letter-spacing:var(--tracking-display);font-size:clamp(1.875rem,1.5rem + 1.2vw,2.5rem);font-weight:400;line-height:1.15}.post__meta[data-astro-cid-ssdmjifj]{margin-top:var(--s-5);font-size:var(--fs-xs);color:var(--muted)}.post__author[data-astro-cid-ssdmjifj]{color:var(--ink);font-weight:500}.post__author[data-astro-cid-ssdmjifj]:hover{color:var(--accent-ink)}.post__cover[data-astro-cid-ssdmjifj]{margin-top:var(--s-6);overflow:hidden}.post__body[data-astro-cid-ssdmjifj]{margin-top:var(--s-7)}@media (width>=561px){.post__body[data-astro-cid-ssdmjifj]{font-size:var(--fs-read);line-height:1.72}}.post__body[data-astro-cid-ssdmjifj]>:where(p,ul,ol,h2,h3,h4,h5,blockquote,details){max-width:var(--read-w)}.post__author-box[data-astro-cid-ssdmjifj]{margin-top:var(--s-7)}.post__related[data-astro-cid-ssdmjifj]{margin-top:var(--s-8)}
