.post-page{padding:52px 0 0}.post-wrap{max-width:680px;margin:0 auto;padding:0 36px}.post-header{border-bottom:1px solid var(--border);margin-bottom:48px;padding:120px 0 48px}.post-meta{align-items:center;gap:12px;margin-bottom:24px;display:flex}.post-date{font-family:var(--sans);font-size:var(--text-label);color:var(--text2);letter-spacing:-.005em}.post-title{font-size:var(--text-section);line-height:var(--text-section-lh);letter-spacing:var(--text-section-ls);margin-bottom:20px}.post-author-row{font-family:var(--sans);font-size:var(--text-label);letter-spacing:-.005em;align-items:center;gap:6px;display:flex}.post-author-name{color:var(--text2)}.post-author-sep,.post-author-role{color:var(--text3)}.post-body{padding-bottom:80px}.post-h2{font-size:var(--text-subsection);line-height:var(--text-subsection-lh);letter-spacing:var(--text-subsection-ls);color:var(--text);margin-top:48px;margin-bottom:20px}.post-p{font-size:var(--text-body);color:var(--text2);line-height:var(--text-body-lh);margin-bottom:18px;font-weight:400}.post-p strong{color:var(--text);font-weight:500}.post-p:last-child{margin-bottom:0}.post-back{border-top:1px solid var(--border);padding:40px 0 120px}.post-back-link{font-family:var(--sans);font-size:var(--text-label);color:var(--text2);letter-spacing:-.005em;text-decoration:none;transition:color .15s}.post-back-link:hover{color:var(--text)}.blog-category{font-family:var(--sans);font-size:var(--text-label);letter-spacing:-.005em;color:var(--accent);background:var(--accent-dim);border:1px solid #c8ff5e1f;border-radius:100px;padding:3px 11px}@media (prefers-color-scheme:light){.blog-category{border-color:#4a7a0033}}.arch-diagram{flex-direction:column;align-items:center;margin:40px 0;display:flex}.arch-logo{color:var(--text);justify-content:center;align-items:center;display:flex}.arch-line{background:var(--border2);width:1px;height:32px}.arch-grid{border-top:1px solid var(--border2);grid-template-columns:repeat(3,1fr);gap:16px;width:100%;padding-top:16px;display:grid}.arch-col{flex-direction:column;gap:10px;display:flex}.arch-col-title{font-family:var(--mono);font-size:var(--text-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text2);text-align:center}.arch-col-items{flex-direction:column;gap:6px;display:flex}.arch-item{font-size:var(--text-label);color:var(--text2);border:1px solid var(--border2);border-radius:6px;padding:10px 14px;font-weight:500}@media (max-width:600px){.arch-grid{grid-template-columns:1fr}}
