/* Local Warcraft icons, a book-like hierarchy, no background API requests. */
.codex-hero { display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:36px;background-position:center; }
.codex-hero>div:first-child { position:relative;z-index:1; }
.codex-hero p:not(.fv-kicker) { max-width:64ch; }
.codex-hero-caption,.codex-back { display:inline-block;margin-top:22px;font-size:.75rem;color:#e1c48e; }
.codex-hero-caption::before { content:'';display:inline-block;width:28px;height:1px;background:#a08d5c;vertical-align:middle;margin-right:12px; }
.codex-hero-icons { display:flex;align-items:center;justify-content:center;gap:16px;position:relative;padding:46px 0; }
.codex-hero-icons::before { content:'';position:absolute;width:204px;height:204px;border:1px solid #c9ad6736;transform:rotate(45deg);box-shadow:0 0 0 13px #b49d5710,inset 0 0 55px #c9ad6714; }
.codex-hero-icons img { position:relative;width:64px;height:64px;border:2px solid #b9a06c;box-shadow:0 0 0 4px #111910,0 0 0 5px #c3a36a55,0 8px 22px #0008;border-radius:3px; }
.codex-hero-icons img:nth-child(2) { width:76px;height:76px;transform:translateY(-18px);z-index:1; }
.codex-overview { margin:38px 0 46px; }
.codex-overview-heading { display:flex;justify-content:space-between;align-items:baseline;gap:20px; }
.codex-overview-heading>p:last-child { font-size:.83rem;color:#b8bfac; }
.codex-chapters { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #bda36b40;margin-top:20px; }
.codex-chapters a { display:flex;align-items:center;gap:12px;color:#e1d2b2;font-size:.82rem;padding:18px 20px;text-decoration:none;border-right:1px solid #bda36b30; }
.codex-chapters a:last-child { border-right:0; }.codex-chapters a:hover { background:#dfc9930b;color:#ffe1a4; }
.codex-chapters a>span:first-child { font:.75rem Georgia,serif;color:#9f916b; }.codex-chapters a>span:last-child { margin-left:auto; }
.codex-chapter { margin:0 0 42px;scroll-margin-top:110px; }
.codex-chapter-heading { display:flex;align-items:center;gap:18px;margin-bottom:22px; }
.codex-chapter-number { font:2.6rem/1 Georgia,serif;color:#bda36b88; }
.codex-chapter-heading h2 { font:1.9rem/1.2 Georgia,serif;color:#efe3c9;margin:0 0 8px; }
.codex-chapter-heading p { font-size:.82rem;color:#aeb8a4;margin:0; }
.codex-rule { height:1px;flex:1;background:linear-gradient(90deg,#bda36b4d,transparent);margin-left:18px; }
.codex-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
#codex-character .codex-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.codex-card { display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #a995673b;border-top:2px solid var(--codex-accent);background:linear-gradient(140deg,#262a20,#171f18);color:#ede3cc;text-decoration:none;transition:border-color .18s,background .18s;position:relative; }
.codex-card:hover { text-decoration:none;background:linear-gradient(140deg,#303428,#1e291e);border-color:var(--codex-accent); }
.codex-card-heading { display:flex;align-items:center;gap:16px;min-height:70px; }
.codex-game-icon { display:inline-flex;flex:none;width:62px;height:62px;padding:2px;background:#0b100b;border:1px solid #c3a76a88;box-shadow:inset 0 0 0 1px #000,0 2px 9px #0006;border-radius:3px; }
.codex-game-icon img { width:56px;height:56px;object-fit:cover;border-radius:1px; }
.codex-card h3 { font:1.3rem/1.25 Georgia,serif;color:#f0dec0;margin:0;overflow-wrap:anywhere; }
.codex-card-arrow { position:absolute;top:14px;right:16px;color:#a79770;font-size:.9rem; }
.codex-card>p { font-size:.84rem;line-height:1.8;color:#bdc3b2;margin:22px 0 18px; }
.codex-topics { display:flex;flex-wrap:wrap;list-style:none;gap:6px 12px;padding:0;margin:0 0 22px; }
.codex-topics li { color:#aeb8a3;font-size:.66rem;line-height:1.5; }
.codex-topics li+li::before { content:'·';color:#bba477;margin-right:12px; }
.codex-card-action { display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #bda36b26;padding-top:16px;margin-top:auto;font-size:.76rem;color:#e1c48e; }
.codex-search { border-block:1px solid #bda36b45;margin:38px 0;scroll-margin-top:110px;background:#182019; }
.codex-search summary { display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:23px 26px;color:#e9d9b6; }
.codex-search summary::-webkit-details-marker { display:none; }.codex-search summary>span:first-child { font:1.2rem Georgia,serif; }
.codex-search summary>small { margin-left:auto;font-size:.73rem;color:#acb69f; }.codex-search summary>span:last-child { font:1.6rem Georgia,serif; }.codex-search[open] summary>span:last-child { transform:rotate(45deg); }
.codex-search>.fv-panel { margin:0;border:0;border-top:1px solid #bda36b26;padding-top:22px; }
.codex-search>.fv-panel h2 { font-size:1.35rem; }.codex-search .fv-form button { width:auto; }
.codex-reading { display:flex;align-items:flex-start;gap:22px;padding:26px 28px;background:#bfa8720b;border-left:2px solid #bda36b99;margin:24px 0; }
.codex-reading h2 { font:1.25rem/1.3 Georgia,serif;color:#e7d5b1;margin:0 0 10px; }
.codex-reading p { color:#bec5b2;line-height:1.8;font-size:.86rem;max-width:85ch;margin:0 0 14px; }.codex-reading .codex-topics { margin:0; }
.fv-mode-catalog .codex-entry { display:flex;align-items:center;gap:16px; }.codex-entry>div { min-width:0; }.codex-entry h3 { font-size:1.08rem; }.codex-entry .codex-game-icon { width:50px;height:50px; }.codex-entry img { width:44px;height:44px; }
.fv-mode-catalog .codex-entry[hidden] { display:none; }
.fv-mode-catalog :is(a,summary):focus-visible { outline:2px solid #e5c487;outline-offset:4px; }
@media (max-width:1000px) { .codex-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.codex-hero { grid-template-columns:minmax(0,1fr) 190px;gap:22px; }.codex-hero-icons { gap:10px; }.codex-hero-icons img { width:48px;height:48px; }.codex-hero-icons img:nth-child(2) { width:64px;height:64px; }.codex-hero-icons::before { width:145px;height:145px; }.codex-chapters a { padding:16px 10px;font-size:.76rem;gap:8px; } }
@media (max-width:700px) { .codex-hero { grid-template-columns:1fr;padding:30px 24px;gap:16px;min-height:0; }.codex-hero-icons { justify-content:flex-start;padding:12px 0 0; }.codex-hero-icons::before { display:none; }.codex-hero-icons img:nth-child(2) { transform:none; }.codex-overview-heading { display:block; }.codex-chapters { grid-template-columns:1fr; }.codex-chapters a { border-right:0;border-bottom:1px solid #bda36b20;padding:15px 12px; }.codex-chapters a:last-child { border-bottom:0; }.codex-chapter-heading h2 { font-size:1.6rem; }.codex-chapter-number { font-size:2.1rem; }.codex-rule { display:none; }.codex-card { padding:20px; }.codex-card h3 { font-size:1.18rem; }.codex-search summary { flex-wrap:wrap;gap:12px;padding:20px; }.codex-search summary>small { order:3;width:100%;margin:0; }.codex-search summary>span:last-child { margin-left:auto; }.codex-reading { padding:22px 18px;gap:16px; } }
@media (max-width:520px) { .codex-grid,#codex-character .codex-grid { grid-template-columns:1fr; }.codex-card>p { margin-top:15px; }.codex-overview { margin:28px 0 36px; }.codex-reading { flex-direction:column; }.codex-chapter-heading { gap:12px; }.codex-hero h1 { font-size:2.4rem; } }
@media (prefers-reduced-motion:reduce) { .codex-card { transition:none; } }
@media (forced-colors:active) { .codex-card,.codex-game-icon,.codex-search { border:1px solid CanvasText; } }
