@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ol,ul{margin:0}img{max-width:100%;height:auto;display:block}input,button,select,textarea{font:inherit;color:inherit}}@layer site{:root{color-scheme:light dark;--paper:#f7f1df;--paper-2:#efe5c8;--balloon:#fffcf2;--ink:#161616;--ink-soft:#45413a;--line:#161616;--jungle:#2c6449;--leaf:#5f9e7a;--mint:#d3e6cc;--shirt:#f2dc6b;--brown:#8a4f20;--peach:#f1c28f;--red:#a8382b;--accent:var(--jungle);--on-accent:#fffcf2;--board:#151a17;--board-text:#f2dc6b;--board-dim:#c9c19c;--focus:#1f5fd1;--radius:3px;--ink-w:2px;--measure:68ch;--font-body:"Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", system-ui, sans-serif;--font-display:"Shantell Display", "Comic Sans MS", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#121a15;--paper-2:#18231c;--balloon:#1d2a22;--ink:#f1ead6;--ink-soft:#cbc4ae;--line:#e6dec6;--jungle:#8ccfa6;--leaf:#5f9e7a;--mint:#1f3328;--shirt:#f2dc6b;--brown:#d99a63;--peach:#e5b483;--red:#ff9380;--accent:#8ccfa6;--on-accent:#10170f;--board:#0b0f0c;--board-text:#f2dc6b;--board-dim:#bdb594;--focus:#8fb8ff}}:root[data-theme=dark]{--paper:#121a15;--paper-2:#18231c;--balloon:#1d2a22;--ink:#f1ead6;--ink-soft:#cbc4ae;--line:#e6dec6;--jungle:#8ccfa6;--leaf:#5f9e7a;--mint:#1f3328;--shirt:#f2dc6b;--brown:#d99a63;--peach:#e5b483;--red:#ff9380;--accent:#8ccfa6;--on-accent:#10170f;--board:#0b0f0c;--board-text:#f2dc6b;--board-dim:#bdb594;--focus:#8fb8ff}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.6}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1.5px}a:hover{text-decoration-color:var(--shirt);text-decoration-thickness:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--shirt);color:#161616;border:var(--ink-w) solid #161616;border-radius:var(--radius);z-index:10;padding:.5rem .75rem;position:absolute;top:-3rem;left:1rem}.skip:focus{top:1rem}h1{font-family:var(--font-display);letter-spacing:-.005em;overflow-wrap:break-word;hyphens:manual;font-size:clamp(2.05rem,1.4rem + 3.4vw,3.5rem);font-weight:700;line-height:1.08}h2{font-size:clamp(1.4rem,1.15rem + 1vw,1.8rem);font-weight:750;line-height:1.25}h3{font-size:1.2rem;font-weight:700;line-height:1.3}.label,.mono{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:500}.label{color:var(--ink-soft)}mark,.hl{color:inherit;text-decoration:underline .28em var(--shirt);text-underline-offset:-.08em;text-decoration-skip-ink:none;background:0 0}.wrap{width:min(72rem,100% - 2rem);margin-inline:auto}.narrow{width:min(46rem,100% - 2rem);margin-inline:auto}main{padding-block:1.5rem 4rem}.stack>*+*{margin-top:var(--gap,1rem)}.site-header{border-bottom:var(--ink-w) solid var(--line);background:var(--paper)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:.7rem;display:flex}.brand{color:var(--ink);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.brand-mark{background:var(--shirt);color:#161616;border:var(--ink-w) solid #161616;border-radius:var(--radius);place-items:center;padding:.1rem .4rem;font-size:.78rem;display:inline-grid}.brand:hover{text-decoration:none}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.1rem;padding:0;list-style:none;display:flex}.site-nav a{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:3px solid #0000;padding-block:.25rem;font-size:.8rem;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--shirt)}.btn,.btn-ghost{border:1.5px solid var(--accent);border-radius:var(--radius);min-height:2.75rem;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.85rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn{background:var(--accent);color:var(--on-accent)}.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper);text-decoration:none}.btn-ghost{color:var(--accent);background:0 0}.btn-ghost:hover{background:var(--mint);text-decoration:none}.btn svg,.btn-ghost svg{flex:none;width:1em;height:1em}.actions{flex-wrap:wrap;gap:.6rem;display:flex}.panel{border:var(--ink-w) solid var(--line);border-radius:var(--radius);background:var(--balloon)}.caption-box{border:var(--ink-w) solid var(--line);border-radius:var(--radius);background:var(--shirt);color:#161616;padding:.9rem 1.1rem}.caption-box a{color:#123d2b}.caption-box .label{color:#3a3524}.hero{border:3px solid var(--line);border-radius:var(--radius);background:var(--mint);gap:1.25rem;padding:clamp(1.1rem,3vw,2.25rem);display:grid;position:relative;overflow:hidden}.hero-caption{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--shirt);color:#161616;border:var(--ink-w) solid #161616;border-radius:var(--radius);justify-self:start;padding:.3rem .6rem;font-size:.78rem}.hero-title{z-index:1;max-width:22ch;padding-bottom:.45em;position:relative}.hero p{z-index:1;max-width:38rem;position:relative}.hero .actions{z-index:1;position:relative}.fronds{z-index:0;pointer-events:none;width:min(42%,22rem);position:absolute;bottom:-1.5rem;right:-1.5rem}.fronds .f1{fill:var(--leaf)}.fronds .f2{fill:var(--jungle)}.fronds path{stroke:var(--line);stroke-width:3px;stroke-linejoin:round}.fronds .vein{fill:none;stroke-width:2.5px}@media (width<=40rem){.fronds{opacity:.5;width:55%}}.balloon{background:var(--balloon);border:3px solid var(--line);border-radius:var(--radius);max-width:100%;font-size:.86em;line-height:1.12;font-family:var(--font-display);color:var(--ink);margin-top:.5em;padding:.14em .42em .22em;font-weight:600;display:inline-block;position:relative}.balloon:after{content:"";background:var(--line);clip-path:polygon(0 0,100% 0,18% 100%);width:.9em;height:.62em;position:absolute;bottom:-.62em;left:1.4em}.balloon:before{content:"";background:var(--balloon);clip-path:polygon(0 0,100% 0,14% 100%);z-index:1;width:calc(.9em - 8px);height:calc(.62em - 4px);position:absolute;bottom:calc(5px - .62em);left:calc(1.4em + 3px)}.balloon .w{white-space:nowrap;display:inline-block}.balloon .w:not(:last-child){margin-right:.24em}.balloon .c{display:inline-block;position:relative}.balloon .c:after{content:attr(data-c);visibility:hidden;font-variation-settings:"wght" 640}.balloon .c:before{content:attr(data-c);font-variation-settings:"wght" 640, "BNCE" 0;animation:ink-in .5s steps(1, end) calc(.35s + var(--i) * 70ms) both, boil var(--d) steps(1, end) calc(.95s + var(--i) * 70ms + var(--o)) infinite;position:absolute;top:0;left:0}@keyframes ink-in{0%{opacity:0;font-variation-settings:"wght" 300, "BNCE" 0}15%{opacity:1;font-variation-settings:"wght" 800, "BNCE" 30}45%{opacity:1;font-variation-settings:"wght" 720, "BNCE" -10}to{opacity:1;font-variation-settings:"wght" 640, "BNCE" 0}}@keyframes boil{0%,88%{font-variation-settings:"wght" 640, "BNCE" 0}90%{font-variation-settings:"wght" 680, "BNCE" 85}94%{font-variation-settings:"wght" 640, "BNCE" -55}97%{font-variation-settings:"wght" 660, "BNCE" 25}}@media (prefers-reduced-motion:reduce){.balloon .c:before{opacity:1;font-variation-settings:"wght" 640, "BNCE" 0;animation:none}}.board{background:var(--board);color:var(--board-text);border:3px solid var(--line);border-radius:var(--radius);padding:1rem clamp(.8rem,2vw,1.4rem) 1.2rem}.board h2{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--board-text);font-size:.95rem;font-weight:500}.board table{border-collapse:collapse;width:100%;font-family:var(--font-mono);margin-top:.6rem;font-size:.9rem}.board th{text-align:left;letter-spacing:.1em;color:var(--board-dim);text-transform:uppercase;border-bottom:1px dashed var(--board-dim);padding:.3rem .5rem .3rem 0;font-size:.72rem;font-weight:500}.board td{vertical-align:top;border-bottom:1px dashed #3d4a40;padding:.65rem .6rem .65rem 0}.board td:first-child{white-space:nowrap;color:#fffcf2}.board a{color:var(--board-text)}.board .when{background:var(--board-text);color:#151a17;border-radius:2px;padding:0 .35rem;display:inline-block}.board .dim{color:var(--board-dim);font-size:.8rem}@media (width<=36rem){.board thead{display:none}.board tr{border-bottom:1px dashed #3d4a40;grid-template-columns:1fr;padding-block:.55rem;display:grid}.board td{border:0;padding:.1rem 0}}.tickets{gap:.9rem;padding:0;list-style:none;display:grid}.ticket{background:var(--balloon);border:var(--ink-w) solid var(--line);border-radius:var(--radius);grid-template-columns:7.5rem 1fr;display:grid;position:relative}.ticket:hover{background:var(--paper-2)}.ticket:focus-within{outline:3px solid var(--focus);outline-offset:3px}.ticket a:focus-visible{outline:none}.ticket .stub{border-right:2px dashed var(--line);background:var(--shirt);color:#161616;border-radius:var(--radius) 0 0 var(--radius);flex-direction:column;justify-content:space-between;gap:.6rem;padding:.9rem .8rem;display:flex;position:relative}.ticket .stub:before,.ticket .stub:after{content:"";border:var(--ink-w) solid var(--line);background:var(--paper);border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;right:-.6rem}.ticket .stub:before{clip-path:inset(50% 0 0);top:-.62rem}.ticket .stub:after{clip-path:inset(0 0 50%);bottom:-.62rem}.ticket .code{font-family:var(--font-mono);letter-spacing:.04em;font-size:.9rem;font-weight:500}.ticket .stub .label{color:#3a3524;font-size:.68rem}.ticket .main{gap:.45rem;padding:.9rem 1.1rem 1rem;display:grid}.ticket h3 a{color:var(--ink);text-decoration:none}.ticket h3 a:after{content:"";position:absolute;inset:0}.ticket:hover h3 a{text-decoration:underline 3px var(--shirt);text-underline-offset:.2em}.ticket p{color:var(--ink-soft);font-size:.98rem}.fields{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.72rem;display:flex}.fields div{gap:.4rem;display:flex}.fields dt{color:var(--ink-soft)}.fields dd{color:var(--ink)}.ticket .cursor{vertical-align:middle;opacity:0;background:currentColor;width:.55em;height:2px;margin-left:.3em;display:inline-block}.ticket:hover .cursor,.ticket:focus-within .cursor{opacity:1;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.ticket:hover .cursor,.ticket:focus-within .cursor{animation:none}}@media (width<=34rem){.ticket{grid-template-columns:1fr}.ticket .stub{border-right:0;border-bottom:2px dashed var(--line);border-radius:var(--radius) var(--radius) 0 0;flex-direction:row;align-items:baseline;padding:.55rem .9rem}.ticket .stub:before,.ticket .stub:after{display:none}}.section{margin-top:clamp(2.25rem,5vw,3.5rem)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.split{gap:1.5rem;display:grid}@media (width>=56rem){.split{grid-template-columns:1.2fr .8fr;align-items:start}}.crumbs ol{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;gap:.3rem;padding:0;font-size:.74rem;list-style:none;display:flex}.crumbs li+li:before{content:"›";color:var(--ink-soft);margin-right:.3rem}.crumbs a{color:var(--ink-soft)}.meta{flex-wrap:wrap;gap:.3rem 1.2rem;display:flex}.article-head{gap:.9rem;margin-bottom:1.5rem;display:grid}.lede{color:var(--ink-soft);max-width:var(--measure);font-size:1.15rem}figure.fig{margin-block:1.5rem}figure.fig .frame{border:3px solid var(--line);border-radius:var(--radius);background:var(--paper-2);overflow:hidden}figure.fig img{aspect-ratio:16/9;object-fit:cover;width:100%}figure.fig figcaption{color:var(--ink-soft);margin-top:.45rem;font-size:.85rem}figure.fig .credit{font-family:var(--font-mono);letter-spacing:.03em;font-size:.7rem}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1rem}.prose h2{margin-top:2.4rem;scroll-margin-top:1rem}.prose h3{margin-top:1.6rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li+li{margin-top:.35rem}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1.5px solid var(--line);text-align:left;vertical-align:top;padding:.45rem .6rem}.prose th{background:var(--paper-2);font-weight:700}.prose code{font-family:var(--font-mono);font-size:.88em}.prose strong{font-weight:700}sup.cite a{font-family:var(--font-mono);padding-inline:.1em;font-size:.72em;text-decoration:none}sup.cite a:hover{text-decoration:underline}a.term{color:inherit;text-decoration:underline dotted 1.5px var(--accent);text-underline-offset:.2em}.callout{border:var(--ink-w) solid var(--line);border-radius:var(--radius);background:var(--balloon);padding:.85rem 1rem}.callout>*+*{margin-top:.5rem}.callout .label{display:block}.callout.warn{background:var(--peach);color:#161616}.callout.warn .label{color:#4a2c12}.callout.warn a{color:#123d2b}.callout.tip{background:var(--mint)}.takeaways ul{margin-top:.4rem;padding-left:1.2rem}.takeaways li+li{margin-top:.3rem}.toc ol{padding-left:1.2rem}.toc{font-size:.95rem}details.faq{border-bottom:1.5px solid var(--line);padding-block:.7rem}details.faq summary{cursor:pointer;font-weight:700}details.faq p{margin-top:.4rem}.sources ol{padding-left:1.4rem;font-size:.95rem}.sources li+li{margin-top:.6rem}.sources .label{display:inline}.history{font-size:.95rem}.history li+li{margin-top:.3rem}.site-footer{border-top:var(--ink-w) solid var(--line);padding-block:2rem 2.5rem;font-size:.95rem}.site-footer .wrap{gap:1.2rem;display:grid}.site-footer ul{flex-wrap:wrap;gap:.3rem 1.1rem;padding:0;list-style:none;display:flex}.site-footer p{color:var(--ink-soft);max-width:46rem}.register{border-collapse:collapse;width:100%}.register th,.register td{border-bottom:1.5px solid var(--line);text-align:left;vertical-align:top;padding:.7rem .5rem .7rem 0}.register th{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:500}.register .url{font-family:var(--font-mono);word-break:break-all;font-size:.85rem}.status{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-size:.72rem}.status.ok{color:var(--jungle)}.status.unknown{color:var(--brown)}@media (width<=44rem){.register thead{display:none}.register tr{border-bottom:1.5px solid var(--line);padding-block:.6rem;display:grid}.register td{border:0;padding:.15rem 0}}dl.glossary dt{margin-top:1.2rem;scroll-margin-top:1rem;font-weight:700}dl.glossary dd{margin-top:.25rem}dl.glossary dt:target{background:var(--shirt);color:#161616;border-radius:2px;padding-inline:.25rem;display:inline-block}}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-italic.Cigfgs4r.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Atkinson Hyperlegible Next Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-italic.DC5MiAaX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@font-face{font-family:Shantell Display;src:url(/fonts/shantell-display-67860827.woff2)format("woff2-variations");font-weight:300 800;font-style:normal;font-display:swap}
