@keyframes smoothflash {
  0% {
    background-color: #440; }
  50% {
    background-color: #990; }
  100% {
    background-color: #440; } }
@keyframes roughflash {
  0% {
    background-color: #880; }
  49.9% {
    background-color: #880; }
  50% {
    background-color: #FF0; }
  100% {
    background-color: #FF0; } }
@keyframes textflash {
  0% {
    color: #000; }
  49.9% {
    color: #000; }
  50% {
    color: #0FF; }
  100% {
    color: #0FF; } }
body,
html {
  margin: 0;
  padding: 0;
  font-family: sans-serif; }

#gmtxt {
  position: absolute;
  text-align: center;
  padding: 1.1em 1em .5em 1em;
  font-weight: bold;
  font-family: monospace;
  right: -1vw;
  top: -4em;
  font-size: 3vh;
  background: #222;
  border: #F0F solid 2px;
  color: #0CC;
  border-radius: 1vw;
  transition: top 1s; }
  #gmtxt b {
    color: #6FF;
    font-size: 130%; }

#gmtxt.active {
  top: -.5em; }

#top {
  position: relative;
  width: 100vw;
  height: 100vh;
  margin: 0;
  height: 100vh;
  color: #FFF;
  background: #000;
  font-size: 5vmin;
  overflow: hidden; }

#meta {
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #FFF;
  z-index: 100;
  transition: left 1s, right 1s; }
  #meta #tit {
    filter: url("#blur");
    width: 100%;
    height: 40vh; }
    #meta #tit text {
      fill: #088;
      stroke: #0FF;
      stroke-width: 1;
      font-size: 10vh;
      font-family: sans-serif; }
    #meta #tit text#back {
      fill: #808;
      stroke: #F0F;
      stroke-width: 1;
      font-size: 6vh;
      font-family: sans-serif;
      transform: rotate(-15deg); }
  #meta pre {
    z-index: 200;
    display: block;
    position: absolute;
    transform: rotate(10deg);
    right: 0;
    top: 3vh;
    margin: 1em;
    padding: 1em;
    border: 5px ridge #AAA;
    color: #000;
    background: #999;
    font-size: 2vh; }
    #meta pre a {
      color: #FFF;
      font-weight: bold; }
  #meta.ded {
    left: -120vw;
    right: 120vw; }
  #meta #gtb {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; }
    #meta #gtb a {
      border: 3px outset #AAA;
      border-radius: 1em;
      flex: none;
      display: inline-block;
      width: 23vw;
      height: 23vh;
      margin: 1vh 1vw 1vh 1vw;
      text-decoration: none;
      color: #FFF; }
      #meta #gtb a h3 {
        text-align: center;
        margin: .5em; }
        #meta #gtb a h3 b {
          color: #F00; }
        #meta #gtb a h3 i {
          color: #0F0; }
      #meta #gtb a span {
        display: block;
        padding: 1em;
        text-align: center; }
        #meta #gtb a span b {
          color: #F00; }
      #meta #gtb a.dis {
        opacity: .4;
        pointer-events: none; }

#world {
  width: 100%;
  height: 100%; }

