/* Odprawa misji na ekranie kampanii (SPRINT D6, public/js/menu/campaign-briefing.js). */
.campaign-briefing { position: absolute; right: 38px; bottom: 92px; width: min(400px, 36vw); display: grid; gap: 8px; padding: 14px 14px 12px; z-index: 3;
  background: linear-gradient(180deg, #0f1213f2, #0b0d0de6); border: 1px solid #76776d; box-shadow: inset 0 0 0 3px #020303, 0 6px 24px #000a; opacity: 0; transform: translateY(12px); transition: opacity .35s .15s, transform .35s .15s; pointer-events: none; }
body.campaign-open .campaign-briefing { opacity: 1; transform: none; }
.campaign-briefing .briefing-head { font-size: 10px; letter-spacing: .24em; color: #b8c2c0; }
@media (max-width: 900px) { .campaign-briefing { display: none; } }
.briefing-row { display: grid; grid-template-columns: 52px 1fr; gap: 11px; align-items: start; padding: 8px 10px 9px 8px; background: linear-gradient(90deg, #1b1512cc, #0f0d0c66); border-left: 3px solid #ef7d4a; }
.briefing-row[hidden] { display: none; }
.briefing-row.event { border-left-color: #e8bd66; background: linear-gradient(90deg, #1a1810cc, #0f0e0c66); }
.briefing-row small { display: block; font-size: 9.5px; letter-spacing: .22em; color: #ef7d4a; }
.briefing-row.event small { color: #e8bd66; }
.briefing-row b { display: block; font-size: 15px; letter-spacing: .08em; color: #fff3dc; margin: 1px 0 3px; }
.briefing-row p { margin: 0; font-size: 11.5px; line-height: 1.35; color: #cfc6b3; }
.briefing-row p.briefing-counter { margin-top: 4px; color: #9fc3ae; }
.briefing-row p.briefing-counter::before { content: 'COUNTER · '; font-size: 9.5px; letter-spacing: .16em; color: #7fae93; }
.briefing-portrait { display: block; width: 52px; height: 52px; background: radial-gradient(circle at 50% 60%, #3b3f38 0%, #121514 70%) center/cover no-repeat; border: 1px solid #7b3a2e; box-shadow: inset 0 0 12px #000; }
.briefing-portrait.loading { animation: briefing-pulse 1.2s ease-in-out infinite; }
.briefing-icon { display: grid; place-items: center; width: 52px; height: 52px; color: #e8bd66; border: 1px solid #e8bd6655; background: #120f0c; }
.briefing-icon svg { width: 34px; height: 34px; filter: drop-shadow(0 0 6px #e8bd6688); }
@keyframes briefing-pulse { 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .briefing-portrait.loading { animation: none; } }
