
/* Ashvale Outbreak Protocol V13 — original survival arsenal interface */
:root{
  --outbreak-green:#9dffb3;
  --outbreak-amber:#ffc56f;
  --outbreak-red:#ff6f6f;
  --outbreak-blue:#74d8ff;
  --outbreak-panel:rgba(7,15,17,.88);
}
body.v13-outbreak-ready{
  --accent:#9dffb3;
}
body.v13-outbreak-ready .topbar{
  border-color:rgba(157,255,179,.22);
  box-shadow:0 18px 55px rgba(0,0,0,.28),inset 0 -1px rgba(157,255,179,.08);
}
body.v13-outbreak-ready .sigil{color:var(--outbreak-green);filter:drop-shadow(0 0 12px rgba(157,255,179,.7))}
body.v13-outbreak-ready .title-mark h2{color:var(--outbreak-green);text-shadow:0 0 34px rgba(73,255,126,.22)}
body.v13-outbreak-ready .hero-btn.primary{
  background:linear-gradient(135deg,#a7ffbd,#55df7f);
  color:#06100a;
  box-shadow:0 12px 40px rgba(70,225,121,.18);
}
body.v13-outbreak-ready .menu-bg{
  filter:saturate(.72) hue-rotate(38deg) brightness(.62);
}
body.v13-outbreak-ready .menu-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 28%,rgba(90,255,135,.08),transparent 28%),
    linear-gradient(180deg,rgba(1,7,8,.08),rgba(1,7,8,.76));
}
body.v13-outbreak-ready.critical-survival #survivalHud{
  animation:survivalCritical 1s ease-in-out infinite alternate;
}
@keyframes survivalCritical{
  to{border-color:rgba(255,93,93,.62);box-shadow:0 0 30px rgba(255,62,62,.18)}
}

#dayNightOverlay{
  position:fixed;
  inset:0;
  z-index:11;
  pointer-events:none;
  opacity:.05;
  background:
    radial-gradient(circle at 50% 45%,rgba(5,22,32,.12),rgba(0,2,12,.82)),
    linear-gradient(180deg,rgba(17,39,78,.35),rgba(3,5,22,.72));
  mix-blend-mode:multiply;
  transition:opacity .7s linear;
}
#dayNightOverlay::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:calc(var(--night,0) * .42);
  background:
    radial-gradient(circle at 75% 14%,rgba(147,194,255,.42) 0 2%,transparent 8%),
    repeating-linear-gradient(115deg,transparent 0 58px,rgba(123,173,255,.018) 59px 60px);
}
#damageVignette{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:44;
  opacity:0;
  background:radial-gradient(circle at center,transparent 42%,rgba(139,0,0,.48) 100%);
  transition:opacity .08s linear;
}
#outbreakCrosshair{
  --spread:9px;
  position:fixed;
  left:50%;
  top:50%;
  width:0;
  height:0;
  z-index:50;
  pointer-events:none;
  filter:drop-shadow(0 0 4px #000);
}
#outbreakCrosshair i{
  position:absolute;
  display:block;
  background:rgba(235,255,241,.94);
  border-radius:3px;
  transition:transform .05s linear;
}
#outbreakCrosshair i:nth-child(1){width:8px;height:2px;transform:translate(calc(-1 * var(--spread) - 8px),-1px)}
#outbreakCrosshair i:nth-child(2){width:8px;height:2px;transform:translate(var(--spread),-1px)}
#outbreakCrosshair i:nth-child(3){width:2px;height:8px;transform:translate(-1px,calc(-1 * var(--spread) - 8px))}
#outbreakCrosshair i:nth-child(4){width:2px;height:8px;transform:translate(-1px,var(--spread))}
#outbreakCrosshair b{
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  transform:translate(-1.5px,-1.5px);
  background:#b8ffca;
  box-shadow:0 0 8px rgba(127,255,158,.8);
}
#hitMarker{
  position:fixed;
  left:50%;
  top:50%;
  width:0;
  height:0;
  z-index:51;
  pointer-events:none;
  opacity:0;
  transform:scale(.7);
}
#hitMarker.active{opacity:1;transform:scale(1)}
#hitMarker i{
  position:absolute;
  width:8px;
  height:2px;
  background:#fff;
  box-shadow:0 0 5px #000;
}
#hitMarker i:nth-child(1){transform:translate(-10px,-10px) rotate(45deg)}
#hitMarker i:nth-child(2){transform:translate(2px,-10px) rotate(-45deg)}
#hitMarker i:nth-child(3){transform:translate(-10px,8px) rotate(-45deg)}
#hitMarker i:nth-child(4){transform:translate(2px,8px) rotate(45deg)}

