.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(--mono);color:var(--text3);letter-spacing:.04em;font-size:12px}.post-title{font-family:var(--serif);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(28px,4vw,44px);font-weight:400;line-height:1.15}.post-author-row{font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:6px;font-size:12px;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-family:var(--serif);color:var(--text);margin-top:48px;margin-bottom:20px;font-size:24px;font-weight:400;line-height:1.3}.post-p{color:var(--text2);margin-bottom:18px;font-size:15px;font-weight:400;line-height:1.8}.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(--mono);color:var(--text3);letter-spacing:.04em;font-size:12px;text-decoration:none;transition:color .15s}.post-back-link:hover{color:var(--text)}.blog-category{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid #c8ff5e1f;border-radius:3px;padding:3px 10px;font-size: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);letter-spacing:.06em;text-transform:uppercase;color:var(--text2);text-align:center;font-size:12px}.arch-col-items{flex-direction:column;gap:6px;display:flex}.arch-item{color:var(--text2);border:1px solid var(--border2);border-radius:6px;padding:10px 14px;font-size:13px;font-weight:500}@media (max-width:600px){.arch-grid{grid-template-columns:1fr}}
