/* ---------- directory list pages ---------- */
.dhead{max-width:none}
.dhead .lead{max-width:74ch}
.dhead h1{font-size:clamp(1.75rem,3.4vw,2.75rem); line-height:1.12; margin:0 0 .875rem;
  max-width:26ch; text-wrap:balance}
.dhead .lead{color:var(--muted-foreground); font-size:1.0625rem; line-height:1.65}
.dmeta{display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; margin:1.25rem 0 0;
  font-size:.8125rem; color:var(--muted-foreground)}
.dmeta b{color:var(--foreground); font-variant-numeric:tabular-nums}
.dbody h2:first-child{margin-top:0}
.dbody a{color:inherit}
.dsummary{display:grid; grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));
  gap:1.25rem 1.5rem; margin:1.75rem 0 0; padding:1.125rem 0 0;
  border-top:1px solid var(--border); max-width:64rem}
.dsummary > div{display:flex; flex-direction:column; gap:.25rem}
.dlab{font-size:.625rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted-foreground); white-space:nowrap}
.dval{font-size:1.25rem; line-height:1.1; font-variant-numeric:tabular-nums;
  color:var(--foreground); font-weight:600}
.dval time{font-family:"JetBrains Mono",monospace; font-size:.9375rem}
.dval a{color:inherit; text-decoration:none}
.dval .ddown{color:var(--destructive)}
.dval .dup{color:var(--success)}
.dval .dflat{color:var(--muted-foreground)}
.dfresh{margin:.75rem 0 0; font-size:.8125rem; color:var(--muted-foreground)}
.dcredit{margin:1rem 0 0; font-size:.75rem; color:var(--muted-foreground)}
.dcredit a{color:inherit}
.dfresh b{color:var(--foreground); font-variant-numeric:tabular-nums}
.dfilters{display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin:2rem 0 .75rem}
.dfilters .input{flex:1 1 16rem; min-width:12rem}
.dfilters .select{flex:0 0 auto; width:auto; min-width:9.5rem}
.dcount{margin-left:auto; font-size:.8125rem; color:var(--muted-foreground);
  font-variant-numeric:tabular-nums}
.dtable{border:1px solid var(--border); border-radius:var(--radius-xl); overflow:hidden;
  background:var(--card)}
.dtable .scroll{overflow:auto; max-height:min(72vh,760px); overscroll-behavior:contain}
.dtable table{width:100%; border-collapse:collapse; font-size:.8125rem}
.dtable th{text-align:left; font-weight:500; font-size:.6875rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--muted-foreground); padding:.625rem 1rem;
  border-bottom:1px solid var(--border); white-space:nowrap; position:sticky; top:0;
  background:var(--card); z-index:1}
.dtable td{padding:.5625rem 1rem; border-bottom:1px solid var(--border); vertical-align:middle}
.dtable tr:last-child td{border-bottom:0}
.dtable tbody tr:hover{background:color-mix(in oklab, var(--muted) 45%, transparent)}
.dtable tr.dex{opacity:.62}
.dname{display:flex; align-items:center; gap:.5rem; min-width:0}
.dname a{display:flex; align-items:center; gap:.5rem; color:inherit; text-decoration:none;
  min-width:0}
.dname a:hover b{text-decoration:underline}
.dname img,.dph{width:1.125rem; height:1.125rem; border-radius:4px; flex:none; object-fit:contain}
.dph{background:color-mix(in oklab, var(--muted-foreground) 14%, transparent);
  display:inline-grid; place-items:center; font-size:.625rem; font-weight:600;
  color:var(--muted-foreground)}
.dname b{font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  max-width:18rem}
.ddom{color:var(--muted-foreground); font-size:.75rem; white-space:nowrap; overflow:hidden;
  text-overflow:ellipsis}
.dcat,.dlink{font-size:.6875rem; padding:.0625rem .4375rem; border-radius:9999px;
  border:1px solid var(--border); color:var(--muted-foreground); white-space:nowrap}
