.site-nav[data-astro-cid-4lunwx2e]{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:2px solid var(--nw-ink)}.site-nav-logo[data-astro-cid-4lunwx2e]{font-family:var(--font-mono);font-weight:700;font-size:16px;letter-spacing:.05em;color:var(--nw-ink);border:none}.site-nav-logo[data-astro-cid-4lunwx2e]:hover{opacity:.7}.site-nav-links[data-astro-cid-4lunwx2e]{display:flex}.site-nav-link[data-astro-cid-4lunwx2e]{position:relative;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--nw-ink);border:none;border-left:1px solid var(--nw-ink);padding:6px 16px;transition:color .1s ease}.site-nav-link[data-astro-cid-4lunwx2e]:hover{opacity:1}.site-nav-link[data-astro-cid-4lunwx2e]:not(.active):hover{background:transparent}.nav-fill[data-astro-cid-4lunwx2e]{position:absolute;inset:0;background:var(--nw-ink);clip-path:inset(0 100% 0 0);pointer-events:none;z-index:-1}.site-nav-link[data-astro-cid-4lunwx2e].active{background:var(--nw-ink);color:var(--nw-bg)}.lang-switch[data-astro-cid-4lunwx2e]{border-left:1px dashed var(--nw-accent);color:var(--nw-accent)}@media(max-width:640px){.site-nav[data-astro-cid-4lunwx2e]{flex-direction:column;gap:12px}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-italic-400.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-regular.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-latin-500.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-latin-700.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-italic-400.woff2) format("woff2")}:root{--nw-bg: #F5F0E8;--nw-ink: #1A1A1A;--nw-accent: #A84E25;--nw-accent-light: rgba(168, 78, 37, .08);--nw-muted: #6B6358;--nw-ghost: rgba(26, 26, 26, .06);--font-mono: "IBM Plex Mono", monospace;--font-sans: "DM Sans", sans-serif;--shadow: 6px 6px 0 var(--nw-ink);--shadow-hover: 3px 3px 0 var(--nw-ink)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--nw-bg);color:var(--nw-ink);font-size:14px;line-height:1.6;position:relative;min-height:100vh}.grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--nw-ghost) 1px,transparent 1px),linear-gradient(90deg,var(--nw-ghost) 1px,transparent 1px);background-size:60px 60px}a{color:var(--nw-accent);text-decoration:none;border-bottom:1px solid var(--nw-accent);transition:opacity .15s ease}a:hover{opacity:.7}::selection{background:var(--nw-ink);color:var(--nw-bg)}.page-wrapper{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:0 24px}.wire-label{display:inline-block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--nw-muted);border:1px dashed var(--nw-muted);padding:3px 8px}.footer{border-top:1px dashed var(--nw-muted);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;color:var(--nw-muted);margin-top:40px}.section{padding:48px 0}.section-title{font-family:var(--font-mono);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--nw-accent);display:flex;align-items:center;gap:12px;margin-bottom:32px}.section-line{flex:1;height:0;border-top:1px dashed var(--nw-muted)}.sub-annotation{font-family:var(--font-mono);font-size:12px;color:var(--nw-muted);letter-spacing:.08em;margin-bottom:16px}.card{border:2.5px solid var(--nw-ink);box-shadow:var(--shadow);background:transparent;position:relative}.card-accent-strip{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--nw-accent)}.card-content{padding:24px 24px 24px 28px}.btn-primary{display:inline-block;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--nw-ink);background:transparent;border:2.5px solid var(--nw-ink);border-bottom:2.5px solid var(--nw-ink);box-shadow:var(--shadow);padding:10px 24px;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,background .1s ease,color .1s ease}.btn-primary:hover{box-shadow:var(--shadow-hover);transform:translate(3px,3px);background:var(--nw-ink);color:var(--nw-bg);opacity:1}.btn-ghost{display:inline-block;font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--nw-ink);background:transparent;border:1.5px dashed var(--nw-ink);padding:10px 24px;cursor:pointer;transition:background .1s ease,color .1s ease,border-style .1s ease}.btn-ghost:hover{border-style:solid;background:var(--nw-ink);color:var(--nw-bg);opacity:1}.form-field{margin-bottom:16px}.form-label{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--nw-muted);margin-bottom:6px}.form-input{width:100%;font-family:var(--font-mono);font-size:13px;color:var(--nw-ink);background:transparent;border:1.5px dashed var(--nw-muted);padding:10px 12px;outline:none;transition:border-color .15s ease,border-style .15s ease}.form-input:focus{border-style:solid;border-color:var(--nw-ink)}.form-input::placeholder{color:var(--nw-muted);opacity:.5}.form-textarea{resize:vertical;min-height:100px}.prose{font-family:var(--font-sans);font-size:15px;line-height:1.8;color:var(--nw-ink)}.prose h2{font-family:var(--font-mono);font-size:20px;font-weight:700;margin-top:40px;margin-bottom:16px;letter-spacing:-.01em}.prose h3{font-family:var(--font-mono);font-size:16px;font-weight:600;margin-top:32px;margin-bottom:12px}.prose p{margin-bottom:16px}.prose ul,.prose ol{margin-bottom:16px;padding-left:24px}.prose li{margin-bottom:6px}.prose strong{font-weight:700}.prose code{font-family:var(--font-mono);font-size:13px;background:var(--nw-ghost);border:1px dashed var(--nw-muted);padding:2px 6px;border-radius:0}.prose pre{font-family:var(--font-mono);font-size:13px;line-height:1.6;background:var(--nw-ink);color:var(--nw-bg);border:2.5px solid var(--nw-ink);padding:20px 24px;margin-bottom:16px;overflow-x:auto}.prose pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}.prose blockquote{border-left:3px solid var(--nw-accent);padding:12px 20px;margin-bottom:16px;color:var(--nw-muted);font-style:italic}.prose img{max-width:100%;height:auto;border:2.5px solid var(--nw-ink);box-shadow:var(--shadow);margin-bottom:16px}.prose table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:14px}.prose th,.prose td{border:1.5px dashed var(--nw-muted);padding:8px 12px;text-align:left}.prose th{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--nw-muted)}.prose a{color:var(--nw-accent);border-bottom:1px solid var(--nw-accent)}.has-js .grid-bg,.has-js .site-nav-logo,.has-js .site-nav-link,.has-js .hero-annotation,.has-js .hero-title,.has-js .hero-subtitle,.has-js .hero-meta,.has-js .hero-cta,.has-js .page-hero-annotation,.has-js .page-hero-title,.has-js .page-hero-subtitle,.has-js .article-meta,.has-js .article-tags,.has-js .meta-card{opacity:0}.has-js .dot.filled{background:transparent}.has-js .timeline-marker{transform:scale(0)}@media(prefers-reduced-motion:reduce){.dot.filled{background:var(--nw-ink)!important}.timeline-marker{transform:none!important}.nav-fill{display:none}.card,.featured-card,.post-item,.post-preview{transform:none!important}.form-input{outline:none!important}}@media(max-width:640px){.footer{flex-direction:column;gap:8px;text-align:center}.section{padding:36px 0}}
