
:root{
--bg:#f4f5f0;--fg:#1f211c;--muted:#585a54;--line:#d5d7d2;--card:#eceee9;
--link:#1f63c9;
--same:#1f63c9;--diff:#c2003f;--diff-bg:rgba(194,0,63,.11);
--sans:'Barlow',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
--cond:'Barlow Condensed','Barlow Semi Condensed',var(--sans);
--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}
:root[data-theme='dark']{
--bg:#1f211c;--fg:#f8f8f2;--muted:#c2b889;--line:#3e3d32;--card:#252820;
--link:#7fb0f5;
--same:#4a8ae8;--diff:#ff3d7a;--diff-bg:rgba(255,61,122,.18);
}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0;padding:1.4rem clamp(1rem,4vw,3rem) 3rem;background:var(--bg);
color:var(--fg);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
code{font-family:var(--mono);font-size:.86em}

/* masthead */
.mast{display:flex;align-items:center;gap:.7rem;padding-bottom:.9rem;
margin-bottom:1.2rem;border-bottom:1px solid var(--line);min-width:0}
.brand{display:block;line-height:0;flex:none}
.brand img{height:2rem;width:auto;display:block}
:root .logo-dark{display:none}
:root[data-theme='dark'] .logo-light{display:none}
:root[data-theme='dark'] .logo-dark{display:block}
.mastsep{color:var(--line);flex:none}
.spacer{flex:1}
.tgl{display:flex;align-items:center;justify-content:center;flex:none;
width:1.9rem;height:1.9rem;border:1px solid var(--line);background:var(--card);
color:var(--muted);border-radius:4px;cursor:pointer;padding:0}
.tgl:hover{color:var(--fg);border-color:var(--muted)}
.tgl svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;
stroke-linecap:round;stroke-linejoin:round}
:root .tgl .moon{display:none}
:root[data-theme='dark'] .tgl .sun{display:none}
:root[data-theme='dark'] .tgl .moon{display:block}
.proj{color:var(--muted);font-family:var(--cond);font-weight:600;
font-size:1.15rem;letter-spacing:0;white-space:nowrap}
.proj:hover{color:var(--fg);text-decoration:none}
.here{font-family:var(--cond);font-weight:600;font-size:1.15rem;color:var(--fg);
min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.here code{font-size:.8em}
@media(max-width:700px){.proj,.mastsep.p{display:none}.here{white-space:normal;line-height:1.15}}

/* legend */
.legend{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;color:var(--muted);font-size:.9rem;margin:0 0 .4rem}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.35rem;vertical-align:-.04rem}
.dot.same{background:var(--same)}.dot.diff{background:var(--diff)}

/* the table */
.wrap{overflow-x:auto;margin:0 0 1rem}
table.grid{border-collapse:collapse;font-size:.92rem;width:100%}
.grid th,.grid td{padding:0;font-weight:400}
.grid .mh{font-family:var(--cond);font-weight:600;font-size:1.15rem;text-align:center;
padding:0 .3rem .25rem;line-height:1.2;white-space:nowrap}
.grid .mh span{display:block;font-family:var(--sans);font-size:.78rem;color:var(--muted);font-weight:400}
.grid .ph{font-family:var(--mono);font-size:.76rem;color:var(--muted);text-align:center;
padding:.25rem 0 .45rem;border-bottom:1px solid var(--line);min-width:3rem}
.grid .ph span{cursor:help;border-bottom:1px dotted var(--muted)}
.grid .ph span:hover,.grid .ph span:focus{color:var(--fg);outline:none}
.grid .g0{border-left:1px solid var(--line);padding-left:.35rem}
.grid .ph.g0{padding-left:.35rem}
.grid tr.sect th{text-align:left;padding:1.3rem 0 .35rem;border-bottom:1px solid var(--line)}
.grid tr.sect b{font-family:var(--cond);font-weight:700;font-size:1.2rem;margin-right:.45rem}
.grid tr.sect .t{font-family:var(--cond);font-weight:600;font-size:1.2rem;margin-right:.7rem}
.grid tr.sect .r{color:var(--muted);font-size:.85rem}
.grid .rl{text-align:left;white-space:nowrap;width:1%;padding:.2rem 1.6rem .2rem 0;position:sticky;left:0;z-index:1;
background:var(--bg)}
.grid .rl .eng{display:inline-block;width:5.4rem;color:var(--muted);font-size:.85rem}
.grid tbody tr:not(.sect):hover td,.grid tbody tr:not(.sect):hover th{background:var(--card)}
.grid td.c{text-align:center;height:2.6rem;vertical-align:middle}
.grid td.na{color:var(--muted);text-align:center}
.pc{display:inline-flex;line-height:0;border-radius:50%}
.pie{width:28px;height:28px;transition:transform .12s ease}
.pc:hover .pie,.pc:focus .pie{transform:scale(1.18)}
.pie path,.pie circle{stroke:var(--bg);stroke-width:1.4;stroke-linejoin:round}
.pie .same{fill:var(--same)}.pie .diff{fill:var(--diff)}

