:root {
  --ink: #111111; --ink-2: #4f4d48; --muted: #8a877f;
  --surface: #ffffff; --plane: #fbfaf8;
  --grid: #ecebe5; --axis: #cfccc2;
  --hairline: rgba(17,17,17,0.10); --shadow: rgba(17,17,17,0.16);
  --sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  /* one sequential ramp: the cells encode magnitude, never identity */
  --l0: #f1efe9; --l1: #ffe9b8; --l2: #ffd27a; --l3: #ffb340; --l4: #ff9d00; --l5: #c76f00;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { background: var(--surface); color: var(--ink); font-family: var(--sans);
       -webkit-font-smoothing: antialiased; }
.page { max-width: 1180px; margin: 0 auto; padding: 40px 28px 56px; }
@media (max-width: 680px) { .page { padding: 24px 15px 40px; } }

h1 { font-size: 32px; font-weight: 600; letter-spacing: -0.022em; margin: 0 0 6px;
     line-height: 1.1; text-wrap: balance; }
.lede { margin: 0 0 20px; font-size: 15.5px; color: var(--ink-2); max-width: 80ch;
        line-height: 1.55; }
.lede code { font-family: var(--mono); font-size: 13.5px; background: var(--plane);
             border: 1px solid var(--hairline); border-radius: 3px; padding: 1px 5px; }
.figures { display: flex; flex-wrap: wrap; gap: 14px 40px; padding: 16px 0 20px;
           border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline);
           margin-bottom: 26px; }
.fig { display: flex; flex-direction: column; gap: 2px; }
.fig-v { font-size: 26px; font-weight: 600; letter-spacing: -0.02em; }
.fig-l { font-size: 13.5px; color: var(--ink-2); }
.asof { font-family: var(--mono); font-size: 12.5px; color: var(--muted); }

.scroll { overflow-x: auto; }
.grid { display: grid; grid-template-columns: 330px 1fr; gap: 4px 14px;
        align-items: center; min-width: 860px; }
.head { display: flex; align-items: baseline; gap: 10px; font-family: var(--mono);
        font-size: 10.5px; letter-spacing: 0.07em; text-transform: uppercase;
        color: var(--muted); }
.head .h-lab { flex: 1; }
.h-likes { width: 48px; text-align: right; }
.h-models { width: 46px; text-align: right; }
.axis { grid-column: 2; position: relative; height: 17px; font-family: var(--mono);
        font-size: 11.5px; color: var(--muted); }
.axis span { position: absolute; left: calc(var(--i) / var(--cols) * 100%); }
.row { display: contents; }
.lab { display: flex; align-items: center; gap: 9px; min-width: 0;
       text-decoration: none; color: var(--ink); padding: 2px 0; }
.lab img, .blank { width: 22px; height: 22px; border-radius: 5px; flex: none;
                   object-fit: cover; background: var(--grid);
                   border: 1px solid var(--hairline); }
.name { font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.best { font-family: var(--mono); font-size: 11px; color: var(--muted); flex: 1;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lab:hover .name { text-decoration: underline; }
.likes { font-family: var(--mono); font-size: 12px; font-weight: 500; width: 48px;
         text-align: right; flex: none; font-variant-numeric: tabular-nums; }
.models { font-family: var(--mono); font-size: 11.5px; color: var(--muted); width: 46px;
          text-align: right; flex: none; font-variant-numeric: tabular-nums; }
.cells { display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: 3px; }
.cell { display: block; aspect-ratio: 1; border-radius: 2px; background: var(--l0); }
.l1 { background: var(--l1); } .l2 { background: var(--l2); } .l3 { background: var(--l3); }
.l4 { background: var(--l4); } .l5 { background: var(--l5); }
.cells .cell:hover { outline: 2px solid var(--ink); outline-offset: 1px; }
.key { display: flex; justify-content: space-between; align-items: center; gap: 18px;
       margin-top: 16px; font-size: 12.5px; color: var(--muted); flex-wrap: wrap; }
.scale { display: inline-flex; align-items: center; gap: 4px; }
.scale .cell { width: 13px; height: 13px; }

details { margin-top: 30px; }
summary { cursor: pointer; font-size: 14px; color: var(--ink-2); }
table { border-collapse: collapse; width: 100%; font-size: 13.5px; margin-top: 14px; }
caption { text-align: left; color: var(--muted); font-size: 12.5px; padding-bottom: 8px; }
th, td { padding: 6px 16px 6px 0; text-align: right; white-space: nowrap; }
th:first-child, td:first-child { text-align: left; }
thead th { font-weight: 500; color: var(--muted); font-size: 11.5px; letter-spacing: 0.05em;
           text-transform: uppercase; border-bottom: 1px solid var(--axis); }
tbody td { font-family: var(--mono); font-variant-numeric: tabular-nums; }
tbody td:first-child, tbody td:nth-child(2) { font-family: var(--sans); }
tbody tr:not(:last-child) td { border-bottom: 1px solid var(--grid); }

footer { margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--hairline);
         display: flex; flex-direction: column; gap: 10px; }
footer p { margin: 0; font-size: 13px; color: var(--ink-2); max-width: 88ch; line-height: 1.55; }
footer strong { color: var(--ink); font-weight: 600; }
footer a { color: var(--ink-2); }
.tip { position: absolute; z-index: 40; pointer-events: none; opacity: 0;
       background: var(--ink); color: #fff; border-radius: 5px; padding: 6px 9px;
       font-size: 12px; white-space: nowrap; transition: opacity 110ms linear; }
.tip.on { opacity: 1; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
