/* XO Radar waiting screen - radar scan combat HUD skin.  Only affects .ui-screen-content waiting state. */
:root{
  --xo-wait-cyan:#25e7ff;
  --xo-wait-cyan-2:#00a7ff;
  --xo-wait-green:#2bff9a;
  --xo-wait-red:#ff3d3d;
  --xo-wait-orange:#ffb000;
  --xo-wait-panel:#071019;
}

body.xo-waiting-active .ui-screen-content{
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 48%, rgba(37,231,255,.16), rgba(37,231,255,.035) 26%, transparent 55%),
    radial-gradient(circle at 18% 20%, rgba(255,61,61,.14), transparent 28%),
    radial-gradient(circle at 82% 80%, rgba(255,176,0,.13), transparent 30%),
    linear-gradient(135deg,#020506 0%,#06101a 50%,#030405 100%)!important;
}

body.xo-waiting-active .ui-screen-content::before{
  content:"";
  position:absolute;
  inset:-24%;
  z-index:0;
  pointer-events:none;
  opacity:.55;
  background-image:
    linear-gradient(rgba(37,231,255,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,231,255,.075) 1px, transparent 1px),
    linear-gradient(120deg, transparent 0 48%, rgba(255,176,0,.08) 49%, transparent 50% 100%);
  background-size:64px 64px,64px 64px,280px 280px;
  transform:perspective(900px) rotateX(60deg) translateY(120px) scale(1.26);
  transform-origin:center;
  animation:xoWaitGridMove 14s linear infinite;
}

body.xo-waiting-active .ui-screen-content::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(transparent 50%, rgba(255,255,255,.026) 51%, transparent 52%),
    radial-gradient(circle at center, transparent 0 36%, rgba(0,0,0,.78) 100%);
  background-size:100% 4px,100% 100%;
  opacity:.72;
  mix-blend-mode:screen;
}

body.xo-waiting-active .ui-screen-content-box{
  position:relative;
  z-index:1;
  width:min(620px,calc(100vw - 48px));
  min-height:560px;
  margin-top:18px!important;
  padding:34px 40px 36px;
  box-sizing:border-box;
  text-align:center;
  border:1px solid rgba(37,231,255,.42);
  border-radius:0;
  clip-path:polygon(24px 0,calc(100% - 24px) 0,100% 24px,100% calc(100% - 24px),calc(100% - 24px) 100%,24px 100%,0 calc(100% - 24px),0 24px);
  background:linear-gradient(180deg,rgba(7,15,25,.78),rgba(3,7,11,.58));
  box-shadow:
    0 0 0 1px rgba(255,176,0,.08) inset,
    0 0 48px rgba(37,231,255,.14),
    0 28px 90px rgba(0,0,0,.74);
  backdrop-filter:blur(12px) saturate(1.25);
  -webkit-backdrop-filter:blur(12px) saturate(1.25);
  animation:xoWaitPanelBoot .45s cubic-bezier(.2,.9,.2,1) both;
}

body.xo-waiting-active .ui-screen-content-box::before{
  content:"BATTLEFIELD RADAR SCAN";
  position:absolute;
  left:22px;
  right:22px;
  top:13px;
  height:34px;
  border-top:1px solid rgba(37,231,255,.52);
  color:rgba(37,231,255,.78);
  font:900 10px/32px "JetBrains Mono","Fira Code",Consolas,monospace;
  letter-spacing:4px;
  text-align:center;
  text-shadow:0 0 14px rgba(37,231,255,.72);
  pointer-events:none;
}

body.xo-waiting-active .ui-screen-content-box::after{
  content:"";
  position:absolute;
  inset:12px;
  pointer-events:none;
  background:
    linear-gradient(var(--xo-wait-cyan),var(--xo-wait-cyan)) left top/52px 2px no-repeat,
    linear-gradient(var(--xo-wait-cyan),var(--xo-wait-cyan)) left top/2px 52px no-repeat,
    linear-gradient(var(--xo-wait-red),var(--xo-wait-red)) right top/52px 2px no-repeat,
    linear-gradient(var(--xo-wait-red),var(--xo-wait-red)) right top/2px 52px no-repeat,
    linear-gradient(var(--xo-wait-orange),var(--xo-wait-orange)) left bottom/52px 2px no-repeat,
    linear-gradient(var(--xo-wait-orange),var(--xo-wait-orange)) left bottom/2px 52px no-repeat,
    linear-gradient(var(--xo-wait-cyan),var(--xo-wait-cyan)) right bottom/52px 2px no-repeat,
    linear-gradient(var(--xo-wait-cyan),var(--xo-wait-cyan)) right bottom/2px 52px no-repeat;
  opacity:.86;
  filter:drop-shadow(0 0 10px rgba(37,231,255,.45));
}

