.blog-page{background:var(--color-background-soft, #F8FAFC)}.blog-wrap{max-width:1160px;margin:0 auto;padding:0 var(--space-6)}.blog-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:var(--space-10);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.blog-back{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:var(--color-text-secondary);text-decoration:none;margin-bottom:var(--space-5);transition:color var(--transition-fast)}.blog-back:hover{color:var(--color-primary);text-decoration:none}.blog-header .section-label{display:inline-block;margin-bottom:var(--space-3)}.blog-header .section-title{margin-bottom:var(--space-4);font-size:clamp(1.8rem,1.5rem + 1.2vw,2.8rem)}.blog-header .section-subtitle{margin:0;max-width:60ch;font-size:var(--text-base);line-height:1.75}.blog-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--space-12);align-items:start;padding-bottom:var(--space-16)}.blog-toc{position:sticky;top:96px;border:1px solid var(--color-border);background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-1)}.blog-toc__heading{font-size:var(--text-xs);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);letter-spacing:.06em;text-transform:uppercase}.blog-toc a{color:var(--color-text-secondary);font-size:.875rem;line-height:1.4;padding:3px 0;transition:color var(--transition-fast);text-decoration:none}.blog-toc a:hover{color:var(--color-primary);text-decoration:none}.prose{font-size:clamp(1rem,.97rem + .12vw,1.05rem);color:var(--color-text-secondary);line-height:1.82;max-width:72ch}.prose p{margin:0 0 1.3em;line-height:1.82}.prose p:last-child{margin-bottom:0}.prose>p:first-child{font-size:clamp(1.05rem,1rem + .2vw,1.18rem);color:var(--color-text);line-height:1.78}.prose h2{font-size:clamp(1.25rem,1.1rem + .5vw,1.6rem);font-weight:700;color:var(--color-text);line-height:1.3;letter-spacing:-.015em;margin:2.4em 0 .75em}.prose h2:first-child{margin-top:0}.prose h3{font-size:clamp(1.02rem,.98rem + .18vw,1.15rem);font-weight:600;color:var(--color-text);line-height:1.4;letter-spacing:-.01em;margin:2em 0 .5em}.prose h4{font-size:1rem;font-weight:600;color:var(--color-text);margin:1.5em 0 .4em}.prose ul,.prose ol{padding-left:1.4rem;margin:0 0 1.3em;display:flex;flex-direction:column;gap:.5em}.prose li{line-height:1.75}.prose li>p{margin:0}.prose li>ul,.prose li>ol{margin-top:.4em;margin-bottom:0}.prose input[type=checkbox]{accent-color:var(--color-primary);width:1em;height:1em;margin-right:.4em;vertical-align:middle;pointer-events:none}.prose ul:has(input[type=checkbox]){list-style:none;padding-left:.2rem}.prose blockquote{margin:1.75em 0;padding:var(--space-4) var(--space-5);border-left:4px solid var(--color-primary);background:color-mix(in oklab,var(--color-primary) 7%,var(--color-surface, #fff));border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text);font-weight:500;line-height:1.7}.prose blockquote p{margin:0;color:inherit}.prose hr{border:none;border-top:1px solid var(--color-border);margin:2.8em 0}.prose table{width:100%;border-collapse:collapse;font-size:.93rem;margin:1.75em 0;overflow-x:auto;display:block;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-white)}.prose thead{background:var(--color-background-soft, #F8FAFC)}.prose th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:700;color:var(--color-text);border-bottom:1px solid var(--color-border);white-space:nowrap;font-size:.875rem;letter-spacing:.01em}.prose td{padding:var(--space-3) var(--space-4);vertical-align:top;border-bottom:1px solid var(--color-border);line-height:1.6;color:var(--color-text-secondary)}.prose tr:last-child td{border-bottom:none}.prose code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.875em;background:color-mix(in oklab,var(--color-primary) 9%,var(--color-surface, #fff));color:var(--color-primary);padding:.15em .4em;border-radius:var(--radius-sm);border:1px solid color-mix(in oklab,var(--color-primary) 18%,var(--color-border))}.prose strong{font-weight:700;color:var(--color-text)}.prose em{font-style:italic}.prose a{color:var(--color-primary);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--color-primary) 40%,transparent);text-underline-offset:3px;transition:text-decoration-color var(--transition-fast)}.prose a:hover{text-decoration-color:var(--color-primary)}.blog-cta{display:flex;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-6);border-top:1px solid var(--color-border);margin-top:var(--space-10)}@media(max-width:960px){.blog-layout{grid-template-columns:1fr;gap:var(--space-6)}.blog-layout article{order:1}.blog-toc{position:static;order:2}.blog-wrap{padding:0 var(--space-4)}}@media(max-width:640px){.blog-header .section-title{font-size:1.7rem}.prose{font-size:1rem}.prose>p:first-child{font-size:1.05rem}.prose h2{font-size:1.25rem;margin-top:2em}}
