.btn[data-astro-cid-ekguhzzh]{font-family:var(--font-mono);font-weight:var(--weight-bold);letter-spacing:var(--track-mono);text-transform:uppercase;border:var(--rule) solid var(--border-rule);border-radius:var(--radius);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);align-items:center;gap:8px;line-height:1;text-decoration:none;display:inline-flex}.btn--sm[data-astro-cid-ekguhzzh]{font-size:var(--type-label);padding:8px 12px}.btn--md[data-astro-cid-ekguhzzh]{font-size:var(--type-label);padding:10px 14px}.btn--lg[data-astro-cid-ekguhzzh]{padding:16px 22px;font-size:14px}@media (width<=640px){.btn--sm[data-astro-cid-ekguhzzh],.btn--md[data-astro-cid-ekguhzzh]{padding-block:12px}}.btn--solid[data-astro-cid-ekguhzzh]{background:var(--surface-invert);color:var(--color-text-on-invert)}.btn--solid[data-astro-cid-ekguhzzh]:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--outline[data-astro-cid-ekguhzzh]{color:var(--color-text-strong);background:0 0}.btn--outline[data-astro-cid-ekguhzzh]:hover{background:var(--surface-invert);color:var(--color-text-on-invert)}.btn--accent[data-astro-cid-ekguhzzh]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn--accent[data-astro-cid-ekguhzzh]:hover{background:var(--surface-invert);color:var(--color-text-on-invert);border-color:var(--border-rule)}.btn--ghost[data-astro-cid-ekguhzzh]{color:var(--color-text-strong);background:0 0;border-color:#0000}.btn--ghost[data-astro-cid-ekguhzzh]:hover{border-color:var(--border-rule)}.icon-btn[data-astro-cid-3gcnyqnl]{width:var(--icon-btn-size);height:var(--icon-btn-size);font-size:var(--icon-btn-font);border:var(--rule) solid var(--border-rule);border-radius:var(--radius);color:var(--color-text-strong);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (width<=640px){.icon-btn[data-astro-cid-3gcnyqnl]{--icon-btn-min-mobile:44px;width:max(var(--icon-btn-size), var(--icon-btn-min-mobile));height:max(var(--icon-btn-size), var(--icon-btn-min-mobile))}}.icon-btn--outline[data-astro-cid-3gcnyqnl]:hover{background:var(--surface-invert);color:var(--color-text-on-invert)}.icon-btn--onInvert[data-astro-cid-3gcnyqnl]{border-color:var(--color-text-on-invert);color:var(--color-text-on-invert)}.icon-btn--onInvert[data-astro-cid-3gcnyqnl]:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.site-header[data-astro-cid-nen7h5rs]{z-index:20;background:var(--surface-page);border-bottom:var(--rule) solid var(--border-rule);position:sticky;top:0}.inner[data-astro-cid-nen7h5rs]{max-width:var(--container);padding:14px var(--gutter);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex;position:relative}.wordmark[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);font-size:16px;font-weight:var(--weight-bold);letter-spacing:var(--track-mono);color:var(--color-text-strong)}.wordmark[data-astro-cid-nen7h5rs]:hover{color:var(--accent)}.actions[data-astro-cid-nen7h5rs]{order:1;align-items:center;gap:10px;display:flex}.links[data-astro-cid-nen7h5rs]{order:2;align-items:center;gap:6px;display:flex}.actions[data-astro-cid-nen7h5rs] .nav-toggle,.links[data-astro-cid-nen7h5rs] .panel-contact{display:none}@media (width>=641px){.actions[data-astro-cid-nen7h5rs]{order:3}}@media (width<=640px){.actions[data-astro-cid-nen7h5rs] .actions-contact{display:none}.actions[data-astro-cid-nen7h5rs] .nav-toggle{display:inline-flex}.links[data-astro-cid-nen7h5rs]{padding:12px var(--gutter) 16px;background:var(--surface-page);border-top:1.5px solid var(--border-rule);border-bottom:var(--rule) solid var(--border-rule);flex-direction:column;align-items:flex-start;gap:4px;display:none;position:absolute;top:100%;left:0;right:0}.links[data-astro-cid-nen7h5rs].is-open{display:flex}.links[data-astro-cid-nen7h5rs] .panel-contact{margin-top:8px;display:inline-flex}}footer[data-astro-cid-jo6i4kqk]{border-top:var(--rule) solid var(--border-rule);background:var(--surface-page)}.inner[data-astro-cid-jo6i4kqk]{max-width:var(--container);padding:var(--gutter);font-family:var(--font-mono);font-size:var(--type-meta);letter-spacing:.04em;color:var(--color-text-meta);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 auto;display:flex}:root{--paper:#f4f0e6;--card:#fffdf7;--ink:#14110d;--ink-2:#2a251e;--ink-3:#3a352c;--ink-4:#57534a;--muted:#6b6558;--invert-2:#d6d0c2;--accent:#d94314;--on-accent:#fff;--surface-page:var(--paper);--surface-card:var(--card);--surface-invert:var(--ink);--color-text-strong:var(--ink);--color-text-body:var(--ink-2);--color-text-secondary:var(--ink-3);--color-text-quiet:var(--ink-4);--color-text-meta:var(--muted);--color-text-on-invert:var(--paper);--color-text-on-invert-dim:var(--invert-2);--border-rule:var(--ink)}:root[data-theme=dark]{--paper:#100e0b;--card:#1c1813;--ink:#f2eee4;--ink-2:#e4dfd3;--ink-3:#cfc9bb;--ink-4:#a8a293;--muted:#8e887a;--invert-2:#3a352c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#100e0b;--card:#1c1813;--ink:#f2eee4;--ink-2:#e4dfd3;--ink-3:#cfc9bb;--ink-4:#a8a293;--muted:#8e887a;--invert-2:#3a352c}}:root{--font-display:Archivo, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--type-hero:clamp(40px, 7.4vw, 92px);--type-h1:clamp(38px, 6.5vw, 76px);--type-h2:clamp(28px, 4vw, 42px);--type-h3:clamp(21px, 2.4vw, 27px);--type-lead:clamp(18px, 2vw, 23px);--type-stack-row:clamp(17px, 1.8vw, 21px);--type-body:17px;--type-small:15px;--type-meta:11px;--type-label:12px;--type-year:26px;--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-black:800;--track-hero:-.04em;--track-tight:-.03em;--track-snug:-.02em;--track-mono:.06em;--track-mono-wide:.1em;--leading-hero:.96;--leading-heading:1.15;--leading-body:1.55;--leading-prose:1.68;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-14:56px;--space-16:64px;--space-18:72px;--rule:2px;--rule-thin:1.5px;--radius:0px;--shadow-hard:6px 6px 0 var(--ink);--shadow-hard-sm:4px 4px 0 var(--ink);--container:1080px;--gutter:24px;--header-offset:70px;--measure-prose:68ch;--measure-lead:46ch;--dur-fast:.12s;--dur:.2s;--ease:cubic-bezier(.2, 0, .1, 1);--hover-nudge:8px}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s}}html{color-scheme:light dark}html,body{background:var(--surface-page);margin:0;padding:0}*{box-sizing:border-box}body{font-family:var(--font-display);color:var(--color-text-strong);-webkit-font-smoothing:antialiased}a{color:var(--color-text-strong);text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:#fff}img{max-width:100%}.prose p{font-size:18px;line-height:var(--leading-prose);color:var(--color-text-body);text-wrap:pretty;margin:0 0 22px}.prose p:last-child{margin-bottom:0}.prose a{text-underline-offset:3px;text-decoration:underline}.prose h2,.prose h3{font-weight:var(--weight-black);letter-spacing:var(--track-snug);color:var(--color-text-strong);margin:40px 0 16px}.prose h2{font-size:28px}.prose h3{font-size:22px}.prose blockquote{border-left:4px solid var(--accent);font-size:19px;font-weight:var(--weight-medium);color:var(--color-text-secondary);margin:28px 0;padding-left:18px}.prose code{font-family:var(--font-mono);background:var(--surface-card);border:1.5px solid var(--border-rule);padding:1px 5px;font-size:.9em}.prose pre{font-family:var(--font-mono);background:var(--surface-invert);color:var(--color-text-on-invert);border:var(--rule) solid var(--border-rule);padding:20px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.prose pre.astro-code span{color:var(--shiki-dark)}:root[data-theme=dark] .prose pre.astro-code span{color:var(--shiki-light)}.prose ul,.prose ol{color:var(--color-text-body);font-size:18px;line-height:var(--leading-prose);padding-left:1.3em}.prose li{margin-bottom:8px}
