/* DANKGAME — the codex (/codex/, tools/gen-codex.mjs). Linked after site.css and doc.css and
   uses only their tokens: no colour or face of its own. */
.codex .crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;padding:0;margin:0 0 .6rem;color:var(--dim);font-size:.9rem}
.codex .crumbs li+li::before{content:"/";margin-right:.3rem;color:var(--edge)}
.codex .cta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:2.2rem 0 0;color:var(--dim)}
.codex .wrap .cta a.play{color:var(--on-gold);text-decoration:none}
/* a hero's banner: the first frame of the battle sheet (6 x 2 cells) */
.codex .banner{display:block;flex:none;width:9rem;aspect-ratio:1;background-repeat:no-repeat;background-size:600% 200%;background-position:0 0}
.codex .fig-commander{background-image:url("/art/hero-battle/commander-battle.webp")}
.codex .fig-sedgemother{background-image:url("/art/hero-battle/sedgemother-battle.webp")}
.codex .people-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:1.4rem 0}
.codex .people-card{background:var(--panel);border:1px solid var(--edge);padding:.8rem 1rem}
.codex .people-card>a{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:1.35rem;text-decoration:none}
.codex .people-card p{margin:.5rem 0 0;font-size:.97rem}
.codex .people-head,.codex .unit-head{display:flex;gap:1rem;align-items:flex-start}
.codex .unit-art{flex:none;width:11rem;height:auto}
.codex .unit-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.6rem}
.codex .unit-grid a{display:block;text-align:center;text-decoration:none;font-size:.9rem;line-height:1.25}
.codex .unit-grid img{display:block;width:100%;height:auto;background:var(--panel);border:1px solid var(--edge)}
.codex dl.unit-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.2rem,1fr));gap:.4rem;margin:.6rem 0 1rem}
.codex dl.unit-stats div{background:var(--panel);border:1px solid var(--edge);padding:.3rem .5rem}
.codex dl.unit-stats dt{color:var(--dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.codex dl.unit-stats dd{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums}
.codex table.words td{text-align:left}
.codex figure.town{margin:1rem 0;text-align:center}
.codex figure.town img{max-width:12rem;height:auto}
.codex .kw-list{list-style:none;padding:0}
.codex .kw-list h2{margin-top:2rem}
.codex .kw-list .who{color:var(--dim)}
/* a Conquest map (T-DGSITE.4): the painted map with a pin on every object's tile */
.codex figure.conquest-map{margin:1.2rem auto;max-width:24rem}
.codex .map-art{position:relative;border:1px solid var(--edge);line-height:0}
.codex .map-art img{display:block;width:100%;height:auto}
.codex .pin{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font:700 .72rem/1 var(--font-body);background:var(--panel);color:var(--ink);border:1px solid var(--edge)}
.codex .map-art .pin{position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 3px rgba(0,0,0,.6)}
.codex .pin-town,.codex .pin-boss{background:var(--gold);color:var(--on-gold);border-color:var(--gold-dim)}
.codex .pin-warden,.codex .pin-lair{background:var(--red-ink);color:var(--bg);border-color:var(--red)}
.codex .pin-warden{background:var(--red);color:var(--bg)}
.codex .pin-mine,.codex .pin-dwelling{background:var(--blue-ink);color:var(--bg);border-color:var(--blue)}
.codex figure.conquest-map figcaption{line-height:1.9;font-size:.88rem;color:var(--dim);margin-top:.5rem}
.codex figure.conquest-map figcaption .key{white-space:nowrap;margin-right:.7rem}
.codex .warpath{list-style:none;padding:0}
@media(max-width:34rem){
  .codex .people-head,.codex .unit-head{flex-direction:column}
  .codex .unit-art{width:100%;max-width:18rem;align-self:center}
  .codex .banner{width:7rem}
}
