:root {
  color-scheme: dark;
  --ink:#071015;
  --panel:#10232b;
  --panel2:#17343b;
  --line:#4d8990;
  --cyan:#82f2e9;
  --lime:#d3f36a;
  --yellow:#ffd76b;
  --red:#ff796b;
  --muted:#91adb0;
  font-family:"ZCOOL QingKe HuangYou", "Microsoft YaHei", sans-serif;
  background:#071014;
  color:#e9fff4;
}
* {
  box-sizing:border-box;
}
body {
  min-height:100vh;
  margin:0;
  display:grid;
  place-items:center;
  overflow-x:hidden;
  background-color:#09151a;
  background-image:linear-gradient(90deg,#ffffff05 1px,transparent 1px),linear-gradient(#ffffff05 1px,transparent 1px),radial-gradient(ellipse at 50% 40%,#1c3940 0,#0b191e 46%,#050b0f 100%);
  background-size:12px 12px,12px 12px,auto;
}
body:before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background:repeating-linear-gradient(0deg,transparent 0 3px,#000 3px 4px);
  mix-blend-mode:multiply;
}
.game-shell {
  width:min(1120px,100vw);
  padding:18px 10px 16px;
}
.hud {
  position:relative;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
  background:#0a191f;
  border:3px solid #3d6f77;
  box-shadow:inset 0 0 0 3px #132d35,inset 0 0 0 6px #0a1115,6px 6px 0 #030607,0 0 22px #3fd0ca38;
  clip-path:polygon(0 8px,8px 8px,8px 0,calc(100% - 8px) 0,calc(100% - 8px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 8px) calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 8px),0 calc(100% - 8px));
}
.hud:after {
  content:"SYSTEM // SURVIVOR_01";
  position:absolute;
  right:16px;
  top:5px;
  color:#5f8588;
  font:6px "Press Start 2P",monospace;
  letter-spacing:1px;
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  line-height:.9;
}
.brand-mark {
  color:var(--lime);
  font-size:35px;
  text-shadow:3px 3px 0 #405918,0 0 14px #ccf25c;
  filter:contrast(1.3);
}
small,.eyebrow {
  color:#75bbc0;
  font:8px "Press Start 2P",monospace;
  letter-spacing:1px;
  text-transform:uppercase;
}
h1,h2,h3,h4,strong {
  margin:0;
  font-family:"ZCOOL QingKe HuangYou","Microsoft YaHei",sans-serif;
  letter-spacing:1px;
}
h1 {
  margin-top:5px;
  color:#ecfff3;
  font-size:29px;
  text-shadow:2px 2px #14272c;
}
.stats {
  display:flex;
  align-self:stretch;
  align-items:center;
  gap:6px;
  padding-top:7px;
}
.stat {
  position:relative;
  min-width:61px;
  height:53px;
  padding:7px 8px 3px;
  text-align:right;
  border:2px solid #315e66;
  background:linear-gradient(135deg,#142d34,#0c1c22);
  box-shadow:inset 0 0 0 2px #091419;
}
.stat:before {
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:5px;
  height:5px;
  background:#5dc9c0;
  box-shadow:0 0 7px #66e8da;
}
.stat span {
  display:block;
  color:#80a5a7;
  font-size:11px;
}
.stat strong {
  color:var(--lime);
  font-family:"Press Start 2P",monospace;
  font-size:15px;
  line-height:23px;
  text-shadow:1px 1px #50651c;
}
.canvas-wrap {
  position:relative;
  margin-top:10px;
  overflow:hidden;
  border:4px solid #385f65;
  background:#061013;
  box-shadow:0 0 0 3px #0a1317,0 0 0 6px #1b3940,8px 8px 0 #030607,0 22px 55px #000c;
}
.canvas-wrap:before,.canvas-wrap:after {
  content:"";
  position:absolute;
  z-index:5;
  width:18px;
  height:18px;
  pointer-events:none;
  border-color:#9bf7eb;
}
.canvas-wrap:before {
  left:-4px;
  top:-4px;
  border-left:4px solid;
  border-top:4px solid
}
.canvas-wrap:after {
  right:-4px;
  bottom:-4px;
  border-right:4px solid;
  border-bottom:4px solid
}
canvas {
  display:block;
  width:100%;
  height:auto;
  background:#182321;
  image-rendering:pixelated;
}
.xp-hud {
  position:absolute;
  z-index:2;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(480px,68%);
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 8px;
  border:2px solid #456f74;
  background:#07151add;
  box-shadow:inset 0 0 0 2px #142d31,3px 3px 0 #05090b;
  color:#e7ffab;
  font:9px "Press Start 2P",monospace;
  text-shadow:1px 1px #1c361d;
}
.xp-track {
  position:relative;
  flex:1;
  height:13px;
  border:2px solid #6ead90;
  background:#071115;
  box-shadow:inset 0 0 0 2px #13282c;
  overflow:hidden;
}
.xp-track:after {
  content:"";
  position:absolute;
  inset:0;
  opacity:.4;
  background:repeating-linear-gradient(90deg,transparent 0 16px,#a7edb849 16px 18px);
}
.xp-fill {
  height:100%;
  width:0%;
  background:repeating-linear-gradient(90deg,#65cfe8 0 8px,#93f1d3 8px 16px);
  box-shadow:0 0 8px #66e5df;
  transition:width .14s;
}
#xp-label {
  min-width:65px;
  color:#d8e9d2;
  font-size:7px;
}
.overlay,.level-panel {
  position:absolute;
  inset:0;
  z-index:6;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:linear-gradient(90deg,#061116f2,#0b2023e6,#061116f2);
  transition:opacity .2s;
}
.overlay:before,.level-panel:before {
  content:"";
  position:absolute;
  inset:13px;
  pointer-events:none;
  border:2px solid #3d7377;
  box-shadow:inset 0 0 0 2px #102c31;
  clip-path:polygon(0 10px,10px 10px,10px 0,calc(100% - 10px) 0,calc(100% - 10px) 10px,100% 10px,100% calc(100% - 10px),calc(100% - 10px) calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,10px calc(100% - 10px),0 calc(100% - 10px));
}
.overlay.hidden,.level-panel.hidden {
  pointer-events:none;
  opacity:0;
}
.overlay h2,.level-panel h2 {
  position:relative;
  color:#efffe7;
  font-size:58px;
  line-height:1;
  text-shadow:4px 4px #12282a,0 0 14px #95eed2;
}
.overlay p:not(.eyebrow),.level-panel>p:not(.eyebrow) {
  position:relative;
  color:#afc9c2;
  max-width:450px;
  margin:12px 0 23px;
  font-size:15px;
}
.danger {
  color:#ff8b78;
}
button {
  position:relative;
  border:2px solid #b9e56c;
  padding:12px 18px;
  color:#12200f;
  background:#bee75a;
  box-shadow:inset -3px -3px 0 #789d2d,inset 3px 3px 0 #edff9b,4px 4px 0 #07100a;
  font-family:"ZCOOL QingKe HuangYou","Microsoft YaHei",sans-serif;
  font-weight:700;
  font-size:15px;
  cursor:pointer;
  transition:transform .08s,filter .08s;
}
button:hover {
  filter:brightness(1.14);
  transform:translate(-1px,-1px);
}
button:active {
  transform:translate(3px,3px);
  box-shadow:inset 2px 2px 0 #789d2d,1px 1px 0 #07100a;
}
button span {
  margin-left:13px;
  font:11px "Press Start 2P",monospace;
}
.help {
  position:absolute;
  bottom:24px;
  color:#76999a !important;
  font:7px "Press Start 2P",monospace !important;
  margin:0!important;
}
.terminal-back {
  margin-top:11px;
  padding:7px 13px;
  color:#b7d7d3;
  background:#153037;
  border-color:#5a9495;
  box-shadow:inset -2px -2px #0b1d22,inset 2px 2px #2c5559,3px 3px #040809;
  font-size:12px;
}
.stage-select {
  position:relative;
  display:flex;
  gap:12px;
  margin:-3px 0 20px;
}
.stage-choice {
  width:204px;
  min-height:80px;
  padding:10px 12px;
  text-align:left;
  color:#b4d3ca;
  background:#10282c;
  border-color:#477b7d;
  box-shadow:inset -3px -3px #07161a,inset 3px 3px #23474b,4px 4px #050a0c;
}
.stage-choice:before {
  content:"MODE";
  display:block;
  color:#609b9c;
  font:6px "Press Start 2P",monospace;
  margin-bottom:4px;
}
.stage-choice b {
  display:inline-block;
  color:#8ee6db;
  margin-right:9px;
  font:20px "Press Start 2P",monospace;
}
.stage-choice span {
  color:#ecfff4;
  font-size:15px;
}
.stage-choice small {
  display:block;
  margin:6px 0 0 35px;
  color:#7fa5a3;
  font:7px "Press Start 2P",monospace;
  letter-spacing:0;
}
.stage-choice.selected {
  border-color:#d5f66b;
  background:#21391f;
  box-shadow:inset -3px -3px #101c10,inset 3px 3px #3c682d,0 0 14px #b7ed4a66,4px 4px #050a0c;
}
.stage-choice.selected b {
  color:#e5ff76;
}
.hard-mode.selected {
  border-color:#ff9279;
  background:#3a211e;
  box-shadow:inset -3px -3px #1b0d0c,inset 3px 3px #6e3930,0 0 14px #ff6b5166,4px 4px #050a0c;
}
.hard-mode.selected b {
  color:#ffad8c;
}
.level-panel {
  z-index:8;
  background:radial-gradient(circle at 50%,#1e3933f5,#071216f4);
}
.level-panel h2 {
  font-size:51px;
}
.upgrade-choices {
  position:relative;
  display:flex;
  gap:12px;
  max-width:940px;
  padding:0 18px;
}
.upgrade-choice {
  width:270px;
  min-height:180px;
  padding:17px;
  text-align:left;
  color:#e9f5df;
  background:#10262a;
  border-color:#5b9694;
  box-shadow:inset -4px -4px #071418,inset 4px 4px #21474a,5px 5px #04080a;
}
.upgrade-choice:before {
  content:"UPGRADE // SELECT";
  display:block;
  color:#79bbb7;
  font:6px "Press Start 2P",monospace;
  margin-bottom:9px;
}
.upgrade-choice:hover {
  background:#18363a;
  border-color:#e0fb79;
}
.upgrade-icon {
  display:inline-block;
  padding:5px 6px;
  color:#c8f565;
  border:1px solid #91bc61;
  background:#182f26;
  font:12px "Press Start 2P",monospace;
}
.upgrade-choice h3 {
  margin:11px 0 7px;
  color:#f2ffee;
  font-size:25px;
}
.upgrade-choice p {
  margin:0;
  color:#a9c0b9;
  font-size:13px;
  line-height:1.45;
}
.upgrade-star {
  display:block;
  margin-top:15px;
  color:#ffdb69;
  font:10px "Press Start 2P",monospace;
  letter-spacing:1px;
}
.upgrade-legend {
  position:relative;
  display:flex;
  gap:15px;
  align-items:center;
  margin:-7px 0 16px;
  color:#87aead;
  font:7px "Press Start 2P",monospace;
}
.upgrade-legend .legend-skill {
  color:#79e9ec
}
.upgrade-legend .legend-stat {
  color:#d4f474
}
.upgrade-legend .legend-base {
  color:#ffcb74
}
.upgrade-slot {
  float:right;
  color:#bad2cf;
  font:9px "Press Start 2P",monospace;
}
.upgrade-kind {
  display:block;
  width:max-content;
  margin:0 0 8px;
  padding:4px 5px;
  color:#67e4e6;
  border:1px solid #4e8f94;
  background:#102d33;
  font:7px "Press Start 2P",monospace;
}
.upgrade-category {
  display:inline-block;
  margin-left:7px;
  color:#96b6b3;
  font-size:12px;
  vertical-align:middle;
}
.upgrade-choice p b {
  color:#e2ffb0;
}
.upgrade-skill {
  border-color:#54aeb3;
}
.upgrade-skill .upgrade-icon {
  color:#79f0ee;
  border-color:#57a6aa;
  background:#102e35;
}
.upgrade-stat {
  border-color:#a8c967;
}
.upgrade-stat .upgrade-kind {
  color:#d5f475;
  border-color:#9dbb62;
  background:#26351d;
}
.upgrade-stat .upgrade-icon {
  color:#d9f877;
  border-color:#9dbb62;
  background:#24351c;
}
.upgrade-base {
  border-color:#bd9563;
}
.upgrade-base .upgrade-kind {
  color:#ffd176;
  border-color:#b88b59;
  background:#382d1d;
}
.upgrade-base .upgrade-icon {
  color:#ffcf76;
  border-color:#b88b59;
  background:#382d1d;
}
.tech-resource-bar {
  position:relative;
  display:flex;
  gap:8px;
  margin:-7px 0 17px;
  padding:8px;
  border:2px solid #5b8588;
  background:#0b1b20;
  box-shadow:inset 0 0 0 2px #142d31;
  font:9px "Press Start 2P",monospace;
}
.tech-resource-bar span {
  min-width:116px;
  padding:6px 9px;
  color:#a9c8c4;
  border:1px solid #315e63;
  background:#132a2e;
}
.tech-resource-bar span:nth-child(1) b {
  color:#d7a86a;
}
.tech-resource-bar span:nth-child(2) b {
  color:#ff8580;
}
.tech-resource-bar span:nth-child(3) b {
  color:#a6d9e9;
}
.tech-resource-bar b {
  float:right;
  color:#eaff9c;
}
.tech-choices .upgrade-choice {
  min-height:210px;
}
.tech-health {
  border-color:#d87770;
}
.tech-attack {
  border-color:#d7c15e;
}
.tech-weapon {
  border-color:#68b8ca;
}
.tech-cost {
  display:block;
  margin-top:10px;
  color:#a8c5bd;
  font:7px "Press Start 2P",monospace;
  line-height:1.6;
}
.tech-cost.ready {
  color:#e5ff82;
}
.tech-cost.locked {
  color:#f5977c;
}
.tech-panel-actions {
  margin-top:10px;
}
.tech-panel-actions .terminal-back {
  margin-top:0;
}
.tech-reset-button {
  padding:7px 13px;
  font-size:12px;
}
.tech-reset-button.armed {
  color:#fff0b0;
  border-color:#ffb45f;
  background:#562a20;
  animation:roadPulse .7s steps(2,end) infinite;
}
.equipment-panel>p:not(.eyebrow) {
  max-width:570px;
  margin-bottom:17px;
}
.equipment-resource-bar span {
  min-width:145px;
}
.equipment-resource-bar span:nth-child(2) b {
  color:#a6d9e9;
}
.equipment-choices {
  gap:18px;
}
.equipment-choice {
  width:330px;
  min-height:238px;
}
.equipment-choice:before {
  content:"EQUIPMENT // UNLOCK";
}
.equipment-choice.unlocked-card {
  border-color:#72e0c7;
  background:#15342f;
  box-shadow:inset -4px -4px #071714,inset 4px 4px #24584d,0 0 14px #58d5bd3d,5px 5px #04080a;
}
.equipment-type {
  color:#8fe7dc;
}
.medical-choice {
  border-color:#65b88b;
}
.super-choice {
  border-color:#d9bd58;
}
.equipment-status {
  display:block;
  margin-top:13px;
  padding:8px 9px;
  color:#f39a80;
  border:1px solid currentColor;
  background:#091417;
  font:8px "Press Start 2P",monospace;
  line-height:1.5;
}
.equipment-status.ready {
  color:#e6ff7c;
}
.equipment-status.unlocked {
  color:#78e5d1;
}
.equipment-status.unlocked:before {
  content:"UNLOCKED // ";
}
.mission-exit {
  position:absolute;
  z-index:4;
  top:17px;
  right:18px;
  padding:8px 10px;
  color:#ffd2c8;
  background:#3a1f20dd;
  border-color:#d86e65;
  box-shadow:inset -2px -2px #1b0c0d,inset 2px 2px #6a3533,3px 3px #050708;
  font-size:12px;
}
.mission-exit kbd {
  margin-left:8px;
  color:#ffd9a0;
  border-color:#9f6654;
  background:#281818;
}
.mission-exit.hidden {
  display:none;
}
.wave-skip {
  position:absolute;
  z-index:4;
  top:58px;
  right:18px;
  min-width:126px;
  padding:8px 10px;
  color:#dfffa2;
  background:#17302edd;
  border-color:#7cae73;
  box-shadow:inset -2px -2px #0b1918,inset 2px 2px #315951,3px 3px #050708;
  font-size:12px;
}
.wave-skip span {
  margin:0;
  font:700 12px "ZCOOL QingKe HuangYou","Microsoft YaHei",sans-serif;
}
.wave-skip kbd {
  margin-left:8px;
}
.wave-skip.hidden {
  display:none;
}
.item-dock {
  position:absolute;
  z-index:4;
  right:18px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  width:174px;
}
.item-dock.hidden {
  display:none;
}
.item-button {
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:51px;
  padding:7px 9px;
  color:#dff7ef;
  text-align:left;
  background:#10262bdd;
  border-color:#4d8588;
  box-shadow:inset -2px -2px #071318,inset 2px 2px #21464a,3px 3px #030708;
}
.item-button.hidden {
  display:none;
}
.item-button kbd {
  flex:0 0 27px;
  padding:7px 0;
  color:#0f1d18;
  text-align:center;
  background:#d9f66f;
  border:2px solid #f0ffa1;
  box-shadow:inset -2px -2px #7c9d36;
}
.item-button span {
  display:block;
  margin:0;
  font-family:"ZCOOL QingKe HuangYou","Microsoft YaHei",sans-serif;
}
.item-button b {
  display:block;
  color:#efffe8;
  font-size:15px;
}
.item-button small {
  display:block;
  margin-top:4px;
  color:#82aaa9;
  font:6px "Press Start 2P",monospace;
}
.medical-item {
  border-color:#69be91;
}
.super-item {
  border-color:#d5bc5c;
}
.super-item.active {
  border-color:#fff078;
  background:#4a421bdd;
  box-shadow:inset -2px -2px #211a08,inset 2px 2px #776b28,0 0 17px #ffe55d88,3px 3px #030708;
}
.super-item.active small {
  color:#fff18a;
}
.item-button:disabled {
  opacity:.55;
}
.panel-actions {
  position:relative;
  display:flex;
  gap:10px;
  align-items:center;
}
.danger-button {
  color:#efaaa0;
  border-color:#a75c57;
  background:#382124;
  box-shadow:inset -2px -2px #190c0e,inset 2px 2px #613438,3px 3px #040809;
}
.stage-clear-panel {
  background:radial-gradient(circle at 50%,#183a36f5,#061116f7 70%);
}
.stage-clear-panel:after {
  content:"MISSION CONTROL // AWAITING COMMAND";
  position:absolute;
  bottom:24px;
  right:32px;
  color:#527f80;
  font:6px "Press Start 2P",monospace;
}
.stage-clear-panel h2 {
  color:#efffbd;
  text-shadow:4px 4px #173026,0 0 18px #cdec5d;
}
.stage-clear-readout {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,150px);
  gap:8px;
  margin:0 0 18px;
  padding:9px;
  border:2px solid #4d7b7c;
  background:#07171bcc;
  box-shadow:inset 0 0 0 2px #163035,5px 5px #030708;
}
.stage-clear-readout>span {
  padding:10px 12px;
  border:1px solid #345c60;
  background:#10262a;
  text-align:left;
}
.stage-clear-readout small {
  display:block;
  margin-bottom:9px;
  color:#6fa4a5;
}
.stage-clear-readout b {
  display:block;
  color:#dff57a;
  font:18px "Press Start 2P",monospace;
}
.stage-clear-actions {
  gap:14px;
}
.stage-clear-actions .terminal-back {
  margin-top:0;
  padding:12px 18px;
}
button:disabled {
  cursor:not-allowed;
  filter:saturate(.35) brightness(.7);
  opacity:.72;
}
button:disabled:hover {
  transform:none;
  filter:saturate(.35) brightness(.7);
}
.choice-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
}
.choice-type {
  display:inline-block;
  padding:5px 7px;
  border:1px solid #53979a;
  background:#102f35;
  color:#7ce5e5;
  font:7px "Press Start 2P",monospace;
}
.training-type {
  color:#d8f47b;
  border-color:#8eaf59;
  background:#26351e;
}
.permanent-type {
  color:#ffd379;
  border-color:#ae8552;
  background:#382d1e;
}
.choice-effect {
  display:block;
  min-height:65px;
  margin-top:9px;
  padding:9px 10px;
  border-left:3px solid #6bada8;
  background:#09191dcc;
}
.choice-effect b {
  display:block;
  margin-bottom:6px;
  color:#78c8c5;
  font:7px "Press Start 2P",monospace;
}
.choice-effect span {
  display:block;
  color:#d8e9df;
  font-size:14px;
  line-height:1.35;
}
.choice-status {
  display:block;
  margin-top:11px;
  color:#8faeaa;
  font:8px "Press Start 2P",monospace;
}
.eco-choice:before {
  content:"ECO LAB // ONE PICK";
}
.tech-choices .upgrade-choice:before {
  content:"TECH // PERMANENT";
}
.upgrade-choice .upgrade-star {
  padding-top:10px;
  border-top:1px solid #315458;
}
.tech-cost {
  padding:7px 8px;
  border:1px solid currentColor;
  background:#091417;
}
.tech-cost.ready:before {
  content:"READY // ";
}
.tech-cost.locked:before {
  content:"LOCKED // ";
}
.choice-index {
  position:absolute;
  right:12px;
  top:10px;
  color:#eaff9a;
  font:10px "Press Start 2P",monospace;
}
.choice-details {
  display:block;
  margin-top:9px;
  padding:9px 10px;
  border-left:3px solid #69aaa7;
  background:#09191dcc;
}
.choice-details b {
  display:block;
  margin-bottom:5px;
  color:#86cac5;
  font:7px "Press Start 2P",monospace;
}
.choice-details span {
  color:#dcebe2;
  font-size:14px;
  line-height:1.4;
}
.upgrade-next {
  display:block;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #315458;
  color:#ffdb69;
  font:9px "Press Start 2P",monospace;
  line-height:1.5;
}
.stage-card-title {
  display:block;
  margin-bottom:6px;
  color:#edfff4;
  font-size:16px;
}
.stage-card-meta {
  display:block;
  color:#d5f275;
  font:7px "Press Start 2P",monospace;
}
.stage-map-choice small {
  line-height:1.35;
}
.upgrade-choice span,.stage-map-choice span {
  margin-left:0;
}
.stage-card-title {
  font-family:"ZCOOL QingKe HuangYou","Microsoft YaHei",sans-serif;
}
.upgrade-choice {
  overflow:hidden;
}
.upgrade-category {
  display:block;
  width:max-content;
  margin:8px 0 0;
  padding:3px 6px;
  border:1px solid #365f63;
  background:#0c1e22;
}
.upgrade-kind {
  margin:0;
}
.eco-choice,.tech-choices .upgrade-choice {
  min-height:225px;
}
.level-actions {
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:11px;
}
.level-actions .terminal-back {
  margin-top:0;
}
.reroll-upgrade {
  padding:7px 13px;
  color:#0b2020;
  background:#7fe2da;
  border-color:#a8fff1;
  box-shadow:inset -2px -2px #3d8c87,inset 2px 2px #c8fff7,3px 3px #040809;
  font-size:12px;
}
.reroll-upgrade span {
  display:inline-block;
  min-width:20px;
  margin-left:7px;
  padding:2px 4px;
  color:#dfffea;
  background:#163d3b;
  border:1px solid #70b9b1;
  font:8px "Press Start 2P",monospace;
}
.reroll-upgrade:disabled {
  display:none;
}
.survivor-road-panel {
  justify-content:flex-start;
  padding:17px 0 10px;
  overflow:hidden;
}
.survivor-road-panel>.eyebrow {
  margin:2px 0 3px;
}
.survivor-road-panel h2 {
  font-size:36px;
}
.survivor-road-panel>p:not(.eyebrow) {
  max-width:700px;
  margin:3px 0 6px;
  font-size:13px;
}
.road-summary {
  position:relative;
  display:flex;
  gap:5px;
  margin-bottom:6px;
  padding:4px 7px;
  color:#a8c8c4;
  border:2px solid #426f73;
  background:#08191dcc;
  font:6px "Press Start 2P",monospace;
}
.road-summary span {
  padding:3px 7px;
  border-right:1px solid #34585c;
}
.road-summary span:last-child {
  border-right:0;
  color:#e4f978;
}
.road-routes {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:7px;
  width:min(930px,94%);
}
.road-route {
  display:grid;
  grid-template-columns:105px repeat(5,1fr);
  gap:6px;
  align-items:stretch;
  padding:6px;
  border:2px solid #416b70;
  background:#08171bcc;
  box-shadow:inset 0 0 0 2px #102b30,4px 4px #030708;
}
.road-route-title {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:6px;
  text-align:left;
  border-right:2px solid #385c61;
}
.road-route-title small {
  color:#659294;
  font:5px "Press Start 2P",monospace;
}
.road-route-title b {
  margin-top:5px;
  color:#efffea;
  font-size:19px;
}
.road-route-title span {
  margin-top:4px;
  color:#8aa8a6;
  font-size:10px;
}
.road-node {
  position:relative;
  min-width:0;
  min-height:112px;
  padding:6px;
  color:#bed0cc;
  text-align:left;
  background:#102328;
  border-color:#426b70;
  box-shadow:inset -2px -2px #071317,inset 2px 2px #1d3d42,3px 3px #030708;
}
.road-node:before {
  content:"NODE " attr(data-index);
  display:block;
  margin-bottom:3px;
  color:#638f91;
  font:5px "Press Start 2P",monospace;
}
.road-node:after {
  content:"";
  position:absolute;
  z-index:-1;
  top:25px;
  right:-9px;
  width:10px;
  height:3px;
  background:#416b70;
}
.road-node:last-child:after {
  display:none;
}
.road-node h3 {
  margin:0 0 3px;
  color:#e8f6ef;
  font-size:15px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.road-node p {
  min-height:24px;
  margin:0 0 3px;
  color:#91acab;
  font-size:9px;
  line-height:1.25;
}
.road-progress {
  display:block;
  height:5px;
  margin:3px 0 4px;
  background:#071114;
  border:1px solid #34565a;
}
.road-progress i {
  display:block;
  height:100%;
  background:#6acccc;
  box-shadow:0 0 6px #65ddd3;
}
.road-node-reward {
  display:block;
  min-height:24px;
  color:#d9ee85;
  font-size:9px;
  line-height:1.2;
}
.road-node-status {
  display:block;
  margin-top:4px;
  color:#6f9999;
  font:5px "Press Start 2P",monospace;
}
.road-node.claimable {
  border-color:#d7eb69;
  background:#243522;
  animation:roadPulse 1.2s steps(2,end) infinite;
}
.road-node.claimable .road-node-status {
  color:#efff83;
}
.road-node.claimed {
  border-color:#68c7a6;
  background:#15352e;
}
.road-node.claimed .road-node-status {
  color:#75e0bd;
}
.road-node:disabled {
  filter:none;
  opacity:1;
}
.road-node.blocked {
  opacity:.58;
}
.road-route.fire {
  border-left:4px solid #e9b858;
}
.road-route.fire .road-route-title b {
  color:#ffd878;
}
.road-route.fire .road-progress i {
  background:#e9b858;
  box-shadow:0 0 6px #ffc86a;
}
.road-route.survival {
  border-left:4px solid #6fc6a4;
}
.road-route.survival .road-route-title b {
  color:#8de3bd;
}
.survivor-road-panel>.terminal-back {
  margin-top:7px;
  padding:5px 12px;
}
@keyframes roadPulse {
  50% {
    filter:brightness(1.15);
  }
}
.stage-boss {
  display:block;
  margin-top:6px!important;
  color:#ff9a7d;
  font:7px "Press Start 2P",monospace;
  line-height:1.35;
}
.stage-grid {
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:9px;
  width:min(740px,88%);
  margin:3px 0 18px;
}
.stage-map-choice {
  min-height:76px;
  padding:8px;
  text-align:left;
  color:#d8f7ed;
  background:#10272d;
  border-color:#4d8588;
  box-shadow:inset -3px -3px #071318,inset 3px 3px #21454a,3px 3px #030708;
}
.stage-map-choice:before {
  content:"SECTOR";
  display:block;
  color:#669b9c;
  font:6px "Press Start 2P",monospace;
  margin-bottom:8px;
}
.stage-map-choice b {
  display:block;
  color:#d9f777;
  font:15px "Press Start 2P",monospace;
}
.stage-map-choice small {
  display:block;
  margin-top:8px;
  color:#9abdbc;
  font:7px "Press Start 2P",monospace;
}
.stage-map-choice:nth-child(4n+2) b {
  color:#78e5eb;
}
.stage-map-choice:nth-child(4n+3) b {
  color:#ffb979;
}
.stage-map-choice:nth-child(4n+4) b {
  color:#ed92d9;
}
#stage-panel h2 {
  font-size:44px;
}
#stage-panel>p:not(.eyebrow) {
  margin:8px 0 15px;
}
#stage-panel .stage-grid {
  width:min(820px,88%);
  gap:11px;
  margin:0 0 13px;
}
#stage-panel .stage-map-choice {
  min-height:76px;
  padding:10px 12px;
  background:linear-gradient(145deg,#132d32,#0b1c21);
  border-color:#456f75;
}
#stage-panel .stage-map-choice:before {
  content:"STAGE";
  margin-bottom:5px;
  color:#638d90;
}
#stage-panel .stage-map-choice b {
  font-size:21px;
  line-height:1;
}
#stage-panel .stage-card-title {
  margin:6px 0 3px;
  font-size:14px;
  color:#dceee8;
}
#stage-panel .stage-boss {
  margin-top:0!important;
  color:#e88d79;
  font-size:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#stage-panel .stage-map-choice:hover,#stage-panel .stage-map-choice.previewing {
  border-color:#d7ef73;
  background:linear-gradient(145deg,#223c31,#12272a);
  box-shadow:inset -3px -3px #071318,inset 3px 3px #2e5247,0 0 13px #cde96338,3px 3px #030708;
}
.stage-preview {
  position:relative;
  display:grid;
  grid-template-columns:.75fr 1.35fr 1fr;
  width:min(820px,88%);
  margin:0 0 4px;
  border:2px solid #416c70;
  background:#09181dcc;
  box-shadow:inset 0 0 0 2px #142b30;
  text-align:left;
}
.stage-preview section {
  min-height:70px;
  padding:10px 14px;
  border-right:1px solid #315055;
}
.stage-preview section:last-child {
  border-right:0;
}
.stage-preview small {
  display:block;
  margin-bottom:7px;
  color:#67989a;
  font:6px "Press Start 2P",monospace;
}
.stage-preview strong {
  display:block;
  color:#efffe9;
  font-size:18px;
}
.stage-preview span {
  display:block;
  margin-top:4px;
  color:#9bb9b5;
  font-size:12px;
  line-height:1.3;
}
.stage-preview .boss-detail strong {
  color:#ff9e82;
}
.intel-panel {
  position:absolute;
  z-index:7;
  inset:35px 70px;
  padding:25px 30px;
  background:#0a171bdd;
  border:3px solid #4b8587;
  box-shadow:inset 0 0 0 3px #122d32,inset 0 0 0 6px #071116,6px 6px #030607,0 0 34px #4ccdc744;
  transition:opacity .2s;
}
.intel-panel:after {
  content:"INTEL DATABASE // LIVE FEED";
  position:absolute;
  right:23px;
  bottom:13px;
  color:#609092;
  font:6px "Press Start 2P",monospace;
}
.intel-panel.hidden {
  opacity:0;
  pointer-events:none;
}
.intel-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  border-bottom:2px solid #31585e;
  padding-bottom:13px;
}
.intel-heading h3 {
  margin-top:6px;
  font-size:37px;
  color:#eaffed;
}
.close-button {
  padding:2px 10px;
  color:#e8fffb;
  background:#25464c;
  border-color:#72acaa;
  box-shadow:inset -2px -2px #10262b,inset 2px 2px #48777a,3px 3px #040708;
  font:20px "Press Start 2P",monospace;
}
.intel-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:17px;
}
.intel-card {
  position:relative;
  padding:13px 16px;
  background:#10252a;
  border:2px solid #416f72;
  box-shadow:inset -3px -3px #071318,inset 3px 3px #1d3d42;
}
.intel-card:before {
  content:"";
  position:absolute;
  top:7px;
  right:7px;
  width:5px;
  height:5px;
  background:#6fdfd5;
  box-shadow:0 0 7px #6fdfd5;
}
.player-card {
  border-color:#b9e667
}
.base-card {
  border-color:#69dcd1
}
.elite-card {
  border-color:#ef8769
}
.intel-card h4 {
  margin:0 0 9px;
  color:#ecfff2;
  font-size:22px
}
.intel-card h4 span {
  color:#84aaac;
  font:7px "Press Start 2P",monospace;
  margin-left:7px
}
dl {
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 14px;
  margin:0;
  font-size:13px
}
dt {
  color:#8caeae
}
dd {
  margin:0;
  color:#efffdc;
  font:9px "Press Start 2P",monospace
}
.intel-note {
  margin:15px 0 0;
  color:#91afac;
  font-size:12px
}
kbd {
  padding:3px 4px;
  color:#dfffa2;
  border:1px solid #83b776;
  background:#15241a;
  font:8px "Press Start 2P",monospace;
}
footer {
  height:42px;
  padding:11px 5px 0;
  color:#789a9b;
  font:8px "Press Start 2P",monospace;
  letter-spacing:.5px;
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.pulse {
  display:inline-block;
  width:8px;
  height:8px;
  border:1px solid #d5ff74;
  background:#79d978;
  box-shadow:0 0 9px #bded4e;
}
.intel-button {
  margin:-6px 0 0 10px;
  padding:6px 9px;
  color:#b8e88f;
  background:#173038;
  border-color:#568d90;
  box-shadow:inset -2px -2px #0a191d,inset 2px 2px #2b5155,3px 3px #030708;
  font-size:11px;
}
.footer-tip {
  margin-left:auto;
  color:#526f73;
}
.debug-resource-button {
  margin:-6px 0 0 5px;
  padding:6px 9px;
  color:#ffe694;
  background:#3b3118;
  border-color:#c6a84c;
  box-shadow:inset -2px -2px #1b1508,inset 2px 2px #6b5b26,3px 3px #030708;
  font-size:11px;
}
.debug-resource-button.confirmed {
  color:#eaff9c;
  border-color:#bde961;
  background:#29401e;
}
