.codex-page{padding-top:calc(var(--space-7) + var(--space-4))}.codex-search{position:relative;max-width:34rem;margin:0 auto var(--space-6)}.codex-results{position:absolute;inset-inline:0;top:calc(100% + 4px);z-index:20;list-style:none;margin:0;padding:.4rem;background:var(--ink-1);border:var(--keyline);border-radius:var(--radius-sm);box-shadow:var(--shadow-plate);display:grid;gap:2px}.codex-results a{display:flex;align-items:baseline;gap:.7rem;padding:.55rem .7rem;border-radius:var(--radius-sm);color:var(--parchment)}.codex-results a:hover{background:var(--ink-2)}.codex-kind{font-family:var(--font-display);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);min-width:4.5rem}.codex-results strong{font-weight:600}.codex-results em{margin-left:auto;color:var(--parchment-dim);font-size:var(--text-sm)}.codex-empty{position:absolute;inset-inline:0;top:calc(100% + 4px);padding:.8rem 1rem;background:var(--ink-1);border:var(--keyline);border-radius:var(--radius-sm);color:var(--parchment-dim);font-style:italic}.journey{display:grid;gap:var(--space-6)}.journey-stop{display:grid;grid-template-columns:7fr 5fr;gap:var(--space-5);align-items:center}.journey-stop:nth-child(2n){grid-template-columns:5fr 7fr}.journey-stop:nth-child(2n) .journey-copy{order:-1}@media(max-width:800px){.journey-stop,.journey-stop:nth-child(2n){grid-template-columns:1fr}.journey-stop:nth-child(2n) .journey-copy{order:0}}.journey-copy h2{font-size:var(--text-xl);margin-block:var(--space-2)}.journey-copy .eyebrow{font-size:var(--text-xs)}.journey-copy p{color:var(--parchment-dim)}.journey-meta{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--parchment-dim);display:flex;flex-wrap:wrap;gap:var(--space-3)}.journey-meta strong{color:var(--gold);font-weight:600}.region-hero{display:grid;gap:var(--space-5);margin-bottom:var(--space-6)}.region-hero .plate{max-width:56rem;margin-inline:auto}.region-intro{text-align:center;max-width:var(--prose-width);margin-inline:auto}.region-intro h1{font-size:var(--text-2xl);margin-block:var(--space-2)}.region-intro .lede{color:var(--parchment-dim);font-size:var(--text-lg)}.codex-block{margin-top:var(--space-7)}.codex-block>h2{font-size:var(--text-xl);text-align:center;margin-bottom:var(--space-5)}.area-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));gap:var(--space-3)}.area-card{background:var(--surface-raised);border:1px solid var(--ink-3);border-radius:var(--radius-sm);padding:var(--space-3);display:grid;gap:.3rem;align-content:start}.area-card strong{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:.05em;color:var(--parchment)}.area-card .eyebrow{font-size:.62rem}.area-card p{font-size:var(--text-sm);color:var(--parchment-dim)}.dungeon-list{list-style:none;padding:0;display:grid;gap:var(--space-3);max-width:46rem;margin-inline:auto}.dungeon-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:baseline;background:var(--surface-raised);border:1px solid var(--ink-3);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.dungeon-tier{font-family:var(--font-display);color:var(--gold-dim);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.dungeon-card strong{font-family:var(--font-display);font-weight:700;letter-spacing:.04em}.dungeon-card p{grid-column:2 / -1;font-size:var(--text-sm);color:var(--parchment-dim)}.dungeon-gate{font-size:var(--text-sm);color:var(--parchment-dim);white-space:nowrap}.bestiary{display:grid;gap:var(--space-4);max-width:52rem;margin-inline:auto}.monster-plate{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:center;background:var(--surface-raised);border:var(--keyline);border-radius:var(--radius-sm);padding:var(--space-3)}.monster-plate img{width:7rem;border-radius:var(--radius-sm);border:1px solid var(--ink-3)}.monster-plate.no-art{grid-template-columns:1fr}.monster-plate:target{border-color:var(--gold-dim);box-shadow:0 0 0 1px var(--gold-dim),var(--shadow-plate)}.bestiary-reveal{text-align:center;margin-top:var(--space-4)}.bestiary-reveal button{font-family:var(--font-display);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);background:none;border:var(--keyline);border-radius:var(--radius-sm);padding:.7rem 1.4rem;cursor:pointer;transition:color .2s ease,border-color .2s ease}.bestiary-reveal button:hover{color:var(--gold);border-color:var(--gold-dim)}.monster-copy h3{font-size:var(--text-lg)}.monster-copy .eyebrow{font-size:.62rem}.monster-copy p{font-size:var(--text-sm);color:var(--parchment-dim);font-style:italic;margin-top:.2rem}.stat-table{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--ink-3)}.stat-table div{display:grid}.stat-table dt{font-family:var(--font-display);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim)}.stat-table dd{margin:0;font-weight:600;color:var(--parchment)}.hall{display:grid;gap:var(--space-6);max-width:52rem;margin-inline:auto}.house-block{display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);align-items:start;border-top:var(--keyline);padding-top:var(--space-5)}@media(max-width:640px){.house-block{grid-template-columns:1fr;justify-items:center;text-align:center}}.house-block>img{width:clamp(7rem,12vw,9.5rem);filter:drop-shadow(0 12px 28px rgb(0 0 0 / .6))}.house-copy h2{font-size:var(--text-xl)}.house-copy .eyebrow{font-size:var(--text-xs)}.house-copy p{color:var(--parchment-dim);margin-top:var(--space-2)}.house-facts{margin-top:var(--space-3);display:grid;gap:.4rem;font-size:var(--text-sm)}.house-facts span{color:var(--parchment-dim)}.house-facts strong{color:var(--gold);font-weight:600}.deed-category{margin-top:var(--space-6)}.deed-category>h2{font-size:var(--text-xl);text-align:center;margin-bottom:var(--space-4)}.chronicle-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr));gap:var(--space-3)}.chronicle-grid .deed-cell{display:grid;justify-items:center;text-align:center;gap:.4rem;padding:var(--space-3);background:var(--surface-raised);border:1px solid var(--ink-3);border-radius:var(--radius-sm)}.chronicle-grid img{width:4.6rem}.chronicle-grid strong{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:.05em;color:var(--gold)}.chronicle-grid span{font-size:var(--text-sm);color:var(--parchment-dim)}.deed-points{font-family:var(--font-display);font-size:.62rem;letter-spacing:.12em;color:var(--gold-dim);text-transform:uppercase}
