@font-face{font-family:IBM Plex Sans;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2)format("woff2")}:root{--paper:#f5f3ee;--surface:#fff;--ink:#15161a;--ink-muted:#585a61;--rule:#d9d5ca;--rule-strong:#85878c;--signal:#b8430f;--series-1:#1f5fad;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--page:992px;--measure:720px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--paper:#111215;--surface:#1a1c20;--ink:#ecebe6;--ink-muted:#a2a39d;--rule:#33363c;--rule-strong:#6e7178;--signal:#f0894a;--series-1:#7aa7e6}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);overflow-wrap:break-word;margin:0}a{color:var(--signal);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.page{width:100%;max-width:var(--page);margin:0 auto;padding-left:16px;padding-right:16px}.narrow>*{max-width:var(--measure)}main.page{padding-top:48px;padding-bottom:48px}h1{margin:0 0 16px;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:600;line-height:1.15}h2{margin:48px 0 16px;font-size:1.375rem;font-weight:600;line-height:1.3}h3{margin:24px 0 8px;font-size:1.0625rem;font-weight:600;line-height:1.4}p{margin:0 0 16px}ul,ol{margin:0 0 16px;padding-left:24px}li{margin:4px 0}.lead{color:var(--ink-muted);max-width:62ch;font-size:1.125rem}.meta{color:var(--ink-muted);font-size:14px}code,pre{font:14px/1.5 var(--mono)}:not(pre)>code{background:var(--surface);border:1px solid var(--rule);overflow-wrap:anywhere;border-radius:2px;padding:0 4px}pre{background:var(--surface);border:1px solid var(--rule);border-radius:4px;margin:16px 0;padding:16px;overflow-x:auto}pre.wrap{white-space:pre-wrap;overflow-wrap:anywhere}ul.plus{margin:0 0 16px;padding:0;list-style:none}ul.plus li{margin:8px 0;padding-left:32px;position:relative}ul.plus li:before{content:"[+]";font:14px/25.6px var(--mono);color:var(--signal);position:absolute;top:0;left:0}table{border-collapse:collapse;width:100%;margin:16px 0;font-size:15px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:8px 16px 8px 0}th{color:var(--ink-muted);font-size:14px;font-weight:600}@media (width<=640px){table.stack,table.stack tbody,table.stack tr,table.stack td{display:block}table.stack thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}table.stack tr{border-bottom:1px solid var(--rule);padding:8px 0}table.stack td,table.stack tbody th{border:0;padding:4px 0}table.stack tbody th{color:var(--ink);font-size:15px;display:block}table.stack td[data-label]:before{content:attr(data-label) ": ";color:var(--ink-muted);font-size:14px}}.rules h2{border-top:1px solid var(--rule);margin-top:48px;padding-top:24px}.rules h2:first-child{border-top:0;margin-top:0;padding-top:0}.frame{background:var(--surface);border:1px solid var(--rule);border-radius:8px;width:fit-content;max-width:100%;padding:8px}.frame img{max-width:100%;height:auto;display:block}figure{margin:0 0 16px}figcaption{color:var(--ink-muted);margin-top:8px;font-size:14px}.site-header{border-bottom:1px solid var(--rule)}.site-header .page{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding-top:24px;padding-bottom:24px;display:flex}.site-header .brand{color:var(--ink);font-size:1.125rem;font-weight:600;text-decoration:none}.site-header nav{flex-wrap:wrap;gap:8px 24px;display:flex}.site-header nav a{color:var(--ink-muted);text-decoration:none}.site-header nav a:hover{color:var(--ink);text-decoration:underline}.site-header nav a[aria-current]{color:var(--ink)}.site-footer{border-top:1px solid var(--rule);color:var(--ink-muted);font-size:14px}.site-footer .page{padding-top:24px;padding-bottom:48px}.site-footer nav{flex-wrap:wrap;gap:8px 24px;margin-bottom:8px;display:flex}.site-footer a{color:var(--ink-muted)}.site-footer a:hover{color:var(--ink)}.site-footer p{margin:0 0 4px}
