@font-face{font-family:Geist;src:url(/fonts/Geist-Var-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:optional}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--color-paper:#fcfcfc;--color-paper-2:#f5f6f7;--color-surface:#fff;--color-ink:#121417;--color-ink-2:#4e5054;--color-ink-3:#67696c;--color-rule:#e0e1e3;--color-rule-2:#8b8c8f;--color-mark:#f9d544;--color-on-ink:#fcfcfc;--color-focus:#121417;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--radius-sm:8px;--radius-md:14px;--radius-pill:999px;--ease-out:cubic-bezier(.2, .7, .2, 1);--dur-fast:.16s;--text-display:clamp(2.6rem, 6vw + .5rem, 4.75rem);--text-title:clamp(1.9rem, 3vw + .6rem, 2.75rem)}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(98.84% .0000298023 -.0000119209);--color-paper-2:lab(96.7436% -.0500977 -.758064);--color-surface:lab(100% 0 0);--color-ink:lab(6.17183% -.0816584 -2.00246);--color-ink-2:lab(33.844% -.160992 -3.00965);--color-ink-3:lab(44.2937% -.133425 -2.26424);--color-rule:lab(89.5473% -.074029 -1.13642);--color-rule-2:lab(58.2228% -.0952184 -1.51312);--color-mark:lab(86.6497% 2.03314 72.0242);--color-on-ink:lab(98.84% .0000298023 -.0000119209);--color-focus:lab(6.17183% -.0816584 -2.00246)}}*{box-sizing:border-box}html,body{overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font:400 17px/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;margin:0;display:flex}body>main{flex:1 0 auto;width:100%}body>.wrap{width:100%}a{color:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:6px}.wrap{max-width:72rem;padding:0 var(--space-lg);margin:0 auto}.nav{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:72px;display:flex}.nav .menu{position:relative}.nav .menu summary{cursor:pointer;list-style:none}.nav .menu summary::-webkit-details-marker{display:none}.nav .menu-btn summary{width:48px;height:48px;color:var(--color-ink);transition:background-color var(--dur-fast) var(--ease-out);border-radius:14px;place-items:center;display:grid}.nav .menu-btn[open] summary:before{content:"";z-index:29;cursor:default;position:fixed;inset:0}.nav .menu-btn summary:hover,.nav .menu-btn[open] summary{background:var(--color-paper-2)}.nav .menu-btn summary svg{fill:currentColor;width:24px;height:24px}.nav .menu-panel{z-index:30;width:min(18.5rem, calc(100vw - 2 * var(--space-md)));scrollbar-width:none;overscroll-behavior:contain;background:var(--color-surface);border:1px solid var(--color-rule);border-radius:14px;max-height:calc(100dvh - 96px);padding:6px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 1px 2px #0000000a,0 12px 32px #0000001f}.nav .menu-panel::-webkit-scrollbar{display:none}.nav .menu-btn[open]+.menu-panel{display:block}.nav .menu-panel ul{margin:0;padding:0;list-style:none}.nav .menu-row{min-height:44px;color:var(--color-ink);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.nav .menu-row:hover,.nav .menu-sub-btn[open] .menu-row{background:var(--color-paper-2)}.nav .menu-row[aria-current=page]{background:var(--color-paper-2);font-weight:600}.nav .menu-ico{width:20px;height:20px;color:var(--color-ink-2);flex:none;place-items:center;display:grid}.nav .menu-ico svg,.nav .menu-chev,.nav .menu-langs svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.nav .menu-chev{width:16px;height:16px;color:var(--color-ink-3);transition:transform var(--dur-fast) var(--ease-out);margin-left:auto}.nav .menu-sub-btn[open] .menu-chev{transform:rotate(90deg)}.nav .menu-lang-cur{color:var(--color-ink-3);margin-left:auto;font-size:13px;font-weight:400}.nav .menu-lang-cur+.menu-chev{margin-left:4px}.nav .menu-sep{border:0;border-top:1px solid var(--color-rule);margin:6px 8px}.nav .menu-fly{display:none}.nav .menu-sub-btn[open]+.menu-fly{display:block}.nav .menu-sublist{padding:2px 6px 6px 44px}@media not ((hover:hover) and (pointer:fine)){.nav .menu-panel:has(.menu-sub-btn[open])>:not(.menu-sub:has(>.menu-sub-btn[open])){display:none}}.nav .menu-h{letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink-3);margin:8px 0 2px;font-size:11px;font-weight:600}.nav .menu-sublist a,.nav .menu-langs a,.nav .menu-langs span{min-height:36px;color:var(--color-ink-2);white-space:nowrap;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-left:-10px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.nav .menu-sublist a:hover,.nav .menu-langs a:hover{background:var(--color-paper-2);color:var(--color-ink)}.nav .menu-sublist a[aria-current=page],.nav .menu-langs span{color:var(--color-ink);font-weight:600}.nav .menu-langs{padding:2px 6px 6px 44px!important}.nav .menu-langs svg{stroke-width:2.2px;width:16px;height:16px}@media (hover:hover) and (pointer:fine){.nav .menu-btn summary{width:52px;height:52px}.nav .menu-btn summary svg{width:26px;height:26px}.nav .menu-panel{visibility:hidden;opacity:0;transition:opacity .12s,visibility 0s linear .3s;display:block}.nav .menu:hover>.menu-panel,.nav .menu-btn[open]+.menu-panel{visibility:visible;opacity:1;transition-delay:0s}.nav .menu:hover .menu-btn summary{background:var(--color-paper-2)}.nav .menu:after{content:"";width:min(18.5rem, calc(100vw - 2 * var(--space-md)));height:8px;position:absolute;top:100%;right:0}.nav .menu-panel{max-height:none;overflow:visible}.nav .menu-sub{position:static}.nav .menu-sub:hover>.menu-sub-btn .menu-row{background:var(--color-paper-2)}.nav .menu-sub-btn[open] .menu-chev{transform:none}.nav .menu-fly{visibility:hidden;opacity:0;transition:opacity .12s,visibility 0s linear .3s;display:flex}.nav .menu-sub:hover>.menu-fly,.nav .menu-sub-btn[open]+.menu-fly{visibility:visible;opacity:1;transition-delay:0s}.nav .menu-fly{z-index:31;background:var(--color-surface);border:1px solid var(--color-rule);border-radius:14px;width:max-content;padding:10px 14px 12px;position:absolute;top:-1px;right:calc(100% + 10px);box-shadow:0 1px 2px #0000000a,0 12px 32px #0000001f}.nav .menu-sub:hover:before{content:"";width:14px;height:100%;position:absolute;top:0;right:100%}.nav .menu-panel:has(.menu-sub:hover) .menu-sub:not(:hover)>.menu-fly{visibility:hidden;opacity:0;transition-delay:0s}.nav .menu-sublist{flex-wrap:wrap;gap:8px 20px;max-width:min(60rem,100vw - 20rem)}.nav .menu-sublist section{min-width:8rem}.nav .menu-sublist a,.nav .menu-langs a,.nav .menu-langs span{margin-left:0}.nav .menu-langs{grid-template-rows:repeat(8,auto);grid-auto-flow:column;column-gap:8px;display:grid;padding:8px!important}.nav .menu-langs li{min-width:10rem}}@media (forced-colors:active){.nav .menu-panel,.nav .menu-fly{border-color:canvastext}}html{-webkit-tap-highlight-color:transparent}.wordmark{letter-spacing:-.035em;align-items:center;gap:10px;min-height:44px;font-size:23px;font-weight:700;text-decoration:none;display:inline-flex}@media (min-width:900px){.wordmark{gap:12px;font-size:27px}}.brand-mark{width:1.5em;height:1.33em;color:var(--color-ink);flex:none}.foot .wm{align-items:center;gap:6px;display:inline-flex}.foot .foot-group{gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;display:flex}.foot .gen-link{color:var(--color-ink);font-weight:600}h1{letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;font-weight:650;line-height:1.02;font-size:var(--text-title);margin:0}.lede{color:var(--color-ink-2);max-width:34rem;margin:var(--space-md) 0 0;font-size:19px;line-height:1.5}.foot{gap:var(--space-xs) var(--space-lg);border-top:1px solid var(--color-rule);margin-top:var(--space-3xl);padding:var(--space-lg) 0 var(--space-xl);color:var(--color-ink-2);flex-wrap:wrap;align-items:center;font-size:14px;display:flex}.foot a{white-space:nowrap;min-height:24px;line-height:24px;text-decoration:none;display:inline-block}.foot a:hover{text-decoration:underline}.foot .wm{color:var(--color-ink);margin-right:auto;font-weight:650}.page-head{padding:var(--space-2xl) 0}[hidden]{display:none!important}.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}.btn{min-height:44px;padding:0 var(--space-lg);border-radius:var(--radius-pill);font:550 15px/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-ink{background:var(--color-ink);color:var(--color-on-ink)}.btn-ink:hover{background:#313337;background:lab(21.0831% -.145555 -3.00153)}@media (forced-colors:active){.btn{border:1px solid buttontext}}.btn-line{border:1px solid var(--color-rule-2);color:var(--color-ink);background:var(--color-surface)}.btn-line:hover{border-color:var(--color-ink)}.mark{text-decoration-line:underline;-webkit-text-decoration-color:var(--color-mark);text-decoration-color:var(--color-mark);text-underline-offset:max(4px, .12em);text-decoration-skip-ink:none;text-decoration-thickness:max(3px,.075em)}.prose{max-width:40rem;padding:var(--space-2xl) 0 0}.prose h2{letter-spacing:-.02em;margin:var(--space-xl) 0 var(--space-xs);font-size:22px;font-weight:600}.prose p{color:var(--color-ink-2);margin:var(--space-sm) 0 0}.prose .credits{border-collapse:collapse;width:100%;margin-top:var(--space-lg);font-size:15px}.prose .credits th,.prose .credits td{text-align:left;padding:var(--space-xs) var(--space-sm) var(--space-xs) 0;border-bottom:1px solid var(--color-rule);vertical-align:top}.prose .credits th{color:var(--color-ink-2);font-size:13px;font-weight:600}@media (max-width:699px){.foot{gap:var(--space-md);display:grid}.foot .wm{margin-right:0}}.skip{z-index:10;padding:var(--space-xs) var(--space-sm);background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-ink);border-radius:var(--radius-sm);position:absolute;top:0;left:-9999px}.skip:focus{left:var(--space-sm);top:var(--space-sm)}main:focus{outline:none}.foot .lang{position:relative}.foot .lang summary{min-height:44px;padding:0 var(--space-sm);margin-left:calc(-1 * var(--space-sm));border-radius:var(--radius-sm);cursor:pointer;color:var(--color-ink);border:1px solid #0000;align-items:center;gap:6px;font-weight:600;list-style:none;display:inline-flex}.foot .lang summary::-webkit-details-marker{display:none}.foot .lang summary:hover,.foot .lang[open] summary{border-color:var(--color-rule-2)}.foot .lang svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.foot .lang .lang-chev{width:14px;height:14px}.foot .lang[open] .lang-chev{transform:rotate(180deg)}.foot .lang-list{left:calc(-1 * var(--space-sm));z-index:5;min-width:12rem;max-width:calc(100vw - 2 * var(--space-lg));max-height:60vh;margin:0 0 var(--space-2xs);padding:var(--space-2xs);background:var(--color-surface);border:1px solid var(--color-rule-2);border-radius:var(--radius-md);list-style:none;position:absolute;bottom:100%;overflow-y:auto}.foot .lang-list a,.foot .lang-current{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-sm);border-radius:var(--radius-sm);line-height:1.2;display:flex}.foot .lang-list a{color:var(--color-ink-2)}.foot .lang-list a:hover{background:var(--color-paper-2)}.foot .lang-current{color:var(--color-ink);font-weight:650}@media (forced-colors:active){.foot .lang summary{border-color:buttontext}.foot .lang-list{border-color:canvastext}.foot .lang-current{border:1px solid highlight}}
