@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../../../fonts/source-serif-latin.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(../../../fonts/source-serif-latin-italic.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300 600;font-display:swap;src:url(../../../fonts/inter-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/jetbrains-mono-latin.woff2)format("woff2")}body:has(.wc){color:#1b1b1b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fbfaf7;margin:0}.wc{--bg:#fbfaf7;--panel:#f2f0ea;--ink:#1b1b1b;--mid:#555;--rule:#d8d4ca;--white:#fff;--accent:#1f3a5f;--pass:#0ca30c;--partial:#fab219;--fail:#d03b3b;--unknown:#9a9a9a;--serif:"Source Serif 4", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--gutter:clamp(16px, 4vw, 40px);font-family:var(--serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;line-height:1.6;overflow-x:hidden}.wc :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wc a{color:var(--accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.wc a:hover{text-decoration-thickness:2px}.wc p{max-width:40em;margin:0 0 1em}.wc h1,.wc h2,.wc h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-family:var(--serif);margin:0;font-weight:600;line-height:1.2}.wc .label{font-family:var(--sans);letter-spacing:.02em;color:var(--mid);margin:0 0 6px;font-size:.8rem;font-weight:600}.wc .inner{max-width:1120px;padding:0 var(--gutter);margin:0 auto}.wc .skip{position:absolute;left:-9999px}.wc .skip:focus{z-index:200;background:var(--ink);color:var(--bg);padding:8px 12px;top:12px;left:12px}.wc .top{z-index:100;background:var(--bg);border-bottom:1px solid var(--rule);font-family:var(--sans);position:sticky;top:0}.wc .top .inner{justify-content:space-between;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;display:flex}.wc .brand{font-family:var(--serif);color:var(--ink);font-size:1rem;font-weight:600;line-height:1.25;text-decoration:none}.wc .top nav{flex-wrap:wrap;justify-content:flex-end;gap:4px 16px;font-size:.85rem;display:flex}.wc .top nav a{color:var(--mid);text-decoration:none}.wc .top nav a:hover,.wc .top nav a[aria-current]{color:var(--ink)}.wc .top nav a[aria-current]{font-weight:600}.wc .top .inner{flex-wrap:wrap;row-gap:8px}.wc .top .sections{white-space:nowrap;flex-wrap:nowrap;flex:1 0 100%;order:3;justify-content:flex-start;overflow-x:auto}@media (width>=900px){.wc .top .inner{flex-wrap:nowrap}.wc .top .sections{flex:0 auto;order:0;justify-content:flex-end}}.wc .top .langs{text-transform:uppercase;flex:none}.wc .hero{border-bottom:1px solid var(--rule);padding:clamp(40px,7vw,88px) 0 clamp(32px,5vw,56px)}.wc .hero .kicker{font-family:var(--sans);color:var(--mid);margin-bottom:18px;font-size:.85rem}.wc .hero h1{letter-spacing:-.01em;text-wrap:balance;font-size:clamp(30px,4.4vw,52px);line-height:1.15}.wc .hero .subtitle{color:var(--mid);margin:12px 0 0;font-size:clamp(20px,2.2vw,26px);font-style:italic}.wc .abstract{background:var(--panel);border-left:3px solid var(--accent);max-width:46em;margin-top:clamp(28px,4vw,44px);padding:20px 24px}.wc .abstract p:last-child{margin-bottom:0}.wc .stats{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:clamp(28px,4vw,44px) 0 0;display:grid}@media (width>=760px){.wc .stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.wc .stats div{padding:14px 16px 14px 0}.wc .stats dt{font-family:var(--sans);color:var(--mid);font-size:.78rem;font-weight:600}.wc .stats dd{font-family:var(--sans);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:clamp(22px,2.6vw,32px);font-weight:600;line-height:1.15}.wc .stats dd small{color:var(--mid);margin-left:4px;font-size:.5em;font-weight:400}.wc .hero .note{color:var(--mid);margin:16px 0 0;font-size:16px}.wc section{border-bottom:1px solid var(--rule);padding:clamp(48px,6vw,80px) 0;scroll-margin-top:60px}.wc .head{margin-bottom:clamp(24px,3vw,40px)}.wc .head h2{align-items:baseline;gap:.5em;font-size:clamp(26px,3vw,36px);display:flex}.wc .head h2 .n{font-family:var(--sans);color:var(--mid);font-size:.6em;font-weight:600}.wc .head p{color:var(--mid);margin:10px 0 0}.wc h3{margin:0 0 2px;font-size:1.15rem}.wc .rows{border-top:1px solid var(--ink)}.wc .row{border-bottom:1px solid var(--rule);color:inherit;grid-template-columns:2rem minmax(0,1fr) auto;align-items:baseline;gap:4px 20px;padding:18px 0;text-decoration:none;display:grid}.wc .row .idx{font-family:var(--sans);color:var(--mid);font-variant-numeric:tabular-nums;font-size:.8rem}.wc .row .why{color:var(--mid);margin:0;font-size:16px}.wc .row .val{font-family:var(--sans);text-align:right;font-variant-numeric:tabular-nums;font-size:clamp(22px,2.4vw,28px);font-weight:600;line-height:1}.wc .row .val small{color:var(--mid);margin-top:4px;font-size:.75rem;font-weight:400;display:block}.wc .row .full{grid-column:2/-1}.wc .tag{font-family:var(--sans);border:1px solid var(--rule);color:var(--mid);white-space:nowrap;border-radius:3px;padding:1px 7px;font-size:.75rem;text-decoration:none;display:inline-block}.wc a.tag{color:var(--accent)}.wc a.tag:hover{border-color:var(--accent)}.wc .gap-fix{margin-top:10px}.wc .meter{background:var(--white);border:1px solid var(--rule);height:8px;margin-top:10px}.wc .meter i{background:var(--accent);height:100%;display:block}.wc .stack{background:var(--white);height:12px;margin-top:12px;display:flex}.wc .stack i{height:100%;display:block}.wc .stack i+i{border-left:1px solid var(--bg)}.wc .o-pass{background:var(--pass)}.wc .o-partial{background:var(--partial)}.wc .o-fail{background:var(--fail)}.wc .o-error{background:var(--unknown)}.wc .waffle-block{margin-bottom:clamp(36px,5vw,56px)}.wc .waffle-fig{font-family:var(--sans)}.wc .waffle-fig .big{font-variant-numeric:tabular-nums;font-size:clamp(40px,5vw,60px);font-weight:600;line-height:1}.wc .waffle-fig .of{color:var(--mid);margin-left:6px;font-size:clamp(18px,2vw,24px)}.wc .waffle-fig p{font-family:var(--serif);margin:6px 0 0}.wc .pick{flex-wrap:wrap;gap:6px;margin:18px 0;padding:0;list-style:none;display:flex}.wc .pick button{font-family:var(--sans);border:1px solid var(--rule);background:var(--white);color:var(--ink);cursor:pointer;border-radius:3px;padding:5px 12px;font-size:.8rem}.wc .pick button:hover{border-color:var(--ink)}.wc .pick button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}.wc .waffle{width:100%;height:auto;display:block}.wc .waffle rect{transition:fill .4s}.wc .waffle .c-pass{fill:var(--pass)}.wc .waffle .c-partial{fill:var(--partial)}.wc .waffle .c-fail{fill:var(--fail)}.wc .waffle .c-error{fill:var(--unknown)}.wc .counts{font-family:var(--sans);color:var(--mid);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 18px;margin:10px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.wc .counts li{align-items:center;gap:6px;display:inline-flex}.wc .sw{flex:none;width:11px;height:11px;display:inline-block}.wc .row-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.wc .note-small{font-family:var(--sans);color:var(--mid);font-size:.8rem}.wc .split .row{padding:12px 0}.wc .split{grid-template-columns:minmax(0,1fr);gap:40px 56px;display:grid}@media (width>=1000px){.wc .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wc .split>div:last-child{flex-direction:column;display:flex}.wc .split .bands{flex:1;height:auto;min-height:260px}}.wc .bands{border-bottom:1px solid var(--ink);grid-template-columns:repeat(10,1fr);align-items:end;gap:3px;height:260px;margin-top:14px;display:grid}.wc .bands div{flex-direction:column;justify-content:flex-end;height:100%;display:flex}.wc .bands i{background:#9fb0c6;min-height:1px;display:block}.wc .bands .is-median i{background:var(--accent)}.wc .bands span{font-family:var(--sans);text-align:center;color:var(--mid);margin-bottom:3px;font-size:.68rem}.wc .band-axis{font-family:var(--sans);color:var(--mid);text-align:center;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:5px;font-size:.68rem;display:grid}.wc details{border-top:1px solid var(--rule);margin-top:24px}.wc summary{cursor:pointer;font-family:var(--sans);color:var(--accent);padding:12px 0;font-size:.9rem;font-weight:600}.wc .comp{grid-template-columns:minmax(0,1fr);gap:0 32px;margin:0;padding:0;list-style:none;display:grid}@media (width>=760px){.wc .comp{grid-template-columns:1fr 1fr}}.wc .comp li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:7px 0;font-size:16px;display:flex}.wc .comp li b{font-family:var(--sans);color:var(--mid);white-space:nowrap;font-size:.8rem;font-weight:400}.wc .comp .area{font-family:var(--sans);color:var(--mid);padding-top:18px;font-size:.8rem;font-weight:600}.wc .map{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;max-width:720px;display:grid}.wc .tile{aspect-ratio:1;font-family:var(--sans);border-radius:2px;flex-direction:column;justify-content:space-between;padding:6px;line-height:1;display:flex}.wc .tile b{font-size:clamp(.62rem,1.5vw,.8rem);font-weight:600}.wc .tile span{font-variant-numeric:tabular-nums;align-self:flex-end;font-size:clamp(.85rem,2.2vw,1.35rem);font-weight:600}.wc .tile.grouped{background-image:repeating-linear-gradient(135deg,#0000 0 4px,#ffffff73 4px 5px)}.wc .q0{color:var(--ink);background-color:#dbe4ef}.wc .q1{color:var(--ink);background-color:#a9bed6}.wc .q2{color:#fff;background-color:#6f8fb4}.wc .q3{color:#fff;background-color:#3d628f}.wc .q4{color:#fff;background-color:#1f3a5f}.wc .scale{font-family:var(--sans);color:var(--mid);flex-wrap:wrap;gap:6px 16px;margin:14px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.wc .scale li{align-items:center;gap:6px;display:inline-flex}.wc .table-wrap{margin-top:36px;overflow-x:auto}.wc table{border-collapse:collapse;width:100%;font-family:var(--sans);border-bottom:2px solid var(--ink);font-size:.85rem}.wc caption{text-align:left;font-family:var(--sans);color:var(--ink);border-bottom:2px solid var(--ink);padding:0 0 8px;font-size:.85rem;font-weight:600}.wc th,.wc td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:baseline;padding:6px 10px}.wc thead th{color:var(--mid);white-space:nowrap;border-bottom:1px solid var(--ink);font-weight:600}.wc .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.wc td.score-cell{font-weight:600}.wc .fine{font-family:var(--sans);color:var(--mid);margin-top:10px;font-size:.8rem}.wc .multiples{border-top:1px solid var(--ink);grid-template-columns:minmax(0,1fr);gap:0 24px;display:grid}@media (width>=640px){.wc .multiples{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.wc .multiples{grid-template-columns:repeat(3,1fr)}}.wc .mult{border-bottom:1px solid var(--rule);padding:18px 0}.wc .mult .top-line{justify-content:space-between;align-items:baseline;display:flex}.wc .mult .now{font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600;line-height:1}.wc .mult svg{width:100%;height:64px;margin:12px 0 8px;display:block;overflow:visible}.wc .mult .ends{font-family:var(--sans);color:var(--mid);justify-content:space-between;font-size:.75rem;display:flex}.wc .cite{background:var(--panel);border-left:3px solid var(--accent);margin-bottom:32px;padding:18px 22px}.wc .cite .line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:6px;display:flex}.wc .cite code{font-family:var(--mono);flex:24em;font-size:.85rem;line-height:1.6}.wc .btn{font-family:var(--sans);background:var(--ink);color:var(--white);cursor:pointer;border:0;border-radius:3px;padding:9px 18px;font-size:.85rem;font-weight:600}.wc .btn:hover{background:var(--accent)}.wc .files{border-top:1px solid var(--ink)}.wc .file{border-bottom:1px solid var(--rule);color:inherit;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 16px;padding:12px 0;text-decoration:none;display:grid}.wc .file:hover b{text-decoration:underline}.wc .file b{font-family:var(--mono);color:var(--accent);font-size:.9rem;font-weight:400}.wc .file span{color:var(--mid);font-size:16px;display:block}.wc .file .fmt{font-family:var(--sans);border:1px solid var(--rule);border-radius:3px;padding:1px 7px;font-size:.72rem}.wc .file .arrow{font-family:var(--sans);color:var(--accent)}.wc main:focus{outline:none}.wc .doc{max-width:760px}.wc .doc.titled>h2:first-of-type{margin:0 0 20px;font-size:clamp(30px,4.4vw,46px)}.wc .doc.titled h3{margin:44px 0 12px;font-size:clamp(22px,2.4vw,28px)}.wc .doc h2{margin:44px 0 12px;font-size:clamp(24px,2.6vw,30px)}.wc .doc>h2:first-child{margin-top:0}.wc .doc h3{margin:32px 0 8px;font-size:1.2rem}.wc .doc ul,.wc .doc ol{max-width:40em;margin:0 0 1em;padding-left:1.3em}.wc .doc li{margin:0 0 .35em}.wc .doc code{font-family:var(--mono);background:var(--panel);overflow-wrap:anywhere;border-radius:2px;padding:1px 4px;font-size:.82em}.wc .doc pre{background:var(--panel);border-left:3px solid var(--rule);padding:14px 16px;font-size:.9rem;line-height:1.5;overflow-x:auto}.wc .doc pre code{overflow-wrap:normal;background:0 0;padding:0}.wc .doc table{margin:12px 0 24px}.wc .doc div:has(>table){overflow-x:auto}.wc .doc th,.wc .doc td{white-space:normal;min-width:7em}.wc .doc .cite{margin:0 0 12px}.wc .crumb{font-family:var(--sans);color:var(--mid);margin-bottom:18px;font-size:.85rem}.wc .outcome{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.wc .lookup{columns:16em;column-gap:32px;margin:16px 0 0;padding:0;font-size:16px;list-style:none}.wc .lookup li{break-inside:avoid;padding:3px 0}.wc .stats dd.domain{font-family:var(--mono);overflow-wrap:anywhere;font-size:1rem;font-weight:400}.wc .guides{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.wc footer{font-family:var(--sans);color:var(--mid);padding:32px 0 48px;font-size:.8rem}.wc footer .meta{flex-wrap:wrap;gap:6px 20px;display:flex}.wc footer a{color:var(--mid)}.wc .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.wc *{transition:none!important}}