.survival-hud{
  position:fixed;
  z-index:32;
  top:82px;
  left:50%;
  transform:translateX(-50%);
  width:min(720px,calc(100vw - 540px));
  min-width:430px;
  display:grid;
  grid-template-columns:auto repeat(3,minmax(100px,1fr)) auto;
  align-items:center;
  gap:12px;
  padding:9px 12px;
  background:linear-gradient(135deg,rgba(7,15,17,.92),rgba(10,23,21,.78));
  border-color:rgba(157,255,179,.18);
}
.survival-title{display:flex;flex-direction:column;gap:2px;min-width:108px}
.survival-title span{font-size:8px;letter-spacing:.17em;color:#9ab0a1}
.survival-title strong{font-size:10px;letter-spacing:.06em;color:#e9fff0}
.survival-meter{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px}
.survival-meter span{font-size:7px;letter-spacing:.12em;color:#95a79a}
.survival-meter>div{height:4px;background:rgba(255,255,255,.08);overflow:hidden}
.survival-meter b{display:block;height:100%;width:100%;transition:width .25s ease}
.survival-meter strong{font-size:9px;min-width:20px;text-align:right}
.survival-meter.hunger b{background:linear-gradient(90deg,#ffb85d,#ffe18e)}
.survival-meter.thirst b{background:linear-gradient(90deg,#4dc4ff,#89e7ff)}
.survival-meter.infection b{background:linear-gradient(90deg,#4fd875,#b2ff76)}
.survival-actions{display:flex;gap:4px}
.survival-actions button{
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  color:#b9c9be;
  padding:5px 6px;
  font:700 7px/1 system-ui;
  letter-spacing:.07em;
  cursor:pointer;
}
.survival-actions button:hover{color:#fff;border-color:rgba(157,255,179,.35)}
.survival-actions button b{color:var(--outbreak-green)}

.arsenal-hud{
  position:fixed;
  z-index:34;
  right:18px;
  bottom:152px;
  width:318px;
  padding:13px 14px 10px;
  background:linear-gradient(145deg,rgba(6,13,16,.95),rgba(17,23,26,.82));
  border-color:rgba(157,255,179,.2);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.arsenal-main{display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center}
.arsenal-main img{
  width:48px;height:48px;object-fit:contain;image-rendering:pixelated;
  filter:drop-shadow(0 0 9px rgba(157,255,179,.32));
}
.arsenal-main>div{min-width:0;display:flex;flex-direction:column}
.arsenal-main small{font-size:8px;letter-spacing:.12em;color:#8e9e94}
.arsenal-main small em{font-style:normal;color:var(--outbreak-green);float:right}
.arsenal-main strong{font-size:15px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arsenal-main span{font-size:9px;color:#9aa8a0}
.ammo-block{
  position:absolute;
  right:14px;
  top:54px;
  display:flex;
  align-items:baseline;
  gap:4px;
}
.ammo-block strong{font-size:29px;line-height:1;color:#fff;letter-spacing:-.05em}
.ammo-block i{font-style:normal;color:#52605a}
.ammo-block span{font-size:15px;color:#9fb0a5}
.ammo-block small{position:absolute;right:0;top:29px;width:140px;text-align:right;font-size:7px;letter-spacing:.1em;color:#718178}
.heat-line{height:3px;margin-top:12px;background:rgba(255,255,255,.06);overflow:hidden}
.heat-line b{display:block;width:0;height:100%;background:linear-gradient(90deg,#61e987,#ffb25f,#ff5c5c);transition:width .08s linear}
.reload-progress{margin-top:8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}
.reload-progress.hidden{display:none}
.reload-progress span,.reload-progress em{font-size:7px;letter-spacing:.1em;color:#c9d5cc;font-style:normal}
.reload-progress>div{height:4px;background:rgba(255,255,255,.08)}
.reload-progress b{display:block;height:100%;width:0;background:var(--outbreak-green)}
.arsenal-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;color:#6f8076;font-size:7px;letter-spacing:.07em}
.arsenal-meta b{color:var(--outbreak-amber)}

.weapon-deck{
  position:fixed;
  z-index:33;
  left:50%;
  bottom:145px;
  transform:translateX(-50%);
  display:flex;
  gap:4px;
  padding:5px;
  background:rgba(4,10,12,.84);
  border-color:rgba(157,255,179,.14);
  max-width:calc(100vw - 690px);
}
.weapon-slot{
  position:relative;
  width:62px;
  height:55px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:#88988e;
  cursor:pointer;
  overflow:hidden;
  transition:.15s ease;
}
.weapon-slot:hover{border-color:rgba(157,255,179,.3);transform:translateY(-2px)}
.weapon-slot.active{
  border-color:rgba(157,255,179,.7);
  background:linear-gradient(145deg,rgba(114,255,151,.16),rgba(255,255,255,.035));
  color:#fff;
  box-shadow:0 0 20px rgba(73,255,124,.12);
}
.weapon-slot.empty{filter:saturate(.2);opacity:.55}
.weapon-slot em{position:absolute;left:5px;top:4px;font:800 8px system-ui;color:#a9b8af}
.weapon-slot img{width:31px;height:31px;object-fit:contain;image-rendering:pixelated;margin-top:4px}
.weapon-slot span{position:absolute;left:3px;right:3px;bottom:4px;font:800 6px/1 system-ui;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weapon-slot small{position:absolute;right:4px;top:4px;font:700 6px system-ui;color:#8fa198}

.kill-banner{
  position:fixed;
  z-index:36;
  left:50%;
  top:158px;
  transform:translateX(-50%);
  text-align:center;
  pointer-events:none;
  animation:killPop .22s ease-out;
}
.kill-banner.hidden{display:none}
.kill-banner strong{display:block;font:950 37px/1 system-ui;color:#fff;text-shadow:0 0 24px rgba(255,103,75,.78)}
.kill-banner span{font:800 9px system-ui;letter-spacing:.22em;color:#ffad7a}
@keyframes killPop{from{transform:translateX(-50%) scale(.55);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}
.supply-notice{
  position:fixed;
  z-index:36;
  right:24px;
  top:145px;
  padding:12px 17px;
  border-left:3px solid var(--outbreak-amber);
  background:rgba(10,17,17,.92);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.supply-notice.hidden{display:none}
.supply-notice strong,.supply-notice span{display:block}
.supply-notice strong{font-size:11px;letter-spacing:.12em;color:var(--outbreak-amber)}
.supply-notice span{font-size:9px;color:#98a79e;margin-top:3px}

body.v13-outbreak-ready .weapon-card{display:none}
body.v13-outbreak-ready #worldModifier{right:18px;bottom:286px}
body.v13-outbreak-ready #dailyTracker{right:18px;bottom:350px}
body.v13-outbreak-ready .bottom-hud{z-index:35}
body.v13-outbreak-ready .quest-panel,
body.v13-outbreak-ready .party-panel{z-index:31}
body.v13-outbreak-ready .hint{z-index:39}

@media (pointer:coarse){
  #outbreakCrosshair,#hitMarker{display:none}
}
@media (max-width:1180px){
  .survival-hud{left:260px;right:330px;transform:none;width:auto;min-width:0}
  .survival-actions{display:none}
  .weapon-deck{max-width:calc(100vw - 420px);left:18px;transform:none;overflow-x:auto}
  .weapon-slot{flex:0 0 55px}
}
@media (max-width:860px){
  .survival-hud{
    top:70px;
    left:8px;
    right:8px;
    grid-template-columns:1fr 1fr 1fr;
    gap:6px;
    padding:7px;
  }
  .survival-title{grid-column:1/-1;flex-direction:row;justify-content:space-between}
  .survival-actions{display:none}
  .arsenal-hud{right:8px;bottom:112px;width:245px;padding:9px}
  .arsenal-main{grid-template-columns:38px 1fr}
  .arsenal-main img{width:36px;height:36px}
  .arsenal-main strong{font-size:11px}
  .ammo-block{top:44px;right:9px}
  .ammo-block strong{font-size:22px}
  .weapon-deck{left:8px;right:8px;bottom:70px;max-width:none;transform:none;overflow-x:auto}
  .weapon-slot{flex:0 0 52px;height:49px}
  body.v13-outbreak-ready #worldModifier,
  body.v13-outbreak-ready #dailyTracker{display:none}
}
@media (max-width:560px){
  .survival-hud{top:63px}
  .arsenal-hud{bottom:126px;width:210px}
  .arsenal-meta{display:none}
  .weapon-deck{bottom:73px}
  .weapon-slot{flex-basis:47px}
  .weapon-slot img{width:27px;height:27px}
  .kill-banner{top:145px}
}
