/* Мапа моћи, командна табла (war-map.js). Оквир штабне карте: туш, папир, сериф за
   имена, санс за статусе. Ниједно значење није само бојом: уз боју иде икона или текст. */
#war-map{--wm-gold:#8a6d3b;margin:34px 0 14px;scroll-margin-top:96px;border:2px solid var(--ink);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='16'%3E%3Cpath d='M0 12L7 5L14 12L21 5L28 12' fill='none' stroke='%23282924' stroke-opacity='.045' stroke-width='1.3'/%3E%3C/svg%3E");box-shadow:0 0 0 1px var(--paper),0 0 0 2px var(--ink),6px 8px 0 rgba(40,41,36,.1)}

/* HUD: насловна трака са мрвицама, тастерима и легендом у једном горњем реду. */
.wm-hud{border-bottom:2px solid var(--ink);background:var(--light)}
.wm-hud-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px 8px}
.wm-hud-brand{display:flex;flex-direction:column;gap:3px;min-width:150px}
.wm-eyebrow{display:flex;align-items:center;gap:7px;font:700 10px/1 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--red)}
.wm-eyebrow:before{content:'';width:7px;height:7px;background:var(--red);flex-shrink:0;clip-path:polygon(0 0,100% 0,100% 55%,55% 100%,0 100%)}
.wm-hud-brand h2{font:700 19px/1 var(--serif);letter-spacing:.6px;text-transform:uppercase;color:var(--ink)}
.wm-crumbs{display:flex;align-items:center;gap:7px;flex:1;min-width:180px;font:700 10.5px/1 var(--sans);letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}
.wm-crumbs b{color:var(--ink);font-family:var(--serif);font-size:12.5px;letter-spacing:.2px;text-transform:none}
.wm-crumb-btn{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--muted);padding:4px 2px;border-bottom:1px solid transparent}
.wm-crumb-btn:hover{color:var(--red);border-bottom-color:var(--red)}
.wm-sep{color:var(--line);font-size:12px}
.wm-hud-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.wm-zoom{display:inline-flex;border:1.5px solid var(--ink)}
.wm-zoom .wm-tool{border:0;border-right:1.5px solid var(--ink)}
.wm-zoom .wm-tool:last-child{border-right:0}
.wm-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:30px;height:28px;padding:0 10px;border:1.5px solid var(--ink);background:var(--paper);font:700 10px/1 var(--sans);letter-spacing:1.1px;text-transform:uppercase;color:var(--ink);cursor:pointer}
.wm-tool:hover{background:var(--ink);color:var(--light)}
.wm-hud-legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:6px 16px 9px;border-top:1px dashed var(--line)}
.wm-chip{display:inline-flex;align-items:center;gap:5px;font:700 10px/1 var(--sans);letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.wm-chip .wm-ic{opacity:.75}
.wm-chip i{width:9px;height:9px;flex-shrink:0;display:inline-block}
.wm-chip i.wm-ribbon{width:16px;height:9px;border:2px solid #876aa1;border-top-width:0;background:repeating-linear-gradient(90deg,#876aa1 0 3px,transparent 3px 5px)}
.wm-chip svg line{stroke:#55564d}
.wm-sentence{margin:9px 16px 4px;max-width:660px;font-size:12px;line-height:1.6;color:var(--muted)}

/* Позорница: папирна карта са шеврон патерном, размерива и померива као права карта. */
.wm-stage{position:relative;margin:4px 12px 10px;border:1.5px solid var(--ink);background:var(--light);overflow:auto;scrollbar-width:thin}
.wm-sizer{position:relative;margin:6px auto}
.wm-board{position:absolute;left:0;top:0;transform-origin:0 0;animation:wm-in .26s ease}
.wm-roads{position:absolute;left:0;top:0;width:100%;height:100%;display:block;pointer-events:none}
.wm-roads .wm-edge{stroke:#55564d;stroke-opacity:.5;stroke-linecap:round}
.wm-roads .wm-edge.claimed{stroke:#a52b27;stroke-opacity:.55}
.wm-roads .wm-edge-hit{stroke:transparent;stroke-width:16;pointer-events:stroke}
@keyframes wm-in{from{opacity:.2;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.wm-stage-legend{display:flex;flex-wrap:wrap;gap:4px 13px;align-items:center;position:absolute;left:8px;bottom:6px;padding:4px 8px;background:rgba(250,249,243,.88);border:1px solid var(--line);pointer-events:none;max-width:calc(100% - 20px)}
.wm-stage-legend .wm-chip{font-size:9.5px;letter-spacing:.6px}
.wm-full-close{display:none;position:absolute;top:8px;right:8px;z-index:5;width:34px;height:34px;align-items:center;justify-content:center;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer}
.wm-full-close:hover{background:var(--ink);color:var(--light)}

/* Плоче-провинције: име као највећи текст, герб-икона, статус-ред. */
.wm-plate{position:absolute;display:flex;align-items:center;gap:13px;padding:12px 15px;background:#fbfaf4;border:2px solid var(--ink);box-shadow:4px 4px 0 rgba(40,41,36,.14);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.wm-plate:before{content:'';position:absolute;left:-2px;top:-2px;right:-2px;height:5px;background:var(--pc,transparent)}
.wm-plate:hover{transform:translateY(-2px);box-shadow:5px 7px 0 rgba(40,41,36,.18)}
.wm-plate:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wm-plate-icon{flex-shrink:0;display:grid;place-items:center}
.wm-plate-icon .wm-ic{filter:brightness(.72) saturate(1.35)}
.wm-plate-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.wm-plate-name{font:700 16.5px/1.05 var(--serif);letter-spacing:.9px;text-transform:uppercase;color:var(--ink)}
.wm-plate-sub{font:600 12px/1.3 var(--sans);letter-spacing:.2px;color:var(--muted)}

/* Заставе-штитови: петоугаони штит, скраћеница, значка чланова, водић. */
.wm-shield{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .16s ease}
.wm-shield:hover{transform:translateY(-2px)}
.wm-shield:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wm-shield-shape{position:relative;width:96px;height:108px;line-height:0}
.wm-shield-shape>svg{width:96px;height:108px;filter:drop-shadow(3px 3px 0 rgba(40,41,36,.16))}
.wm-shield-abbr{position:absolute;left:0;right:0;top:30px;text-align:center;font:700 17px/1.05 var(--serif);letter-spacing:1px;color:#faf9f3;text-shadow:0 1px 0 rgba(40,41,36,.45);padding:0 12px;word-break:keep-all}
.wm-shield-n{position:absolute;top:-7px;right:-11px;display:inline-flex;align-items:center;gap:3px;padding:3px 6px;background:var(--paper);border:1.5px solid var(--ink);font:700 11px/1 var(--sans);color:var(--ink)}
.wm-shield-name{max-width:132px;text-align:center;font:600 12px/1.25 var(--serif);color:var(--ink);background:rgba(250,249,243,.9);padding:1px 3px}
.wm-lead-tag{margin-bottom:2px;padding:3px 7px;background:var(--ink);color:var(--light);font:700 8.5px/1 var(--sans);letter-spacing:1px;text-transform:uppercase}

/* Попрсја-медаљони: портрет или иницијали, трака фракције, статусна значка, име испод. */
.wm-bust{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;transition:transform .16s ease}
.wm-bust:hover{transform:translateY(-2px)}
.wm-bust:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wm-medal{position:relative;display:grid;place-items:center;border-radius:50%;border:3.5px solid var(--pc,#9a988c);background:var(--light);box-shadow:3px 3px 0 rgba(40,41,36,.14)}
.wm-medal>img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.wm-init{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;font-weight:700;font-family:var(--serif);color:#faf9f3;letter-spacing:.5px}
.wm-init.sm{font-size:15px}
.wm-badge{position:absolute;right:-7px;top:-5px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);color:var(--ink)}
.wm-badge.wm-green{border-color:var(--green);color:var(--green)}
.wm-badge.wm-red{border-color:var(--red);color:var(--red)}
.wm-medal-shield{border-radius:0;border:0;width:110px;height:124px}
.wm-medal-shield>svg{width:110px;height:124px;filter:drop-shadow(3px 3px 0 rgba(40,41,36,.16))}
.wm-hub-abbr{position:absolute;left:0;right:0;top:36px;text-align:center;font:700 16px/1.05 var(--serif);letter-spacing:1px;color:#faf9f3}
.wm-bust-name{max-width:118px;text-align:center;font:600 12.5px/1.2 var(--serif);color:var(--ink);background:rgba(250,249,243,.9);padding:1px 4px}

/* Обележје ЗА АНАЛИЗУ: шеврон и текст; никад празно или „неразврстано". */
.wm-mark{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border:1.5px dashed var(--red);background:rgba(244,242,233,.95);color:var(--red);font:700 8.5px/1 var(--sans);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.wm-plate .wm-mark{position:absolute;top:-11px;right:8px}
.wm-shield .wm-mark{order:-1;margin-top:2px}
.wm-medal .wm-mark{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%)}
.wm-hollow{border-style:dashed}

/* Изабрани елемент: туш-прстен. */
.wm-selected{box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--ink),4px 4px 0 rgba(40,41,36,.14)!important}
.wm-bust.wm-selected .wm-medal,.wm-bust.wm-selected.wm-hub{box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--ink)}

/* „Још" и празан избор. */
.wm-more{position:absolute;display:flex;align-items:center;justify-content:center;height:40px;border:1.5px solid var(--ink);background:var(--paper);box-shadow:3px 3px 0 rgba(40,41,36,.12);text-decoration:none}
.wm-more span{font:700 11px/1 var(--sans);letter-spacing:.8px;text-transform:uppercase;color:var(--ink)}
a.wm-more:hover{background:var(--ink)}
a.wm-more:hover span{color:var(--light)}
div.wm-more span{color:var(--muted);text-transform:none;letter-spacing:.2px;font-weight:600}
.wm-empty{display:flex;flex-direction:column;align-items:center;gap:10px;justify-content:center;height:100%;font-size:13px;color:var(--muted)}
.wm-empty a{color:var(--ink);border-bottom:1px solid var(--red)}

/* Мини-картица за ховер: портрет или икона, име, статус, бројка, изворна напомена. */
.wm-card{position:fixed;z-index:70;max-width:300px;padding:12px 14px;background:var(--paper);border:2px solid var(--ink);box-shadow:5px 6px 0 rgba(40,41,36,.16);font-size:11.5px;line-height:1.55;color:var(--ink)}
.wm-card[hidden]{display:none}
.wm-card-head{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.wm-card-head b{font:600 14.5px/1.2 var(--serif)}
.wm-card-face{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border:1.5px solid var(--ink);background:var(--light)}
.wm-card-face.img{padding:0;overflow:hidden}
.wm-card-face.img img{width:100%;height:100%;object-fit:cover}
.wm-card-face.img .wm-init{width:100%;height:100%}
.wm-card-flag{flex-shrink:0;width:26px;height:30px;background:#876aa1;clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%)}
.wm-card-row{display:flex;align-items:center;gap:5px;font-size:10.5px;letter-spacing:.04em;color:var(--muted);margin:3px 0}
.wm-card-row.wm-warn{color:var(--red);font-weight:700}
.wm-card-row.wm-ok{color:var(--green);font-weight:700}
.wm-card p{margin:5px 0 0;font-size:10.5px;color:var(--muted)}
.wm-card-member{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}
.wm-card-member .wm-init{width:30px;height:30px;font-size:13px}
.wm-card-member img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.wm-card-member b{display:block;font:600 12px/1.2 var(--serif)}
.wm-card-member small{font-size:10px;color:var(--muted)}
.wm-card-go{margin-top:7px;font:700 9px var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--red)}
.wm-card-note{margin-top:7px;padding-top:5px;border-top:1px dashed var(--line);font-size:9.5px;color:var(--muted)}

/* Резервни текстуални приказ и нога. */
.wm-text{margin:10px 12px 0;border:1px solid var(--line);background:var(--light)}
.wm-text summary{cursor:pointer;padding:10px 14px;font:700 10px/1 var(--sans);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.wm-text summary:hover{color:var(--red)}
.wm-textlist{list-style:none;margin:0;padding:6px 14px 12px;display:flex;flex-direction:column;gap:6px}
.wm-textlist li a,.wm-textlist li span{display:flex;flex-direction:column;gap:2px;padding:6px 9px;background:var(--paper);border:1px solid var(--line)}
.wm-textlist li a:hover{border-color:var(--red)}
.wm-textlist small{font-size:10.5px;color:var(--muted)}
.wm-textlist li>b{font:700 10px var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.wm-text-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.wm-note{margin:5px 14px 10px;font-size:10.5px;color:var(--muted)}
.wm-cover{margin:10px 16px 14px;font-size:9.5px;color:var(--muted)}

/* Приказ преко целог екрана. */
#war-map.wm-full .wm-stage{position:fixed;inset:0;z-index:130;margin:0;border:0;background:var(--paper);padding:10px}
#war-map.wm-full .wm-full-close{display:inline-flex}
#war-map.wm-full .wm-sizer{margin:6px auto}

@media (prefers-reduced-motion:reduce){
  .wm-board{animation:none}
  .wm-plate,.wm-shield,.wm-bust{transition:none}
}
@media (max-width:640px){
  #war-map{scroll-margin-top:72px;margin:22px -14px 12px}
  .wm-hud-row{padding:10px 12px 6px;gap:10px}
  .wm-hud-legend{padding:5px 12px 8px}
  .wm-sentence{margin:8px 12px 4px}
  .wm-stage{margin:4px 6px 8px}
  .wm-stage-legend{display:none}
  .wm-card{left:8px!important;right:8px;max-width:none}
  .wm-text-grid{grid-template-columns:1fr}
}
