/* NeoWorlds V43 – Magical status states and a 5px title shift.
   The existing ornate frame is retained as-is. Effects are transparent image layers;
   no decorative frame, line or ornament is constructed with CSS. */
.server h2 {position:relative;top:5px;}
.server .server-primary {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:rgba(10,14,23,.94);
  transition:background-color .45s ease, box-shadow .45s ease;
  box-shadow:none;
}
.server .server-primary::before,
.server .server-primary::after {
  content:"";
  position:absolute;
  inset:-12% -5%;
  z-index:-1;
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  pointer-events:none;
  opacity:0;
}
.server .server-primary strong { position:relative; z-index:1; transition:color .35s ease, text-shadow .35s ease; }
.server .server-primary small { position:relative; z-index:1; }
.server .server-primary.state-online {
  background-color:rgba(2,24,19,.94);
  box-shadow:inset 0 0 25px rgba(21,180,97,.23), 0 0 13px rgba(45,231,120,.12);
}
.server .server-primary.state-online::before {
  background-image:url('status-aura-online.png');
  opacity:1;
  animation:nw-status-aurora 5s ease-in-out infinite alternate;
}
.server .server-primary.state-online::after {
  background-image:url('status-sparks-online.png');
  opacity:.92;
  animation:nw-status-sparkle 4.8s ease-in-out infinite alternate;
}
.server .server-primary.state-online strong {
  color:#8cffa6;
  text-shadow:0 0 3px rgba(194,255,208,.95), 0 0 11px rgba(39,255,124,.92), 0 0 24px rgba(0,213,96,.5);
  animation:nw-status-letter-glow 3.6s ease-in-out infinite alternate;
}
.server .server-primary.state-online small { color:#d2f4db; text-shadow:0 0 6px rgba(36,210,102,.3); }
.server .server-primary.state-offline {
  background-color:rgba(27,4,12,.96);
  box-shadow:inset 0 0 24px rgba(228,31,67,.25), 0 0 13px rgba(225,40,69,.12);
}
.server .server-primary.state-offline::before {
  background-image:url('status-aura-offline.png');
  opacity:.95;
  animation:nw-status-aurora-offline 4.3s ease-in-out infinite alternate;
}
.server .server-primary.state-offline::after {
  background-image:url('status-sparks-offline.png');
  opacity:.95;
  animation:nw-status-sparkle 5.2s ease-in-out infinite alternate;
}
.server .server-primary.state-offline strong {
  color:#ffb7b1;
  text-shadow:0 0 3px rgba(255,237,224,.95), 0 0 13px rgba(255,58,83,.94), 0 0 28px rgba(221,16,68,.65);
  animation:nw-status-letter-glow-offline 3.1s ease-in-out infinite alternate;
}
.server .server-primary.state-offline small {color:#f4c8ca; text-shadow:0 0 6px rgba(243,78,99,.36);}
.server .server-primary.state-unknown strong { color:#e9dcc4; text-shadow:none; }
.server .server-primary.state-unknown small {color:#c8c7c5;}
@keyframes nw-status-aurora {from{opacity:.72;transform:translateY(-2%) scale(.98)} to{opacity:1;transform:translateY(2%) scale(1.025)}}
@keyframes nw-status-sparkle {from{opacity:.34;transform:translateX(-1%) translateY(1%)}to{opacity:1;transform:translateX(1%) translateY(-1%)}}
@keyframes nw-status-letter-glow{from{text-shadow:0 0 3px #baffc5,0 0 10px rgba(24,222,100,.75),0 0 21px rgba(5,190,88,.29)}to{text-shadow:0 0 4px #d4ffe0,0 0 17px rgba(42,255,134,1),0 0 30px rgba(0,235,107,.54)}}
@keyframes nw-status-aurora-offline {
  from {opacity:.70; transform:translateY(1%) scale(.99)}
  to {opacity:1; transform:translateY(-2%) scale(1.025)}
}
@keyframes nw-status-letter-glow-offline {
  from {text-shadow:0 0 3px #ffb3aa, 0 0 9px rgba(243,48,75,.76), 0 0 22px rgba(195,11,54,.37)}
  to {text-shadow:0 0 5px #ffe0d4, 0 0 19px rgba(255,71,99,1), 0 0 34px rgba(235,14,72,.72)}
}
@media (prefers-reduced-motion:reduce){
  .server .server-primary,
  .server .server-primary strong{transition:none;animation:none!important}
  .server .server-primary::before,
  .server .server-primary::after{animation:none!important}
}
