:root{--accent:#0b5a86;--accent-tint:#e9f2f8;--accent-ink:#083f5f;--ink:#141c24;--ink2:#2b3640;--mu:#56616c;--ln:#e2e6ea;--ln2:#cfd6dc;--bg1:#f4f6f8;--bg2:#eef1f4;--ok:#1d6b3a;--ok-bg:#e8f4ec;--warn:#8a4b00;--warn-bg:#fdf3e2;--no:#a3261b;--no-bg:#fbecea;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--f-xs:.8125rem;--f-sm:.9375rem;--f-md:1.0625rem;--f-lg:1.25rem;--f-xl:1.5rem;--f-2xl:clamp(1.6rem,1.25rem + 1.3vw,2.125rem);--f-3xl:clamp(2rem,1.45rem + 2.3vw,2.875rem);--w:1200px;--gut:clamp(16px,4vw,32px);--r:10px;--r-sm:6px;--r-lg:14px;--side:290px;--font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{color:var(--ink);font:400 var(--f-md)/1.65 var(--font);overflow-wrap:break-word;background:#fff;margin:0}img,svg{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent-ink);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.015em;margin:0;font-weight:700;line-height:1.2}h1{font-size:var(--f-3xl);letter-spacing:-.025em;line-height:1.1}h2{font-size:var(--f-2xl)}h3{font-size:var(--f-lg)}h4{font-size:var(--f-md)}p,ul,ol,dl,blockquote,table{margin:0}.wrap{max-width:var(--w);padding:0 var(--gut);margin:0 auto}.skip{padding:var(--s3) var(--s4);z-index:100;background:#fff;position:absolute;top:0;left:-9999px}.skip:focus{left:var(--s4);top:var(--s4)}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.hd{border-bottom:1px solid var(--ln);background:#fff}.hd-in{align-items:center;gap:var(--s5);min-height:72px;display:flex}.hd{position:relative}.brand{color:var(--ink);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;min-height:44px;font-size:1.125rem;font-weight:750;text-decoration:none;display:flex}.brand:hover{color:var(--ink)}.brand svg{flex:none}.brand b{color:var(--accent);font-weight:800}.nav{margin-left:auto}.nav ul{gap:2px;margin:0;padding:0;list-style:none;display:flex}.nav a{border-radius:var(--r-sm);min-height:44px;color:var(--ink2);font-weight:550;font-size:var(--f-sm);white-space:nowrap;align-items:center;padding:0 11px;text-decoration:none;display:inline-flex}.nav a:hover,.nav a[aria-current]{background:var(--bg1);color:var(--ink)}.nav a[aria-current]{color:var(--accent-ink)}.srch{border-radius:var(--r-sm);width:44px;height:44px;color:var(--ink2);flex:none;justify-content:center;align-items:center;display:inline-flex}.srch:hover{background:var(--bg1);color:var(--ink)}.mnav{margin-left:auto;display:none}.mnav summary{border:1px solid var(--ln2);border-radius:var(--r-sm);cursor:pointer;min-height:44px;font-weight:600;font-size:var(--f-sm);align-items:center;gap:8px;padding:0 14px;list-style:none;display:inline-flex}.mnav summary::-webkit-details-marker{display:none}.mpanel{border-bottom:1px solid var(--ln);z-index:40;background:#fff;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 30px -24px #111a2266}.mpanel ul{padding:0 0 var(--s3);margin:0;list-style:none}.mpanel a{min-height:48px;padding:0 var(--s2);color:var(--ink);border-top:1px solid var(--ln);align-items:center;font-weight:550;text-decoration:none;display:flex}@media (width<=1100px){.nav,.hd .srch{display:none}.mnav{display:block}}.bc{padding-top:var(--s5);font-size:var(--f-sm);color:var(--mu)}.bc ol{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bc li+li:before{content:"›";color:var(--mu);margin:0 8px}.bc a{color:var(--mu);align-items:center;min-height:32px;text-decoration:none;display:inline-flex}.bc a:hover{color:var(--accent);text-decoration:underline}.bc [aria-current]{color:var(--ink2);align-items:center;min-height:32px;display:inline-flex}.ph{padding:var(--s6) 0 var(--s6);border-bottom:1px solid var(--ln)}.ph .lede{margin-top:var(--s4);font-size:var(--f-lg);color:var(--ink2);line-height:1.55}.meta{margin-top:var(--s4);font-size:var(--f-sm);color:var(--mu);flex-wrap:wrap;gap:4px 18px;display:flex}.meta a{color:var(--mu)}.afil{margin-top:var(--s5);padding:var(--s4) var(--s5);background:var(--bg1);border-radius:var(--r);font-size:var(--f-sm);color:var(--ink2);line-height:1.55}.afil strong{color:var(--ink);font-weight:650}.layout{gap:var(--s7);padding:var(--s7) 0 0;grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1024px){.layout.with-side{grid-template-columns:minmax(0,1fr) var(--side);gap:var(--s8)}}.side{display:none}@media (width>=1024px){.side{display:block}.side-in{top:var(--s5);gap:var(--s6);max-height:calc(100vh - 48px);padding:0 2px var(--s4);display:grid;position:sticky;overflow:auto}}.side h2{font-size:var(--f-sm);color:var(--ink);letter-spacing:0;margin-bottom:var(--s3);font-weight:700}.toc ol{border-left:1px solid var(--ln);margin:0;padding:0;list-style:none}.toc a{color:var(--mu);font-size:var(--f-sm);border-left:1px solid #0000;margin-left:-1px;padding:6px 0 6px 14px;line-height:1.4;text-decoration:none;display:block}.toc a:hover{color:var(--ink)}.toc a.on{color:var(--accent-ink);border-left-color:var(--accent);font-weight:600}.qf dl{gap:var(--s3);padding:var(--s4);background:var(--bg1);border-radius:var(--r);display:grid}.qf dt{font-size:var(--f-xs);color:var(--mu);font-weight:600}.qf dd{font-size:var(--f-sm);color:var(--ink);margin:2px 0 0;font-weight:600;line-height:1.45}.side .tools ul{margin:0;padding:0;list-style:none}.side .tools a{min-height:44px;color:var(--ink);font-weight:600;font-size:var(--f-sm);align-items:center;gap:10px;line-height:1.35;text-decoration:none;display:flex}.side .tools a:hover{color:var(--accent);text-decoration:underline}.side .tools svg{color:var(--accent);flex:none}.mtoc{margin:0 0 var(--s6);border:1px solid var(--ln);border-radius:var(--r)}.mtoc summary{min-height:48px;padding:0 var(--s4);cursor:pointer;align-items:center;font-weight:650;display:flex}.mtoc ol{padding:0 var(--s4) var(--s4) calc(var(--s4) + 18px);margin:0}.mtoc a{padding:7px 0;display:inline-block}@media (width>=1024px){.mtoc{display:none}}.prose>*+*{margin-top:var(--s4)}.prose>h2{margin-top:var(--s8);scroll-margin-top:var(--s5)}.prose>h2:first-child{margin-top:0}.prose>h3{margin-top:var(--s6);scroll-margin-top:var(--s5)}.prose>h4{margin-top:var(--s5)}.prose>h2+*,.prose>h3+*,.prose>h4+*{margin-top:var(--s3)}.prose ul,.prose ol{padding-left:1.35em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:var(--s2)}.prose li::marker{color:var(--mu)}.prose strong{color:var(--ink);font-weight:650}.prose blockquote{padding:var(--s4) var(--s5);background:var(--bg1);border-radius:var(--r);color:var(--ink2)}.prose blockquote p+p{margin-top:var(--s2)}.prose blockquote p:last-child:not(:first-child){font-size:var(--f-sm);color:var(--mu)}.prose blockquote p:last-child:not(:first-child) a{color:var(--mu)}.prose hr{border:0;border-top:1px solid var(--ln);margin:var(--s7) 0}.prose>p:first-child{font-size:var(--f-lg);color:var(--ink2);line-height:1.6}.prose>p:first-child strong{color:var(--ink)}.tw{border:1px solid var(--ln);border-radius:var(--r);max-width:100%;overflow-x:auto}.tw:focus-visible{outline-offset:-3px}table{border-collapse:collapse;width:100%;font-size:var(--f-sm);line-height:1.5}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ln);padding:10px 14px}th{background:var(--bg1);color:var(--ink);font-weight:650}tr:last-child td{border-bottom:0}.fn{white-space:nowrap;margin-left:1px;font-size:.72em;line-height:0}.fn a{text-align:center;color:var(--accent);border-radius:4px;padding:.1em .15em;font-weight:600;text-decoration:none;display:inline}.fn a:hover{background:var(--accent-tint)}.fs{color:var(--mu)}.qp{z-index:60;width:min(440px,100vw - 24px);padding:var(--s4) var(--s5);border:1px solid var(--ln2);border-radius:var(--r-lg);font-size:var(--f-sm);background:#fff;line-height:1.55;position:absolute;box-shadow:0 18px 40px -18px #111a2259}.qp[hidden]{display:none}.qp.sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;width:auto;max-height:70vh;position:fixed;bottom:0;left:0;right:0;overflow:auto;top:auto!important}.qp-h{margin:0 0 var(--s2);font-size:var(--f-xs);color:var(--mu);font-weight:650}.qp blockquote{margin:0 0 var(--s2);padding:var(--s3) var(--s4);border-radius:var(--r-sm);background:var(--bg1);color:var(--ink)}.qp .tr{margin:0 0 var(--s2);color:var(--ink2)}.qp-s{margin:var(--s3) 0 var(--s1);font-weight:600}.qp-d{margin:0 0 var(--s3);color:var(--mu)}.qp-x{border:1px solid var(--ln2);border-radius:var(--r-sm);min-height:44px;font:inherit;color:var(--ink);cursor:pointer;margin-right:var(--s2);background:#fff;align-items:center;padding:0 16px;font-weight:600;display:inline-flex}.qp-x:hover{background:var(--bg1)}.qp a.qp-x{text-decoration:none}.pc{gap:var(--s4) var(--s5);padding:var(--s5);background:var(--bg1);border-radius:var(--r-lg);scroll-margin-top:var(--s5);grid-template-columns:56px minmax(0,1fr) auto;align-items:start;display:grid}.prose>.pc{margin-top:var(--s5)}.pc-ic{width:56px;height:56px;color:var(--accent);background:#fff;border-radius:12px;place-items:center;display:grid}.pc-n{letter-spacing:-.01em;font-size:var(--f-lg)!important;margin:0!important}.pc-m{color:var(--mu);font-size:var(--f-sm);margin-top:2px}.pc-s{margin-top:var(--s4);gap:var(--s3) var(--s5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.pc-s dt{font-size:var(--f-xs);color:var(--mu);font-weight:600}.pc-s dd{font-size:var(--f-sm);color:var(--ink);margin:1px 0 0;line-height:1.45}.pc-t{margin-top:var(--s4);font-size:var(--f-sm);color:var(--ink2)}.pc-t span{color:var(--ink);font-weight:650}.pc-a{gap:var(--s2);flex-direction:column;align-items:stretch;min-width:180px;display:flex}.btn{border-radius:var(--r-sm);background:var(--accent);color:#fff;white-space:nowrap;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-weight:650;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-ink);color:#fff;text-decoration:none}.lnk{min-height:44px;font-weight:600;font-size:var(--f-sm);justify-content:center;align-items:center;padding:0 14px;display:inline-flex}@media (width<=760px){.pc{padding:var(--s4);grid-template-columns:44px minmax(0,1fr)}.pc-ic{width:44px;height:44px}.pc-ic svg{width:30px;height:30px}.pc-a{grid-column:1/-1;min-width:0}.pc-s{grid-template-columns:minmax(0,1fr)}}.after{margin-top:var(--s8);gap:var(--s7);padding-bottom:var(--s4);display:grid}.srcs h2,.rel h2{font-size:var(--f-xl)}.srcs ol{margin-top:var(--s4);gap:var(--s3);font-size:var(--f-sm);padding-left:1.6em;line-height:1.5;display:grid}.srcs li{scroll-margin-top:var(--s5);padding:2px 4px}.srcs li:target{background:var(--accent-tint);border-radius:var(--r-sm)}.srcs .pub{color:var(--ink2)}.srcs .dt{color:var(--mu)}.rev{font-size:var(--f-sm);color:var(--mu);padding-top:var(--s5);border-top:1px solid var(--ln)}.cards{margin:var(--s4) 0 0;gap:0 var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));padding:0;list-style:none;display:grid}.cards a{gap:var(--s3);padding:var(--s4) 0;border-top:1px solid var(--ln);color:var(--ink);align-items:flex-start;height:100%;min-height:44px;text-decoration:none;display:flex}.cards a:hover strong{color:var(--accent);text-decoration:underline}.cards svg{color:var(--accent);flex:none;margin-top:2px}.cards strong{font-weight:650;line-height:1.35;display:block}.cards span{color:var(--mu);font-size:var(--f-sm);margin-top:4px;line-height:1.45;display:block}.grp{margin-top:var(--s7)}.grp:first-child{margin-top:0}.grp>h2{font-size:var(--f-xl)}.hero{gap:var(--s6);padding:var(--s8) 0 var(--s7);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}@media (width>=900px){.hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.hero .lede{margin-top:var(--s4);font-size:var(--f-lg);color:var(--ink2)}.hero-art{color:var(--accent);justify-content:center;display:flex}.hero-art svg{width:100%;max-width:420px}.feature{gap:var(--s5);padding:var(--s6);background:var(--bg1);border-radius:var(--r-lg);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=900px){.feature{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center}}.feature h2{font-size:var(--f-xl)}.feature p{margin-top:var(--s3);color:var(--ink2)}.sec{margin-top:var(--s8)}.sec>h2{font-size:var(--f-xl)}.sec>p{margin-top:var(--s3);color:var(--ink2)}.hubgrid{margin:var(--s5) 0 0;gap:var(--s6) var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));padding:0;list-style:none;display:grid}.hubgrid>li{padding-top:var(--s4);border-top:1px solid var(--ink)}.hubgrid h3{align-items:center;gap:10px;display:flex}.hubgrid h3 svg{color:var(--accent);flex:none}.hubgrid h3 a{color:var(--ink);text-decoration:none}.hubgrid h3 a:hover{color:var(--accent);text-decoration:underline}.hubgrid ul{margin:var(--s2) 0 0;padding:0;list-style:none}.hubgrid ul a{min-height:44px;font-size:var(--f-sm);align-items:center;line-height:1.35;display:flex}.tool{padding:var(--s6);background:var(--bg1);border-radius:var(--r-lg)}.tool>h2{font-size:var(--f-xl)}.tool .hint{margin-top:var(--s2);color:var(--mu);font-size:var(--f-sm)}@media (width<=600px){.tool{padding:var(--s5) var(--s4)}}label{font-weight:600;font-size:var(--f-sm)}input[type=search],input[type=number],input[type=text],select{border:1px solid var(--ln2);border-radius:var(--r-sm);width:100%;min-height:48px;font:inherit;color:var(--ink);background:#fff;padding:0 14px}input:focus,select:focus{outline:3px solid var(--accent-tint);border-color:var(--accent)}.fields{gap:var(--s4);margin-top:var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));display:grid}.field{align-content:start;gap:6px;display:grid}.field small{color:var(--mu);font-size:var(--f-xs)}fieldset{border:0;min-width:0;margin:0;padding:0}legend{font-weight:600;font-size:var(--f-sm);margin-bottom:6px;padding:0}.opts{gap:var(--s2);flex-wrap:wrap;display:flex}.opts label{border:1px solid var(--ln2);border-radius:var(--r-sm);cursor:pointer;background:#fff;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-weight:500;display:inline-flex}.opts input{accent-color:var(--accent);width:18px;height:18px;margin:0}.opts label:has(input:checked){border-color:var(--accent);background:var(--accent-tint)}.res{margin-top:var(--s5);gap:var(--s4);display:grid}.res:empty{display:none}.out{padding:var(--s5);border-radius:var(--r);border:1px solid var(--ln);background:#fff}.out h3{font-size:var(--f-lg)}.out>*+*{margin-top:var(--s2)}.out ul{padding-left:1.25em}.out .big{font-size:var(--f-2xl);letter-spacing:-.02em;font-weight:750}.badge{font-size:var(--f-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-weight:700;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.no{background:var(--no-bg);color:var(--no)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.hits{margin-top:var(--s4);border-radius:var(--r);border:1px solid var(--ln);padding:0 var(--s5);background:#fff}.hits:empty{display:none}.hit{gap:4px var(--s4);padding:var(--s4) 0;border-top:1px solid var(--ln);grid-template-columns:minmax(0,1fr) auto;display:grid}.hit:first-child{border-top:0}.hit h3{font-size:var(--f-md)}.hit p{font-size:var(--f-sm);color:var(--ink2);margin:0}.hit .pdf{grid-area:1/2/span 3;align-self:center}@media (width<=600px){.hits{padding:0 var(--s4)}.hit{grid-template-columns:minmax(0,1fr)}.hit .pdf{grid-area:auto/1;justify-self:start}}.count{margin-top:var(--s3);font-size:var(--f-sm);color:var(--mu)}.formula{font-size:var(--f-md);padding:var(--s4);border-radius:var(--r-sm);border:1px solid var(--ln);background:#fff}.chk{margin:var(--s3) 0 0;gap:var(--s3);padding:0;list-style:none;display:grid}.out ul.chk{padding-left:0}.chk li{gap:var(--s3);grid-template-columns:132px minmax(0,1fr);align-items:start;display:grid}.chk .badge{margin-top:3px}.ft{margin-top:var(--s9);background:var(--bg1);padding:var(--s7) 0 var(--s6);font-size:var(--f-sm);color:var(--ink2)}.ft-g{gap:var(--s6);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));display:grid}.ft h2{font-size:var(--f-sm);margin-bottom:var(--s2)}.ft ul{margin:0;padding:0;list-style:none}.ft li a{min-height:40px;color:var(--ink2);align-items:center;text-decoration:none;display:inline-flex}.ft li a:hover{color:var(--accent);text-decoration:underline}.ft-d{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--ln2);gap:var(--s2);color:var(--mu);display:grid}.ft-d a{color:var(--ink2)}@media print{.hd,.ft,.side,.mtoc,.qp{display:none}}@media (width<=600px){.chk li{grid-template-columns:minmax(0,1fr);gap:6px}.chk .badge{justify-self:start}}@media (width>=761px){.pc-s{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.pc-a{flex-flow:wrap}.pc-a .lnk{padding-left:0}}.toolslot{margin:var(--s6) 0 var(--s7)}.toolslot>.sec{margin-top:var(--s7)}.hd-in{gap:var(--s3)}.brand span{text-overflow:ellipsis;overflow:hidden}.mnav{flex:none}@media (width<=400px){.brand{gap:8px;font-size:1rem}.brand svg{width:30px;height:30px}.mnav summary{padding:0 10px}}.brand{flex:0 auto;min-width:0}.mnav{margin-left:auto}@media (width<=600px){.m-src{display:none}}@media (width<=899px){.hero-art{display:none}.hero{padding:var(--s7) 0 var(--s5)}}[hidden]{display:none!important}.diag{margin:0}.diag svg{background:#fff;max-width:640px;margin:0 auto;display:block}.diag figcaption{margin-top:var(--s3);font-size:var(--f-sm);color:var(--mu);text-align:center}
