@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;--bg:light-dark(oklch(100% 0 0),oklch(0% 0 0));--bg-2:light-dark(oklch(98.51% 0 0),oklch(14.48% 0 0));--bg-3:light-dark(oklch(97.02% 0 0),oklch(21.78% 0 0));--bg-4:light-dark(oklch(94.01% 0 0),oklch(26.86% 0 0));--panel:light-dark(oklch(100% 0 0),oklch(14.48% 0 0));--fg:light-dark(oklch(20.46% 0 0),oklch(94.61% 0 0));--fg-hi:light-dark(oklch(0% 0 0),oklch(94.61% 0 0));--fg-2:light-dark(oklch(51.03% 0 0),oklch(70.9% 0 0));--fg-3:light-dark(oklch(54.52% 0 0),oklch(63.34% 0 0));--line:light-dark(oklch(93.7% 0 0),oklch(30.12% 0 0));--line-2:light-dark(oklch(86.99% 0 0),oklch(39.04% 0 0));--underline:light-dark(oklch(86.99% 0 0),oklch(42.02% 0 0));--tick:light-dark(oklch(83.59% 0 0),oklch(38.67% 0 0));--accent:oklch(57.31% .2145 258.25);--accent-text:light-dark(oklch(52.45% .2084 259.5),oklch(71.73% .1522 251));--accent-soft:light-dark(oklch(57.31% .2145 258.25/.1),oklch(71.73% .1522 251/.14));--ok:light-dark(oklch(52.44% .1401 148.04),oklch(69.51% .1809 145.62));--btn-hover:light-dark(oklch(34.07% 0 0),oklch(84.52% 0 0));--bg-blur:light-dark(oklch(100% 0 0/.78),oklch(0% 0 0/.72));--ring:light-dark(oklch(0% 0 0/.06),oklch(100% 0 0/.08));--backdrop:light-dark(oklch(0% 0 0/.4),oklch(0% 0 0/.6));--shadow:0 8px 30px light-dark(oklch(0% 0 0/.12),oklch(0% 0 0/.6));--sans:"Geist Variable","Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:"Geist Mono Variable","Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--label-12:12px;--label-12-lh:16px;--label-13:13px;--label-13-lh:20px;--copy-14:14px;--copy-14-lh:20px;--copy-16:16px;--copy-16-lh:26px;--heading-20:20px;--heading-20-lh:26px;--heading-24:24px;--heading-24-lh:32px;--heading-40:40px;--heading-40-lh:44px;--heading-48:48px;--heading-48-lh:52px;--font-label:500 var(--label-13)/var(--label-13-lh) var(--sans);--s-2:var(--label-12);--s-1:var(--label-13);--s0:var(--copy-14);--s1:15px;--s2:var(--copy-16);--s3:var(--heading-24);--s4:clamp(28px,3.2vw,var(--heading-40));--s5:clamp(36px,5.4vw,var(--heading-48));--top:56px;--rail:264px;--gutter:48px;--safe:env(safe-area-inset-top,0px);--strip:0px;--stick:calc(var(--top) + var(--safe) + var(--strip));--dur-1:.12s;--dur-2:.18s;--dur-3:.24s;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease:var(--ease-out);--shadow-ring:0 0 0 1px light-dark(oklch(0% 0 0/.08),oklch(100% 0 0/.1));--shadow-raised:var(--shadow-ring),0 2px 2px light-dark(oklch(0% 0 0/.04),#0000),0 8px 8px -8px light-dark(oklch(0% 0 0/.04),#0000);--r-1:6px;--r-2:8px;--r-3:12px;--r-full:9999px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@supports not (color:light-dark(#fff,#000)){:root{--bg:#fff;--bg-2:#fafafa;--bg-3:#f5f5f5;--bg-4:#ebebeb;--panel:#fff;--fg:#171717;--fg-hi:#000;--fg-2:#666;--fg-3:#707070;--line:#eaeaea;--line-2:#d4d4d4;--underline:#d4d4d4;--tick:#c9c9c9;--accent:#0070f3;--accent-text:#0060df;--accent-soft:#0070f31a;--ok:#1a7f37;--btn-hover:#383838;--bg-blur:#ffffffc7;--ring:#0000000f;--backdrop:#0006;--shadow:0 8px 30px #0000001f;color-scheme:light}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--s1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:24px;overflow-x:clip}h1,h2,h3,h4{font-family:var(--sans);text-wrap:balance;color:var(--fg);margin:0;font-weight:600}h1{font-size:var(--s5);letter-spacing:-.04em;color:var(--fg-hi);line-height:1.08}h2{font-size:var(--s3);letter-spacing:-.025em;line-height:1.25}h3{letter-spacing:-.02em;font-size:20px;line-height:1.3}h4{font-size:var(--s1);letter-spacing:-.01em;line-height:22px}p{margin:0}a{color:inherit;text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:3px;transition:color .12s var(--ease-out),text-decoration-color .12s var(--ease-out);text-decoration-thickness:1px}a:hover{color:var(--accent-text);text-decoration-color:currentColor}:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent);outline:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0}strong{font-weight:600}code,kbd{font-family:var(--mono);font-size:var(--s-1);font-variant-numeric:tabular-nums;line-height:20px}code{border:1px solid var(--line);background:var(--bg-2);color:var(--fg);border-radius:6px;padding:1px 5px}kbd{border:1px solid var(--line);border-radius:var(--r-1);background:var(--bg-2);min-width:20px;height:20px;font-size:var(--s-2);color:var(--fg-2);justify-content:center;align-items:center;padding:0 5px;line-height:18px;display:inline-flex}.label{font-family:var(--sans);font-size:var(--s-1);color:var(--fg-2);font-variant-numeric:tabular-nums;font-weight:500;line-height:20px}.label a{text-decoration-color:#0000}.label a:hover{text-decoration-color:currentColor}.mono{font-family:var(--mono);font-size:var(--s-1);font-variant-numeric:tabular-nums;line-height:20px}.tag{background:var(--bg-4);height:20px;font-family:var(--sans);font-size:var(--s-2);color:var(--fg);white-space:nowrap;vertical-align:middle;border:1px solid #0000;border-radius:6px;align-items:center;padding:0 7px;font-weight:500;line-height:1;display:inline-flex}.tag-out{background:var(--bg-3);color:var(--fg-2);border-color:#0000}.tag-fill{background:var(--bg-4);color:var(--fg)}.sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.topbar{top:var(--safe);z-index:30;height:var(--top);padding-inline:var(--gutter);background:var(--bg);border-bottom:1px solid var(--line);grid-template-columns:1fr minmax(160px,360px) 1fr;align-items:center;gap:16px;display:grid;position:sticky}.wordmark{letter-spacing:-.01em;white-space:nowrap;color:var(--fg);justify-self:start;font-size:15px;font-weight:600;text-decoration:none}.search-btn{border:1px solid var(--line);background:var(--bg-2);width:100%;min-width:0;height:32px;color:var(--fg-3);font-size:var(--s0);text-align:left;transition:border-color .12s var(--ease-out),background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;align-items:center;gap:8px;padding:0 6px 0 10px;font-weight:400;display:flex}.search-btn:hover{border-color:var(--line-2);background:var(--bg);color:var(--fg-2)}.search-btn>span:first-of-type{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.search-btn kbd{background:var(--bg)}.kbds{gap:3px;display:flex}.search-btn svg,.search-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;flex:none;width:14px;height:14px}.top-right{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.theme{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex:none;padding:2px;display:inline-flex}.theme button{font-size:var(--s-1);height:26px;color:var(--fg-2);transition:background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:4px;padding:0 10px;font-weight:500;line-height:26px}.theme button[aria-pressed=true]{background:var(--bg-3);color:var(--fg)}.theme button:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.search-icon{border:1px solid var(--line);width:32px;height:32px;color:var(--fg-2);transition:background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;justify-content:center;align-items:center;display:none}.search-icon:hover{background:var(--bg-3);color:var(--fg)}.frame{grid-template-columns:var(--rail) minmax(0,1fr);align-items:start;display:grid}.rail{top:calc(var(--top) + var(--safe));height:calc(100vh - var(--top) - var(--safe));overscroll-behavior:contain;background:var(--bg);border-right:1px solid var(--line);flex-direction:column;gap:28px;min-width:0;padding:16px 12px 24px;display:flex;position:sticky;overflow-y:auto}.rail-nav{flex-direction:column;gap:2px;display:flex;position:relative}.rail-item{height:32px;font-size:var(--s0);color:var(--fg-2);transition:background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;align-items:center;gap:8px;padding:0 8px 0 10px;font-weight:400;line-height:20px;text-decoration:none;display:flex}.rail-item:hover,.rail-item[aria-current=page]{background:var(--bg-3);color:var(--fg)}.rail-item .n{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.dot{background:var(--accent);width:6px;height:6px;transition:transform .2s var(--ease),opacity .2s var(--ease-out);border-radius:50%;display:inline-block}.dot.is-read{opacity:0;transform:scale(0)}.rail-tree{flex-direction:column;gap:1px;margin:2px 0 6px;padding:0 0 0 18px;list-style:none;display:none}.rail-tree.is-open{display:flex}.rail-tree a{border-left:1px solid var(--line);font-size:var(--s-1);color:var(--fg-2);min-width:0;transition:background-color .12s var(--ease-out),color .12s var(--ease-out),border-color .12s var(--ease-out);border-radius:0 6px 6px 0;align-items:center;gap:8px;padding:4px 8px 4px 12px;font-weight:400;line-height:20px;text-decoration:none;display:flex}.rail-tree a[aria-current=page]{color:var(--fg);border-left-color:var(--fg)}.rail-tree a>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rail-tree .v{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2)}.rail-foot{flex-direction:column;gap:18px;margin-top:auto;padding-inline:10px 8px;display:flex}.bars{grid-template-columns:repeat(12,1fr);align-items:end;gap:3px;height:32px;display:grid}.bars i{background:var(--line-2);border-radius:2px 2px 0 0;min-height:2px;display:block}.bars-title{margin-bottom:8px}.bars-cap{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);justify-content:space-between;margin-top:6px;display:flex}.hints{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);align-items:center;gap:8px;line-height:20px;display:flex}.hints span{gap:3px;display:flex}.hints button{font-family:var(--sans);font-size:var(--s-1);color:var(--fg-2);text-align:left;text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:3px;transition:color .12s var(--ease-out)}.hints button:hover{color:var(--fg);text-decoration-color:currentColor}.main{min-width:0;padding-inline:var(--gutter);position:relative}.view{padding-block:0 96px}.band{margin-inline:calc(-1 * var(--gutter));padding:48px var(--gutter) 40px;border-bottom:1px solid var(--line)}.band .eyebrow{font:400 var(--label-13)/var(--label-13-lh) var(--sans);color:var(--fg-2);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:20px;display:flex}.band h1{max-width:22ch}.band h1 .kn{background:0 0;margin:0;padding:0}.band h1.band-title{font-size:var(--s4);letter-spacing:-.03em;max-width:28ch;color:var(--fg);line-height:1.12}.band .sub{max-width:60ch;font-size:var(--s2);color:var(--fg-2);margin-top:20px;line-height:26px}#v-start .band{padding-block:80px 56px}.cols{grid-template-columns:minmax(0,68ch) 220px;justify-content:space-between;align-items:start;gap:40px 48px;padding-top:40px;display:grid}.reading{min-width:0}.aside{top:calc(var(--top) + var(--safe) + 40px);font-size:var(--s-1);color:var(--fg-2);flex-direction:column;gap:20px;min-width:0;line-height:20px;display:flex;position:sticky}.meta{grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0;display:grid}.mp{display:contents}.meta dt{color:var(--fg-2)}.meta dd{color:var(--fg);font-family:var(--mono);font-variant-numeric:tabular-nums;min-width:0;margin:0}.toc summary{cursor:pointer;color:var(--fg);font-size:var(--s-1);font-weight:500;list-style:none}.toc summary::-webkit-details-marker{display:none}.toc ol{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.toc a{border-left:1px solid var(--line);color:var(--fg-2);font-size:var(--s-1);transition:color .12s var(--ease-out),border-color .12s var(--ease-out);padding:3px 0 3px 12px;line-height:18px;text-decoration:none;display:block}.toc a:hover,.toc a[aria-current=true]{color:var(--fg);border-left-color:var(--fg)}.sect{margin-top:56px}.sect:first-child{margin-top:0}.sect-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.sect h2,.prose h2,.tool-head h2,.h3{font-size:var(--s3);letter-spacing:-.025em;line-height:1.25}.prose>*+*{margin-top:20px}.prose h2{scroll-margin-top:calc(var(--stick) + 24px);margin-top:48px}.prose>h2:first-child{margin-top:0}.entry-wide .cols{grid-template-columns:minmax(0,1fr)}.entry-wide .aside{border-bottom:1px solid var(--line);order:-1;gap:12px;padding-bottom:16px;position:static}.entry-wide .meta{flex-wrap:wrap;gap:4px 18px;display:flex}.entry-wide .mp{gap:6px;display:flex}.entry-wide .toc{display:none}.prose h3{margin-top:32px;font-size:16px;line-height:24px}.prose p,.prose li{max-width:68ch}.prose ul,.prose ol{margin:0;padding-left:22px}.prose li+li{margin-top:6px}.prose .checks,.prose .changes{padding:0}.prose .checks li+li{margin-top:0}.prose em{font-style:italic}.checks{background:var(--line);border:1px solid var(--line);border-radius:8px;gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.checks li{background:var(--bg);font-family:var(--mono);font-size:var(--s-1);align-items:baseline;gap:12px;max-width:none;margin:0;padding:10px 14px;line-height:20px;display:flex}.checks .k{color:var(--fg-2);flex:none;min-width:40px}.tree{background:var(--bg-2);border:1px solid var(--line);font-family:var(--mono);font-size:var(--s-1);white-space:pre;color:var(--fg-2);border-radius:8px;margin:0;padding:14px 16px;line-height:20px;overflow-x:auto}.tree b{color:var(--fg);font-weight:500}.changes{font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);gap:4px;margin:0;padding:0;line-height:20px;list-style:none;display:grid}.changes li{grid-template-columns:34px 96px minmax(0,1fr);gap:12px;max-width:none;display:grid}.changes .v{color:var(--fg)}.callout{border:1px solid var(--line);background:var(--bg-2);font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);border-radius:8px;gap:4px;padding:14px 16px;line-height:20px;display:grid}.callout b{color:var(--fg);font-weight:500}.list{border-bottom:1px solid var(--line);flex-direction:column;display:flex}.row{color:inherit;transition:background-color .12s var(--ease-out);border-radius:6px;grid-template-columns:minmax(0,1fr) fit-content(176px);align-items:start;gap:2px 20px;min-width:0;margin-inline:-12px;padding:14px 12px;text-decoration:none;display:grid;position:relative}.row:before{content:"";border-top:1px solid var(--line);pointer-events:none;position:absolute;top:0;left:12px;right:12px}.row:hover,.row:focus-visible{background:var(--bg-3);color:inherit}.row .t{font-size:var(--s1);letter-spacing:-.01em;min-width:0;color:var(--fg);align-items:baseline;gap:8px;font-weight:500;line-height:22px;display:flex}.row .t>span:first-child{min-width:0}.arrow{opacity:0;transition:opacity var(--dur-1) ease,transform var(--dur-1) var(--ease-out);color:var(--fg-3);font-family:var(--mono);font-size:var(--s-1);transform:translate(-4px)}@media (hover:hover) and (pointer:fine){.row:hover .arrow{opacity:1;transform:none}}.row:focus-visible .arrow{opacity:1;transform:none}.row .s{font-size:var(--s0);color:var(--fg-2);grid-column:1;min-width:0;line-height:22px}.row .m{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);white-space:normal;text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;grid-area:1/2/3;align-items:flex-end;gap:2px;line-height:22px;display:flex}.row .m span{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;column-gap:6px;display:inline-flex}.row .v{transition:color .12s var(--ease-out)}.row:hover .v,.row:focus-visible .v{color:var(--fg)}.row .enter{display:none;position:absolute;bottom:12px;right:12px}.row:focus-visible .enter{display:inline-flex}.row.step{grid-template-columns:28px minmax(0,1fr) fit-content(176px)}.row.step .num{font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);grid-row:1/3;line-height:22px}.row.step .t,.row.step .s{grid-column:2}.row.step .m{grid-column:3}.since{max-height:60px;transition:max-height var(--dur-3) var(--ease-in-out),opacity var(--dur-3) ease,padding var(--dur-3) var(--ease-in-out);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:8px 0;display:flex}.since .l{display:none}.tag-since{height:22px;font-family:var(--sans);font-size:var(--s-2);letter-spacing:0;background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:9999px;align-items:center;padding:0 9px;font-weight:500;display:inline-flex}.since button{font-size:var(--s-1);color:var(--fg-2);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:3px;white-space:nowrap;transition:color .12s var(--ease-out)}.since button:hover{color:var(--fg);text-decoration-color:currentColor}.since.is-read{opacity:0;max-height:0;padding:0;overflow:hidden}.yr{-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:6px;margin-top:8px;position:relative}.yr-ticks{border-bottom:1px solid var(--line);pointer-events:none;width:100%;height:40px;display:block;overflow:visible}.yr-ticks line{stroke:var(--fg-2);stroke-width:1px;transition:stroke .12s var(--ease-out)}.yr-ticks line.m{stroke:var(--tick)}.yr-ticks line.has2{stroke:var(--fg)}.yr-ticks line.is-on{stroke:var(--accent);stroke-width:2px}.yr-months{pointer-events:none;height:20px;position:relative}.yr-months span{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);white-space:nowrap;position:absolute;top:6px}.yr-cap{max-width:68ch;font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);font-variant-numeric:tabular-nums;min-height:40px;margin-top:8px;line-height:20px}.yr-cap b{color:var(--fg);font-weight:500}.tools{display:block}.tool{border-top:1px solid var(--line);min-width:0;scroll-margin-top:calc(var(--stick) + 16px);gap:20px;padding:40px 0;display:grid}.tool:first-child{border-top:0;padding-top:0}.tool-head{gap:8px;display:grid}.tool-head .flags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-head .flags .label{font-family:var(--mono);font-weight:400}.tool-head p{font-size:var(--s1);color:var(--fg-2);max-width:60ch;line-height:24px}.presets{grid-template-columns:auto 1fr;align-items:start;gap:6px 12px;display:grid}.presets .label{padding-top:4px}.presets .chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.chip{height:28px;font-size:var(--s-1);border:1px solid var(--line);color:var(--fg-2);background:var(--bg);transition:border-color .12s var(--ease-out),color .12s var(--ease-out),background-color .12s var(--ease-out);border-radius:6px;align-items:center;padding:0 10px;font-weight:500;line-height:1;display:inline-flex}.chip:hover{background:var(--bg-3);color:var(--fg)}.chip:active{background:var(--bg-4)}.chip[aria-pressed=true]{background:var(--bg-3);color:var(--fg);border-color:var(--line-2)}fieldset{border:0;min-width:0;margin:0;padding:0}.q{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:12px 0;display:grid}.q legend{float:left;font-size:var(--s0);color:var(--fg);padding:0;font-weight:500;line-height:22px}.opts{border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:2px;display:inline-flex}.opts label{font-size:var(--s-1);cursor:pointer;color:var(--fg-2);transition:background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:4px;padding:0 12px;font-weight:500;line-height:26px;position:relative}.opts{flex-wrap:wrap;max-width:100%}.opts label{white-space:nowrap}.opts input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.opts label:hover{color:var(--fg)}.opts label:has(input:checked){background:var(--bg-3);color:var(--fg)}.opts label:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--accent)}.verdict{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;gap:6px;padding:16px 18px;display:grid}.verdict .word{letter-spacing:-.02em;color:var(--fg);font-size:20px;font-weight:600;line-height:1.3;overflow:hidden}.verdict .word span{display:inline-block}.verdict .why{font-size:var(--s1);color:var(--fg-2);max-width:60ch;line-height:24px}.verdict .dim{color:var(--fg-2)}.verdict details{font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);margin-top:4px;line-height:20px}.verdict summary{cursor:pointer;color:var(--fg-2);font-family:var(--sans);border-radius:4px;font-weight:500;list-style:none}.verdict summary::-webkit-details-marker{display:none}.verdict summary:before{content:"+ "}.verdict details[open] summary:before{content:"- "}.rules{gap:3px;margin:8px 0 0;padding:0;list-style:none;display:grid}.rules li.is-hit{color:var(--fg)}.ranges{gap:12px;display:grid}.rng{grid-template-columns:72px minmax(0,1fr) 28px;align-items:center;gap:12px;display:grid}.rng label{font-size:var(--s0);font-weight:500}.rng output{font-family:var(--mono);font-size:var(--s-1);text-align:right;color:var(--fg-2);font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:6px;width:100%;min-width:0;height:20px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--fg);cursor:pointer;width:16px;height:16px;transition:transform .12s var(--ease-out);border:0;border-radius:50%;margin-top:-6px}@media (hover:hover) and (pointer:fine){input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}}input[type=range]::-moz-range-track{background:var(--line);border-radius:2px;height:4px}input[type=range]::-moz-range-thumb{background:var(--fg);cursor:pointer;border:0;border-radius:50%;width:16px;height:16px}input[type=range]:focus-visible{box-shadow:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.qlist{background:var(--line);border:1px solid var(--line);border-radius:8px;gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.qlist li{background:var(--bg);font-size:var(--s0);gap:12px;padding:12px 14px;line-height:22px;display:flex}.qlist .k{font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);flex:none;min-width:60px}.tbl-wrap{margin-top:8px;overflow-x:auto}.wf{border-collapse:collapse;width:100%;min-width:720px;font-size:var(--s0);line-height:20px}.wf th{text-align:left;font-weight:500;font-size:var(--s-1);color:var(--fg-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:0 12px 8px 0}.wf td{vertical-align:top;border-bottom:1px solid var(--line);color:var(--fg-2);min-width:0;padding:12px 12px 12px 0}.wf td:first-child{color:var(--fg);white-space:nowrap;font-weight:500}.wf td.io{font-size:var(--s0);color:var(--fg);min-width:200px;line-height:20px}.wf td.tm{white-space:nowrap;color:var(--fg);font-family:var(--mono);font-size:var(--s-1)}.wf td:last-child{font-family:var(--mono);font-size:var(--s-1)}.who{background:var(--bg-4);height:20px;font-size:var(--s-2);color:var(--fg);white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;padding:0 7px;font-weight:500;line-height:1;display:inline-flex}.who-person{background:var(--fg);border-color:var(--fg);color:var(--bg)}.wf ol{margin:0;padding-left:16px}.wf ol li+li{margin-top:2px}.feed{flex-direction:column;display:flex}.month{top:var(--stick);z-index:2;background:var(--bg);border-bottom:1px solid var(--line);color:var(--fg);justify-content:space-between;margin-top:32px;padding:10px 0 8px;display:flex;position:sticky}.month span:last-child{font-family:var(--mono);color:var(--fg-2);font-weight:400}.feed>.month:first-child{margin-top:0}.note{border-bottom:1px solid var(--line);transition:background-color .12s var(--ease-out);scroll-margin-top:calc(var(--stick) + 48px);border-radius:6px;grid-template-columns:96px auto minmax(0,1fr);gap:12px;margin-inline:-12px;padding:12px;display:grid}.note:hover{background:var(--bg-3)}.note.is-hit{background:var(--accent-soft)}.note time{font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);font-variant-numeric:tabular-nums;line-height:24px}.note .k{place-self:start;margin-top:2px}.note p{font-size:var(--s1);min-width:0;line-height:24px}.more{border:1px solid var(--line);height:32px;font-size:var(--s0);color:var(--fg);background:var(--bg);transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out);border-radius:6px;align-items:center;margin-top:24px;padding:0 12px;font-weight:500;display:inline-flex}.more:hover{background:var(--bg-3);border-color:var(--line-2)}.more:active{background:var(--bg-4)}.blocks{background:var(--line);border:1px solid var(--line);border-radius:8px;gap:1px;display:grid;overflow:hidden}.block{background:var(--bg);grid-template-columns:132px minmax(0,1fr);gap:10px 24px;min-width:0;padding:20px 22px;display:grid}.block>.label{color:var(--fg);padding-top:2px}.block .body{gap:12px;min-width:0;display:grid}.block p{font-size:var(--s1);color:var(--fg-2);max-width:60ch;line-height:24px}.contact{border:1px solid var(--line);background:var(--bg-2);font-family:var(--mono);font-size:var(--s0);border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;max-width:max-content;padding:8px 8px 8px 14px;display:flex}.contact code{font-size:var(--s0);-webkit-user-select:all;user-select:all;background:0 0;border:0;padding:0}.copy{background:var(--fg);height:32px;color:var(--bg);font-size:var(--s0);transition:background-color .12s var(--ease-out);border-radius:6px;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.copy:hover{background:var(--btn-hover)}.footer{border-top:1px solid var(--line);padding:24px var(--gutter);font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.footer .facts{flex-wrap:wrap;gap:6px 14px;min-width:0;display:flex}dialog{color:var(--fg);background:0 0;border:0;max-width:100vw;max-height:100vh;margin:auto;padding:0}dialog::backdrop{background:var(--backdrop)}.palette,.sheet{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;margin-top:min(12vh,120px);display:flex;overflow:hidden}.palette{width:min(560px,92vw);max-height:min(70vh,600px)}.sheet{width:min(440px,92vw);max-height:min(80vh,640px)}dialog:not([open]){display:none}.pal-in{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:0 16px;display:flex}.pal-in svg{width:16px;height:16px;stroke:var(--fg-3);fill:none;stroke-width:1.5px;stroke-linecap:round;flex:none}.pal-in input{min-width:0;height:48px;color:var(--fg);font-family:var(--sans);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:16px}.pal-in input:focus-visible{box-shadow:none}.pal-in input::placeholder{color:var(--fg-3)}.pal-in kbd{flex:none}.pal-list{overscroll-behavior:contain;flex:1;min-height:0;padding:8px;overflow-y:auto}.pal-group{font-size:var(--s-2);color:var(--fg-2);font-variant-numeric:tabular-nums;justify-content:space-between;padding:10px 10px 4px;font-weight:500;display:flex}.pal-group span:last-child{font-family:var(--mono);font-weight:400}.pal-row{cursor:pointer;font-size:var(--s0);color:var(--fg);min-width:0;transition:background-color 80ms var(--ease-out);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 10px;line-height:20px;display:grid}.pal-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pal-row .m{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:12px;display:inline-flex}.pal-row .m .lvl{min-width:96px}.pal-row[aria-selected=true] .v{color:var(--fg)}.pal-more>span:first-child{color:var(--fg-2)}.pal-more[aria-selected=true]>span:first-child{color:var(--fg)}.pal-since{flex:none;padding:0 16px}.pal-since .since{padding:8px 0}.pal-since .since.is-read{padding:0}.pal-empty{font-size:var(--s0);color:var(--fg-2);padding:24px 10px}.pal-foot{border-top:1px solid var(--line);background:var(--bg-2);font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);flex-wrap:wrap;flex:none;gap:6px 14px;padding:8px 16px;line-height:20px;display:flex}.pal-foot span{align-items:center;gap:4px;display:flex}.pal-foot kbd{background:var(--bg)}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sheet-head h2{font-size:var(--s1);letter-spacing:-.01em;line-height:22px}.sheet dl{min-height:0;font-size:var(--s0);color:var(--fg-2);grid-template-columns:auto minmax(0,1fr);gap:10px 18px;margin:0;padding:16px;line-height:20px;display:grid;overflow-y:auto}.sheet dt{white-space:nowrap;align-items:center;gap:3px;display:flex}.sheet dd{margin:0}.x{width:28px;height:28px;color:var(--fg-3);font-family:var(--mono);transition:background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.x:hover{background:var(--bg-3);color:var(--fg)}@media (prefers-reduced-motion:no-preference){@keyframes fade-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes view-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pal-in{0%{opacity:0;transform:scale(.98)translateY(-4px)}to{opacity:1;transform:none}}@keyframes rise{0%{transform:translateY(110%)}to{transform:none}}.anim-ticks,.anim-since{animation:fade var(--dur-3) ease both}dialog[open]{animation:pal-in var(--dur-2) var(--ease-out) both}.word .rise{animation:rise var(--dur-3) var(--ease-out) both}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-delay:0s!important}}@media (width<=1100px){.cols{grid-template-columns:minmax(0,68ch);gap:20px}.aside{border-bottom:1px solid var(--line);order:-1;gap:12px;padding-bottom:16px;position:static}.meta{flex-wrap:wrap;gap:4px 18px;display:flex}.mp{gap:6px;display:flex}}@media (width<=840px){:root{--gutter:24px;--strip:45px}.topbar{grid-template-columns:auto 1fr auto}.search-btn{display:none}.search-icon{display:inline-flex}.frame{grid-template-columns:minmax(0,1fr)}.rail{top:calc(var(--top) + var(--safe));height:auto;padding:0 var(--gutter);border-right:0;border-bottom:1px solid var(--line);z-index:20;scrollbar-width:none;flex-direction:row;align-items:center;gap:0;position:sticky;overflow:auto hidden}.rail::-webkit-scrollbar{display:none}.rail:before,.rail:after{content:"";width:var(--gutter);pointer-events:none;z-index:1;flex:none;align-self:stretch;position:sticky}.rail:before{margin-left:calc(-1 * var(--gutter));background:linear-gradient(to right,var(--bg),transparent);left:0}.rail:after{margin-left:calc(-1 * var(--gutter));background:linear-gradient(to left,var(--bg),transparent);right:0}.rail-nav{padding-right:var(--gutter);flex-direction:row;flex:none;gap:0}.rail-item{white-space:nowrap;border-bottom:2px solid #0000;border-radius:0;align-items:center;height:auto;padding:12px 8px 10px}.rail-item:hover{background:0 0}.rail-item[aria-current=page]{border-bottom-color:var(--fg);background:0 0}.rail-item:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.rail-item .n{font-size:var(--s-2);margin-left:6px;line-height:20px;position:static}.rail-tree,.rail-foot{display:none!important}.view{padding-bottom:64px}.band{padding:40px var(--gutter) 32px}#v-start .band{padding-block:56px 40px}}@media (width<=640px){.wf{min-width:0}.wf thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wf,.wf tbody,.wf tr,.wf td{display:block}.wf tr{border-top:1px solid var(--line);gap:10px;padding-block:14px;display:grid}.wf tr:first-child{border-top:0}.wf td,.wf td.io,.wf td.tm{white-space:normal;border:0;min-width:0;padding:0}.wf td:before{content:attr(data-h);font-family:var(--sans);font-size:var(--s-1);color:var(--fg-2);margin-bottom:2px;font-weight:500;display:block}.wf td:first-child:before{display:none}.block{grid-template-columns:minmax(0,1fr)}.changes li{grid-template-columns:34px minmax(0,1fr)}.changes li span:nth-child(2){grid-column:2}.changes li span:nth-child(3){grid-column:1/-1}}@media (width<=560px){.row{grid-template-columns:minmax(0,1fr)}.row .m{text-align:left;flex-flow:wrap;grid-area:auto/1;align-items:baseline;gap:4px 12px;margin-top:4px}.row.step{grid-template-columns:28px minmax(0,1fr)}.row.step .m{grid-column:2}.row .enter{display:none!important}.pal-row{grid-template-columns:minmax(0,1fr)}.pal-row .m{white-space:normal}}@media (width<=480px){:root{--gutter:16px}.band{padding:32px var(--gutter) 28px}#v-start .band{padding-block:40px 32px}.band .eyebrow{margin-bottom:16px}.band .sub{font-size:var(--s1);margin-top:16px;line-height:24px}.note{grid-template-columns:76px minmax(0,1fr);gap:4px 12px}.note .k{grid-column:2;margin:0}.note p{grid-column:2}.rng{grid-template-columns:60px minmax(0,1fr) 24px}.q{grid-template-columns:minmax(0,1fr)}.q .opts{justify-self:start}.tool{padding:28px 0}.theme button{padding:0 8px}}.skip{z-index:50;background:var(--fg);color:var(--bg);font-size:var(--s0);border-radius:6px;padding:6px 12px;text-decoration:none;position:absolute;top:-48px;left:8px}.skip:focus{color:var(--bg);top:8px}#main:focus{box-shadow:none}html:not(.js) .more,.js #feed-earlier[data-collapsed]{display:none}.meta dd a{text-decoration-color:var(--underline)}.notfound{padding-top:40px}@view-transition{navigation:auto}.topbar{view-transition-name:topbar}.rail{view-transition-name:rail}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:calc(var(--dur-3) * .75) var(--ease-out) both fade-out}::view-transition-new(root){animation:var(--dur-3) var(--ease-out) both view-in}@keyframes fade-out{to{opacity:0}}}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}[hidden]:not([hidden=until-found i]){display:none!important}img{max-width:100%}.presets{margin-bottom:12px}.footer{grid-column:2}@media (width<=840px){.footer{grid-column:1}}.prose>*+ul,.prose>*+ol{margin-top:20px}.metaline{font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;max-width:80ch;margin:20px 0 0;line-height:20px;display:flex}.metaline div{gap:6px;display:flex}.metaline dt{color:var(--fg-3)}.metaline dd{color:var(--fg);margin:0}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.btn{border:1px solid var(--line);background:var(--bg);height:32px;color:var(--fg);font-size:var(--s0);white-space:nowrap;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out);border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--bg-3);border-color:var(--line-2);color:var(--fg)}.btn svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;width:14px;height:14px}.btn-ghost{color:var(--fg-2);border-color:#0000}.btn-primary{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn-primary:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--bg)}.actions .tested{font-family:var(--mono);margin-left:4px;font-weight:400}.prompt{margin:0;border:1px solid var(--line);background:var(--bg-2);border-radius:8px;min-width:0;margin-inline:0;overflow:hidden}.prompt-head{border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;height:40px;padding:0 6px 0 14px;display:flex}.prompt-title{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.copy-btn{border:1px solid var(--line);min-width:28px;height:28px;font-size:var(--s-1);color:var(--fg-2);background:var(--bg);transition:background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;align-items:center;padding:0 10px;font-weight:500;display:inline-flex}.copy-btn:hover{background:var(--bg-3);color:var(--fg)}.copy-btn .cb-i,.copy-btn .cb-ok{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px;margin:0 6px 0 -2px}.copy-btn .cb-ok{stroke-width:1.8px;display:none}.copy-btn[data-state=ok]{color:var(--ok);border-color:currentColor}.copy-btn[data-state=ok] .cb-i{display:none}.copy-btn[data-state=ok] .cb-ok{animation:cb-pop var(--dur-2) var(--ease-out);display:block}@keyframes cb-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.copy-btn[data-state=ok] .cb-ok{animation:none}}@media (pointer:coarse){.prompt .copy-btn{height:32px;padding:0 12px}}.prompt-head .dl-btn{margin-left:auto}.prompt-head .dl-btn+.copy-btn{margin-left:-6px}@media (width<=420px){.prompt-head .dl-btn .cb-l{display:none}.prompt-head .dl-btn .cb-i{margin:0}}.prompt pre{font-family:var(--mono);font-size:var(--s-1);white-space:pre-wrap;word-break:break-word;color:var(--fg);margin:0;padding:14px 16px;line-height:21px;overflow-x:auto}.prompt code{all:unset;font:inherit}.ph{color:var(--accent-text);background:var(--accent-soft);border-radius:4px;padding:0 2px}.callout-box{border:1px solid var(--line);background:var(--bg);border-radius:8px;gap:6px;margin:0;padding:12px 16px 14px;display:grid}.callout-box>*{max-width:none;margin:0}.prose .callout-box>*+*{margin-top:0}.callout-label{font:600 var(--label-13)/var(--label-13-lh) var(--sans);letter-spacing:0;text-transform:none;font-variant:normal;color:var(--fg-2)}.callout-box[data-kind=check]{border-left:2px solid var(--fg)}.callout-box[data-kind=our-rule]{background:var(--bg-2)}.callout-box[data-kind=our-rule] .callout-label{color:var(--accent-text)}.callout-box[data-kind=not-advice]{border-style:dashed}.prose details{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:0}.prose details>summary{cursor:pointer;font-family:var(--mono);font-size:var(--s-1);color:var(--fg-2);border-radius:8px;padding:10px 14px;line-height:20px;list-style:none}.prose details>summary::-webkit-details-marker{display:none}.prose details>summary:before{content:"+ ";color:var(--fg-3)}.prose details[open]>summary:before{content:"- "}.prose details[open]>summary{border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}.prose details>:not(summary){font-size:var(--s0);color:var(--fg-2);margin:12px 16px;line-height:22px}.prose details ul{padding-left:18px}.tbl{border-collapse:collapse;width:100%;font-size:var(--s0);line-height:20px}.tbl th{text-align:left;font-weight:500;font-size:var(--s-1);color:var(--fg-2);border-bottom:1px solid var(--line);vertical-align:bottom;padding:0 12px 8px 0}.tbl td{vertical-align:top;border-bottom:1px solid var(--line);color:var(--fg-2);padding:10px 12px 10px 0}.tbl td:first-child{color:var(--fg);font-weight:500}@media (width<=640px){.tbl thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tbl,.tbl tbody,.tbl tr,.tbl td{display:block}.tbl tr{border-top:1px solid var(--line);gap:8px;padding-block:12px;display:grid}.tbl td{border:0;padding:0}.tbl td:before{content:attr(data-h);font-size:var(--s-1);color:var(--fg-3);margin-bottom:2px;font-weight:500;display:block}.tbl td:first-child:before{display:none}}.cards{gap:12px;min-width:0;display:grid}.cards-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}.cards-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.card{border:1px solid var(--line);background:var(--bg);color:inherit;min-width:0;transition:border-color var(--dur-1) ease,background-color var(--dur-1) ease;border-radius:8px;flex-direction:column;gap:8px;padding:16px;text-decoration:none;display:flex}.card:hover{border-color:var(--line-2);background:var(--bg-2);color:inherit}.card-compact{padding:14px}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-flags{align-items:center;gap:6px;display:flex}.card-flags .label{font-family:var(--mono);font-weight:400;font-size:var(--s-2)}.card-t{font-size:var(--s1);letter-spacing:-.01em;color:var(--fg);font-weight:500;line-height:22px}.card-s{font-size:var(--s0);color:var(--fg-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:21px;display:-webkit-box;overflow:hidden}.card-m{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;margin-top:auto;padding-top:4px;display:flex}.glyph{border:1px solid var(--line);background:var(--bg-2);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.glyph rect{fill:var(--fg)}.row-tags{flex-wrap:wrap;grid-column:1;gap:4px;margin-top:6px;display:flex}.row:has(.row-tags) .m{grid-row:1/4}.row.step:has(.row-tags) .row-tags{grid-column:2}[data-item].is-hidden{display:none!important}.filters{gap:10px;margin-bottom:16px;display:grid}.filter-q{border:1px solid var(--line);background:var(--bg-2);height:36px;color:var(--fg-3);min-width:0;transition:border-color .12s var(--ease-out),background-color .12s var(--ease-out);border-radius:6px;align-items:center;gap:8px;padding:0 10px;display:flex}.filter-q:focus-within{border-color:var(--line-2);background:var(--bg)}.filter-q svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;flex:none;width:14px;height:14px}.filter-q input{min-width:0;height:100%;color:var(--fg);font:inherit;font-size:var(--s0);background:0 0;border:0;outline:none;flex:1}.filter-q input:focus-visible{box-shadow:none}.filter-count{min-height:20px;margin-top:12px}.featured{margin-bottom:40px}.empty{padding:24px 0}.gallery{padding:40px 0 96px}.gallery-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.gallery-bar .filter-q{flex:0 280px}.sort-tabs button{white-space:nowrap}.browse{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:40px;padding:40px 0 96px;display:grid}.browse-side{top:calc(var(--stick) + 24px);gap:20px;min-width:0;display:grid;position:sticky}.facet{gap:2px;display:grid}.facet legend{color:var(--fg);margin-bottom:6px}.check{min-height:30px;font-size:var(--s0);color:var(--fg-2);cursor:pointer;transition:background-color .12s var(--ease-out);border-radius:6px;align-items:center;gap:8px;margin-inline:-6px;padding:0 6px;display:flex}.check:hover{background:var(--bg-3);color:var(--fg)}.check input{accent-color:var(--fg);width:14px;height:14px;margin:0}.check .n{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-3);margin-left:auto}.browse-side .more{justify-self:start;margin-top:0}.related{margin-top:56px}.related h2{margin-bottom:12px}.pn{grid-template-columns:1fr 1fr;gap:12px;margin-top:48px;display:grid}.pn a{border:1px solid var(--line);color:var(--fg);font-size:var(--s0);min-width:0;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out);border-radius:8px;flex-direction:column;gap:2px;padding:14px 16px;font-weight:500;line-height:20px;text-decoration:none;display:flex}.pn a:hover{background:var(--bg-2);border-color:var(--line-2);color:var(--fg)}.pn-r{text-align:right;align-items:flex-end}.pn .label{font-weight:400}.note-box{border:1px solid var(--line);font-size:var(--s-1);color:var(--fg-2);border-radius:8px;gap:4px;padding:12px 14px;line-height:20px;display:grid}.note-box p{margin:0}.note-box-label{font:600 var(--label-13)/var(--label-13-lh) var(--sans);letter-spacing:0;text-transform:none;font-variant:normal;color:var(--fg)}.note-box[data-kind=confidence-high] .note-box-label{color:var(--accent-text)}.widget{border:1px solid var(--line);background:var(--bg);border-radius:8px;gap:16px;min-width:0;padding:20px;display:grid}.widget-fallback{font-size:var(--s-1);color:var(--fg-3);margin:0}.widget-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.widget-head .label{font-family:var(--mono);font-weight:400}@media (width<=840px){.browse{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px}.browse-side{position:static}.gallery{padding-top:24px}}@media (width<=560px){.pn{grid-template-columns:minmax(0,1fr)}.pn-r{text-align:left;align-items:flex-start}}.prose>*+:is(.prompt,.callout-box,.tbl-wrap,.widget,details),.prose>:is(.prompt,.callout-box,.tbl-wrap,.widget,details)+*{margin-top:20px}input.num{border:1px solid var(--line);background:var(--bg);width:96px;height:30px;color:var(--fg);font:inherit;font-size:var(--s-1);font-variant-numeric:tabular-nums;border-radius:6px;padding:0 8px}input.num:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input.num:disabled{opacity:.5}input.num[aria-invalid=true]{border-color:var(--danger,#e5484d)}.num-label{font-weight:500}.num-hint,.num-err{margin:0}.num-err{grid-column:1/-1}.num-err:empty{display:none}.run{clear:both;flex-wrap:wrap;grid-column:1/-1;align-items:flex-end;gap:10px 16px;width:100%;margin-top:6px;display:flex}.run .num-label{font-size:var(--s-1);flex-direction:column;gap:4px;display:flex}.run .num-hint{font-weight:400;font-size:var(--s-2,12px);color:var(--fg-2)}.run .num-err{flex-basis:100%}.lvl{font-family:var(--sans);font-size:var(--s-2);color:var(--fg-2);white-space:nowrap;align-items:center;gap:6px;font-weight:500;line-height:1;flex-wrap:nowrap!important;align-items:center!important;column-gap:6px!important;display:inline-flex!important}.lvl-bars{flex:none;width:13px;height:10px}.lvl-bars rect{fill:var(--line-2)}.lvl[data-lvl=beginner] rect:nth-child(-n+1),.lvl[data-lvl=intermediate] rect:nth-child(-n+2),.lvl[data-lvl=advanced] rect{fill:var(--fg)}.lvl-pick{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;display:flex}.lvl-pick[hidden]{display:none}.lvl-pick-k{font-size:var(--s-1);color:var(--fg-2);margin-right:4px}.lvl-pick .chip{cursor:pointer;gap:6px}.lvl-pick .chip .n{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-3)}.doors{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1000px;margin:40px 0 0;display:grid}.door{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg);min-width:0;color:var(--fg);transition:border-color var(--dur-1) ease;flex-direction:column;gap:8px;padding:20px;text-decoration:none;display:flex}.door:hover{border-color:var(--line-2)}.door .lvl{gap:0;font-size:0}.door .lvl-bars{width:16px;height:12px}.door-t{letter-spacing:-.02em;font-size:20px;font-weight:600}.door-s{font-size:var(--s-1);color:var(--fg-2);line-height:20px}.door-picks{border-top:1px solid var(--line);font-size:var(--s-1);color:var(--fg);flex-direction:column;gap:4px;margin-top:6px;padding-top:12px;display:flex}.door-picks span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.door-picks span:before{content:"→ ";color:var(--fg-3)}.door-n{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-2);margin-top:auto;padding-top:8px}.calcs{max-width:1000px;margin:48px 0 0}.calc-row{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:16px;display:grid}.calc{border:1px solid var(--line);border-radius:var(--r-3);background:var(--bg-2);color:var(--fg);transition:border-color var(--dur-1) ease,background-color var(--dur-1) ease;flex-direction:column;gap:10px;padding:16px;text-decoration:none;display:flex}.calc:hover{border-color:var(--line-2);background:var(--bg)}.calc-ico{border-radius:var(--r-2);background:var(--fg);width:36px;height:36px;color:var(--bg);justify-content:center;align-items:center;display:inline-flex}.calc-ico svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:18px;height:18px}.calc-t{font-size:var(--s0);font-weight:500;line-height:20px}.calc-k{font-family:var(--mono);font-size:var(--s-2);color:var(--fg-3)}@media (width<=760px){.doors{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.calc-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calc{gap:8px;padding:14px}.calc-ico{border-radius:8px;width:30px;height:30px}}.list[data-cap]:not(.capped)>[data-item]:nth-child(n+5){display:none}.topbar{background:var(--bg);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,420px) minmax(0,1fr);gap:16px;padding-inline:20px}@supports (backdrop-filter:blur(1px)){.topbar{background:var(--bg-blur);backdrop-filter:saturate(180%)blur(14px)}}.top-left{justify-self:start;align-items:center;gap:6px;min-width:0;display:flex}.wordmark{letter-spacing:-.02em;color:var(--fg);white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:600;line-height:20px;text-decoration:none;display:inline-flex}.wordmark:hover{color:var(--fg)}.mark{flex:none;width:22px;height:22px}.mark rect{fill:var(--fg)}.mark path{fill:var(--bg)}.menu-btn{width:34px;height:34px;color:var(--fg-2);transition:background-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:6px;justify-content:center;align-items:center;margin-left:-8px;display:none}.menu-btn:hover{background:var(--bg-3);color:var(--fg)}.menu-btn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:16px;height:16px}.search-btn{height:34px;box-shadow:0 1px 0 var(--ring);border-radius:8px;gap:9px;padding:0 6px 0 11px}.search-btn:hover{background:var(--bg);border-color:var(--line-2)}.search-btn kbd{min-width:22px;height:22px;font-size:var(--label-12);background:var(--bg);color:var(--fg-2);border-radius:5px}.search-icon{border-color:#0000;border-radius:6px;width:34px;height:34px}.theme{background:var(--bg);border-radius:8px;gap:1px;padding:2px}.theme button{width:28px;height:26px;color:var(--fg-3);border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme button svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.theme button:hover{color:var(--fg)}.theme button[aria-pressed=true]{background:var(--bg-3);color:var(--fg);box-shadow:0 0 0 1px var(--line)}.top-right{gap:8px}.frame{grid-template-columns:var(--rail) minmax(0,1fr)}.rail{top:calc(var(--top) + var(--safe));height:calc(100vh - var(--top) - var(--safe));height:calc(100dvh - var(--top) - var(--safe));gap:0;padding:0;overflow:hidden}.rail-head,.scrim{display:none}.rail-nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex:auto;gap:22px;min-height:0;padding:20px 12px 16px;overflow-y:auto}.rail-group{flex-direction:column;gap:1px;display:flex}.rail-h{font-size:var(--s-1);letter-spacing:-.005em;color:var(--fg);margin:0 0 6px;padding:0 8px;font-weight:600;line-height:20px}.rail-item{height:30px;font-size:var(--s0);color:var(--fg-2);gap:8px;padding:0 8px}.rail-item:hover{background:var(--bg-3);color:var(--fg)}.rail-item[aria-current=page]{background:var(--bg-3);color:var(--fg);font-weight:500}.rail-item .n{font-size:var(--label-12);color:var(--fg-3);gap:6px}.rail-item[aria-current=page] .n{color:var(--fg-2)}.rail-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rail-tree{border-left:1px solid var(--line);gap:1px;margin:2px 0 8px 15px;padding:0 0 0 8px}.rail-tree a{font-size:var(--s-1);color:var(--fg-2);border-left:0;border-radius:6px;padding:5px 8px;line-height:20px;position:relative}.rail-tree a:hover{background:var(--bg-3);color:var(--fg)}.rail-tree a[aria-current=page]{background:var(--bg-3);color:var(--fg);border-left-color:#0000;font-weight:500}.rail-tree a[aria-current=page]:before{content:"";background:var(--fg);width:1px;position:absolute;top:5px;bottom:5px;left:-9px}.rail-tree .v{font-size:var(--label-12);color:var(--fg-3)}.rail-foot{border-top:1px solid var(--line);background:var(--bg);flex:none;gap:14px;margin-top:0;padding:14px 20px 16px}.spark-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.bars-title{color:var(--fg-2);margin:0;font-size:12px;font-weight:500;line-height:16px}.spark-now{font-family:var(--mono);font-size:var(--label-12);color:var(--fg);white-space:nowrap;line-height:16px}.bars{gap:3px;height:36px}.bars i{background:var(--line-2);min-height:3px;transition:background-color .12s var(--ease-out);border-radius:2px}.bars i:hover{background:var(--fg-3)}.bars i.is-now{background:var(--fg)}.bars-cap{font-size:var(--label-12);color:var(--fg-3);margin-top:6px}.hints{display:block}.hints button{font-family:var(--sans);font-size:var(--s-1);color:var(--fg-2);align-items:center;gap:8px;padding:2px 4px 2px 0;line-height:20px;text-decoration:none;display:inline-flex}.hints button:hover{color:var(--fg);text-decoration:none}.hints kbd{min-width:20px;height:20px}a.rail-h{height:28px;transition:background-color .12s var(--ease-out);border-radius:6px;align-items:center;gap:6px;margin:-4px 0 2px;text-decoration:none;display:flex}a.rail-h:hover,a.rail-h[aria-current=page]{background:var(--bg-3);color:var(--fg)}.rail-h-go{color:var(--fg-3);transition:transform .15s var(--ease);font-weight:400}a.rail-h:hover .rail-h-go{color:var(--fg);transform:translate(2px)}.rail-more>summary{cursor:pointer;user-select:none;list-style:none}.rail-more>summary::-webkit-details-marker{display:none}.rail-more>summary .n{margin-left:auto}.rail-chev{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;color:var(--fg-3);transition:transform .15s var(--ease-out);flex:none}.rail-more[open]>summary .rail-chev{transform:rotate(90deg)}.rail-more[data-current]>summary{background:var(--bg-3);color:var(--fg);font-weight:500}.rail-sub{border-left:1px solid var(--line);margin:2px 0 8px 15px;padding:0 0 0 8px}.rail-sub ul{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.rail-sub ul+ul{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.rail-sub a{font-size:var(--s-1);color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:4px 8px;line-height:20px;text-decoration:none;display:block;overflow:hidden}.rail-sub a:hover{background:var(--bg-3);color:var(--fg)}.rail-sub a[aria-current=page]{background:var(--bg-3);color:var(--fg);font-weight:500}.rail-steps a>span:first-child{width:14px;font-family:var(--mono);font-size:var(--label-12);color:var(--fg-3);text-align:right;flex:none}.rail-steps a>span+span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rail-steps a[aria-current=page]>span:first-child{color:var(--fg)}.rail-theme{display:none}.sec-tabs{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:none;align-items:center;gap:4px;display:none;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.sec-tabs.is-sticky{top:var(--stick);z-index:20;position:sticky}.sec-tabs::-webkit-scrollbar{display:none}.sec-tabs a{height:44px;font-size:var(--s0);color:var(--fg-2);transition:color .12s var(--ease-out),border-color .12s var(--ease-out);border-bottom:2px solid #0000;flex:none;align-items:center;margin-bottom:-1px;padding:0 10px;text-decoration:none;display:inline-flex}.sec-tabs a:hover{color:var(--fg)}.sec-tabs a[aria-current=page]{color:var(--fg);border-bottom-color:var(--fg);font-weight:500}.sec-tabs a:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.sec-tabs-k{border-right:1px solid var(--line);font:var(--font-label);letter-spacing:0;text-transform:none;font-variant:normal;color:var(--fg-2);flex:none;margin-right:4px;padding-right:10px}@media (width<=840px){.sec-tabs{display:flex}}.footer{padding:56px var(--gutter) 28px;font-family:var(--sans);font-size:var(--s-1);color:var(--fg-2);margin-top:0;line-height:20px;display:block}.foot-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,3fr);gap:32px 24px;display:grid}.foot-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;display:grid}.foot-brand p{max-width:32ch;color:var(--fg-2);margin-top:14px}.foot-col{flex-direction:column;gap:9px;min-width:0;display:flex}.foot-col h2{font-size:var(--s-1);letter-spacing:-.005em;color:var(--fg);margin:0 0 3px;font-weight:600;line-height:20px}.foot-col a{width:fit-content;color:var(--fg-2);text-decoration:none}.foot-col a:hover{color:var(--fg)}.foot-col h2 a{color:inherit}.foot-col h2 a:hover{color:var(--fg);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:3px}.foot-facts{color:var(--fg-2);flex-wrap:wrap;gap:4px 0;margin:40px 0 0;display:flex}.foot-facts span+span:before{content:"·";color:var(--fg-3);margin:0 10px}.foot-facts b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:500}.foot-base a{color:inherit}.foot-base a:hover{color:var(--fg)}.foot-base{border-top:1px solid var(--line);color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:20px;padding-top:20px;font-size:12px;display:flex}.palette,.sheet{box-shadow:0 0 0 1px var(--line),var(--shadow);border-radius:12px}.palette{width:min(600px,94vw)}.pal-in{gap:12px;padding:0 16px 0 18px}.pal-in input{height:54px;font-size:16px}.pal-in kbd,.pal-foot kbd,.sheet kbd{min-width:20px;height:20px;font-size:var(--label-12)}.pal-list{padding:8px}.pal-group{letter-spacing:0;color:var(--fg-3);padding:12px 10px 6px;font-size:12px}.pal-row{border-radius:8px;padding:9px 10px}.pal-row[aria-selected=true]{background:var(--bg-3)}.pal-foot{background:var(--bg-2);padding:10px 16px}.sheet-head{padding:16px 18px}.sheet dl{gap:12px 20px;padding:18px}.sheet dt{min-width:84px}.btn-lg{height:40px;font-size:var(--s1);border-radius:8px;gap:8px;padding:0 18px}.btn-lg svg{stroke-width:1.5px;stroke-linecap:round;width:15px;height:15px;transition:transform .15s var(--ease)}.btn-lg:hover svg{transform:translate(2px)}.btn-primary:hover{color:var(--bg)}#v-start .band.hero{padding:96px var(--gutter) 64px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);opacity:.55;background-position:-1px -1px;background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 90% at 0 0,#000 10%,#0000 72%);mask-image:radial-gradient(80% 90% at 0 0,#000 10%,#0000 72%)}.hero>*{position:relative}.hero .eyebrow{margin-bottom:28px}.pill{border:1px solid var(--line);background:var(--bg);height:28px;font-family:var(--sans);font-size:var(--s-1);color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;max-width:100%;transition:border-color .12s var(--ease-out),color .12s var(--ease-out);border-radius:9999px;align-items:center;gap:9px;padding:0 12px 0 10px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex;overflow:hidden}.pill:hover{border-color:var(--line-2);color:var(--fg)}.pill i{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.hero h1{font-size:var(--heading-48);line-height:var(--heading-48-lh);letter-spacing:-.05em;max-width:15ch;color:var(--fg-hi);font-weight:600}.hero .sub{max-width:54ch;font-size:var(--copy-16);line-height:var(--copy-16-lh);color:var(--fg-2);margin-top:24px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.sect-head{align-items:flex-end;margin-bottom:12px}.sect-head>div{gap:4px;min-width:0;display:grid}.sect-sub{font-size:var(--s0);color:var(--fg-2);line-height:20px}.sect-link{font-size:var(--s0);color:var(--fg);white-space:nowrap;align-items:center;gap:6px;font-weight:500;line-height:20px;text-decoration:none;display:inline-flex}.sect-link:hover{color:var(--accent-text)}.home-cols{padding-top:56px}.notfound .actions{margin-top:0}html:not(.js) .menu-btn{display:none!important}@media (width<=1100px){.foot-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=840px){:root{--strip:0px}.topbar{padding-inline:var(--gutter);grid-template-columns:minmax(0,1fr) auto}.top-left{grid-column:1}.top-right{grid-column:2}.menu-btn{display:inline-flex}.search-btn{display:none}.search-icon{display:inline-flex}.frame{grid-template-columns:minmax(0,1fr)}.scrim{z-index:58;background:var(--backdrop);opacity:0;pointer-events:none;transition:opacity .2s var(--ease-out);display:block;position:fixed;inset:0}.rail{z-index:60;border-right:1px solid var(--line);background:var(--bg);width:min(320px,86vw);height:100dvh;box-shadow:var(--shadow);visibility:hidden;transition:transform .24s var(--ease),visibility 0s linear .24s;view-transition-name:none;border-bottom:0;flex-direction:column;align-items:stretch;padding:0;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-104%)}.rail:before,.rail:after{display:none}html.rail-open .rail{visibility:visible;transition:transform .24s var(--ease),visibility 0s;transform:none}html.rail-open .scrim{opacity:1;pointer-events:auto}html.rail-open body{overflow:hidden}.rail-head{height:var(--top);border-bottom:1px solid var(--line);letter-spacing:-.02em;color:var(--fg);flex:none;justify-content:space-between;align-items:center;padding:0 12px 0 20px;font-size:15px;font-weight:600;display:flex}.rail-head .x{width:32px;height:32px;font-size:20px;line-height:1}.rail-nav{flex-direction:column;flex:auto;gap:22px;padding:16px 12px}.rail-item{border-bottom:0;border-radius:6px;height:34px;padding:0 8px;font-size:15px}.rail-item:hover{background:var(--bg-3)}.rail-item[aria-current=page]{background:var(--bg-3);border-bottom:0}.rail-item .n{font-size:var(--label-12);margin-left:auto;line-height:20px}.rail .rail-tree.is-open,.rail .rail-foot{display:flex!important}.rail-sub a{font-size:var(--s0);padding:7px 8px}a.rail-h{height:34px;font-size:var(--s0)}.top-right .theme{display:none}.rail-theme{justify-content:space-between;align-items:center;gap:12px;display:flex}.rail-theme-k{font-size:var(--s0);color:var(--fg-2)}.rail-theme .theme button{width:auto;height:32px;font-family:var(--sans);font-size:var(--s-1);color:var(--fg-2);gap:6px;padding:0 10px;line-height:32px}.rail-theme .theme button[aria-pressed=true]{color:var(--fg)}.rail-tree a{font-size:var(--s0);padding:8px 8px 8px 12px}.rail-tree a>span:first-child{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.footer{grid-column:1;padding-top:40px}html:not(.js) .rail{visibility:visible;border-right:0;border-bottom:1px solid var(--line);width:auto;height:auto;box-shadow:none;position:static;transform:none}html:not(.js) .rail-head{display:none}html:not(.js) .rail-nav{overflow:visible}#v-start .band.hero{padding:64px var(--gutter) 48px}}@media (width<=640px){.foot-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){#v-start .band.hero{padding:44px var(--gutter) 36px}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:var(--heading-40);line-height:var(--heading-40-lh)}.hero .sub{font-size:var(--s1);margin-top:18px;line-height:24px}.hero-actions{margin-top:24px}.hero-actions .btn{flex:auto;justify-content:center}.theme button{width:26px;padding:0}.home-cols{padding-top:36px}.footer{padding-bottom:24px}}.rail-tree .v{display:none}.rail-tree a[aria-current=page] .v,.rail-tree a:hover .v{display:inline}@media (height<=760px){.rail-foot{gap:10px;padding-block:12px}.bars{height:28px}.bars-cap{display:none}}@media (width<=840px){#v-start .aside{display:none}}@media (pointer:coarse){.theme button{width:32px;height:32px;padding:0;line-height:32px}}.print-only{display:none}@media print{html:root:root{--bg:#fff;--bg-2:#fafafa;--bg-3:#f5f5f5;--bg-4:#ebebeb;--panel:#fff;--fg:#171717;--fg-hi:#000;--fg-2:#555;--fg-3:#666;--line:#e0e0e0;--line-2:#ccc;--underline:#bbb;--tick:#c9c9c9;--accent-text:#0060df;--ok:#1a7f37;--stick:0px;color-scheme:light}body{color:var(--fg);background:#fff!important}.topbar,.rail,.scrim,.footer,.palette,.sheet,.skip,.hints,.copy-btn,.phone-bar,.sec-tabs{display:none!important}.frame{display:block!important}.main{max-width:none!important;margin:0!important;padding:0!important}.print-only{display:block!important}.print-src{font:400 11px/16px var(--mono);color:var(--fg-2);margin:0 0 12px}a{color:inherit}@page{margin:14mm 12mm}pre,figure,tr,img,svg{break-inside:avoid}h1,h2,h3{break-after:avoid}}.nl{max-width:440px;margin-top:20px}.nl-news{border:1px solid var(--line);border-radius:12px;max-width:none;margin:28px 0 12px;padding:16px}.nl-h{font-weight:600;font-size:var(--s-1);color:var(--fg);margin:0 0 8px}.nl-row{gap:8px;display:flex}.nl-row input[type=email]{border:1px solid var(--line-2,var(--line));background:var(--bg);min-width:0;height:36px;color:var(--fg);font:inherit;font-size:var(--s-1);border-radius:8px;flex:1;padding:0 10px}.nl-row button{background:var(--fg);height:36px;color:var(--bg);font-weight:500;font-size:var(--s-1);cursor:pointer;border:0;border-radius:8px;padding:0 14px}.nl-fine{font-size:var(--s-2);color:var(--fg-3);margin:8px 0 0;line-height:1.5}.nl-fine a{color:var(--fg-2)}
