@font-face{
  font-family:'Orbitron';
  font-weight:400;
  src:url(/content/32b6d96bacfe0ae524e552e07abdbce10003b65c48379ff232d17e1882970b3bi0) format('woff2');
}
@font-face{
  font-family:'Orbitron';
  font-weight:900;
  src:url(/content/ad4433b20726005759c1f22d7f83dc1a0fdb135774cc3a4a18cd2d2c5c236c7ai0) format('woff2');
}
body{
  margin:0;
  background:#000;
  color:#fff;
  font-family:'Orbitron',monospace;
  letter-spacing:0.033em;
  width:100vw;
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.container{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
}

.card{
  width: min(80vw, 80vh);
  height: min(80vw, 80vh);
  background:
    linear-gradient(45deg, 
      rgba(128,0,255,0.2) 0%, 
      rgba(0,128,255,0.2) 12.5%, 
      rgba(128,0,255,0.2) 25%, 
      transparent 37.5%, 
      transparent 62.5%, 
      rgba(128,0,255,0.2) 75%, 
      rgba(0,128,255,0.2) 87.5%, 
      rgba(128,0,255,0.2) 100%
    ),
    linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,40,80,0.3) 100%),
    url(/content/78c6e787dc6c18008e100462a21d167d1baac776f314a9ecbe92f7c05462b1bci0) repeat;
  background-size:400% 100%, 100% 100%, 128px 128px;
  background-position:0% 0%, 0% 0%, 0 0;
  border:2px solid #4af;
  border-radius:15px;
  box-shadow:
    0 0 20px #4af,
    inset 0 0 60px rgba(0,0,0,0.9);
  padding:20px;
  position:relative;
  animation:pulse 1s ease-in-out infinite, slide 16s ease-in-out infinite;
}
@keyframes pulse{
  0%{
    box-shadow:0 0 20px #4af,inset 0 0 60px rgba(0,0,0,0.7);
    border-color:#48f;
  }
  50%{
    box-shadow:0 0 25px #56f,inset 0 0 40px rgba(0,0,0,0.4);
    border-color:#8cf;
  }
  100%{
    box-shadow:0 0 20px #4af,inset 0 0 60px rgba(0,0,0,0.7);
    border-color:#48f;
  }
}
@keyframes slide{
  0%{background-position:0% 0%, 0% 0%, 0 0}
  50%{background-position:-100% 0%, 0% 0%, 0 0}
  100%{background-position:0% 0%, 0% 0%, 0 0}
}

.ship-frame{
  border:2px solid #0af;
  border-radius:10px;
  padding:10px;
  display:inline-block;
  box-shadow:
    0 0 20px #0af,
    inset 0 0 20px rgba(0,255,255,0.2);
}

.ship{
  width:96px;
  height:96px;
  image-rendering:pixelated;
  display:block;
  transition:transform 0.3s;
  position:relative;
  z-index:1;

}

.ship:hover{
  transform:scale(1.1) rotate(5deg);
}

#data{margin-top:10px}

.link{
  color:#0af;
  position:absolute;
  bottom:0.5vh;
  text-shadow:.5vh .5vh .5vh #000;
  padding:5px 15px;
  border:1px solid #0af;
  border-radius:20px;
  background:rgba(0,0,0,0.9);
  text-decoration:none;
  font-size:5.5vh;
  z-index:3;
  margin-top:10px;
  padding:2px 8px;
  border-radius:10px;
}

.ship-frame{
    margin-bottom:-10px;
    border-radius:6px;
    padding:0px;
    position:relative;
    z-index:2;
  }

.no-data .card{
  background:none;
  border:none;
  box-shadow:none;
  padding:0;
  width: auto;
  height: auto;
}
.no-data #data{display:none}
.no-data .ship-frame{
  border:2px solid #4af;
  box-shadow:
    0 0 20px #4af,
    inset 0 0 60px rgba(0,0,0,0.9);
  animation:pulse 1s ease-in-out infinite;
}
.no-data .ship-frame::before{
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,40,80,0.3) 100%),
    url(/content/f8e5737008d0a5adf9208a02310633d55b2a21247a392130fcea847551c992e9i0) repeat;
  background-size:100% 100%, 256px 256px;
  background-position:0% 0%, 0 100%;
  box-shadow:none;
  animation:moveBackgroundTwoLayers 30s linear infinite;
}

.ship-frame::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 40%, transparent 60%, rgba(255,255,255,0.05) 100%),
    linear-gradient(to bottom, #000000 0%, rgba(0,128,255,0.1) 100%),
    url(/content/f8e5737008d0a5adf9208a02310633d55b2a21247a392130fcea847551c992e9i0) repeat,
    radial-gradient(circle, transparent 30%, rgba(0,255,255,0.1) 70%);
  background-size: auto, auto, 256px 256px, auto;
  background-position: 0 0, 0 0, 0 100%, 0 0;
  box-shadow:
    0 0 20px #0af,
    inset 0 0 20px rgba(0,255,255,0.2);
  border-radius:6px;
  pointer-events:none;
  animation: moveBackground 30s linear infinite;
}

@keyframes moveBackground {
  0% {
    background-position: 0 0, 0 0, 0 0, 0 0;
  }
  25% {
    background-position: 0 0, 0 0, 256px -128px, 0 0;
  }
  50% {
    background-position: 0 0, 0 0, 512px -256px, 0 0;
  }
  75% {
    background-position: 0 0, 0 0, 768px -384px, 0 0;
  }
  100% {
    background-position: 0 0, 0 0, 1024px -512px, 0 0;
  }
}

@keyframes moveBackgroundTwoLayers {
  0% {
    background-position: 0 0, 0 0;
  }
  25% {
    background-position: 0 0, 256px -128px;
  }
  50% {
    background-position: 0 0, 512px -256px;
  }
  75% {
    background-position: 0 0, 768px -384px;
  }
  100% {
    background-position: 0 0, 1024px -512px;
  }
}

.card::before{
  content:'';
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(0,255,255,0.03) 10px, rgba(0,255,255,0.03) 20px);
  animation:scan 8s linear infinite;
  pointer-events:none;
}

@keyframes scan{
  0%{transform:translate(0,0)}
  100%{transform:translate(50px,50px)}
}

/* 128x128 */
@media (max-width:130px) and (max-height:130px){
  .card{
    background:none;
    border:none;
    box-shadow:none;
    padding:0;
  }
  .ship-frame{
    margin-bottom:-10px;
    border-radius:6px;
    padding:0px;
    position:relative;
    z-index:2;
    border:2px solid #4af;
    box-shadow:
      0 0 20px #4af,
      inset 0 0 60px rgba(0,0,0,0.9);
    animation:pulse 1s ease-in-out infinite;
  }
  
.ship-frame::before{
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.7) 0%, rgba(0,40,80,0.3) 100%),
    url(/content/f8e5737008d0a5adf9208a02310633d55b2a21247a392130fcea847551c992e9i0) repeat;
  background-size:100% 100%, 256px 256px;
  background-position:0% 0%, 0 100%;
  animation:moveBackgroundTwoLayers 30s linear infinite;
  box-shadow:none;
}
  
  #data{display:none}
  .link {
    font-weight:900;
    font-size:6.5vh;
  }
}