body.xo-waiting-active .ui-screen-content-box[data-xo-waiting="1"] .ui-loader{
  display:none!important;
}

.xo-wait-radar{
  position:relative;
  width:300px;
  height:300px;
  margin:38px auto 20px;
  border-radius:50%;
  border:1px solid rgba(37,231,255,.56);
  background:
    radial-gradient(circle, rgba(37,231,255,.18) 0 2px, transparent 3px),
    radial-gradient(circle at center, rgba(37,231,255,.11) 0 16%, transparent 17% 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 0 0 14px rgba(37,231,255,.035),
    0 0 46px rgba(37,231,255,.26),
    inset 0 0 32px rgba(37,231,255,.12);
  overflow:hidden;
}

.xo-wait-radar::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    repeating-radial-gradient(circle at center, transparent 0 35px, rgba(37,231,255,.32) 36px, transparent 37px),
    linear-gradient(0deg, transparent calc(50% - 1px), rgba(37,231,255,.42) 50%, transparent calc(50% + 1px)),
    linear-gradient(90deg, transparent calc(50% - 1px), rgba(37,231,255,.42) 50%, transparent calc(50% + 1px));
  opacity:.78;
}

.xo-wait-radar::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:50%;
  height:50%;
  transform-origin:0 0;
  background:conic-gradient(from -18deg, rgba(43,255,154,.86), rgba(37,231,255,.28) 28deg, transparent 70deg);
  clip-path:polygon(0 0,100% 0,100% 18%,0 100%);
  filter:drop-shadow(0 0 16px rgba(43,255,154,.68));
  animation:xoWaitSweep 2.25s linear infinite;
}

.xo-wait-scope{
  position:absolute;
  inset:22px;
  border-radius:50%;
  border:1px dashed rgba(37,231,255,.34);
  animation:xoWaitScopePulse 2.4s ease-in-out infinite;
}

.xo-wait-core{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  width:76px;
  height:76px;
  border-radius:50%;
  border:1px solid rgba(37,231,255,.72);
  background:
    radial-gradient(circle at 50% 50%, rgba(43,255,154,.9) 0 5px, transparent 6px),
    radial-gradient(circle, rgba(37,231,255,.34), rgba(6,12,18,.92) 58%, rgba(3,7,10,.94));
  box-shadow:0 0 28px rgba(37,231,255,.5), inset 0 0 22px rgba(37,231,255,.22);
}

.xo-wait-core::before{
  content:"XO";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#dffcff;
  font:900 19px/1 "JetBrains Mono","Fira Code",Consolas,monospace;
  letter-spacing:1.5px;
  text-shadow:0 0 12px rgba(37,231,255,.9);
}

.xo-wait-blip{
  position:absolute;
  z-index:2;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--xo-wait-green);
  box-shadow:0 0 0 4px rgba(43,255,154,.16),0 0 18px rgba(43,255,154,.85);
  animation:xoWaitBlip 1.65s ease-in-out infinite;
}

.xo-wait-blip.b1{left:66%;top:32%;animation-delay:.1s}
.xo-wait-blip.b2{left:29%;top:58%;animation-delay:.45s;background:var(--xo-wait-orange);box-shadow:0 0 0 4px rgba(255,176,0,.14),0 0 18px rgba(255,176,0,.75)}
.xo-wait-blip.b3{left:72%;top:69%;animation-delay:.82s;background:var(--xo-wait-cyan);box-shadow:0 0 0 4px rgba(37,231,255,.14),0 0 18px rgba(37,231,255,.75)}
.xo-wait-blip.b4{left:42%;top:26%;animation-delay:1.1s;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12),0 0 18px rgba(255,255,255,.7)}

.xo-wait-vector{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:1px;
  height:150px;
  transform-origin:bottom center;
  background:linear-gradient(transparent,rgba(37,231,255,.35),transparent);
}
.xo-wait-vector.v1{transform:translate(-50%,-100%) rotate(45deg)}
.xo-wait-vector.v2{transform:translate(-50%,-100%) rotate(135deg)}
.xo-wait-vector.v3{transform:translate(-50%,-100%) rotate(225deg)}
.xo-wait-vector.v4{transform:translate(-50%,-100%) rotate(315deg)}

