:root {
  color-scheme:dark;
  --paper:#d9ded4;
  --dim:#7d8986;
  --acid:#d7e88b
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:#090d0e;
  color:var(--paper);
  font-family:Consolas,'Courier New',monospace
}
header {
  height:86px;
  max-width:1320px;
  margin:auto;
  padding:0 44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  letter-spacing:2px
}.brand {
  font-size:22px;
  font-weight:bold;
  text-decoration:none;
  color:var(--acid)
}.brand span {
  font-size:12px;
  color:#b4bfba;
  letter-spacing:3px;
  margin-left:12px
}.edition {
  color:#65716e;
  font-size:9px
}.edition i {
  display:inline-block;
  background:var(--acid);
  height:5px;
  width:5px;
  margin:0 13px
}
main {
  max-width:1240px;
  margin:auto;
  padding:0 28px
}.game-shell {
  position:relative;
  border:1px solid #303d39;
  box-shadow:0 24px 90px #0008;
  background:#0b1112;
  aspect-ratio:8/5;
  overflow:hidden
}
canvas {
  width:100%;
  height:100%;
  display:block;
  image-rendering:pixelated;
  cursor:crosshair
}.screen-grain {
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background:repeating-linear-gradient(0deg,transparent,transparent 3px,#000 4px)
}
button {
  font-family:inherit;
  cursor:pointer;
  border:1px solid #667053;
  background:var(--acid);
  color:#182017;
  padding:15px 24px;
  font-weight:bold;
  font-size:12px;
  letter-spacing:2px
}
button:hover {
  background:#edfbb2;
  box-shadow:0 0 22px #d7e88b22
}
button:focus-visible {
  outline:2px solid white;
  outline-offset:4px
}.quiet {
  background:transparent;
  color:#8a9790;
  border:1px solid #34413b;
  font-size:10px;
  padding:11px 14px
}.quiet:hover {
  background:#253029;
  color:#d9e8c9
}
#overlay {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center
}
#overlay:empty {
  pointer-events:none
}.menu {
  width:100%;
  padding:7% 8%;
  height:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
  background:linear-gradient(90deg,#080e10df,transparent 85%)
}.eyebrow {
  color:var(--acid);
  font-size:10px;
  letter-spacing:4px;
  margin-bottom:23px
}.menu h1 {
  font-size:clamp(42px,8vw,105px);
  line-height:.91;
  letter-spacing:-6px;
  margin:0;
  color:#e0e6d9;
  text-shadow:5px 5px #34403a
}.menu h1 span {
  display:block;
  color:var(--acid)
}.tagline {
  letter-spacing:4px;
  color:#96a39a;
  font-size:11px;
  margin:27px 0 38px
}.menu-actions {
  display:flex;
  gap:12px
}.menu-actions button:first-child {
  min-width:165px
}.menu .small {
  color:#73827a;
  font-size:10px;
  line-height:1.9;
  margin-top:32px
}.modal {
  background:#0c1316f2;
  border:1px solid #495648;
  padding:35px;
  max-width:86%;
  text-align:center;
  box-shadow:0 20px 80px #000
}.modal h2 {
  font-size:32px;
  letter-spacing:4px;
  margin:12px 0 20px
}.modal p {
  font-size:12px;
  color:#9eafa6;
  line-height:1.9
}.modal .eyebrow {
  margin-bottom:12px
}.cards {
  display:flex;
  gap:13px;
  margin:24px 0 0
}.card {
  width:205px;
  min-height:157px;
  text-align:left;
  background:#16211e;
  color:var(--paper);
  border-color:#475947;
  padding:20px;
  letter-spacing:0
}.card:hover {
  color:#131c15
}.card small {
  display:block;
  color:#93a67c;
  letter-spacing:2px;
  font-size:9px;
  margin-bottom:20px
}.card strong {
  display:block;
  font-size:16px
}.card span {
  display:block;
  margin-top:12px;
  font-size:11px;
  font-weight:normal;
  line-height:1.5
}
#hud {
  position:absolute;
  top:22px;
  left:26px;
  right:26px;
  display:flex;
  align-items:center;
  gap:26px;
  pointer-events:none;
  font-size:11px;
  text-shadow:0 2px #000
}
#hud .floor {
  font-size:19px;
  color:var(--acid);
  letter-spacing:2px
}.health {
  display:flex;
  align-items:center;
  gap:10px
}.track {
  width:112px;
  height:7px;
  background:#343c38
}.fill {
  height:100%;
  background:var(--acid)
}.hud-right {
  margin-left:auto;
  display:flex;
  gap:25px
}
#boss-hud {
  position:absolute;
  top:65px;
  left:32%;
  right:32%;
  text-align:center;
  font-size:10px;
  letter-spacing:3px;
  color:#e3977a
}
#boss-hud .track {
  width:100%;
  margin-top:9px;
  height:6px
}
#boss-hud .fill {
  background:#cf725a
}
#announcement {
  position:absolute;
  top:43%;
  left:0;
  right:0;
  text-align:center;
  font-size:38px;
  letter-spacing:8px;
  pointer-events:none;
  color:var(--acid);
  text-shadow:0 3px 14px #000
}
#announcement small {
  display:block;
  font-size:10px;
  margin-top:14px;
  letter-spacing:3px
}
#next {
  position:absolute;
  bottom:15%;
  left:50%;
  transform:translateX(-50%)
}
#next span {
  margin-left:20px
}
footer {
  display:flex;
  justify-content:space-between;
  padding:21px 2px;
  color:#64746d;
  font-size:9px;
  letter-spacing:1px
}
footer b {
  color:#a8b3ac;
  font-weight:normal
}
footer em {
  margin:0 12px;
  color:#3e4b45;
  font-style:normal
}.footer-note {
  font-size:8px;
  color:#546158
}
[hidden] {
  display:none!important
}
@media(max-width:800px) {
  header {
    height:64px;
    padding:0 22px
  }.edition,.footer-note {
    display:none
  }
  main {
    padding:0 12px
  }.cards {
    gap:6px
  }.card {
    width:160px;
    padding:12px;
    min-height:120px
  }.modal {
    padding:20px
  }.menu h1 {
    letter-spacing:-3px
  }.tagline {
    margin:18px 0
  }.menu .small {
    display:none
  }
  #hud {
    top:10px;
    left:10px;
    right:10px;
    gap:12px;
    font-size:9px
  }.hud-right {
    gap:12px
  }.track {
    width:60px
  }
  footer {
    font-size:8px;
    letter-spacing:0
  }
}
/* Armory: squared metal panels, inset slots and muted phosphor readouts. */
.armory{width:90%;height:84%;background:#0c1719f7;border:3px solid #637263;box-shadow:0 0 0 3px #0b1011,inset 0 0 0 2px #253b33,10px 10px #0009;display:flex;flex-direction:column;padding:20px;overflow:hidden}
.armory-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #3c5044;padding-bottom:14px;gap:15px}.armory small{font-size:9px;letter-spacing:2px;color:#859b87}.armory h2{font-size:24px;letter-spacing:3px;margin:8px 0 0;color:#d7e88b}.armory-head button{padding:10px;font-size:9px;background:#22362e;color:#c2cdaa;border-color:#64765b}.armory-body{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;flex:1;min-height:0;padding:16px 0}.inventory-storage{min-height:0;display:flex;flex-direction:column}.storage-title{font-size:9px;color:#82957f;letter-spacing:2px;margin-bottom:12px}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;overflow-y:auto;align-content:start;padding:3px;scrollbar-color:#607153 #152320;scrollbar-width:thin}.weapon-slot{background:#172521;border:2px solid #34483e;border-bottom-color:var(--rarity);padding:8px 6px;letter-spacing:0;color:#bdcaba;min-width:0;box-shadow:inset 0 0 0 2px #0c1717;text-align:left}.weapon-slot:hover,.weapon-slot.selected{background:#293a2c;border-color:var(--rarity);box-shadow:inset 0 0 0 2px #10221b}.weapon-slot canvas{width:100%;height:auto;image-rendering:pixelated;cursor:pointer}.weapon-slot strong{font-size:9px;display:block;min-height:22px}.weapon-slot small{font-size:7px;color:var(--rarity);letter-spacing:1px}.slot-tag{font-size:7px;letter-spacing:1px;color:#768c7b}.weapon-inspect{padding:13px 16px;background:#101e1e;border:1px solid #405548;border-top:3px solid var(--rarity);overflow-y:auto}.weapon-inspect h3{font-size:20px;letter-spacing:1px;margin:8px 0 0}.weapon-inspect .rarity-name{color:var(--rarity)}.weapon-inspect canvas{width:100%;height:86px;object-fit:contain;image-rendering:pixelated}.weapon-kind{font-size:8px;letter-spacing:1px;color:#91a48c;border-bottom:1px solid #384d40;padding:8px 0}.weapon-inspect dl{margin:10px 0}.weapon-inspect dl div{display:flex;justify-content:space-between;font-size:10px;margin:9px 0;gap:8px}.weapon-inspect dt{color:#788f83}.weapon-inspect dd{margin:0;color:#d2dcbe}.equip-buttons{display:flex;gap:5px}.equip-buttons button{padding:9px 5px;font-size:9px;letter-spacing:0;flex:1}.armory-foot{border-top:1px solid #3c5044;padding-top:10px;font-size:8px;color:#adbc97;display:flex;justify-content:space-between}.armory-foot span{color:#61796b;font-size:7px}
#pickup-panel{position:absolute;right:24px;bottom:55px;width:224px;background:#0a1617ed;border:2px solid #526453;padding:12px;font-size:10px;box-shadow:4px 4px #0008;pointer-events:none}.pickup-heading{font-size:12px;letter-spacing:1px;line-height:1.5}.compare-sub{font-size:8px;color:#6d8579;margin:5px 0 10px}.compare-row{display:flex;justify-content:space-between;margin:6px 0;color:#b4c1ad}.better{color:#b6d888}.worse{color:#d48f74}.pickup-key{border-top:1px solid #3e5346;padding-top:9px;margin-top:9px;color:#d7e88b}.pickup-key small{font-size:7px;margin-left:8px;color:#879a83}#loadout{position:absolute;left:24px;bottom:19px;display:flex;gap:6px;font-size:8px;pointer-events:none}.quick-slot{border:1px solid #3b5247;background:#11201ee8;color:#879b8e;padding:7px}.quick-slot b{color:#c2cdaa;margin-right:6px}.quick-slot.active{border-color:#c1cf83;color:#d4dcbb}.ammo{color:#d7e88b;font-weight:normal;margin-left:6px}#loot-notice{position:absolute;top:90px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:2px;pointer-events:none;text-shadow:0 2px 4px #000}
@media(max-width:800px){.armory{padding:11px;height:88%;width:95%}.armory-head{padding-bottom:8px}.armory h2{font-size:17px}.armory-body{gap:10px;padding:9px 0;grid-template-columns:1.1fr 1fr}.inventory-grid{gap:5px;grid-template-columns:repeat(2,minmax(0,1fr))}.weapon-inspect{padding:8px}.weapon-inspect h3{font-size:14px}.weapon-inspect canvas{height:45px}.weapon-inspect dl div{font-size:8px;margin:6px 0}.armory-foot span{display:none}.weapon-slot strong{font-size:8px}.armory-head small{font-size:7px}#pickup-panel{right:10px;bottom:44px;width:170px;padding:8px;font-size:8px}.pickup-heading{font-size:9px}#loadout{left:10px;bottom:10px;font-size:7px;gap:3px}.quick-slot{padding:5px}.hud-right{gap:8px}#loot-notice{top:50px;font-size:8px}}
#overlay:not(:empty){z-index:5}.screen-grain{z-index:6}.weapon-inspect{display:flex;flex-direction:column;min-height:0;overflow:hidden}.weapon-inspect h3,.weapon-inspect canvas,.weapon-kind,.equip-buttons,.rarity-name{flex-shrink:0}.weapon-inspect dl{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#607153 #152320}.equip-buttons{margin-top:5px}.armory-head,.armory-foot{flex-shrink:0}@media(max-width:800px){.weapon-inspect canvas{height:32px}.weapon-kind{padding:5px 0}.weapon-inspect h3{margin:5px 0 0}.weapon-inspect dl{margin:6px 0}.equip-buttons button{padding:8px 2px;font-size:8px}footer{flex-wrap:wrap;gap:8px}footer em{margin:0 5px}}
.discard-button{margin-top:7px;padding:8px;font-size:9px;letter-spacing:1px;color:#c9a28c;background:#251e1b;border-color:#6c5044;flex-shrink:0}button:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.equip-buttons button{font-size:8px;letter-spacing:0;padding:9px 3px}.quick-slot small{display:block;color:#91a08a;font-size:8px;margin:4px 0 0}#loadout{max-width:70%}.quick-slot{min-width:95px}#loot-notice{z-index:2}@media(max-width:800px){.quick-slot{min-width:65px}.quick-slot small{font-size:7px}.equip-buttons button{font-size:7px;padding:7px 1px}.discard-button{padding:6px;font-size:8px}.weapon-inspect canvas{height:26px}.weapon-kind{font-size:7px;padding:3px 0}.weapon-inspect dl div{margin:4px 0}.weapon-inspect h3{font-size:12px}.weapon-inspect{padding:6px}}

/* Machined field terminal: hard corners, fasteners, cartridge rails. */
.armory{background:repeating-linear-gradient(0deg,#101c1dfb 0 3px,#0d181afb 3px 5px);border:4px ridge #657365;position:relative;padding:18px;box-shadow:0 0 0 4px #070e10,9px 9px #000b}
.armory:before,.armory:after{content:'+';position:absolute;top:4px;color:#a8b19a;font-size:13px}.armory:before{left:5px}.armory:after{right:5px}
.armory-tabs{display:flex;gap:4px;margin-top:10px;border-bottom:3px solid #66754e;flex-shrink:0}.armory-tabs button{padding:9px 22px;background:#172626;color:#8da08e;border:1px solid #3d5147;border-bottom:0;font-size:10px}.armory-tabs .chosen{color:#e0edb1;background:#364532;box-shadow:inset 0 3px #d6e48a}.armory-tabs b{margin-left:12px;color:#dce99c}
.weapon-slot{background:linear-gradient(135deg,#1c2c29,#101b1d);border:3px ridge #42544a;border-left:4px solid var(--rarity);position:relative}.weapon-slot.selected{outline:1px solid var(--rarity);outline-offset:-6px;background:#303d30}.weapon-slot.selected:after{content:'◆';position:absolute;right:9px;top:7px;color:var(--rarity);font-size:10px}.weapon-inspect{border:3px ridge #4e6355;border-top-color:var(--rarity)}.weapon-inspect canvas{height:92px;background:repeating-linear-gradient(90deg,#0b151800 0 15px,#8d9c7410 15px 16px),repeating-linear-gradient(0deg,#0b1518 0 15px,#8d9c7410 15px 16px);margin-top:7px}.inventory-compare{font-size:8px;border-top:1px solid #445a49;padding:3px 0;flex-shrink:0}.inventory-compare .pickup-heading,.inventory-compare .pickup-key{display:none}.inventory-compare .compare-sub{margin:3px 0}.inventory-compare .compare-row{margin:3px 0}
.xp-hud{font-size:10px;color:#c9d991;min-width:100px}.xp-hud small{font-size:8px;color:#8fa18b}.xp-track{height:5px;background:#162321;border:1px solid #52634d;margin:5px 0;min-width:80px}.xp-track i{display:block;height:100%;background:#c4d87a;box-shadow:0 0 7px #c4d87a44}.countdown{display:block;font-size:62px;line-height:1.2;color:#e4edb1;margin-top:12px}
.stats-body{display:grid;grid-template-columns:.8fr 1.4fr;gap:22px;padding:16px 0;flex:1;min-height:0;overflow:auto}.operator-card{background:#0b1719;border:3px ridge #40584a;padding:18px;color:#9bac91;font-size:10px;line-height:1.8}.operator-card h3{color:#e0ebb1;font-size:24px;margin:12px 0}.operator-sigil{font-size:58px;color:#b6c788;border:4px double #52664d;text-align:center;margin-top:16px;font-weight:bold;text-shadow:4px 4px #253b2d}.operator-card strong{display:block;background:#2b3d2c;color:#dfebb1;padding:10px}.attribute-list{display:flex;flex-direction:column;gap:9px}.attribute-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#182824;border:2px ridge #41564a;padding:12px 15px;flex:1}.attribute-row:hover,.attribute-row:focus-within{border-color:#b8ce80;background:#25372c}.attribute-row strong{font-size:13px;letter-spacing:2px;color:#d3dec0}.attribute-row b{color:#dce99c;margin-left:12px}.attribute-row small,.stat-next{display:block;font-size:9px;letter-spacing:0;margin-top:7px;color:#a8bb98}.stat-next{color:#718778}.attribute-row:hover .stat-next,.attribute-row:focus-within .stat-next{color:#d5e49e}.attribute-row button{font-size:20px;padding:8px 15px;box-shadow:3px 3px #060c0c}
@media(max-width:800px){.armory{padding:10px}.armory-tabs{margin-top:5px}.armory-tabs button{padding:5px 14px;font-size:8px}.weapon-inspect canvas{height:30px}.inventory-compare{font-size:7px}.inventory-compare .compare-row{margin:1px 0}.stats-body{gap:8px;padding:8px 0;grid-template-columns:.65fr 1.3fr}.operator-card{padding:8px;font-size:8px}.operator-sigil{font-size:25px;margin-top:5px}.operator-card h3{font-size:16px;margin:6px 0}.operator-card strong{padding:5px}.attribute-list{gap:4px}.attribute-row{padding:6px}.attribute-row strong{font-size:9px;letter-spacing:0}.attribute-row small,.stat-next{font-size:7px;margin-top:3px}.attribute-row button{padding:4px 9px;font-size:16px}.xp-hud{font-size:8px;min-width:65px}.xp-track{min-width:55px}.xp-hud small{font-size:6px}}

.weapon-inspect canvas{height:64px}.weapon-inspect dl{min-height:90px}.weapon-inspect dl div{margin:7px 0}@media(max-width:800px){.weapon-inspect canvas{height:30px}.weapon-inspect dl{min-height:50px}.weapon-inspect dl div{margin:3px 0}}

.attribute-row{padding:9px 12px}.operator-card p{margin:8px 0}@media(max-width:800px){.attribute-row{padding:6px}}

@media(max-width:800px){
 .armory{height:94%;padding:8px}.armory-head{padding-bottom:4px;gap:7px}.armory h2{font-size:14px;margin:3px 0 0}.armory-head small{font-size:6px;letter-spacing:1px}.armory-head button{padding:6px;font-size:7px}.armory-tabs{margin-top:4px}.armory-tabs button{padding:4px 12px;font-size:7px}.armory-body{padding:5px 0;gap:7px}.armory-foot{padding-top:5px;font-size:6px}.weapon-inspect{overflow-y:auto;scrollbar-width:thin}.weapon-inspect dl{flex:0 0 auto;min-height:0;margin:5px 0}.weapon-inspect dl div{font-size:7px;margin:2px 0}.inventory-compare .compare-sub{font-size:6px;margin:1px 0}.inventory-compare .compare-row{font-size:6px;margin:0}.inventory-compare{padding:2px 0}.equip-buttons{margin-top:3px}.equip-buttons button{padding:5px 1px;font-size:6px}.discard-button{margin-top:4px;padding:4px;font-size:6px}.weapon-inspect canvas{height:26px;margin-top:4px}.weapon-kind{font-size:6px;padding:2px 0}.weapon-inspect h3{font-size:11px;margin-top:3px}
}

.attribute-row>div{font-size:11px;line-height:1.25}@media(max-width:800px){.attribute-row>div{font-size:8px;line-height:1.1}.attribute-row{padding:5px 6px}.attribute-row small,.stat-next{margin-top:2px}.operator-card{overflow-y:auto;min-height:0}.stats-body{padding:5px 0}.attribute-list{min-height:0}}

.save-terminal{width:92%;max-height:94%;overflow:auto;padding:24px;background:repeating-linear-gradient(0deg,#101c1dfa 0 3px,#0c1618fa 3px 5px);border:4px ridge #647361;box-shadow:8px 8px #000a}.save-terminal h2{font-size:28px;color:#d7e88b;letter-spacing:4px;margin:12px 0 22px}.save-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.save-card{background:#13221f;color:#a9baa0;border:3px ridge #3e5547;padding:18px 12px;text-align:left;letter-spacing:0;min-height:205px}.save-card.selected{border-color:#d7e88b;background:#26382b;box-shadow:inset 0 0 0 3px #0b1616}.save-card strong{display:block;font-size:17px;color:#e0eac0;border-bottom:1px solid #506049;padding-bottom:12px;letter-spacing:2px}.save-card b{display:block;margin-top:16px;color:#c5d896}.save-card dl{font-size:10px;line-height:2}.save-card small{font-size:8px;color:#8b9f87}.empty-save{color:#60796c;margin-top:45px;letter-spacing:4px}.save-actions{display:flex;gap:10px;margin-top:20px}.save-actions button{flex:1;padding:12px 8px;font-size:10px}.save-message{font-size:10px;color:#d7a68a;min-height:12px}.modal>button{margin:4px}.save-terminal #save-back{font-size:9px;padding:8px 16px}
@media(max-width:800px){.save-terminal{padding:10px}.save-terminal h2{font-size:17px;margin:7px 0 10px}.save-slots{gap:5px}.save-card{padding:8px 6px;min-height:144px}.save-card strong{font-size:10px;letter-spacing:0;padding-bottom:7px}.save-card b{font-size:11px;margin-top:10px}.save-card dl{font-size:7px;line-height:1.8}.save-card small{font-size:6px}.empty-save{font-size:9px;letter-spacing:2px;margin-top:35px}.save-actions{gap:5px;margin-top:10px}.save-actions button{font-size:7px;padding:8px 3px}.save-message{font-size:8px;margin:5px 0}.save-terminal .eyebrow{font-size:7px}}

.save-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}

#dealer-panel{position:absolute;top:18%;left:2%;max-width:220px;padding:12px;background:#101a1def;border:3px ridge #80745a;color:#d3c296;box-shadow:4px 4px #0009;font-size:12px}#dealer-panel strong{display:block;letter-spacing:2px}#dealer-panel small{display:block;font-size:8px;line-height:1.6;margin:8px 0;color:#9da78b}#dealer-panel button{font-size:9px;padding:9px;width:100%}#dealer-item-icon{width:128px;height:64px;image-rendering:pixelated}@media(max-width:800px){#dealer-panel{padding:6px;max-width:145px;font-size:9px}#dealer-panel small{font-size:6px;margin:4px 0}#dealer-panel button{font-size:7px;padding:6px}}
#dealer-panel button.short{background:#3a2f27;color:#d9a184;border-color:#7a5a46}#dealer-panel .reroll-note{margin:6px 0 0;text-align:center;letter-spacing:1px}#dealer-panel button.short+.reroll-note{color:#d9a184}
/* Embedded layout: the game scales to the largest 8:5 box that fits the frame. */
html.embedded,html.embedded body{height:100%;overflow:hidden;background:#090d0e}
html.embedded header,html.embedded footer{display:none}
html.embedded main{max-width:none;height:100%;padding:0;display:flex;align-items:center;justify-content:center}
html.embedded .game-shell{width:min(100vw,160vh);border:0;box-shadow:none}
