:root{--bg: #f4f1ea;--bg-elevated: #fffdf8;--ink: #1c1b16;--muted: #5f5c53;--line: #d8d2c4;--accent: #0f6e62;--accent-ink: #08463e;--code-bg: #1d1f1c;--code-ink: #e8e6df;--quote: #7a3e14;--shadow: 0 10px 30px rgba(28, 27, 22, .06);--radius: 14px;--max: 46rem;--font-sans: "IBM Plex Sans", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}html{background:var(--bg)}html,body{margin:0;min-height:100%}body{color:var(--ink);font-family:var(--font-sans);font-size:1.05rem;line-height:1.7}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:.16em}a:hover{color:var(--accent)}img{display:block;max-width:100%;height:auto;margin:1.25rem auto;border-radius:8px}.post-body img:not(a img){cursor:zoom-in}.medium-zoom-overlay{z-index:40}.medium-zoom-image--opened{z-index:41}code,pre,.site-mark{font-family:var(--font-mono)}.skip-link{position:absolute;left:.75rem;top:-3rem;background:var(--ink);color:var(--bg);padding:.4rem .7rem}.skip-link:focus{top:.75rem}.shell{width:min(calc(var(--max) + 4rem),calc(100% - 2rem));margin:0 auto}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,white);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}.site-brand{display:flex;flex-direction:column;text-decoration:none;color:inherit}.site-mark{font-size:1.05rem;letter-spacing:-.03em}.site-author{color:var(--muted);font-size:.78rem}.site-nav{display:flex;flex-wrap:wrap;gap:.9rem 1.1rem}.site-nav a{color:var(--ink);text-decoration:none;font-size:.95rem}.site-nav a[aria-current=page],.site-nav a:hover{color:var(--accent)}.site-main{padding:2.4rem 0 3.5rem}.hero h1,.page-title,.post-title{letter-spacing:-.04em;line-height:1.15;margin:0 0 .75rem}.hero h1{font-size:clamp(2rem,5vw,3rem)}.lede,.post-meta,.muted{color:var(--muted)}.category-row,.post-meta{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.15rem .65rem;font-size:.78rem;text-decoration:none;color:var(--accent-ink);background:var(--bg-elevated)}.pill:hover,.pill[aria-current=page]{border-color:var(--accent)}.post-list{list-style:none;padding:0;margin:1.5rem 0 0}.post-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.2rem 1.2rem;margin-bottom:1rem;overflow:hidden}.post-card-cover{display:block;margin:-1.15rem -1.2rem .85rem}.post-card-cover img{margin:0;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:0}.post-cover{margin:.9rem 0 1.4rem;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#1c1b16}.post-cover img{margin:0;width:100%;height:auto;border-radius:0;aspect-ratio:16 / 9;object-fit:cover}.post-card h2{margin:.35rem 0 .4rem;font-size:1.35rem}.post-card h2 a{color:inherit;text-decoration:none}.post-card h2 a:hover{color:var(--accent)}.article{background:var(--bg-elevated);border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,2.2rem);min-width:0;overflow:hidden}.article h1,.article h2,.article h3,.article h4{letter-spacing:-.03em;line-height:1.25}.article h1,.article h2{margin-top:2rem}.article h1{font-size:1.75rem}.post-body section[data-depth="2"]{margin-left:1.75rem}.post-body section[data-depth="3"]{margin-left:3.5rem}.post-body section[data-depth="4"]{margin-left:5.25rem}.post-body section[data-depth="5"]{margin-left:7rem}.post-body section[data-depth="6"]{margin-left:8.75rem}.post-body .section-body{padding-left:1.15rem}.article hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.article blockquote{margin:1.25rem 0;padding:.15rem 0 .15rem 1rem;border-left:3px solid var(--quote);color:#3d3228}.article table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.25rem 0;font-size:.95rem}.article th,.article td{border:1px solid var(--line);padding:.45rem .6rem;text-align:left;vertical-align:top}.article .table-scroll{overflow-x:auto;max-width:100%;margin:1.25rem 0}.article .table-scroll table{display:table;width:max-content;min-width:100%;max-width:none;margin:0;overflow:visible}.article .table-scroll th:nth-child(2),.article .table-scroll td:nth-child(2){min-width:22rem}.article .table-scroll th:nth-child(4),.article .table-scroll td:nth-child(4){min-width:16rem}.article td p{margin:.15rem 0 .35rem}.article td ul{margin:.1rem 0 .7rem;padding-left:1.15rem}.article td li{margin:.12rem 0}.article td ul ul{margin:.15rem 0 .2rem}.article pre{background:var(--code-bg);color:var(--code-ink);padding:1rem 1.05rem;overflow:auto;max-width:100%;min-width:0;max-height:min(32rem,70vh);border-radius:10px}.article pre.mermaid{background:transparent;color:inherit;padding:.75rem .25rem;max-height:none;display:flex;justify-content:center}.article pre.mermaid svg{max-width:100%;height:auto}.article :not(pre)>code{background:#efe8d8;padding:.1rem .35rem;border-radius:5px;font-size:.9em}.article pre code{background:transparent;padding:0;font-size:.88rem;white-space:pre}.article pre[data-language=markdown] code,.article pre[data-language=markdown] .line{white-space:pre-wrap;overflow-wrap:break-word}.toc{margin:1.4rem 0 2rem;padding:1rem 1.1rem;border:1px dashed var(--line);border-radius:10px;background:#f8f4ea}.toc h2{margin:0 0 .6rem;font-size:1rem}.toc ol{margin:0;padding-left:1.2rem}.diagram-focus{margin:1.25rem 0 1.55rem;border:1px solid var(--line);border-radius:12px;background:#f7f3ea;overflow:hidden;box-shadow:var(--shadow)}.diagram-focus-viewport{overflow:hidden;background:#fffdf8}.diagram-focus-stage{position:relative;transition:transform .42s ease}.diagram-focus.is-focused .diagram-focus-stage{transform:scale(var(--focus-scale, 1.28));transform-origin:var(--focus-origin-x, 36%) var(--focus-origin-y, 38%)}.diagram-focus-stage img{margin:0;width:100%;border-radius:0}.diagram-focus-spot{position:absolute;left:var(--focus-left);top:var(--focus-top);width:var(--focus-width);height:var(--focus-height);border-radius:18px;pointer-events:none;opacity:0;box-shadow:0 0 0 999vmax #1c1b168f,0 0 0 2px #0f6e62f2,0 0 28px 6px #0f6e624d;transition:opacity .28s ease}.diagram-focus.is-focused .diagram-focus-spot{opacity:1;animation:diagram-focus-pulse 2.6s ease-in-out infinite}.diagram-focus-bar{display:grid;gap:.45rem;padding:.7rem .85rem .8rem;border-top:1px solid var(--line);background:var(--bg-elevated)}.diagram-focus-caption{margin:0;color:var(--muted);font-size:.88rem}.diagram-focus.is-focused [data-when=full],.diagram-focus:not(.is-focused) [data-when=focused]{display:none}.diagram-focus-toolbar{display:flex;flex-wrap:wrap;gap:.45rem}.diagram-focus-toggle{appearance:none;border:1px solid var(--line);border-radius:999px;background:var(--bg-elevated);color:var(--ink);font:inherit;font-size:.78rem;padding:.18rem .7rem;cursor:pointer}.diagram-focus-toggle:hover,.diagram-focus-toggle[aria-pressed=true]{border-color:var(--accent);color:var(--accent-ink)}.diagram-focus-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes diagram-focus-pulse{0%,to{box-shadow:0 0 0 999vmax #1c1b168f,0 0 0 2px #0f6e62eb,0 0 22px 4px #0f6e6238}50%{box-shadow:0 0 0 999vmax #1c1b1680,0 0 0 2px #0f6e62,0 0 34px 8px #0f6e625c}}@media(prefers-reduced-motion:reduce){.diagram-focus-stage,.diagram-focus-spot{transition:none}.diagram-focus.is-focused .diagram-focus-stage{transform:none}.diagram-focus.is-focused .diagram-focus-spot{animation:none}}.video-embed{position:relative;width:100%;padding-bottom:56.25%;margin:1.25rem 0}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px}.site-footer{border-top:1px solid var(--line);padding:1.6rem 0 2.2rem;color:var(--muted);font-size:.92rem}.site-footer-inner{display:grid;gap:.35rem}.katex-display{overflow-x:auto;overflow-y:hidden}@media(max-width:720px){.site-header-inner{align-items:flex-start;flex-direction:column;padding:.85rem 0}.site-nav{gap:.7rem .95rem}}
