/* PROTOCOL HUB — responsive WordPress-standard addon. All selectors scoped to pbfh. */
.pbfh-encyclopedia,.pbfh-dossier,.pbfh-ranking,.pbfh-shop,.pbfh-media,.pbfh-download,.pbfh-portal,.pbfh-portal-guest{--pbfh-border:#1e5274;--pbfh-blue:#28b5ff;--pbfh-red:#ff4a55;--pbfh-green:#42ec8b;--pbfh-orange:#ff991c;color:#e8f4ff;width:min(1420px,calc(100% - 42px));margin:34px auto 76px;font-family:inherit}
.pbfh-encyclopedia *, .pbfh-dossier *, .pbfh-ranking *, .pbfh-shop *, .pbfh-media *, .pbfh-download *, .pbfh-portal *, .pbfh-portal-guest *{box-sizing:border-box}
.pbfh-page-title{padding:28px 24px 25px;background:linear-gradient(100deg,rgba(8,27,48,.94),rgba(3,16,29,.6)),url('../screens/battleforged_loading_screen.jpg') center / cover;border:1px solid #20608c;border-left:5px solid var(--pbfh-orange);box-shadow:0 0 30px #004e8336;margin-bottom:20px}
.pbfh-eyebrow{display:block;font-size:.74rem;letter-spacing:.2em;color:var(--pbfh-orange);font-weight:900;text-transform:uppercase;margin-bottom:.65em}.pbfh-page-title h1,.pbfh-dossier-info h1,.pbfh-portal-header h1{font-size:clamp(2rem,4.7vw,4.2rem);line-height:1.06;font-weight:950;letter-spacing:.02em;color:#f4f9ff;text-transform:uppercase;margin:0 0 12px;text-shadow:0 3px 16px #24568e72}.pbfh-page-title p{max-width:860px;margin:0;font-size:1.05rem;color:#c9d9e8}
.pbfh-filters,.pbfh-ranking-filter{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:14px;background:#071b30;border:1px solid #173d5f;margin:0 0 16px}.pbfh-filters label,.pbfh-ranking-filter label{font-size:.77rem;color:#91c9e7;font-weight:800;text-transform:uppercase;letter-spacing:.05em;flex:1;min-width:180px}.pbfh-filters input,.pbfh-filters select,.pbfh-ranking-filter select{display:block;width:100%;margin-top:7px;background:#091e33;color:#f0f7ff;border:1px solid #3a6682;border-radius:3px;padding:10px 12px;font:inherit;font-size:.98rem}
.pbfh-dossier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch}.pbfh-asset-card,.pbfh-media-card{min-width:0;overflow:hidden;border:1px solid #23577b;background:linear-gradient(180deg,#0b2743,#061527);box-shadow:0 6px 23px #0008;position:relative}.pbfh-asset-card.faction-alien{border-color:#813343}.pbfh-asset-card.faction-hunter{border-color:#2c7756}.pbfh-asset-card a,.pbfh-media-card a{display:block;text-decoration:none;color:inherit;height:100%}.pbfh-card-art{height:210px;background:radial-gradient(ellipse at 50% 50%,#163954,#030c1a);overflow:hidden}.pbfh-card-art img{width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;display:block;padding:6px;box-sizing:border-box}.pbfh-card-body{padding:16px;min-height:160px}.pbfh-card-body small{color:#4abfff;text-transform:uppercase;font-size:.68rem;font-weight:850;letter-spacing:.11em}.faction-alien .pbfh-card-body small{color:#ff6677}.faction-hunter .pbfh-card-body small{color:#69ff9d}.pbfh-card-body h3{font-size:1.18rem;color:#fff;margin:6px 0 9px;line-height:1.2}.pbfh-card-body p{color:#bdd0df;font-size:.88rem;line-height:1.5;min-height:2.6em;margin-bottom:12px}.pbfh-card-body b{display:block;font-size:.7rem;color:#ffbb5b;letter-spacing:.07em}.pbfh-asset-card:focus-within{outline:2px solid var(--pbfh-orange);outline-offset:2px}
.pbfh-dossier-breadcrumb,.pbfh-crumb{color:#a8c7df;margin-bottom:15px;font-size:.82rem}.pbfh-crumb a{color:#62c5ff}.pbfh-dossier-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}.pbfh-dossier-art,.pbfh-dossier-info,.pbfh-info-panel,.pbfh-portal-panel{border:1px solid #2b6484;background:#07182b;padding:24px;box-shadow:0 10px 30px #0008}.pbfh-dossier-art{min-height:450px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse,#0f3957,#060f1c)}.pbfh-dossier-art img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;object-position:center}.pbfh-dossier-art p{font-size:.78rem;color:#9dbbd0;text-align:center}.pbfh-dossier-info{display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.pbfh-dossier-info .pbfh-lead{font-size:1.15rem;line-height:1.65;color:#c7dbe8}.pbfh-spec-list{width:100%;margin:10px 0 24px}.pbfh-spec-list div{display:flex;justify-content:space-between;padding:13px 0;gap:18px;border-bottom:1px solid #21435d}.pbfh-spec-list dt{font-weight:750;color:#a3bcd0}.pbfh-spec-list dd{margin:0;color:#f1f8ff;text-align:right}.pbfh-btn{display:inline-block;text-decoration:none!important;border:1px solid #ffac27;background:linear-gradient(180deg,#ffab21,#bd4905);color:#fff!important;font-weight:900;letter-spacing:.03em;padding:12px 18px;border-radius:4px;margin:5px 6px 5px 0}.pbfh-btn.alt{background:#09243a;border-color:#3f83a6}.pbfh-related{padding:30px 0}.pbfh-related .pbfh-dossier-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pbfh-related h2{font-size:1.55rem;text-transform:uppercase;margin-bottom:16px}
.pbfh-rank-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.pbfh-rank-tabs a{border:1px solid #276085;background:#061b2c;padding:10px 13px;text-decoration:none;color:#cae5f8;font-size:.85rem;font-weight:800}.pbfh-rank-tabs a.active,.pbfh-rank-tabs a:hover{background:linear-gradient(#e46d13,#a73b09);border-color:#ffa829;color:white}.pbfh-ranking-table-wrap{overflow-x:auto;border:1px solid #256693;background:#071d33}.pbfh-ranking-table-wrap table{width:100%;border-collapse:collapse;min-width:660px}.pbfh-ranking-table-wrap th,.pbfh-ranking-table-wrap td{padding:13px 10px;text-align:left;border-bottom:1px solid #1d496b}.pbfh-ranking-table-wrap th{color:#8fd5ff;text-transform:uppercase;font-size:.75rem;background:#082b46}.pbfh-ranking-table-wrap td{font-size:.89rem;color:#e7f3fe}.pbfh-ranking-table-wrap tr:nth-child(even){background:#0b2238}.pbfh-rank-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;background:#081c30;border:1px solid #245276}.pbfh-rank-footer p{font-size:.82rem;color:#aacee5;margin:0 auto 0 0}.pbfh-rank-footer button{padding:9px;background:#0b3458;color:white;border:1px solid #389ed2;cursor:pointer}.pbfh-rank-footer button:disabled{opacity:.42;cursor:not-allowed}
.pbfh-shop-banner,.pbfh-state,.pbfh-status-line{padding:13px 18px;color:#eccb8f;background:#38200e;border:1px solid #b77b20;margin:0 0 18px}.pbfh-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.pbfh-product{border:1px solid #2e6282;background:#081e31;overflow:hidden}.pbfh-product img{width:100%;aspect-ratio:16/9;object-fit:contain;background:radial-gradient(#1a4360,#061222)}.pbfh-product>div{padding:20px}.pbfh-product h2{font-size:1.3rem;color:white;margin:5px 0 10px}.pbfh-product p{font-size:.91rem;color:#c2d5e7;min-height:4em}.pbfh-product strong{display:block;font-size:1.1rem;color:#ffbd54;margin:14px 0}.pbfh-product button{border:1px solid #3e5a6f;background:#152b3b;color:#b8cad6;padding:12px;width:100%;cursor:not-allowed}.pbfh-media-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.pbfh-media-card h2{font-size:1rem;margin:12px;color:#fff}.pbfh-media-card span{display:block;margin:0 12px 14px;color:#66c9ff;font-size:.82rem}.pbfh-platform-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pbfh-platform{background:#091d30;padding:20px;border:1px solid #285979}.pbfh-platform h2{font-size:1.4rem;color:#fff}.pbfh-platform .pbfh-state{display:block;font-size:.82rem}
.pbfh-portal-header{display:flex;align-items:center;gap:25px;padding:25px;background:linear-gradient(95deg,#092a47,#071526);border:1px solid #2d7499}.pbfh-portal-avatar img{border-radius:50%;border:2px solid #48adff;box-shadow:0 0 17px #1b85ff8c}.pbfh-portal-header h1{font-size:clamp(1.6rem,3vw,2.9rem)}.pbfh-portal-header p{color:#b6d1e8}.pbfh-portal-header>.pbfh-btn{margin-left:auto}.pbfh-portal-status{font-size:.79rem;color:#e9b55b}.pbfh-portal-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.pbfh-portal-panel h2{color:#f0f6ff;font-size:1.3rem;border-bottom:1px solid #367397;padding-bottom:10px}.pbfh-portal-panel p{color:#b3cddd}.pbfh-portal-panel a{color:#62c4ff}.pbfh-rank-summary{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #315276}.pbfh-rank-summary strong{color:#ffd15b}.pbfh-rank-summary span{font-size:.76rem;color:#9bb9d2}.pbfh-portal-guest{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:410px;border:1px solid #296e98;background:#081a29}.pbfh-portal-guest>div:last-child{padding:30px}.pbfh-portal-guest h1{font-size:clamp(2rem,4vw,4.2rem);color:white}.pbfh-portal-guest p{color:#c1d9e9}.pbfh-portal-image{height:100%;min-height:410px;background:linear-gradient(90deg,transparent,#091b2d99),url('../../assets/screens/battleforged_loading_screen.jpg') center / cover}
@media(max-width:1100px){.pbfh-dossier-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pbfh-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pbfh-platform-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.pbfh-encyclopedia,.pbfh-dossier,.pbfh-ranking,.pbfh-shop,.pbfh-media,.pbfh-download,.pbfh-portal,.pbfh-portal-guest{width:calc(100% - 22px);margin:16px auto 40px}.pbfh-dossier-grid,.pbfh-related .pbfh-dossier-grid,.pbfh-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pbfh-card-art{height:150px}.pbfh-card-body{min-height:170px;padding:10px}.pbfh-card-body h3{font-size:1rem}.pbfh-dossier-layout,.pbfh-portal-columns,.pbfh-portal-guest{grid-template-columns:1fr}.pbfh-dossier-art{min-height:250px}.pbfh-portal-image{height:200px;min-height:200px}.pbfh-portal-header{flex-wrap:wrap}.pbfh-portal-header>.pbfh-btn{margin-left:0}.pbfh-rank-tabs a{font-size:.72rem;padding:8px}.pbfh-rank-footer{flex-wrap:wrap}.pbfh-rank-footer p{width:100%}}
@media(max-width:430px){.pbfh-dossier-grid,.pbfh-related .pbfh-dossier-grid,.pbfh-shop-grid,.pbfh-platform-grid{grid-template-columns:1fr}.pbfh-card-art{height:205px}.pbfh-page-title{padding:20px 16px}.pbfh-dossier-art,.pbfh-dossier-info{padding:15px}.pbfh-filters label,.pbfh-ranking-filter label{min-width:100%}}

/* Cinematic commander-profile treatment using supplied faction imagery. */
.pbfh-portal-header{position:relative;overflow:hidden;isolation:isolate;min-height:215px;background:linear-gradient(90deg,#071a2c 7%,#071b2be8 46%,#07192b44),url('../screens/human_faction_selection_screen.jpg') center 43% / cover}
.pbfh-portal-header::after{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(0deg,#04101f 0,transparent 72%)}
.pbfh-portal-header h1{text-shadow:0 5px 23px #000e}
.pbfh-portal-panel{background:linear-gradient(145deg,#09243d,#04101f)}
@media(max-width:720px){.pbfh-portal-header{min-height:200px;background-position:70% center}}

/* v1.2 RPG / MMO combat dossier — populated fields are clearly labelled. */
.pbfh-rpg-dossier{margin:24px auto 12px;max-width:1440px}.pbfh-rpg-disclaimer{padding:14px 18px;margin-bottom:18px;border:1px solid #9c7131;background:#322411;color:#fce6b7;font-size:.91rem}.pbfh-rpg-panel{padding:22px 22px 12px;margin:16px 0;border:1px solid #24618c;background:linear-gradient(135deg,#0a2943,#05121f)}.pbfh-rpg-panel h2{font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase;color:#ecf8ff;margin:0 0 16px}.pbfh-rpg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}.pbfh-rpg-grid>div{padding:13px 14px;background:#041525;border:1px solid #1b3c55;min-width:0}.pbfh-rpg-grid dt{text-transform:uppercase;color:#8fcde9;font-size:.71rem;letter-spacing:.08em;margin-bottom:7px;font-weight:750}.pbfh-rpg-grid dd{margin:0;color:#f2f9ff;line-height:1.55;overflow-wrap:anywhere;font-size:.94rem}.pbfh-rpg-grid dd:has(+ *){margin:0}@media(max-width:620px){.pbfh-rpg-grid{grid-template-columns:1fr}}
.pbfh-concept-warning{color:#f2c786;font-size:.88rem;margin:0 0 17px}.pbfh-concept-notes{border-color:#99763d}.pbfh-concept-notes .pbfh-rpg-grid>div{background:#101b28}
.pbfh-card-stats{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 12px}.pbfh-card-stats span{font-size:.67rem;line-height:1.3;border:1px solid #245a7c;padding:5px 7px;color:#bde8fb;background:#071b2d;white-space:normal}.pbfh-card-stats span:last-child{border-color:#735733;color:#ffe1a6}
