:root{--nb-bg:#0b0f14;--nb-surface:#121820;--nb-text:#e8edf2;--nb-text-dim:#94a3b1;--nb-rule:#22303d;--nb-accent:#2f6feb;--nb-font-body:inherit;--nb-font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--nb-measure:68ch;--nb-gap:1.35rem;--nb-radius:6px}.nb-page{max-width:var(--nb-measure);color:var(--nb-text);font-family:var(--nb-font-body);margin-inline:auto;padding:clamp(2.5rem,6vw,5rem) 1.25rem 6rem;line-height:1.7}.nb-page-head{margin-bottom:3rem}.nb-page-title{margin:0 0 .5rem;font-size:clamp(2rem,5vw,2.75rem);line-height:1.15}.nb-page-sub{color:var(--nb-text-dim);max-width:52ch;margin:0}.nb-empty{color:var(--nb-text-dim)}.nb-post-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.nb-post-card{border-top:1px solid var(--nb-rule)}.nb-post-card:last-child{border-bottom:1px solid var(--nb-rule)}.nb-post-link{color:inherit;grid-template-columns:1fr;gap:1rem;padding:1.75rem 0;text-decoration:none;transition:opacity .18s;display:grid}.nb-post-link:hover{opacity:.72}.nb-post-link:focus-visible{outline:2px solid var(--nb-accent);outline-offset:4px}@media (min-width:720px){.nb-post-link{grid-template-columns:200px 1fr;align-items:start;gap:1.75rem}}.nb-post-cover{border-radius:var(--nb-radius);object-fit:cover;width:100%;height:auto}.nb-post-title{margin:0 0 .4rem;font-size:1.3rem;line-height:1.3}.nb-post-excerpt{color:var(--nb-text-dim);margin:0 0 .6rem}.nb-post-meta{color:var(--nb-text-dim);margin:0;font-size:.85rem}.nb-back{letter-spacing:.06em;text-transform:uppercase;color:var(--nb-text-dim);margin-bottom:2rem;font-size:.85rem;text-decoration:none;display:inline-block}.nb-back:hover{color:var(--nb-text)}.nb-article-title{margin:0 0 .75rem;font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.15}.nb-article-meta{color:var(--nb-text-dim);margin:0 0 3rem;font-size:.9rem}.nb-article-body>*+*{margin-top:var(--nb-gap)}.nb-p{margin:0}.nb-h1,.nb-h2,.nb-h3{margin:2.75rem 0 0;scroll-margin-top:5rem;line-height:1.25}.nb-h1{font-size:1.7rem}.nb-h2{font-size:1.4rem}.nb-h3{font-size:1.15rem}.nb-anchor{color:inherit;text-decoration:none}.nb-anchor:hover{text-underline-offset:4px;text-decoration:underline}.nb-link{color:var(--nb-accent);text-underline-offset:3px}.nb-ul{margin:0;padding-left:1.5rem!important;list-style-type:disc!important}.nb-ol{margin:0;padding-left:1.5rem!important;list-style-type:decimal!important}.nb-li{margin-bottom:.4rem;display:list-item!important}.prose ol,article ol{padding-left:1.5rem!important;list-style-type:decimal!important}.prose ul,article ul{padding-left:1.5rem!important;list-style-type:disc!important}.prose li,article li{display:list-item!important}.nb-nested{margin-top:.4rem}.nb-todo{align-items:baseline;gap:.6rem;display:flex}.nb-todo-done{color:var(--nb-text-dim);text-decoration:line-through}.nb-toggle{border:1px solid var(--nb-rule);border-radius:var(--nb-radius);padding:.85rem 1.1rem}.nb-toggle>summary{cursor:pointer}.nb-toggle>summary>*{margin:0;display:inline}.nb-toggle-body{margin-top:.85rem}.nb-toggle-body>*+*{margin-top:var(--nb-gap)}.nb-quote{border-left:3px solid var(--nb-accent);color:var(--nb-text-dim);margin:0;padding-left:1.1rem;font-style:italic}.nb-callout{background:var(--nb-surface);border-radius:var(--nb-radius);gap:.85rem;padding:1rem 1.15rem;display:flex}.nb-callout-icon{flex:none;line-height:1.6}.nb-callout-body>*+*{margin-top:.75rem}.nb-code{margin:0}.nb-code pre{background:var(--nb-surface);border-radius:var(--nb-radius);font-family:var(--nb-font-mono);margin:0;padding:1rem 1.1rem;font-size:.86rem;line-height:1.6;overflow-x:auto}.nb-inline-code{background:var(--nb-surface);font-family:var(--nb-font-mono);border-radius:3px;padding:.12em .38em;font-size:.88em}.nb-figure{margin:0}.nb-image,.nb-video{border-radius:var(--nb-radius);width:100%;height:auto}.nb-embed{aspect-ratio:16/9;border-radius:var(--nb-radius);border:0;width:100%}.nb-caption{color:var(--nb-text-dim);text-align:center;margin-top:.6rem;font-size:.85rem}.nb-divider{border:0;border-top:1px solid var(--nb-rule);margin:2.5rem 0}.nb-columns{gap:1.5rem;display:grid}@media (min-width:720px){.nb-columns{grid-template-columns:repeat(var(--nb-cols,2), minmax(0, 1fr))}}.nb-column>*+*{margin-top:var(--nb-gap)}.nb-table-wrap{overflow-x:auto}.nb-table{border-collapse:collapse;width:100%;font-size:.92rem}.nb-table th,.nb-table td{border:1px solid var(--nb-rule);text-align:left;vertical-align:top;padding:.6rem .8rem}.nb-table th{background:var(--nb-surface);font-weight:600}.nb-equation,.nb-equation-block{font-family:var(--nb-font-mono)}.nb-equation-block{text-align:center;color:var(--nb-text-dim)}.nb-file a,.nb-bookmark a{color:var(--nb-accent)}.nb-color-gray{color:#8b98a5}.nb-color-brown{color:#b08968}.nb-color-orange{color:#d98d3f}.nb-color-yellow{color:#d9c23f}.nb-color-green{color:#4caf7d}.nb-color-blue{color:#4a90d9}.nb-color-purple{color:#9b7fd4}.nb-color-pink{color:#d97fa8}.nb-color-red{color:#d95f5f}.nb-callout-gray{background:#33415566;border:1px solid #47556980}.nb-callout-blue{background:#1e3a8a4d;border:1px solid #3b82f666}.nb-callout-green{background:#064e3b4d;border:1px solid #10b98166}.nb-callout-yellow{background:#78350f4d;border:1px solid #f59e0b66}.nb-callout-red{background:#7f1d1d4d;border:1px solid #ef444466}.nb-callout-purple{background:#581c874d;border:1px solid #a855f766}.nb-h1,.nb-h2,.nb-h3{scroll-margin-top:6rem}@media (prefers-reduced-motion:reduce){.nb-post-link{transition:none}}
