.post-hero-section{background:var(--bg-page);width:100%;padding:140px 24px 0;position:relative;overflow:hidden}.post-preview-banner{z-index:40;text-align:center;color:#92400e;background:#fef3c7;border-bottom:1px solid #fde68a;padding:10px 24px;font-size:13px;font-weight:600;position:fixed;top:0;left:0;right:0}.post-hero-bg-mesh{pointer-events:none;background-image:radial-gradient(#ffffff08 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 70% at 50% 0,#000 20%,#0000 100%);mask-image:radial-gradient(85% 70% at 50% 0,#000 20%,#0000 100%)}.post-hero-orb{pointer-events:none;filter:blur(90px);border-radius:50%;position:absolute}.post-hero-orb-a{background:radial-gradient(circle, var(--orb-indigo) 0%, transparent 70%);width:520px;height:520px;top:-160px;right:-120px}.post-hero-orb-b{background:radial-gradient(circle, var(--brand-primary-soft) 0%, transparent 70%);width:380px;height:380px;top:120px;left:-140px}.post-hero-inner{z-index:1;max-width:900px;margin:0 auto;position:relative}.post-hero-badge{letter-spacing:.04em;color:var(--brand-primary);background:var(--brand-primary-soft);border:1px solid var(--brand-primary-border);border-radius:9999px;align-items:center;margin-bottom:20px;padding:7px 18px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.post-hero-badge:hover{background:var(--brand-primary-border)}.post-hero-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 24px;font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.15}.post-hero-meta{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:40px;font-size:14px;display:flex}.post-hero-meta-name{color:var(--text-secondary);font-weight:600}.post-hero-meta-dot{background:var(--text-faint);border-radius:50%;flex-shrink:0;width:3px;height:3px}.post-hero-avatar{background:var(--brand-primary-gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.post-hero-image-frame{aspect-ratio:16/8;border:1px solid var(--glass-border);width:100%;box-shadow:0 24px 60px #00000059, inset 0 1px 0 var(--glass-border-top);border-radius:20px;position:relative;overflow:hidden}.post-hero-image{object-fit:cover;width:100%;height:100%}@media (max-width:640px){.post-hero-section{padding:110px 16px 0}.post-hero-meta{flex-wrap:wrap;row-gap:8px}}
.post-content-section{background:var(--bg-page);width:100%;padding:56px 24px 100px}.post-content-inner{grid-template-columns:300px minmax(0,1fr);gap:48px;max-width:1180px;margin:0 auto;display:grid}.post-content-sidebar{align-self:stretch;position:relative}.post-content-sticky{position:sticky;top:110px}.post-toc{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:16px;padding:18px 16px;box-shadow:0 1px 2px #0f172a0a}.post-toc-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:8px;margin:0 0 12px;font-size:11.5px;font-weight:700;display:flex}.post-toc-label svg{color:var(--brand-primary);flex-shrink:0}.post-toc-list{flex-direction:column;gap:1px;margin:0 0 16px;padding:0;list-style:none;display:flex}.post-toc-item--sub .post-toc-link{padding-left:26px;font-size:12.5px}.post-toc-link{color:var(--text-muted);border-radius:8px;padding:7px 12px;font-size:13.5px;line-height:1.45;text-decoration:none;transition:color .15s,background-color .15s;display:block;position:relative}.post-toc-link:hover{color:var(--text-primary);background:var(--bg-section-a)}.post-toc-link--active{color:var(--brand-primary);background:var(--brand-primary-soft);font-weight:600}.post-toc-link--active:before{content:"";background:var(--brand-primary-gradient);border-radius:3px;width:3px;position:absolute;top:18%;bottom:18%;left:-1px}.post-toc-share{border:1px solid var(--glass-border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:500;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.post-toc-share:hover{border-color:var(--brand-primary-border);color:var(--brand-primary);background:var(--brand-primary-soft)}.post-content-article{min-width:0}.post-body.prose{max-width:none;color:var(--text-secondary);font-size:16px;line-height:1.85}.post-body :where(h2,h3,h4){color:var(--text-primary);letter-spacing:-.01em;scroll-margin-top:110px;font-weight:700}.post-body :where(h2){font-size:26px}.post-body :where(h3){font-size:21px}.post-body strong{color:var(--text-primary)}.post-body a{color:var(--brand-primary);text-underline-offset:2px;text-decoration:underline}.post-body code{color:var(--brand-primary);background:var(--brand-primary-soft);border-radius:4px;padding:.15em .4em}.post-body pre{background:var(--bg-section-a);border:1px solid var(--glass-border);border-radius:12px;padding:16px}.post-body pre code{background:0 0;padding:0}.post-body hr{border-color:var(--glass-border)}.post-body [data-html-block]{margin-top:.9em;margin-bottom:.9em;overflow-x:auto}.post-faq-block{border-top:1px solid var(--glass-border);margin-top:56px;padding-top:40px}.post-faq-heading{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 20px;font-size:24px;font-weight:800}.post-faq-list{flex-direction:column;gap:10px;display:flex}.post-faq-item{border:1px solid var(--glass-border);background:var(--bg-card);border-radius:14px;overflow:hidden}.post-faq-trigger{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:15px;font-weight:600;display:flex}.post-faq-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .25s}.post-faq-item--open .post-faq-chevron{color:var(--brand-primary);transform:rotate(180deg)}.post-faq-body{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.post-faq-item--open .post-faq-body{grid-template-rows:1fr}.post-faq-body>div{color:var(--text-secondary);padding:0 20px;font-size:14px;line-height:1.75;overflow:hidden}.post-faq-item--open .post-faq-body>div{padding-bottom:18px}.post-faq-body :where(p){margin:0}@media (max-width:900px){.post-content-inner{grid-template-columns:1fr;gap:32px}.post-content-sidebar{display:none}}
