@font-face { font-family:'IBM Plex Sans'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(assets/fonts/plex-sans-var-400-700-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'IBM Plex Sans'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url(assets/fonts/plex-sans-var-400-700-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url(assets/fonts/plex-mono-400-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url(assets/fonts/plex-mono-400-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url(assets/fonts/plex-mono-500-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url(assets/fonts/plex-mono-500-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:600; font-display:swap;
  src:url(assets/fonts/plex-mono-600-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'IBM Plex Mono'; font-style:normal; font-weight:600; font-display:swap;
  src:url(assets/fonts/plex-mono-600-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'IBM Plex Mono',monospace; max-width:1150px; margin:0 auto; background:#fff; color:#444; padding:20px 40px 14px; }
h1 { font-family:'IBM Plex Sans',sans-serif; font-size:21px; font-weight:600; color:#000; }
.sub { font-family:'IBM Plex Sans',sans-serif; font-size:13px; color:#777; margin:2px 0 9px; }
table { width:100%; border-collapse:collapse; }
th { text-align:left; padding:5px 12px 5px 0; font-size:11px; color:#7a7a7a; border-bottom:2px solid #000; font-weight:500; font-family:'IBM Plex Sans',sans-serif; }
th, td { vertical-align:middle; }
td { padding:2px 12px 2px 0; border-bottom:1px solid #eee; font-size:12px; }
.cnt { width:74px; font-size:12px; color:#000; font-weight:500; }
.co { white-space:nowrap; width:190px; color:#000; font-weight:500; }
.fav { width:16px; height:16px; border-radius:3px; vertical-align:-3px; margin-right:8px; display:inline-block; }
.favtxt { background:#eee; }
.loc { color:#888; white-space:nowrap; font-size:11px; width:110px; }
.num { color:#888; white-space:nowrap; font-family:'IBM Plex Mono',monospace; font-size:11px; width:74px; }
.stack { display:inline-flex; align-items:center; vertical-align:middle; }
.st { border-radius:50%; border:2px solid #fff; margin-left:-8px; background:#f4f4f4; display:block; width:18px; height:18px; object-fit:cover; }
.stack .st:first-child { margin-left:0; }
.st-blank { display:inline-flex; align-items:center; justify-content:center; box-sizing:content-box; line-height:1; font-family:'IBM Plex Sans',sans-serif; font-size:8.5px; font-weight:600; letter-spacing:.3px; color:#fff; }
.fnames { font-size:11px; color:#777; margin-left:8px; vertical-align:middle; }
.singles { margin-top:10px; }
.singles h2 { font-family:'IBM Plex Sans',sans-serif; font-size:12.5px; font-weight:600; color:#000; margin-bottom:4px; }
.chips { display:flex; flex-wrap:wrap; gap:3px 14px; }
.chip { display:inline-flex; align-items:center; font-size:11px; color:#555; white-space:nowrap; }
.sfav { width:14px; height:14px; border-radius:3px; margin-right:6px; display:inline-block; }
.sfav-blank { background:#eee; }
.thanks { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#999; line-height:1.45; margin-top:5px; word-spacing:2px; }
footer { font-family:'IBM Plex Sans',sans-serif; font-size:10.5px; color:#888; margin-top:10px; display:flex; align-items:center; }
footer img { width:18px; height:18px; border-radius:50%; margin-right:7px; }
footer b { color:#444; font-weight:500; }
.conote { color:#999; font-weight:400; font-size:10px; margin-left:7px; }

.backlink { font-family:'IBM Plex Sans',sans-serif; font-size:11px; color:#aaa; margin-bottom:5px; }
.backlink a { color:#888; text-decoration:none; border-bottom:1px solid #ddd; }
.backlink a:hover { color:#000; border-bottom-color:#888; }

@media (max-width:640px){
  body { padding:16px 12px 12px; }
  h1 { font-size:18px; line-height:1.25; }
  .sub { font-size:12px; line-height:1.45; margin:3px 0 10px; }
  table { table-layout:fixed; width:100%; }
  th { font-size:10px; padding:4px 6px 5px 0; }
  td { font-size:11.5px; padding:6px 6px 6px 0; }
  th:nth-child(1) { width:32px; } th:nth-child(3) { width:92px; } th:nth-child(5) { width:54px; }
  .cnt { width:32px; font-size:12px; }
  .co { width:auto; white-space:normal; font-size:12px; line-height:1.3; overflow-wrap:break-word; }
  .co .fav { margin-right:5px; }
  .fdrs { width:92px; }
  th.h-fn, .fn { display:none; width:0; }
  .num { width:54px; font-size:10px; }
  .loc, th:nth-child(6) { display:none; width:0; }
  .singles { margin-top:16px; }
  .chips { gap:4px 12px; }
  .thanks { word-spacing:1px; line-height:1.6; }
  footer { align-items:flex-start; line-height:1.5; }
  footer img { flex:none; }
}

a { color: inherit; text-decoration: underline; text-decoration-color: #d8d8d8;
    text-underline-offset: 2px; text-decoration-thickness: 1px; }
a:hover { text-decoration-color: #444; }

.thanks a:hover { color: #555; text-decoration-color: currentColor; }

.stack a { display: contents; }
.stack > a:not(:first-child) > .st { margin-left: -8px; }

.chip a { display: inline-flex; align-items: center; }

.xline { font-family:'IBM Plex Mono',monospace; font-size:10px; color:#999; margin-top:9px; }
.xline a { color:#777; text-decoration-color:#ddd; }
.xline a:hover { color:#000; text-decoration-color:currentColor; }

.thanks { color:#7d7d7d; }
.thanks a { color:#7d7d7d; }
.backlink { color:#8c8c8c; }
.backlink a { color:#7d7d7d; }
.num, .loc { color:#7a7a7a; }
.fnames { color:#6f6f6f; }
.conote { color:#7d7d7d; }
footer { color:#7a7a7a; }
.xline { color:#7d7d7d; }
.xline a { color:#6f6f6f; }

.skip { position:absolute; left:-9999px; top:0; z-index:9; background:#111; color:#fff;
        padding:9px 14px; font-family:'IBM Plex Sans',sans-serif; font-size:13px;
        text-decoration:none; }
.skip:focus { left:12px; top:12px; }

.listnav { display:flex; justify-content:space-between; gap:20px; margin:18px 0 12px; padding-top:13px;
           border-top:1px solid #eee; font-family:'IBM Plex Sans',sans-serif; font-size:12px; }
.listnav a { color:#444; display:block; text-decoration-color:#d8d8d8; }
.listnav a:hover { text-decoration-color:#444; }
.listnav .lab { display:block; color:#9a9a9a; font-size:10.5px; margin-bottom:2px; }
.listnav .r { text-align:right; }
@media (max-width:640px){ .listnav { font-size:11.5px; } }

@media (hover:hover) and (pointer:fine) and (min-width:1150px) {
  .st { transition:transform .18s ease, box-shadow .18s ease; will-change:transform; }
  .stack:hover > *:nth-child(2) > .st,
  .stack:hover > .st:nth-child(2) { transform:translateX(10px); }
  .stack:hover > *:nth-child(3) > .st,
  .stack:hover > .st:nth-child(3) { transform:translateX(20px); }
  .stack:hover > *:nth-child(4) > .st,
  .stack:hover > .st:nth-child(4) { transform:translateX(30px); }
  .stack:hover > *:nth-child(5) > .st,
  .stack:hover > .st:nth-child(5) { transform:translateX(40px); }
  .stack:hover > *:nth-child(6) > .st,
  .stack:hover > .st:nth-child(6) { transform:translateX(50px); }
  .stack:hover > *:nth-child(7) > .st,
  .stack:hover > .st:nth-child(7) { transform:translateX(60px); }
  .stack:hover > *:nth-child(8) > .st,
  .stack:hover > .st:nth-child(8) { transform:translateX(70px); }
  .stack:hover .st { box-shadow:0 0 10px 5px rgba(255,255,255,.96),
                                 0 0 2px 1px rgba(255,255,255,1); }
}

.fdrs { width:116px; padding-right:0; white-space:nowrap; }
th.h-fn { width:auto; }
.fn { font-size:11px; }
.fn .fnames { margin-left:0; }

@media (max-width:1149px) and (min-width:641px) {
  .fdrs, th:nth-child(3) { width:1%; padding-right:12px; }
}
@media (max-width:889px) and (min-width:641px) {
  th.h-fn, .fn { display:none; width:0; }
}

.fn .fnames, .stack-names { font-size:12px; }
@media (max-width:750px) { td.co, td.co a { font-size:13.5px; } }
