:root{
  --hy-lime:#b7ff2a;
  --hy-cyan:#20dfff;
  --hy-blue:#3568ff;
  --hy-magenta:#ff3bc8;
  --hy-orange:#ff8a24;
  --hy-ink:#030616;
}

#gamePage{
  display:none;position:fixed;inset:0;font-family:Inter,Arial,sans-serif;
  z-index:97!important;opacity:0;overflow:hidden;background:#020513!important;
  transition:opacity .55s ease!important;touch-action:none;user-select:none;-webkit-user-select:none;
}
#gamePage::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,transparent 34%,rgba(1,3,13,.28) 70%,rgba(0,0,0,.78) 116%);
}
#g3Cv{position:absolute;inset:0;width:100%;height:100%;z-index:1;touch-action:none;cursor:crosshair}
#g2Hud{position:absolute;inset:0;z-index:5;pointer-events:none;color:#fff;font-family:Inter,Arial,sans-serif}
.g2Top{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));display:flex;direction:ltr;justify-content:flex-start;align-items:flex-start;gap:12px}
.g2Panel{
  min-width:min(250px,39vw);padding:11px 14px 12px;border:1px solid rgba(255,255,255,.17);border-radius:17px;
  background:linear-gradient(145deg,rgba(6,14,37,.76),rgba(29,7,48,.64));backdrop-filter:blur(16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 16px 40px rgba(0,0,0,.25)
}
#gamePage[dir="rtl"] .g2Panel{direction:rtl}
.g2Line{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;color:#c7d6f4;font-weight:800}
.g2Line strong{color:#fff;font-size:13px;font-variant-numeric:tabular-nums}
.g2Bar{height:6px;margin-top:8px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.10)}
.g2Bar i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20dfff,#3568ff,#ff3bc8);box-shadow:0 0 18px rgba(32,223,255,.65);transition:width .18s ease}
.g2Bar.boss i{background:linear-gradient(90deg,#ff8a24,#ff3bc8,#b7ff2a);box-shadow:0 0 18px rgba(255,59,200,.55)}
.g2Mission{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);text-align:center;min-width:200px;text-shadow:0 3px 20px #000}
.g2Mission small{display:block;color:var(--hy-lime);font-size:10px;letter-spacing:.18em;font-weight:900}
.g2Mission b{display:block;color:#fff;font-size:clamp(14px,2.5vw,20px);line-height:1.6;font-weight:900}
#g2Boss{position:absolute;top:82px;left:50%;width:min(420px,64vw);transform:translateX(-50%);opacity:0;transition:opacity .35s ease}
#g2Boss.show{opacity:1}
.g2Load{
  position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));
  width:min(270px,42vw);padding:9px 12px;border:1px solid rgba(183,255,42,.24);border-radius:14px;
  background:rgba(3,8,26,.66);backdrop-filter:blur(14px)
}
.g2Load .g2Line{font-size:10px}.g2Load .g2Bar{height:4px;margin-top:6px}.g2Load .g2Bar i{width:0;background:linear-gradient(90deg,var(--hy-lime),var(--hy-cyan))}
#g2Tip{
  position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);
  padding:7px 13px;border-radius:99px;border:1px solid rgba(255,255,255,.13);background:rgba(3,8,25,.50);
  color:#d4ddf3;font-size:11px;font-weight:800;white-space:nowrap;backdrop-filter:blur(12px);transition:opacity .55s ease
}
#g2Skip{
  position:absolute;z-index:8;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));
  min-height:44px;padding:8px 17px;border-radius:99px;border:1px solid rgba(255,255,255,.22);cursor:pointer;
  color:#fff;background:linear-gradient(120deg,rgba(53,104,255,.42),rgba(255,59,200,.35));backdrop-filter:blur(14px);
  font:900 12px/1 Inter,Arial,sans-serif;box-shadow:inset 0 1px 0 rgba(255,255,255,.13);transition:transform .2s,box-shadow .2s
}
#g2Skip:hover,#g2Skip:focus-visible{transform:translateY(-2px);box-shadow:0 0 28px rgba(32,223,255,.34);outline:2px solid var(--hy-lime);outline-offset:2px}
#g2Status{
  position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);width:min(780px,88vw);
  text-align:center;color:#fff;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;text-shadow:0 4px 32px #000
}
#g2Status.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
#g2Status strong{display:block;font-size:clamp(28px,6vw,68px);line-height:1.22;font-weight:1000;background:linear-gradient(100deg,#fff 5%,#b7ff2a 40%,#20dfff 72%,#ff8a24);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(32,223,255,.28))}
#g2Status span{display:block;margin-top:8px;color:#d6e1f7;font-size:clamp(12px,2vw,18px);font-weight:800}
#g2Match{--core-x:50%;--core-y:52%;position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--core-x) var(--core-y),#fff 0,#b7ff2a 3%,rgba(32,223,255,.82) 9%,rgba(53,104,255,.36) 22%,transparent 54%);transform:scale(.12);transform-origin:var(--core-x) var(--core-y);transition:none}
#g2Match.go{animation:g2Handoff .95s cubic-bezier(.2,.75,.2,1) both}
@keyframes g2Handoff{0%{opacity:0;transform:scale(.12)}45%{opacity:1}100%{opacity:0;transform:scale(3.4)}}
body.gateway-active #rotatePage,body.game-active #rotatePage{display:none!important}

