.tactic-ai-loading{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at center,rgba(6,25,14,.46),rgba(2,9,5,.08) 48%,transparent 72%);
  transition:opacity .16s ease;
}
.tactic-ai-loading[hidden]{display:none!important}
.tactic-ai-loading.is-active{opacity:1}
.tactic-ai-loading-card{
  display:grid;
  justify-items:center;
  gap:7px;
  min-width:190px;
  padding:18px 22px 15px;
  border:1px solid rgba(200,242,73,.56);
  border-radius:20px;
  background:linear-gradient(155deg,rgba(5,25,13,.97),rgba(2,12,7,.96));
  box-shadow:0 18px 55px rgba(0,0,0,.46),0 0 32px rgba(137,232,95,.17),inset 0 1px rgba(255,255,255,.08);
}
.tactic-ai-loading-ring{position:relative;display:grid;place-items:center;width:98px;height:98px}
.tactic-ai-loading-ring::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 14%,rgba(200,242,73,.18) 25%,#c8f249 48%,#89e85f 66%,transparent 82% 100%);
  filter:drop-shadow(0 0 8px rgba(200,242,73,.72));
  animation:fctactic-loading-spin .72s linear infinite;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 0);
}
.tactic-ai-loading-core{
  display:grid;
  place-items:center;
  width:78px;
  height:78px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(137,232,95,.2),rgba(4,20,11,.96) 68%);
  box-shadow:inset 0 0 20px rgba(137,232,95,.12),0 0 18px rgba(137,232,95,.18);
  animation:fctactic-loading-pulse .62s ease-in-out infinite alternate;
}
.tactic-ai-loading-core img{display:block;width:68px;height:auto;filter:drop-shadow(0 0 7px rgba(200,242,73,.34))}
.tactic-ai-loading-card strong{color:#fff;font:800 .76rem/1 'Chakra Petch',sans-serif;letter-spacing:.16em}
.tactic-ai-loading-card span{color:#89e85f;font:700 .58rem/1 'Chakra Petch',sans-serif;letter-spacing:.19em}
@keyframes fctactic-loading-spin{to{transform:rotate(1turn)}}
@keyframes fctactic-loading-pulse{from{transform:scale(.92);opacity:.72}to{transform:scale(1.04);opacity:1}}
@media(max-width:440px){.tactic-ai-loading-card{min-width:170px;padding:15px 19px 13px}.tactic-ai-loading-ring{width:88px;height:88px}.tactic-ai-loading-core{width:70px;height:70px}.tactic-ai-loading-core img{width:61px}}
