[data-palette=emerald]{--bg:#f5f6f8;--bg-raised:#fff;--ink:#14171c;--ink-soft:#52606d;--ink-faint:#8a96a3;--rule:#dde1e7;--rule-strong:#c4cad3;--accent:#1f9d63;--accent-soft:#e3f5ec;--accent-soft-2:#c9ebd9;--accent-ink:#0f6b41}[data-palette=warm]{--bg:#f6f1e8;--bg-raised:#faf7f0;--ink:#211c16;--ink-soft:#5c5346;--ink-faint:#8f8471;--rule:#e5dcc9;--rule-strong:#d9cdb8;--accent:#a15c33;--accent-soft:#f0ded0;--accent-soft-2:#e3c4a8;--accent-ink:#7a3d18}[data-palette=slate]{--bg:#f4f5f8;--bg-raised:#fff;--ink:#171a21;--ink-soft:#4d5566;--ink-faint:#7c8496;--rule:#dfe2ea;--rule-strong:#c3cad9;--accent:#3a5a8c;--accent-soft:#dde5f0;--accent-soft-2:#c3d2e8;--accent-ink:#234064}[data-palette=mono]{--bg:#fff;--bg-raised:#fafafa;--ink:#0a0a0a;--ink-soft:#4a4a4a;--ink-faint:#8a8a8a;--rule:#e0e0e0;--rule-strong:#c4c4c4;--accent:#0a0a0a;--accent-soft:#f0f0f0;--accent-soft-2:#e0e0e0;--accent-ink:#0a0a0a}[data-palette=mono] a{text-underline-offset:3px;text-decoration:underline 1px}[data-palette=ink]{--bg:#14171c;--bg-raised:#1c2027;--ink:#e8e6df;--ink-soft:#a8a89c;--ink-faint:#6b6b62;--rule:#2a2e36;--rule-strong:#383d47;--accent:#e8b04f;--accent-soft:#3a2f1a;--accent-soft-2:#4a3d24;--accent-ink:#f5c968}[data-palette=forest]{--bg:#f4f2e8;--bg-raised:#faf9f2;--ink:#1f2419;--ink-soft:#545a47;--ink-faint:#8a8f79;--rule:#ddd9c4;--rule-strong:#c9c4a8;--accent:#3d5c3a;--accent-soft:#dde5d5;--accent-soft-2:#c5d4b8;--accent-ink:#26401f}[data-theme=dark]{--bg:#1a1712;--bg-raised:#221e17;--ink:#f2ede2;--ink-soft:#c4bcac;--ink-faint:#8f8471;--rule:#353025;--rule-strong:#453f31;--accent:#d98a5a;--accent-soft:#3a2a1e;--accent-soft-2:#4a3222;--accent-ink:#f0b088}:root{--font-mono:"Space Mono", ui-monospace, monospace;--font-sans:-apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);flex-direction:column;min-height:100vh;margin:0;line-height:1.55;display:flex}h1,h2,h3{font-family:var(--font-mono);margin:0 0 .5em;font-weight:700}a{color:var(--accent-ink)}header{border-bottom:1px solid var(--rule);background:var(--bg-raised);justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;display:flex}header.sticky{z-index:50;position:sticky;top:0}header a{font-family:var(--font-mono);color:var(--ink);font-weight:700;text-decoration:none}.header-right{align-items:center;gap:1.5rem;display:flex}header nav ul{font-family:var(--font-mono);gap:1.5rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}header nav a{color:var(--ink-soft);font-weight:400}header nav a[aria-current=page]{color:var(--accent-ink);text-underline-offset:4px;text-decoration:underline 2px}header nav li.nav-secondary{border-left:1px solid var(--rule);padding-left:.75rem}header nav li.nav-secondary a{color:var(--ink-faint);font-size:.78rem}.nav-toggle-checkbox{display:none}.nav-toggle-btn{cursor:pointer;flex-direction:column;gap:4px;padding:6px;display:none}.nav-toggle-btn span{background:var(--ink);border-radius:2px;width:20px;height:2px}@media (width<=640px){header{position:relative}.nav-toggle-btn{display:flex}header nav ul{background:var(--bg-raised);border-bottom:1px solid var(--rule);z-index:60;flex-direction:column;gap:1rem;padding:1rem 1.5rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-toggle-checkbox:checked~ul{display:flex}header nav li.nav-secondary{border-left:none;border-top:1px solid var(--rule);padding-top:.75rem;padding-left:0}}.pill{border:1px solid var(--rule-strong);color:var(--ink);border-radius:20px;padding:.4rem .85rem;font-size:.85rem;display:inline-block}main{flex:1;width:100%;max-width:960px;margin-inline:auto;padding-block:2.5rem 4rem;padding-inline:1.5rem}.back-link{font-family:var(--font-mono);color:var(--ink-soft);margin-bottom:1.5rem;font-size:.85rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent-ink)}code{font-family:var(--font-mono);background:var(--rule);color:var(--ink);border-radius:4px;padding:.1em .4em;font-size:.9em}pre{color:#e8e2d4;background:#1e1b16;border:1px solid #2e2a22;border-radius:8px;margin:1.5rem 0;padding:1rem 1.25rem;font-size:.85rem;line-height:1.5;overflow-x:auto}pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.post img{border-radius:8px;max-width:100%;margin:1.5rem 0}table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.9rem}th,td{border:1px solid var(--rule);text-align:left;padding:.5rem .75rem}th{font-family:var(--font-mono);background:var(--bg-raised)}[data-theme=dark] .theme-toggle svg{color:var(--accent);transform:rotate(180deg)}.draft-badge{font-family:var(--font-mono);color:var(--ink-soft);background:var(--rule);border-radius:4px;margin-bottom:.5rem;padding:.15rem .5rem;font-size:.7rem;display:inline-block}footer{border-top:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-faint);justify-content:space-between;align-items:center;margin-top:4rem;padding:1.5rem;font-size:.8rem;display:flex}footer a{color:var(--ink-faint);margin-left:1.25rem;text-decoration:none}footer a:hover{color:var(--accent-ink)}@media (width<=640px){footer{flex-direction:column;align-items:flex-start;gap:.75rem}.footer-links{flex-wrap:wrap;gap:1rem;margin-left:0;display:flex}.footer-links a{margin-left:0}}.theme-toggle[data-astro-cid-l6lhmie6]{appearance:none;background:var(--bg-raised);border:1px solid var(--rule-strong);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{transition:transform .2s}[data-astro-cid-l6lhmie6][data-theme=dark] .theme-toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{transform:rotate(180deg)}.back-to-top[data-astro-cid-vy5be4ad]{background:var(--accent);color:var(--bg);cursor:pointer;opacity:0;pointer-events:none;z-index:40;border:none;border-radius:999px;flex-direction:column;align-items:center;gap:.5rem;padding:.9rem .55rem;transition:opacity .2s,transform .2s,border-color .15s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;transform:translateY(8px)}.back-to-top[data-astro-cid-vy5be4ad].is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top[data-astro-cid-vy5be4ad] span[data-astro-cid-vy5be4ad]{writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.05em;font-size:.68rem}.back-to-top[data-astro-cid-vy5be4ad]:hover{background:var(--accent-ink);color:var(--bg)}
