:root{--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-serif:"Iowan Old Style", "Charter", "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;--font-heading:var(--font-serif);--font-body:var(--font-sans);--text-sm:1rem;--text-base:1.125rem;--text-lg:1.25rem;--text-xl:clamp(1.375rem, 1.3rem + .4vw, 1.5rem);--text-2xl:clamp(1.625rem, 1.45rem + .8vw, 2rem);--text-3xl:clamp(2rem, 1.7rem + 1.4vw, 2.75rem);--leading-tight:1.2;--leading-snug:1.4;--leading-body:1.7;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-full:999px;--line-hair:1px;--line-silk:1.25px;--shadow-sm:0 1px 2px var(--color-shadow);--shadow-md:0 2px 6px var(--color-shadow), 0 8px 24px var(--color-shadow);--focus-width:3px;--focus-offset:2px;--width-prose:44rem;--width-content:72rem;--width-wide:100rem;--gutter:clamp(1rem, .6rem + 1.8vw, 2rem);--header-height:4rem;--ease:cubic-bezier(.2, 0, 0, 1);--duration-fast:.15s;--duration-base:.22s}:root,[data-theme=light]{color-scheme:light;--color-bg:#f7f6f2;--color-bg-subtle:#efeee8;--color-surface:#fff;--color-surface-raised:#f1f3ef;--color-text:#1d2422;--color-text-muted:#4b5651;--color-heading:#121a17;--color-link:#17644a;--color-link-hover:#0e4a36;--color-accent:#17644a;--color-accent-contrast:#fff;--color-border:#dcdfd9;--color-border-strong:#7f8b85;--color-silk:#9fb0a8;--color-focus:#0b6bcb;--color-code-bg:#eef0eb;--color-table-stripe:#f9faf7;--color-answer-bg:#eef5f1;--color-shadow:#14201b14}[data-theme=dark]{color-scheme:dark;--color-bg:#0f1513;--color-bg-subtle:#0b100e;--color-surface:#161e1b;--color-surface-raised:#1e2824;--color-text:#e4ebe7;--color-text-muted:#a7b4ae;--color-heading:#f3f7f5;--color-link:#86d4b2;--color-link-hover:#b2e6cf;--color-accent:#86d4b2;--color-accent-contrast:#0b1f17;--color-border:#26322d;--color-border-strong:#6a7a73;--color-silk:#4b5f56;--color-focus:#7cc4ff;--color-code-bg:#1b2420;--color-table-stripe:#131a17;--color-answer-bg:#14231d;--color-shadow:#00000059}:root,[data-felt=midnight-green]{--felt-bg:#0e3a2d;--felt-bg-2:#072219;--felt-line:#d6ece242;--felt-text:#e8f1ec;--card-face:#fdfcf8;--card-ink-red:#b3261e;--card-ink-black:#1a1c1b;--card-back-1:#1d5c47;--card-back-2:#12392c;--card-border:#00000038;--card-shadow:0 1px 2px #00000059, 0 2px 6px #0000002e;--highlight-hint:#f2c94c;--highlight-select:#7cc4ff;--highlight-drop:#e8f1ec8c}[data-felt=classic-green]{--felt-bg:#1e6b3a;--felt-bg-2:#134a27;--felt-line:#e2f4e647;--felt-text:#f1f8f2;--card-face:#fffefa;--card-ink-red:#b3261e;--card-ink-black:#1a1c1b;--card-back-1:#8e2b2b;--card-back-2:#5e1a1a;--card-border:#00000038;--card-shadow:0 1px 2px #00000052, 0 2px 6px #00000029;--highlight-hint:#ffd447;--highlight-select:#8fd0ff;--highlight-drop:#f1f8f28c}[data-felt=navy]{--felt-bg:#142a4c;--felt-bg-2:#0a1731;--felt-line:#d6e2f642;--felt-text:#e9eff9;--card-face:#fdfcf8;--card-ink-red:#b3261e;--card-ink-black:#1a1c1f;--card-back-1:#2f4f86;--card-back-2:#1b315a;--card-border:#0000003d;--card-shadow:0 1px 2px #00000061, 0 2px 6px #0003;--highlight-hint:#f2c94c;--highlight-select:#6fe0c8;--highlight-drop:#e9eff98c}[data-felt=charcoal]{--felt-bg:#2b2e31;--felt-bg-2:#17191b;--felt-line:#e8e8e438;--felt-text:#ecebe7;--card-face:#fbfaf6;--card-ink-red:#b3261e;--card-ink-black:#1a1a1a;--card-back-1:#4a5560;--card-back-2:#2c333a;--card-border:#00000042;--card-shadow:0 1px 2px #0006, 0 2px 6px #00000038;--highlight-hint:#f2c94c;--highlight-select:#7cc4ff;--highlight-drop:#ecebe780}[data-contrast=high],[data-contrast=high][data-felt],[data-contrast=high] [data-felt]{--felt-line:#ffffffb3;--felt-text:#fff;--card-face:#fff;--card-ink-red:#a00000;--card-ink-black:#000;--card-border:#000;--card-shadow:0 0 0 1px #000, 0 2px 4px #00000080;--highlight-hint:#ffd400;--highlight-select:#00b7ff;--highlight-drop:#fff}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--space-4)}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;flex-direction:column;margin:0;display:flex}main{flex:1 0 auto}img,svg,video,canvas{max-width:100%;display:block}img{height:auto}input,button,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-heading);text-wrap:balance;margin:0}h1{font-size:var(--text-3xl);letter-spacing:-.01em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl);line-height:var(--leading-snug)}h4{font-size:var(--text-lg);font-family:var(--font-body)}p,ul,ol,dl,blockquote,figure,table{margin:0}a{color:var(--color-link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--color-link-hover);text-decoration-thickness:2px}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}hr{border:0;border-top:var(--line-hair) solid var(--color-border);margin:var(--space-10) 0}code,kbd,samp{font-family:var(--font-mono);font-size:.9em}code{background:var(--color-code-bg);border-radius:var(--radius-sm);padding:.1em .35em}kbd{border:var(--line-hair) solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);border-bottom-width:2px;padding:.1em .4em}::selection{background:var(--color-accent);color:var(--color-accent-contrast)}.container{width:100%;max-width:calc(var(--width-content) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.container--prose{max-width:calc(var(--width-prose) + 2 * var(--gutter))}.container--wide{max-width:calc(var(--width-wide) + 2 * var(--gutter))}.stack>*+*{margin-top:var(--space-6)}.section{padding-block:var(--space-12)}.lede{font-size:var(--text-lg);color:var(--color-text-muted)}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-accent-contrast);border-radius:var(--radius-md);font-weight:var(--weight-semibold);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{color:var(--color-accent-contrast);transform:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-5);border:var(--line-hair) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium);transition:background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-surface-raised);color:var(--color-text);text-decoration:none}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.btn--primary:hover{background:var(--color-link-hover);border-color:var(--color-link-hover);color:var(--color-accent-contrast)}.felt{background:radial-gradient(120% 90% at 50% 0%, var(--felt-bg) 0%, var(--felt-bg-2) 100%);color:var(--felt-text)}.silk-slot{border:var(--line-silk) dashed var(--felt-line);border-radius:var(--radius-md);position:relative}.silk-slot:after{content:"";background:var(--felt-line);position:absolute;inset:18%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M32 4v56M4 32h56M12 12l40 40M52 12 12 52'/%3E%3Cpath d='M32 14l9 5 4 9-4 9-9 5-9-5-4-9 4-9z' /%3E%3Cpath d='M32 24l4 2 2 4-2 4-4 2-4-2-2-4 2-4z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='1.2'%3E%3Cpath d='M32 4v56M4 32h56M12 12l40 40M52 12 12 52'/%3E%3Cpath d='M32 14l9 5 4 9-4 9-9 5-9-5-4-9 4-9z' /%3E%3Cpath d='M32 24l4 2 2 4-2 4-4 2-4-2-2-4 2-4z'/%3E%3C/svg%3E") 50%/contain no-repeat}.prose{max-width:var(--width-prose)}.prose>*+*{margin-top:var(--space-5)}.prose h2{margin-top:var(--space-12)}.prose h3{margin-top:var(--space-8)}.prose h4{margin-top:var(--space-6)}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--space-3)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:var(--space-2)}.prose ul li::marker{color:var(--color-silk)}.prose ol li::marker{color:var(--color-text-muted);font-weight:var(--weight-semibold)}.prose blockquote{padding:var(--space-2) 0 var(--space-2) var(--space-5);border-left:2px solid var(--color-silk);color:var(--color-text-muted)}.prose img,.prose figure{border-radius:var(--radius-md)}.prose figcaption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.prose strong{font-weight:var(--weight-semibold);color:var(--color-heading)}.table-wrap{border:var(--line-hair) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto}.prose table,.table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:var(--leading-snug);font-variant-numeric:tabular-nums}.prose table{border:var(--line-hair) solid var(--color-border);background:var(--color-surface)}@media (width<=40rem){.prose table{display:block;overflow-x:auto}.prose .table-wrap table{display:table}}.prose th,.prose td,.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top;border-bottom:var(--line-hair) solid var(--color-border)}.prose thead th,.table thead th{background:var(--color-bg-subtle);color:var(--color-heading);font-weight:var(--weight-semibold);white-space:nowrap}.prose tbody tr:nth-child(2n),.table tbody tr:nth-child(2n){background:var(--color-table-stripe)}.prose tbody tr:last-child>*,.table tbody tr:last-child>*{border-bottom:0}.table th[scope=row]{font-weight:var(--weight-semibold)}.table .num{text-align:right}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.logo[data-astro-cid-ylqc276q]{align-items:center;gap:var(--space-3);color:var(--color-heading);display:inline-flex}.logo__mark[data-astro-cid-ylqc276q]{color:var(--color-accent);flex:none}.logo__text[data-astro-cid-ylqc276q]{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:-.005em;white-space:nowrap;line-height:1}.theme-toggle[data-astro-cid-xcti7gnb]{min-width:2.75rem;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:var(--line-hair) solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);align-items:center;display:inline-flex}.theme-toggle[data-astro-cid-xcti7gnb]:hover{background:var(--color-surface-raised);border-color:var(--color-border-strong)}.theme-toggle__state[data-astro-cid-xcti7gnb]{align-items:center;gap:var(--space-2);display:none}html:not([data-theme-pref]) .theme-toggle__state[data-astro-cid-xcti7gnb][data-for=system],html[data-theme-pref=system] .theme-toggle__state[data-astro-cid-xcti7gnb][data-for=system],html[data-theme-pref=light] .theme-toggle__state[data-astro-cid-xcti7gnb][data-for=light],html[data-theme-pref=dark] .theme-toggle__state[data-astro-cid-xcti7gnb][data-for=dark]{display:inline-flex}@media (width<=30rem){.theme-toggle[data-astro-cid-xcti7gnb]{padding-inline:var(--space-2);justify-content:center}.theme-toggle__label[data-astro-cid-xcti7gnb]{display:none}}.site-header[data-astro-cid-jr7posx5]{background:var(--color-bg);border-bottom:var(--line-hair) solid var(--color-border)}.site-header__inner[data-astro-cid-jr7posx5]{align-items:center;gap:var(--space-3) var(--space-4);min-height:var(--header-height);padding-block:var(--space-2);flex-wrap:wrap;display:flex}.site-header__brand[data-astro-cid-jr7posx5]{border-radius:var(--radius-md);align-items:center;min-height:2.75rem;margin-right:auto;text-decoration:none;display:inline-flex}.site-nav[data-astro-cid-jr7posx5]{display:contents}@media (width<=26rem){.site-header__inner[data-astro-cid-jr7posx5]{column-gap:var(--space-2)}.site-header__brand[data-astro-cid-jr7posx5] .logo{gap:var(--space-2)}.site-header__brand[data-astro-cid-jr7posx5] .logo__mark{width:28px;height:28px}.site-header__brand[data-astro-cid-jr7posx5] .logo__text{font-size:1.0625rem}.site-header__inner[data-astro-cid-jr7posx5] .site-nav__toggle[data-astro-cid-jr7posx5]{gap:var(--space-1);padding-inline:var(--space-3)}}.site-nav__toggle[data-astro-cid-jr7posx5]{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);border:var(--line-hair) solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);order:2;display:inline-flex}html:not(.js) .site-nav__toggle[data-astro-cid-jr7posx5]{display:none}.site-nav__toggle[data-astro-cid-jr7posx5]:hover{background:var(--color-surface-raised)}.theme-toggle{order:3}.site-nav__list[data-astro-cid-jr7posx5]{padding:0 0 var(--space-3);flex-direction:column;flex-basis:100%;order:4;margin:0;list-style:none;display:flex}html.js .site-nav__list[data-astro-cid-jr7posx5]:not([data-open]){display:none}.site-nav__list[data-astro-cid-jr7posx5] a[data-astro-cid-jr7posx5]{min-height:3rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-weight:var(--weight-medium);align-items:center;text-decoration:none;display:flex}.site-nav__list[data-astro-cid-jr7posx5] li[data-astro-cid-jr7posx5]+li[data-astro-cid-jr7posx5]{border-top:var(--line-hair) solid var(--color-border)}.site-nav__list[data-astro-cid-jr7posx5] a[data-astro-cid-jr7posx5]:hover{background:var(--color-surface-raised);color:var(--color-heading)}.site-nav__list[data-astro-cid-jr7posx5] a[data-astro-cid-jr7posx5][aria-current=page]{color:var(--color-link);font-weight:var(--weight-semibold)}@media (width>=68rem){.site-header__inner[data-astro-cid-jr7posx5]{flex-wrap:nowrap}.site-header__brand[data-astro-cid-jr7posx5]{margin-right:var(--space-4)}.site-nav__toggle[data-astro-cid-jr7posx5],html.js .site-nav__toggle[data-astro-cid-jr7posx5]{display:none}.site-nav__list[data-astro-cid-jr7posx5],html.js .site-nav__list[data-astro-cid-jr7posx5]:not([data-open]){align-items:center;gap:var(--space-1);flex-direction:row;flex-basis:auto;order:2;margin-left:auto;padding:0;display:flex}.site-nav__list[data-astro-cid-jr7posx5] li[data-astro-cid-jr7posx5]+li[data-astro-cid-jr7posx5]{border-top:0}.site-nav__list[data-astro-cid-jr7posx5] a[data-astro-cid-jr7posx5]{min-height:2.75rem;padding:var(--space-2) var(--space-3);white-space:nowrap;font-size:1.0625rem;position:relative}.site-nav__list[data-astro-cid-jr7posx5] a[data-astro-cid-jr7posx5][aria-current=page]:after{content:"";left:var(--space-3);right:var(--space-3);border-radius:var(--radius-full);background:var(--color-accent);height:2px;position:absolute;bottom:.35rem}}.silk-divider[data-astro-cid-xgukaavz]{align-items:center;gap:var(--space-1);color:var(--color-silk);margin-block:var(--space-10);display:flex}.silk-divider__thread[data-astro-cid-xgukaavz]{flex:1 1 0;min-width:0;height:12px}.silk-divider__web[data-astro-cid-xgukaavz]{flex:none}.site-footer[data-astro-cid-nw2ivrzo]{margin-top:var(--space-16);padding-bottom:var(--space-10);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--text-sm)}.site-footer[data-astro-cid-nw2ivrzo] .site-footer__divider{margin-block:0 var(--space-10);transform:translateY(-6px)}.site-footer__grid[data-astro-cid-nw2ivrzo]{gap:var(--space-8) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-footer__about[data-astro-cid-nw2ivrzo]{grid-column:1/-1;max-width:24rem}.site-footer__about[data-astro-cid-nw2ivrzo] p[data-astro-cid-nw2ivrzo]{margin-top:var(--space-3)}.site-footer__brand[data-astro-cid-nw2ivrzo]{border-radius:var(--radius-md);text-decoration:none;display:inline-flex}.site-footer__heading[data-astro-cid-nw2ivrzo]{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-heading);margin-bottom:var(--space-2)}.site-footer[data-astro-cid-nw2ivrzo] ul[data-astro-cid-nw2ivrzo]{margin:0;padding:0;list-style:none}.site-footer[data-astro-cid-nw2ivrzo] li[data-astro-cid-nw2ivrzo] a[data-astro-cid-nw2ivrzo]{padding-block:var(--space-1);display:inline-block}.site-footer[data-astro-cid-nw2ivrzo] a[data-astro-cid-nw2ivrzo]{color:var(--color-text-muted)}.site-footer[data-astro-cid-nw2ivrzo] li[data-astro-cid-nw2ivrzo] a[data-astro-cid-nw2ivrzo]{text-decoration:none}.site-footer[data-astro-cid-nw2ivrzo] a[data-astro-cid-nw2ivrzo]:hover{color:var(--color-link-hover);text-decoration:underline}.site-footer__legal[data-astro-cid-nw2ivrzo]{margin-top:var(--space-10);padding-top:var(--space-6);border-top:var(--line-hair) solid var(--color-border)}@media (width>=48rem){.site-footer__grid[data-astro-cid-nw2ivrzo]{grid-template-columns:1.6fr repeat(4,minmax(0,1fr))}.site-footer__about[data-astro-cid-nw2ivrzo]{grid-column:auto}}.breadcrumbs[data-astro-cid-weurd6cm]{font-size:var(--text-sm);color:var(--color-text-muted)}.breadcrumbs[data-astro-cid-weurd6cm] ol[data-astro-cid-weurd6cm]{flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs[data-astro-cid-weurd6cm] li[data-astro-cid-weurd6cm]{align-items:center;display:inline-flex}.breadcrumbs[data-astro-cid-weurd6cm] li[data-astro-cid-weurd6cm]+li[data-astro-cid-weurd6cm]:before{content:"/" / "";margin-inline:var(--space-2);color:var(--color-silk)}.breadcrumbs[data-astro-cid-weurd6cm] a[data-astro-cid-weurd6cm]{color:var(--color-text-muted);padding-block:var(--space-2)}.breadcrumbs[data-astro-cid-weurd6cm] a[data-astro-cid-weurd6cm]:hover{color:var(--color-link-hover)}.breadcrumbs[data-astro-cid-weurd6cm] [data-astro-cid-weurd6cm][aria-current=page]{color:var(--color-text)}.site-main[data-astro-cid-z4jru4n3]:focus{outline:none}.site-main__crumbs[data-astro-cid-z4jru4n3]{padding-top:var(--space-4)}.site-main__body[data-astro-cid-z4jru4n3]{padding-top:var(--space-8)}
