*,*:before,*:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote{margin:0;padding:0}ul,ol{list-style-position:outside;padding-left:1.25em}img,svg{display:block;max-width:100%}a{color:inherit}:root{--paper: #f7f3ec;--paper-deep: #efe9df;--rule: #d9d1c1;--ink: #1c1d20;--ink-soft: #4a4b50;--ink-mute: #82828a;--accent: #1e3a8a;--accent-soft: #3b5bdb;--highlight: #e9c46a;--code-bg: #efe9df;--code-border: #d9d1c1;--easy: #2e7d56;--medium: #b8761f;--hard: #b53b3b;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.35rem;--fs-xl: 1.75rem;--fs-2xl: 2.5rem;--fs-3xl: 3.75rem;--measure: 68ch;--gutter: clamp(1rem, 4vw, 2.5rem);--font-display: "Fraunces", "Iowan Old Style", "Palatino", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--paper: #14151a;--paper-deep: #1c1d24;--rule: #2c2d35;--ink: #ece8df;--ink-soft: #b9b6ad;--ink-mute: #7e7d78;--accent: #93c5fd;--accent-soft: #bfdbfe;--highlight: #f7c948;--code-bg: #1c1d24;--code-border: #2c2d35;--easy: #6ee7b7;--medium: #fcd34d;--hard: #fca5a5}}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.6;color:var(--ink);background:var(--paper);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");min-height:100dvh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}h1{font-size:clamp(var(--fs-2xl),5vw,var(--fs-3xl));font-weight:400;letter-spacing:-.025em}h2{font-size:var(--fs-xl);margin-top:2.5em;margin-bottom:.5em}h3{font-size:var(--fs-lg);margin-top:1.75em;margin-bottom:.4em}h4{font-size:var(--fs-md);margin-top:1.25em;margin-bottom:.3em}p,ul,ol,blockquote{margin-bottom:1.1em}p{max-width:var(--measure)}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .12s ease}a:hover{color:var(--accent-soft)}blockquote{border-left:2px solid var(--accent);padding:.25em 0 .25em 1.2em;font-style:italic;color:var(--ink-soft)}hr{border:0;border-top:1px solid var(--rule);margin:3em 0}.heading-anchor{margin-left:.4em;color:var(--ink-mute);text-decoration:none;opacity:0;transition:opacity .12s ease}h2:hover .heading-anchor,h3:hover .heading-anchor,h4:hover .heading-anchor{opacity:1}:not(pre)>code{font-family:var(--font-mono);font-size:.92em;background:var(--code-bg);border:1px solid var(--code-border);padding:.1em .4em;border-radius:4px}pre{font-family:var(--font-mono);font-size:.9em;line-height:1.55;padding:1.1em 1.2em;border-radius:6px;border:1px solid var(--code-border);overflow-x:auto;margin:1.5em 0;max-width:100%}pre code{background:transparent;border:0;padding:0;font-size:inherit}@media (prefers-color-scheme: dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:var(--fs-sm)}th,td{padding:.6em .8em;text-align:left;border-bottom:1px solid var(--rule)}th{font-family:var(--font-display);font-weight:500;color:var(--ink-soft)}.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:var(--gutter)}.prose{width:100%;max-width:var(--measure);margin-inline:auto}.prose pre,.prose table{max-width:100%}.site-header{padding:2rem 0 1.25rem;border-bottom:1px solid var(--rule)}.site-header-inner{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.site-name{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:500;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}.site-name em{font-style:italic;color:var(--ink-soft);font-weight:400}.site-nav{display:flex;gap:1.5rem;font-size:var(--fs-sm)}.site-nav a{text-decoration:none;color:var(--ink-soft)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:.25em}.site-footer{margin-top:5rem;padding:2.5rem 0;border-top:1px solid var(--rule);font-size:var(--fs-sm);color:var(--ink-mute)}.site-footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.pill{display:inline-block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.2em .6em;border-radius:999px;border:1px solid currentColor;line-height:1.4}.pill--easy{color:var(--easy)}.pill--medium{color:var(--medium)}.pill--hard{color:var(--hard)}.pill--pattern{color:var(--ink-soft)}.note-card{display:block;padding:1.25rem 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}.note-card:hover{background:var(--paper-deep)}.note-card-meta{display:flex;align-items:center;gap:.75rem;font-size:var(--fs-xs);color:var(--ink-mute);margin-bottom:.5rem;flex-wrap:wrap}.note-card-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:500;letter-spacing:-.01em;margin-bottom:.25rem}.note-card-desc{color:var(--ink-soft);font-size:var(--fs-sm);max-width:var(--measure)}.article-header{padding:3rem 0 2rem;border-bottom:1px solid var(--rule);margin-bottom:2.5rem}.article-meta{display:flex;gap:.75rem;align-items:center;font-size:var(--fs-xs);color:var(--ink-mute);margin-bottom:1rem;flex-wrap:wrap}.article-meta time{color:var(--ink-mute)}.article-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;letter-spacing:-.02em;margin-bottom:.5rem}.article-description{font-family:var(--font-display);font-style:italic;font-size:var(--fs-md);color:var(--ink-soft);max-width:var(--measure)}.hero{padding-block:4rem 3rem;border-bottom:1px solid var(--rule);margin-bottom:2.5rem}.hero-eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:1rem}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;letter-spacing:-.025em;line-height:1.05;margin-bottom:1.25rem;max-width:16ch}.hero-title em{font-style:italic;color:var(--accent)}.hero-lede{font-family:var(--font-display);font-style:italic;font-size:var(--fs-lg);color:var(--ink-soft);max-width:50ch;line-height:1.4}.section-heading{display:flex;align-items:baseline;gap:.75rem;margin:2.5rem 0 1rem;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-mute)}.section-heading:after{content:"";flex:1;height:1px;background:var(--rule)}@media print{body{background:#fff;color:#000}.site-header,.site-footer,.site-nav{display:none}pre,code{font-size:10pt}a{color:#000;text-decoration:underline}}
