:root{color-scheme:light;--color-canvas:#f4f1e9;--color-surface:#fbfaf6;--color-surface-strong:#ebe7dc;--color-ink:#17232d;--color-text:#303d46;--color-text-muted:#637079;--color-primary:#173e57;--color-primary-hover:#0d2e43;--color-accent:#267966;--color-accent-soft:#dcebe5;--color-border:#cfd2cc;--color-focus:#c55d2d;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1:.375rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--radius-small:.35rem;--radius-medium:.8rem;--shadow-card:0 1.25rem 3rem #17232d14;--content-width:72rem;--reading-width:44rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-canvas);min-width:0}body{min-width:0;min-height:100vh;color:var(--color-text);background:linear-gradient(90deg, transparent 0 49.9%, #173e570a 50%, transparent 50.1%), var(--color-canvas);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.65}a{color:var(--color-primary);text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:.25rem}h1,h2,p{margin-block-start:0}h1,h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.025em;font-weight:600;line-height:1.05}h1{max-width:14ch;margin-block-end:var(--space-4);font-size:clamp(2.65rem,8vw,6.5rem)}h2{margin-block-end:var(--space-3);font-size:clamp(1.65rem,4vw,2.5rem)}code{border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-primary);background:var(--color-surface-strong);font-family:var(--font-mono);padding:.16em .35em;font-size:.88em}.skip-link{z-index:10;padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);color:var(--color-surface);background:var(--color-primary);font-weight:700;transition:transform .16s ease-out;position:fixed;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);transform:translateY(-180%)}.skip-link:focus{color:var(--color-surface);transform:translateY(0)}.site-frame{width:min(100% - 2rem, var(--content-width));margin-inline:auto}.site-header,.site-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-4);border-color:var(--color-border);display:flex}.site-header{border-block-end:1px solid var(--color-border)}.wordmark{align-items:center;gap:var(--space-2);color:var(--color-ink);font-weight:800;text-decoration:none;display:inline-flex}.wordmark__mark{aspect-ratio:1;width:2rem;color:var(--color-surface);background:var(--color-primary);font-family:var(--font-mono);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:.65rem;display:inline-grid}.site-nav{flex-wrap:wrap;justify-content:flex-end;margin:0;padding:0;list-style:none;display:flex}.site-nav a{padding:var(--space-1) var(--space-2);border-radius:var(--radius-small);font-size:.875rem;font-weight:700;text-decoration:none;display:inline-block}.site-nav a[aria-current=page]{color:var(--color-surface);background:var(--color-primary)}.site-nav a[aria-current=page]:hover{color:var(--color-surface);background:var(--color-primary-hover)}.site-main{min-width:0}.site-footer{padding-block:var(--space-5);border-block-start:1px solid var(--color-border);color:var(--color-text-muted);align-items:flex-end;font-size:.8rem}.site-footer p{margin-block-end:0}@media (width<=44rem){body{background:var(--color-canvas)}.site-header{flex-direction:column;align-items:flex-start}.site-header nav,.site-nav{width:100%}.site-nav{justify-content:space-between}.site-nav a{padding-inline:var(--space-1);font-size:.8rem}.site-footer{flex-direction:column;align-items:flex-start}}@media (width<=24rem){.site-frame{width:min(100% - 1.25rem, var(--content-width))}.wordmark__name{overflow-wrap:anywhere;max-width:9rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
