:root{--bg:#fdf8f2;--ink:#2a2420;--ink-soft:#3a332d;--muted:#6b6256;--muted-2:#7b7164;--faint:#a19484;--faint-2:#9a8e80;--line:#efe3d2;--line-2:#ecdfce;--coral:#d9694a;--coral-deep:#c4583b;--coral-light:#e88b6f;--rust:#b5663e;--cream-chip:#fbeedf;--chip-border:#f1ddc4;--font-display:"Bricolage Grotesque", sans-serif;--font-body:"Hanken Grotesk", sans-serif;--font-serif:"Newsreader", serif;--font-mono:"JetBrains Mono", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}::selection{color:#2a2420;background:#f2c6a6}a{color:inherit}.article-body{color:var(--ink-soft);font-size:18.5px;line-height:1.75}.article-body>:first-child{margin-top:0}.article-body p{margin:0 0 24px}.article-body em{font-style:italic}.article-body h2{font-family:var(--font-display);letter-spacing:-.02em;margin:44px 0 16px;font-size:30px;font-weight:700;line-height:1.15}.article-body h1{font-family:var(--font-display);letter-spacing:-.02em;margin:44px 0 16px;font-size:34px;font-weight:700;line-height:1.12}.article-body h3{font-family:var(--font-display);letter-spacing:-.01em;margin:34px 0 12px;font-size:23px;font-weight:700;line-height:1.2}.article-body strong{color:var(--ink);font-weight:700}.article-body ol{margin:0 0 24px;padding-left:22px}.article-body hr{border:none;border-top:1px solid var(--line);margin:36px 0}.article-body img{border-radius:14px;max-width:100%;height:auto;margin:12px 0}.article-body .diagram{background:#fbf4ea;border:1px solid #efe3d2;border-radius:20px;margin:34px 0;padding:26px 24px}.article-body .diagram svg{width:100%;height:auto;font-family:var(--font-body);display:block;overflow:visible}.article-body .diagram figcaption{text-align:center;color:var(--muted-2);margin-top:14px;font-size:13.5px;font-style:italic}.diagram .node{fill:#fff;stroke:#ecdfce;stroke-width:1.5px}.diagram .node-dark{fill:#2a2420;stroke:none}.diagram .node-warn{fill:#fbeedf;stroke:#f1ddc4;stroke-width:1.5px}.diagram .node-accent{fill:#d9694a;stroke:none}.diagram .node-good{fill:#eaf3ec;stroke:#cde5d3;stroke-width:1.5px}.diagram .lbl{fill:#2a2420;font-size:15px;font-weight:600}.diagram .lbl-sm{fill:#5c5247;font-size:13px;font-weight:600}.diagram .lbl-dark{fill:#fdf8f2;font-size:15px;font-weight:600}.diagram .lbl-on-accent{fill:#fff;font-size:15px;font-weight:700}.diagram .lbl-warn{fill:#b5663e;font-size:15px;font-weight:600}.diagram .lbl-good{fill:#3b7a52;font-size:15px;font-weight:600}.diagram .cap{fill:#a19484;letter-spacing:.07em;font-size:12px;font-weight:700}.diagram .flow{stroke:#d9694a;stroke-width:2.5px;fill:none}.diagram .flow-soft{stroke:#d9b89a;stroke-width:2px;fill:none;stroke-dasharray:5 5}.diagram .flow-fill{fill:#d9694a}.article-body a{color:var(--coral);font-weight:600;text-decoration:none}.article-body a:hover{text-decoration:underline}.article-body blockquote{border-left:4px solid var(--coral);margin:36px 0;padding:6px 0 6px 28px}.article-body blockquote p{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:25px;font-style:italic;line-height:1.45}.article-body ul{margin:0 0 24px;padding-left:22px}.article-body li{margin-bottom:10px}.article-body pre{background:#2a2420;border-radius:16px;margin:32px 0;padding:24px 26px;overflow-x:auto}.article-body pre code{font-family:var(--font-mono);color:#e8dfd3;white-space:pre;background:0 0;font-size:14px;line-height:1.7}.article-body code{font-family:var(--font-mono);color:var(--rust);background:#fbeedf;border-radius:6px;padding:2px 6px;font-size:.92em}.nav-link{color:#5c5247;font-size:15px;font-weight:500;text-decoration:none;transition:color .15s}.nav-link:hover{color:var(--coral)}.nav-link[data-active=true]{color:var(--coral);font-weight:600}.foot-link{color:var(--muted-2);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.foot-link:hover{color:var(--coral)}.btn-dark{transition:background .15s}.btn-dark:hover{background:var(--coral)!important}.btn-coral{transition:background .15s}.btn-coral:hover{background:var(--coral-deep)!important}.btn-coral-light{transition:background .15s}.btn-coral-light:hover{background:var(--coral-light)!important}.btn-outline{transition:border-color .15s,color .15s}.btn-outline:hover{border-color:var(--coral)!important;color:var(--coral)!important}.btn-outline-dark{transition:border-color .15s}.btn-outline-dark:hover{border-color:#fdf8f2!important}.card-lift{transition:transform .2s,box-shadow .2s}.card-lift:hover{transform:translateY(-4px);box-shadow:0 18px 40px #b4663e29}.card-lift-lg:hover{transform:translateY(-4px);box-shadow:0 22px 46px #b4663e29}.app-card{transition:border-color .15s}.app-card:hover{border-color:#e8a53d!important}.row-card{transition:border-color .15s}.row-card:hover{border-color:var(--coral)!important}.back-link{transition:color .15s}.back-link:hover{color:var(--coral)!important}.icon-btn{transition:color .15s,border-color .15s}.icon-btn:hover{color:var(--coral);border-color:var(--coral)}.all-posts{transition:gap .15s}.all-posts:hover{gap:11px}@media (width<=860px){.blog-grid-2,.blog-grid-3,.blog-hero,.blog-featured{grid-template-columns:1fr!important}.blog-display-xl{font-size:40px!important}.blog-display-lg{font-size:34px!important}.blog-nav-links{gap:18px!important}.blog-hide-sm{display:none!important}}@media (width<=560px){.blog-grid-3{grid-template-columns:1fr!important}}