.ldofollow{color:var(--success); border-color:color-mix(in oklab,var(--success) 35%,transparent)}
.dtier{font-family:"JetBrains Mono",monospace; font-size:.6875rem; font-weight:500;
  width:1.375rem; height:1.375rem; display:inline-grid; place-items:center; border-radius:6px;
  border:1px solid var(--border); cursor:help}
.dtier.tA{color:var(--brand-ink); background:color-mix(in oklab,var(--brand) 30%,transparent);
  border-color:transparent}
.dtier.tD{color:var(--destructive)}
.dacc{color:var(--muted-foreground); white-space:nowrap; font-size:.75rem}
.ddr{font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums}
.ddr.dhi{color:var(--foreground); font-weight:600}
.ddr.dlo{color:var(--muted-foreground)}
.dfree{font-size:.6875rem; color:var(--success); font-weight:600}
.dpaid{font-size:.6875rem; color:var(--warning); font-weight:600}
.dcond{font-size:.6875rem; color:var(--muted-foreground); font-weight:600}
.dvisit{color:var(--muted-foreground); text-decoration:none; white-space:nowrap}
.dvisit:hover{color:var(--foreground); text-decoration:underline}
.drank{font-family:"JetBrains Mono",monospace; color:var(--muted-foreground);
  font-variant-numeric:tabular-nums; font-size:.75rem; width:2rem}
.dunk,.dmuted{color:var(--muted-foreground); font-size:.75rem}
.ddesc{color:var(--muted-foreground); max-width:26rem; min-width:12rem;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.dtable td,.dtable th{white-space:nowrap}
.dtable tbody tr{height:2.5rem}
.dright{text-align:right; white-space:nowrap}
.dsub{color:var(--foreground); text-decoration:none; font-weight:500; white-space:nowrap}
.dsub:hover{text-decoration:underline}
.dempty{padding:2rem 1rem; text-align:center; color:var(--muted-foreground); font-size:.875rem}
.dbody{max-width:68ch; margin:3rem 0 0}
.dbody h2{font-size:1.25rem; margin:2rem 0 .75rem}
.dbody p,.dbody li{color:var(--muted-foreground); line-height:1.7}
.dbody ul{padding-left:1.125rem}
.dbody li{margin:.375rem 0}
.dfaq{border-bottom:1px solid var(--border); padding:.75rem 0}
.dfaq summary{cursor:pointer; font-weight:500; color:var(--foreground)}
.dfaq p{margin:.5rem 0 0}
.dcta{margin:3rem 0 0; padding:1.5rem; border:1px solid var(--border);
  border-radius:var(--radius-xl); background:var(--card); max-width:68ch}
.dcta p{margin:0 0 1rem; color:var(--muted-foreground); line-height:1.65}
.cruns{display:grid; gap:1rem; margin:2rem 0 0}
.crun{border:1px solid var(--border); border-radius:var(--radius-xl); padding:1.25rem;
  background:var(--card)}
.crun h3{margin:0; font-size:1rem; font-family:"JetBrains Mono",monospace}
.crun p{margin:.75rem 0 0; font-size:.8125rem; line-height:1.6; color:var(--muted-foreground)}
.crun b{color:var(--foreground); font-variant-numeric:tabular-nums}
.cnew b{color:var(--success)}
.cdead b{color:var(--destructive)}
.drelated{margin:3rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem}
.drelated h2{flex:1 0 100%; font-size:1.25rem; margin:0 0 .25rem}
.drelated a{font-size:.8125rem; padding:.375rem .75rem; border:1px solid var(--border);
  border-radius:9999px; text-decoration:none; color:var(--muted-foreground)}
.drelated a:hover{color:var(--foreground)}
@media (max-width:720px){
  .dtable table{font-size:.78125rem}
  .hc-cat,.hc-acc,.hc-link,.hc-desc,.hc-visit{display:none}
  .dname b{max-width:11rem}
  .dcount{margin-left:0; width:100%}
}

.dlegend{display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:.75rem 0 0;
  font-size:.75rem; color:var(--muted-foreground)}
.dlegend b{color:var(--foreground); font-weight:500}

