@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/plex-mono-400.woff2) format("woff2"); unicode-range: U+0020-007E, U+00A0-00FF, U+2018-201D, U+2022, U+2026, U+20AC, U+2122, U+2190-2199, U+2212, U+25B2, U+25BC; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/plex-mono-500.woff2) format("woff2"); unicode-range: U+0020-007E, U+00A0-00FF, U+2018-201D, U+2022, U+2026, U+20AC, U+2122, U+2190-2199, U+2212, U+25B2, U+25BC; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/plex-mono-600.woff2) format("woff2"); unicode-range: U+0020-007E, U+00A0-00FF, U+2018-201D, U+2022, U+2026, U+20AC, U+2122, U+2190-2199, U+2212, U+25B2, U+25BC; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/plex-sans.woff2) format("woff2"); unicode-range: U+0020-007E, U+00A0-00FF, U+2018-201D, U+2022, U+2026, U+20AC, U+2122, U+2190-2199, U+2212, U+25B2, U+25BC; }
:root {
--bg: #ffffff;
--panel: #f6f6f4;
--ink: #141414;
--ink-2: #4a4a48;
--ink-3: #66665f;
--line: #e2e2dd;
--line-2: #cfcfc8;
--top: #141414;
--top-ink: #f2f2ee;
--link: #0b4fa8;
--good: #0a7a3c;
--good-bg: #e5f4ea;
--mid: #8a5a00;
--mid-bg: #fbf0d9;
--bad: #b3261e;
--bad-bg: #fbe7e5;
--bad-solid: #b3261e;
--dot-one: #0b4fa8;
--dot-kit: #b45309;
--dot-flag: #b3261e;
--hover: #f3f6fb;
--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
--fs: 13px;
--field: #8a8a83;
--b1: #cdeed8; --b2: #e6f5ea; --b3: #ecece6; --b4: #fbeedb; --b5: #f8d9d6;
--s1: #1f8a4c; --s2: #3f9a63; --s3: #8a8a83; --s4: #b8791a; --s5: #d4574c;
color-scheme: light;
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
--bg: #111211; --panel: #181a19; --ink: #e9e9e4; --ink-2: #b4b4ad; --ink-3: #9d9d96;
--line: #2a2c2b; --line-2: #3a3c3a; --top: #070807; --top-ink: #e9e9e4; --link: #7fb0ff;
--good: #5fd08e; --good-bg: #13301f; --mid: #f0b64a; --mid-bg: #33280f; --bad: #ff8a80; --bad-bg: #3a1714; --bad-solid: #c62828;
--dot-one: #7fb0ff; --dot-kit: #f0a23a; --dot-flag: #ff8a80; --hover: #1b2230; --field: #6b6d69;
--b1: #174a2c; --b2: #1b3324; --b3: #262826; --b4: #3a2b12; --b5: #45201c;
--s1: #35b86c; --s2: #2c7a4d; --s3: #6f716a; --s4: #b8812a; --s5: #c0503f;
color-scheme: dark;
}
}
:root[data-theme="dark"] {
--bg: #111211; --panel: #181a19; --ink: #e9e9e4; --ink-2: #b4b4ad; --ink-3: #9d9d96;
--line: #2a2c2b; --line-2: #3a3c3a; --top: #070807; --top-ink: #e9e9e4; --link: #7fb0ff;
--good: #5fd08e; --good-bg: #13301f; --mid: #f0b64a; --mid-bg: #33280f; --bad: #ff8a80; --bad-bg: #3a1714; --bad-solid: #c62828;
--dot-one: #7fb0ff; --dot-kit: #f0a23a; --dot-flag: #ff8a80; --hover: #1b2230; --field: #6b6d69;
--b1: #174a2c; --b2: #1b3324; --b3: #262826; --b4: #3a2b12; --b5: #45201c;
--s1: #35b86c; --s2: #2c7a4d; --s3: #6f716a; --s4: #b8812a; --s5: #c0503f;
color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 var(--fs)/1.45 var(--sans); }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--link); outline-offset: 1px; }
.top :focus-visible { outline-color: #7fd6a0; }
.nav-main a:focus-visible { outline-offset: -3px; }
html { scroll-padding-top: 52px; }
.bpw a:focus-visible, .pk-s a:focus-visible, .mlist .who a:focus-visible, .hgrid th.pn a:focus-visible { outline-offset: -2px; }
.grid th .sortbtn { font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-align: inherit; }
h1 { font-size: 24px; line-height: 1.2; margin: 0 0 6px; font-weight: 700; letter-spacing: -0.015em; }
h2 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink); margin: 20px 0 6px; font-weight: 600; }
q { quotes: "\201C" "\201D"; }
.skip { position: absolute; left: -9999px; top: 0; }
.skip:focus { left: 8px; top: 8px; z-index: 50; background: var(--bg); padding: 6px 10px; }
input::placeholder, textarea::placeholder { color: var(--ink-3); opacity: 1; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }
.top { background: var(--top); color: var(--top-ink); position: sticky; top: 0; z-index: 20; }
.top-in { max-width: 1440px; margin: 0 auto; padding: 0 16px; height: 40px; display: flex; align-items: center; gap: 16px; }
.brand { font: 600 14px/1 var(--mono); color: var(--top-ink); letter-spacing: 0.08em; white-space: nowrap; }
.brand b { color: #7fd6a0; font-weight: 600; }
.brand .mark { display: inline-block; width: 15px; height: 15px; margin-right: 8px; vertical-align: -2px; background: url(/favicon.svg) center / contain no-repeat; }
.brand:hover { text-decoration: none; }
.nav-main { display: flex; gap: 2px; }
.nav-main a { color: #b9b9b2; padding: 11px 9px; font-weight: 500; white-space: nowrap; }
.nav-main a.on, .nav-main a:hover { color: #fff; text-decoration: none; box-shadow: inset 0 -2px 0 #7fd6a0; }
.search { margin-left: auto; }
.cursel { height: 26px; border: 1px solid #6b6b66; background: #1f1f1d; color: #eee; font: 500 11px var(--mono); border-radius: 2px; padding: 0 4px; }
.asof { font: 11px var(--mono); color: #a3a39c; white-space: nowrap; cursor: help; }
.menu { display: none; position: relative; }
.menu summary { list-style: none; cursor: pointer; color: #e6e6e0; font: 500 12px var(--sans); padding: 5px 8px; border: 1px solid #3a3a37; border-radius: 2px; }
.menu summary::-webkit-details-marker { display: none; }
.menu[open] summary { background: #2a2a27; }
.menu nav { position: absolute; right: 0; top: 34px; background: var(--top); border: 1px solid #3a3a37; min-width: 200px; padding: 4px 0; box-shadow: 0 8px 24px rgba(0, 0, 0, .35); }
.menu nav a { display: block; color: #e6e6e0; padding: 10px 14px; font-weight: 500; }
.menu nav a.on { color: #7fd6a0; }
main { max-width: 1440px; margin: 0 auto; padding: 14px 16px 28px; }
.head { margin: 4px 0 10px; }
.head.narrow, .prose { max-width: 760px; }
.lede { margin: 0; color: var(--ink-2); max-width: 900px; font-size: 14px; }
.howto { margin: 6px 0 0; color: var(--ink-3); font-size: 12px; max-width: 900px; }
.howto b { color: var(--ink-2); font-weight: 600; }
.crumbs { font-size: 12px; color: var(--ink-3); margin-bottom: 4px; }
.note { color: var(--ink-3); font-size: 12px; margin: 6px 0 0; }
.note.key { margin: 0 0 6px; max-width: 1100px; }
.note + .note.key { margin-top: 6px; }
.note.key b { color: var(--ink-2); }
.note.fix { margin-top: 18px; }
.sub { display: block; color: var(--ink-3); font-size: 11px; font-weight: 400; line-height: 1.3; white-space: nowrap; }
.nil { color: var(--ink-3); }
.bad { color: var(--bad); }
.cheap { color: var(--good); font-weight: 600; }
.dear { color: var(--bad); }
.oos { color: var(--bad); font-size: 12px; }
.ins { color: var(--good); font-size: 12px; }
.mstrip { display: none; border: 1px solid var(--bad); background: var(--bad-bg); color: var(--ink); padding: 8px 10px; margin: 8px 0; font-size: 13px; }
.mstrip b { color: var(--bad); }
.related { font-size: 13px; color: var(--ink-2); max-width: 1000px; }
ul.plain { margin: 0; padding: 0; list-style: none; }
ul.plain li { padding: 4px 0; border-bottom: 1px solid var(--line); }
.cols { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.cols.even { grid-template-columns: 1fr 1fr; }
.cols > * { min-width: 0; }
.narrowcols { max-width: 900px; }
.tbar { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.tbar h2 { margin-bottom: 4px; }
.legend { font-size: 11px; color: var(--ink-3); display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.legend i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-left: 8px; }
.legend i.d-one { background: var(--dot-one); }
.legend i.d-kit { background: var(--dot-kit); }
.legend i.d-flag { background: var(--dot-flag); }
.scroll { border: 1px solid var(--line); }
table.grid { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.grid th, .grid td { padding: 4px 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; white-space: nowrap; }
.grid thead th { background: var(--panel); font: 600 11px/1.3 var(--sans); color: var(--ink-2); text-transform: uppercase; letter-spacing: 0.03em; border-bottom: 1px solid var(--line-2); vertical-align: bottom; position: sticky; top: 40px; z-index: 2; }
.grid tbody :is(a, button, input, select) { scroll-margin-top: 40px; }
.grid th[data-sort] { cursor: pointer; user-select: none; }
.grid th[data-sort]:hover { color: var(--ink); }
.grid th.asc::after { content: " \25B2"; font-size: 8px; }
.grid th.desc::after { content: " \25BC"; font-size: 8px; }
.grid tbody tr:hover { background: var(--hover); }
.grid td.num { text-align: right; font-family: var(--mono); font-size: 12px; }
.grid th.num { text-align: right; }
.grid td.strong { font-weight: 600; }
.grid td.name { font-weight: 500; }
.grid td.name .sub { font-weight: 400; }
.grid tr.grp th { background: var(--bg); color: var(--ink-3); font-size: 11px; padding-top: 10px; border-bottom: 1px solid var(--line-2); position: static; }
.grid tr.flag td { background: var(--bad-bg); }
.grid tr.oosr td { color: var(--ink-2); background: var(--panel); }
.grid td.prod { max-width: 200px; overflow: hidden; text-overflow: ellipsis; }
.grid td.prod a { color: var(--ink-2); }
.grid td.prod a { display: inline-block; max-width: calc(100% - 14px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.grid td.prod::after { content: " \2197"; color: var(--link); }
.grid td.pay { max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
.flagtxt { color: var(--bad); }
.compact td, .compact th { padding: 3px 6px; }
.deftbl td, .deftbl th { white-space: normal; }
.deftbl + p { margin-top: 10px; }
.wraptbl td, .wraptbl th { white-space: normal; overflow-wrap: anywhere; }
.wraptbl td:first-child { width: 30%; }
.deftbl td:first-child { white-space: nowrap; width: 1%; }
@media (max-width: 480px) { .deftbl td:first-child { white-space: normal; } }
.scroll > table.grid { border: 0; }
table.grid + .note { margin-top: 6px; }
.side-col .grid, .prose .grid { border: 1px solid var(--line); }
.ret td, .ret th { white-space: normal; }
.ret th { width: 180px; font-weight: 500; color: var(--ink-2); }
.ret td.num:first-child { width: 1%; white-space: nowrap; text-align: left; }
.prose .ret { margin: 4px 0 10px; font-size: 13px; }
.narrowtbl { max-width: 760px; }
.dgrid { margin-top: 4px; }
.gctl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 4px 0 8px; font-size: 12px; }
.glab { font: 600 11px var(--sans); text-transform: uppercase; letter-spacing: .05em; color: var(--ink-2); }
.seg { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--field); border-radius: 2px; }
.seg button { font: 500 12px var(--sans); color: var(--ink-2); background: var(--bg); border: 0; border-left: 1px solid var(--line-2); padding: 5px 10px; cursor: pointer; }
.seg button:first-child { border-left: 0; }
.seg button:hover { color: var(--ink); background: var(--hover); }
.seg button.on { background: var(--ink); color: var(--bg); }
.seg .n { font: 11px var(--mono); color: var(--ink-3); margin-left: 3px; }
.seg button.on .n { color: inherit; opacity: .75; }
.gpage { display: inline-flex; align-items: center; gap: 6px; font: 11px var(--mono); color: var(--ink-2); }
.gpage button { width: 30px; height: 26px; border: 1px solid var(--field); background: var(--bg); color: var(--ink); font: 600 16px/1 var(--sans); cursor: pointer; border-radius: 2px; }
.gpage button:hover:not([aria-disabled="true"]) { background: var(--hover); }
.gpage button[aria-disabled="true"] { color: var(--line-2); border-color: var(--line); cursor: default; }
.gctl .legend { margin-left: auto; }
.gpickb { font: 500 12px var(--sans); color: var(--ink); background: var(--bg); border: 1px solid var(--field); border-radius: 2px; padding: 5px 10px; cursor: pointer; }
.gpickb:hover, .gpickb[aria-expanded="true"] { background: var(--hover); }
.gcmp { font: 500 12px var(--sans); }
.gpick { border: 1px solid var(--line-2); background: var(--panel); padding: 8px 10px; margin: 0 0 8px; }
.gpick-h { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 6px; }
.gpick-h input { height: 28px; width: 220px; max-width: 100%; border: 1px solid var(--line-2); background: var(--bg); color: var(--ink); font: 13px var(--sans); padding: 0 7px; border-radius: 2px; }
.gpick-h button { font: 500 12px var(--sans); border: 1px solid var(--line-2); background: var(--bg); color: var(--ink); padding: 5px 10px; border-radius: 2px; cursor: pointer; }
.gpick-h #gpickdone { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.gpick ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); column-gap: 18px; max-height: 330px; overflow: hidden auto; }
.gpick li { break-inside: avoid; padding: 2px 0; font-size: 12px; }
.gpick label { min-height: 24px; }
.gpick label { display: flex; align-items: center; gap: 5px; cursor: pointer; }
.gpick .pn { overflow-wrap: anywhere; }
.gpick .score { font-size: 11px; line-height: 15px; min-width: 32px; flex: none; }
.gpick .nil { margin-left: auto; font-size: 11px; white-space: nowrap; }
.grid-legend { gap: 2px; }
.grid-legend i { width: 14px; height: 10px; border-radius: 1px; margin-left: 8px; }
.grid-legend i.b1 { background: var(--b1); } .grid-legend i.b2 { background: var(--b2); } .grid-legend i.b3 { background: var(--b3); }
.grid-legend i.b4 { background: var(--b4); } .grid-legend i.b5 { background: var(--b5); }
.grid-legend i.brk { box-shadow: inset 0 0 0 2px var(--ink); }
table.hgrid { border-collapse: collapse; font-variant-numeric: tabular-nums; border: 1px solid var(--line); }
.hgrid th, .hgrid td { border-bottom: 1px solid var(--line); padding: 3px 6px; white-space: nowrap; text-align: left; vertical-align: middle; }
.hgrid thead th { background: var(--panel); font: 600 11px/1.3 var(--sans); color: var(--ink-2); text-transform: uppercase; letter-spacing: .03em; vertical-align: bottom; position: sticky; top: 40px; z-index: 2; }
.hgrid thead tr:first-child th { height: 142px; }
.hgrid thead .ssr th { top: 182px; height: 22px; padding: 2px 0; text-align: center; border-bottom: 1px solid var(--line-2); }
.hgrid th.pn { width: 158px; min-width: 158px; max-width: 158px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; }
.hgrid tbody th.pn a { font-weight: 500; }
.hgrid th.pn .sub { overflow: hidden; text-overflow: ellipsis; }
.hgrid .bp { width: 196px; min-width: 196px; max-width: 196px; line-height: 1.25; }
.hgrid td.bp { overflow: hidden; }
.bpv { font: 600 12px var(--mono); }
.hgrid .pm { font: 11px var(--mono); color: var(--ink-3); }
.bpw { display: flex; align-items: baseline; gap: 4px; font-size: 11px; }
.bpw a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bpw .score { flex: none; font-size: 11px; line-height: 15px; min-width: 32px; }
.ul { font: 500 11px var(--sans); color: var(--mid); }
.hgrid td.bp.unr .bpv { color: var(--ink-2); }
.spark { display: block; margin: 2px 0 0 auto; color: var(--ink-3); overflow: visible; }
.spark.down { color: var(--good); } .spark.up { color: var(--bad); }
.mmed .spark { display: inline-block; margin: 0 0 0 6px; vertical-align: -2px; }
.hgrid .md { width: 70px; min-width: 70px; text-align: right; font: 12px var(--mono); border-right: 1px solid var(--line-2); }
.hgrid thead th.md { font: 600 11px/1.3 var(--sans); }
.hgrid th.sh, .hgrid th.ss, .hgrid td.gc { width: var(--gcw, 50px); min-width: var(--gcw, 50px); max-width: var(--gcw, 50px); }
.hgrid thead th.sh { padding: 4px 0 6px; text-transform: none; letter-spacing: 0; text-align: center; }
.hgrid th.sh a { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); max-height: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 11px/1.2 var(--sans); color: var(--ink); }
.hgrid th.sh.nl a { color: var(--mid); }
.hgrid th.sh:hover, .hgrid th.sh.hot { background: var(--hover); box-shadow: inset 0 -3px 0 var(--link); }
.hgrid .ss .score { min-width: 26px; padding: 0 2px; font-size: 11px; line-height: 16px; }
.hgrid td.gc { text-align: right; font: 500 11px var(--mono); padding: 0; border-left: 1px solid var(--bg); }
.hgrid td.gc a { color: var(--ink); display: block; padding: 5px 5px; min-height: 24px; }
.hgrid td.e { padding: 3px 5px; }
.hgrid tbody a { scroll-margin-top: 230px; }
.hgrid td.gc a:hover { text-decoration: none; }
.hgrid td.gc:hover { outline: 1px solid var(--ink-2); outline-offset: -1px; }
.hgrid td.b1 { background: var(--b1); } .hgrid td.b2 { background: var(--b2); } .hgrid td.b3 { background: var(--b3); }
.hgrid td.b4 { background: var(--b4); } .hgrid td.b5 { background: var(--b5); }
.mbar i.b1, .mkey i.b1 { background: var(--s1); } .mbar i.b2 { background: var(--s2); } .mbar i.b3, .mkey i.b3 { background: var(--s3); } .mbar i.b4 { background: var(--s4); } .mbar i.b5, .mkey i.b5 { background: var(--s5); }
.hgrid td.br { box-shadow: inset 0 0 0 2px var(--ink); font-weight: 700; }
.hgrid td.so a { color: var(--ink-2); text-decoration: line-through; }
.hgrid td.e { color: var(--field); text-align: center; }
.hgrid tr.grp th { background: var(--bg); color: var(--ink-3); font-size: 11px; font-weight: 600; padding-top: 10px; border-bottom: 1px solid var(--line-2); text-transform: none; }
.hgrid tbody tr:not(.grp):hover > th, .hgrid tbody tr:not(.grp):hover > td.bp, .hgrid tbody tr:not(.grp):hover > td.md { background: var(--hover); }
.hgrid .off { display: none; }
@media (max-height: 700px) { .hgrid thead th { position: static; } }
@media (min-width: 1400px) { .hgrid:not(.js) tbody tr > :nth-child(n+24), .hgrid:not(.js) thead tr:first-child > :nth-child(n+24), .hgrid:not(.js) .ssr > :nth-child(n+21) { display: none; } }
@media (min-width: 1200px) and (max-width: 1399px) { .hgrid:not(.js) tbody tr > :nth-child(n+19), .hgrid:not(.js) thead tr:first-child > :nth-child(n+19), .hgrid:not(.js) .ssr > :nth-child(n+16) { display: none; } }
@media (max-width: 1199px) { .hgrid:not(.js) tbody tr > :nth-child(n+11), .hgrid:not(.js) thead tr:first-child > :nth-child(n+11), .hgrid:not(.js) .ssr > :nth-child(n+8) { display: none; } }
.hgrid tr.grp > th { display: table-cell !important; }
.mgrid { display: none; }
.mjump { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 8px; }
.mjump a { font: 500 12px var(--sans); padding: 6px 11px; border: 1px solid var(--line-2); border-radius: 2px; color: var(--ink); background: var(--bg); }
.mkey i { display: inline-block; width: 10px; height: 10px; vertical-align: -1px; margin: 0 3px 0 2px; }
.mkey i.b4 { background: var(--s4); }
.mgh { margin: 16px 0 6px; scroll-margin-top: 50px; }
.mcard { border: 1px solid var(--line); margin: 0 0 6px; }
.mcard summary { list-style: none; display: block; padding: 9px 11px 8px; cursor: pointer; }
.mcard summary::-webkit-details-marker { display: none; }
.mcard[open] summary { background: var(--panel); }
.mcard summary:focus-visible { outline-offset: -2px; }
.mtop, .msub, .mfoot { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.mname { font: 600 15px var(--sans); color: var(--link); }
.mbest { font: 600 17px var(--mono); white-space: nowrap; }
.mbest small { font-size: 11px; color: var(--ink-3); font-weight: 400; margin-left: 2px; }
.msub { font-size: 12px; color: var(--ink-2); margin-top: 2px; }
.msub > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msub .score { font-size: 11px; line-height: 15px; min-width: 32px; }
.mmed { font: 11px var(--mono); color: var(--ink-3); white-space: nowrap; }
.mbar { display: flex; gap: 1px; height: 12px; margin-top: 8px; }
.mbar i { flex: 1 1 0; min-width: 2px; }
.mbar i.me { box-shadow: 0 0 0 2px var(--ink); position: relative; z-index: 1; }
.mfoot { font-size: 11px; color: var(--ink-3); margin-top: 5px; }
.mopen { color: var(--link); font-weight: 500; }
.mopen::after { content: " \25BE"; }
.mcard[open] .mopen::after { content: " \25B4"; }
.mlist { list-style: none; margin: 0; padding: 0 11px; border-top: 1px solid var(--line); }
.mlist li { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto auto; gap: 8px; align-items: baseline; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.mlist .rk { font: 11px var(--mono); color: var(--ink-3); }
.mlist .who { min-width: 0; display: flex; align-items: baseline; gap: 6px; }
.mlist .who a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mlist .who .score, .mlist .who .ul { flex: none; }
.mlist .who .score { font-size: 11px; line-height: 15px; min-width: 32px; }
.mlist .pk { font: 11px var(--mono); color: var(--ink-3); }
.mlist .pr { font: 600 13px var(--mono); text-align: right; }
@media (max-width: 480px) {
.mlist li { grid-template-columns: 18px minmax(0, 1fr) auto; row-gap: 1px; }
.mlist .who a { white-space: normal; overflow-wrap: anywhere; }
.mlist .pk { grid-column: 2; grid-row: 2; }
.mlist .pr { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
.msub { flex-wrap: wrap; row-gap: 2px; }
.msub > span:first-child { white-space: normal; }
}
.mall { display: block; padding: 9px 11px 10px; font-size: 13px; font-weight: 500; }
.band { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 20px; align-items: start; }
.band .grid { border: 1px solid var(--line); }
.band td.name { white-space: normal; }
.band td.name .tag { white-space: nowrap; }
.score { display: inline-block; min-width: 38px; text-align: center; font: 600 11px/18px var(--mono); border-radius: 2px; padding: 0 4px; }
.score.big { font-size: 15px; line-height: 24px; padding: 0 7px; }
.s-hi { background: var(--good-bg); color: var(--good); }
.s-mid { background: var(--mid-bg); color: var(--mid); }
.s-lo { background: var(--bad-bg); color: var(--bad); }
.score + .n { display: inline-block; min-width: 50px; text-align: left; margin-left: 5px; font: 11px var(--mono); color: var(--ink-3); }
.chg { font: 500 11px var(--mono); margin-right: 6px; }
.chg.down { color: var(--good); }
.chg.up { color: var(--bad); }
.chg.new { color: var(--ink-3); text-transform: uppercase; }
.side-col td.name { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
.side-col .compact td, .side-col .compact th { padding: 3px 5px; }
.chart { border: 1px solid var(--line); padding: 4px 18px 6px; margin: 8px 0 10px; }
.chart .tbar .note { margin-left: auto; }
.dots { position: relative; height: 112px; margin: 2px 0 0; }
.dots .dot { position: absolute; width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%; box-shadow: 0 0 0 1px var(--bg); }
.dots .dot:hover { transform: scale(1.8); z-index: 2; }
.dots .d-one { background: var(--dot-one); opacity: 0.8; }
.dots .d-kit { background: var(--dot-kit); opacity: 0.85; border-radius: 1px; }
.dots .d-flag { background: var(--dot-flag); }
@media (max-width: 620px) { .dots { height: 150px; } .dots .dot { width: 5px; height: 5px; margin-left: -2.5px; } .dots .d-kit { border-radius: 0; } }
.dots .d-far { width: 9px; height: 9px; margin-left: -4.5px; background: none; border: 1.5px solid var(--ink-2); }
.legend i.d-far { background: none; border: 1.5px solid var(--ink-2); }
.legend .lg-pair { display: inline-flex; align-items: center; gap: 4px; }
@media (max-width: 620px) { .dots .d-far { width: 7px; height: 7px; margin-left: -3.5px; } }
.dots .d-flag, .legend i.d-flag { border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.dots .d-flag { width: 9px; height: 8px; margin-left: -4.5px; }
@media (max-width: 620px) { .dots .d-flag { width: 7px; height: 6px; margin-left: -3.5px; } }
.dots .tk { position: absolute; top: 0; bottom: 0; width: 0; border-left: 1px solid var(--line); }
.dots .tk b { position: absolute; bottom: 0; left: 0; transform: translateX(-50%); font: 400 11px var(--mono); color: var(--ink-3); background: var(--bg); padding: 0 2px; }
.histsvg { display: block; width: 100%; height: 110px; }
.histsvg .h-med { fill: none; stroke: var(--dot-one); stroke-width: 2; vector-effect: non-scaling-stroke; }
.histsvg .h-low { fill: none; stroke: var(--dot-kit); stroke-width: 1.5; stroke-dasharray: 4 3; vector-effect: non-scaling-stroke; }
.legend i.l-med, .legend i.l-low { width: 14px; height: 0; border-radius: 0; border-top: 2px solid var(--dot-one); }
.legend i.l-low { border-top: 2px dashed var(--dot-kit); }
.h-axis { display: flex; justify-content: space-between; gap: 12px; font: 11px var(--mono); color: var(--ink-3); margin-top: 2px; }
.filters { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; padding: 6px 0 8px; font-size: 12px; }
.filters input[type="search"], .filters select { height: 28px; border: 1px solid var(--field); background: var(--bg); color: var(--ink); font: inherit; padding: 0 6px; border-radius: 2px; }
.filters input[type="search"] { width: 190px; }
.filters label { display: inline-flex; gap: 5px; align-items: center; color: var(--ink-2); }
.filters .count { margin-left: auto; color: var(--ink-3); font-family: var(--mono); font-size: 11px; }
table.kv { border-collapse: collapse; width: 100%; margin-bottom: 8px; }
.kv th { text-align: left; font-weight: 500; color: var(--ink-3); width: 150px; padding: 5px 8px 5px 0; vertical-align: top; border-bottom: 1px solid var(--line); }
.kv td { padding: 5px 0; border-bottom: 1px solid var(--line); }
.kv .sub { display: inline; margin-left: 6px; white-space: normal; }
.alert { border: 1px solid var(--bad); background: var(--bad-bg); color: var(--ink); padding: 8px 10px; margin: 8px 0 4px; }
.alert b { color: var(--bad); }
.alert p { margin: 0 0 6px; }
.alert p:last-child { margin: 0; }
.alert q { font-style: italic; }
.alert.soft { border-color: var(--line-2); background: var(--panel); }
.alert.soft b { color: var(--ink); }
.tag { display: inline-block; font: 500 11px/15px var(--mono); padding: 0 4px; border: 1px solid var(--line-2); color: var(--ink-3); border-radius: 2px; vertical-align: 1px; white-space: nowrap; }
.dtag { white-space: nowrap; }
.dtag .dh { white-space: normal; }
.tag.warn { border-color: var(--mid); color: var(--mid); background: var(--mid-bg); }
.tag.v-verified { border-color: var(--good); color: var(--good); background: var(--good-bg); }
.tag.v-unverified { border-color: var(--mid); color: var(--mid); background: var(--mid-bg); }
.tag.v-shared { border-color: var(--line-2); color: var(--ink-2); }
.tag.v-flagged { border-color: var(--bad-solid); color: #fff; background: var(--bad-solid); }
.tag.ev-ok { border-color: var(--good); color: var(--good); background: var(--good-bg); }
h1 .tag { font-size: 12px; vertical-align: 5px; margin-left: 6px; }
.vline { margin: 0 0 6px; }
.vline .tag { font-size: 12px; }
details.more { margin-top: 6px; }
details.more summary { cursor: pointer; color: var(--link); font-size: 13px; padding: 4px 0; }
.alert.verdict { border-width: 1px 1px 1px 3px; }
.alert.verdict.v-verified { border-color: var(--good); background: var(--good-bg); }
.alert.verdict.v-unverified { border-color: var(--mid); background: var(--mid-bg); }
.alert.verdict.v-shared { border-color: var(--line-2); background: var(--panel); }
.alert.verdict.v-flagged { border-color: var(--bad); background: var(--bad-bg); }
.alert-h { color: var(--bad); }
.alerts { margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); }
.alerts li { padding: 7px 8px; border-bottom: 1px solid var(--line); font-size: 12px; color: var(--ink-2); }
.alerts li:last-child { border-bottom: 0; }
.alerts li > a { font-weight: 600; }
.alerts q { display: block; margin: 3px 0 2px; color: var(--ink); }
.alerts .src { display: block; font-size: 11px; color: var(--ink-3); }
.warnlist { border: 1px solid var(--line); max-width: 1000px; }
.wl { padding: 8px 10px; border-bottom: 1px solid var(--line); }
.wl:last-child { border-bottom: 0; }
.wl-h { font-weight: 600; }
.wl-h .nil { font-weight: 400; font-size: 12px; }
.wl-b { font-size: 12px; color: var(--ink-2); margin-top: 3px; }
.prose p, .prose li { color: var(--ink-2); font-size: 14px; line-height: 1.6; }
.prose p { margin: 0 0 10px; }
.prose ul, .prose ol { padding-left: 20px; margin: 0 0 10px; }
.prose h2 { margin-top: 24px; }
.prose b { color: var(--ink); }
.prose ul.guides { list-style: none; padding: 0; }
.prose ul.guides li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.prose ul.guides li > a b { display: inline-block; text-wrap: balance; }
.guide table.grid { margin: 6px 0 12px; font-size: 13px; }
.guide table.grid td, .guide table.grid th { white-space: normal; }
.foot { max-width: 1440px; margin: 0 auto; padding: 14px 16px 30px; border-top: 1px solid var(--line); color: var(--ink-3); font-size: 12px; display: grid; gap: 4px; }
.foot-links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 6px; }
@media (min-width: 621px) { .foot-links { row-gap: 7px; } }
.cta { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0; }
.howrep { margin-top: 22px; max-width: 760px; }
.steps { margin: 6px 0 8px; padding-left: 20px; }
.steps li { margin: 0 0 6px; line-height: 1.5; }
.askrep { margin-top: 22px; }
.asklist { list-style: none; margin: 6px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 16px; }
.asklist li { padding: 5px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.btn-cta { display: inline-block; padding: 7px 12px; border: 1px solid var(--ink); background: var(--ink); color: var(--bg); font: 600 12px var(--sans); border-radius: 2px; cursor: pointer; }
.btn-cta:hover { text-decoration: none; opacity: .9; }
.nf-form { margin: 14px 0 4px; max-width: 520px; }
.nf-form label { display: block; font-size: 12px; color: var(--ink-2); margin-bottom: 4px; }
.nf-row { display: flex; gap: 6px; }
.nf-row input { flex: 1 1 auto; min-width: 0; padding: 7px 9px; border: 1px solid var(--field); background: var(--bg); color: var(--ink); font: 14px var(--sans); border-radius: 2px; }
.nf-guess { margin-top: 16px; }
.nf-guess li { padding: 3px 0; }
.btn-cta.bad { background: var(--bad-solid); border-color: var(--bad-solid); color: #fff; }
.btn-cta.ghost { background: transparent; color: var(--ink); border-color: var(--line-2); margin-left: 6px; }
.reps { display: grid; gap: 10px; margin: 8px 0; }
.rep { border: 1px solid var(--line); padding: 9px 12px; }
.rep-h { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; font-size: 13px; }
.rep-d { font-weight: 600; }
.oc { font: 600 11px var(--mono); padding: 1px 5px; border-radius: 2px; border: 1px solid var(--line-2); }
.oc.o-good { color: var(--good); background: var(--good-bg); border-color: var(--good); }
.oc.o-mid { color: var(--mid); background: var(--mid-bg); border-color: var(--mid); }
.oc.o-bad { color: var(--bad); background: var(--bad-bg); border-color: var(--bad); }
.rt { font: 600 11px var(--mono); color: var(--ink-2); }
.rep-meta { color: var(--ink-3); font-size: 11px; margin: 3px 0 5px; }
.rep-meta i { font-style: normal; padding: 0 2px; }
.edited-note { color: var(--mid); }
.rep-b p { margin: 0 0 6px; font-size: 13px; line-height: 1.55; color: var(--ink); }
.rep-f { font-size: 12px; }
.rep-resp { margin: 6px 0 2px 14px; padding: 6px 10px; border-left: 3px solid var(--line-2); background: var(--panel); }
.reps.mini .rep { padding: 6px 8px; }
.reps.mini .rep-b { max-height: 4.6em; overflow: hidden; }
.cstrip { border: 1px solid var(--line); background: var(--panel); padding: 6px 10px; margin: 8px 0; font-size: 12px; color: var(--ink-2); }
.cstrip.bad { border-color: var(--bad); }
.cstrip.quiet { background: transparent; border: 0; padding: 0; margin: 6px 0; }
.formcols { display: grid; grid-template-columns: minmax(0, 760px) minmax(0, 300px); gap: 28px; align-items: start; }
.formside { position: sticky; top: 56px; border: 1px solid var(--line); background: var(--panel); padding: 4px 14px 12px; }
.formside h2 { margin-top: 10px; }
.formside ol { margin: 0; padding-left: 18px; font-size: 13px; color: var(--ink-2); }
.formside li { margin: 0 0 6px; }
.subform { max-width: 760px; min-width: 0; }
.kinds { border: 0; padding: 0; margin: 0 0 12px; display: flex; gap: 16px; flex-wrap: wrap; font-weight: 500; }
.kinds label { display: inline-flex; gap: 6px; align-items: center; min-height: 30px; }
.fgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.fgrid label, .fgrid .mfield { display: grid; gap: 3px; font-size: 12px; color: var(--ink-2); font-weight: 500; min-width: 0; }
.fgrid .wide { grid-column: 1 / -1; }
.fgrid input, .fgrid select, .fgrid textarea { width: 100%; min-width: 0; font: 13px var(--sans); color: var(--ink); background: var(--bg); border: 1px solid var(--field); border-radius: 2px; padding: 5px 7px; }
.fgrid input, .fgrid select { height: 32px; }
.fgrid input[type="file"] { height: auto; padding: 6px; }
.fgrid input[type="file"]::file-selector-button { font: 600 12px var(--sans); color: var(--bg); background: var(--ink); border: 0; border-radius: 2px; padding: 6px 10px; margin-right: 10px; cursor: pointer; }
.mfield .pair { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.formmsg { font-weight: 500; }
.rq { font-weight: 400; color: var(--ink-3); font-size: 11px; }
.fgrid [aria-invalid="true"] { border-color: var(--bad); box-shadow: 0 0 0 1px var(--bad); }
.formmsg.ok { color: var(--good); }
.formmsg.err { color: var(--bad); }
.evbox { border: 1px dashed var(--line-2); padding: 8px 10px; }
.evbox .req { color: var(--bad); font-weight: 400; margin-left: 4px; }
.evbox .req.opt { color: var(--ink-3); }
.filelist { margin: 4px 0 0; padding-left: 18px; font-size: 12px; color: var(--ink-2); }
.vbox { border: 1px solid var(--line); padding: 8px 12px; background: var(--panel); }
.vbox pre.token { font: 600 13px var(--mono); background: var(--bg); border: 1px solid var(--line-2); padding: 6px 8px; white-space: pre-wrap; overflow-wrap: anywhere; user-select: all; }
.note.ok { color: var(--good); } .note.err { color: var(--bad); }
#dreport { margin: 8px 0 14px; }
.consent { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; color: var(--ink-2); margin: 12px 0; max-width: 760px; }
.consent input { margin-top: 2px; flex: none; width: 16px; height: 16px; }
.about { margin: 6px 0 0; color: var(--ink-2); max-width: 900px; font-size: 13px; }
.about .aka, .about .asof-note { color: var(--ink-3); }
.about.brands { color: var(--ink-3); font-size: 12px; }
.picks { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); margin: 6px 0 4px; }
.pick-c { padding: 8px 10px; min-width: 0; background: var(--bg); }
.pk-l { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); font-weight: 600; }
.pk-v { font: 600 20px/1.25 var(--mono); margin-top: 3px; }
.pk-v .u { font-size: 11px; color: var(--ink-3); font-weight: 400; margin-left: 3px; }
.pk-v .score { font-size: 16px; line-height: 24px; }
.pk-m { font: 11px var(--mono); color: var(--ink-2); }
.pk-s { margin-top: 4px; font-size: 12px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pk-h { margin-top: 2px; font-size: 11px; color: var(--ink-3); }
.pk-h a { white-space: nowrap; }
.pick-c.empty .nil { margin-top: 8px; font-size: 12px; }
.gl-v { font: 600 15px/1.5 var(--sans); margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gl-v .u { font: 400 11px var(--sans); color: var(--ink-3); }
@media (max-width: 620px) { .gl-v { white-space: normal; overflow-wrap: anywhere; } }
@media (max-width: 400px) { .pk-s { white-space: normal; } }
.glance .pk-h .tag { vertical-align: 0; }
.listings td.st .sub { white-space: nowrap; }
.listings .rep-name { display: none; }
table.listings .lk { display: none; font-size: 12px; margin-left: 6px; white-space: nowrap; }
.listings td.name .dom { font-size: 11px; }
.listings td.name .dom a { color: var(--ink-3); }
table.listings td.name .sub.dom { margin-top: 8px; }
#stores td, #vendors td, #stores th, #vendors th, table.listings td.name, table.listings td.fr { white-space: normal; }
#stores td .sub, #vendors td .sub, table.listings td.name .sub { white-space: normal; }
#stores td.name { min-width: 170px; word-break: break-word; }
#vendors td.name { min-width: 170px; }
table.listings td.name { min-width: 150px; }
#stores td.num .nil { white-space: nowrap; }
@media (min-width: 621px) { #vendors td:nth-child(3) .sub { white-space: nowrap; } }
table.listings td.fr { max-width: 150px; }
#stores td.pay, #vendors td.pay { max-width: 170px; }
@media (min-width: 1280px) {
.lwrap .grid thead th { top: 40px; }
}
@media (max-width: 1279px) {
table.listings .prod, table.listings .pv1 { display: none; }
table.listings .lk { display: inline; }
}
@media (max-width: 1180px) {
.asof { display: none; }
}
@media (max-width: 1100px) {
.hgrid th.pn { width: 132px; min-width: 132px; max-width: 132px; }
.hgrid .bp { width: 164px; min-width: 164px; max-width: 164px; }
.hgrid .md { width: 62px; min-width: 62px; }
.cols { grid-template-columns: 1fr; }
.band { grid-template-columns: 1fr 1fr; }
.mstrip { display: block; }
.formcols { grid-template-columns: minmax(0, 1fr); }
.formside { position: static; max-width: 760px; }
table.listings .fr, table.listings .vm { display: none; }
#vendors th:nth-child(4), #vendors td:nth-child(4), #vendors th:nth-child(6), #vendors td:nth-child(6) { display: none; }
#stores .pay { display: none; }
}
@media (max-width: 900px) {
.nav-main { display: none; }
.menu { display: block; }
.top-in { gap: 10px; }
table.listings, table.listings tbody { display: block; }
table.listings thead { display: none; }
table.listings tr { display: flex; flex-wrap: wrap; align-items: baseline; padding: 7px 10px; border-bottom: 1px solid var(--line); }
table.listings tr[hidden] { display: none; }
table.listings td { display: block; border: 0; padding: 0; white-space: nowrap; text-align: left; font-size: 12px; }
table.listings td.rk, table.listings td.pv1, table.listings td.prod, table.listings td.vm { display: none; }
table.listings td.name { order: 1; flex: 1 1 calc(100% - 132px); min-width: 0; white-space: normal; font-size: 13px; }
table.listings td.name > a, table.listings td.name .sub.dom a { overflow-wrap: anywhere; }
table.listings td.name .rep-name { display: inline; color: var(--ink-2); }
table.listings td.mg { order: 2; flex: 0 0 120px; text-align: right; font-size: 14px; }
table.listings td.sz { order: 3; } table.listings td.pk { order: 4; } table.listings td.pr { order: 5; }
table.listings td.st { order: 6; } table.listings td.fr { order: 7; display: block; } table.listings td.sto { order: 8; }
table.listings td.sc { order: 9; margin-left: auto; text-align: right; }
table.listings td.sz, table.listings td.pk, table.listings td.pr, table.listings td.st, table.listings td.fr, table.listings td.sto { font: 12px var(--mono); color: var(--ink-2); }
table.listings tr { column-gap: 12px; }
table.listings tr.oosr { background: var(--panel); }
table.listings tr.oosr td { background: none; }
table.listings tr.flag { background: var(--bad-bg); }
table.listings tr.flag td { background: none; }
table.listings td.mg .flagtxt, table.listings td.mg .fartxt { display: block; white-space: normal; font: 500 11px var(--sans); }
table.listings td.fr:empty, table.listings td.sto:empty { display: none; }
table.listings td.st .sub { display: inline; margin-left: 4px; }
table.listings td.st .tag { margin-left: 4px; }
}
@media (max-width: 760px) {
.narrowtbl th:nth-child(4), .narrowtbl td:nth-child(4), .narrowtbl th:nth-child(5), .narrowtbl td:nth-child(5) { display: none; }
.narrowtbl td.name, .narrowtbl th { white-space: normal; }
.dgrid { display: none; }
.mgrid { display: block; }
.band { grid-template-columns: minmax(0, 1fr); }
.cols.even { grid-template-columns: 1fr; }
h1 { font-size: 20px; }
.lede { font-size: 13px; }
#stores .sf, #stores .pay { display: none; }
#stores td, #vendors td.name { white-space: normal; }
#stores td.name { width: 56%; word-break: break-word; }
#stores td.name .sub, #vendors td.name .sub { white-space: normal; }
#vendors th:nth-child(5), #vendors td:nth-child(5), #vendors th:nth-child(7), #vendors td:nth-child(7) { display: none; }
}
@media (max-width: 620px) {
main { padding: 10px 12px 24px; }
.top-in { padding: 0 12px; gap: 8px; }
.brand { font-size: 12px; letter-spacing: .03em; }
.brand .mark { width: 13px; height: 13px; margin-right: 6px; }
.fgrid { grid-template-columns: minmax(0, 1fr); }
.filters input[type="search"] { width: 100%; }
.filters .count { margin-left: 0; width: 100%; }
.chart { padding: 4px 10px 6px; }
.h-axis { flex-direction: column; gap: 0; }
.kv th { width: 110px; }
.kv td { word-break: break-word; }
#stores, #stores tbody { display: block; }
#stores thead { display: none; }
#stores tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 7px 10px; border-bottom: 1px solid var(--line); }
#stores tr[hidden] { display: none; }
#stores td { display: block; border: 0; padding: 0; }
#stores td.name { flex: 1 1 100%; width: auto; min-width: 0; }
#stores td:nth-child(2) { font-size: 12px; }
.domtbl .dst, .domtbl .dchk { display: none; }
table.domtbl td .sub.dstat { display: block; white-space: normal; }
#stores td:has(> .nil:only-child) { display: none; }
.domtbl td { white-space: normal; word-break: break-word; }
.grid td.name { white-space: normal; }
}
@media (max-width: 400px) {
.band .grid th:nth-child(4), .band .grid td:nth-child(4) { display: none; }
#vendors th:nth-child(3), #vendors td:nth-child(3) { display: none; }
.brand { font-size: 11px; letter-spacing: 0; }
.brand .mark { display: none; }
}
.watchb { font: 500 12px var(--sans); color: var(--ink); background: var(--bg); border: 1px solid var(--field); border-radius: 2px; padding: 3px 9px; margin-left: 8px; vertical-align: 4px; cursor: pointer; }
.watchb[aria-pressed="true"] { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.watch { border: 1px solid var(--line); background: var(--panel); padding: 2px 12px 8px; margin: 4px 0 10px; }
.watch h2 { margin-top: 10px; }
.wl-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 4px 18px; }
.wl-list li { padding: 4px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.wl-list li > a { font-weight: 600; }
.wl-list .wb { font: 600 13px var(--mono); margin-left: 6px; }
.wl-list .wv { display: block; font-size: 11px; }
.wl-list .chg { white-space: nowrap; }
.wl-list .wsince { font: 400 11px var(--sans); }
.wl-list .wx { font: 11px var(--sans); color: var(--link); background: none; border: 0; padding: 0; cursor: pointer; float: right; }
h1, h2, h3, .crumbs { text-wrap: balance; }
.lede, .note, .about, th .sub { text-wrap: pretty; }
body { min-height: 100vh; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; width: 100%; }
.domtbl { width: auto; min-width: 60%; }
.domtbl .sub.dstat { display: none; }
@media (max-width: 900px) {
.picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.picks .pick-c:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
.foot { padding-left: 12px; padding-right: 12px; }
.crumbs { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.crumbs { overflow: clip; overflow-clip-margin: 3px; }
.foot-links a, .crumbs a, table.listings .lk, th .sortbtn { display: inline-block; padding: 6px 0; }
input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; }
}
@media (max-width: 620px) {
#vendors, #vendors tbody { display: block; }
#vendors thead { display: none; }
#vendors tr { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 14px; padding: 8px 10px; border-bottom: 1px solid var(--line); }
#vendors tr[hidden] { display: none; }
#vendors td { display: block !important; border: 0; padding: 0; text-align: left; font-size: 12px; }
#vendors td.name { flex: 1 1 100%; font-size: 13px; }
#vendors td:nth-child(4), #vendors td.pay, #vendors td.pp { display: none !important; }
#vendors td:nth-child(3) .sub { display: inline; margin-left: 4px; }
#vendors td:nth-child(3)::before { content: "Tests "; color: var(--ink-3); font-family: var(--sans); }
#vendors td.sf::before { content: "Ships from "; color: var(--ink-3); }
#vendors td.vm::before { content: "vs median "; color: var(--ink-3); font-family: var(--sans); }
}
@media (max-width: 620px) { #vendors td.e0 { display: none !important; } }
.polstrip { margin: 4px 0 10px; }
.polstrip h2 { margin-top: 14px; }
.polstrip dl { display: flex; flex-wrap: wrap; gap: 1px; background: var(--line); border: 1px solid var(--line); margin: 0; }
.polstrip dl > div { background: var(--bg); padding: 6px 10px; min-width: 0; flex: 1 1 240px; }
.polstrip dt { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); font-weight: 600; }
.polstrip dd { margin: 2px 0 0; font-size: 13px; color: var(--ink); }
@media (max-width: 620px) { .polstrip dl > div { flex-basis: 40%; } }
.linkbtn { font: inherit; color: var(--link); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; }
.prose p a, .prose li a, .prose td a, .note a, .lede a, .about a, .howto a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.prose p a:hover, .prose li a:hover, .prose td a:hover, .note a:hover, .lede a:hover { text-decoration-thickness: 2px; }
.prose a.btn-cta { text-decoration: none; }
.gtip { position: absolute; z-index: 40; max-width: 320px; padding: 4px 8px; border-radius: 2px; background: var(--ink); color: var(--bg); font: 12px/1.35 var(--sans); pointer-events: none; }
.gtip[hidden] { display: none; }
@media (max-width: 620px) { #vendors .tn { display: none; } }
.msub .mmed { margin-left: auto; }
.prose a b { color: inherit; }
.wraptbl td:first-child a { white-space: nowrap; }
table.grid.domtbl { width: auto; min-width: 60%; }
.scroll:has(> table.domtbl) { width: fit-content; min-width: 60%; max-width: 100%; }
.scroll > table.grid.domtbl { width: 100%; }
table.deftbl { margin-bottom: 12px; }
.pk-m { text-wrap: pretty; }
@media (min-width: 901px) { table.stacked tbody tr.first td { border-top: 2px solid var(--line-2); } table.stacked tbody tr.first:first-child td { border-top: 0; } }
@media (max-width: 900px) { table.stacked tbody tr.first:not(:first-child) { border-top: 2px solid var(--line-2); } }
.warnlist ~ ul.plain { max-width: 1000px; }
.hgrid th.pn .sub { max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.evbox .req { margin-left: 0; }
.hist-soon { margin: 10px 0 0; }
.prose pre.code { margin: 8px 0 12px; padding: 10px 12px; background: var(--panel); border: 1px solid var(--line); border-radius: 2px; font: 12px/1.45 var(--mono); color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; overflow: visible; }
.prose pre.code code { font: inherit; background: none; padding: 0; }
@media (max-width: 620px) {
table.cardtbl thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
table.cardtbl, table.cardtbl tbody, table.cardtbl tr, table.cardtbl th, table.cardtbl td { display: block; width: auto; }
table.cardtbl tr { padding: 8px 10px; border-bottom: 1px solid var(--line); }
table.cardtbl tbody th[scope="row"] { border: 0; padding: 0 0 4px; width: auto; }
table.cardtbl td { border: 0; padding: 2px 0; }
table.cardtbl td[data-label]::before { content: attr(data-label) ": "; font-weight: 600; color: var(--ink-2); }
}
.sub.was { color: var(--good, #2e7d32); font-family: var(--sans); }
.chg.back { color: var(--good); border: 1px solid var(--good); border-radius: 2px; padding: 0 3px; font-size: 11px; }
.chg.ended { display: block; width: fit-content; margin: 0 0 2px auto; color: var(--ink-3); border: 1px solid var(--line-2); border-radius: 2px; padding: 0 3px; font-size: 11px; line-height: 15px; white-space: nowrap; }
.regact a, .kv .sub a, .wl-b a, .alert a, .wl-h .nil a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.regact a:hover, .kv .sub a:hover, .wl-b a:hover, .alert a:hover, .wl-h .nil a:hover { text-decoration-thickness: 2px; }
.regacts-l { list-style: none; margin: 0; padding: 0; }
h3.wl-h { font-size: 13px; line-height: 1.45; margin: 0; }
.regact .ra-d { font-weight: 600; }
.regacts { max-width: 1000px; }
@media (max-width: 620px) {
table.listings td.pr { display: contents; }
table.listings td.pr > .cur { order: 5; }
table.listings td.pr .sub.was { order: 10; flex-basis: 100%; margin-left: 0; }
#stores td:empty { display: none; }
}
@media (max-width: 900px) { table.listings td.st .lk { margin-left: 12px; } }
.kv th { text-wrap: balance; }
@media (max-width: 900px) { table.listings tbody tr { content-visibility: auto; contain-intrinsic-size: auto 60px; } }
@media (max-width: 620px) { #stores tbody tr, #vendors tbody tr, table.cardtbl tbody tr { content-visibility: auto; contain-intrinsic-size: auto 56px; } }
@media (max-width: 760px) { .mcard { content-visibility: auto; contain-intrinsic-size: auto 104px; } }
@media (max-width: 900px) { table.listings td.fr:has(> .nil:only-child) { display: none; } }
.regacts { margin: 14px 0 10px; }
.regact { border-left: 3px solid var(--mid); background: var(--mid-bg); padding: 8px 12px; margin: 6px 0; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.regact q { font-style: italic; }
@media (max-width: 620px) { table.listings td.pr .sub.was { display: inline; margin-left: 0; } }
@media (max-width: 900px) { table.listings td.pr { text-align: left; } }
.cl { display: none; }
@media (max-width: 900px) { table.listings .cl { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; } }
.grid tbody th[scope="row"] { font-weight: 500; text-align: left; }
.wraptbl tbody th[scope="row"] { width: 30%; white-space: normal; }
.wraptbl tbody th[scope="row"] a { white-space: nowrap; }
.deftbl tbody th[scope="row"] { white-space: nowrap; width: 1%; }
@media (max-width: 480px) { .deftbl tbody th[scope="row"] { white-space: normal; } }
.sitenote { margin: 18px 0 6px; }
.sitenote p { max-width: 900px; }
.sitenote .sn-d { display: none; }
.sitenote summary { cursor: pointer; }
@media (max-width: 620px) { .sitenote .sn-d { display: block; } .sitenote .sn-full { display: none; } }
.cols > .sitenote { margin: 0; }
.cols > .sitenote h2 { margin-top: 0; }
.cols > .sitenote > p:last-child { margin-bottom: 0; }
@media (min-width: 761px) and (max-width: 999px) { .cols.even.storecols { grid-template-columns: 1fr; } }
@media (min-width: 1000px) {
.cols.storecols { grid-template-rows: auto 1fr; }
.cols.storecols > .polcol { grid-column: 2; grid-row: 1 / span 2; }
.cols.storecols > .sitenote { grid-column: 1; grid-row: 2; }
}
.sub.rnote { display: block; font-size: 11px; }
.sub.rnote a { color: var(--ink-3); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.rnotes { margin: 6px 0 0; padding-left: 20px; max-width: 900px; }
.rnotes li { margin: 2px 0; }
@media (max-width: 900px) { table.listings td.name .sub.rnote { display: block; flex-basis: 100%; } }
.grid td.srcn { white-space: normal; overflow-wrap: anywhere; }
.lsw { display: none; }
@media (max-width: 620px) { #stores .lsw { display: inline; color: var(--ink-3); font-family: var(--sans); } }
@media (max-width: 620px) { #stores .lsw:has(+ .nil) { display: none; } }
.sub.rnote { margin-top: 6px; }
.sub.rnote a { display: inline-block; padding: 5px 0; scroll-margin-top: 80px; }
.rnotes li:target { background: var(--hover); }
ul.warnlist { list-style: none; margin: 0; padding: 0; }
a.tag.warn { text-decoration: none; }
a.tag.warn:hover, a.tag.warn:focus-visible { text-decoration: underline; }
a.tag.warn::after { content: "\00a0\2192" / ""; }
@media (max-width: 400px) { td.name a.tag.warn { white-space: normal; } }
.wl:target { outline: 2px solid var(--mid); outline-offset: 2px; }
td.name a.tag.warn { margin-top: 7px; }
@media (max-width: 620px) { .kv .dtag { display: inline-block; white-space: normal; max-width: 100%; } }
@media (min-width: 621px) { #filters .count { min-width: 37ch; text-align: right; } }
.prose ul.morelist li { padding: 1px 0; }
.hgrid tbody th.pn > a { white-space: normal; }
@media (max-width: 620px) { .sorthint { display: none; } }
@media (max-width: 900px) { .rkkey { display: none; } }
@media (forced-colors: active) {
.mbar i, .mkey i, .grid-legend i, .legend i:not(.d-far), .dots .dot:not(.d-far), .hgrid td.gc { forced-color-adjust: none; }
.mbar i.me { outline: 2px solid CanvasText; }
.grid-legend i.brk, .hgrid td.br { outline: 2px solid CanvasText; outline-offset: -2px; }
.seg button.on { forced-color-adjust: none; background: Highlight; color: HighlightText; }
.seg button.on:focus-visible { outline-color: CanvasText; }
.gpage button[aria-disabled="true"] { color: GrayText; border-color: GrayText; }
.nav-main a.on, .menu nav a.on { text-decoration-line: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
}
.seg button:focus-visible { position: relative; z-index: 1; }
html { scroll-padding-bottom: 8px; }
.kv td a[href^="/store/"] { display: inline-block; }
.changes { list-style: none; padding: 0; margin: 0 0 24px; }
.changes li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.changes .tag { margin-right: 4px; }
.changes .sub { white-space: normal; font-size: 13px; line-height: 1.45; margin-top: 3px; overflow-wrap: anywhere; max-width: 820px; }
