.post-page{padding:140px 24px 120px;max-width:1180px}.post-shell{position:relative}.post-article{max-width:720px;margin-inline:auto}@media (min-width:1100px){.post-shell--with-toc{display:grid;grid-template-columns:220px minmax(0,740px);justify-content:center;column-gap:48px;align-items:start}.post-shell--with-toc .post-toc{grid-column:1;grid-row:1;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow-y:auto}.post-shell--with-toc .post-article{grid-column:2;grid-row:1;max-width:none;margin-inline:0}}.post-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:1100;pointer-events:none;background:transparent}.post-progress__bar{height:100%;transform:scaleX(0);transform-origin:left;will-change:transform;background:linear-gradient(90deg,var(--accent-green),var(--accent-amber))}.post-toc__rail{display:none}.post-toc__list{list-style:none;margin:0;padding:0}.post-toc__list a{display:block;padding:5px 0;color:var(--text-secondary);font-size:13px;line-height:1.35;text-decoration:none;transition:color .15s ease}.post-toc__list a:hover{color:var(--text-primary)}.post-toc__list a.is-active{color:var(--accent-green)}.post-toc__list li[data-level="3"] a{padding-left:14px;font-size:12.5px}.post-toc__mobile{margin:24px 0 8px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-secondary)}.post-toc__mobile summary{padding:12px 16px;cursor:pointer;font-family:var(--font-mono);font-size:13px;color:var(--text-heading)}.post-toc__mobile .post-toc__list{padding:0 16px 12px}@media (min-width:1100px){.post-toc__mobile{display:none}.post-toc__rail{display:block}.post-toc__title{color:var(--text-secondary);font-size:11px;letter-spacing:.12em;margin-bottom:12px}.post-toc__rail .post-toc__list a{padding-left:12px;border-left:2px solid var(--glass-border)}.post-toc__rail .post-toc__list a.is-active{border-left-color:var(--accent-green)}.post-toc__rail .post-toc__list li[data-level="3"] a{padding-left:24px}.post-toc__share{margin-top:24px;padding-top:16px;border-top:1px solid var(--glass-border)}}.post-article__head{margin-bottom:28px}.post-article__back{color:var(--accent-green);font-size:13px;margin-bottom:20px;display:inline-block}.post-article__back:hover{text-decoration:underline}.post-article__title{font-family:var(--font-blog-title),system-ui,sans-serif;font-size:clamp(34px,5vw,54px);font-weight:600;line-height:1.15;color:var(--text-heading);margin:12px 0 20px}.post-byline{display:flex;align-items:center;gap:12px}.post-byline__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--glass-border);flex-shrink:0}.post-byline__meta{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);line-height:1.4}.post-byline__author{color:var(--text-heading)}.post-byline__updated{color:var(--accent-amber)}.post-article__hero{margin:28px 0 8px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--glass-border)}.post-article__hero :where(img){width:100%;max-height:480px;object-fit:cover;display:block}.post-tldr{margin:28px 0 8px;padding:18px 20px;border-radius:var(--radius-md);border:1px solid var(--glass-border);border-left:3px solid var(--accent-green);background:rgba(0,255,136,.045)}.post-tldr__label{color:var(--accent-green);font-size:12px;letter-spacing:.08em;margin-bottom:8px}.post-tldr__body{color:var(--text-primary);font-family:var(--font-body);line-height:1.65}.post-tldr__body>:first-child{margin-top:0}.post-tldr__body ol,.post-tldr__body ul{margin:0;padding-left:1.2em}.post-tldr__body li+li{margin-top:.3em}.post-content{color:var(--text-primary);font-family:var(--font-body);font-size:18px;line-height:1.7;letter-spacing:.01em;margin-top:32px}.post-content>*+*{margin-top:1.15em}.post-content :where(h1,h2,h3,h4){font-family:var(--font-blog-title),system-ui,sans-serif;font-weight:600;color:var(--text-heading);line-height:1.2;scroll-margin-top:96px}.post-content h2{font-size:30px;margin-top:1.8em}.post-content h3{font-size:23px;margin-top:1.5em}.post-content h4{font-size:20px;margin-top:1.3em}.post-content :where(h2,h3){position:relative}.post-content__anchor{margin-left:8px;color:var(--accent-green);opacity:0;text-decoration:none;font-weight:400;transition:opacity .15s ease}.post-content :where(h2,h3):hover .post-content__anchor,.post-content__anchor:focus-visible{opacity:.65}.post-content p{color:var(--text-primary)}.post-content a{color:var(--accent-green);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:rgba(0,255,136,.4);text-decoration-color:rgba(0,255,136,.4)}.post-content a:hover{-webkit-text-decoration-color:var(--accent-green);text-decoration-color:var(--accent-green)}.post-content ol,.post-content ul{padding-left:1.6em;list-style:revert}.post-content li+li{margin-top:.4em}.post-content code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-tertiary);padding:.15em .4em;border-radius:4px;color:var(--accent-green)}.post-content pre{font-family:var(--font-mono);background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:20px;overflow-x:auto;font-size:14px;line-height:1.6}.post-content pre code{background:none;padding:0;color:var(--text-primary)}.post-content blockquote{border-left:3px solid var(--accent-green);padding-left:20px;color:var(--text-secondary);font-style:italic;margin-left:0}.post-content img{border-radius:var(--radius-sm);margin:1.5em 0;border:1px solid var(--glass-border);max-width:100%;height:auto}.post-content hr{border:none;border-top:1px solid var(--glass-border);margin:2em 0}.post-content table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}.post-content td,.post-content th{padding:10px 14px;border-bottom:1px solid var(--glass-border);text-align:left}.post-content th{color:var(--text-heading);font-weight:600}.post-content>p[data-dropcap]:first-letter{font-family:var(--font-blog-title),system-ui,sans-serif;font-weight:700;font-size:3.4em;line-height:.78;float:left;margin:.04em .1em 0 0;color:var(--accent-green)}@media (max-width:480px){.post-content>p[data-dropcap]:first-letter{font-size:1em;float:none;margin:0;color:inherit}}.post-callout{display:grid;grid-template-columns:auto 1fr;gap:12px;margin:1.7em 0;padding:16px 18px;border-radius:var(--radius-sm);border-left:3px solid var(--accent-green);background:rgba(0,255,136,.05)}.post-callout__icon{color:var(--accent-green);display:flex;align-items:flex-start;padding-top:2px}.post-callout__body>:first-child{margin-top:0}.post-callout__body>*+*{margin-top:.8em}.post-callout[data-type=caution],.post-callout[data-type=important],.post-callout[data-type=warning]{border-left-color:var(--accent-amber);background:rgba(255,184,0,.06)}.post-callout[data-type=caution] .post-callout__icon,.post-callout[data-type=important] .post-callout__icon,.post-callout[data-type=warning] .post-callout__icon{color:var(--accent-amber)}.post-pullquote{margin:2em 0;padding-left:24px;border-left:3px solid var(--accent-amber)}.post-pullquote blockquote{border:none;padding:0;margin:0;font-style:normal;font-family:var(--font-blog-title),system-ui,sans-serif;font-weight:500;font-size:clamp(22px,3vw,30px);line-height:1.32;color:var(--text-heading)}@media (min-width:1100px){.post-pullquote{margin-inline:-40px}}.post-figure{margin:2em 0}.post-figure :where(img){width:100%;display:block;border-radius:var(--radius-sm);border:1px solid var(--glass-border);margin:0}.post-figure figcaption{margin-top:10px;font-size:13px;color:var(--text-secondary);font-style:italic;text-align:center}@media (min-width:1100px){.post-figure{margin-inline:-40px}}.post-content img.post-zoomable{cursor:zoom-in}.post-zoom-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:4vmin;background:rgba(5,5,5,.92);backdrop-filter:blur(4px);cursor:zoom-out;animation:post-zoom-in .18s ease}.post-zoom-overlay img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}@keyframes post-zoom-in{0%{opacity:0}to{opacity:1}}.post-article__tags{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 0;padding-top:32px;border-top:1px solid var(--glass-border)}.post-article__share{margin-top:36px;padding-top:24px;border-top:1px solid var(--glass-border)}.post-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.post-share__label{color:var(--text-secondary);font-size:12px;letter-spacing:.06em;margin-right:4px}.post-share__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--glass-border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease,transform .15s ease}.post-share__btn[data-net=x]{color:#f5f5f7}.post-share__btn[data-net=ln]{color:#2f8fe0}.post-share__btn[data-net=tg]{color:#29a9eb}.post-share__btn[data-net=vk]{color:#4a8eff}.post-share__btn:hover{border-color:currentColor;transform:translateY(-2px)}.post-share__btn.is-copied,.post-share__btn[data-net=copy]:hover{color:var(--accent-green);border-color:var(--accent-green)}.post-share--compact{flex-wrap:wrap;gap:6px}.post-article__foot{margin-top:48px;padding-top:28px;border-top:1px solid var(--glass-border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}.post-article__alt{color:var(--accent-amber)}.post-article__alt:hover{text-decoration:underline}.post-authorbio{display:flex;gap:16px;align-items:flex-start;margin-top:40px;padding:20px;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--bg-secondary)}.post-authorbio__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--glass-border)}.post-authorbio__name{font-family:var(--font-blog-title),system-ui,sans-serif;font-weight:600;font-size:20px;color:var(--text-heading);margin-bottom:4px}.post-authorbio__text{color:var(--text-secondary);font-size:15px;line-height:1.6}.post-authorbio__links{display:flex;gap:16px;margin-top:10px;font-size:13px}.post-authorbio__links a{color:var(--accent-green)}.post-authorbio__links a:hover{text-decoration:underline}.post-faq{margin-top:48px}.post-faq__title{font-family:var(--font-blog-title),system-ui,sans-serif;font-weight:600;font-size:26px;color:var(--text-heading);margin-bottom:16px}.post-faq__list{display:flex;flex-direction:column;gap:8px}.post-faq__item{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--bg-secondary);overflow:hidden}.post-faq__q{padding:14px 44px 14px 18px;cursor:pointer;font-weight:500;color:var(--text-heading);list-style:none;position:relative}.post-faq__q::-webkit-details-marker{display:none}.post-faq__q:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--accent-green);font-size:20px;transition:transform .2s ease}.post-faq__item[open] .post-faq__q:after{transform:translateY(-50%) rotate(45deg)}.post-faq__a{padding:0 18px 16px;color:var(--text-primary);line-height:1.65}.post-faq__a>:first-child{margin-top:0}.post-related{margin-top:56px}.post-related__title{font-family:var(--font-blog-title),system-ui,sans-serif;font-weight:600;font-size:26px;color:var(--text-heading);margin-bottom:20px}.post-related__grid{display:grid;gap:20px;grid-template-columns:1fr}@media (min-width:640px){.post-related__grid{grid-template-columns:repeat(3,1fr)}}.post-related__card{display:flex;flex-direction:column;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary);text-decoration:none;transition:transform .2s ease,border-color .2s ease}.post-related__card:hover{transform:translateY(-4px);border-color:rgba(0,255,136,.4)}.post-related__img{aspect-ratio:16/9;overflow:hidden}.post-related__img :where(img){width:100%;height:100%;object-fit:cover}.post-related__body{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.post-related__tag{font-family:var(--font-mono);font-size:11px;color:var(--accent-green)}.post-related__name{font-family:var(--font-blog-title),system-ui,sans-serif;font-weight:600;font-size:16px;line-height:1.3;color:var(--text-heading)}.post-related__meta{font-size:12px;color:var(--text-secondary)}.post-page .blog-r-cta{margin-top:72px}@media not (prefers-reduced-motion){@supports (animation-timeline:view()){.post-callout,.post-content>:where(h2,h3,blockquote,pre,table),.post-figure,.post-pullquote{animation:post-reveal linear both;animation-timeline:view();animation-range:entry 0 entry 35%}@keyframes post-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}}.post-authorbio__links a:focus-visible,.post-content a:focus-visible,.post-faq__q:focus-visible,.post-related__card:focus-visible,.post-share__btn:focus-visible,.post-toc__list a:focus-visible{outline:2px solid var(--accent-green);outline-offset:3px;border-radius:2px}