.campaign-rules{background:#263e3d;border-left:3px solid #d6b97c;padding:20px 25px;border-radius:8px;margin-bottom:22px}.campaign-rules p{margin:8px 0 0;color:var(--muted);line-height:1.7;font-size:13px}.campaign-banner{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:30px;background:linear-gradient(115deg,#374b43,#20323e);border:1px solid #68715b;border-radius:14px;margin:28px 0 16px}.campaign-banner h2{font:30px Georgia,serif;margin:12px 0}.campaign-banner p{color:#bed0c1;font-size:13px;line-height:1.8;margin:15px 0 0}.campaign-camps{display:grid;grid-template-columns:1fr 1fr;gap:20px}.campaign-camps>div{padding:18px;border:1px solid #65756b;border-radius:9px;background:#172d3070}.campaign-camps strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;color:#ddc48e}.campaign-camps a{display:block;color:#e0e8dc;margin:9px 0;font-size:13px}.campaign-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 22px}.campaign-section-head{display:flex;justify-content:space-between;align-items:start;gap:15px;flex-wrap:wrap}.campaign-section-head h2{font-size:20px}.campaign-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin:20px 0;align-items:start}.campaign-columns>.panel{min-width:0}.campaign-columns .small-copy{line-height:1.8}.campaign-mobilization{display:grid;grid-template-columns:1fr 240px;gap:25px}.campaign-mobilization .campaign-actions{align-content:center;flex-direction:column;justify-content:center}.campaign-mobilization h2{margin:10px 0;font:25px Georgia,serif}.campaign-mobilization p{line-height:1.7}.campaign-orders{margin:20px 0}.campaign-orders summary{cursor:pointer;color:var(--accent)}.campaign-orders>.small-copy{margin-top:14px}.campaign-orders .kv{gap:15px;flex-wrap:wrap}.campaign-fronts{display:grid;gap:16px;margin-top:18px}.campaign-front{border:1px solid #53665f;border-radius:10px;padding:18px;background:#1d3434}.campaign-front h3{font:22px Georgia,serif;margin:14px 0 8px}.campaign-front p,.campaign-front small{font-size:12px;color:var(--muted);line-height:1.6}.campaign-front>button{margin-top:14px}.front-armies>div{display:flex;gap:8px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:12px}.front-armies span{color:var(--muted);display:block}.front-armies strong{width:100%}.campaign-front details{font-size:12px;margin-top:14px;color:var(--muted)}.front-intel{padding:18px 0;border-top:1px solid var(--line);margin-top:16px;font-size:13px;overflow-wrap:anywhere}.front-intel small{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin:6px 0 10px}.front-intel.is-expired{opacity:.7}.intel-contact{padding:10px 12px;background:#233c37;border-radius:6px;margin:8px 0;font-size:12px}.intel-contact small{margin:6px 0 0}.campaign-peace{border-color:#9a885b;margin:20px 0}.campaign-peace>.btn-game{margin:8px 8px 0 0}.content:has(.campaign-banner) .kv{gap:14px;flex-wrap:wrap}.content:has(.campaign-rules) .page-heading{gap:15px;flex-wrap:wrap}
@media(max-width:1100px){.campaign-columns{grid-template-columns:1fr}.campaign-mobilization{grid-template-columns:1fr}.campaign-mobilization .campaign-actions{flex-direction:row;justify-content:start;margin:0}}
@media(max-width:650px){.campaign-banner{grid-template-columns:1fr;padding:20px}.campaign-banner h2{font-size:24px}.campaign-camps{gap:10px}.campaign-camps>div{padding:12px}.campaign-rules{padding:18px}.campaign-columns .panel{padding:18px}.campaign-mobilization{padding:20px}.campaign-section-head{flex-direction:column}.campaign-actions .btn-game{white-space:normal;text-align:left}}
.campaign-score{margin:20px 0}.campaign-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.campaign-score-grid>div{padding:16px;background:#203735;border:1px solid var(--line);border-radius:8px;min-width:0}.campaign-score-grid strong{display:block;font-size:28px;color:var(--accent);margin:8px 0}.campaign-score-grid small{display:block;color:var(--muted);line-height:1.7}.campaign-score .small-copy{line-height:1.7}.campaign-weariness{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.campaign-weariness summary{cursor:pointer;color:var(--accent);font-size:13px}