/* floating tooltip (fixed, so a scrolling table cannot clip it) */
#tt{position:fixed;z-index:50;display:none;max-width:min(28rem,90vw);pointer-events:none;
background:var(--card);border:1px solid var(--line);border-left:3px solid var(--muted);
border-radius:0 4px 4px 0;padding:.45rem .7rem;font:400 .82rem/1.5 var(--sans);color:var(--fg);
box-shadow:0 8px 26px rgba(0,0,0,.28);white-space:pre-wrap;text-wrap:pretty}
#tt b{font-family:var(--cond);font-weight:600;font-size:.88rem}
#tt .m{color:var(--muted)}

/* E3 throughput bars */
.slow{margin:1.6rem 0 0}
.shd{padding:0 0 .35rem;margin-bottom:.5rem;border-bottom:1px solid var(--line)}
.shd b{font-family:var(--cond);font-weight:700;font-size:1.2rem;margin-right:.45rem}
.shd .t{font-family:var(--cond);font-weight:600;font-size:1.2rem;margin-right:.7rem}
.shd .r{color:var(--muted);font-size:.85rem}
.dot.def{background:var(--muted);opacity:.55}.dot.inv{background:var(--diff)}
.srow{display:grid;grid-template-columns:7rem 1fr 7rem;gap:1rem;align-items:center;
padding:.45rem 0;border-bottom:1px solid var(--line)}
.slab{font-size:.92rem}
.bars{display:flex;flex-direction:column;gap:4px;min-width:0}
.brow{display:flex;align-items:center;gap:.6rem}
.track{flex:1;height:14px;min-width:0}
.bar{height:100%;border-radius:0 4px 4px 0}
.bar.def{background:var(--muted);opacity:.55}.bar.inv{background:var(--diff)}
.val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.8rem;width:2.6rem;text-align:right;flex:none}
.fac{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--muted);text-align:right}
@media(max-width:600px){.srow{grid-template-columns:4.5rem 1fr;gap:.6rem}.fac{grid-column:2;text-align:left}}
.note{color:var(--muted);font-size:.9rem;margin:1.4rem 0 0}
.note .bar{color:var(--line);margin:0 .6rem}

/* one setting */
.pr{border-top:1px solid var(--line);padding:.55rem 0 .9rem;scroll-margin-top:.5rem}
.pr:first-of-type{border-top:0;padding-top:0}
.pq{margin:0 0 .45rem;font-size:.9rem;max-width:100ch;text-wrap:pretty}
.pq b{font-family:var(--mono);font-weight:500;font-size:.8rem;margin-right:.5rem}
.pq span{color:var(--muted)}
.outs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr));gap:.5rem}
.o{border:1px solid var(--line);border-left:3px solid var(--same);border-radius:0 4px 4px 0;
background:var(--card);min-width:0}
.o.diff{border-left-color:var(--diff)}
.oh{font-size:.76rem;color:var(--muted);padding:.25rem .55rem;border-bottom:1px solid var(--line);
font-variant-numeric:tabular-nums}
.oh b{color:var(--fg);font-weight:600}
.ot{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem;line-height:1.5;
max-height:11.5rem;overflow-y:auto;padding:.35rem .55rem}
.ot .ctx{color:var(--muted)}
.ot mark{background:var(--diff-bg);color:inherit;border-radius:2px;box-shadow:inset 2px 0 0 var(--diff)}