@media(max-width:760px){
  .g2Top{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}
  .g2Panel{min-width:145px;max-width:42vw;padding:8px 10px}.g2Mission{top:max(10px,env(safe-area-inset-top));max-width:34vw;min-width:0}.g2Mission b{font-size:12px}
  #g2Skip{top:auto;bottom:max(12px,env(safe-area-inset-bottom));right:max(10px,env(safe-area-inset-right))}
  .g2Load{display:none}#g2Tip{left:max(10px,env(safe-area-inset-left));transform:none;max-width:52vw;overflow:hidden;text-overflow:ellipsis}
  #g2Boss{top:68px;width:min(360px,70vw)}
}
@media(max-height:500px){
  .g2Top{top:max(6px,env(safe-area-inset-top))}.g2Panel{padding:6px 10px}.g2Mission{top:max(6px,env(safe-area-inset-top))}
  #g2Boss{top:54px}.g2Load{bottom:max(7px,env(safe-area-inset-bottom));padding:6px 9px}#g2Tip{bottom:max(8px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){
  #g2Match.go{animation:g2HandoffReduced .14s ease-out both}
  @keyframes g2HandoffReduced{0%{opacity:0}50%{opacity:.52}100%{opacity:0}}
}

#g3Cv:focus-visible{outline:2px solid rgba(244,240,232,.7);outline-offset:-5px}

#gamePage.boss-transformed #g2Boss .g2Bar i{background:linear-gradient(90deg,#ff8a24,#ffc83d);box-shadow:0 0 20px rgba(255,138,36,.48)}
#gamePage.boss-transformed .g2Mission b{color:#ffcd82}
#g2Defeat{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,5,15,.76);backdrop-filter:blur(10px);touch-action:auto}
#g2Defeat[hidden]{display:none}
.g2DefeatCard{width:min(470px,100%);padding:38px 30px;border:1px solid rgba(244,240,232,.22);border-radius:24px;background:#0d111b;color:#f4f0e8;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.g2DefeatCard h2{font:800 clamp(23px,4vw,34px)/1.45 Inter,Arial,sans-serif;margin:0 0 12px}
.g2DefeatCard p{font:500 14px/1.9 Inter,Arial,sans-serif;color:#c7c9cf;margin:0 0 26px}
.g2DefeatActions{display:flex;flex-direction:column;gap:12px}
.g2DefeatActions button{cursor:pointer;font:800 14px/1.5 Inter,Arial,sans-serif;min-height:48px;padding:12px 20px;border-radius:99px;border:1px solid rgba(244,240,232,.25);background:transparent;color:#f4f0e8}
.g2DefeatActions button:first-child{background:#f4f0e8;color:#0a0a0c;border-color:#f4f0e8}
.g2DefeatActions button:hover{transform:translateY(-1px);border-color:#ffc83d}
.g2DefeatActions button:focus-visible{outline:2px solid #ffc83d;outline-offset:4px}
@media(max-height:500px){.g2DefeatCard{padding:23px 26px;max-width:500px}.g2DefeatCard h2{font-size:25px;margin-bottom:6px}.g2DefeatCard p{font-size:12px;margin-bottom:16px}.g2DefeatActions{flex-direction:row}.g2DefeatActions button{flex:1;font-size:12px;min-height:44px;padding:8px 12px}}

/* Emergency form is earned by surviving at twenty percent shield. */
#g2Laser{position:absolute;z-index:6;left:max(15px,env(safe-area-inset-left));top:158px;width:150px;padding:10px 13px;border:1px solid rgba(143,210,77,.5);border-radius:13px;background:rgba(7,17,21,.8);color:#d6eabd;font:600 9px/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;pointer-events:none}
#g2Laser[hidden]{display:none}#g2Laser strong{float:right;font-size:8px;color:#fff8d6;letter-spacing:0}#g2Laser i{display:block;clear:both;height:3px;background:rgba(244,240,232,.13);margin-top:8px;border-radius:5px;overflow:hidden}#g2Laser b{display:block;height:100%;background:linear-gradient(90deg,#8fd24d,#ffc83d);box-shadow:0 0 12px #8fd24d}
#gamePage.player-transformed #g2Shield{background:linear-gradient(90deg,#e9475f,#ffc83d)}
@media(max-width:700px){#g2Laser{top:auto;bottom:74px;left:13px;width:140px;padding:8px 10px}}
@media(max-height:520px) and (min-width:600px){#g2Laser{top:112px;width:140px;padding:7px 10px}}
