.blog-post-page .sp-shell{grid-template-columns:minmax(176px,250px) minmax(0,800px) minmax(176px,250px);justify-content:center;gap:32px;max-width:1440px;margin:0 auto;padding:0 24px;display:grid}.blog-post-page .sp-shell .layout-A.sp-article{min-width:0;max-width:none;margin:0;padding:0}.blog-post-page .sp-rail{scrollbar-width:thin;flex-direction:column;align-self:start;gap:26px;max-height:calc(100vh - 108px);padding-top:8px;display:flex;position:sticky;top:88px;overflow-y:auto}.blog-post-page .sp-rail-label{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle);border-bottom:1px solid var(--border);padding-bottom:10px;font-size:10px;font-weight:600;text-decoration:none;display:block}.blog-post-page .sp-rail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.blog-post-page .sp-rail-head .sp-rail-label{border-bottom:0;padding-bottom:0}.blog-post-page .sp-rail-label.is-accent{color:var(--accent);font-weight:700}a.sp-rail-label.is-accent:hover{text-decoration:underline}.blog-post-page .sp-rail-count{font-family:var(--font-mono,ui-monospace, monospace);color:var(--fg-subtle);white-space:nowrap;font-size:10px}.blog-post-page .sp-toc{flex-direction:column;margin-top:10px;display:flex}.blog-post-page .sp-toc-link{color:var(--fg-muted);border-left:2px solid #0000;padding:6px 0 6px 12px;font-size:13px;line-height:1.4;text-decoration:none;transition:color .15s,border-color .15s,background .15s}.blog-post-page .sp-toc-link:hover{color:var(--accent)}.blog-post-page .sp-toc-link.is-active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft);font-weight:600}.blog-post-page .sp-parts{flex-direction:column;margin-top:10px;display:flex}.blog-post-page .sp-part{color:var(--fg-muted);grid-template-columns:22px 1fr;align-items:baseline;gap:8px;padding:7px 0;font-size:13px;line-height:1.4;text-decoration:none;transition:color .15s;display:grid}a.sp-part:hover{color:var(--accent)}.blog-post-page .sp-part.is-current{color:var(--fg);font-weight:600}.blog-post-page .sp-part-label{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.blog-post-page .sp-paid,.sp-in-blueprint .sp-paid{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;color:#92400e;background:#fef3c7;border:1px solid #f59e0b;border-radius:3px;flex:none;padding:3px 5px;font-size:8px;line-height:1}.dark .blog-post-page .sp-paid,.sp-in-blueprint .sp-paid{color:#fde68a;background:#451a03;border-color:#b45309}.blog-post-page .sp-mark{font-family:var(--font-mono,ui-monospace, monospace);color:var(--fg-subtle);font-size:10px}.blog-post-page .sp-mark.is-done{color:#16a34a}.dark .blog-post-page .sp-mark.is-done{color:#4ade80}.blog-post-page .sp-mark.is-current{color:var(--accent)}.blog-post-page .sp-continue{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-ring);border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:10px;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.blog-post-page .sp-continue:hover{background:var(--accent-soft);border-color:var(--accent)}.blog-post-page .sp-map,.sp-in-blueprint .sp-map{border:1px solid var(--border-strong);background:var(--bg-elevated);border-radius:8px;margin-top:44px;overflow:hidden}.blog-post-page .sp-map-head,.sp-in-blueprint .sp-map-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:20px;padding:18px 24px 14px;display:flex}.blog-post-page .sp-map-eyebrow,.sp-in-blueprint .sp-map-eyebrow{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:700}.blog-post-page .sp-map-title,.sp-in-blueprint .sp-map-title{font-family:var(--font-serif,Georgia, serif);letter-spacing:-.01em;color:var(--fg);text-wrap:pretty;margin-top:6px;font-size:22px;font-weight:800;text-decoration:none;display:inline-block}.blog-post-page .sp-map-title:hover,.sp-in-blueprint .sp-map-title:hover{color:var(--accent)}.blog-post-page .sp-map-count,.sp-in-blueprint .sp-map-count{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);white-space:nowrap;font-size:11px}.blog-post-page .sp-map-list,.sp-in-blueprint .sp-map-list{flex-direction:column;display:flex}.blog-post-page .sp-map-row,.sp-in-blueprint .sp-map-row{color:var(--fg-muted);border-bottom:1px solid var(--border);grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:13px 24px;text-decoration:none;transition:background .15s;display:grid}.blog-post-page .sp-map-row:last-child,.sp-in-blueprint .sp-map-row:last-child{border-bottom:0}a.sp-map-row:hover{background:var(--bg-secondary)}.blog-post-page .sp-map-row.is-current,.sp-in-blueprint .sp-map-row.is-current{background:var(--accent-soft);border-left:3px solid var(--accent);padding-left:21px}.blog-post-page .sp-map-num,.sp-in-blueprint .sp-map-num{font-family:var(--font-mono,ui-monospace, monospace);color:var(--fg-subtle);white-space:nowrap;font-size:11px;font-weight:700}.blog-post-page .sp-map-num.is-done,.sp-in-blueprint .sp-map-num.is-done{color:#16a34a}.dark .blog-post-page .sp-map-num.is-done,.dark .sp-in-blueprint .sp-map-num.is-done{color:#4ade80}.blog-post-page .sp-map-row.is-current .sp-map-num,.sp-in-blueprint .sp-map-row.is-current .sp-map-num{color:var(--accent)}.blog-post-page .sp-map-name,.sp-in-blueprint .sp-map-name{font-family:var(--font-serif,Georgia, serif);text-wrap:pretty;font-size:15px;font-weight:600;line-height:1.3}.blog-post-page .sp-map-row.is-current .sp-map-name,.sp-in-blueprint .sp-map-row.is-current .sp-map-name{color:var(--fg);font-weight:700}a.sp-map-row:hover .sp-map-name{color:var(--accent)}.blog-post-page .sp-map-meta,.sp-in-blueprint .sp-map-meta{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle);white-space:nowrap;font-size:10px}.blog-post-page .sp-map-row.is-current .sp-map-meta,.sp-in-blueprint .sp-map-row.is-current .sp-map-meta{color:var(--accent)}.blog-post-page .sp-nav,.sp-in-blueprint .sp-nav{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0;margin:28px 0 0;display:grid}.blog-post-page .sp-nav-link,.sp-in-blueprint .sp-nav-link{color:inherit;flex-direction:column;gap:10px;padding:24px 28px;text-decoration:none;transition:background .15s;display:flex}.blog-post-page .sp-nav-link:first-child,.sp-in-blueprint .sp-nav-link:first-child{border-right:1px solid var(--border)}.blog-post-page .sp-nav-link:hover,.sp-in-blueprint .sp-nav-link:hover{background:var(--bg-secondary)}.blog-post-page .sp-nav-link.is-next,.sp-in-blueprint .sp-nav-link.is-next{text-align:right;background:var(--accent-soft);align-items:flex-end}.blog-post-page .sp-nav-dir,.sp-in-blueprint .sp-nav-dir{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-subtle);font-size:10px;font-weight:600}.blog-post-page .sp-nav-link.is-next .sp-nav-dir,.sp-in-blueprint .sp-nav-link.is-next .sp-nav-dir{color:var(--accent)}.blog-post-page .sp-nav-title,.sp-in-blueprint .sp-nav-title{font-family:var(--font-serif,Georgia, serif);letter-spacing:-.005em;color:var(--fg);text-wrap:pretty;font-size:18px;font-weight:700;line-height:1.3}.blog-post-page .sp-nav-link:hover .sp-nav-title,.sp-in-blueprint .sp-nav-link:hover .sp-nav-title{color:var(--accent)}.sp-in-blueprint{--fg:#fbf7f0;--fg-muted:#cbd5e1;--fg-subtle:#94a3b8;--border:#2b5e8f73;--border-strong:#2b5e8fb3;--bg-elevated:#16213e;--bg-secondary:#1b2a4a;--accent:#f39c12;--accent-soft:#f39c1224;--accent-ring:#f39c1266;max-width:900px;margin:0 auto;padding:0 24px}.sp-in-blueprint .sp-nav{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.sp-in-blueprint .sp-nav-link:first-child{border-right-color:var(--border)}@media (min-width:1280px){.blog-post-page.has-rail .post-outline{display:none}}@media (max-width:1279px){.blog-post-page .sp-shell{max-width:none;padding:0;display:block}.blog-post-page .sp-shell .layout-A.sp-article{width:100%;max-width:940px;margin:0 auto;padding:32px 24px 48px}.blog-post-page .sp-rail{display:none}}@media (max-width:700px){.blog-post-page .sp-shell .layout-A.sp-article{padding:20px 0 40px}}@media (max-width:640px){.blog-post-page .sp-map-row,.sp-in-blueprint .sp-map-row{grid-template-columns:44px 1fr;gap:4px 12px;padding:13px 18px}.blog-post-page .sp-map-row.is-current,.sp-in-blueprint .sp-map-row.is-current{padding-left:15px}.blog-post-page .sp-map-meta,.sp-in-blueprint .sp-map-meta{grid-column:2}.blog-post-page .sp-map-head,.sp-in-blueprint .sp-map-head{flex-direction:column;gap:8px;padding:16px 18px 12px}.blog-post-page .sp-nav,.sp-in-blueprint .sp-nav{grid-template-columns:1fr}.blog-post-page .sp-nav-link:first-child,.sp-in-blueprint .sp-nav-link:first-child{border-right:0;border-bottom:1px solid var(--border)}.blog-post-page .sp-nav-link.is-next,.sp-in-blueprint .sp-nav-link.is-next{text-align:left;align-items:flex-start}}
