:root{--acid:#dfff00;--cyan:#4de6ff;--ink:#080a0d;--panel:#11161b;--line:#303941;--muted:#98a2aa}*{box-sizing:border-box}body{margin:0;background:#080a0d;color:#f5f7f8;font-family:Arial,sans-serif;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:28px 28px}.topbar{height:68px;padding:0 max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;background:#080a0df2;border-bottom:1px solid #252a30;position:sticky;top:0;z-index:10}.brand{color:#fff;text-decoration:none;font-weight:950;font-size:22px}.brand span{color:var(--acid)}.brand small{font-size:10px;color:#75808a}.topbar nav{display:flex;gap:5px}.topbar nav a{color:#aeb6bd;text-decoration:none;font:900 11px Arial;padding:11px 14px}.topbar nav a.active,.topbar nav a:hover{background:var(--acid);color:#080a0d}main{width:min(1280px,calc(100% - 40px));margin:auto;padding:28px 0 70px}.hero{min-height:330px;padding:50px 55px;border:1px solid #343c44;background:radial-gradient(circle at 85% 20%,rgba(77,230,255,.15),transparent 28%),linear-gradient(125deg,#151a20,#090b0e);display:flex;align-items:end;justify-content:space-between;gap:35px}.hero p:first-child{color:var(--acid);font:800 10px monospace;letter-spacing:2px}.hero h1{margin:14px 0 0;font-size:clamp(50px,7vw,90px);line-height:.82;letter-spacing:-5px}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--cyan)}.hero-copy{max-width:470px;color:#aeb6bd;line-height:1.6}.status{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.status span,.tag{padding:7px 9px;border:1px solid #3c454c;color:#aab4bb;font:800 8px monospace}.status span:first-child{border-color:var(--acid);color:var(--acid)}.section-title{margin:42px 0 16px}.section-title small{color:var(--acid);font:800 9px monospace;letter-spacing:2px}.section-title h2{font-size:30px;margin:6px 0}.overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.info{border:1px solid var(--line);background:#11161b;padding:18px}.info small,.info strong{display:block}.info small{color:#89949c;font:800 8px monospace}.info strong{color:var(--cyan);font-size:21px;margin-top:7px}.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.stage{border:1px solid var(--line);background:linear-gradient(145deg,#151b20,#0b0e11);padding:22px}.stage.featured{border-color:#71651e}.stage-head{display:flex;justify-content:space-between;gap:12px}.stage h3{font-size:22px;margin:0}.stage-head b{color:var(--acid);font:900 9px monospace}.stage p{color:#adb5bb;font-size:13px;line-height:1.6}.weakness{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.weakness span{padding:6px 8px;background:#0a0d10;border:1px solid #38434b;font:900 8px monospace}.weakness .weak{border-color:#4d8190;color:var(--cyan)}.weakness .resist{border-color:#7d3d3d;color:#ff8c8c}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.agent{text-align:center;color:#fff;text-decoration:none;border:1px solid #303941;background:#090c0f;padding:7px;min-width:0}.agent img{width:100%;height:100px;object-fit:contain;object-position:center bottom}.agent b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.agent:hover{border-color:var(--acid)}.tip{border-left:3px solid var(--cyan);background:#11161b;padding:16px;margin-top:14px;color:#aeb6bd;line-height:1.55;font-size:13px}.back{display:block;width:max-content;margin:30px auto 0;padding:13px 20px;border:1px solid var(--acid);color:var(--acid);text-decoration:none;font-weight:900}@media(max-width:760px){.topbar{height:auto;padding:12px 16px;flex-wrap:wrap}.topbar nav a{padding:8px}.hero{padding:35px 24px;display:block;min-height:auto}.hero-copy{margin-top:22px}.overview,.stage-grid{grid-template-columns:1fr}.agent img{height:88px}}@media(max-width:430px){main{width:calc(100% - 22px)}.hero h1{letter-spacing:-3px}.team{gap:4px}.agent{padding:4px}.agent img{height:75px}.agent b{font-size:8px}}
/* Head-only team portraits for Shiyu Defense and Deadly Assault. */
.team .agent img{
  width:82px;
  height:82px;
  max-width:100%;
  margin:0 auto 6px;
  display:block;
  object-fit:cover;
  object-position:center 15%;
  border:2px solid #3c4952;
  border-radius:50%;
  background:#182028
}
.team .agent:hover img{border-color:var(--acid)}
@media(max-width:430px){.team .agent img{width:68px;height:68px}}

/* Compact squad strip: circular avatar, name/role and cyan separators. */
.team{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.team .agent{
  position:relative;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:9px;
  align-items:center;
  padding:5px 0;
  border:0;
  background:transparent;
  text-align:left
}
.team .agent img{
  grid-row:1/3;
  width:64px;
  height:64px;
  margin:0;
  border-color:#68737c
}
.team .agent b{
  align-self:end;
  white-space:normal;
  overflow:visible;
  color:#fff;
  font-size:11px;
  line-height:1.05
}
.team .agent small{
  align-self:start;
  margin-top:3px;
  color:#78858f;
  font:700 7px monospace;
  text-transform:uppercase;
  letter-spacing:.5px
}
.team .agent:not(:last-child)::after{
  content:"+";
  position:absolute;
  right:-14px;
  top:50%;
  translate:0 -50%;
  color:var(--cyan);
  font:950 18px monospace
}
@media(max-width:520px){
  .team{gap:12px}
  .team .agent{grid-template-columns:48px minmax(0,1fr);column-gap:6px}
  .team .agent img{width:48px;height:48px}
  .team .agent b{font-size:9px}
  .team .agent small{font-size:6px}
  .team .agent:not(:last-child)::after{right:-10px;font-size:15px}
}
