@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-latin-standard-normal.woff2) format("woff2");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}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-latin-standard-italic.woff2) format("woff2");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--space-9) + var(--space-2));background:var(--paper)}body{background:var(--paper);color:var(--ink);font-family:var(--t-body-family);font-size:var(--t-body-size);line-height:var(--t-body-line);font-weight:var(--t-body-weight);font-variant-numeric:tabular-nums;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}main{flex:1}img,svg{display:block;max-width:100%}::selection{background:var(--brand);color:var(--on-brand)}html{scrollbar-color:var(--border-strong) var(--paper)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}a{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .18s ease-out}a:hover{color:var(--brand-hover);text-decoration-thickness:2px}input,select,textarea,button{font:inherit;color:inherit}.t-display-xl,.t-display-lg,.t-h1,.t-h2,.t-h3{font-optical-sizing:auto;text-wrap:balance}.t-display-xl{font:var(--t-display-xl-weight) var(--t-display-xl-size)/var(--t-display-xl-line) var(--t-display-xl-family);letter-spacing:var(--t-display-xl-tracking)}.t-display-lg{font:var(--t-display-lg-weight) var(--t-display-lg-size)/var(--t-display-lg-line) var(--t-display-lg-family);letter-spacing:var(--t-display-lg-tracking)}.t-h1{font:var(--t-h1-weight) var(--t-h1-size)/var(--t-h1-line) var(--t-h1-family);letter-spacing:var(--t-h1-tracking)}.t-h2{font:var(--t-h2-weight) var(--t-h2-size)/var(--t-h2-line) var(--t-h2-family);letter-spacing:var(--t-h2-tracking)}.t-h3{font:var(--t-h3-weight) var(--t-h3-size)/var(--t-h3-line) var(--t-h3-family);letter-spacing:var(--t-h3-tracking)}.t-h4{font:var(--t-h4-weight) var(--t-h4-size)/var(--t-h4-line) var(--t-h4-family);letter-spacing:var(--t-h4-tracking)}.t-body-lg{font:var(--t-body-lg-weight) var(--t-body-lg-size)/var(--t-body-lg-line) var(--t-body-lg-family)}.t-body{font:var(--t-body-weight) var(--t-body-size)/var(--t-body-line) var(--t-body-family)}.t-body-sm{font:var(--t-body-sm-weight) var(--t-body-sm-size)/var(--t-body-sm-line) var(--t-body-sm-family)}.t-button{font:var(--t-button-weight) var(--t-button-size)/var(--t-button-line) var(--t-button-family);letter-spacing:var(--t-button-tracking)}.t-label{font:var(--t-label-weight) var(--t-label-size)/var(--t-label-line) var(--t-label-family);letter-spacing:var(--t-label-tracking);text-transform:uppercase}.t-code{font:var(--t-code-weight) var(--t-code-size)/var(--t-code-line) var(--t-code-family)}.em{font-style:italic;color:var(--brand)}.muted{color:var(--ink-muted)}.container{width:100%;max-width:calc(1200px + 2 * var(--space-6));margin-inline:auto;padding-inline:var(--space-4)}@media(min-width:960px){.container{padding-inline:var(--space-6)}}.prose{max-width:720px}.prose p+p{margin-top:var(--space-4)}.section{padding-top:var(--space-8)}@media(min-width:960px){.section{padding-top:var(--space-9)}}.section-head{margin-bottom:var(--space-7);max-width:720px}.section-head p{margin-top:var(--space-4);color:var(--ink-muted)}.rule-top{border-top:1px solid var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font:var(--t-button-weight) var(--t-button-size)/var(--t-button-line) var(--t-button-family);letter-spacing:var(--t-button-tracking);text-decoration:none;cursor:pointer;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}.btn:hover{text-decoration:none}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-hover);color:var(--on-brand)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.btn-secondary:hover{color:var(--ink);border-color:var(--ink)}.btn[aria-disabled=true],.btn:disabled{color:var(--ink-muted);background:var(--surface);border-color:var(--line);cursor:not-allowed}.tag{display:inline-block;padding:var(--space-1) var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:var(--t-label-weight) var(--t-label-size)/var(--t-label-line) var(--t-label-family);letter-spacing:var(--t-label-tracking);text-transform:uppercase;color:var(--ink);white-space:nowrap}.icon{width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:-100px;z-index:100;background:var(--surface);color:var(--ink);padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.skip-link:focus{top:var(--space-2)}@view-transition{navigation:auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}@view-transition{navigation:none}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .2s ease-out}.site-header[data-astro-cid-3ef6ksr2].is-scrolled{box-shadow:var(--shadow-float)}.bar[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:72px}@media(min-width:960px){.bar[data-astro-cid-3ef6ksr2]{min-height:88px}}.wordmark[data-astro-cid-3ef6ksr2]{font:var(--t-h3-weight) 28px/1 var(--font-display);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.wordmark[data-astro-cid-3ef6ksr2]:hover{color:var(--ink);text-decoration:none}.nav[data-astro-cid-3ef6ksr2]{display:none}.nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-6);list-style:none;padding:0}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],.menu-panel[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:not(.btn){font:var(--t-button-weight) var(--t-button-size)/var(--t-button-line) var(--t-button-family);color:var(--ink);text-decoration:none}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,.menu-panel[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:not(.btn):hover{color:var(--brand);text-decoration:underline}.actions[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-3)}.theme-toggle[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius-pill);cursor:pointer;font:var(--t-label-weight) var(--t-label-size)/1 var(--t-label-family);letter-spacing:var(--t-label-tracking);text-transform:uppercase}.theme-toggle[data-astro-cid-3ef6ksr2]:hover{border-color:var(--ink)}.theme-toggle[data-astro-cid-3ef6ksr2] .i-moon{display:none}:root[data-theme=midnight] .theme-toggle .i-sun{display:none}:root[data-theme=midnight] .theme-toggle .i-moon{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=sunrise]) .theme-toggle .i-sun{display:none}:root:not([data-theme=sunrise]) .theme-toggle .i-moon{display:block}}.theme-name[data-astro-cid-3ef6ksr2],.book[data-astro-cid-3ef6ksr2]{display:none}.menu[data-astro-cid-3ef6ksr2] summary[data-astro-cid-3ef6ksr2]{list-style:none;display:grid;place-items:center;width:44px;height:44px;cursor:pointer;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface)}.menu[data-astro-cid-3ef6ksr2] summary[data-astro-cid-3ef6ksr2]::-webkit-details-marker{display:none}.menu[data-astro-cid-3ef6ksr2] .i-close{display:none}.menu[data-astro-cid-3ef6ksr2][open] .i-close{display:block}.menu[data-astro-cid-3ef6ksr2][open] .i-open{display:none}.menu-panel[data-astro-cid-3ef6ksr2]{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--border-strong);box-shadow:var(--shadow-float);padding:var(--space-4) var(--space-4) var(--space-5)}.menu-panel[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{list-style:none;padding:0;margin-bottom:var(--space-4)}.menu-panel[data-astro-cid-3ef6ksr2] li[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line)}.menu-panel[data-astro-cid-3ef6ksr2] .btn[data-astro-cid-3ef6ksr2]{width:100%}@media(min-width:640px){.theme-name[data-astro-cid-3ef6ksr2]{display:inline}}@media(min-width:1100px){.nav[data-astro-cid-3ef6ksr2]{display:block}.book[data-astro-cid-3ef6ksr2]{display:inline-flex}.menu[data-astro-cid-3ef6ksr2]{display:none}}.logo[data-astro-cid-tvrurpns]{display:block;width:var(--logo-size);max-width:100%;aspect-ratio:1}.logo[data-astro-cid-tvrurpns] img[data-astro-cid-tvrurpns]{width:100%;height:100%;object-fit:contain}.logo-midnight[data-astro-cid-tvrurpns]{display:none}:root[data-theme=midnight] .logo-sunrise[data-astro-cid-tvrurpns]{display:none}:root[data-theme=midnight] .logo-midnight[data-astro-cid-tvrurpns]{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=sunrise]) .logo-sunrise[data-astro-cid-tvrurpns]{display:none}:root:not([data-theme=sunrise]) .logo-midnight[data-astro-cid-tvrurpns]{display:block}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border-strong);padding-top:var(--space-8);margin-top:var(--space-8)}.grid[data-astro-cid-sz7xmlte]{display:grid;gap:var(--space-6);grid-template-columns:1fr}@media(min-width:640px){.grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr 1fr}}@media(min-width:960px){.grid[data-astro-cid-sz7xmlte]{grid-template-columns:4fr 3fr 3fr 2fr;gap:var(--space-7)}}.brand[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin-top:var(--space-4);max-width:34ch}.logo-panel[data-astro-cid-sz7xmlte]{display:inline-block;padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}h2[data-astro-cid-sz7xmlte]{margin-bottom:var(--space-3)}address[data-astro-cid-sz7xmlte]{font-style:normal;display:grid;gap:var(--space-1)}ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;display:grid;gap:var(--space-2)}.base[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-8);padding-block:var(--space-5);border-top:1px solid var(--line)}
