.faction-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.faction-hub-card{display:flex;flex-direction:column;align-items:flex-start;padding:25px;background:linear-gradient(135deg,#192a32,#101a25);border:1px solid #30434d;min-width:0;transition:border-color .2s}.faction-hub-card:hover{border-color:var(--signal)}.faction-hub-card>img{width:94px;height:94px;object-fit:contain;margin:0 auto 22px}.faction-hub-card h2{font-size:15px}.faction-hub-card>p{color:#adbdc8;font-size:12px;margin:0 0 18px;flex:1}.faction-hub-card>div{display:flex;gap:7px;flex-wrap:wrap;font:8px var(--mono);color:#a5c2c1}.faction-hub-card>div>span{border:1px solid #35504f;background:#132723;padding:5px 7px}.faction-hub-card>strong{color:var(--signal);font:10px var(--mono);margin-top:20px}.faction-heading{display:flex;gap:28px;align-items:center;margin-bottom:35px}.faction-heading>img{width:130px;height:130px;object-fit:contain;flex-shrink:0}.faction-heading h1{font-size:clamp(1.6rem,3.2vw,2.8rem);margin:0 0 15px}.faction-heading p:last-child{font-size:14px;color:#adbdc8;max-width:800px;margin:0}.faction-ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.faction-ability-grid article{border:1px solid #2c3f4b;background:#0a151e;padding:18px}.faction-ability-grid article>span{font:8px var(--mono);letter-spacing:1px;color:#91cdbb;text-transform:uppercase}.faction-ability-grid h3{font-size:13px;margin:12px 0}.faction-ability-grid p{font-size:12px;color:#aebdc8;line-height:1.75;margin:0}.faction-lore-pages{display:grid;gap:15px}.faction-lore-pages>article{padding:18px 20px;border:1px solid #3a3c39;background:#141b20}.faction-lore-pages>article>p:last-child{font-size:14px;line-height:1.9;color:#c3cdd4;margin:0}.archive-kicker{font:9px var(--mono);letter-spacing:1.4px;color:var(--signal);margin:0 0 15px}.archive-note{font:11px/1.85 Arial,sans-serif;color:#9faebc;margin:16px 0}.story-archive{margin:24px 0}.story-archive-content{max-width:950px}.story-archive-content>h2{font-size:20px;margin:0 0 17px}.story-archive-content>p:not(.archive-kicker):not(.archive-note){font-size:14px;line-height:1.9;color:#c2ccd5}.archive-channel{border:1px solid #38414a;background:#101a23;margin:20px 0}.archive-channel>summary{padding:16px;font:11px var(--mono);color:var(--signal);cursor:pointer}.archive-channel[open]>summary{border-bottom:1px solid #34424a}.archive-beat{padding:20px;border-bottom:1px solid #2b3a43}.archive-beat:last-child{border:0}.archive-beat h3{font:12px var(--display);margin:0 0 18px;color:#dbe9e6}.archive-beat h3 span{font:9px var(--mono);color:#8fabb2}.archive-beat dl{margin:0}.archive-beat dl>div{display:grid;grid-template-columns:155px minmax(0,1fr);gap:15px;padding:13px 0;border-top:1px solid #21313c}.archive-beat dt{font:10px/1.8 var(--mono);color:var(--signal);overflow-wrap:anywhere}.archive-beat dd{font-size:13px;line-height:1.8;margin:0;color:#c4ced7;white-space:pre-line;overflow-wrap:anywhere}.archive-sources{padding:15px 18px;margin-top:22px;border:1px solid #33454d}.archive-sources summary{font:10px var(--mono);color:#a4c0bb}.archive-sources li{font-size:11px;line-height:1.8;color:#94a6b5}.archive-chapter-list{padding-left:23px}.archive-chapter-list>li{padding:14px 0;border-bottom:1px solid #303c43}.archive-chapter-list a{font-size:13px;color:var(--signal)}.archive-chapter-list p{font-size:12px;line-height:1.8;color:#acbac6;margin:9px 0 0}@media(max-width:1150px){.faction-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faction-ability-grid{grid-template-columns:1fr}.faction-heading>img{width:110px;height:110px}}@media(max-width:600px){.faction-hub-grid{grid-template-columns:1fr}.faction-hub-card{padding:22px}.faction-heading{gap:18px;align-items:flex-start;flex-direction:column}.faction-heading>img{width:90px;height:90px}.archive-beat{padding:15px}.archive-beat dl>div{grid-template-columns:1fr;gap:5px;padding:13px 0}.archive-beat dt{font-size:10px}.archive-beat dd{font-size:12px}.faction-lore-pages>article{padding:15px}.faction-lore-pages>article>p:last-child{font-size:13px}.story-archive-content>h2{font-size:16px}}
