:root{--paper:#f7f5f0;--sheet:#fff;--panel:#efece4;--ink:#1b1a17;--ink-2:#5a574f;--rule:#d9d4c7;--pen:#2140c0;--pen-ink:#fff;--ok:#1f7a4a;--warn:#a15c00;--bad:#b3261e;--ok-wash:#e3f2e9;--warn-wash:#fbefd9;--bad-wash:#fbe4e2;--pen-wash:#e6eafb;--radius:10px;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000f;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--paper:#15151a;--sheet:#1d1d23;--panel:#24242b;--ink:#ecebe6;--ink-2:#a9a7a0;--rule:#3a3a42;--pen:#93a7ff;--pen-ink:#0d1020;--ok:#6fd39b;--warn:#f0b45a;--bad:#ff8a80;--ok-wash:#1b3326;--warn-wash:#3a2c14;--bad-wash:#3d1f1d;--pen-wash:#232a4a}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);margin:0}a{color:var(--pen)}h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2}code,pre,.mono{font-family:var(--mono);font-size:.92em}button,.btn{font:inherit;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;text-decoration:none;display:inline-flex}button.primary,.btn.primary{background:var(--pen);border-color:var(--pen);color:var(--pen-ink)}button.danger{color:var(--bad);border-color:var(--bad)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pen);outline-offset:2px}input,select,textarea{font:inherit;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);border-radius:8px;width:100%;padding:.5rem .6rem}label{color:var(--ink-2);margin:.6rem 0 .25rem;font-size:.9rem;display:block}.card{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.muted{color:var(--ink-2)}.badge{font:600 .7rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;background:var(--pen-wash);color:var(--pen);vertical-align:middle;border-radius:999px;padding:.25rem .45rem;display:inline-block}.badge.beta{background:var(--warn-wash);color:var(--warn)}.notice{background:var(--panel);border-radius:8px;padding:.6rem .8rem}.notice.warn{background:var(--warn-wash);color:var(--warn)}.notice.bad{background:var(--bad-wash);color:var(--bad)}.notice.ok{background:var(--ok-wash);color:var(--ok)}.wrap{max-width:72rem;margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--rule);background:var(--sheet)}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:1rem;min-height:56px;display:flex}.wordmark{font:600 1.5rem/1 var(--serif);color:var(--ink);letter-spacing:-.01em;text-decoration:none}.site-header nav{flex-wrap:wrap;align-items:center;gap:1rem;margin-left:auto;display:flex}.site-header nav a{color:var(--ink);text-decoration:none}@media (width<=480px){.site-header nav{flex-basis:100%;justify-content:space-between;gap:.5rem;margin:0 0 .6rem;font-size:.95rem}.site-header nav .btn{padding:.3rem .7rem}}@media (width<=400px){.site-header nav .wide{display:none}}.site-footer{border-top:1px solid var(--rule);color:var(--ink-2);margin-top:3rem;padding:1.5rem 0;font-size:.9rem}.site-footer .wrap{flex-wrap:wrap;gap:1rem;display:flex}.sr-only{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}img,canvas,svg,video{max-width:100%}input[type=checkbox],input[type=radio],input[type=file]{width:auto}input[type=file]{background:0 0;border:0;padding:0}.skip{z-index:100;background:var(--sheet);color:var(--pen);box-shadow:var(--shadow);border-radius:8px;padding:.5rem .8rem;position:absolute;top:-100px;left:16px}.skip:focus{top:8px}main.wrap{padding-top:1.5rem;padding-bottom:2rem}.btn:hover,button:hover:not(:disabled){filter:brightness(.97)}button.link{color:var(--pen);background:0 0;border:0;border-radius:2px;padding:0;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.actions.end{justify-content:flex-end}.hint{color:var(--ink-2);margin:.4rem 0 0;font-size:.85rem}.err{color:var(--bad);margin:.4rem 0 0}.err:empty{display:none}.notice{overflow-wrap:anywhere;margin:.8rem 0}.check{color:var(--ink);align-items:flex-start;gap:.6rem;margin:1rem 0 0;font-size:1rem;display:flex}.check input{flex:none;margin-top:.3rem}.form{max-width:30rem}.form button[type=submit]{margin-top:1rem}.ts{min-height:65px;margin:1rem 0 .5rem}.narrow{max-width:32rem;margin:0 auto}.brand-logo{object-fit:contain;max-width:120px;max-height:40px;margin-top:1rem;display:block}.mono,code,kbd{overflow-wrap:anywhere}dialog{border:1px solid var(--rule);border-radius:var(--radius);background:var(--sheet);width:min(34rem,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow);padding:1.2rem;overflow-y:auto}dialog::backdrop{background:#00000073}dialog h2{margin-top:0}dl.facts{grid-template-columns:max-content minmax(0,1fr);gap:.5rem 1.2rem;margin:1rem 0;display:grid}dl.facts dt{color:var(--ink-2)}dl.facts dd{overflow-wrap:anywhere;margin:0}@media (width<=480px){dl.facts{grid-template-columns:minmax(0,1fr);gap:.1rem}dl.facts dd{margin-bottom:.6rem}}.doc-page h1{margin:.5rem 0 1.2rem;font-size:2.1rem}.doc-body{gap:1.5rem;display:grid}@media (width>=64rem){.doc-body:has(.toc){grid-template-columns:13rem minmax(0,1fr);gap:2.5rem}}.toc{font-size:.92rem}.toc p{margin:0 0 .4rem}.toc ul{margin:0;padding:0;list-style:none}.toc li{margin:.25rem 0}@media (width>=64rem){.toc{align-self:start;position:sticky;top:1rem}}.prose{min-width:0;max-width:46rem}.prose h2{margin-top:2.4rem;font-size:1.5rem}.prose>:first-child{margin-top:0}.prose h3{margin-top:1.6rem;font-size:1.15rem}.prose li{margin:.25rem 0}.prose pre{background:var(--panel);border-radius:8px;padding:.8rem 1rem;font-size:.85rem;line-height:1.45;overflow-x:auto}.prose pre code{overflow-wrap:normal}.prose :not(pre)>code{background:var(--panel);border-radius:4px;padding:.1em .3em}.prose table{border-collapse:collapse;margin:1rem 0;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.45rem .7rem}.prose blockquote{border-left:3px solid var(--rule);color:var(--ink-2);margin:1rem 0;padding:.4rem 1rem}
