.blog-shell{padding-bottom:var(--s-10)}.blog-head{display:grid;justify-items:center;gap:10px;max-width:720px;margin:6px auto var(--s-6);padding:var(--s-6) var(--s-4) 0;text-align:center}.blog-head__eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--brand-tint);border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand-deep);font-size:var(--fs-xs);font-weight:700}.blog-head__title{margin:0;color:var(--ink);font-family:var(--font-head);font-size:clamp(1.5rem,1.1rem + 1.6vw,2.15rem);font-weight:700;line-height:1.45;letter-spacing:-.02em}.blog-head__sub{margin:0;max-width:56ch;color:var(--ink-3);font-size:var(--fs-base);line-height:2}.cat-rail{margin-bottom:var(--s-8);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.cat-rail::-webkit-scrollbar{display:none}.cat-rail__track{display:flex;gap:10px;margin:0;padding:2px;list-style:none}.cat-rail__track>li{flex:0 0 auto;scroll-snap-align:start}@media (min-width: 1024px){.cat-rail{overflow:visible}.cat-rail__track{flex-wrap:wrap;justify-content:center}}.cat-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:172px;padding:11px 14px 11px 12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;transition:transform var(--m-fast, .15s) var(--m-ease, ease),border-color var(--m-fast, .15s) var(--m-ease, ease),box-shadow var(--m-fast, .15s) var(--m-ease, ease)}.cat-card:before,.cat-card:after{content:"";grid-column:1;grid-row:1;place-self:center}.cat-card:before{width:38px;height:38px;border-radius:12px;background:var(--brand-soft);transition:background-color var(--m-fast, .15s) ease}.cat-card:after{width:19px;height:19px;background:var(--brand-deep);-webkit-mask:var(--cat-mask) center / contain no-repeat;mask:var(--cat-mask) center / contain no-repeat;transition:background-color var(--m-fast, .15s) ease}@media (hover: hover) and (pointer: fine){.cat-card:hover{transform:translateY(-2px);border-color:var(--brand-tint);box-shadow:0 10px 24px #3c235f14}}.cat-card__body{grid-column:2;grid-row:1;display:grid;gap:2px;min-width:0}.cat-card__body strong{color:var(--ink);font-size:var(--fs-sm);font-weight:700;white-space:nowrap}.cat-card__body small{color:var(--ink-4);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.cat-card.is-on{border-color:transparent;background:var(--grad-brand);box-shadow:0 8px 22px #7c3aed42}.cat-card.is-on:before{background:#ffffff2e}.cat-card.is-on:after{background:#fff}.cat-card.is-on .cat-card__body strong{color:#fff}.cat-card.is-on .cat-card__body small{color:#ffffffbf}.blog-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:var(--s-8)}.blog-cats__pill.is-on{border-color:transparent;background:var(--grad-brand);color:#fff}.blog-cats__pill.is-on span{color:#ffffffb8}.blog-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--s-6)}@media (min-width: 1024px){.blog-layout{grid-template-columns:minmax(0,1fr) 290px;gap:var(--s-8)}}.blog-main{min-width:0}.post-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4)}@media (min-width: 560px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.post-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--t-med),box-shadow var(--t-med),transform var(--t-med)}@media (hover: hover) and (pointer: fine){.post-card:hover,.post-card:focus-within{border-color:var(--brand-tint);box-shadow:0 12px 32px #3c235f17;transform:translateY(-3px)}.post-card:hover .post-card__media img{transform:scale(1.045)}}.post-card__media{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--surface-3)}.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-out)}.post-card__media--empty:before{content:"";position:absolute;inset:50% auto auto 50%;width:26px;height:26px;background:var(--ink-4);-webkit-mask:var(--mask-list) center / contain no-repeat;mask:var(--mask-list) center / contain no-repeat;transform:translate(-50%,-50%)}.post-card__body{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;padding:var(--s-4)}.post-card__cat{align-self:flex-start;padding:4px 10px;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand-deep);font-size:var(--fs-xs);font-weight:700;text-decoration:none}.post-card__cat:hover{background:var(--brand-tint)}.post-card__title{margin:0;font-family:var(--font-head);font-size:var(--fs-base);font-weight:700;line-height:1.8;letter-spacing:-.01em}.post-card__title a{display:-webkit-box;overflow:hidden;color:var(--ink);text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2;transition:color var(--t-fast)}.post-card__title a:hover{color:var(--brand)}.post-card__excerpt{display:-webkit-box;flex:1 1 auto;margin:0;overflow:hidden;color:var(--ink-3);font-size:var(--fs-sm);line-height:2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.post-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;padding-top:10px;border-top:1px solid var(--line-soft);color:var(--ink-4);font-size:var(--fs-xs);font-weight:600}.post-card__time{display:inline-flex;align-items:center;gap:5px;color:var(--brand-deep);opacity:.75}.post-card__time:before{content:"";flex:none;width:12px;height:12px;background:currentColor;-webkit-mask:var(--mask-clock) center / contain no-repeat;mask:var(--mask-clock) center / contain no-repeat}@media (min-width: 900px){.post-card--wide{grid-column:span 2;flex-direction:row-reverse;align-items:stretch}.post-card--wide .post-card__media{flex:0 0 42%;aspect-ratio:auto}.post-card--wide .post-card__body{justify-content:center;gap:10px;padding:var(--s-5)}.post-card--wide .post-card__title{font-size:var(--fs-md)}.post-card--wide .post-card__excerpt{flex:none;-webkit-line-clamp:3}}@media (min-width: 900px){.post-card--feature{grid-column:1 / -1;flex-direction:row-reverse;align-items:stretch}.post-card--feature .post-card__media{flex:0 0 46%;aspect-ratio:auto}.post-card--feature .post-card__body{justify-content:center;gap:12px;padding:var(--s-6)}.post-card--feature .post-card__title{font-size:var(--fs-lg);line-height:1.7}.post-card--feature .post-card__title a{-webkit-line-clamp:3}.post-card--feature .post-card__excerpt{flex:none;font-size:var(--fs-base);-webkit-line-clamp:3}}.blog-side{display:grid;gap:var(--s-4);align-content:start;min-width:0}@media (min-width: 1024px){.blog-side{position:sticky;top:calc(var(--sticky-top) + 16px)}}.blog-side__block,.blog-side__cta{padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.blog-side__title{display:flex;align-items:center;gap:7px;margin:0 0 12px;padding-bottom:11px;border-bottom:1px solid var(--line-soft);color:var(--ink);font-size:var(--fs-sm);font-weight:700}.blog-side__title:before{content:"";flex:none;width:15px;height:15px;background:var(--brand);-webkit-mask:var(--mask-list) center / contain no-repeat;mask:var(--mask-list) center / contain no-repeat}.blog-side__list{display:grid;gap:4px}.post-mini{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:7px;border-radius:var(--r-md);transition:background-color var(--t-fast)}.post-mini:hover{background:var(--surface-2)}.post-mini__media{display:block;width:52px;height:52px;overflow:hidden;border-radius:10px;background:var(--surface-3)}.post-mini__media img{width:100%;height:100%;object-fit:cover}.post-mini__body{min-width:0;display:grid;gap:5px}.post-mini__title{margin:0;font-size:var(--fs-xs);font-weight:600;line-height:1.75}.post-mini__title a{display:-webkit-box;overflow:hidden;color:var(--ink-2);text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.post-mini__title a:hover{color:var(--brand)}.post-mini__time{display:inline-flex;align-items:center;gap:4px;color:var(--ink-4);font-size:10px;font-weight:600}.post-mini__time:before{content:"";flex:none;width:11px;height:11px;background:currentColor;-webkit-mask:var(--mask-clock) center / contain no-repeat;mask:var(--mask-clock) center / contain no-repeat}.blog-side__cta{display:grid;justify-items:start;gap:9px;border-color:var(--brand-tint);background:linear-gradient(165deg,#fdfbff 0%,var(--brand-soft) 100%)}.blog-side__cta:before,.blog-side__cta:after{content:"";grid-column:1;grid-row:1;place-self:start}.blog-side__cta:before{width:38px;height:38px;border-radius:11px;background:var(--surface);box-shadow:0 2px 6px #55108e1a}.blog-side__cta:after{width:20px;height:20px;margin:9px;background:var(--brand-deep);-webkit-mask:var(--mask-headset) center / contain no-repeat;mask:var(--mask-headset) center / contain no-repeat}.blog-side__cta-title{margin:0;color:var(--ink);font-size:var(--fs-base);font-weight:700}.blog-side__cta-text{margin:0;color:var(--ink-3);font-size:var(--fs-sm);line-height:1.95}.blog-side__cta-link{display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:var(--brand-deep);font-size:var(--fs-sm);font-weight:700;text-decoration:none}.blog-side__cta-link:after{content:"";flex:none;width:15px;height:15px;background:currentColor;-webkit-mask:var(--mask-chevron-left) center / contain no-repeat;mask:var(--mask-chevron-left) center / contain no-repeat;transition:transform var(--m-base) var(--m-spring)}.blog-side__cta-link:hover{color:var(--brand)}.blog-side__cta-link:hover:after{transform:translate(-3px)}.blog-empty{display:grid;justify-items:center;gap:var(--s-4);padding:var(--s-16) var(--s-4);color:var(--ink-4);text-align:center}.blog-empty:before{content:"";width:46px;height:46px;background:currentColor;-webkit-mask:var(--mask-search) center / contain no-repeat;mask:var(--mask-search) center / contain no-repeat}.blog-empty p{margin:0;color:var(--ink-2);font-size:var(--fs-md)}.post-single{display:block}.post-hero{display:grid;justify-items:center;gap:14px;max-width:860px;margin:4px auto var(--s-6);padding:var(--s-5) var(--s-4) 0;text-align:center}.post-hero__cats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.post-hero__cats a{padding:5px 12px;border:1px solid var(--brand-tint);border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand-deep);font-size:var(--fs-xs);font-weight:700;text-decoration:none}.post-hero__cats a:hover{background:var(--brand-tint)}.post-hero__title{margin:0;color:var(--ink);font-family:var(--font-head);font-size:clamp(1.45rem,1.05rem + 1.7vw,2.2rem);font-weight:700;line-height:1.6;letter-spacing:-.02em}.post-hero__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;color:var(--ink-3);font-size:var(--fs-xs);font-weight:600}.post-hero__meta>*{display:inline-flex;align-items:center;gap:5px}.post-hero__author:before,.post-hero__date:before,.post-hero__updated:before,.post-hero__time:before{content:"";flex:none;width:14px;height:14px;background:var(--ink-4);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.post-hero__author:before{-webkit-mask-image:var(--mask-user);mask-image:var(--mask-user)}.post-hero__date:before{-webkit-mask-image:var(--mask-calendar);mask-image:var(--mask-calendar)}.post-hero__updated:before{-webkit-mask-image:var(--mask-refresh);mask-image:var(--mask-refresh)}.post-hero__time{color:var(--brand-deep)}.post-hero__time:before{background:currentColor;-webkit-mask-image:var(--mask-clock);mask-image:var(--mask-clock)}.post-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--s-6)}@media (min-width: 1024px){.post-layout{grid-template-columns:minmax(0,1fr) 290px;gap:var(--s-8)}}.post-main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5)}.post-figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.post-figure img{display:block;width:100%;height:auto}.post-block{padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.post-block__head{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--ink);font-family:var(--font-head);font-size:var(--fs-md);font-weight:700;letter-spacing:-.01em}.post-block__icon{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--brand-soft);color:var(--brand-deep)}.post-block__icon:before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.post-block__icon--bolt:before{-webkit-mask-image:var(--mask-bolt);mask-image:var(--mask-bolt)}.post-block__icon--check-circle:before{-webkit-mask-image:var(--mask-check-circle);mask-image:var(--mask-check-circle)}.post-block__icon--list:before{-webkit-mask-image:var(--mask-list);mask-image:var(--mask-list)}.post-block__icon--chat:before{-webkit-mask-image:var(--mask-chat);mask-image:var(--mask-chat)}.post-block__count{margin-inline-start:auto;padding:4px 10px;border-radius:var(--r-full);background:var(--surface-3);color:var(--ink-3);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.post-block--quick{border-color:var(--brand-tint);background:linear-gradient(165deg,#fdfbff 0%,var(--brand-soft) 100%)}.post-block__lead{margin:0;color:var(--ink-2);font-size:var(--fs-base);font-weight:500;line-height:2.15}.post-points{display:grid;gap:11px;margin:0;padding:0;list-style:none}.post-points li{position:relative;padding-inline-start:26px;color:var(--ink-2);font-size:var(--fs-base);line-height:2.05}.post-points li:before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.72em;width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.post-toc{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface-2)}.post-toc__head{display:flex;align-items:center;gap:9px;padding:var(--s-4) var(--s-5);color:var(--ink);font-family:var(--font-head);font-size:var(--fs-base);font-weight:700;cursor:pointer;list-style:none}.post-toc__head::-webkit-details-marker{display:none}.post-toc__head:after{content:"";flex:none;width:15px;height:15px;background:var(--ink-4);-webkit-mask:var(--mask-chevron-down) center / contain no-repeat;mask:var(--mask-chevron-down) center / contain no-repeat;transition:transform var(--t-fast)}.post-toc[open] .post-toc__head:after{transform:rotate(180deg)}.post-toc__list{display:grid;gap:2px;margin:0;padding:0 var(--s-5) var(--s-5);list-style:none;counter-reset:btrd-toc}.post-toc__item a{display:block;padding:8px 10px;border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.9;text-decoration:none;transition:background-color var(--t-fast),color var(--t-fast)}.post-toc__item--h2 a{counter-increment:btrd-toc;font-weight:600}.post-toc__item--h2 a:before{content:counter(btrd-toc) ". ";color:var(--brand);font-weight:700;font-variant-numeric:tabular-nums}.post-toc__item--h3 a{padding-inline-start:28px;color:var(--ink-3);font-size:var(--fs-xs)}.post-toc__item--h3 a:before{content:"";position:absolute;margin-inline-start:-14px;margin-block-start:.85em;width:6px;height:1.5px;background:var(--ink-4)}.post-toc__item a:hover{background:var(--brand-soft);color:var(--brand-deep)}.post-faq{display:grid;gap:10px;margin:0}.post-faq dd{margin:0}.post-faq__item{padding:var(--s-4);border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface-2)}.post-faq__q,.post-faq__a{display:flex;gap:9px;margin:0;line-height:2.05}.post-faq__q{color:var(--ink);font-size:var(--fs-base);font-weight:700}.post-faq__a{margin-top:9px;padding-top:10px;border-top:1px dashed var(--line);color:var(--ink-2);font-size:var(--fs-sm)}.post-faq__tag{flex:none;height:21px;padding-inline:9px;display:inline-flex;align-items:center;border-radius:var(--r-full);background:var(--brand);color:#fff;font-size:10px;font-weight:700;line-height:1}.post-faq__tag--a{background:var(--success)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:var(--s-4);border-top:1px solid var(--line-soft)}.post-tags__label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font-size:var(--fs-xs);font-weight:700}.post-tags__label:before{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:var(--mask-tag) center / contain no-repeat;mask:var(--mask-tag) center / contain no-repeat}.post-tags a{padding:5px 11px;border:1px solid var(--line);border-radius:var(--r-full);color:var(--ink-2);font-size:var(--fs-xs);text-decoration:none;transition:border-color var(--t-fast),color var(--t-fast)}.post-tags a:hover{border-color:var(--brand-tint);color:var(--brand)}.post-related{margin-top:var(--s-10)}.post-related__title{margin:0 0 var(--s-4);color:var(--ink);font-family:var(--font-head);font-size:var(--fs-lg);font-weight:700}@media (min-width: 560px){.post-grid--related{grid-template-columns:repeat(3,minmax(0,1fr))}}.post-main .prose:not(.btrd-html *){max-width:none}.post-intro{margin-bottom:var(--s-5);color:var(--ink-2);font-size:var(--fs-md);line-height:2.15}.post-intro>p:first-child{margin-top:0}.post-intro>p:last-child{margin-bottom:0}.post-section{position:relative;margin-block:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(140px 100px at 3% -8%,#6d28d90d,#6d28d900 70%),linear-gradient(180deg,#fff 0%,var(--surface-2) 100%)}.post-section>h2{display:flex;align-items:center;gap:11px;margin:0 0 var(--s-4);padding-bottom:13px;border-bottom:1px solid var(--line-soft);color:var(--ink);font-family:var(--font-head);font-size:var(--fs-md);font-weight:700;line-height:1.75;letter-spacing:-.015em;scroll-margin-top:calc(var(--sticky-top) + 16px)}.post-section>h2:before{content:"";flex:none;align-self:flex-start;width:4px;height:1.3em;margin-top:.12em;border-radius:var(--r-full);background:var(--grad-brand)}.post-section>h3{display:flex;align-items:baseline;gap:8px;margin:var(--s-6) 0 var(--s-3);color:var(--brand-deep);font-size:var(--fs-base);font-weight:700;scroll-margin-top:calc(var(--sticky-top) + 16px)}.post-section>h3:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--brand);opacity:.5}.post-section>h4,.post-section>h5,.post-section>h6{margin:var(--s-5) 0 var(--s-2);color:var(--ink);font-size:var(--fs-sm);font-weight:700}.post-section>:last-child{margin-bottom:0}.post-section img{border-radius:var(--r-md)}@media (max-width: 639px){.post-section{padding:var(--s-4) var(--s-4) var(--s-3);border-radius:var(--r-md)}.post-section>h2{font-size:var(--fs-base);gap:9px}}@media (prefers-reduced-motion: reduce){.post-card,.post-card__media img,.post-toc__head:after{transition:none}.post-card:hover,.post-card:hover .post-card__media img{transform:none}}.post-card{border-color:var(--line);box-shadow:0 2px 5px #241e3006;transition:border-color .16s ease,transform .16s ease}.post-card__cat{color:var(--brand-deep);background:var(--brand-soft)}.post-card__title{letter-spacing:0}.post-card__excerpt{color:var(--ink-2)}.post-card__foot{border-color:var(--line-soft);color:var(--ink-3)}.post-section{background:#fff;border-color:var(--line)}.post-section>h2{letter-spacing:0;border-bottom-color:var(--line-soft)}.post-toc{border-color:var(--line);background:var(--surface-2)}.post-toc__head{color:var(--ink)}.post-toc__item a:focus-visible{outline-offset:-2px}@media (hover: hover) and (pointer: fine){.post-card:hover,.post-card:focus-within{border-color:#c6a9e4;box-shadow:0 6px 18px #301d4611;transform:translateY(-2px)}}@media (prefers-reduced-motion: reduce){.post-card{transition:none}.post-card:hover,.post-card:focus-within{transform:none}}
