.blog-shell{padding-top:calc(var(--header-h) + clamp(20px,3vw,40px));padding-bottom:var(--s-2)}.blog-head{margin-bottom:clamp(28px,4vw,48px)}.blog-head h1{font-size:clamp(2rem,4.6vw,3.6rem);margin-bottom:.35em;max-width:20ch}.blog-head__page{display:block;margin-top:.4em;font:600 .9rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.blog-head .lead{margin-bottom:28px}.topic-nav{display:flex;flex-wrap:wrap;gap:8px}.topic-nav .chip{text-decoration:none;padding:8px 13px;font-size:.78rem;transition:border-color .2s,color .2s,background .2s}.topic-nav .chip:hover{border-color:var(--green);color:var(--text)}.topic-nav__n{color:var(--muted);font-weight:400}.chip--green .topic-nav__n{color:inherit;opacity:.75}@media(max-width:640px){.topic-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding:2px var(--gutter) 6px;scroll-snap-type:x proximity}.topic-nav::-webkit-scrollbar{display:none}.topic-nav .chip{flex:none;scroll-snap-align:start}}.post-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(16px,2vw,24px)}.post-grid-cards--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.post-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--r-3);overflow:hidden;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s}.post-card:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:0 24px 50px -30px #3dff6e59}.post-card__media{aspect-ratio:16/10;background:var(--surface-3);overflow:hidden;border-bottom:1px solid var(--line)}.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),filter .3s;filter:saturate(.9)}.post-card:hover .post-card__media img{transform:scale(1.04);filter:none}.post-card__ph{display:grid;place-items:center;height:100%;background:radial-gradient(circle at 50% 45%,rgba(61,255,110,.12),transparent 60%)}.post-card__ph img{width:64px;height:64px;object-fit:contain;opacity:.55}.post-card__body{display:flex;flex-direction:column;gap:12px;padding:18px 20px 22px;flex:1}.post-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:500 .78rem/1.2 var(--f-mono);color:var(--muted)}.post-card__meta .chip{position:relative;z-index:2;text-decoration:none;font-size:.7rem}.post-card__title{font:700 1.08rem/1.3 var(--f-body);margin:0;letter-spacing:0}.post-card__title a{color:var(--text);text-decoration:none}.post-card__title a:after{content:"";position:absolute;inset:0;z-index:1}.post-card__title a:hover{color:var(--green)}.post-card__title a:focus-visible{outline:none}.post-card:has(.post-card__title a:focus-visible){outline:2px solid var(--green);outline-offset:3px}.post-card__excerpt{margin:0;color:var(--text-2);font-size:.93rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:clamp(32px,4vw,52px);font-family:var(--f-mono)}.pager__nums{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pager__btn,.pager__num{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);color:var(--text-2);text-decoration:none;font-size:.88rem}.pager__btn:hover,.pager__num:hover{border-color:var(--green);color:var(--text)}.pager__num.is-cur{background:var(--green);border-color:var(--green);color:#03140a;font-weight:600}.pager__btn.is-off{opacity:.35}.pager__gap{align-self:center;color:var(--muted);padding:0 4px}@media(max-width:520px){.pager__btn{flex:1}.pager__nums{order:-1;width:100%}}.read-progress{position:fixed;left:0;right:0;top:var(--header-h);height:3px;z-index:99;pointer-events:none}.read-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green-3),var(--green));box-shadow:0 0 12px var(--green-glow);transform-origin:0 50%;transform:scaleX(0)}.no-js .read-progress{display:none}.post{max-width:1100px}.post-head{max-width:880px;margin-bottom:clamp(20px,3vw,32px)}.post-head>.chip{text-decoration:none;margin-bottom:16px}.post-head h1{font-size:clamp(1.75rem,4vw,3.1rem);line-height:1.1;margin:0 0 .5em;overflow-wrap:break-word;hyphens:manual}.post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:.82rem;color:var(--muted)}.post-meta span+span:before{content:"//";margin-right:18px;color:var(--green-3)}.post-meta time{color:var(--text-2)}@media(max-width:640px){.post-meta{flex-direction:column;gap:4px}.post-meta span+span:before{content:none}}.post-hero{margin:0 0 clamp(28px,4vw,48px);border-radius:var(--r-3);overflow:hidden;border:1px solid var(--line);background:var(--surface);aspect-ratio:16/9;position:relative}.post-hero img{width:100%;height:100%;object-fit:cover}.post-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(5,8,7,.45))}@media(max-width:640px){.post-hero{aspect-ratio:4/3;border-radius:var(--r-2);margin-inline:calc(-1*var(--gutter)/2)}}.post-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(0,280px);justify-content:space-between;gap:clamp(32px,5vw,72px);align-items:start}.post-layout--solo{grid-template-columns:minmax(0,740px)}.post-aside{grid-column:2;grid-row:1;position:sticky;top:calc(var(--header-h) + 24px);max-height:calc(100vh - var(--header-h) - 48px);overflow:auto;scrollbar-width:thin}.post-body{grid-column:1;grid-row:1;min-width:0}@media(max-width:980px){.post-layout{grid-template-columns:minmax(0,1fr)}.post-aside{grid-column:1;grid-row:1;position:static;max-height:none;overflow:visible}.post-body{grid-row:2}}.toc{border:1px solid var(--line);border-radius:var(--r-2);background:#0c151199;padding:6px}.toc__toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:none;border:0;color:var(--green);font:600 .78rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-align:left}.toc__toggle:after{content:"+";font-size:1.1rem;color:var(--text-2);transition:transform .25s}.toc__toggle[aria-expanded=true]:after{transform:rotate(45deg)}.toc__n{margin-left:auto;color:var(--muted);letter-spacing:0}.toc__list{list-style:none;margin:0;padding:4px 6px 10px;counter-reset:toc;display:grid;gap:2px}.toc__list li{counter-increment:toc}.toc__list a{display:grid;grid-template-columns:2.2em 1fr;padding:7px 8px;border-radius:8px;color:var(--text-2);text-decoration:none;font-size:.88rem;line-height:1.35;border-left:2px solid transparent}.toc__list a:before{content:counter(toc,decimal-leading-zero);font:500 .75rem/1.6 var(--f-mono);color:var(--muted)}.toc__list a:hover{color:var(--text);background:#ffffff08}.toc__list a.is-active{color:var(--green);border-left-color:var(--green);background:#3dff6e0d}.toc__list a.is-active:before{color:var(--green)}.js .toc:not(.is-open) .toc__list{display:none}@media(min-width:981px){.toc__toggle{cursor:default;pointer-events:none}.toc__toggle:after{display:none}.js .toc:not(.is-open) .toc__list{display:grid}}.post-body.prose{max-width:740px}.post-body>:first-child{margin-top:0}.prose h2,.prose h3{scroll-margin-top:calc(var(--header-h) + 24px)}.prose h2:before{content:"";display:block;width:36px;height:3px;margin-bottom:.6em;background:var(--green);box-shadow:0 0 10px var(--green-glow);border-radius:2px}.prose h3 strong,.prose h2 strong{color:inherit}.prose figure.post-img{margin:1.8em 0}.prose figure.post-img img{margin:0;width:100%;border:1px solid var(--line);background:var(--surface)}.prose figure.is-square img{max-width:min(100%,520px);margin-inline:auto}.prose figure.is-tall img{max-width:min(100%,420px);margin-inline:auto}.prose .table-wrap{margin:1.6em 0;overflow-x:auto;border:1px solid var(--line-2);border-radius:var(--r-2);-webkit-overflow-scrolling:touch}.prose .table-wrap table{display:table;margin:0;min-width:100%;border:0;border-style:hidden}.prose .table-wrap caption{caption-side:top;text-align:left;padding:12px 14px;color:var(--text);font-size:.95rem;border-bottom:1px solid var(--line-2)}.prose .table-wrap th{font:600 .82rem/1.35 var(--f-mono);letter-spacing:.02em}.prose .table-wrap tr:nth-child(2n) td{background:#ffffff04}@media(max-width:640px){.prose .table-wrap table{min-width:520px}.prose{font-size:1.02rem}}.prose a[target=_blank]:after{content:"↗";font-size:.8em;margin-left:2px}.prose p,.prose li{overflow-wrap:break-word}.post-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:clamp(20px,3vw,40px);align-items:center;margin:clamp(40px,6vw,72px) 0;max-width:1100px;border-color:#3dff6e40;background:radial-gradient(120% 140% at 100% 0%,rgba(61,255,110,.1),transparent 55%),linear-gradient(180deg,var(--surface-2),var(--surface))}.post-cta .eyebrow{margin-bottom:12px}.post-cta__title{font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:.4em}.post-cta__text p{color:var(--text-2);margin-bottom:.8em;max-width:56ch}.post-cta__facts{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem;color:var(--text-2)}.post-cta__facts li{padding-left:18px;position:relative}.post-cta__facts li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.post-cta__facts b{color:var(--text);font-weight:700}.post-cta__buy{display:grid;gap:10px}.post-cta__price{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;color:var(--text);margin:0 0 4px;text-align:center}@media(max-width:760px){.post-cta{grid-template-columns:1fr}}.post-related{margin-top:clamp(32px,5vw,56px)}.post-related__title{font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:24px}.post-related .post-card__excerpt{-webkit-line-clamp:2}.post-related>p{margin-top:24px}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(32px,5vw,56px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--line)}.post-nav__link{display:grid;gap:8px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-2);text-decoration:none;color:var(--text);background:#ffffff04;transition:border-color .2s}.post-nav__link span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.post-nav__link b{font-weight:600;line-height:1.35}.post-nav__link:hover{border-color:var(--green);color:var(--text)}.post-nav__link--next{text-align:right}@media(max-width:640px){.post-nav{grid-template-columns:1fr}.post-nav__link--next{text-align:left}}.post-summary{max-width:880px;margin:0 0 clamp(24px,3.5vw,40px);padding:clamp(16px,2.4vw,24px) clamp(18px,2.6vw,28px);border:1px solid rgba(61,255,110,.28);border-left:3px solid var(--green);border-radius:var(--r-2);background:linear-gradient(180deg,#3dff6e0f,#3dff6e04)}.post-summary__label{margin:0 0 10px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}.post-summary p{margin:0;color:var(--text);font-size:1.02rem;line-height:1.6}.post-summary p+p,.post-summary ul+p{margin-top:12px}.post-summary__list{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px}.post-summary__list li{position:relative;padding-left:20px;color:var(--text-2);line-height:1.5;font-size:.96rem}.post-summary__list li:before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--green);box-shadow:0 0 8px var(--green-glow)}.post-summary__concl b{color:var(--green);font-weight:700}.post-more{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:8px 24px}.post-more a{display:block;padding:10px 0 10px 18px;border-bottom:1px solid var(--line);color:var(--text-2);text-decoration:none;position:relative;line-height:1.35}.post-more a:before{content:"→";position:absolute;left:0;color:var(--green)}.post-more a:hover{color:var(--text)}.prose .faq-list{display:grid;gap:10px;margin:1.2em 0}.prose .faq-item{border:1px solid var(--line);border-radius:var(--r-2);padding:14px 18px;background:#ffffff04}.prose .faq-item h3{margin:0 0 .4em;font-size:1.05rem}.prose .faq-item h3:before{content:none}.prose .faq-item p:last-child{margin-bottom:0}.prose .callout{margin:1.6em 0;padding:14px 18px;border-radius:var(--r-2);border:1px solid rgba(255,46,67,.35);background:#ff2e430f}.prose .callout--note{border-color:#3dff6e4d;background:#3dff6e0d}.prose .callout p{margin:0}.prose .callout b:first-child{display:block;margin-bottom:4px;font:600 .74rem/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red,#ff2e43)}.prose .callout--note b:first-child{color:var(--green)}.post-summary__head{margin-top:12px!important;font-weight:700;color:var(--text);font-size:.96rem!important}.post-summary__head+.post-summary__list{margin-top:6px}.post-related>p .btn{white-space:normal;max-width:100%;height:auto;min-height:44px;text-align:left;line-height:1.3;padding-block:10px}
