@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-soft: #f7f3f0;--surface-warm: #f3ebe6;--band: #fbf8f6;--text: #211d1b;--text-soft: #5d5550;--muted: #7d746e;--border: #e9e1dc;--border-strong: #d9cfc8;--accent: #b83f64;--accent-hover: #962c4d;--accent-soft: #f7e5eb;--accent-border: #eccdd7;--secondary: #355c5b;--secondary-hover: #294746;--secondary-soft: #e7f0ef;--secondary-border: #c9dedd;--success: #2f6b49;--success-soft: #e5f0e9;--warning: #8f5a10;--warning-soft: #fbf0dc;--danger: #a13333;--danger-soft: #fbe9e9;--focus: #1a4f8f;--font-serif: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Iowan Old Style", "Times New Roman", serif;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--step--1: clamp(.8125rem, .79rem + .11vw, .875rem);--step-0: clamp(1rem, .94rem + .28vw, 1.125rem);--step-1: clamp(1.125rem, 1.08rem + .22vw, 1.25rem);--step-2: clamp(1.3125rem, 1.23rem + .42vw, 1.5625rem);--step-3: clamp(1.5rem, 1.36rem + .7vw, 1.9375rem);--step-4: clamp(1.75rem, 1.52rem + 1.15vw, 2.4375rem);--step-5: clamp(2rem, 1.63rem + 1.85vw, 3.0625rem);--leading-tight: 1.18;--leading-snug: 1.32;--leading-body: 1.62;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--radius-sm: 10px;--radius: 14px;--radius-lg: 22px;--radius-xl: 26px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(33 29 27 / .04);--shadow: 0 1px 2px rgb(33 29 27 / .04), 0 10px 30px -14px rgb(33 29 27 / .16);--shadow-lg: 0 2px 6px rgb(33 29 27 / .05), 0 18px 40px -16px rgb(184 63 100 / .28);--brand-deep: #6e1f38;--brand-mid: #96304f;--brand-glow: rgb(233 197 96 / .26);--w-prose: 48rem;--w-article: 50rem;--w-rail: 16rem;--w-page: 86rem;--gutter: clamp(1rem, .5rem + 2.2vw, 2rem);--z-base: 0;--z-sticky: 20;--z-header: 30;--z-dropdown: 40;--z-overlay: 50;--ease: cubic-bezier(.32, .72, 0, 1);--dur-fast: .15s;--dur: .19s;--dur-slow: .22s;--header-h: 3.5rem}@media(min-width:64rem){:root{--header-h: 4rem}}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-4))}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);line-height:var(--leading-body);min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,svg,video{display:block;max-width:100%}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:800;line-height:var(--leading-tight);letter-spacing:-.032em;text-wrap:balance}h1{font-size:var(--step-5)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p,li{text-wrap:pretty}a{color:var(--accent);text-decoration-color:var(--accent-border);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color var(--dur-fast) var(--ease),text-decoration-color var(--dur-fast) var(--ease)}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}hr{border:0;border-top:1px solid var(--border);margin-block:var(--space-8)}table{border-collapse:collapse;width:100%}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--accent-soft);color:var(--text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:var(--z-overlay);padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);font-weight:600;text-decoration:none;transform:translateY(-200%);transition:transform var(--dur) var(--ease)}.skip-link:focus{transform:translateY(0)}.wrap{width:100%;max-width:var(--w-page);margin-inline:auto;padding-inline:var(--gutter)}.wrap-prose{width:100%;max-width:var(--w-prose);margin-inline:auto;padding-inline:var(--gutter)}.wrap-narrow{width:100%;max-width:56rem;margin-inline:auto;padding-inline:var(--gutter)}.stack>*+*{margin-top:var(--space-4)}.eyebrow{font-family:var(--font-sans);font-size:var(--step--1);font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}.lede{font-size:var(--step-1);line-height:var(--leading-snug);color:var(--text-soft)}.muted{color:var(--muted);font-size:var(--step--1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-6);border:1px solid transparent;border-radius:var(--radius);background:var(--accent);color:#fff;font-weight:600;font-size:var(--step-0);text-decoration:none;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn:hover{background:var(--accent-hover);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-soft);border-color:var(--muted);color:var(--text)}.link-arrow{display:inline-flex;align-items:center;gap:.35em;font-weight:600;text-decoration:none}.link-arrow:after{content:"→";transition:transform var(--dur-fast) var(--ease)}.link-arrow:hover:after{transform:translate(3px)}@media print{.site-header,.site-footer,.ad-slot,.article-toc,.article-aside,.related-problems,.feedback,.search-form,.skip-link,.breadcrumbs{display:none!important}body{background:#fff;font-size:11pt}main{max-width:none}a{color:#000;text-decoration:underline}.callout,.diagnostic-table,table{break-inside:avoid}h2,h3{break-after:avoid}}.article-layout{display:grid;grid-template-columns:minmax(0,var(--w-article));justify-content:center;gap:var(--space-8);width:100%;max-width:var(--w-page);margin-inline:auto;padding-inline:var(--gutter);padding-block:var(--space-6) var(--space-12)}.article-main{min-width:0}.article-toc,.article-aside{display:none;min-width:0}@media(min-width:78rem){.article-layout{grid-template-columns:var(--w-rail) minmax(0,var(--w-article)) var(--w-rail)}.article-toc,.article-aside{display:block}.article-toc-inner,.article-aside-inner{position:sticky;top:calc(var(--header-h) + var(--space-6));display:flex;flex-direction:column;gap:var(--space-6);max-height:calc(100vh - var(--header-h) - var(--space-12));overflow-y:auto}}.prose{font-size:var(--step-0);line-height:var(--leading-body);color:var(--text)}.prose>*+*{margin-top:var(--space-4)}.prose h2{margin-top:var(--space-12);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--step-3)}.prose h2:first-child{margin-top:0;padding-top:0;border-top:0}.prose h3{margin-top:var(--space-8);font-size:var(--step-2)}.prose h4{margin-top:var(--space-6);font-size:var(--step-1);font-family:var(--font-sans);font-weight:650}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--space-3)}.prose p{max-width:var(--w-prose)}.prose strong{font-weight:650}.prose ul,.prose ol{padding-left:1.35em;max-width:var(--w-prose)}.prose li+li{margin-top:var(--space-2)}.prose li::marker{color:var(--muted)}.prose ul li::marker{color:var(--accent)}.prose blockquote{margin-block:var(--space-6);padding:var(--space-4) var(--space-6);border-left:3px solid var(--accent-border);background:var(--surface-soft);border-radius:0 var(--radius) var(--radius) 0;font-family:var(--font-serif);font-size:var(--step-1);color:var(--text-soft)}.prose figure{margin-block:var(--space-8)}.prose figcaption{margin-top:var(--space-3);font-size:var(--step--1);color:var(--muted);line-height:var(--leading-snug)}.prose img,.prose svg{border-radius:var(--radius)}.prose :is(h2,h3)>.heading-anchor{margin-left:.4em;color:var(--border-strong);font-family:var(--font-sans);font-size:.7em;text-decoration:none;opacity:0;transition:opacity var(--dur-fast) var(--ease)}.prose :is(h2,h3):hover>.heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.table-scroll{margin-block:var(--space-6);overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);background-image:linear-gradient(to right,rgb(33 29 27 / .06),transparent 12px),linear-gradient(to left,rgb(33 29 27 / .06),transparent 12px);background-attachment:local,local;background-position:right,left;background-repeat:no-repeat}.table-scroll table{min-width:32rem;font-size:var(--step--1)}.table-scroll caption{padding:var(--space-3) var(--space-4) 0;text-align:left;font-size:var(--step--1);color:var(--muted)}.table-scroll :is(th,td){padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-bottom:1px solid var(--border);line-height:var(--leading-snug)}.table-scroll th{font-family:var(--font-sans);font-weight:650;color:var(--text);background:var(--surface-soft);white-space:nowrap}.table-scroll tbody tr:last-child :is(th,td){border-bottom:0}.table-scroll tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-soft) 45%,transparent)}.callout{margin-block:var(--space-6);padding:var(--space-4) var(--space-6);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);background:var(--surface);font-size:var(--step-0)}.callout>*+*{margin-top:var(--space-2)}.callout-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--step--1);font-weight:700;letter-spacing:.045em;text-transform:uppercase}.callout-warning{border-left-color:var(--warning);background:var(--warning-soft)}.callout-warning .callout-title{color:var(--warning)}.callout-danger{border-left-color:var(--danger);background:var(--danger-soft)}.callout-danger .callout-title{color:var(--danger)}.callout-info{border-left-color:var(--secondary);background:var(--secondary-soft)}.callout-info .callout-title{color:var(--secondary)}.callout-success{border-left-color:var(--success);background:var(--success-soft)}.callout-success .callout-title{color:var(--success)}.card-grid{display:flex;flex-wrap:wrap;gap:var(--space-4);list-style:none;padding:0;margin:0}.card-grid>*{flex:1 1 16rem;min-width:min(100%,16rem)}.card-grid-tight>*{flex:1 1 12rem;min-width:min(100%,12rem)}.section{padding-block:var(--space-8)}.section+.section{border-top:1px solid var(--border)}.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-2) var(--space-6);margin-bottom:var(--space-6)}.section-head h2{font-size:var(--step-3)}.section-head p{grid-column:1 / -1;color:var(--text-soft);max-width:62ch}.section-head>a{justify-self:end;white-space:nowrap;font-size:var(--step--1)}.page-hero{position:relative;overflow:hidden;border-bottom:0;background:linear-gradient(150deg,var(--brand-mid),var(--brand-deep));color:#fff}.page-hero:after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,var(--brand-glow),transparent 70%);pointer-events:none}.page-hero .page-hero-inner{position:relative;z-index:1}.page-hero h1{color:#fff}.page-hero .lede,.page-hero .hero-counts{color:#ffffffdb}.page-hero .hero-counts strong{color:#fff}.page-hero :global(.breadcrumbs) a,.page-hero :global(.breadcrumbs) [aria-current=page]{color:#ffffffb8}.page-hero :global(.breadcrumbs) a:hover{color:#fff}.page-hero :global(.breadcrumbs) li+li:before{color:#fff6}.page-hero :global(.photo img),.page-hero :global(.illustration){border-radius:var(--radius-lg);box-shadow:0 24px 50px -22px #00000073}.page-hero :global(.photo figcaption){color:#ffffffb3}.page-hero-inner{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:var(--space-6);width:100%;max-width:var(--w-page);margin-inline:auto;padding-inline:var(--gutter);padding-block:var(--space-8) var(--space-12)}.page-hero-text>*+*{margin-top:var(--space-4)}.page-hero-text h1{max-width:26ch}.page-hero-text .lede{max-width:52ch}.page-hero-art{max-width:22rem;margin-inline:auto}@media(min-width:56rem){.page-hero-inner{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:var(--space-12);padding-block:var(--space-12) var(--space-16)}.page-hero-art{max-width:none;margin-inline:0}}.page-prose{max-width:var(--w-prose)}.prose-aside{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8);align-items:start}@media(min-width:62rem){.prose-aside{grid-template-columns:minmax(0,var(--w-prose)) minmax(15rem,1fr);gap:var(--space-12)}}.side-card{padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--band);box-shadow:var(--shadow-sm)}.side-card+.side-card{margin-top:var(--space-4)}.side-card h2{font-size:var(--step-0);letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.side-card ul{margin:var(--space-4) 0 0;padding:0;list-style:none}.side-card li+li{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.side-card a{color:var(--text);font-weight:600;text-decoration:none;line-height:1.35}.side-card a:hover{color:var(--accent);text-decoration:underline}.side-card .side-note{margin-top:var(--space-4);color:var(--text-soft);font-size:var(--step--1);line-height:1.5}.section-band{background:var(--band);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-band+.section{border-top:0}.logo[data-astro-cid-bt5hbwbt]{display:inline-flex;align-items:center;gap:.55rem}.mark[data-astro-cid-bt5hbwbt]{flex:0 0 auto;width:1.75rem;height:1.75rem}.mark-bg[data-astro-cid-bt5hbwbt]{fill:var(--accent)}.mark-stitch[data-astro-cid-bt5hbwbt]{stroke:var(--surface)}.mark-dot[data-astro-cid-bt5hbwbt]{fill:var(--surface)}.wordmark[data-astro-cid-bt5hbwbt]{display:flex;flex-direction:column;line-height:1.02;font-family:var(--font-serif);font-weight:600;letter-spacing:-.012em}.w1[data-astro-cid-bt5hbwbt]{font-size:.9375rem}.w2[data-astro-cid-bt5hbwbt]{font-size:.9375rem;color:var(--accent)}@media(min-width:48rem){.wordmark[data-astro-cid-bt5hbwbt]{flex-direction:row;gap:.28em;align-items:baseline}.w1[data-astro-cid-bt5hbwbt],.w2[data-astro-cid-bt5hbwbt]{font-size:1.1875rem}}.site-header[data-astro-cid-mb6pvx4c]{position:sticky;top:0;z-index:var(--z-header);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--border)}.bar[data-astro-cid-mb6pvx4c]{display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:var(--w-page);min-height:var(--header-h);margin-inline:auto;padding-inline:var(--gutter)}.brand[data-astro-cid-mb6pvx4c]{flex:0 0 auto;display:flex;align-items:center;margin-right:auto;color:var(--text);text-decoration:none}.search-form[data-astro-cid-mb6pvx4c]{display:flex;align-items:center;gap:var(--space-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:0 var(--space-1) 0 var(--space-4);transition:border-color var(--dur-fast) var(--ease)}.search-form[data-astro-cid-mb6pvx4c]:focus-within{border-color:var(--accent)}.search-form[data-astro-cid-mb6pvx4c] input[data-astro-cid-mb6pvx4c]{flex:1 1 auto;min-width:0;height:2.375rem;border:0;background:transparent;font-size:var(--step--1);outline:none}.search-form[data-astro-cid-mb6pvx4c] input[data-astro-cid-mb6pvx4c]::placeholder{color:var(--muted)}.search-form[data-astro-cid-mb6pvx4c] button[data-astro-cid-mb6pvx4c]{flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer}.search-form[data-astro-cid-mb6pvx4c] button[data-astro-cid-mb6pvx4c]:hover{background:var(--accent-soft)}.search-desktop[data-astro-cid-mb6pvx4c]{display:none;flex:0 1 20rem}.nav-desktop[data-astro-cid-mb6pvx4c]{display:none}.nav-desktop[data-astro-cid-mb6pvx4c] ul[data-astro-cid-mb6pvx4c]{display:flex;align-items:center;gap:var(--space-1);list-style:none;margin:0;padding:0}.nav-desktop[data-astro-cid-mb6pvx4c] a[data-astro-cid-mb6pvx4c]{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--text);font-size:var(--step--1);font-weight:600;text-decoration:none;white-space:nowrap}.nav-desktop[data-astro-cid-mb6pvx4c] a[data-astro-cid-mb6pvx4c]:hover{background:var(--surface-soft);color:var(--accent)}.nav-desktop[data-astro-cid-mb6pvx4c] a[data-astro-cid-mb6pvx4c][aria-current=page]{color:var(--accent);background:var(--accent-soft)}.disclosure[data-astro-cid-mb6pvx4c] summary[data-astro-cid-mb6pvx4c]{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius);color:var(--text);cursor:pointer;list-style:none}.disclosure[data-astro-cid-mb6pvx4c] summary[data-astro-cid-mb6pvx4c]::-webkit-details-marker{display:none}.disclosure[data-astro-cid-mb6pvx4c] summary[data-astro-cid-mb6pvx4c]:hover{background:var(--surface-soft)}.disclosure[data-astro-cid-mb6pvx4c][open] summary[data-astro-cid-mb6pvx4c]{background:var(--accent-soft);color:var(--accent)}.panel[data-astro-cid-mb6pvx4c]{position:absolute;left:0;right:0;top:100%;z-index:var(--z-dropdown);padding:var(--space-4) var(--gutter) var(--space-6);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg)}.panel[data-astro-cid-mb6pvx4c] nav[data-astro-cid-mb6pvx4c] ul[data-astro-cid-mb6pvx4c]{list-style:none;margin:0;padding:0}.panel[data-astro-cid-mb6pvx4c] nav[data-astro-cid-mb6pvx4c] a[data-astro-cid-mb6pvx4c]{display:block;padding:var(--space-3) var(--space-2);border-radius:var(--radius);color:var(--text);text-decoration:none}.panel[data-astro-cid-mb6pvx4c] nav[data-astro-cid-mb6pvx4c] a[data-astro-cid-mb6pvx4c]:hover{background:var(--surface-soft)}.panel[data-astro-cid-mb6pvx4c] nav[data-astro-cid-mb6pvx4c] strong[data-astro-cid-mb6pvx4c]{display:block;font-weight:650}.panel[data-astro-cid-mb6pvx4c] nav[data-astro-cid-mb6pvx4c] span[data-astro-cid-mb6pvx4c]{display:block;color:var(--muted);font-size:var(--step--1);line-height:1.4}.panel[data-astro-cid-mb6pvx4c] .search-form[data-astro-cid-mb6pvx4c] button[data-astro-cid-mb6pvx4c]{width:auto;padding-inline:var(--space-4);border-radius:var(--radius-pill);background:var(--accent);color:#fff;font-size:var(--step--1);font-weight:600}@media(min-width:60rem){.search-desktop[data-astro-cid-mb6pvx4c]{display:flex}.nav-desktop[data-astro-cid-mb6pvx4c]{display:block}.search-mobile[data-astro-cid-mb6pvx4c],.menu-mobile[data-astro-cid-mb6pvx4c]{display:none}.brand[data-astro-cid-mb6pvx4c]{margin-right:var(--space-6)}.search-desktop[data-astro-cid-mb6pvx4c]{margin-right:auto}}.site-footer[data-astro-cid-b2avyow5]{margin-top:var(--space-16);padding-block:var(--space-12) var(--space-8);border-top:1px solid var(--border);background:var(--surface-soft);font-size:var(--step--1)}.columns[data-astro-cid-b2avyow5]{display:flex;flex-wrap:wrap;gap:var(--space-8)}.col[data-astro-cid-b2avyow5]{flex:1 1 9rem;min-width:min(100%,9rem)}.about[data-astro-cid-b2avyow5]{flex:1 1 15rem;min-width:min(100%,15rem)}.name[data-astro-cid-b2avyow5]{font-family:var(--font-serif);font-size:var(--step-1);font-weight:600;color:var(--text)}.about[data-astro-cid-b2avyow5] p[data-astro-cid-b2avyow5]+p[data-astro-cid-b2avyow5]{margin-top:var(--space-2);color:var(--text-soft);max-width:26ch}h2[data-astro-cid-b2avyow5]{margin-bottom:var(--space-3);font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}ul[data-astro-cid-b2avyow5]{list-style:none;margin:0;padding:0}li[data-astro-cid-b2avyow5]+li[data-astro-cid-b2avyow5]{margin-top:var(--space-2)}.col[data-astro-cid-b2avyow5] a[data-astro-cid-b2avyow5]{color:var(--text-soft);text-decoration:none}.col[data-astro-cid-b2avyow5] a[data-astro-cid-b2avyow5]:hover{color:var(--accent);text-decoration:underline}.fine[data-astro-cid-b2avyow5]{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--border-strong);color:var(--muted);max-width:70ch;line-height:1.5}
