:root{--bg:#0f1216;--surface:#141920;--surface-2:#1a2029;--border:#232b35;--border-strong:#33404d;--rule:#4a5b6b;--text:#e4ebf2;--text-2:#aebccb;--muted:#7e8b9c;--faint:#556170;--accent:#7fb0ff;--accent-ink:#a9caff;--accent-weak:#16233a;--found:#e4ebf2;--absent:#2a333d;--crit:#f08a8a;--warn:#e0b877;--good:#68d08a;--bad:#f08a8a;--grid:#1a2029;--good-weak:#68d08a29;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,Cambria,"Times New Roman",serif;--radius:0}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}.tnum{font-variant-numeric:tabular-nums}.wrap{max-width:940px;margin:0 auto;padding:0 28px}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}nav{border-bottom:1px solid var(--rule);background:var(--bg)}.nav-in{align-items:center;gap:24px;max-width:940px;margin:0 auto;padding:14px 28px;display:flex}.brand{font-size:16px;font-weight:600;font-family:var(--serif);align-items:center;gap:8px;display:flex}.brand .mk{font-family:var(--mono);color:var(--text);font-weight:700}.nav-links{gap:18px;margin-left:10px;display:flex}.nav-links a{color:var(--muted);font-size:14px;font-family:var(--sans)}.nav-links a:hover{color:var(--text);text-decoration:none}.nav-right{align-items:center;gap:14px;margin-left:auto;display:flex}.subs{font-family:var(--sans);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:0 0;border-radius:2px;padding:6px 13px;font-size:13px;font-weight:560}.subs:hover{background:var(--surface-2)}.hero{text-align:left;border-bottom:1px solid var(--rule);padding:52px 0 30px}.eyebrow{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:11.5px;font-weight:600}h1.title{font-family:var(--serif);letter-spacing:-.012em;max-width:22ch;margin:0;font-size:clamp(30px,4vw,44px);font-weight:600;line-height:1.1}.lede{color:var(--text-2);max-width:72ch;margin:20px 0 0;font-size:18px;line-height:1.6}.lede b{color:var(--text);font-weight:600}.sec{border-top:1px solid var(--rule);padding:40px 0}.sec.first{border-top:0;padding-top:28px}.eylabel{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;margin:0 0 10px;font-size:11.5px;font-weight:600}.sec h3.big{font-family:var(--serif);letter-spacing:-.01em;text-align:left;margin:0 0 10px;font-size:26px;font-weight:600}.sec p.sub{color:var(--text-2);text-align:left;max-width:76ch;margin:0 0 22px;font-size:16px}.tablecard{background:0 0;border:0;border-radius:0;overflow:visible}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px;font-family:var(--sans)}thead th{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);text-align:right;border-top:1.5px solid var(--rule);border-bottom:1px solid var(--border-strong);white-space:nowrap;background:0 0;padding:8px 14px;font-size:11px;font-weight:600}thead th.l{text-align:left}thead th[title]{cursor:help}tbody td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:11px 14px;font-size:14px}tbody tr:last-child td{border-bottom:1.5px solid var(--rule)}tbody tr:hover{background:0 0}tbody tr:hover .model .mn{text-underline-offset:2px;text-decoration:underline}td.l{text-align:left}.rk{color:var(--faint);font-family:var(--sans);width:30px;font-size:13px}.model .mn{letter-spacing:-.01em;font-size:14px;font-weight:560}.model .mn .pbadge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);vertical-align:middle;border-radius:4px;margin-left:7px;padding:1px 5px;font-size:9px}.model .sub2{color:var(--muted);font-size:11.5px;font-family:var(--mono);margin-top:2px}.degmark{color:var(--warn);cursor:help}td .mut{color:var(--faint)}.scorecell{min-width:120px;font-family:var(--sans);flex-direction:column;align-items:flex-end;gap:4px;display:flex}.scorecell .v{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.scorecell .v small{color:var(--faint);font-size:11px;font-weight:400}.pct.hi,.pct.mid,.pct.lo{color:var(--text-2)}.pct{font-weight:500}.chip{font-family:var(--mono);color:var(--muted);background:0 0;border:0;border-radius:0;padding:0;font-size:12px}.go{color:var(--faint)}.note{font-family:var(--sans);color:var(--muted);border-left:2px solid var(--border-strong);text-align:left;max-width:82ch;margin:14px 0 0;padding-left:14px;font-size:14px}.note b{color:var(--text);font-weight:600}.flow{flex-wrap:wrap;align-items:stretch;gap:0;margin:8px 0 6px;display:flex}.step{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:10px;flex:1;min-width:150px;padding:14px 15px;position:relative}.step+.step{margin-left:26px}.step+.step:before{content:"→";color:var(--faint);font-size:15px;position:absolute;top:50%;left:-20px;transform:translateY(-50%)}.step .k{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.step .t{margin-top:5px;font-size:14px;font-weight:560}.step .d{color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.45}.formula{flex-wrap:wrap;gap:30px;margin-top:20px;display:flex}.fcard{border:0;border-top:1.5px solid var(--rule);text-align:left;background:0 0;border-radius:0;flex:1;min-width:230px;padding:12px 0 0}.fcard .w{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.fcard .n{font-family:var(--mono);color:var(--text);margin-top:8px;font-size:14px;font-weight:500}.fcard .x{font-family:var(--sans);color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.55}.eq{font-family:var(--mono);color:var(--text);border:0;border-left:2px solid var(--border-strong);background:0 0;border-radius:0;margin:18px 0 0;padding:2px 0 2px 14px;font-size:13.5px;display:block}.eq b{color:var(--text);font-weight:700}.cards{grid-template-columns:repeat(3,1fr);gap:34px;display:grid}.fc{border:0;border-top:1.5px solid var(--rule);text-align:left;background:0 0;border-radius:0;padding:14px 0 0}.fc h4{font-family:var(--serif);margin:8px 0 6px;font-size:16px;font-weight:600}.fc p{font-family:var(--sans);color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.fc .big{font-family:var(--sans);letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:0;font-size:28px;font-weight:600}.news{border:0;border-top:1.5px solid var(--rule);text-align:left;background:0 0;border-radius:0;padding:26px 0 0}.news h3{font-family:var(--serif);margin:0;font-size:22px;font-weight:600}.news p{color:var(--muted);font-family:var(--sans);max-width:60ch;margin:8px 0 18px;font-size:15px}.nform{flex-wrap:wrap;gap:10px;max-width:460px;margin:0;display:flex}.nform input{min-width:200px;font-family:var(--sans);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:2px;flex:1;padding:9px 12px;font-size:14px}.nform input::placeholder{color:var(--faint)}.nform button{font-family:var(--sans);background:var(--text);color:var(--bg);cursor:pointer;white-space:nowrap;border:0;border-radius:2px;padding:9px 18px;font-size:14px;font-weight:560}.nform button:disabled{opacity:.55;cursor:default}.nmsg{font-family:var(--sans);flex-basis:100%;margin-top:2px;font-size:13px}.nmsg.ok{color:var(--accent-ink,var(--accent))}.nmsg.error{color:var(--warn,#b4530a)}.news .fine{font-family:var(--sans);color:var(--faint);margin-top:12px;font-size:12px}footer{border-top:1.5px solid var(--rule);color:var(--muted);font-family:var(--sans);text-align:left;padding:22px 0 60px;font-size:13px}footer a{color:var(--accent)}@media (max-width:640px){.cards{grid-template-columns:1fr}.step+.step{margin-top:26px;margin-left:0}.step+.step:before{top:-20px;left:50%;transform:translate(-50%)}}.diagram{border:1px solid var(--border);background:0 0;border-radius:0;margin-top:12px;overflow:hidden}.diagram+.diagram{margin-top:16px}.diagram .dg{padding:12px 14px 8px}.diagram svg{width:100%;height:auto;display:block}.diagram .dcap{color:var(--text-2);text-align:left;border-top:1px solid var(--border);padding:12px 18px 14px;font-size:13px;line-height:1.55}.diagram .dcap b{color:var(--text);font-weight:560}.dg-box{fill:var(--bg);stroke:var(--border-strong);stroke-width:1.2px}.dg-box.acc{fill:#0000;stroke:var(--text)}.dg-box.rev{fill:#0000;stroke:var(--good)}.dg-cont{fill:#0000;stroke:var(--border-strong);stroke-dasharray:5 4;stroke-width:1.1px}.dg-t{fill:var(--text);font-size:13px;font-weight:560;font-family:var(--sans)}.dg-t.acc{fill:var(--text)}.dg-s{fill:var(--muted);font-size:10.5px;font-family:var(--sans)}.dg-cap{fill:var(--faint);letter-spacing:.12em;font-size:10px;font-family:var(--sans)}.dg-edge{stroke:var(--border-strong);stroke-width:1.6px;fill:none}.dg-edge.dash{stroke-dasharray:4 4;stroke:var(--faint)}.dg-elbl{fill:var(--muted);font-size:10px;font-family:var(--mono)}.blog-hero{text-align:center;border-bottom:1px solid var(--border);padding:60px 0 30px}.blog-hero h1{letter-spacing:-.03em;max-width:20ch;margin:14px auto 0;font-size:clamp(28px,4vw,40px);font-weight:660}.blog-hero p{color:var(--text-2);max-width:60ch;margin:16px auto 0;font-size:16.5px}.artlist{flex-direction:column;gap:0;padding:14px 0 40px;display:flex}.artcard{border-bottom:1px solid var(--border);padding:26px 4px;display:block}.artcard:hover .at{color:var(--accent-ink)}.artcard .ak{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.artcard .at{letter-spacing:-.02em;margin:7px 0 6px;font-size:21px;font-weight:620;transition:color .12s}.artcard .ad{color:var(--text-2);max-width:74ch;margin:0;font-size:15px}.artcard .am{color:var(--muted);font-size:12.5px;font-family:var(--mono);margin-top:10px}.article{max-width:718px;margin:0 auto;padding:44px 0 72px}.article .backlink{color:var(--muted);font-size:13px;font-family:var(--mono)}.article .backlink:hover{color:var(--text)}.article .kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:26px 0 12px;font-size:11.5px;font-weight:600}.article h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(28px,4vw,38px);font-weight:660;line-height:1.1}.article .am-meta{color:var(--muted);font-size:13px;font-family:var(--mono);flex-wrap:wrap;gap:14px;margin-top:16px;display:flex}.article .lead{color:var(--text);margin:26px 0 0;font-size:19px;font-weight:420;line-height:1.6}.article h2{letter-spacing:-.02em;margin:44px 0 0;font-size:21px;font-weight:620;line-height:1.25}.article p{color:var(--text-2);margin:15px 0;font-size:16px;line-height:1.72}.article p b,.article strong{color:var(--text);font-weight:600}.article ul{color:var(--text-2);margin:15px 0;padding-left:22px;font-size:16px;line-height:1.7}.article li{margin:7px 0}.article li b{color:var(--text)}.article code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);color:var(--accent-ink);border-radius:5px;padding:1px 6px;font-size:13px}.article .callout{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);color:var(--text-2);border-radius:9px;margin:24px 0;padding:16px 18px;font-size:15px;line-height:1.6}.article .callout b{color:var(--text)}.article hr{border:0;border-top:1px solid var(--border);margin:40px 0}.article .end{color:var(--muted);margin-top:36px;font-size:14px}.article .endnote{color:var(--muted);border-top:1px solid var(--border);margin:44px 0 8px;padding-top:22px;font-size:14px}.article .endnote a{color:var(--accent-ink);font-weight:520}.article .mono,.mono{font-family:var(--mono);font-size:.92em}.runpage{padding-bottom:70px}.runpage .crumbs{color:var(--muted);font-size:13.5px}.runpage .crumbs .sep{color:var(--faint);margin:0 8px}.runpage .crumbs .cur{color:var(--text)}.runpage .runbanner{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-weak);color:var(--accent-ink);border-radius:9px;align-items:center;gap:9px;margin-top:16px;padding:9px 14px;font-size:12.5px;display:flex}.runpage .runbanner .pulse{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.runpage .runlede{color:var(--text-2);border-left:3px solid var(--accent);margin:18px 0 4px;padding:2px 0 2px 14px;font-size:14px;line-height:1.6}.runpage .runlede b{color:var(--text)}.runpage .rhead{padding:24px 0 22px}.runpage .h-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.runpage .rh1{letter-spacing:-.03em;align-items:center;gap:11px;margin:0;font-size:28px;font-weight:650;display:flex}.runpage .prov{font-family:var(--mono);border:1px solid var(--border-strong);color:var(--text-2);border-radius:99px;padding:3px 9px;font-size:12px}.runpage .rmeta{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.runpage .scorebox{text-align:right;min-width:178px}.runpage .bigscore{letter-spacing:-.04em;font-size:44px;font-weight:720;line-height:.95}.runpage .bigscore small{color:var(--muted);font-size:16px;font-weight:600}.runpage .comp{background:var(--surface-2);border-radius:99px;width:178px;height:7px;margin:11px 0 0 auto;display:flex;overflow:hidden}.runpage .comp i{height:100%}.runpage .clg{color:var(--muted);justify-content:flex-end;gap:12px;margin-top:7px;font-size:10.5px;display:flex}.runpage .sw{border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.runpage .metrics{background:var(--border);border:1px solid var(--border);border-radius:11px;grid-template-columns:repeat(6,1fr);gap:1px;margin-top:6px;display:grid;overflow:hidden}.runpage .m{background:var(--surface);padding:13px 15px}.runpage .m .mv{letter-spacing:-.02em;font-size:19px;font-weight:670}.runpage .m .mv.good{color:var(--good)}.runpage .m .mv.mut{color:var(--text-2)}.runpage .m .ml{color:var(--muted);margin-top:2px;font-size:11px}.runpage .m .mx{color:var(--faint);font-size:10.5px;font-family:var(--mono);margin-top:1px}.runpage .rsec{padding:34px 0 0}.runpage .rsec-h h2{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px;font-weight:600}.runpage .rsec-h .hint{color:var(--muted);font-size:12px}.runpage .hm{border:1px solid var(--border);background:var(--surface);border-radius:11px;overflow:hidden}.runpage .svc-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 34px 34px 34px 60px;align-items:center;padding:5px 16px;font-size:13px;display:grid}.runpage .svc-row:last-child{border-bottom:0}.runpage .svc-head{background:var(--surface-2);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:1fr 34px 34px 34px 60px;padding:9px 16px;font-size:10.5px;font-weight:600;display:grid}.runpage .svc-head span{text-align:center}.runpage .svc-head span:first-child{text-align:left}.runpage .grp{background:color-mix(in srgb,var(--surface-2) 55%,transparent);color:var(--text-2);border-bottom:1px solid var(--border);justify-content:space-between;padding:7px 16px;font-size:11.5px;font-weight:600;display:flex}.runpage .grp .cc{font-family:var(--mono);color:var(--faint);font-size:11px}.runpage .vn{align-items:center;gap:8px;min-width:0;display:flex}.runpage .vn .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.runpage .vsev{letter-spacing:.03em;border-radius:4px;flex:none;padding:1px 5px;font-size:9px;font-weight:700}.runpage .vsev.critical{color:var(--crit);background:color-mix(in srgb,var(--crit) 13%,transparent)}.runpage .vsev.high{color:var(--bad);background:color-mix(in srgb,var(--bad) 13%,transparent)}.runpage .vsev.medium{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}.runpage .cell{justify-content:center;display:flex}.runpage .dot{border-radius:5px;width:15px;height:15px}.runpage .dot.on{background:var(--good);box-shadow:0 0 0 3px var(--good-weak)}.runpage .dot.off{background:var(--surface-2);border:1px solid var(--border-strong)}.runpage .dot.run{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 3px,var(--border) 3px,var(--border) 5px)}.runpage .floor{text-align:center;font-family:var(--mono);font-size:11px}.runpage .floor.all{color:var(--good)}.runpage .floor.flaky{color:var(--warn)}.runpage .floor.none,.runpage .floor.pend{color:var(--faint)}.runpage .scans{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.runpage .scard{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:15px 16px}.runpage .scard.pending{opacity:.7;border-style:dashed}.runpage .scard .stt{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.runpage .scard .sl{font-size:13.5px;font-weight:580}.runpage .scard .stag{font-size:10px;font-family:var(--mono);background:var(--good-weak);color:var(--good);border-radius:5px;padding:2px 7px}.runpage .scard .stag.run{background:var(--accent-weak);color:var(--accent-ink)}.runpage .scard .sgrid{grid-template-columns:1fr 1fr;gap:9px 12px;display:grid}.runpage .scard .sg .v{font-size:15px;font-weight:620}.runpage .scard .sg .l{color:var(--muted);font-size:10.5px}.runpage .find{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:flex-start;gap:13px;margin-bottom:9px;padding:14px 16px;display:flex}.runpage .find .fbar{border-radius:99px;flex:none;align-self:stretch;width:3px}.runpage .fbar.critical{background:var(--crit)}.runpage .fbar.high{background:var(--bad)}.runpage .fbar.medium{background:var(--warn)}.runpage .find .fbody{flex:1;min-width:0}.runpage .find .fh{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.runpage .find .ft{font-size:14px;font-weight:580}.runpage .fsev{letter-spacing:.03em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.runpage .fsev.critical{color:var(--crit);background:color-mix(in srgb,var(--crit) 12%,transparent)}.runpage .fsev.high{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.runpage .fsev.medium{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.runpage .ep{font-family:var(--mono);color:var(--accent-ink);font-size:11.5px}.runpage .cwe{font-family:var(--mono);color:var(--faint);font-size:11px}.runpage .rdots{flex:none;gap:3px;margin-top:2px;display:flex}.runpage .rdots i{border-radius:3px;width:9px;height:9px}.runpage .rdots i.on{background:var(--good)}.runpage .rdots i.off{background:var(--surface-2);border:1px solid var(--border-strong)}.runpage .rdots i.run{background:var(--border)}.runpage .redact{border:1px dashed var(--border-strong);background:var(--surface-2);color:var(--muted);border-radius:9px;gap:9px;margin-top:8px;padding:11px 15px;font-size:12.5px;display:flex}.runpage .redact b{color:var(--text-2)}.runpage .runbanner.prov{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}.runpage .runbanner .dotp{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px}.runpage .chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.runpage .svc-head span.ch.deg{color:var(--warn)}.runpage .svc-head span.ch.run{color:var(--faint)}.runpage .dot.deg-on{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 22%,transparent);opacity:.85}.runpage .dot.deg-off{background:var(--surface-2);border:1px dashed var(--border-strong);opacity:.6}.runpage .degnote{border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 7%,transparent);color:var(--text-2);border-radius:8px;margin-top:12px;padding:11px 15px;font-size:12.5px;line-height:1.55}.runpage .degnote b{color:var(--warn)}.runpage .scard.degraded{border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 5%,transparent)}.runpage .scard .stag.deg{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.runpage .scard .degtag{font-family:var(--mono);color:var(--warn);letter-spacing:.02em;margin-top:10px;font-size:10px}.runpage .rdots i.deg-on{background:var(--warn);opacity:.8}.runpage .rdots i.deg-off{background:var(--surface-2);border:1px dashed var(--border-strong)}.labcell .ls{font-weight:600;font-family:var(--sans);font-variant-numeric:tabular-nums;font-size:15px}.labcell .none{color:var(--faint)}.labcell .pdot{color:var(--warn);font-family:var(--sans);font-size:10px}td.cmeta{color:var(--muted);font-family:var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:500}thead th .th-sub{color:var(--faint);text-transform:none;letter-spacing:0;font-size:10px;font-weight:400;font-family:var(--sans);margin-top:3px;display:block}.lbfilter{font-family:var(--sans);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.lbfilter .lbf-grp{align-items:center;gap:12px;display:flex}.lbfilter .lbf-grp+.lbf-grp{border-left:1px solid var(--border);padding-left:16px}.mp .smode{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 26px;display:flex}.mp .smode-l{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-right:2px;font-size:11px}.mp .smode a{font-family:var(--sans);border:1px solid var(--border);color:var(--muted);background:var(--card,transparent);border-radius:4px;padding:5px 12px;font-size:12.5px;text-decoration:none;transition:border-color .12s,color .12s}.mp .smode a.on{border-color:var(--accent);color:var(--accent-ink,var(--accent));background:var(--accent-weak);font-weight:560}.mp .smode a:hover:not(.on){border-color:var(--accent);color:var(--text)}.mp .smode-h{font-family:var(--sans);color:var(--faint);margin-left:6px;font-size:12px}@media (max-width:640px){.mp .smode-h{width:100%;margin:3px 0 0}}.contbox{border:1px solid var(--border);background:var(--card,transparent);border-radius:3px;margin:16px 0 6px;padding:16px 18px}.contbox .cont-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.contbox .cont-lbl{font-family:var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-size:11px}.contbox .cont-sum{font-family:var(--mono);color:var(--muted);font-size:13px}.contbox .cont-sum b{color:var(--text)}.contbox .cont-up{color:var(--accent-ink,var(--accent));margin-left:4px;font-weight:700}.contbox .cont-cap{font-family:var(--sans);color:var(--muted);max-width:62ch;margin:8px 0 0;font-size:12px;line-height:1.6}.ccurve{width:100%;max-width:480px;height:auto;margin:12px 0 4px;display:block}.ccurve .cc-base{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 3}.ccurve .cc-area{fill:var(--accent);opacity:.1}.ccurve .cc-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.ccurve .cc-dot{fill:var(--bg);stroke:var(--accent);stroke-width:2px}.ccurve .cc-dot.end{fill:var(--accent)}.ccurve .cc-xl{fill:var(--faint);font-family:var(--mono);font-size:10px}.ccurve .cc-vl{fill:var(--muted);font-family:var(--mono);font-size:11px;font-weight:600}.ccurve .cc-vl.end{fill:var(--text)}.ccurve .cc-up{fill:var(--accent-ink,var(--accent));font-family:var(--mono);font-size:11px;font-weight:700}.ccurve .cc-up.neg{fill:var(--warn,#b4530a)}.lbfilter .lbf-lbl{color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.lbfilter button{color:var(--muted);cursor:pointer;font-family:var(--sans);background:0 0;border:0;border-bottom:1.5px solid #0000;padding:0 0 2px;font-size:13px}.lbfilter button.on{color:var(--text);border-bottom-color:var(--accent)}.lbfilter button:hover{color:var(--text)}.ocell{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.oline{background:var(--border);width:130px;height:2px;display:block}.oline i{background:var(--accent);height:100%;display:block}.dag{color:var(--accent);font-family:var(--mono);cursor:help;margin-left:2px;font-size:.72em}.lbnote{color:var(--muted);max-width:70ch;margin-top:14px;font-size:12px;line-height:1.6}.lbnote .dag{margin-left:0;margin-right:2px}.runpage .labsec{border-top:1px solid var(--border);margin-top:34px;padding-top:22px}.runpage .labsec.pending{opacity:.6}.runpage .labsec-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.runpage .labsec-h h2{letter-spacing:-.01em;font-size:18px;font-weight:640}.runpage .labscore{font-family:var(--mono);font-size:20px;font-weight:680}.runpage .labscore small{color:var(--muted);font-size:12px;font-weight:400}.runpage .labscore.mut{color:var(--faint);font-size:13px}.runpage .labscore .pbadge{color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent);vertical-align:middle;text-transform:uppercase;border-radius:4px;margin-left:8px;padding:1px 5px;font-size:9px}.runpage .rsec-h{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:11px;display:flex}.runpage .rsec-h h3{font-size:14px;font-weight:600}.runpage .chains{flex-direction:column;gap:14px;display:flex}.runpage .chain{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:14px 16px}.runpage .chain-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.runpage .chain-h .cname{font-size:13.5px;font-weight:580}.runpage .chain-h .cdepth{font-family:var(--mono);color:var(--muted);font-size:11.5px}.runpage .chain-h .cdepth.flagged{color:var(--good)}.runpage .track{align-items:center;margin-bottom:10px;display:flex;overflow-x:auto}.runpage .hop{align-items:center;display:flex}.runpage .track .link{background:var(--good);flex:none;width:30px;height:2px}.runpage .track .link.off{background:var(--border-strong)}.runpage .track .node{font-family:var(--mono);white-space:nowrap;border:1px solid var(--border-strong);color:var(--muted);background:var(--surface-2);border-radius:6px;padding:4px 9px;font-size:11px}.runpage .track .node.hit{background:var(--good);color:#fff;border-color:var(--good)}.runpage .track .node.flaky{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn);border-color:var(--warn)}.runpage .track .node.miss{background:var(--surface-2);color:var(--faint)}.runpage .perscan{flex-wrap:wrap;gap:14px;display:flex}.runpage .perscan .ps{font-family:var(--mono);color:var(--muted);font-size:10.5px}.runpage .perscan .ps b{color:var(--text-2);font-weight:600}.runpage .perscan .ps.deg{color:var(--warn)}.runpage .gemgrid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.runpage .gem{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;display:flex}.runpage .gem .gname{text-transform:capitalize;font-size:12px}.runpage .gem .gtier{font-family:var(--mono);color:var(--faint);font-size:9px}.runpage .gem.hit{border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 7%,transparent)}.runpage .gem.hit .gname{color:var(--good)}.runpage .gem.flaky{border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.runpage .gem.miss{opacity:.55}@media (max-width:720px){.runpage .metrics{grid-template-columns:repeat(3,1fr)}.runpage .scans{grid-template-columns:1fr}.runpage .h-top{flex-direction:column}.runpage .scorebox{text-align:left}.runpage .comp,.runpage .clg{justify-content:flex-start;margin-left:0}}tr.incomplete td{opacity:.82}tr.incomplete .scorecell .v{color:var(--text-2)}.scorecell .incm{font-family:var(--mono);color:var(--warn);margin-top:3px;font-size:9.5px;display:block}.mp{max-width:940px;margin:0 auto;padding:0 28px 80px}.mp .crumbs{font-family:var(--sans);color:var(--muted);margin:22px 0 24px;font-size:13px}.mp .crumbs a{color:var(--accent)}.mp .crumbs .sep{color:var(--faint);margin:0 7px}.mp .tnum{font-variant-numeric:tabular-nums}.mp .head{border-bottom:1.5px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:26px;padding-bottom:20px;display:flex}.mp .h1{font-family:var(--serif);letter-spacing:-.01em;font-size:30px;font-weight:600}.mp .h1 .prov{font-family:var(--sans);color:var(--muted);margin-left:10px;font-size:14px;font-weight:400}.mp .chips{font-family:var(--sans);color:var(--muted);margin-top:10px;font-size:13px}.mp .chip{font-family:var(--sans);color:var(--muted);background:0 0;border:0;padding:0}.mp .chip.warn{color:var(--crit)}.mp .chip+.chip:before{content:"·";color:var(--faint);margin:0 8px}.mp .overall{text-align:right;white-space:nowrap;font-family:var(--sans)}.mp .overall .big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1}.mp .overall .big small{color:var(--faint);font-size:15px;font-weight:400}.mp .overall .ol{color:var(--muted);margin-top:6px;font-size:12px}.mp .overall .ol.inc{color:var(--crit)}.mp .lab{margin-top:38px}.mp .lab-h{justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:4px;display:flex}.mp .lab-h .lt{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.mp .lab-h .ax{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.mp .lab-h .ln{font-family:var(--serif);font-size:22px;font-weight:600}.mp .lab-h .ld{font-family:var(--sans);color:var(--muted);font-size:13px}.mp .lab-h .lscore{font-family:var(--sans);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.mp .lab-h .lscore small{color:var(--faint);font-size:12px;font-weight:400}.mp .lab-h .lscore .pb{font-family:var(--sans);color:var(--crit);text-transform:uppercase;letter-spacing:.04em;border:0;margin-left:8px;padding:0;font-size:10px}.mp .submet{font-family:var(--sans);color:var(--text-2);margin:12px 0 8px;font-size:14px;line-height:1.6}.mp .submet b{color:var(--text);font-weight:600}.mp .submet span+span:before{content:"·";color:var(--faint);margin:0 9px}.mp .submet .lo{color:var(--muted)}.mp .legend{font-family:var(--sans);color:var(--muted);margin:6px 0 14px;font-size:13px;line-height:1.55}.mp .legend .k{color:var(--found);font-weight:700}.mp .legend .kf{color:var(--faint);font-weight:700}.mp .legend b{color:var(--text-2);font-weight:600}.mp .mx{font-family:var(--sans);border-top:1.5px solid var(--rule);border-bottom:1.5px solid var(--rule)}.mp .colh{border-bottom:1px solid var(--border-strong);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);align-items:end;padding:7px 4px;font-size:11px;font-weight:600;display:grid}.mp .colh .c{text-align:center}.mp .colh .f{text-align:right}.mp .grp{justify-content:space-between;align-items:baseline;padding:13px 4px 5px;display:flex}.mp .grp .gn{font-family:var(--serif);color:var(--text);font-size:14.5px;font-style:italic}.mp .grp .gn small{font-family:var(--sans);color:var(--faint);margin-left:8px;font-size:11.5px;font-style:normal;font-weight:400}.mp .grp .gc{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.mp .row{border-bottom:1px solid var(--border);align-items:center;padding:6px 4px;display:grid}.mp .row .vn{align-items:center;gap:9px;min-width:0;display:flex}.mp .row .vn .nm{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.mp .row.miss .vn .nm{color:var(--muted)}.mp .sev{font-family:var(--sans);letter-spacing:.04em;flex:none;width:28px;font-size:9.5px;font-weight:700}.mp .sev.critical{color:var(--crit)}.mp .sev.high{color:var(--warn)}.mp .sev.medium,.mp .sev.info{color:var(--faint)}.mp .cell{text-align:center;font-size:12px;line-height:1}.mp .cell.on{color:var(--found)}.mp .cell.off{color:var(--absent)}.mp .fnd{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-size:12.5px}.mp .fnd.all{color:var(--text);font-weight:600}.mp .fnd.some{color:var(--text-2)}.mp .fnd.none{color:var(--faint)}.mp .chain{margin:6px 0 4px}.mp .chain-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:18px 0 14px;display:flex}.mp .chain-h .cn{font-family:var(--serif);font-size:16px;font-weight:600}.mp .chain-h .cn small{color:var(--muted);font-weight:400;font-family:var(--sans);margin-left:8px;font-size:13px;font-style:italic}.mp .chain-h .cst{font-family:var(--sans);color:var(--muted);font-size:12.5px}.mp .chain-h .cst.flag{color:var(--good);font-weight:600}.mp .track2{align-items:flex-start;padding:6px 0 2px;display:flex;overflow-x:auto}.mp .hop{text-align:center;min-width:122px;font-family:var(--sans);flex-direction:column;align-items:center;gap:7px;display:flex}.mp .hop .dot{border:1.5px solid var(--border-strong);background:var(--bg);border-radius:50%;width:12px;height:12px}.mp .hop.done .dot{background:var(--found);border-color:var(--found)}.mp .hop.flag .dot{border-radius:2px;width:13px;height:13px}.mp .hop .hn{color:var(--muted);max-width:122px;font-size:12.5px;line-height:1.35}.mp .hop.done .hn{color:var(--text)}.mp .hop .hc{color:var(--faint);font-size:10.5px}.mp .hop.done .hc{color:var(--text-2)}.mp .seg{background:var(--border-strong);flex:1;min-width:24px;height:1.5px;margin-top:6px}.mp .seg.done{background:var(--found)}.mp .perscan{font-family:var(--sans);color:var(--muted);border-top:1px solid var(--border);margin-top:12px;padding-top:10px;font-size:12px}.mp .perscan .lbl{color:var(--faint);margin-right:8px}.mp .ps{font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0}.mp .ps+.ps{margin-left:14px}.mp .ps b{color:var(--text-2);font-weight:600}.mp .redact,.mp .samplenote{font-family:var(--sans);color:var(--muted);border-top:1px solid var(--border);margin-top:16px;padding-top:12px;font-size:12.5px;line-height:1.55}.mp .redact .lk{display:none}.mp .redact b{color:var(--text-2)}.mp .scanlinks{margin-top:26px}.mp .scanlinks .sh{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--rule);margin-bottom:2px;padding-bottom:7px;font-size:11px;font-weight:600}.mp .slink{border-bottom:1px solid var(--border);font-family:var(--sans);grid-template-columns:96px 1fr auto;align-items:center;gap:16px;padding:9px 4px;display:grid}.mp .slink:last-child{border-bottom:1.5px solid var(--rule)}.mp .slink:hover .sn{text-underline-offset:2px;text-decoration:underline}.mp .slink .sn{color:var(--accent);font-size:13.5px;font-weight:600}.mp .slink .sm{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.mp .slink .go{color:var(--faint);font-size:14px}.mp .scanhead{border-bottom:1.5px solid var(--rule);padding-bottom:18px}.mp .scanhead .st{font-family:var(--serif);font-size:26px;font-weight:600}.mp .scanhead .st .tag{font-family:var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--good);vertical-align:middle;border:0;margin-left:12px;padding:0;font-size:11px;font-weight:600}.mp .scanmeta{font-family:var(--sans);color:var(--text-2);margin-top:12px;font-size:14px;line-height:1.6}.mp .scanmeta b{color:var(--text);font-weight:600}.mp .scanmeta span+span:before{content:"·";color:var(--faint);margin:0 9px}.mp .blockh{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--rule);margin:30px 0 8px;padding-bottom:7px;font-size:11px;font-weight:600}.mp .blockh b{color:var(--text)}.mp .findlist{font-family:var(--sans)}.mp .frow{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:8px 4px;display:flex}.mp .frow:last-child{border-bottom:1.5px solid var(--rule)}.mp .frow .sev{width:auto;min-width:34px}.mp .frow .nm{color:var(--text);font-size:13.5px}.mp .frow .cwe{font-family:var(--sans);color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.mp .missed{font-family:var(--sans);color:var(--muted);font-size:13px;line-height:1.9}.mp .mtag{color:var(--muted);background:0 0;border:0;padding:0}.mp .mtag+.mtag:before{content:"·";color:var(--faint);margin:0 7px}.mp .scanbar{font-family:var(--sans);margin-top:10px;font-size:13px}.mp .scanbar a{color:var(--accent);background:0 0;border:0;padding:0 14px 0 0}.mp .scanbar a.cur{color:var(--text);font-weight:600;text-decoration:none}.mp footer{font-family:var(--sans);border-top:1.5px solid var(--rule);color:var(--muted);margin-top:36px;padding:18px 0 0;font-size:13px}.mp footer a{color:var(--accent)}@media (max-width:640px){.mp .head{flex-direction:column}.mp .overall{text-align:left}}
