:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#faf9f7;--bg-raised:#f4f2ee;--bg-code:#f6f4f0;--ink:#1c1a17;--ink-soft:#4a453e;--ink-mute:#6f6a62;--rule:#e0dcd4;--rule-strong:#c8c2b8;--add:#14733a;--add-bg:#e8f4ec;--del:#b3261e;--del-bg:#fbeceb;--comment:#8a847b;--key:#2f4fbf;--str:#8a5a00;--num:#7a3fa8;--warn:#9a5b00;--warn-bg:#fbf1e2;--mono:ui-monospace, "SFMono-Regular", "SF Mono", "JetBrains Mono", "Menlo", "Consolas", "DejaVu Sans Mono", monospace;--gap:1.5rem;--measure:68ch;--code-size:13px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14130f;--bg-raised:#1e1c17;--bg-code:#1a1814;--ink:#ece7de;--ink-soft:#c4bdb1;--ink-mute:#918a7e;--rule:#2f2c25;--rule-strong:#46423a;--add:#6ed49a;--add-bg:#16291e;--del:#f28b81;--del-bg:#2e1a18;--comment:#8a8377;--key:#93aeff;--str:#d8a657;--num:#c9a0ec;--warn:#e0a95f;--warn-bg:#2d2415}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-variant-ligatures:none;margin:0;font-size:16px;line-height:1.65}@media (prefers-reduced-motion:no-preference){body{animation:.32s ease-out both fade-in}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--key);outline-offset:2px}.wrap{width:100%;max-width:62rem;margin:0 auto;padding:0 1.5rem}.skip-link{position:absolute;left:-9999px}.skip-link:focus{background:var(--bg-raised);padding:.5rem .75rem;display:inline-block;position:static}section{border-top:1px solid var(--rule);padding:3rem 0}section:first-of-type{border-top:0}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .75rem;font-weight:600;line-height:1.3}h1{font-size:1.4rem}h2{color:var(--ink-soft);font-size:1.05rem}h3{font-size:.95rem}p{max-width:var(--measure);margin:0 0 1rem}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 .5rem;font-size:.8rem}.masthead{padding-top:2.5rem;padding-bottom:2rem}.masthead-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.domain{margin:0;font-size:1rem;font-weight:600}.masthead-actions{align-items:center;gap:.9rem;display:inline-flex}.jump{color:var(--ink-mute);-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);font-size:.85rem}.jump:hover{color:var(--ink)}.lang-toggle{border:1px solid var(--rule-strong);background:var(--bg-raised);display:inline-flex}.lang-toggle a{color:var(--ink-mute);padding:.3rem .7rem;font-size:.85rem;text-decoration:none}.lang-toggle a:hover{color:var(--ink)}.lang-toggle a[aria-current=page]{background:var(--ink);color:var(--bg)}.intro p{max-width:60ch;font-size:1.05rem}.intro .lede{font-size:1.15rem;line-height:1.55}.code{border:1px solid var(--rule-strong);background:var(--bg-code);margin:1.25rem 0}.code-head{border-bottom:1px solid var(--rule);color:var(--ink-mute);background:var(--bg-raised);justify-content:space-between;gap:.75rem;padding:.5rem .9rem;font-size:.78rem;display:flex}.code-body{-webkit-overflow-scrolling:touch;padding:.9rem;overflow-x:auto}pre,code,.code-body{font-family:var(--mono);font-size:var(--code-size);tab-size:2;line-height:1.7}pre{white-space:pre;min-width:max-content;margin:0}.cm{color:var(--comment)}.k{color:var(--key)}.s{color:var(--str)}.n{color:var(--num)}.add{color:var(--add)}.del{color:var(--del)}.repl{color:var(--warn);background:var(--warn-bg)}.plan-res{border-top:1px solid var(--rule)}.plan-res:first-of-type{border-top:0}.plan-res>summary{cursor:pointer;font-size:var(--code-size);white-space:pre;padding:.55rem .9rem;list-style:none;overflow-x:auto}.plan-res>summary::-webkit-details-marker{display:none}.plan-res>summary:hover{background:var(--bg-raised)}.plan-res>summary .caret{color:var(--ink-mute);width:1.1em;display:inline-block}.plan-res[open]>summary .caret:after{content:"▾"}.plan-res:not([open])>summary .caret:after{content:"▸"}.plan-res[data-op=add]>summary{background:var(--add-bg)}.plan-res[data-op=destroy]>summary{background:var(--del-bg)}.plan-detail{border-top:1px solid var(--rule);padding:.25rem .9rem 1rem}.plan-detail dl{font-size:var(--code-size);margin:0}.plan-detail dt{color:var(--ink-mute);margin-top:.9rem}.plan-detail dd{margin:.15rem 0 0}.job{border-top:1px solid var(--rule)}.job:first-of-type{border-top:0}.job>summary{cursor:pointer;white-space:normal;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;padding:.5rem 0;list-style:none;display:flex}.job>summary::-webkit-details-marker{display:none}.job>summary:hover .job-title{color:var(--ink)}.job>summary .caret{color:var(--ink-mute);flex:none;width:1.1em;display:inline-block}.job[open]>summary .caret:after{content:"▾"}.job:not([open])>summary .caret:after{content:"▸"}.job-title{color:var(--ink-soft)}.job-headline{color:var(--ink-mute);flex-basis:100%;padding-left:1.6em}.job-detail{font-size:var(--code-size);max-width:var(--measure);margin:0 0 .9rem;padding-left:1.6em}.plan-detail ul{font-size:var(--code-size);margin:.35rem 0 0;padding-left:1.2rem}.plan-detail li{margin-bottom:.2rem}.plan-foot{border-top:1px solid var(--rule-strong);background:var(--bg-raised);font-size:var(--code-size);padding:.8rem .9rem;font-weight:600}.verdict{border-top:1px solid var(--rule-strong)}.verdict .code-head{border-bottom:0}.verdict .code-body{padding-top:0}.metrics{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;margin-top:1.5rem;padding:0;list-style:none;display:grid}.metric{border:1px solid var(--rule-strong);background:var(--bg-code);padding:1rem .9rem}.metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.9rem;line-height:1.1;display:block}.metric-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-mute);margin-top:.4rem;font-size:.75rem;display:block}.apply-head{border:1px solid var(--rule-strong);background:var(--bg-raised);font-size:var(--code-size);border-bottom:0;padding:.8rem .9rem}.form{border:1px solid var(--rule-strong);background:var(--bg-code);gap:1.1rem;padding:1.25rem .9rem;display:grid}.field{gap:.35rem;display:grid}.field label{color:var(--ink-soft);font-size:.85rem}.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--rule-strong);appearance:none;border-radius:0;width:100%;padding:.55rem .6rem;font-size:16px}.field textarea{resize:vertical;min-height:8rem}.field select{background-image:linear-gradient(45deg, transparent 50%, var(--ink-mute) 50%), linear-gradient(135deg, var(--ink-mute) 50%, transparent 50%);background-position:calc(100% - 1rem) 55%,calc(100% - .7rem) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2rem}.field .hint{color:var(--ink-mute);font-size:.78rem}.field-error{color:var(--del);font-size:.8rem}.field[data-invalid] input,.field[data-invalid] select,.field[data-invalid] textarea{border-color:var(--del)}button.submit{font:inherit;background:var(--ink);color:var(--bg);border:1px solid var(--ink);cursor:pointer;justify-self:start;padding:.7rem 1.1rem;font-size:.95rem}button.submit:hover:not(:disabled){background:var(--ink-soft)}button.submit:disabled{opacity:.55;cursor:progress}.form-status{border:1px solid var(--rule-strong);padding:.75rem .9rem;font-size:.9rem}.form-status[data-state=ok]{color:var(--add);border-color:var(--add);background:var(--add-bg)}.form-status[data-state=error]{color:var(--del);border-color:var(--del);background:var(--del-bg)}.form-status[hidden]{display:none}footer{border-top:1px solid var(--rule);color:var(--ink-mute);padding:2rem 0 3rem;font-size:.85rem}footer p{max-width:62ch}footer nav{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}@media (width>=40rem){:root{--code-size:13.5px;--gap:2rem}.wrap{padding:0 3rem}section{padding:4rem 0}h1{font-size:1.75rem}.intro .lede{font-size:1.3rem}.code-body,.plan-res>summary,.plan-detail,.plan-foot,.apply-head,.form{padding-left:1.25rem;padding-right:1.25rem}.form{padding-top:1.75rem;padding-bottom:1.75rem}}@media (width>=64rem){:root{--code-size:14px}.wrap{padding:0 4rem}}
