.codex{max-width:1100px;padding:20px}.codex-hero{padding:36px 28px;background:linear-gradient(90deg,#0a172bea,#0c183ab3),url(battlefield.webp) center/cover;border:1px solid #425f79;margin:20px 0}.codex-hero small,section>small{font-size:10px;letter-spacing:3px;color:#ef7c79}.codex h1{font:800 clamp(32px,5vw,58px) 'Barlow Condensed',Impact;margin:10px 0}.codex h2{font:800 34px 'Barlow Condensed',Impact;margin:10px 0 18px}.codex h3{font:700 24px 'Barlow Condensed',Impact;margin:10px 0}.codex p{font-size:13px;line-height:1.9;color:#b4c7d8}.fiction-notice{padding:16px;border-left:4px solid #b45058;background:#211b2b}.codex-nav{display:flex;gap:10px;flex-wrap:wrap;position:sticky;top:0;padding:12px 0;background:#09121ef5;z-index:2}.codex a{color:#a8dbf7;text-decoration:none;font-size:12px}.codex-nav a{padding:8px;background:#172b40;border:1px solid #355169;border-radius:4px}.codex section:not(.codex-hero){padding:30px 0;border-bottom:1px solid #33475d;scroll-margin-top:75px}.codex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.codex-grid article,.character-grid article{background:#111e2b;border:1px solid #344c65;padding:18px;border-radius:5px}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.character-grid p{font-size:12px}.character-grid small{font-size:9px;color:#e78f87;letter-spacing:1px}.portrait{width:100%;aspect-ratio:1;background-image:url(command-staff-v2.webp);background-size:300% 200%;background-repeat:no-repeat;margin-bottom:18px;border-bottom:3px solid #b7444d}.portrait0{background-position:0 0}.portrait1{background-position:50% 0}.portrait2{background-position:100% 0}.portrait3{background-position:0 100%}.portrait4{background-position:50% 100%}.portrait5{background-position:100% 100%}blockquote{margin:16px 0 0;border-left:2px solid #db6f6f;padding-left:12px;font-size:12px;color:#d8e9f5;font-style:italic}.campaign-list{padding-left:22px;color:#b4c7d8;font-size:13px;line-height:2.2}.codex footer{margin:22px 0}@media(max-width:760px){.codex{padding:12px}.character-grid{grid-template-columns:1fr 1fr}.codex-grid{grid-template-columns:1fr}.codex-nav{position:static}.codex h2{font-size:28px}}@media(max-width:480px){.character-grid{grid-template-columns:1fr}}