#ols {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 12vh;
  font-family: sans-serif;
  background: rgba(0, 0, 0, 0.6);
  transition: background 1s; }
  #ols div.scob.ob {
    width: 20vh !important; }
  #ols div.otob.ob {
    width: 50vh !important;
    font-size: 3vh;
    opacity: 0; }
  #ols div.otob.ob.flash {
    animation: smoothflash 1s infinite;
    opacity: 1; }
  #ols div.mapob.ob {
    width: 30vw !important;
    height: 7vh !important;
    padding: 0; }
    #ols div.mapob.ob svg g.lmap {
      fill: #999; }
    #ols div.mapob.ob svg g.dot.ded {
      fill-opacity: .2; }
    #ols div.mapob.ob svg g.dot {
      fill: #0FF; }
    #ols div.mapob.ob svg g.dot.enemy {
      fill: #F0F; }
  #ols div.ob {
    position: relative;
    border: #888 3px ridge;
    border-radius: 1rem;
    color: #FFF;
    background: rgba(0, 0, 0, 0.3);
    display: inline-block;
    margin: 1vh;
    padding: 1vh;
    font-size: 1.5vh;
    font-variant: small-caps;
    text-align: center;
    transition: width 1s,border-radius 1s;
    overflow: hidden;
    width: 8vh;
    height: 7vh; }
    #ols div.ob label {
      z-index: 2;
      position: relative; }
    #ols div.ob #sctxt,
    #ols div.ob .ot {
      padding: 0;
      margin: 0;
      font-size: 250%;
      z-index: 2;
      position: relative; }
    #ols div.ob .of {
      z-index: 1;
      position: absolute;
      top: 40%;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 0; }
    #ols div.ob #lf {
      background: #099; }
    #ols div.ob #ff {
      background: #009; }
    #ols div.ob #bf {
      background: #909; }
    #ols div.ob #gf {
      background: #666; }

svg path {
  transition: stroke-width 2s, stroke-opacity 3s, fill-opacity 3s, stroke 1s, fill 2s; }
svg #land {
  stroke: none; }
svg #land path.l1 {
  fill-opacity: 0;
  fill: #fff; }
svg #land path.l2 {
  fill-opacity: 0;
  fill: #fff; }
svg #land path.l3 {
  fill-opacity: 1;
  stroke-width: 5;
  stroke: #0F0;
  fill: url(#hatch); }
svg .bmain {
  stroke: #FAA;
  stroke-linecap: round;
  stroke-width: 10;
  fill: none; }
svg .bsec {
  stroke: #FF0;
  stroke-width: 10;
  fill: none; }
svg g.stb.ded {
  opacity: 0.8; }
svg .stripes {
  stroke: #BFF;
  stroke-linecap: butt;
  fill: none;
  stroke-width: 1.5; }
svg .istripes {
  stroke: #F68;
  stroke-linecap: butt;
  fill: none;
  stroke-width: 1.5; }
svg .bod {
  stroke: #2FF;
  stroke-width: 3;
  fill: #277;
  stroke-linejoin: bevel; }
svg .bld {
  stroke: #2FF;
  stroke-width: 5;
  fill: #277;
  stroke-linejoin: bevel; }
svg .ibod {
  stroke: #D25;
  stroke-width: 3;
  fill: #713; }
svg .whl {
  stroke: #999;
  stroke-width: 5;
  fill: #333; }
svg g.enemy .stripes {
  stroke: #9DF; }
svg g.enemy .istripes {
  stroke: #1FB; }
svg g.enemy .bld {
  stroke: #F1F;
  fill: #727; }
svg g.enemy .bod {
  stroke: #F1F;
  fill: #727; }
svg g.enemy .bld {
  stroke: #F1F;
  fill: #727; }
svg g.enemy .ibod {
  stroke: #6BF;
  fill: #29B; }

div.y84 #ols {
  font-family: monospace;
  background: black; }
  div.y84 #ols div.ob {
    border: #000 solid 3px;
    border-radius: 0;
    padding: 0;
    text-transform: uppercase;
    width: 4px; }
    div.y84 #ols div.ob label, div.y84 #ols div.ob .ot {
      opacity: 0; }
  div.y84 #ols div.otob.ob.flash {
    animation: textflash 1s infinite; }
div.y84 svg .stripes {
  stroke: #6FF;
  stroke-width: 9; }
div.y84 svg .istripes {
  stroke: #F6F;
  stroke-width: 9; }
div.y84 svg .bod {
  stroke-opacity: 0;
  fill-opacity: 0; }
div.y84 svg .bld {
  stroke: #6FF;
  stroke-width: 1;
  fill: #6FF; }
div.y84 svg #land {
  stroke: none; }
div.y84 svg #land path.l1 {
  fill-opacity: 1; }
div.y84 svg #land path.l2 {
  fill-opacity: 0; }
div.y84 svg #land path.l3 {
  fill-opacity: 0;
  stroke-opacity: 0; }
div.y84 svg .ibod {
  stroke-opacity: 0;
  fill-opacity: 0; }
div.y84 svg .whl {
  stroke-opacity: 0;
  fill-opacity: 0; }
div.y84 svg .bmain {
  stroke: #0FF;
  stroke-linecap: butt; }
div.y84 svg .bsec {
  stroke-opacity: 0; }
div.y84 svg g.enemy .stripes {
  stroke: #F6F; }
div.y84 svg g.enemy .istripes {
  stroke: #6FF; }
div.y84 svg g.enemy .bld {
  stroke: #F6F;
  stroke-width: 1;
  fill: #F6F; }

div.y88 #ols {
  font-family: monospace;
  background: black; }
  div.y88 #ols div.ob {
    border: #888 3px inset;
    border-radius: 0;
    width: 2vh; }
    div.y88 #ols div.ob .ot {
      font-size: 150%; }
    div.y88 #ols div.ob label {
      opacity: 0; }
  div.y88 #ols div.otob.ob.flash {
    animation: roughflash 1s infinite;
    color: #000; }
div.y88 svg .stripes {
  stroke: #6FF;
  stroke-width: 5; }
div.y88 svg .istripes {
  stroke: #F6F;
  stroke-width: 5; }
div.y88 svg .bod {
  stroke: none;
  fill: #0FF; }
div.y88 svg .bld {
  stroke: none;
  fill: #0FF; }
div.y88 svg .ibod {
  stroke: none;
  fill: #713; }
div.y88 svg #land {
  stroke: none; }
div.y88 svg #land path.l1 {
  fill-opacity: 0; }
div.y88 svg #land path.l2 {
  fill-opacity: 1; }
div.y88 svg #land path.l3 {
  fill-opacity: 0;
  stroke-opacity: 0; }
