@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=JetBrains+Mono:wght@400&display=swap');
:root{--fg:#1a1a1a;--muted:#666;--subtle:#999;--border:#e0e2e6;--code-bg:#f4f5f7;--accent:#2563eb;--accent-bg:#dbeafe}
*{margin:0;padding:0;box-sizing:border-box}
body{font:15px/1.72 'Inter',sans-serif;color:var(--fg);max-width:760px;margin:0 auto;padding:3rem 1.5rem 5rem}
h1{font-size:1.8rem;margin:.4rem 0;padding-bottom:1.5rem;border-bottom:3px solid var(--fg)}
h2{font-size:1.15rem;margin-top:2.5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}
h3{font-size:1rem;font-weight:600;margin-top:1.5rem}
h4{font-size:.92rem;font-weight:600;margin-top:1.2rem}
.sn{color:var(--subtle);margin-right:.3em}
p{margin-top:.7rem}
strong{font-weight:600}
code{font:13px 'JetBrains Mono',monospace;background:var(--code-bg);padding:.1em .3em;border-radius:3px}
pre{margin-top:.8rem;background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:.8rem 1rem;overflow-x:auto;font-size:13px;line-height:1.55}
pre code{background:none;padding:0}
.hljs{background:var(--code-bg)!important}
table{width:100%;margin-top:.8rem;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.4rem .6rem;border-bottom:2px solid var(--fg)}
td{padding:.4rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}
figure{margin:1.5rem 0;text-align:center}
figure img{max-width:100%;height:auto}
figcaption{font-size:12.5px;color:var(--muted);margin-top:.4rem;font-style:italic}
figcaption b{color:var(--fg);font-style:normal}
.note{margin-top:.8rem;padding:.6rem .8rem;background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:0 4px 4px 0;font-size:14px}
.logos{display:flex;gap:2rem;margin:1.2rem 0;flex-wrap:wrap;align-items:center}
.logos img{height:48px;width:auto}
.dataset-figure{text-align:left}
.dataset-map{font:12px/1.45 'JetBrains Mono',monospace;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff;color:#172033}
.dm-head{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:.8rem;align-items:center;padding:.9rem 1rem .75rem}
.dm-class{color:#64748b}.dm-title{font-size:14px;font-weight:700;margin-left:.45rem}
.dm-description{font-family:Inter,sans-serif;color:#64748b;margin-top:.25rem}
.dm-facts{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}
.dm-fact{border:1px solid var(--border);border-radius:999px;padding:.05rem .4rem;font-size:10px}
.dm-store{width:120px;justify-self:end}
.dm-section{border-top:1px solid var(--border)}
.dm-summary{display:flex;align-items:center;gap:.45rem;padding:.4rem .8rem}
.dm-arrow{color:#94a3b8}.dm-name{font-weight:700}.dm-count{color:#94a3b8}
.dm-content{padding:.1rem 1rem .65rem 2.25rem}
.dm-graph{overflow-x:auto;padding:.2rem 1rem .7rem}
.dm-graph svg{display:block;margin:auto}.dm-edge{fill:none;stroke:#94a3b8;stroke-width:1.25}
.dm-node rect{stroke-width:1.1}.dm-root rect{fill:#fac775;stroke:#854f0b}
.dm-file rect{fill:#fff;stroke:#94a3b8}.dm-label{fill:#172033;font-size:11px;font-weight:700}
.dm-kind{fill:#64748b;font-size:8px;letter-spacing:.08em}
.dm-folded{padding-bottom:.05rem}
@media(max-width:600px){
  body{font-size:14px;padding:1.5rem 1rem 3rem}
  h1{font-size:1.4rem}
  table{font-size:12px}
  th,td{padding:.3rem .4rem}
  pre{padding:.6rem .7rem;font-size:12px}
  .logos img{height:36px}
  .dm-head{grid-template-columns:1fr}
  .dm-store{display:none}
}