body.xo-waiting-active .ui-desc{
  position:relative;
  color:#f5fdff!important;
  font-size:32px!important;
  font-weight:950!important;
  line-height:1.08;
  letter-spacing:2px;
  text-shadow:0 0 18px rgba(37,231,255,.55),0 2px 0 rgba(0,0,0,.9);
}

body.xo-waiting-active .ui-desc::before{
  content:"COMBAT UPLINK";
  display:block;
  margin-bottom:8px;
  color:var(--xo-wait-orange);
  font:900 11px/1 "JetBrains Mono","Fira Code",Consolas,monospace;
  letter-spacing:3px;
  text-shadow:0 0 12px rgba(255,176,0,.55);
}

body.xo-waiting-active .ui-desc::after{
  content:"";
  display:block;
  width:190px;
  height:2px;
  margin:14px auto 0;
  background:linear-gradient(90deg,transparent,var(--xo-wait-red),var(--xo-wait-orange),var(--xo-wait-cyan),transparent);
  box-shadow:0 0 18px rgba(37,231,255,.38);
}

body.xo-waiting-active .ui-sm{
  margin-top:12px;
  color:rgba(213,243,255,.76)!important;
  font:900 13px/1.2 "JetBrains Mono","Fira Code",Consolas,monospace!important;
  letter-spacing:1.2px;
  opacity:1!important;
  text-shadow:0 0 12px rgba(37,231,255,.35);
}

.xo-wait-progress{
  position:relative;
  width:min(440px,100%);
  height:10px;
  margin:26px auto 0;
  border:1px solid rgba(37,231,255,.35);
  background:rgba(0,0,0,.34);
  overflow:hidden;
  clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px);
}

.xo-wait-progress::before{
  content:"";
  position:absolute;
  inset:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(37,231,255,.15) 22%,rgba(43,255,154,.72) 48%,rgba(255,176,0,.86) 68%,transparent 100%);
  transform:translateX(-65%);
  animation:xoWaitProgress 1.65s ease-in-out infinite;
}

.xo-wait-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  width:min(500px,100%);
  margin:22px auto 0;
}

.xo-wait-chip{
  min-height:48px;
  padding:8px 10px;
  box-sizing:border-box;
  border:1px solid rgba(37,231,255,.28);
  background:linear-gradient(180deg,rgba(15,28,43,.78),rgba(4,9,14,.72));
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  text-align:left;
  box-shadow:inset 0 0 18px rgba(37,231,255,.055);
}

.xo-wait-chip b{
  display:block;
  margin-bottom:5px;
  color:rgba(213,243,255,.62);
  font:900 9px/1 "JetBrains Mono","Fira Code",Consolas,monospace;
  letter-spacing:1.7px;
}

.xo-wait-chip span{
  display:block;
  overflow:hidden;
  color:#fff;
  font:900 13px/1.1 "JetBrains Mono","Fira Code",Consolas,monospace;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 0 10px rgba(37,231,255,.32);
}

.xo-wait-chip.ok span{color:var(--xo-wait-green);text-shadow:0 0 12px rgba(43,255,154,.45)}
.xo-wait-chip.warn span{color:var(--xo-wait-orange);text-shadow:0 0 12px rgba(255,176,0,.45)}

@keyframes xoWaitGridMove{
  0%{background-position:0 0,0 0,0 0}
  100%{background-position:0 64px,64px 0,280px 280px}
}

@keyframes xoWaitPanelBoot{
  from{opacity:0;transform:translateY(18px) scale(.965);filter:blur(8px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@keyframes xoWaitSweep{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

@keyframes xoWaitScopePulse{
  0%,100%{opacity:.48;transform:scale(.98)}
  50%{opacity:1;transform:scale(1.025)}
}

@keyframes xoWaitBlip{
  0%,100%{opacity:.42;transform:scale(.82)}
  45%{opacity:1;transform:scale(1.22)}
}

@keyframes xoWaitProgress{
  0%{transform:translateX(-75%)}
  52%{transform:translateX(42%)}
  100%{transform:translateX(118%)}
}

@media screen and (max-width:768px){
  body.xo-waiting-active .ui-screen-content-box{
    width:min(460px,calc(100vw - 26px));
    min-height:500px;
    padding:30px 22px 30px;
  }
  .xo-wait-radar{width:238px;height:238px;margin-top:34px}
  .xo-wait-vector{height:119px}
  body.xo-waiting-active .ui-desc{font-size:25px!important}
  .xo-wait-meta{grid-template-columns:1fr;gap:8px}
  .xo-wait-chip{min-height:42px;text-align:center}
}