div.y88 svg .whl {
  fill-opacity: 0; }
div.y88 svg .bmain {
  stroke: #F00; }
div.y88 svg .bsec {
  stroke: #700; }
div.y88 svg g.enemy .stripes {
  stroke: #F6F; }
div.y88 svg g.enemy .istripes {
  stroke: #6FF; }
div.y88 svg g.enemy .bod {
  stroke: none;
  fill: #F0F; }
div.y88 svg g.enemy .bld {
  stroke: none;
  fill: #F0F; }
div.y88 svg g.enemy .ibod {
  stroke: none;
  fill: #317; }

div.y04 #ols {
  background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8)); }
  div.y04 #ols div.ob {
    border: #rgba 200, 200, 200, 0.5 3px ridge; }
div.y04 svg g.plane.b1 {
  filter: url("#blurs"); }
div.y04 svg g.bullet, div.y04 svg g.shrap, div.y04 svg g.bomb, div.y04 svg g.plane.b2 {
  filter: url("#blurm"); }
div.y04 svg .bod {
  fill: url(#bodgrd);
  stroke: url(#bodgrd); }
div.y04 svg .bld {
  fill: url(#bldgrd);
  stroke: url(#bldgrd); }
div.y04 svg .whl {
  stroke: rgba(255, 255, 255, 0.8);
  stroke-width: 5;
  fill: rgba(192, 192, 192, 0.4); }
div.y04 svg #land path.l3 {
  fill: url(#lgrd);
  stroke: rgba(100, 250, 0, 0.3); }
div.y04 svg g.enemy .bod {
  fill: url(#ebodgrd);
  stroke: url(#ebodgrd); }
div.y04 svg g.enemy .bld {
  fill: url(#ebldgrd);
  stroke: url(#ebldgrd); }

/*# sourceMappingURL=style.css.map */
