.blog-article,.blog-category,.blog-home{--blog-accent:var(--accent);--blog-accent-soft:color-mix(in oklab,var(--blog-accent) 14%,transparent);--blog-accent-line:color-mix(in oklab,var(--blog-accent) 32%,transparent);color:var(--fg)}.blog-article--ocean,.blog-card--ocean,.blog-cat-card--ocean,.blog-category--ocean,.blog-home{--blog-accent:#0ea5a4}.blog-article--gold,.blog-card--gold,.blog-cat-card--gold,.blog-category--gold{--blog-accent:#d08700}.blog-article--violet,.blog-card--violet,.blog-cat-card--violet,.blog-category--violet{--blog-accent:#7c5cff}.blog-article--light,.blog-card--light,.blog-cat-card--light,.blog-category--light{--blog-accent:#2563eb}.blog-article--dark,.blog-card--dark,.blog-cat-card--dark,.blog-category--dark{--blog-accent:#64748b}.blog-article,.blog-card,.blog-cat-card,.blog-category{--blog-accent-soft:color-mix(in oklab,var(--blog-accent) 14%,transparent);--blog-accent-line:color-mix(in oklab,var(--blog-accent) 32%,transparent)}.blog-back{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);text-decoration:none;display:inline-block}.blog-back:hover{color:var(--blog-accent)}.blog-empty{padding:3rem 0;color:var(--fg-subtle);text-align:center}.blog-home{width:min(var(--layout-container-max),100% - var(--layout-container-gutter));margin:0 auto;padding:clamp(5.5rem,4.5rem + 3vw,7rem) 0 6rem}.blog-category__eyebrow,.blog-home__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--blog-accent);margin:0 0 .6rem}.blog-home__title{font-size:clamp(2rem,1.3rem + 2.4vw,3.25rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 1rem}.blog-home__intro{font-size:var(--text-lg);line-height:1.6;color:var(--fg-muted);max-width:60ch;margin:0}.blog-home__section{margin-top:clamp(2.5rem,5vw,4rem)}.blog-home__section-title{font-size:var(--text-sm);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 1.25rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.blog-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.blog-cat-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.5rem 1.35rem;border:1px solid var(--border);border-radius:16px;background:var(--bg);text-decoration:none;color:var(--fg);overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.blog-cat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--blog-accent);opacity:.85}.blog-cat-card:hover{border-color:var(--blog-accent-line);transform:translateY(-2px);box-shadow:0 12px 30px -18px color-mix(in oklab,var(--blog-accent) 60%,transparent)}.blog-cat-card__dot{width:10px;height:10px;border-radius:999px;background:var(--blog-accent);box-shadow:0 0 0 4px var(--blog-accent-soft)}.blog-cat-card__title{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;margin:.35rem 0 0}.blog-cat-card__tagline{font-size:var(--text-sm);color:var(--fg-muted);line-height:1.55;margin:0;flex:1 1 auto}.blog-cat-card__count{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);margin-top:.4rem}.blog-post-list{display:grid;gap:1rem}.blog-card{border:1px solid var(--border);border-radius:16px;background:var(--bg);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.blog-card:hover{border-color:var(--blog-accent-line);transform:translateY(-2px);box-shadow:0 14px 32px -20px color-mix(in oklab,var(--blog-accent) 55%,transparent)}.blog-card__link{display:block;text-decoration:none;color:inherit;overflow:hidden;border-radius:inherit}.blog-card__body{min-width:0;padding:1.25rem 1.45rem 1.45rem}.blog-card__kicker{position:relative;display:inline-flex;align-items:center;gap:.45rem;width:fit-content;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:0;line-height:1;text-transform:uppercase;color:color-mix(in oklab,var(--blog-accent) 76%,var(--fg));padding-bottom:.45rem;margin-bottom:.7rem;transition:color .2s ease}.blog-card__kicker:before{content:"";flex:0 0 auto;width:.42rem;height:.42rem;border-radius:999px;background:var(--blog-accent);box-shadow:0 0 0 3px var(--blog-accent-soft);transition:transform .2s ease,box-shadow .2s ease}.blog-card__kicker:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,color-mix(in oklab,var(--blog-accent) 72%,transparent),transparent);opacity:.65;transform-origin:left;transition:opacity .2s ease,transform .2s ease}.blog-card:hover .blog-card__kicker{color:var(--blog-accent)}.blog-card:hover .blog-card__kicker:before{transform:scale(1.08);box-shadow:0 0 0 4px var(--blog-accent-soft)}.blog-card:hover .blog-card__kicker:after{opacity:1;transform:scaleX(1.08)}.blog-card__title{font-size:clamp(1.12rem,1.04rem + .35vw,1.35rem);font-weight:600;letter-spacing:0;line-height:1.32;margin:0 0 .45rem;text-wrap:pretty}.blog-card__summary{font-size:var(--text-base);color:var(--fg-muted);line-height:1.6;margin:0 0 1rem;max-width:70ch}.blog-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--fg-subtle)}.blog-card__meta time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.blog-category{width:min(var(--layout-container-max),100% - var(--layout-container-gutter));margin:0 auto;padding:clamp(5.5rem,4.5rem + 3vw,7rem) 0 6rem}.blog-category__head{margin:1.5rem 0 2.5rem}.blog-category__title{font-size:clamp(2rem,1.3rem + 2.2vw,3rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 0 .75rem}.blog-category__tagline{font-size:var(--text-lg);color:var(--fg);line-height:1.5;margin:0 0 .85rem}.blog-category__description{font-size:var(--text-base);color:var(--fg-muted);line-height:1.7;max-width:65ch;margin:0}.blog-article{width:min(var(--layout-container-max),100% - var(--layout-container-gutter));margin:0 auto;padding:clamp(5.5rem,4.5rem + 3vw,7rem) 0 6rem}@media (min-width:1080px){.blog-article{display:grid;grid-template-columns:minmax(0,1fr) 236px;column-gap:3rem;align-items:start}}.blog-article__main{min-width:0}.blog-article__reader{position:relative;max-width:760px;margin:0 auto}.blog-article__reader-content{min-width:0}.blog-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:760px;margin:0 auto 1.5rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle)}.blog-breadcrumb a{color:var(--fg-subtle);text-decoration:none}.blog-breadcrumb a:hover{color:var(--blog-accent)}.blog-article__head{max-width:760px;margin:0 auto}.blog-article__title{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem);font-weight:700;letter-spacing:-.03em;line-height:1.08;margin:0 0 1rem}.blog-article__summary{font-size:clamp(1.1rem,1rem + .5vw,1.3rem);color:var(--fg-muted);line-height:1.6;margin:0 0 1.25rem}.blog-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--fg-subtle)}.blog-article__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.25rem 0 0}.blog-article__tags li{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--fg-muted);background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;padding:.25rem .7rem}.blog-article__main .blog-content{margin-top:2.5rem}.blog-article__toc{display:none}@media (min-width:1080px){.blog-article__toc{display:block;align-self:start;position:sticky;top:calc(var(--header-h, 64px) + 1.5rem);max-height:calc(100vh - var(--header-h, 64px) - 3rem);overflow-y:auto}}.blog-article__series{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--blog-accent);margin:0 0 .85rem}.blog-article__footer{max-width:760px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid var(--border)}.blog-series-nav{max-width:760px;margin:3rem auto 0;display:grid;gap:1rem}@media (min-width:560px){.blog-series-nav{grid-template-columns:1fr 1fr}}.blog-series-nav__link{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--fg);background:var(--bg);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.blog-series-nav__link:hover{border-color:var(--blog-accent-line);transform:translateY(-2px);box-shadow:0 12px 28px -20px color-mix(in oklab,var(--blog-accent) 55%,transparent)}.blog-series-nav__link--next{text-align:right}.blog-series-nav__dir{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle)}.blog-series-nav__title{font-weight:600;line-height:1.3;color:var(--fg)}.blog-series-nav__link:hover .blog-series-nav__title{color:var(--blog-accent)}.blog-faq{max-width:760px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--border)}.blog-faq__heading{font-size:clamp(1.4rem,1.2rem + 1vw,1.8rem);font-weight:650;letter-spacing:-.02em;margin:0 0 1.25rem}.blog-faq__heading:before{content:"";display:block;width:2.5rem;height:3px;border-radius:3px;background:var(--blog-accent);margin-bottom:1rem}.blog-faq__list{margin:0}.blog-faq__item{padding:1.1rem 0;border-bottom:1px solid var(--border)}.blog-faq__item:last-child{border-bottom:none}.blog-faq__q{font-weight:650;font-size:var(--text-lg);color:var(--fg);margin:0 0 .5rem;line-height:1.45}.blog-faq__a{margin:0;color:var(--fg-muted);line-height:1.7}.blog-faq__a>:first-child{margin-top:0}.blog-faq__a>:last-child{margin-bottom:0}.blog-faq__a a{color:var(--blog-accent);text-decoration:none;border-bottom:1px solid var(--blog-accent-line)}.blog-faq__a a:hover{border-bottom-color:var(--blog-accent)}.blog-toc__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 .85rem}.blog-toc__list{list-style:none;margin:0;padding:0;border-left:1px solid var(--border);display:grid;gap:.55rem}.blog-toc__item a{display:block;font-size:var(--text-sm);line-height:1.4;color:var(--fg-subtle);text-decoration:none;padding-left:.9rem;margin-left:-1px;border-left:2px solid transparent;transition:color .15s ease,border-color .15s ease}.blog-toc__item--l3 a{padding-left:1.7rem;font-size:var(--text-xs)}.blog-toc__item a:hover{color:var(--fg)}.blog-toc__item.is-active a{color:var(--blog-accent);border-left-color:var(--blog-accent)}.blog-content{max-width:760px;margin:0 auto;font-family:var(--font-reading,var(--font-sans));font-size:clamp(1.02rem,.98rem + .2vw,1.15rem);line-height:1.78;color:var(--fg)}.blog-content>ol,.blog-content>p,.blog-content>ul{margin:0 0 1.3rem}.blog-content h2,.blog-content h3,.blog-content h4{font-weight:650;letter-spacing:-.02em;line-height:1.25;scroll-margin-top:calc(var(--header-h, 64px) + 1.5rem)}.blog-content h2{font-size:clamp(1.5rem,1.2rem + 1.1vw,1.95rem);margin:2.8rem 0 1rem;padding-top:.4rem}.blog-content h2:before{content:"";display:block;width:2.5rem;height:3px;border-radius:3px;background:var(--blog-accent);margin-bottom:1rem}.blog-content h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.45rem);margin:2rem 0 .75rem}.blog-content h4{font-size:var(--text-lg);margin:1.6rem 0 .6rem}.blog-content a{color:var(--blog-accent);text-decoration:none;border-bottom:1px solid var(--blog-accent-line)}.blog-content a:hover{border-bottom-color:var(--blog-accent)}.blog-content strong{font-weight:680;color:var(--fg)}.blog-content ol,.blog-content ul{padding-left:1.4rem}.blog-content li{margin-bottom:.5rem}.blog-content li::marker{color:var(--blog-accent)}.blog-content blockquote{margin:1.6rem 0;padding:.4rem 1.25rem;border-left:3px solid var(--blog-accent);color:var(--fg-muted);font-style:italic}.blog-content hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.blog-content code{font-family:var(--font-mono);font-size:.88em;padding:.12em .4em;border-radius:4px}.blog-content code,.blog-content pre{background:var(--bg-muted);border:1px solid var(--border)}.blog-content pre{margin:1.5rem 0;padding:1.1rem 1.25rem;border-radius:12px;overflow-x:auto;font-size:.86rem;line-height:1.65}.blog-content pre code{background:none;border:none;padding:0;font-size:inherit;color:var(--fg)}.blog-content pre .cmt{color:var(--fg-subtle);font-style:italic}.blog-content pre .kw{color:var(--blog-accent);font-weight:600}.blog-content pre .str{color:#0a9396}.blog-figure{margin:2rem 0;padding:1.5rem 1.25rem 1rem;border:1px solid var(--border);border-radius:16px;background:color-mix(in oklab,var(--bg-muted) 60%,transparent)}.blog-figure .dgm-svg,.blog-figure canvas,.blog-figure img,.blog-figure svg{display:block;width:100%;height:auto}.blog-figure figcaption{margin-top:.9rem;font-size:var(--text-sm);color:var(--fg-subtle);text-align:center;line-height:1.55}.blog-photo-figure{padding:0;overflow:hidden;background:var(--bg)}.blog-photo-figure img{aspect-ratio:3/2;object-fit:cover}.blog-photo-figure figcaption{margin:0;padding:.85rem 1rem 1rem;text-align:left}.blog-photo-grid{padding:0;overflow:hidden;background:var(--bg)}.blog-photo-grid__inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:.35rem;padding:.35rem}.blog-photo-grid__inner img{width:100%;min-height:0;border-radius:10px;object-fit:cover}.blog-photo-grid__lead{aspect-ratio:4/5;grid-row:span 2;height:100%}.blog-photo-grid__support{aspect-ratio:4/3}.blog-photo-grid figcaption{margin:0;padding:.85rem 1rem 1rem;text-align:left}.blog-photo-panorama{padding:0;overflow:hidden;background:var(--bg)}.blog-photo-panorama img{aspect-ratio:16/9;object-fit:cover}.blog-photo-panorama figcaption{margin:0;padding:.85rem 1rem 1rem;text-align:left}.blog-photo-sequence{padding:0;overflow:hidden;background:var(--bg)}.blog-photo-sequence__inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;padding:.35rem}.blog-photo-sequence__item{position:relative;min-width:0;overflow:hidden;border-radius:10px;background:var(--bg-muted)}.blog-photo-sequence__item img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}.blog-photo-sequence__item span{position:absolute;left:.45rem;right:.45rem;bottom:.45rem;padding:.32rem .45rem;border:1px solid color-mix(in oklab,white 28%,transparent);border-radius:999px;background:color-mix(in oklab,black 48%,transparent);color:white;font-family:var(--font-mono);font-size:.64rem;font-weight:700;line-height:1.1;text-align:center;text-transform:uppercase}.blog-photo-sequence figcaption{margin:0;padding:.85rem 1rem 1rem;text-align:left}.blog-workflow-figure{padding:1rem}.blog-workflow-canvas{aspect-ratio:16/7.25;min-height:260px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.blog-workflow-figure figcaption{padding:0 .2rem}.dgm-svg .dgm-surface{fill:var(--bg);stroke:var(--border-strong)}.dgm-svg .dgm-core{fill:var(--blog-accent-soft);stroke:var(--blog-accent)}.dgm-svg .dgm-port{fill:var(--bg);stroke:var(--blog-accent)}.dgm-svg .dgm-adapter{fill:var(--bg-muted);stroke:var(--border-strong)}.dgm-svg .dgm-driven{fill:color-mix(in oklab,var(--blog-accent) 8%,var(--bg-muted));stroke:var(--border-strong)}.dgm-svg .dgm-line{stroke:var(--border-strong);fill:none}.dgm-svg .dgm-flow{stroke:var(--blog-accent);fill:none}.dgm-svg .dgm-fill-accent{fill:var(--blog-accent)}.dgm-svg text{fill:var(--fg);font-family:var(--font-sans)}.dgm-svg .dgm-t-strong{font-weight:700}.dgm-svg .dgm-t-mono{font-family:var(--font-mono);fill:var(--fg-muted)}.dgm-svg .dgm-t-muted{fill:var(--fg-subtle)}.dgm-svg .dgm-t-accent{fill:var(--blog-accent);font-weight:700}.blog-content .blog-table-wrap{margin:1.75rem 0;overflow-x:auto;border:1px solid var(--border);border-radius:12px}.blog-content table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:460px}.blog-content thead th{text-align:left;font-weight:650;color:var(--fg);background:var(--bg-muted);padding:.8rem 1rem;border-bottom:1px solid var(--border-strong);white-space:nowrap}.blog-content tbody td,.blog-content tbody th{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.55;text-align:left}.blog-content tbody th{font-weight:600;color:var(--fg);white-space:nowrap}.blog-content tbody tr:last-child td,.blog-content tbody tr:last-child th{border-bottom:none}.blog-content tbody tr:hover{background:var(--blog-accent-soft)}.blog-content .blog-callout{margin:1.75rem 0;padding:1.1rem 1.25rem;border:1px solid var(--border);border-left:4px solid var(--blog-accent);border-radius:12px;background:color-mix(in oklab,var(--bg-muted) 55%,transparent)}.blog-content .blog-callout>:first-child{margin-top:0}.blog-content .blog-callout>:last-child{margin-bottom:0}.blog-content .blog-callout__label{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--blog-accent);margin-bottom:.5rem}.blog-content .blog-callout--warn{border-left-color:#d97706}.blog-content .blog-callout--warn .blog-callout__label{color:#d97706}.blog-content .blog-callout--tip{border-left-color:#0ea5a4}.blog-content .blog-callout--tip .blog-callout__label{color:#0ea5a4}.blog-content .blog-takeaways{margin:2.25rem 0 1rem;padding:1.5rem 1.6rem;border:1px solid var(--blog-accent-line);border-radius:16px;background:var(--blog-accent-soft)}.blog-content .blog-takeaways h3{margin-top:0}.blog-content .blog-takeaways ul{margin-bottom:0}.blog-related{margin:2.75rem 0 0;padding-top:2rem;border-top:1px solid var(--border)}.blog-related__head{max-width:680px;margin-bottom:1rem}.blog-related__title{margin:0;font-size:clamp(1.3rem,1.15rem + .55vw,1.65rem);line-height:1.22;letter-spacing:0}.blog-related__intro{margin:.45rem 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.65}.blog-related__grid{display:grid;gap:.9rem}.blog-related__card{display:block;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg) 96%,var(--blog-accent-soft));color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.blog-related__card:hover{border-color:var(--blog-accent-line);box-shadow:0 18px 48px rgb(15 23 42/.1);transform:translateY(-1px)}.blog-related__card:focus-visible{outline:2px solid var(--blog-accent);outline-offset:3px}.blog-related__body{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:1rem 1.1rem}.blog-related__kicker{color:var(--blog-accent);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.blog-related__card-title{margin-top:.35rem;color:var(--fg);font-size:clamp(1rem,.95rem + .2vw,1.16rem);font-weight:750;line-height:1.35;text-wrap:pretty}.blog-related__summary{display:-webkit-box;overflow:hidden;margin-top:.35rem;color:var(--muted);font-size:var(--text-sm);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.blog-related__meta{margin-top:.65rem;color:var(--muted);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.blog-content{font-size:1.02rem}.blog-figure{padding:1rem .85rem .75rem}.blog-photo-figure,.blog-photo-grid,.blog-photo-panorama,.blog-photo-sequence{padding:0}.blog-photo-grid__inner{grid-template-columns:1fr}.blog-photo-sequence__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-photo-grid__lead,.blog-photo-grid__support{aspect-ratio:3/2;grid-row:auto}.blog-related__body{padding:1rem}}.blog-article__views{display:inline-flex;align-items:center;gap:.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;animation:blog-fade-in .4s ease both}.blog-article__views svg{width:1rem;height:1rem;opacity:.8}@keyframes blog-fade-in{0%{opacity:0;transform:translateY(2px)}}.blog-react{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,color .18s ease}.blog-react:hover{border-color:var(--blog-accent-line);transform:translateY(-1px)}.blog-react:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-react__icon{width:1.1rem;height:1.1rem}.blog-react--active{border-color:var(--blog-accent);background:var(--blog-accent-soft);color:var(--blog-accent)}.blog-react__count{font-size:var(--text-xs);opacity:.85}.blog-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin:2.75rem 0 .5rem;padding:1.4rem 1.5rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-muted);opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}.blog-reactions--ready{opacity:1;transform:none}.blog-reactions__prompt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle)}.blog-reactions__row{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.blog-share-dock{position:fixed;right:1.1rem;bottom:1.1rem;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.blog-share-dock--visible{opacity:1;transform:none;pointer-events:auto}.blog-share-dock__actions{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;transform:translateY(8px) scale(.96);transform-origin:bottom center;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.blog-share-dock--open .blog-share-dock__actions{opacity:1;transform:none;pointer-events:auto}.blog-share-dock__label{display:none}.blog-share-dock__btn,.blog-share-dock__fab{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.08);transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.blog-share-dock__btn:hover,.blog-share-dock__fab:hover{border-color:var(--blog-accent-line);color:var(--blog-accent);transform:translateY(-2px)}.blog-share-dock__btn:focus-visible,.blog-share-dock__fab:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-share-dock__fab{background:var(--blog-accent);border-color:var(--blog-accent);color:#fff;box-shadow:0 6px 18px color-mix(in oklab,var(--blog-accent) 45%,transparent)}.blog-share-dock__fab:hover{color:#fff}@media (min-width:1280px){.blog-article__reader{display:grid;grid-template-columns:0 minmax(0,1fr);align-items:start}.blog-article__reader-content{grid-column:2}.blog-article__reader>.blog-share-dock{grid-column:1;justify-self:end;align-self:start;position:sticky;right:auto;bottom:auto;left:auto;top:max(calc(var(--header-h, 64px) + 1.5rem),calc(50vh - 7.5rem));width:max-content;height:max-content;transform:translateX(-1.2rem);align-items:center;gap:.55rem}.blog-article__reader>.blog-share-dock--visible{transform:translateX(-1.2rem)}.blog-article__reader>.blog-share-dock .blog-share-dock__actions{opacity:1;transform:none;pointer-events:auto}.blog-article__reader>.blog-share-dock .blog-share-dock__label{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle);writing-mode:vertical-rl;margin-bottom:.4rem}.blog-article__reader>.blog-share-dock .blog-share-dock__btn{width:2.4rem;height:2.4rem;box-shadow:none}.blog-article__reader>.blog-share-dock .blog-share-dock__fab{display:none}}@media (max-width:640px){.blog-reactions{flex-direction:column;align-items:flex-start;padding:1.2rem 1.15rem}.blog-reactions__row{margin-left:0;width:100%}}@media (prefers-reduced-motion:reduce){.blog-article__views,.blog-reactions,.blog-share-dock,.blog-share-dock__actions{transition:none;animation:none}}.blog-card__views{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--text-xs);color:var(--blog-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.blog-card__views svg{width:.9rem;height:.9rem;opacity:.85}.blog-explorer__controls{display:grid;gap:1rem;margin-bottom:1.75rem}.blog-search{position:relative;display:flex;align-items:center}.blog-search__icon{position:absolute;left:.95rem;width:1.05rem;height:1.05rem;color:var(--fg-subtle);pointer-events:none}.blog-search__input{width:100%;font:inherit;font-size:var(--text-base);color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.75rem 2.6rem;transition:border-color .18s ease,box-shadow .18s ease;appearance:none}.blog-search__input::placeholder{color:var(--fg-subtle)}.blog-search__input:focus-visible{outline:none;border-color:var(--blog-accent);box-shadow:0 0 0 3px var(--blog-accent-soft)}.blog-search__input::-webkit-search-cancel-button{appearance:none}.blog-search__clear{position:absolute;right:.6rem;display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border:none;border-radius:999px;background:var(--bg-muted);color:var(--fg-muted);cursor:pointer;transition:color .15s ease,background .15s ease}.blog-search__clear:hover{color:var(--fg);background:var(--blog-accent-soft)}.blog-search__clear:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-filters{display:flex;flex-wrap:wrap;gap:.5rem}.blog-chip{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--fg-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.4rem .85rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.blog-chip:hover{color:var(--fg);border-color:var(--blog-accent-line);transform:translateY(-1px)}.blog-chip:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-chip.is-active{color:#fff;background:var(--blog-accent);border-color:var(--blog-accent)}.blog-tags{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.blog-tags__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle)}.blog-tags__list{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.blog-tag{font-size:var(--text-xs);color:var(--fg-muted);background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;padding:.28rem .7rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.blog-tag:hover{color:var(--blog-accent);border-color:var(--blog-accent-line)}.blog-tag:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-tag.is-active{color:var(--blog-accent);background:var(--blog-accent-soft);border-color:var(--blog-accent)}.blog-explorer__status{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.25rem}.blog-explorer__count{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);margin:0}.blog-explorer__count,.blog-explorer__reset{font-family:var(--font-mono);font-size:var(--text-xs)}.blog-explorer__reset{letter-spacing:.06em;color:var(--blog-accent);background:none;border:none;cursor:pointer;padding:.2rem .1rem}.blog-explorer__reset:hover{text-decoration:underline}.blog-explorer__reset:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px;border-radius:4px}.blog-explorer__scroll-anchor{scroll-margin-top:calc(var(--header-h, 64px) + 1.5rem)}.blog-category .blog-post-list,.blog-explorer .blog-post-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.blog-category .blog-card,.blog-explorer .blog-card{height:100%}.blog-category .blog-card__link,.blog-explorer .blog-card__link{display:flex;flex-direction:column;height:100%}.blog-category .blog-card__body,.blog-explorer .blog-card__body{display:flex;flex:1 1 auto;flex-direction:column}.blog-category .blog-card__summary,.blog-explorer .blog-card__summary{flex:1 1 auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.blog-explorer__empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3.5rem 1rem;text-align:center}.blog-explorer__empty-title{font-size:var(--text-lg);color:var(--fg-muted);margin:0}.blog-pager{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:2.5rem}.blog-pager,.blog-pager__pages{display:flex;align-items:center}.blog-pager__pages{list-style:none;gap:.3rem;margin:0;padding:0}.blog-pager__edge,.blog-pager__page{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:2.4rem;height:2.4rem;padding:0 .6rem;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.blog-pager__edge:hover:not(:disabled),.blog-pager__page:hover:not(.is-active){color:var(--fg);border-color:var(--blog-accent-line);transform:translateY(-1px)}.blog-pager__edge:focus-visible,.blog-pager__page:focus-visible{outline:2px solid var(--blog-accent);outline-offset:2px}.blog-pager__edge:disabled{opacity:.4;cursor:not-allowed}.blog-pager__page.is-active{color:#fff;background:var(--blog-accent);border-color:var(--blog-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.blog-pager__gap{padding:0 .25rem;color:var(--fg-subtle);-webkit-user-select:none;user-select:none}@media (max-width:480px){.blog-pager__edge-text{display:none}.blog-pager__edge{min-width:2.4rem;padding:0}}@media (prefers-reduced-motion:reduce){.blog-chip,.blog-pager__edge,.blog-pager__page,.blog-search__clear,.blog-search__input,.blog-tag{transition:none}}