/* WAR — штабная комната банды (15.10.2026). Свой материал, не окно Системы:
   уголь, бетон, кровь и латунь, трафаретные заголовки. Цвета — токенами на
   самом модуле: экраны «Штаба» и «Территорий» (viewTeam/viewStreet из app.js)
   перекрашиваются без единой правки их разметки. */
.war {
  --void: #0e0c0b; --void-2: #171311; --panel: #1b1614; --panel-2: #231c19;
  --line: #3a2b25; --line-soft: #2a201c; --ink: #efe6dc; --ink-dim: #a99a8c; --ink-faint: #7a6c60;
  --sys: #e2483a; --sys-deep: #8f241b; --sys-glow: rgba(226, 72, 58, 0.35);
  --gold: #d9a441; --upgrade: #d9a441; --blood: #ff5a4a;
  position: fixed; inset: 0; z-index: 30; overflow-y: auto; overscroll-behavior: contain;
  background:
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.015) 0 2px, transparent 2px 9px),
    radial-gradient(120% 60% at 50% 0%, #2a1b16 0%, #0e0c0b 60%);
  color: var(--ink);
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
}
.war-head {
  position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; background: rgba(14, 12, 11, 0.94); border-bottom: 2px solid var(--sys-deep);
  backdrop-filter: blur(6px);
}
.war-head::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 4px;
  background: repeating-linear-gradient(135deg, var(--gold) 0 8px, #0e0c0b 8px 16px); opacity: 0.6;
}
.war-back { color: var(--ink); font-size: 26px; line-height: 1; padding: 0 6px; background: none; border: 0; }
.war-logo {
  font-family: var(--font-data); font-weight: 900; font-size: 24px; letter-spacing: 0.32em; color: var(--sys);
  text-shadow: 0 0 14px var(--sys-glow);
}
.war-sub { font-size: 12px; color: var(--ink-dim); text-transform: uppercase; letter-spacing: 0.12em; overflow: hidden;
  text-overflow: ellipsis; white-space: nowrap; }
.war-tabs { display: flex; gap: 0; margin: 14px 14px 4px; border: 1px solid var(--line); }
.war-tab {
  flex: 1; padding: 10px 6px; background: var(--void-2); color: var(--ink-dim); border: 0;
  border-right: 1px solid var(--line); font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; font-size: 12px;
}
.war-tab:last-child { border-right: 0; }
.war-tab.is-on { background: var(--sys); color: #160b09; }
.war-body { padding: 8px 14px; display: grid; gap: 10px; }
.war .panel { background: linear-gradient(180deg, var(--panel-2), var(--panel)); border: 1px solid var(--line); }
.war .sys-label, .war-kicker {
  color: var(--gold); font-family: var(--font-data); text-transform: uppercase; letter-spacing: 0.22em; font-size: 11px;
  margin: 0 0 8px; font-weight: 800;
}
.war .btn-primary { background: var(--sys); border-color: var(--sys); color: #160b09; }
.war .chip.is-on { background: var(--sys); color: #160b09; border-color: var(--sys); }
.war-moves { display: flex; gap: 6px; margin: 0 0 8px; }
.war-moves i { width: 34px; height: 10px; border: 1px solid var(--sys-deep); background: transparent; transform: skewX(-20deg); }
.war-moves i.is-left { background: var(--sys); box-shadow: 0 0 10px var(--sys-glow); }
.war-acts, .war-two { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 8px 0; }
.war-acts .btn { flex-direction: column; gap: 2px; }
.war .act-sub { font-size: 10px; color: var(--ink-dim); font-weight: 600; }
.war-effects { margin-top: 8px; }
.war .chip.war-ally { border-color: var(--gold); color: var(--gold); }
.war .chip.war-hot { border-color: var(--sys); color: var(--blood); }
.war select.input { width: 100%; background: var(--void-2); color: var(--ink); border: 1px solid var(--line); }
@media (prefers-reduced-motion: no-preference) {
  html:not([data-fx="off"]) .war-body > * { animation: war-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both; }
  html:not([data-fx="off"]) .war-body > :nth-child(2) { animation-delay: 0.05s; }
  html:not([data-fx="off"]) .war-body > :nth-child(3) { animation-delay: 0.1s; }
  html:not([data-fx="off"]) .war-body > :nth-child(n+4) { animation-delay: 0.15s; }
}
@keyframes war-in { from { opacity: 0; transform: translateY(10px); } }

/* Постер модуля в хабе. */
.poster.theme-war { background: linear-gradient(170deg, #2b1612, #0e0c0b 70%); color: #efe6dc; }
.poster.theme-war .poster-face { filter: contrast(1.15) saturate(0.9); }
.poster.theme-war .poster-deco {
  background:
    repeating-linear-gradient(135deg, rgba(217, 164, 65, 0.16) 0 10px, transparent 10px 22px),
    linear-gradient(to top, rgba(14, 12, 11, 0.96) 24%, transparent 60%);
}
.poster.theme-war .poster-name { color: #e2483a; letter-spacing: 0.3em; text-shadow: 0 0 16px rgba(226, 72, 58, 0.55); }
.war .btn { background: #241b18; border-color: #4a352d; color: var(--ink); }
.war .btn:hover:not(:disabled) { background: #2e221e; border-color: var(--sys-deep); }
.war .btn-danger { border-color: var(--sys); color: var(--blood); }
.war .btn:disabled { opacity: 0.45; }
.war .tile { background: #1f1815; border-color: var(--line); }

/* Оборона: карточка участка */
.war .war-post { padding: 12px 0; border-top: 1px solid var(--line-soft); display: grid; gap: 8px; }
.war .war-post:first-child { border-top: 0; padding-top: 0; }
.war .war-post-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.war .war-post.is-hot .war-post-top b { color: var(--sys); }
@media (prefers-reduced-motion: no-preference) {
  .war .war-post.is-hot { animation: war-pulse 2.4s ease-in-out infinite; }
  @keyframes war-pulse { 50% { background: rgba(226, 72, 58, .06); } }
}
