:root{color-scheme:dark;--bg: #08090a;--surface: #0f1011;--raised: #191a1b;--hover: #141516;--border: #23252a;--border-strong: #34343a;--text: #f7f8f8;--soft: #d0d6e0;--muted: #8a8f98;--faint: #7a7e86;--brand: #f7f8f8;--button: #e5e5e6;--good: #5fd38d;--bad: #f47b7b;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--track: #1c1c1f;--header-h: 61px;--gutter: 24px;--card-x: 20px;--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--quick: .12s;--regular: .2s;--slow: .6s;--logo-tile: #eef0f2;--max: 1200px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;scrollbar-color:#ffffff26 transparent;scroll-padding-top:calc(var(--header-h) + 16px);interpolate-size:allow-keywords}::selection{background:color-mix(in srgb,#9c9da1 32%,transparent);color:var(--text)}::placeholder{color:var(--faint);opacity:1}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}a,button,summary,input,textarea,select,.card{transition:color var(--quick) var(--ease-out),background-color var(--quick) var(--ease-out),border-color var(--quick) var(--ease-out),text-decoration-color var(--quick) var(--ease-out),box-shadow var(--regular) var(--ease-out),transform var(--regular) var(--ease-out-quart)}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--muted);box-shadow:0 0 0 3px #ffffff14}@media print{:root{color-scheme:light;--bg: #fff;--surface: #fff;--raised: #fff;--hover: #fff;--border: #ccc;--border-strong: #999;--text: #000;--soft: #1a1a1a;--muted: #333;--faint: #444;--brand: #000;--track: #e4e4e4}.bar,.bar>span{print-color-adjust:exact}header.site nav,header.site .search-link,.skip-link{display:none}}h1,h2,h3{font-weight:600;letter-spacing:-.01em;line-height:1.2}h1{letter-spacing:-.03em}.container{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:16px;top:-48px;padding:8px 14px;border-radius:8px;background:var(--text);color:var(--bg);font-weight:600;z-index:30}.skip-link:focus{top:12px}.muted{color:var(--muted)}.faint{color:var(--faint)}.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:8px;border:1px solid var(--border-strong);background:transparent;color:var(--text);font:inherit;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;background:var(--hover);border-color:#3e3e44}.btn:active{transform:scale(.98)}.btn-primary{background:var(--button);border-color:var(--button);color:var(--bg);font-weight:600}.btn-primary:hover{background:#fff;border-color:#fff}.section-title{margin:0 0 8px;font-size:22px}.block-title{margin:0 0 12px;font-size:22px;font-weight:600;color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px}a.card:hover{text-decoration:none;background:var(--hover);border-color:var(--border-strong)}a.card:active{transform:scale(.995)}.rows{margin:0;padding:0;list-style:none;border-top:1px solid var(--border)}.rows>li,.rows>a,.row{border-bottom:1px solid var(--border)}.marker{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}.bar{display:block;height:4px;border-radius:2px;background:var(--track)}.bar>span{display:block;height:4px;border-radius:2px;transform-origin:left;transition:transform var(--slow) var(--ease-out-quart)}@starting-style{.bar>span{transform:scaleX(0)}}.limited:not(:has(details.show-all[open],.extra:target)) .extra{display:none}.limited .extra{animation:rise var(--slow) var(--ease-out-quart) both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary:before{content:"";display:inline-block;width:.4em;height:.4em;margin:0 .6em .15em .1em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.7;transform:rotate(-45deg);transition:transform var(--regular) var(--ease-out)}details[open]>summary:before{transform:rotate(45deg)}summary:hover{color:var(--text)}details::details-content{block-size:0;overflow-y:clip;transition:block-size var(--regular) var(--ease-out),content-visibility var(--regular) allow-discrete}details[open]::details-content{block-size:auto}tbody tr{transition:background-color var(--quick) var(--ease-out)}tbody tr:hover{background:#ffffff05}details.show-all{margin-top:10px;font-size:14px}details.show-all>summary{width:max-content;color:var(--muted);cursor:pointer}details.show-all[open]{display:none}.breadcrumb{padding-top:28px;font-size:14px;color:var(--faint)}.prose{max-width:720px}.prose a{color:var(--text);text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--muted)}.prose a:hover{text-decoration-style:solid;text-decoration-color:currentColor}code{padding:1px 6px;border-radius:6px;background:var(--raised);border:1px solid var(--border-strong);font-family:var(--mono);font-size:.88em;color:var(--soft)}pre{overflow-x:auto;margin:.6em 0;padding:14px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border-strong);font-size:14px;line-height:1.55}pre code{padding:0;border:0;background:none}code.code-block{display:block;white-space:pre;overflow-x:auto;margin:.6em 0;padding:14px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border-strong);font-size:14px;line-height:1.55}.prose blockquote{margin:1em 0;padding:2px 0 2px 16px;border-left:2px solid var(--border-strong);color:var(--muted)}.prose ul,.prose ol{padding-left:22px}.prose li{margin:4px 0}.prose li::marker{color:var(--faint)}.prose h2,.prose h3{margin:1.6em 0 .5em;color:var(--text)}.prose h2{font-size:22px}.prose h3{font-size:17px}.prose strong{color:var(--text)}.prose table{display:block;width:max-content;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:14px;margin:1em 0}.prose th,.prose td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left}.prose th{color:var(--muted);font-weight:500}input,textarea,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid #63666d;border-radius:10px}header.site{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #ffffff14;view-transition-name:site-header}@media(max-width:640px){:root{--header-h: 0px;--gutter: 16px;--card-x: 14px}header.site{position:relative}header.site .inner{gap:0 16px;padding-top:10px;padding-bottom:6px}header.site nav{order:3;flex-basis:100%;padding:6px 0 4px}header.site .search-link{order:2;min-width:0;flex:0 1 180px}}header.site nav a,footer.site a{text-decoration:none}header.site nav a:hover,footer.site a:hover{color:var(--text)}header.site .inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;min-height:60px}.wordmark{display:flex;align-items:center;gap:10px;font-weight:600;font-size:17px}header.site nav{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:15px;color:var(--muted)}header.site .search-link{margin-left:auto;min-width:240px;min-height:36px;padding:0 14px;justify-content:flex-start;font-size:14px;color:var(--muted)}main.container{padding-bottom:96px}footer.site{border-top:1px solid var(--border);font-size:14px;color:var(--faint)}footer.site .inner{display:flex;flex-wrap:wrap;gap:24px 64px;padding-top:32px;padding-bottom:48px}footer.site nav{display:flex;flex-direction:column;gap:6px}footer.site .heading{color:var(--text);font-weight:500}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--regular);animation-timing-function:var(--ease-out)}html{scroll-behavior:smooth}
