/* /upgrade/invocacao-mapa.css -- mapa da rota padronizada nas Invocações (ver invocacao-mapa.js; mockup aprovado
   docs/mockups/upgrade/invocacao-rota.html). Cores dos tokens do site. */
.inv-mapa{container-type:inline-size;display:grid;gap:12px;position:relative;overflow:hidden;border-color:color-mix(in srgb,#b04dff 35%,var(--border))}
.inv-mapa[hidden]{display:none!important}
.imx-top b{font:800 15px var(--display,inherit)}
.imx-regra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.imx-rg{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:start;background:var(--s-900,#0c0f16);border:1px solid var(--border);border-radius:10px;padding:8px 10px}
.imx-rg i{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;font:700 12px var(--mono,monospace);font-style:normal}
.imx-rg.r1 i{background:#ff7a2f;color:#1a0b02}.imx-rg.r2 i{border:1px dashed var(--muted);color:var(--text)}.imx-rg.r3 i{background:#b04dff;color:#fff}
.imx-rg p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.4}.imx-rg p b{color:var(--text)}
@container (max-width:680px){.imx-regra{grid-template-columns:1fr}}
.imx-area{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;align-items:start}
@container (max-width:760px){.imx-area{grid-template-columns:1fr}}
.imx-col{display:grid;gap:8px;min-width:0}
.imx-series{display:flex;gap:6px;flex-wrap:wrap}
.imx-series button{font:600 12.5px var(--body,inherit);background:var(--s-800,#141a25);border:1px solid var(--line-hi,#3a4759);border-radius:999px;padding:4px 11px;cursor:pointer;color:var(--muted)}
.imx-series button[aria-pressed="true"]{background:rgba(255,122,47,.10);border-color:#ff7a2f;color:#ffb082}
.imx-mapa{position:relative;width:100%;max-width:520px;aspect-ratio:520/340;margin:0 auto;container-type:inline-size}
.imx-hx{position:absolute;width:19.5%;height:33%;min-height:0;overflow:hidden;transform:translate(-50%,-50%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:grid;place-items:center;text-align:center;padding:9% 3% 0;font-size:clamp(7.5px,1.65cqw,9.5px);line-height:1.12;background:var(--s-700,#1a2130);color:var(--muted)}
.imx-hx span{font-size:inherit!important;line-height:inherit!important}
.imx-hx .imx-at{display:block;font-weight:600}
.imx-hx .imx-cu{display:block;margin-top:2px;font:700 10px var(--mono,monospace)}
.imx-hx.rota{background:linear-gradient(160deg,#ffb35c,#ff7a2f);color:#1a0b02}
.imx-hx.fecha{background:repeating-linear-gradient(135deg,#1f2735 0 6px,#18202c 6px 12px)}
.imx-hx.feito{background:#3a2f18;color:#d8c39a;opacity:.75}
.imx-hx.rota.feito{background:linear-gradient(160deg,#a8733a,#7a4a22);color:#f6e2c4;opacity:.9}
.imx-hx.fecha.feito{background:repeating-linear-gradient(135deg,#1f2735 0 6px,#18202c 6px 12px);color:#8a95a6;opacity:.75}
.imx-hx.feito::before{content:"✓";position:absolute;top:8%;right:24%;font:800 12px var(--mono,monospace);color:#4ade80;text-shadow:0 0 4px #000;z-index:2}
.imx-n{position:absolute;top:9%;font:700 10px var(--mono,monospace);background:#1a0b02;color:#ffb082;border-radius:999px;padding:0 5px}
.imx-hx.atk::after{content:"1º ATK";position:absolute;bottom:13%;font:700 9px var(--mono,monospace);color:#fff;background:#b04dff;border-radius:999px;padding:0 5px}
.imx-leg{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.imx-leg span{display:inline-flex;align-items:center;gap:6px}
.imx-leg i{width:13px;height:13px;border-radius:4px;display:inline-block}
.imx-leg .l1{background:#ff7a2f}.imx-leg .l2{background:repeating-linear-gradient(135deg,#2a3344 0 3px,#18202c 3px 6px);border:1px solid var(--line-hi,#3a4759)}.imx-leg .l3{background:#3a2f18}
.imx-cab,.imx-cl{display:grid;grid-template-columns:minmax(0,1fr) 96px 64px;gap:10px;align-items:center}
.imx-cab{padding:0 10px;font:600 10.5px var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.imx-cab span:nth-child(n+2){text-align:right}
.imx-cl{background:var(--s-900,#0c0f16);border:1px solid var(--border);border-radius:10px;padding:7px 10px;font-size:13px}
.imx-cl small{display:block;color:var(--muted);font-size:12px}
.imx-cl .p{font:600 13px var(--mono,monospace);text-align:right;font-variant-numeric:tabular-nums}
.imx-cl .a{font:700 13px var(--mono,monospace);color:var(--green,#43c79b);text-align:right}
.imx-nota{margin:0;font-size:12px;color:var(--muted)}
/* Tabela da série escolhida (mockup aprovado 30/09): atalho em ordem, subtotal e o "fechar" recolhido; a lista longa sai */
#panel-invocacaoProgressao.imx-trocado{display:none !important}
.imx-series button.no-trecho{border-style:solid}
.imx-series button:not(.no-trecho):not([aria-pressed="true"]){opacity:.6}
.imx-tab{display:grid;gap:4px;margin-top:4px}
.imx-tab-rot{font:600 10.5px var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 8px 4px}
.imx-tl{display:grid;grid-template-columns:30px 76px minmax(0,1fr) 72px;gap:10px;align-items:center;padding:7px 8px;border-radius:9px;font-size:13.5px;font-variant-numeric:tabular-nums}
.imx-tl.r{background:rgba(255,122,47,.08)}
.imx-tl .n{font:800 13px var(--mono,monospace);color:#ff7a2f;text-align:center}
.imx-tl .c{font:600 12px var(--mono,monospace);color:var(--muted);white-space:nowrap}
.imx-tl .p{text-align:right;font:700 13px var(--mono,monospace)}
.imx-chip{font:700 10px var(--mono,monospace);background:#b04dff;color:#fff;border-radius:999px;padding:1px 6px;margin-left:6px}
.imx-tab-sub{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px;border-top:1px solid var(--line-hi,#3a4759);margin-top:4px;font-weight:700;font-size:14px}
.imx-tab-sub b{font-variant-numeric:tabular-nums}
details.imx-fecha{border:1px dashed var(--line-hi,#3a4759);border-radius:10px;padding:4px 8px}
details.imx-fecha summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-weight:700;font-size:14px;color:var(--muted)}
details.imx-fecha summary::-webkit-details-marker{display:none}
@media (max-width:560px){.imx-tl{grid-template-columns:24px 52px minmax(0,1fr) 56px;font-size:13px}}
