/* ============================================================
   PHX ARCADE — Premium Polish Layer (V0.5.5 GPT)
   Loaded AFTER hub.css/style.css. Additive only — no rules
   should remove or break baseline layout.
   ============================================================ */

:root{
  --phx-fire-1:#ffd76a;
  --phx-fire-2:#ff8a2a;
  --phx-fire-3:#c43a14;
  --phx-fire-edge:#5a1a08;
  --phx-gold:#ffce6a;
  --phx-gold-deep:#a07028;
  --phx-ember:#ff5a1a;
  --phx-night-1:#1a0a06;
  --phx-night-2:#0d0508;
  --phx-night-3:#070205;
  --phx-card-bg: linear-gradient(165deg,#1f1009 0%,#160906 55%,#0b0405 100%);
  --phx-card-edge: 1px solid rgba(255,200,110,.18);
  --phx-card-inner-glow: inset 0 1px 0 rgba(255,225,150,.10);
}

/* ---------- global ember ambience ---------- */
@keyframes phxEmberRise{
  0%{ transform: translateY(0) translateX(0); opacity:0; }
  10%{ opacity:.7; }
  100%{ transform: translateY(-130vh) translateX(20px); opacity:0; }
}
@keyframes phxGlowPulse{
  0%,100%{ box-shadow: 0 0 0 0 rgba(255,170,60,.0), 0 12px 36px rgba(0,0,0,.6); }
  50%{ box-shadow: 0 0 26px 4px rgba(255,170,60,.18), 0 14px 42px rgba(0,0,0,.7); }
}
@keyframes phxFireFlicker{
  0%,100%{ filter: drop-shadow(0 0 8px rgba(255,150,40,.45)); }
  50%{ filter: drop-shadow(0 0 18px rgba(255,200,80,.85)); }
}
@keyframes phxBannerShimmer{
  0%{ background-position:-200% 0; }
  100%{ background-position:200% 0; }
}
@keyframes phxScanline{
  0%{ transform: translateY(-100%); }
  100%{ transform: translateY(100%); }
}
@keyframes phxRingSpin{
  to{ transform: rotate(360deg); }
}

/* ---------- background ambience overlay ---------- */
#hubScreen .menu-bg::after,
#allianceScreen .menu-bg::after,
#fallacyHoardScreen .menu-bg::after,
#tradingPostScreen .menu-bg::after,
#artLevelScreen .menu-bg::after,
#burnerLevelScreen .menu-bg::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background:
    radial-gradient(70% 50% at 50% 100%, rgba(255,120,40,.18), transparent 70%),
    radial-gradient(40% 60% at 12% 0%, rgba(180,60,20,.14), transparent 70%),
    radial-gradient(40% 60% at 88% 8%, rgba(255,180,80,.10), transparent 70%);
  mix-blend-mode: screen;
  z-index:0;
}

/* ---------- shimmering kicker ---------- */
.hub-mini-kicker, .kicker{
  background: linear-gradient(90deg,
    var(--phx-gold) 0%, #fff0c2 25%, var(--phx-gold) 50%,
    #fff0c2 75%, var(--phx-gold) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: phxBannerShimmer 6s linear infinite;
  letter-spacing:.22em;
  font-weight:800;
}

/* ---------- hero hub card ---------- */
.hub-hero-card--lobby{
  position:relative;
  background: var(--phx-card-bg);
  border: var(--phx-card-edge);
  border-radius:18px;
  box-shadow:
    var(--phx-card-inner-glow),
    0 18px 60px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,170,60,.04);
  overflow:hidden;
}
.hub-hero-card--lobby::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(60% 70% at 70% 110%, rgba(255,150,40,.30), transparent 70%),
    radial-gradient(50% 50% at 10% -10%, rgba(255,200,90,.18), transparent 70%);
  pointer-events:none;
}
.hub-hero-card--lobby::after{
  content:"";
  position:absolute; top:0; left:-40%;
  width:40%; height:100%;
  background: linear-gradient(110deg,
    transparent 0%, rgba(255,235,180,.10) 45%,
    rgba(255,255,255,.18) 50%, rgba(255,235,180,.10) 55%, transparent 100%);
  transform: skewX(-12deg);
  animation: phxScanline 7s ease-in-out infinite alternate;
  pointer-events:none;
}

/* ---------- nav cards: glowing frames ---------- */
.hub-nav-card{
  position:relative;
  background: var(--phx-card-bg) !important;
  border: var(--phx-card-edge) !important;
  border-radius:16px;
  box-shadow:
    var(--phx-card-inner-glow),
    0 8px 28px rgba(0,0,0,.55);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  isolation:isolate;
}
.hub-nav-card::before{
  content:"";
  position:absolute; inset:-1px;
  border-radius:inherit;
  padding:1px;
  background: linear-gradient(135deg,
    rgba(255,200,110,.40), rgba(255,90,30,.10) 30%,
    transparent 50%, rgba(255,90,30,.10) 70%, rgba(255,200,110,.40));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
  opacity:.55;
}
.hub-nav-card:hover, .hub-nav-card:active{
  transform: translateY(-2px);
  box-shadow:
    var(--phx-card-inner-glow),
    0 14px 36px rgba(0,0,0,.7),
    0 0 22px rgba(255,150,40,.22);
  border-color: rgba(255,200,110,.4) !important;
}
.hub-nav-card:hover::before{ opacity:1; }
.hub-nav-primary{
  background: linear-gradient(165deg,#3a160a 0%,#260a08 50%,#0e0405 100%) !important;
  animation: phxGlowPulse 3.6s ease-in-out infinite;
}
.hub-nav-primary .hn-icon{
  animation: phxFireFlicker 1.6s ease-in-out infinite;
}
.hub-nav-card b{
  background: linear-gradient(180deg,#fff5d6,#ffd07a);
  -webkit-background-clip: text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 0 18px rgba(255,180,60,.18);
}
.hub-nav-card .nav-art{
  position:relative;
}
.hub-nav-card .nav-art::after{
  content:"";
  position:absolute; inset:0; border-radius:inherit;
  background: radial-gradient(60% 60% at 50% 100%, rgba(255,150,40,.35), transparent 70%);
  pointer-events:none;
}

/* ---------- new arena card variant ---------- */
.hub-nav-card--arena{
  background: linear-gradient(165deg,#2a0810 0%,#190308 50%,#08010a 100%) !important;
}
.hub-nav-card--arena .hn-icon{ animation: phxFireFlicker 1.2s ease-in-out infinite; }
.hub-nav-card--arena::after{
  content:"NEW";
  position:absolute; top:9px; right:9px;
  font:800 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.16em;
  background: linear-gradient(180deg,#ffd76a,#ff8a2a);
  color:#260a04;
  padding:4px 7px;
  border-radius:4px;
  box-shadow: 0 0 12px rgba(255,170,60,.55);
  z-index:2;
}
.hub-nav-card--trading{
  background: linear-gradient(165deg,#1a1606 0%,#0e0c05 60%,#06050a 100%) !important;
}
.hub-nav-card--trading .hn-icon{ color:#ffd76a; text-shadow:0 0 14px rgba(255,200,90,.6); }

/* ---------- bank chips polish ---------- */
.hub-bank, .bank{ gap:6px; }
.bank-chip, .hub-bank .chip, .hub-bank > div, .bank > div{
  position:relative;
  background: linear-gradient(180deg,#1c0e08,#0d0606) !important;
  border:1px solid rgba(255,200,110,.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.10),
    0 4px 14px rgba(0,0,0,.5);
}

/* ---------- buttons: btn upgrade ---------- */
.btn{
  position:relative;
  background: linear-gradient(180deg,#ff9a3a 0%,#d6521a 60%,#7a2208 100%) !important;
  border:1px solid rgba(255,210,130,.5) !important;
  color:#fff7e0 !important;
  text-shadow: 0 1px 2px rgba(60,20,4,.7);
  box-shadow:
    inset 0 1px 0 rgba(255,235,180,.5),
    inset 0 -2px 6px rgba(80,20,4,.7),
    0 8px 22px rgba(255,90,30,.28),
    0 2px 0 rgba(60,20,4,.6);
  overflow:hidden;
}
.btn::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  transform: translateX(-100%);
  transition: transform .5s ease;
}
.btn:hover::after, .btn:active::after{ transform: translateX(100%); }
.btn--ghost{
  background: linear-gradient(180deg,rgba(30,16,10,.85),rgba(14,6,6,.85)) !important;
  border:1px solid rgba(255,180,80,.35) !important;
  color:#ffd9a0 !important;
  text-shadow: none;
  box-shadow:
    inset 0 1px 0 rgba(255,220,140,.18),
    0 4px 14px rgba(0,0,0,.45);
}

/* ---------- result overlay polish ---------- */
#resultOverlay .panel{
  background: var(--phx-card-bg) !important;
  border: 1px solid rgba(255,200,110,.28) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.10),
    0 30px 80px rgba(0,0,0,.7),
    0 0 60px rgba(255,140,40,.22);
}
.result-stars span.on{
  color: var(--phx-gold) !important;
  text-shadow: 0 0 18px rgba(255,200,90,.85), 0 0 4px #fff;
  animation: phxFireFlicker 1.4s ease-in-out infinite;
}

/* ---------- briefing / settings panels ---------- */
.panel{
  background: var(--phx-card-bg) !important;
  border:1px solid rgba(255,200,110,.22) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.10),
    0 22px 60px rgba(0,0,0,.65) !important;
}

/* ---------- in-game HUD polish ---------- */
.hud, .bn-hud{
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  background: linear-gradient(180deg, rgba(20,8,6,.88), rgba(14,6,4,.72)) !important;
  border-bottom: 1px solid rgba(255,200,110,.18);
}
.hud-name, .bn-name{
  background: linear-gradient(180deg,#fff5d6,#ffce6a);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  letter-spacing:.04em;
}
.hud-btn{
  background: linear-gradient(180deg,#2a1108,#160806) !important;
  border:1px solid rgba(255,200,110,.30) !important;
  color:#ffd9a0 !important;
  box-shadow: inset 0 1px 0 rgba(255,225,150,.15), 0 4px 12px rgba(0,0,0,.55);
}

/* ---------- enemy HP track polish ---------- */
.eh-track, .bn-track{
  background: linear-gradient(180deg,#1a0a06,#0a0404) !important;
  border:1px solid rgba(255,200,110,.20) !important;
  box-shadow: inset 0 2px 6px rgba(0,0,0,.7);
}
.eh-fill{
  background: linear-gradient(90deg,#ff3a0a,#ff8a2a 35%,#ffd76a 70%,#ffe9a8) !important;
  box-shadow: 0 0 16px rgba(255,150,40,.55);
}
.bn-fill{
  background: linear-gradient(90deg,#ff7a2a,#ffce6a 60%,#fff0c2) !important;
  box-shadow: 0 0 14px rgba(255,170,60,.5);
}

/* ---------- level grid cards ---------- */
.level-grid > *, .lg-card{
  background: linear-gradient(165deg,#1c0e08 0%,#0e0606 60%,#06030a 100%) !important;
  border:1px solid rgba(255,200,110,.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.10),
    0 8px 22px rgba(0,0,0,.6) !important;
  transition: transform .14s ease, box-shadow .14s ease;
}
.level-grid > *:hover, .lg-card:hover{
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.14),
    0 12px 28px rgba(0,0,0,.7),
    0 0 18px rgba(255,150,40,.22) !important;
  border-color: rgba(255,200,110,.4) !important;
}
.level-grid > .locked{ filter: grayscale(.45) brightness(.8); }
.level-grid > .boss::before{
  content:"BOSS";
  position:absolute; top:8px; right:8px;
  background: linear-gradient(180deg,#ffd76a,#c43a14);
  color:#1a0a06;
  font:800 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.14em;
  padding:3px 6px; border-radius:4px;
  box-shadow: 0 0 12px rgba(255,90,30,.6);
  z-index:2;
}

/* ---------- toast polish ---------- */
#toast{
  background: linear-gradient(180deg, rgba(40,14,8,.95), rgba(18,6,6,.95)) !important;
  border:1px solid rgba(255,200,110,.30) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.10),
    0 14px 40px rgba(0,0,0,.7),
    0 0 22px rgba(255,150,40,.25);
}

/* =================================================================
   TRADING POST
   ================================================================= */
.tp-wrap{
  max-width:640px;
  margin:0 auto;
  padding:16px 14px 80px;
  position:relative; z-index:1;
}
.tp-head{ margin-bottom:6px; }
.tp-intro{
  color:#d9bf94; font-size:13px;
  margin:4px 4px 14px; text-align:center;
  opacity:.88;
}
.tp-bank{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:6px;
  background: var(--phx-card-bg);
  border: var(--phx-card-edge);
  border-radius:12px;
  padding:10px;
  margin:0 0 16px;
  box-shadow: inset 0 1px 0 rgba(255,225,150,.10), 0 8px 22px rgba(0,0,0,.45);
}
.tp-bank-chip{
  display:flex; flex-direction:column; align-items:center;
  gap:2px; padding:6px 4px;
  border-radius:8px;
  background: linear-gradient(180deg,#1a0c08,#0b0506);
  border:1px solid rgba(255,200,110,.15);
}
.tp-bank-chip img{ width:24px; height:24px; object-fit:contain; filter: drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
.tp-bank-chip b{
  background: linear-gradient(180deg,#fff5d6,#ffce6a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font:800 16px/1 'Barlow Condensed','Arial Narrow',sans-serif;
}
.tp-bank-chip span{
  font:600 9px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  color:#a08868; letter-spacing:.08em; text-transform:uppercase;
}

.tp-section{ margin-bottom:18px; }
.tp-section-head{ margin:0 4px 10px; }
.tp-section-head .kicker{
  font-size:10px; letter-spacing:.22em;
}
.tp-section-head h3{
  margin:2px 0 0;
  font:800 18px/1.1 'Barlow Condensed','Arial Narrow',sans-serif;
  background: linear-gradient(180deg,#fff5d6,#ffce6a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  letter-spacing:.02em;
}
.tp-rows{ display:flex; flex-direction:column; gap:9px; }

.tp-row{
  position:relative;
  background: var(--phx-card-bg);
  border: var(--phx-card-edge);
  border-radius:12px;
  padding:10px 12px 11px;
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.10),
    0 6px 18px rgba(0,0,0,.5);
}
.tp-row--bonus{
  background: linear-gradient(165deg,#2a1606 0%,#1a0a06 60%,#0a0508 100%);
  border-color: rgba(255,170,60,.45);
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.18),
    0 8px 24px rgba(0,0,0,.55),
    0 0 18px rgba(255,150,40,.18);
}
.tp-row--bonus::before{
  content:""; position:absolute; inset:-1px;
  border-radius:inherit; padding:1px;
  background: linear-gradient(135deg, rgba(255,200,110,.55), transparent 40%, transparent 60%, rgba(255,90,30,.4));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.tp-row--break{
  background: linear-gradient(165deg,#10080c 0%,#0a0408 60%,#06030a 100%);
  border-color: rgba(180,150,180,.20);
}
.tp-row--disabled{ opacity:.55; }
.tp-kicker{
  font:800 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.18em; color:#ffce6a;
  margin-bottom:6px;
  text-shadow: 0 0 10px rgba(255,170,60,.4);
}
.tp-row-main{
  display:flex; align-items:center; gap:10px;
}
.tp-side{
  flex:1; display:flex; align-items:center; gap:8px;
  background: linear-gradient(180deg,#170a07,#0a0606);
  border:1px solid rgba(255,200,110,.14);
  border-radius:10px;
  padding:8px 10px;
  min-width:0;
}
.tp-side img{ width:28px; height:28px; object-fit:contain; }
.tp-side .tp-amt{
  font:800 22px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  background: linear-gradient(180deg,#fff5d6,#ffce6a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  min-width:24px; text-align:center;
}
.tp-side .tp-side-name{
  font:700 11px/1.1 'Barlow Condensed','Arial Narrow',sans-serif;
  color:#d4b48a; letter-spacing:.04em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.tp-side--give{ background: linear-gradient(180deg,#10080c,#080406); }
.tp-side--get{
  background: linear-gradient(180deg,#1c1108,#10070b);
  border-color: rgba(255,200,110,.30);
  box-shadow: inset 0 0 12px rgba(255,150,40,.10);
}
.tp-arrow{
  font:800 18px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  color:#ffce6a;
  text-shadow: 0 0 10px rgba(255,170,60,.6);
  flex:0 0 auto;
}
.tp-trade-btn{
  flex:0 0 auto;
  padding:9px 12px !important;
  font:800 13px/1 'Barlow Condensed','Arial Narrow',sans-serif !important;
  letter-spacing:.10em;
}
.tp-trade-btn[disabled]{
  background: linear-gradient(180deg,#2a1c14,#160c0a) !important;
  color:#7a6452 !important;
  border-color: rgba(160,120,90,.20) !important;
  cursor:not-allowed;
  box-shadow: none !important;
}
.tp-row-foot{
  margin-top:6px;
  font:600 10.5px/1.3 'Barlow Condensed','Arial Narrow',sans-serif;
  color:#a08868; letter-spacing:.04em;
  text-align:right;
}

/* =================================================================
   ARENA (Mug's Arena demo)
   ================================================================= */
#arenaScreen{ background:#06030a; }
#arenaCanvas{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block;
  background: radial-gradient(60% 80% at 50% 60%, #2a0a06 0%, #160506 50%, #06020a 100%);
}
.arena-hud{
  position:absolute; top:env(safe-area-inset-top,0); left:0; right:0;
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 14px;
  background: linear-gradient(180deg, rgba(20,8,6,.88), rgba(14,6,4,.0));
  z-index:5;
  pointer-events:none;
}
.arena-hud button{ pointer-events:auto; }
.arena-hud-mid{
  flex:1; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:2px;
}
.arena-name{
  font:800 13px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.10em;
  background: linear-gradient(180deg,#fff5d6,#ffce6a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.arena-stats{
  display:flex; gap:14px; align-items:center;
  font:800 16px/1 'Barlow Condensed','Arial Narrow',sans-serif;
}
.arena-stat .lab{
  font:700 9px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  color:#a08868; letter-spacing:.18em;
  display:block; margin-bottom:1px;
}
.arena-stat b{
  background: linear-gradient(180deg,#fff5d6,#ffce6a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.arena-xpbar{
  position:absolute; left:14px; right:14px;
  top:calc(env(safe-area-inset-top,0) + 60px);
  height:6px;
  background: linear-gradient(180deg,#1a0a06,#0a0404);
  border:1px solid rgba(255,200,110,.18);
  border-radius:4px;
  overflow:hidden;
  z-index:4;
}
.arena-xpfill{
  height:100%;
  background: linear-gradient(90deg,#ff8a2a,#ffd76a 70%,#fff0c2);
  box-shadow: 0 0 14px rgba(255,170,60,.5);
  width:0%;
  transition: width .15s linear;
}
.arena-startoverlay,
.arena-pickoverlay,
.arena-cashoverlay,
.arena-endoverlay{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background: rgba(6,2,8,.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index:20;
  padding:20px;
}
.arena-card{
  background: var(--phx-card-bg);
  border:1px solid rgba(255,200,110,.32);
  border-radius:18px;
  padding:22px 22px 20px;
  max-width:340px; width:100%;
  text-align:center;
  box-shadow:
    inset 0 1px 0 rgba(255,225,150,.12),
    0 24px 60px rgba(0,0,0,.7),
    0 0 36px rgba(255,150,40,.18);
}
.arena-card .kicker{ font-size:11px; }
.arena-card h2{
  margin:6px 0 8px;
  font:900 26px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  background: linear-gradient(180deg,#fff5d6,#ffce6a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.arena-card p{
  margin:0 0 16px;
  color:#d9bf94; font-size:13px; line-height:1.45;
}
.arena-card .btn{ width:100%; padding:11px 14px; font-size:14px; }

.arena-picks{
  display:flex; flex-direction:column; gap:10px;
  margin-top:8px;
}
.arena-pick{
  display:flex; align-items:center; gap:12px;
  background: linear-gradient(165deg,#1c0e08,#0a0506);
  border:1px solid rgba(255,200,110,.22);
  border-radius:12px;
  padding:11px 12px;
  cursor:pointer;
  text-align:left;
  color:#fff5d6;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.arena-pick:hover, .arena-pick:active{
  transform: translateY(-1px);
  border-color: rgba(255,200,110,.55);
  box-shadow: 0 8px 22px rgba(0,0,0,.6), 0 0 16px rgba(255,150,40,.25);
}
.arena-pick-icon{
  flex:0 0 auto; width:42px; height:42px; border-radius:10px;
  background: linear-gradient(180deg,#3a1a08,#1a0a06);
  display:flex; align-items:center; justify-content:center;
  font-size:22px;
  border:1px solid rgba(255,200,110,.30);
  text-shadow: 0 0 10px rgba(255,170,60,.6);
}
.arena-pick-text{ flex:1; min-width:0; }
.arena-pick-text b{
  display:block;
  font:800 14px/1.1 'Barlow Condensed','Arial Narrow',sans-serif;
  color:#fff5d6;
}
.arena-pick-text small{
  display:block;
  margin-top:2px;
  font-size:11px; color:#a08868;
}
.arena-joystick{
  position:absolute; bottom:24px; left:24px;
  width:120px; height:120px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(255,170,60,.10), rgba(0,0,0,.4));
  border:1px solid rgba(255,200,110,.25);
  z-index:6;
  touch-action:none;
}
.arena-joystick-thumb{
  position:absolute; left:50%; top:50%;
  width:48px; height:48px; margin:-24px 0 0 -24px;
  border-radius:50%;
  background: radial-gradient(circle at 35% 30%, #ffd76a, #c43a14);
  border:1px solid rgba(255,235,180,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 6px 14px rgba(0,0,0,.55),
    0 0 18px rgba(255,150,40,.45);
  pointer-events:none;
}



/* ============================================================
   V0.5.5 GPT — Phone Fix Pass
   Home navigation card repair, Table-Flip HUD cleanup, Arena readability.
   ============================================================ */

/* Home screen: undo the previous polish layer bug that made card art
   participate in normal layout flow. Art is decorative and anchored. */
#hubScreen .hub-nav-grid--visual{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
#hubScreen .hub-nav-grid--visual .hub-nav-card{
  min-height:126px!important;
  height:auto!important;
  padding:12px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  overflow:hidden!important;
  text-align:left!important;
}
#hubScreen .hub-nav-grid--visual .hub-nav-primary{
  min-height:104px!important;
}
#hubScreen .hub-nav-card .hn-icon{
  font-size:18px!important;
  margin-bottom:4px!important;
}
#hubScreen .hub-nav-grid--visual .hub-nav-card b,
#hubScreen .hub-nav-grid--visual .hub-nav-card small,
#hubScreen .hub-nav-grid--visual .hub-nav-card .hn-icon{
  position:relative!important;
  z-index:4!important;
  max-width:62%!important;
}
#hubScreen .hub-nav-grid--visual .hub-nav-primary b,
#hubScreen .hub-nav-grid--visual .hub-nav-primary small,
#hubScreen .hub-nav-grid--visual .hub-nav-primary .hn-icon{
  max-width:68%!important;
}
#hubScreen .hub-nav-card .nav-art{
  position:absolute!important;
  right:-8px!important;
  bottom:-10px!important;
  top:auto!important;
  width:43%!important;
  height:108%!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  z-index:1!important;
  opacity:.96!important;
  pointer-events:none!important;
}
#hubScreen .hub-nav-card .nav-art::before{
  content:""!important;
  position:absolute!important;
  inset:16px 0 8px!important;
  border-radius:999px!important;
  background:radial-gradient(circle,rgba(255,186,72,.23),rgba(255,91,25,.06) 58%,transparent 72%)!important;
  filter:blur(1px)!important;
}
#hubScreen .hub-nav-card .nav-art::after{display:none!important;}
#hubScreen .hub-nav-card .nav-art img{
  position:relative!important;
  z-index:2!important;
  max-width:118%!important;
  max-height:108%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.76))!important;
}
#hubScreen .nav-art--campaign{right:2px!important;width:33%!important;}
#hubScreen .nav-art--campaign img{max-height:124%!important;transform:translateY(14px)!important;}
#hubScreen .hub-nav-card--hoard .nav-art{right:-14px!important;width:46%!important;}
#hubScreen .hub-nav-card--hoard .nav-art img{max-height:112%!important;transform:translateY(6px)!important;}
#hubScreen .hub-nav-card--trading .nav-art{right:-16px!important;width:48%!important;}
#hubScreen .hub-nav-card--trading .nav-art img{max-height:88%!important;transform:translateY(14px)!important;}
#hubScreen .hub-nav-card--arena .nav-art{right:-8px!important;width:42%!important;}
#hubScreen .hub-nav-card--arena .nav-art img{max-height:104%!important;transform:translateY(8px)!important;}
#hubScreen .hub-nav-card--prologue .nav-art{
  right:0!important;top:0!important;bottom:0!important;width:48%!important;height:100%!important;opacity:.38!important;
}
#hubScreen .hub-nav-card--prologue .nav-art::before{display:none!important;}
#hubScreen .hub-nav-card--prologue .nav-art img{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;filter:none!important;transform:none!important;
}
#hubScreen .nav-art--lineup{
  right:6px!important;bottom:16px!important;width:44%!important;height:46px!important;gap:0!important;align-items:flex-end!important;
}
#hubScreen .nav-art--lineup::before{inset:2px -2px -4px!important;}
#hubScreen .nav-art--lineup img{
  width:38px!important;height:38px!important;max-height:none!important;max-width:none!important;border-radius:50%!important;
  object-fit:cover!important;border:1px solid rgba(255,210,120,.45)!important;background:rgba(0,0,0,.26)!important;margin-left:-7px!important;
  box-shadow:0 8px 16px -10px #000!important;
}
#hubScreen .nav-art--lineup img:first-child{margin-left:0!important;}
#hubScreen .hub-nav-card--heroes b,
#hubScreen .hub-nav-card--heroes small{max-width:64%!important;}
#hubScreen .hub-nav-card--arena::after{
  content:"NEW"!important;
  position:absolute!important;
  inset:auto 9px auto auto!important;
  top:9px!important;left:auto!important;bottom:auto!important;
  width:auto!important;height:auto!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,#ffd76a,#ff8a2a)!important;
  color:#260a04!important;
  padding:4px 7px!important;
  font:900 10px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.14em!important;
  box-shadow:0 0 12px rgba(255,170,60,.45)!important;
  z-index:5!important;
}
#hubScreen .hub-footer-status{padding-bottom:14px!important;}
@media (max-width:390px){
  #hubScreen .hub-nav-grid--visual{gap:8px!important;}
  #hubScreen .hub-nav-grid--visual .hub-nav-card{min-height:116px!important;padding:11px!important;}
  #hubScreen .hub-nav-grid--visual .hub-nav-primary{min-height:98px!important;}
  #hubScreen .hub-nav-grid--visual .hub-nav-card b{font-size:15px!important;}
  #hubScreen .hub-nav-grid--visual .hub-nav-card small{font-size:10.5px!important;line-height:1.15!important;}
  #hubScreen .hub-nav-card .nav-art{width:40%!important;}
}

/* Table-Flip: compact the top command layer so the arena is not covered by a
   smoky black ribbon on short landscape phones. */
@media (orientation:landscape){
  #gameScreen .hud{
    height:58px!important;
    padding:7px 12px 0!important;
    background:linear-gradient(180deg,rgba(8,4,2,.42),rgba(8,4,2,0))!important;
  }
  #gameScreen .hud .hud-btn{width:38px!important;height:38px!important;border-radius:12px!important;font-size:19px!important;}
  #gameScreen .hud-mid{left:58px!important;top:7px!important;width:176px!important;max-width:23vw!important;}
  #gameScreen .hud-stats{font-size:11px!important;padding:3px 7px!important;background:rgba(18,8,4,.62)!important;}
  #gameScreen .enemy-hp{
    top:6px!important;
    width:min(410px,34vw)!important;
    min-height:48px!important;
    padding:6px 12px 7px!important;
    background:rgba(20,9,4,.66)!important;
    border-color:rgba(255,204,120,.30)!important;
    box-shadow:0 8px 20px -18px #000,inset 0 1px 0 rgba(255,236,190,.09)!important;
    backdrop-filter:none!important;
  }
  #gameScreen .enemy-hp .eh-label{font-size:9px!important;margin:0 22px 4px!important;letter-spacing:.10em!important;}
  #gameScreen .eh-track{height:10px!important;}
  #gameScreen .eh-hpnum{font-size:9px!important;}
  #gameScreen .objective-text{display:none!important;}
  #gameScreen .abilities{
    top:54px!important;
    left:calc(10px + env(safe-area-inset-left))!important;
    max-width:min(320px,34vw)!important;
    padding:5px 7px!important;
    gap:5px!important;
    background:rgba(20,9,4,.60)!important;
    backdrop-filter:none!important;
  }
  #gameScreen .ability{width:46px!important;height:52px!important;border-radius:14px!important;}
  #gameScreen .ability img{width:40px!important;height:40px!important;}
  #gameScreen .ability .ab-name{font-size:7.5px!important;}
  #joyBubble{top:108px!important;left:calc(74px + env(safe-area-inset-left))!important;}
}

/* Arena: use clearer survivor controls and keep overlays readable on phones. */
#arenaScreen .arena-startoverlay .arena-card p{line-height:1.28!important;}
#arenaScreen .arena-joystick{touch-action:none!important;}

/* ============================================================
   V0.5.5 GPT — Arena progression, fair trading, Table-Flip visibility
   ============================================================ */

/* Trading Post fair custom converter */
.tp-custom-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:linear-gradient(160deg,rgba(31,15,8,.94),rgba(10,5,6,.96));
  border:1px solid rgba(255,205,120,.22);
  box-shadow:inset 0 1px 0 rgba(255,235,180,.08),0 12px 30px rgba(0,0,0,.42);
}
.tp-custom-card label{display:flex;flex-direction:column;gap:5px;color:#cba779;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.tp-custom-card input,.tp-custom-card select{
  width:100%;min-height:42px;border-radius:12px;border:1px solid rgba(255,205,120,.24);
  background:rgba(5,3,4,.72);color:#fff3d0;padding:8px 10px;font:800 15px/1.1 'Barlow Condensed','Arial Narrow',sans-serif;
}
.tp-preview{grid-column:1/-1;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid rgba(255,205,120,.12);padding:9px 10px;color:#d2b083;line-height:1.25;}
.tp-preview b,.tp-preview span,.tp-preview small{display:block;}
.tp-preview strong{color:#ffd76a;}
.tp-custom-btn{grid-column:1/-1;}
.tp-quick-grid{display:grid;grid-template-columns:1fr;gap:8px;}
.tp-quick{border:1px solid rgba(255,205,120,.20);border-radius:14px;background:linear-gradient(160deg,rgba(31,15,8,.92),rgba(10,5,6,.96));color:#fff3d0;padding:10px 12px;text-align:left;box-shadow:inset 0 1px 0 rgba(255,235,180,.08);}
.tp-quick span{display:block;font:900 13px/1 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.12em;color:#ffd76a;text-transform:uppercase;}
.tp-quick b{display:block;margin-top:4px;font-size:13px;color:#d6b990;}
.tp-quick--disabled{opacity:.48;filter:saturate(.7);}
.tp-fair-note{margin:10px 4px 0;color:#a8906d;font-size:12px;line-height:1.3;}

/* Arena loadout and real RSS HUD */
.arena-loadout-pill{font-size:10px;color:#d6b990;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(540px,72vw);}
.arena-lootbar{position:absolute;top:calc(72px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:7;display:flex;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(12,5,4,.68);border:1px solid rgba(255,205,120,.18);box-shadow:0 8px 24px rgba(0,0,0,.28);pointer-events:none;}
.arena-lootbar span{display:flex;align-items:center;gap:4px;color:#fff1d0;font:800 12px/1 'Barlow Condensed','Arial Narrow',sans-serif;}
.arena-lootbar img{width:18px;height:18px;object-fit:contain;filter:drop-shadow(0 1px 2px #000);}
.arena-card--loadout{max-width:min(430px,92vw)!important;}
.arena-hero-picks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 12px;}
.arena-hero-pick{position:relative;min-height:116px;border-radius:16px;border:1px solid rgba(255,205,120,.20);background:linear-gradient(160deg,rgba(26,12,8,.96),rgba(8,3,5,.98));color:#fff3d0;text-align:left;padding:9px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,235,180,.08);}
.arena-hero-pick.selected{border-color:rgba(255,215,106,.72);box-shadow:0 0 20px rgba(255,140,40,.18),inset 0 1px 0 rgba(255,235,180,.16);}
.arena-hero-pick.selected::after{content:'SELECTED';position:absolute;right:7px;top:7px;border-radius:999px;background:#ffd76a;color:#261006;padding:3px 6px;font:900 8px/1 'Barlow Condensed';letter-spacing:.12em;}
.arena-hero-pick img{width:42px;height:42px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,218,150,.30);display:block;margin-bottom:5px;}
.arena-hero-pick b{display:block;font:900 15px/1 'Barlow Condensed','Arial Narrow';letter-spacing:.04em;}
.arena-hero-pick small{display:block;color:#ffd76a;font-size:10px;margin-top:2px;}
.arena-hero-pick em{display:block;color:#bca282;font-size:10px;line-height:1.16;margin-top:4px;font-style:normal;}
/* V0.9.2 GPT: unowned Arena heroes show as locked goals — greyed, silhouetted icon,
   LOCKED badge, and not pickable. The ⓘ preview still works so players can scout them. */
.arena-hero-pick.locked{opacity:.62;border-color:rgba(255,205,120,.12);filter:saturate(.5);cursor:default;}
.arena-hero-pick.locked img{filter:brightness(0) grayscale(1) opacity(.5);}
.arena-hero-pick.locked b,.arena-hero-pick.locked small{color:#9a8a72;}
.arena-hero-pick.locked::after{content:'LOCKED';position:absolute;right:7px;top:7px;border-radius:999px;background:rgba(0,0,0,.55);color:#d9c39c;border:1px solid rgba(255,205,120,.28);padding:3px 6px;font:900 8px/1 'Barlow Condensed';letter-spacing:.12em;}
.arena-hero-pick.locked .arena-hero-info{opacity:1;filter:none;pointer-events:auto;}
.arena-end-loot{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0;}
.arena-end-loot span{display:flex;align-items:center;gap:7px;border-radius:12px;background:rgba(0,0,0,.28);border:1px solid rgba(255,205,120,.14);padding:7px;color:#d6b990;}
.arena-end-loot img{width:24px;height:24px;object-fit:contain;}
.arena-end-loot b{color:#ffd76a;font-size:16px;}
.arena-end-loot em{font-style:normal;font-size:11px;}
@media (max-width:390px){.arena-hero-picks{gap:7px}.arena-hero-pick{min-height:108px;padding:8px}.arena-hero-pick img{width:36px;height:36px}.arena-lootbar{top:calc(66px + env(safe-area-inset-top));}.arena-lootbar span{font-size:11px}.arena-lootbar img{width:16px;height:16px}}

/* Table-Flip: remove fuzzy top strip and make castle HP readable. */
#gameScreen .hud,#gameScreen .enemy-hp,#gameScreen .abilities{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
@media (orientation:landscape){
  #gameScreen .hud{height:48px!important;padding:5px 10px 0!important;background:linear-gradient(180deg,rgba(8,4,2,.18),rgba(8,4,2,0))!important;}
  #gameScreen .hud .hud-btn{width:36px!important;height:36px!important;background:rgba(12,6,4,.84)!important;}
  #gameScreen .hud-mid{display:flex!important;position:absolute!important;left:52px!important;top:4px!important;width:170px!important;max-width:22vw!important;opacity:.96!important;}
  #gameScreen .hud-name{display:none!important;}
  #gameScreen .hud-stats{font-size:11px!important;padding:3px 7px!important;background:rgba(18,8,4,.74)!important;border:1px solid rgba(255,205,120,.22)!important;border-radius:11px!important;}
  #gameScreen .enemy-hp{top:4px!important;width:min(470px,38vw)!important;min-height:52px!important;padding:7px 13px 8px!important;background:rgba(12,5,4,.86)!important;border:1px solid rgba(255,205,120,.40)!important;border-radius:15px!important;box-shadow:0 8px 22px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,236,190,.10)!important;}
  #gameScreen .enemy-hp .eh-label{font-size:10px!important;margin:0 18px 4px!important;color:#fff0c8!important;text-shadow:0 1px 3px #000!important;}
  #gameScreen .enemy-hp .eh-label img{width:20px!important;height:20px!important;}
  #gameScreen .eh-track{height:12px!important;background:rgba(0,0,0,.70)!important;border-color:rgba(255,205,120,.38)!important;}
  #gameScreen .eh-fill{background:linear-gradient(90deg,#a31208,#ff3a1a,#ffd76a)!important;box-shadow:0 0 14px rgba(255,90,30,.65)!important;}
  #gameScreen .eh-hpnum{font-size:10px!important;color:#fff2d6!important;text-shadow:0 1px 3px #000!important;}
  #gameScreen .objective-text{display:none!important;}
  #gameScreen .abilities{top:50px!important;left:calc(9px + env(safe-area-inset-left))!important;background:rgba(12,5,4,.58)!important;border-color:rgba(255,205,120,.20)!important;}
  #gameScreen .abilities{top:66px!important;left:calc(8px + env(safe-area-inset-left))!important;transform:scale(.88)!important;transform-origin:top left!important;max-width:360px!important;}
}

/* ============================================================
   V0.6.9 GPT — sticky level headers, locked silhouettes, profile text polish
   ============================================================ */
#artLevelScreen .ls-head,
#burnerLevelScreen .ls-head{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) minmax(118px,auto)!important;
  align-items:center!important;
  gap:8px!important;
  padding:calc(8px + env(safe-area-inset-top)) 10px 8px!important;
  margin:0!important;
  background:
    linear-gradient(180deg,rgba(45,15,6,.98),rgba(20,7,3,.95)),
    radial-gradient(circle at 18% 0%,rgba(255,153,45,.22),transparent 55%)!important;
  border-bottom:1px solid rgba(255,207,108,.28)!important;
  box-shadow:0 12px 24px rgba(0,0,0,.48)!important;
  backdrop-filter:blur(8px)!important;
}
#artLevelScreen .ls-spacer,
#burnerLevelScreen .ls-spacer{display:none!important;}
#artLevelScreen .ls-title,
#burnerLevelScreen .ls-title{
  min-width:0!important;
  font-size:clamp(17px,4.7vw,25px)!important;
  line-height:1.02!important;
  letter-spacing:.2px!important;
  white-space:normal!important;
  overflow:hidden!important;
}
#artLevelScreen .ls-title::after,
#burnerLevelScreen .ls-title::after{
  content:'Level Select';
  display:block;
  margin-top:2px;
  color:#ffd986;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.3px;
  opacity:.9;
}
#artLevelScreen .bank,
#burnerLevelScreen .bank{
  justify-content:flex-end!important;
  align-content:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  max-width:48vw!important;
  overflow-x:auto!important;
  padding-bottom:2px!important;
  scrollbar-width:none!important;
}
#artLevelScreen .bank::-webkit-scrollbar,
#burnerLevelScreen .bank::-webkit-scrollbar{display:none!important;}
#artLevelScreen .bank .res,
#burnerLevelScreen .bank .res{
  flex:0 0 auto!important;
  min-width:auto!important;
  padding:5px 7px!important;
  border-radius:999px!important;
  font-size:11px!important;
}
#artLevelScreen .bank .res img,
#burnerLevelScreen .bank .res img{width:17px!important;height:17px!important;}
#artLevelScreen .level-grid,
#burnerLevelScreen .level-grid{padding-top:14px!important;}
@media(max-width:430px){
  #artLevelScreen .ls-head,
  #burnerLevelScreen .ls-head{grid-template-columns:40px minmax(0,1fr) minmax(104px,44vw)!important;gap:6px!important;}
  #artLevelScreen .hud-btn,
  #burnerLevelScreen .hud-btn{min-width:38px!important;width:38px!important;height:38px!important;}
  #artLevelScreen .bank,
  #burnerLevelScreen .bank{max-width:44vw!important;}
  #artLevelScreen .bank .res,
  #burnerLevelScreen .bank .res{padding:4px 6px!important;font-size:10px!important;}
}

.home-profile-copy b{font-size:18px!important;line-height:1.05!important;}
.home-profile-copy small{font-size:12px!important;line-height:1.15!important;}
@media(max-width:640px){
  .home-profile-copy b{font-size:16px!important;}
  .home-profile-copy small{font-size:11.5px!important;}
}

.roster-card.helper-roster.locked{filter:none!important;}
.roster-card.locked .rc-imgwrap,
.roster-card.future-hero .rc-imgwrap,
.pose-tile.locked{
  background:
    radial-gradient(circle at 50% 30%,rgba(255,211,128,.16),rgba(0,0,0,.35) 56%,rgba(0,0,0,.62)),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.28))!important;
}
.roster-card.locked .rc-imgwrap img,
.roster-card.future-hero .rc-imgwrap img,
.pose-tile.locked img,
.locked-hero-silhouette{
  filter:brightness(0) grayscale(1) opacity(.58) drop-shadow(0 0 16px rgba(255,197,83,.30))!important;
}
.roster-card.locked .rc-imgwrap::after,
.roster-card.future-hero .rc-imgwrap::after{
  content:'';
  position:absolute;
  inset:8px;
  border-radius:18px;
  border:1px solid rgba(255,207,108,.16);
  pointer-events:none;
}
.pose-tile.locked img{transform:scale(.96)!important;}
.pose-tile.locked::before{opacity:.15!important;}
.pose-tile.locked::after{
  background:rgba(0,0,0,.58)!important;
  border:1px solid rgba(255,207,108,.18)!important;
}
#heroProfileArt.locked-hero-silhouette,
#artViewerImg.locked-hero-silhouette{
  transform:scale(.98)!important;
}
.hero-profile-panel .panel-close{
  z-index:120!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.hero-profile-nav .hud-btn{min-width:42px!important;height:38px!important;padding:0 12px!important;}

/* ============================================================
   V0.7.1 GPT — Mug's Nightmare visual tone + score panel pass
   ============================================================ */
body.nightmare{
  --bg-0:#030302!important;
  --bg-1:#0b0704!important;
  --ink:#f5e4cf!important;
  --ink-dim:#b89b7b!important;
  --gold:#f1b33d!important;
  --gold-deep:#8f5516!important;
  --ember:#ff7a1a!important;
  --ember-hot:#ffb23a!important;
  --lava:#e65012!important;
  --panel:rgba(8,6,4,.76)!important;
  --panel-edge:rgba(255,145,38,.28)!important;
  --panel-edge-soft:rgba(255,145,38,.13)!important;
  --hp:#ff6a2d!important;
  --accent-glow:0 0 28px rgba(255,107,22,.34)!important;
  --sky-top:#030302!important;
  --sky-mid:#0d0805!important;
  --sky-low:#241008!important;
  --vignette:rgba(1,0,0,.74)!important;
  background:
    radial-gradient(100% 45% at 50% 108%,rgba(255,96,18,.24),rgba(255,148,32,.10) 28%,transparent 70%),
    linear-gradient(180deg,#030302,#080504 58%,#120804 100%)!important;
}
body.nightmare #app::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:30vh;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(70% 52% at 50% 100%,rgba(255,95,20,.32),rgba(255,171,46,.12) 42%,transparent 72%),
    linear-gradient(0deg,rgba(255,65,15,.10),transparent 68%);
  opacity:.78;
  mix-blend-mode:screen;
}
body.nightmare .screen,
body.nightmare .overlay{isolation:isolate;}
body.nightmare .screen > *,
body.nightmare .overlay > *{position:relative;z-index:3;}
body.nightmare .panel,
body.nightmare .settings-card,
body.nightmare .hub-hero-card,
body.nightmare .game-card,
body.nightmare .utility-panel-v2,
body.nightmare .main-menu-hero,
body.nightmare .roster-card,
body.nightmare .score-row,
body.nightmare .nightmare-edit-card,
body.nightmare .nightmare-compact-setting,
body.nightmare .nightmare-range-wrap,
body.nightmare .nightmare-picker,
body.nightmare .nightmare-card-choice{
  background:
    linear-gradient(180deg,rgba(12,8,5,.72),rgba(3,3,3,.62)),
    radial-gradient(120% 100% at 50% 110%,rgba(255,110,24,.10),transparent 64%)!important;
  border-color:rgba(255,151,42,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,220,150,.06),0 18px 48px rgba(0,0,0,.50)!important;
  backdrop-filter:blur(8px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(8px) saturate(118%)!important;
}
body.nightmare .gc-art-bg,
body.nightmare .gc-burn-bg,
body.nightmare .hub-hero-card{
  background:
    radial-gradient(100% 70% at 50% 106%,rgba(255,104,22,.22),transparent 66%),
    linear-gradient(150deg,rgba(11,8,6,.94),rgba(2,2,2,.94))!important;
}
body.nightmare .story-copy,
body.nightmare .bubble{
  background:linear-gradient(180deg,rgba(10,7,5,.80),rgba(2,2,2,.88))!important;
  color:#f7e2c7!important;
  box-shadow:0 10px 24px -8px #000,0 0 0 1px rgba(255,126,28,.20)!important;
}
body.nightmare .bubble .who,
body.nightmare .nightmare-status-row b,
body.nightmare .nightmare-compact-value,
body.nightmare .nightmare-state-pill{color:#ffb23a!important;}
body.nightmare .toggle.nightmare-toggle.on{background:linear-gradient(90deg,#15100b,#ff7a1a)!important;box-shadow:0 0 18px rgba(255,110,24,.28)!important;}
body.nightmare .roster-card .rc-imgwrap,
body.nightmare .nightmare-card-choice::before{background:radial-gradient(80% 80% at 50% 30%,rgba(255,145,38,.13),transparent 62%)!important;}
body.nightmare .nightmare-panel{
  background:
    radial-gradient(100% 48% at 50% 106%,rgba(255,92,20,.18),transparent 65%),
    linear-gradient(145deg,rgba(8,7,6,.88),rgba(2,2,2,.92))!important;
  border-color:rgba(255,151,42,.22)!important;
}
body.nightmare .nightmare-picker-backdrop{background:rgba(0,0,0,.74)!important;backdrop-filter:blur(5px) brightness(.78)!important;}
.nightmare-lightning::before{
  background:radial-gradient(circle at var(--bolt-x) var(--bolt-y),rgba(255,247,224,.88),rgba(255,172,73,.25) 16%,rgba(255,101,24,.10) 42%,transparent 70%)!important;
}
.nightmare-lightning.heavy::before{background:radial-gradient(circle at var(--bolt-x) var(--bolt-y),rgba(255,251,238,.98),rgba(255,186,84,.34) 16%,rgba(255,84,20,.16) 42%,transparent 72%)!important;}
.nightmare-bolt{background:linear-gradient(180deg,rgba(255,255,245,.98),rgba(255,205,112,.72),rgba(255,104,28,.22),transparent)!important;filter:drop-shadow(0 0 16px rgba(255,195,100,.74))!important;}
.nightmare-lightning img{
  opacity:.84!important;
  filter:contrast(1.12) brightness(1.02) saturate(1.02) drop-shadow(0 14px 28px rgba(0,0,0,.72)) drop-shadow(0 0 28px rgba(255,128,32,.24))!important;
  image-rendering:auto!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  transform-style:preserve-3d!important;
}
.nightmare-lightning.heavy img,
.nightmare-lightning.nm-rage img,
.nightmare-lightning.nm-hero-card img{
  filter:contrast(1.16) brightness(1.04) saturate(1.04) drop-shadow(0 16px 30px rgba(0,0,0,.75)) drop-shadow(0 0 34px rgba(255,115,26,.32))!important;
}
@keyframes nmMugPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.985)}10%{opacity:.92;transform:translate(-50%,-50%) scale(1)}72%{opacity:.88}100%{opacity:0;transform:translate(-50%,-50%) scale(1.012)}}
@keyframes nmSkyPulse{0%,8%,22%{opacity:.78}12%,34%{opacity:.18}54%{opacity:.30}100%{opacity:0}}

.score-panel-v2{
  width:min(720px,95vw)!important;
  max-height:min(88dvh,760px)!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.score-panel-fixed-head{
  flex:0 0 auto;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px;
  gap:10px;
  align-items:start;
  padding:18px 18px 12px;
  background:linear-gradient(180deg,rgba(31,16,8,.96),rgba(16,9,5,.90));
  border-bottom:1px solid rgba(255,205,120,.16);
  box-shadow:0 12px 24px rgba(0,0,0,.28);
  z-index:6;
}
.score-panel-fixed-head h2{text-align:left!important;margin:0 0 4px!important;}
.score-panel-fixed-head .panel-sub{text-align:left!important;margin:0!important;line-height:1.25;}
.score-panel-fixed-head .panel-close{position:static!important;width:38px!important;height:38px!important;justify-self:end;}
.score-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px 18px;}
.score-mode-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.score-mode-card{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  grid-template-areas:"icon title count" "icon hint count";
  gap:3px 12px;
  align-items:center;
  min-height:82px;
  padding:13px 14px;
  border-radius:18px;
  border:1px solid rgba(255,205,120,.18);
  background:linear-gradient(150deg,rgba(45,24,12,.78),rgba(8,5,3,.88));
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.score-mode-icon{grid-area:icon;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(0,0,0,.26);border:1px solid rgba(255,205,120,.12);font-size:25px;}
.score-mode-card b{grid-area:title;font-family:var(--display);font-size:20px;color:#fff1cc;line-height:1;}
.score-mode-card small{grid-area:hint;color:rgba(255,238,205,.72);font-size:12px;line-height:1.2;}
.score-mode-card em{grid-area:count;align-self:center;font-style:normal;font-family:var(--display);font-weight:900;color:var(--gold);font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.score-section-back{width:100%;margin:0 0 10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,205,120,.18);background:rgba(0,0,0,.24);color:var(--gold);font-family:var(--display);font-weight:900;letter-spacing:.04em;cursor:pointer;text-align:left;}
.score-section-list{display:grid;gap:8px;}
.score-row{min-height:62px!important;}
.score-row.locked{opacity:.62;filter:saturate(.72);}
.score-row-extra{margin-top:3px!important;color:#ffd387!important;font-size:11px!important;}
body.nightmare .score-panel-fixed-head{background:linear-gradient(180deg,rgba(12,9,6,.96),rgba(4,4,3,.92))!important;border-bottom-color:rgba(255,142,36,.18)!important;}
body.nightmare .score-mode-card,
body.nightmare .score-section-back{background:linear-gradient(180deg,rgba(12,8,5,.72),rgba(3,3,3,.64))!important;border-color:rgba(255,142,36,.18)!important;}
@media (orientation:landscape) and (max-height:560px){
  .score-panel-v2{width:min(900px,96vw)!important;max-height:94dvh!important;}
  .score-panel-fixed-head{padding:12px 14px 10px;grid-template-columns:minmax(0,1fr) 38px;}
  .score-panel-fixed-head h2{font-size:21px!important;}
  .score-panel-fixed-head .panel-sub{font-size:11.5px!important;}
  .score-panel-scroll{padding:10px 14px 14px;}
  .score-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .score-mode-card{grid-template-columns:1fr;grid-template-areas:"icon" "title" "hint" "count";justify-items:center;text-align:center;min-height:142px;padding:12px 10px;}
  .score-mode-card b{font-size:17px;}
  .score-mode-card small{font-size:11px;}
}
@media(max-width:430px){
  .score-panel-fixed-head{padding:14px 12px 10px;}
  .score-panel-scroll{padding:12px 10px 14px;}
  .score-mode-card{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"icon title" "icon hint" "icon count";min-height:78px;padding:11px;}
  .score-mode-icon{width:42px;height:42px;font-size:22px;}
  .score-mode-card b{font-size:18px;}
  .score-mode-card em{justify-self:start;}
}


/* ============================================================
   V0.7.2 GPT — Nightmare reveal layer, orientation, embers, level-select fit
   ============================================================ */
body.nightmare #app::before{
  z-index:1!important;
  height:26vh!important;
  background:
    radial-gradient(72% 48% at 50% 100%,rgba(255,105,24,.26),rgba(255,161,42,.09) 44%,transparent 75%),
    linear-gradient(0deg,rgba(255,74,18,.07),transparent 68%)!important;
  opacity:.7!important;
}
body.nightmare #app::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
  opacity:.18;
  background:
    radial-gradient(circle at 11% 78%,rgba(255,172,68,.45) 0 1px,transparent 2px),
    radial-gradient(circle at 83% 32%,rgba(255,117,32,.34) 0 1px,transparent 2px),
    radial-gradient(circle at 64% 88%,rgba(255,210,96,.38) 0 1px,transparent 2px),
    radial-gradient(circle at 29% 48%,rgba(255,127,38,.28) 0 1px,transparent 2px);
  background-size:160px 170px,210px 190px,190px 230px,240px 180px;
  mix-blend-mode:screen;
  animation:nmForegroundEmbers 9s linear infinite;
}
@keyframes nmForegroundEmbers{from{background-position:0 0,0 0,0 0,0 0}to{background-position:0 -170px,0 -190px,0 -230px,0 -180px}}
#fxCanvas{z-index:1!important;transition:opacity .18s ease!important;}
body.nightmare .screen .menu-bg{z-index:0!important;position:absolute!important;pointer-events:none!important;}
body.nightmare .screen .screen-scroll,
body.nightmare .screen > :not(.menu-bg){position:relative;z-index:4;}
body.nightmare #gameScreen canvas,
body.nightmare #burnerScreen canvas,
body.nightmare #arenaScreen canvas{position:relative;z-index:1;}
body.nightmare #gameScreen .hud,
body.nightmare #gameScreen .enemy-hp,
body.nightmare #gameScreen .res-ticker,
body.nightmare #gameScreen .abilities,
body.nightmare #gameScreen .slingshot-control,
body.nightmare #burnerScreen .bn-hud,
body.nightmare #burnerScreen #bnMoveControls,
body.nightmare #arenaScreen .arena-hud,
body.nightmare #arenaScreen .arena-controls{position:absolute;z-index:7!important;}

/* Make Nightmare feel inside the app, not pasted on top of buttons. */
body.nightmare .nightmare-lightning{
  z-index:2!important;
  pointer-events:none!important;
  --nm-img-transform:translate(-50%,-50%) scale(1);
}
body.nightmare .nightmare-settings-overlay,
body.nightmare #settingsOverlay,
body.nightmare #mainMenuOverlay,
body.nightmare #topScoresOverlay{background:rgba(0,0,0,.46)!important;backdrop-filter:blur(3px) brightness(.88)!important;}
body.nightmare .nightmare-lightning::before{
  background:radial-gradient(circle at var(--bolt-x) var(--bolt-y),rgba(255,250,225,.68),rgba(255,174,75,.20) 16%,rgba(255,102,24,.07) 42%,transparent 72%)!important;
}
body.nightmare .nightmare-lightning.heavy::before{
  background:radial-gradient(circle at var(--bolt-x) var(--bolt-y),rgba(255,252,235,.78),rgba(255,187,86,.24) 16%,rgba(255,92,24,.09) 42%,transparent 74%)!important;
}
body.nightmare .nightmare-lightning img{
  left:var(--mug-x);top:var(--mug-y);bottom:auto;
  opacity:.58!important;
  filter:contrast(1.06) brightness(1.01) saturate(1.02) drop-shadow(0 14px 26px rgba(0,0,0,.66)) drop-shadow(0 0 20px rgba(255,128,32,.18))!important;
  transform:var(--nm-img-transform)!important;
  will-change:opacity,transform;
}
body[data-screen="gameScreen"].nightmare .nightmare-lightning img,
body[data-screen="burnerScreen"].nightmare .nightmare-lightning img,
body[data-screen="arenaScreen"].nightmare .nightmare-lightning img{opacity:.42!important;}
body[data-screen="gameScreen"].nightmare .nightmare-lightning::before,
body[data-screen="burnerScreen"].nightmare .nightmare-lightning::before,
body[data-screen="arenaScreen"].nightmare .nightmare-lightning::before{opacity:.52!important;}
body.nightmare .nightmare-lightning.heavy img,
body.nightmare .nightmare-lightning.nm-rage img,
body.nightmare .nightmare-lightning.nm-hero-card img{
  opacity:.66!important;
  filter:contrast(1.10) brightness(1.02) saturate(1.03) drop-shadow(0 16px 30px rgba(0,0,0,.72)) drop-shadow(0 0 28px rgba(255,115,26,.24))!important;
}
body[data-screen="gameScreen"].nightmare .nightmare-lightning.heavy img,
body[data-screen="burnerScreen"].nightmare .nightmare-lightning.heavy img,
body[data-screen="arenaScreen"].nightmare .nightmare-lightning.heavy img{opacity:.50!important;}
body.nightmare .nightmare-bolt{
  width:2px!important;
  height:46vh!important;
  border-radius:999px!important;
  clip-path:none!important;
  background:linear-gradient(180deg,rgba(255,255,236,.85),rgba(255,203,105,.55),rgba(255,104,28,.12),transparent)!important;
  filter:drop-shadow(0 0 10px rgba(255,195,100,.54))!important;
}
body.nightmare .nightmare-bolt.b2{height:30vh!important;transform:translate(-16px,4px) rotate(-14deg)!important;}
body.nightmare .nightmare-bolt.b3{height:34vh!important;transform:translate(16px,2px) rotate(14deg)!important;}
body.nightmare .nightmare-lightning.nm-peek-left img{left:0!important;top:50%!important;width:min(430px,68vw,72vh)!important;--nm-img-transform:translate(-26%,-50%) scale(1);transform-origin:left center!important;}
body.nightmare .nightmare-lightning.nm-peek-right img{left:100%!important;top:50%!important;width:min(430px,68vw,72vh)!important;--nm-img-transform:translate(-74%,-50%) scale(1);transform-origin:right center!important;}
body.nightmare .nightmare-lightning.nm-peek-bottom img{left:50%!important;top:auto!important;bottom:calc(-4px + env(safe-area-inset-bottom))!important;width:min(560px,92vw,74vh)!important;--nm-img-transform:translate(-50%,18%) scale(1);transform-origin:center bottom!important;}
body.nightmare .nightmare-lightning.nm-stalk-far img{left:50%!important;top:46%!important;width:min(250px,44vw,46vh)!important;--nm-img-transform:translate(-50%,-50%) scale(1);}
body.nightmare .nightmare-lightning.nm-stalk-closer img{left:50%!important;top:49%!important;width:min(420px,76vw,68vh)!important;--nm-img-transform:translate(-50%,-50%) scale(1);}
body.nightmare .nightmare-lightning.nm-stalk-too-close img{left:50%!important;top:54%!important;width:min(720px,118vw,92vh)!important;--nm-img-transform:translate(-50%,-50%) scale(1);}
body.nightmare .nightmare-lightning.nm-rage img{width:min(500px,86vw,76vh)!important;}
body.nightmare .nightmare-lightning.nm-evil-grin img{width:min(460px,82vw,74vh)!important;}
body.nightmare .nightmare-lightning.nm-table-flip img{width:min(520px,90vw,78vh)!important;}
body.nightmare .nightmare-lightning.nm-hero-card img{width:min(470px,82vw,76vh)!important;max-height:74vh!important;}
@media(orientation:landscape){
  body.nightmare .nightmare-lightning.nm-peek-left img{top:50%!important;width:min(430px,42vw,82vh)!important;--nm-img-transform:translate(-21%,-50%) scale(1);}
  body.nightmare .nightmare-lightning.nm-peek-right img{top:50%!important;width:min(430px,42vw,82vh)!important;--nm-img-transform:translate(-79%,-50%) scale(1);}
  body.nightmare .nightmare-lightning.nm-peek-bottom img{width:min(500px,44vw,86vh)!important;bottom:calc(-6px + env(safe-area-inset-bottom))!important;--nm-img-transform:translate(-50%,20%) scale(1);}
  body.nightmare .nightmare-lightning.nm-stalk-far img{width:min(250px,22vw,48vh)!important;top:46%!important;}
  body.nightmare .nightmare-lightning.nm-stalk-closer img{width:min(420px,38vw,72vh)!important;top:49%!important;}
  body.nightmare .nightmare-lightning.nm-stalk-too-close img{width:min(720px,72vw,114vh)!important;top:54%!important;}
  body.nightmare .nightmare-lightning.nm-rage img{width:min(500px,44vw,84vh)!important;}
  body.nightmare .nightmare-lightning.nm-evil-grin img{width:min(460px,42vw,80vh)!important;}
  body.nightmare .nightmare-lightning.nm-table-flip img{width:min(520px,46vw,84vh)!important;}
  body.nightmare .nightmare-lightning.nm-hero-card img{width:min(470px,42vw,82vh)!important;max-height:82vh!important;}
}
@keyframes nmMugPulse{0%{opacity:0;transform:var(--nm-img-transform)}10%{opacity:.84;transform:var(--nm-img-transform)}72%{opacity:.72;transform:var(--nm-img-transform)}100%{opacity:0;transform:var(--nm-img-transform)}}
@keyframes nmSkyPulse{0%,8%,22%{opacity:.68}12%,34%{opacity:.16}54%{opacity:.24}100%{opacity:0}}

/* Dark glossy transparent panels: ember accents, not red paint. */
body.nightmare .panel,
body.nightmare .settings-card,
body.nightmare .hub-hero-card,
body.nightmare .game-card,
body.nightmare .utility-panel-v2,
body.nightmare .main-menu-hero,
body.nightmare .roster-card,
body.nightmare .score-row,
body.nightmare .nightmare-edit-card,
body.nightmare .nightmare-compact-setting,
body.nightmare .nightmare-range-wrap,
body.nightmare .nightmare-picker,
body.nightmare .nightmare-card-choice,
body.nightmare .hub-nav-card,
body.nightmare .level-card,
body.nightmare .bank .res,
body.nightmare .hub-bank .res{
  background:
    linear-gradient(180deg,rgba(7,6,5,.54),rgba(2,2,2,.48)),
    radial-gradient(120% 100% at 50% 112%,rgba(255,116,26,.055),transparent 66%)!important;
  border-color:rgba(255,151,42,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,220,150,.045),0 16px 42px rgba(0,0,0,.44)!important;
  backdrop-filter:blur(7px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(7px) saturate(112%)!important;
}
body.nightmare .gc-art-bg,
body.nightmare .gc-burn-bg,
body.nightmare .hub-hero-card{background:linear-gradient(150deg,rgba(7,6,5,.56),rgba(2,2,2,.50))!important;}
body.nightmare .nightmare-panel{background:linear-gradient(145deg,rgba(7,6,5,.62),rgba(2,2,2,.70))!important;border-color:rgba(255,151,42,.16)!important;}

/* Restore level-select scrolling and make resources fit without horizontal panning. */
#artLevelScreen .screen-scroll,
#burnerLevelScreen .screen-scroll{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior:contain!important;}
#artLevelScreen .ls-head,
#burnerLevelScreen .ls-head{grid-template-columns:40px minmax(0,1fr) minmax(190px,60vw)!important;gap:7px!important;}
#artLevelScreen .bank,
#burnerLevelScreen .bank{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;gap:4px!important;max-width:none!important;min-width:0!important;overflow:visible!important;padding:0!important;}
#artLevelScreen .bank .res,
#burnerLevelScreen .bank .res{flex:1 1 0!important;min-width:0!important;justify-content:center!important;gap:3px!important;padding:4px 4px!important;border-radius:999px!important;font-size:10.5px!important;line-height:1!important;white-space:nowrap!important;}
#artLevelScreen .bank .res img,
#burnerLevelScreen .bank .res img{width:16px!important;height:16px!important;}
#artLevelScreen .bank .res b,
#burnerLevelScreen .bank .res b{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#artLevelScreen .level-grid,
#burnerLevelScreen .level-grid{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;}
@media(max-width:430px){
  #artLevelScreen .ls-head,
  #burnerLevelScreen .ls-head{grid-template-columns:38px minmax(0,1fr) minmax(178px,62vw)!important;gap:5px!important;}
  #artLevelScreen .ls-title,
  #burnerLevelScreen .ls-title{font-size:clamp(15px,4.2vw,20px)!important;}
  #artLevelScreen .bank .res,
  #burnerLevelScreen .bank .res{font-size:9.5px!important;padding:3px 3px!important;}
  #artLevelScreen .bank .res img,
  #burnerLevelScreen .bank .res img{width:14px!important;height:14px!important;}
}

/* ============================================================
   V0.7.3 GPT — Nightmare scroll/header + Forge glass + Trading safety
   ============================================================ */
/* Fix the actual Nightmare-on scroll lock: never convert screen-scroll from
   absolute scroll shell into a relative content layer. */
body.nightmare .screen .screen-scroll{
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  overscroll-behavior:contain!important;
}
body.nightmare .screen > :not(.menu-bg):not(.screen-scroll){position:relative;z-index:4;}

/* Level select header: title row first, readable full-width bank second. */
#artLevelScreen .ls-head,
#burnerLevelScreen .ls-head{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-areas:"back title" "bank bank"!important;
  align-items:center!important;
  gap:7px 10px!important;
  padding:calc(8px + env(safe-area-inset-top)) 12px 10px!important;
}
#btnArtBack,#btnBurnBack{grid-area:back!important;justify-self:start!important;}
#artLevelScreen .ls-title,
#burnerLevelScreen .ls-title{grid-area:title!important;align-self:center!important;}
#artLevelScreen .bank,
#burnerLevelScreen .bank{
  grid-area:bank!important;
  width:100%!important;
  max-width:none!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  overflow:visible!important;
  padding:2px 0 0!important;
}
#artLevelScreen .bank .res,
#burnerLevelScreen .bank .res{
  flex:1 1 112px!important;
  max-width:170px!important;
  min-width:112px!important;
  justify-content:center!important;
  gap:6px!important;
  padding:6px 9px!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#artLevelScreen .bank .res img,
#burnerLevelScreen .bank .res img{width:19px!important;height:19px!important;}
#artLevelScreen .bank .res b,
#burnerLevelScreen .bank .res b{overflow:visible!important;text-overflow:clip!important;}
#artLevelScreen .level-grid,
#burnerLevelScreen .level-grid{padding-top:16px!important;padding-bottom:calc(120px + env(safe-area-inset-bottom))!important;}
@media(max-width:430px){
  #artLevelScreen .ls-head,#burnerLevelScreen .ls-head{grid-template-columns:40px minmax(0,1fr)!important;gap:6px 8px!important;}
  #artLevelScreen .bank,#burnerLevelScreen .bank{gap:5px!important;}
  #artLevelScreen .bank .res,#burnerLevelScreen .bank .res{flex-basis:96px!important;min-width:96px!important;max-width:none!important;font-size:11px!important;padding:5px 7px!important;}
  #artLevelScreen .bank .res img,#burnerLevelScreen .bank .res img{width:17px!important;height:17px!important;}
}
@media(orientation:landscape){
  #artLevelScreen .ls-head,#burnerLevelScreen .ls-head{grid-template-columns:44px minmax(0,1fr) minmax(320px,.9fr)!important;grid-template-areas:"back title bank"!important;padding:calc(6px + env(safe-area-inset-top)) 12px 7px!important;}
  #artLevelScreen .bank,#burnerLevelScreen .bank{justify-content:flex-end!important;}
  #artLevelScreen .bank .res,#burnerLevelScreen .bank .res{flex:0 1 122px!important;min-width:98px!important;max-width:142px!important;}
}

/* Forge-glass Nightmare: dark transparent glass, not red paint. */
body.nightmare{
  background:
    radial-gradient(110% 46% at 50% 112%,rgba(255,111,20,.42),rgba(255,143,30,.16) 30%,transparent 72%),
    radial-gradient(82% 70% at 50% 12%,rgba(16,12,10,.82),transparent 62%),
    linear-gradient(180deg,#010101 0%,#040302 58%,#100604 100%)!important;
}
body.nightmare #app::before{
  height:42vh!important;
  z-index:1!important;
  opacity:.98!important;
  background:
    radial-gradient(80% 56% at 50% 103%,rgba(255,93,16,.52),rgba(255,154,36,.22) 38%,rgba(255,73,12,.08) 58%,transparent 78%),
    linear-gradient(0deg,rgba(255,72,14,.14),transparent 72%)!important;
  filter:saturate(1.18);
}
body.nightmare #app::after{opacity:.36!important;z-index:8!important;}
body.nightmare #fxCanvas{opacity:1!important;filter:saturate(1.22) brightness(1.08)!important;}
body[data-screen="gameScreen"].nightmare #fxCanvas,
body[data-screen="burnerScreen"].nightmare #fxCanvas,
body[data-screen="arenaScreen"].nightmare #fxCanvas{opacity:.48!important;}

body.nightmare .panel,
body.nightmare .settings-card,
body.nightmare .hub-hero-card,
body.nightmare .game-card,
body.nightmare .utility-panel-v2,
body.nightmare .main-menu-hero,
body.nightmare .roster-card,
body.nightmare .score-row,
body.nightmare .score-mode-card,
body.nightmare .score-section-back,
body.nightmare .nightmare-edit-card,
body.nightmare .nightmare-compact-setting,
body.nightmare .nightmare-range-wrap,
body.nightmare .nightmare-picker,
body.nightmare .nightmare-card-choice,
body.nightmare .hub-nav-card,
body.nightmare .level-card,
body.nightmare .hub-top,
body.nightmare .home-brand-v2,
body.nightmare .home-alliance-banner-shell,
body.nightmare .hub-bank,
body.nightmare .alliance-head,
body.nightmare .tp-intro,
body.nightmare .tp-custom-card,
body.nightmare .tp-bank-chip,
body.nightmare .tp-quick,
body.nightmare .bubble,
body.nightmare .story-copy{
  background:
    linear-gradient(180deg,rgba(7,7,6,.38),rgba(0,0,0,.30)),
    radial-gradient(105% 92% at 50% 112%,rgba(255,116,25,.045),transparent 70%)!important;
  border-color:rgba(255,164,58,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,226,160,.05),0 16px 42px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(8px) saturate(112%) brightness(.94)!important;
  -webkit-backdrop-filter:blur(8px) saturate(112%) brightness(.94)!important;
}
body.nightmare .hub-nav-card::before,
body.nightmare .level-card::before{opacity:.14!important;}
body.nightmare .menu-bg{
  background:
    radial-gradient(90% 48% at 50% 110%,rgba(255,93,17,.28),rgba(255,147,33,.10) 34%,transparent 72%),
    radial-gradient(circle at 18% 10%,rgba(255,160,52,.055),transparent 34%),
    linear-gradient(180deg,#020201,#050403 62%,#100604)!important;
}
body.nightmare .menu-bg::after{box-shadow:inset 0 0 250px 48px rgba(0,0,0,.76)!important;}

/* Lava title treatment only when Mug's Nightmare is awake. */
body.nightmare .hub-brand h1,
body.nightmare .home-profile-copy b,
body.nightmare .hub-mini-kicker,
body.nightmare .kicker,
body.nightmare .ls-title,
body.nightmare .lc-name,
body.nightmare .bn-start-title,
body.nightmare .settings-card-title,
body.nightmare .nightmare-page-head h2,
body.nightmare .score-panel-fixed-head h2,
body.nightmare .alliance-head h2,
body.nightmare .tp-head h2,
body.nightmare .story-copy h2{
  color:#ff4d16!important;
  text-shadow:
    0 0 6px rgba(255,75,18,.72),
    0 0 18px rgba(255,124,27,.42),
    0 1px 0 rgba(255,213,128,.35)!important;
}
body.nightmare .ls-title::after{color:#ffb348!important;text-shadow:0 0 10px rgba(255,123,24,.45)!important;}

/* Keep reveal art behind UI but make the background event readable through glass. */
body.nightmare .nightmare-lightning{z-index:2!important;}
body.nightmare .nightmare-lightning img{opacity:.68!important;filter:contrast(1.12) brightness(1.04) saturate(1.03) drop-shadow(0 14px 28px rgba(0,0,0,.70)) drop-shadow(0 0 34px rgba(255,118,28,.32))!important;}
body[data-screen="gameScreen"].nightmare .nightmare-lightning img,
body[data-screen="burnerScreen"].nightmare .nightmare-lightning img,
body[data-screen="arenaScreen"].nightmare .nightmare-lightning img{opacity:.43!important;}
body.nightmare .nightmare-bolt{opacity:.9!important;width:2px!important;clip-path:none!important;border-radius:999px!important;}

/* V0.8.0 GPT — recommended-level chips + arena power guide */
.lc-rec{
  display:inline-flex; align-items:center;
  margin-left:8px; padding:3px 8px;
  border-radius:9px;
  font:800 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.12em; text-transform:uppercase;
  border:1px solid rgba(255,205,120,.25);
  background:rgba(0,0,0,.35); color:#d4b48a;
}
.lc-rec.ok{ color:#9fe6a0; border-color:rgba(120,230,140,.35); }
.lc-rec.close{ color:#ffd76a; border-color:rgba(255,200,90,.40); }
.lc-rec.under{ color:#ff8f6a; border-color:rgba(255,120,80,.40); }
.arena-power-guide{
  margin:10px 4px 0; padding:9px 11px;
  border-radius:12px;
  border:1px solid rgba(255,205,120,.16);
  background:rgba(0,0,0,.26);
  color:#c9a87e;
  font:600 12px/1.35 'Barlow Condensed','Arial Narrow',sans-serif;
}
.arena-power-guide b{ color:#ffd76a; }

/* Trading Post quick-pick confirmation. */
.tp-confirm-backdrop{position:absolute;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.62);backdrop-filter:blur(5px);pointer-events:auto;}
.tp-confirm-backdrop.active{display:flex;}
.tp-confirm-card{width:min(420px,94vw);border:1px solid rgba(255,205,120,.30);border-radius:20px;background:linear-gradient(155deg,rgba(28,14,7,.96),rgba(5,3,3,.98));box-shadow:0 22px 70px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,230,170,.09);padding:16px;color:#fff3d0;}
.tp-confirm-msg{font-size:16px;line-height:1.3;color:#d9bea0;margin:9px 0 12px;}
.tp-confirm-msg b{color:#ffd76a;}
.tp-confirm-msg small{display:block;margin-top:6px;color:#b99b79;font-size:12px;}
.tp-confirm-check{display:flex;align-items:flex-start;gap:9px;border:1px solid rgba(255,205,120,.16);border-radius:14px;background:rgba(0,0,0,.22);padding:10px;margin:8px 0 13px;color:#e7cfad;font-size:13px;line-height:1.2;}
.tp-confirm-check input{width:18px;height:18px;accent-color:#ffb23a;flex:0 0 auto;}
/* V0.7.3 late override: keep resource bank as its own clear row in both orientations. */
@media(orientation:landscape){
  #artLevelScreen .ls-head,#burnerLevelScreen .ls-head{grid-template-columns:44px minmax(0,1fr)!important;grid-template-areas:"back title" "bank bank"!important;}
  #artLevelScreen .bank,#burnerLevelScreen .bank{justify-content:center!important;}
  #artLevelScreen .bank .res,#burnerLevelScreen .bank .res{flex:1 1 118px!important;min-width:112px!important;max-width:180px!important;}
}

/* ============================================================
   V0.7.4 GPT — Nightmare gameplay safety + lightning sync
   ============================================================ */
/* Do not let Nightmare broad-layer rules break real game overlays. */
body.nightmare #burnerScreen .bn-start-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:22!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
}
body.nightmare #burnerScreen .bn-start-overlay.show{display:flex!important;}
body.nightmare #burnerScreen .bn-start-card{
  position:relative!important;
  z-index:23!important;
  background:linear-gradient(180deg,rgba(6,5,4,.64),rgba(0,0,0,.52))!important;
  backdrop-filter:blur(10px) saturate(112%) brightness(.94)!important;
  -webkit-backdrop-filter:blur(10px) saturate(112%) brightness(.94)!important;
}

/* Mug's Rage active board must stay readable. Keep glow/embers, suppress full Mug reveal art. */
body[data-screen="burnerScreen"].nightmare .nightmare-lightning{display:none!important;}

/* No more stray X/jagged lightning marks. The flash is the strobe around Mug. */
body.nightmare .nightmare-bolt,
.nightmare-bolt{display:none!important;opacity:0!important;}
body.nightmare .nightmare-lightning{
  z-index:2!important;
  pointer-events:none!important;
  mix-blend-mode:screen;
}
body.nightmare .nightmare-lightning::before{
  background:
    radial-gradient(circle at var(--bolt-x) var(--bolt-y),rgba(255,253,236,.84),rgba(255,191,83,.34) 13%,rgba(255,95,20,.14) 35%,transparent 64%)!important;
  filter:blur(.2px) saturate(1.14)!important;
}
body.nightmare .nightmare-lightning.heavy::before{
  background:
    radial-gradient(circle at var(--bolt-x) var(--bolt-y),rgba(255,255,244,.96),rgba(255,205,95,.42) 14%,rgba(255,91,18,.18) 38%,transparent 68%)!important;
}
body.nightmare .nightmare-lightning img{
  opacity:.58!important;
  filter:contrast(1.10) brightness(1.03) saturate(1.04) drop-shadow(0 14px 28px rgba(0,0,0,.72)) drop-shadow(0 0 30px rgba(255,126,28,.26))!important;
}
body.nightmare .nightmare-lightning.heavy img,
body.nightmare .nightmare-lightning.nm-rage img,
body.nightmare .nightmare-lightning.nm-hero-card img{opacity:.64!important;}
body[data-screen="gameScreen"].nightmare .nightmare-lightning img,
body[data-screen="arenaScreen"].nightmare .nightmare-lightning img{opacity:.34!important;}
body[data-screen="gameScreen"].nightmare .nightmare-lightning::before,
body[data-screen="arenaScreen"].nightmare .nightmare-lightning::before{opacity:.42!important;}

/* Darker glass, more background, less red card paint. */
body.nightmare .panel,
body.nightmare .settings-card,
body.nightmare .hub-hero-card,
body.nightmare .game-card,
body.nightmare .utility-panel-v2,
body.nightmare .main-menu-hero,
body.nightmare .roster-card,
body.nightmare .score-row,
body.nightmare .score-mode-card,
body.nightmare .score-section-back,
body.nightmare .nightmare-edit-card,
body.nightmare .nightmare-compact-setting,
body.nightmare .nightmare-range-wrap,
body.nightmare .nightmare-picker,
body.nightmare .nightmare-card-choice,
body.nightmare .hub-nav-card,
body.nightmare .level-card,
body.nightmare .hub-top,
body.nightmare .home-brand-v2,
body.nightmare .home-alliance-banner-shell,
body.nightmare .hub-bank,
body.nightmare .alliance-head,
body.nightmare .tp-intro,
body.nightmare .tp-custom-card,
body.nightmare .tp-bank-chip,
body.nightmare .tp-quick,
body.nightmare .bubble,
body.nightmare .story-copy{
  background:
    linear-gradient(180deg,rgba(4,4,3,.28),rgba(0,0,0,.22)),
    radial-gradient(115% 105% at 50% 112%,rgba(255,111,24,.035),transparent 70%)!important;
  border-color:rgba(255,174,66,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,230,170,.045),0 16px 42px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(9px) saturate(110%) brightness(.92)!important;
  -webkit-backdrop-filter:blur(9px) saturate(110%) brightness(.92)!important;
}
body.nightmare #app::before{
  height:46vh!important;
  opacity:1!important;
  background:
    radial-gradient(84% 58% at 50% 104%,rgba(255,92,15,.58),rgba(255,157,36,.25) 38%,rgba(255,70,10,.10) 60%,transparent 80%),
    linear-gradient(0deg,rgba(255,76,13,.17),transparent 74%)!important;
}
body.nightmare #app::after{opacity:.48!important;}
body.nightmare #fxCanvas{filter:saturate(1.36) brightness(1.18) contrast(1.06)!important;}

/* Lava labels: title words glow, supporting copy stays readable white. */
body.nightmare .hub-nav-card b,
body.nightmare .hub-hero-copy .hub-mini-kicker,
body.nightmare .hub-mini-kicker,
body.nightmare .settings-card-title,
body.nightmare .lc-name,
body.nightmare .ls-title,
body.nightmare .bn-start-title,
body.nightmare .arena-card h2{
  color:#ff4214!important;
  text-shadow:
    0 0 5px rgba(255,63,18,.88),
    0 0 14px rgba(255,119,25,.58),
    0 0 28px rgba(255,169,48,.22),
    0 1px 0 rgba(255,205,112,.44)!important;
}
body.nightmare .hub-nav-card small,
body.nightmare .hub-hero-copy p,
body.nightmare .level-card small{color:rgba(255,241,218,.78)!important;}

@keyframes nmSkyPulse{0%,7%,21%{opacity:.72}11%,31%{opacity:.10}49%{opacity:.31}100%{opacity:0}}
@keyframes nmMugPulse{0%{opacity:0;transform:var(--nm-img-transform)}8%{opacity:.76;transform:var(--nm-img-transform)}68%{opacity:.54;transform:var(--nm-img-transform)}100%{opacity:0;transform:var(--nm-img-transform)}}


/* V0.7.6 GPT — Arena risk/reward popup and Nightmare-safe overlay layering */
.arena-risk-note{display:block;margin-top:10px;color:#bfa37c;font-size:11px;line-height:1.25;}
body.nightmare #arenaScreen .arena-startoverlay,
body.nightmare #arenaScreen .arena-pickoverlay,
body.nightmare #arenaScreen .arena-cashoverlay,
body.nightmare #arenaScreen .arena-endoverlay{position:absolute!important;z-index:30!important;pointer-events:auto!important;}
body.nightmare #arenaScreen .arena-joystick{z-index:9!important;}
body.nightmare #arenaScreen .arena-lootbar{z-index:10!important;}
body.nightmare #arenaScreen .arena-hud{z-index:11!important;}
body[data-screen="arenaScreen"].nightmare .nightmare-lightning{display:none!important;}

/* ============================================================
   V0.7.7 GPT — General app polish + Nightmare compatibility pass
   ============================================================ */
:root{
  --alliance-glow:#ff8a2a;
  --alliance-glow-soft:rgba(255,138,42,.34);
  --alliance-glow-faint:rgba(255,138,42,.16);
}
#hubScreen .hub-top--profile{
  grid-template-columns:minmax(0,1.18fr) minmax(96px,142px) auto!important;
  gap:12px!important;
}
.home-profile-line{align-items:center!important;gap:11px!important;margin-top:9px!important;}
.home-avatar,
.profile-avatar-preview{
  background:radial-gradient(circle at 50% 38%,var(--alliance-glow-faint),rgba(0,0,0,.42) 70%)!important;
  border-color:var(--alliance-glow-soft)!important;
  box-shadow:0 0 0 1px rgba(255,240,190,.06),0 0 22px var(--alliance-glow-faint),0 14px 24px -18px #000!important;
}
.home-avatar img,
.profile-avatar-preview img,
.profile-avatar-option img{
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}
.home-profile-copy b{
  font-size:clamp(18px,5vw,24px)!important;
  line-height:.98!important;
  max-width:52vw!important;
  color:#fff7dd!important;
  text-shadow:0 2px 0 rgba(0,0,0,.65),0 0 13px var(--alliance-glow-soft)!important;
}
.home-profile-copy small,
#hubAllianceChip{
  font-size:clamp(13px,3.3vw,16px)!important;
  line-height:1.05!important;
  max-width:52vw!important;
  color:#ffe7b8!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-shadow:0 2px 0 rgba(0,0,0,.70),0 0 11px var(--alliance-glow),0 0 24px var(--alliance-glow-soft)!important;
}
.home-alliance-banner-shell{
  min-width:96px!important;
  height:86px!important;
  border-color:var(--alliance-glow-soft)!important;
  background:radial-gradient(circle at 50% 40%,var(--alliance-glow-faint),rgba(0,0,0,.30) 72%)!important;
  box-shadow:inset 0 0 22px var(--alliance-glow-faint),0 0 22px rgba(0,0,0,.28),0 14px 24px -18px #000!important;
}
.home-alliance-banner-shell img,
.alliance-badge-frame img,
.alliance-tab img{
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}
body.nightmare .home-profile-copy b,
body.nightmare #hubAllianceChip{
  color:#fff0cf!important;
  text-shadow:0 2px 0 #000,0 0 10px var(--alliance-glow),0 0 28px var(--alliance-glow-soft),0 0 44px rgba(255,78,26,.16)!important;
}
body.nightmare .home-avatar,
body.nightmare .home-alliance-banner-shell,
body.nightmare .profile-avatar-preview{
  border-color:var(--alliance-glow-soft)!important;
  box-shadow:0 0 0 1px rgba(255,244,210,.05),0 0 24px var(--alliance-glow-faint),inset 0 0 18px rgba(255,70,24,.08)!important;
}
@media(max-width:430px){
  #hubScreen .hub-top--profile{grid-template-columns:minmax(0,1fr) 88px auto!important;gap:8px!important;}
  .home-avatar{width:52px!important;height:52px!important;}
  .home-profile-copy b{font-size:17px!important;max-width:48vw!important;}
  .home-profile-copy small,#hubAllianceChip{font-size:12.5px!important;max-width:48vw!important;}
  .home-alliance-banner-shell{height:72px!important;min-width:86px!important;}
}

/* Locked cards now reveal only a tasteful silhouette, not a black blob. */
.roster-card.future-hero .rc-imgwrap,
.roster-card.locked .rc-imgwrap,
.pose-tile.locked{
  background:radial-gradient(circle at 50% 34%,rgba(255,213,124,.13),rgba(0,0,0,.30) 54%,rgba(0,0,0,.58) 100%)!important;
}
.roster-card.future-hero .rc-imgwrap img,
.roster-card.locked .rc-imgwrap img,
.pose-tile.locked img,
.locked-hero-silhouette{
  filter:brightness(0) grayscale(1) opacity(.48) drop-shadow(0 0 18px var(--alliance-glow-soft))!important;
}
.pose-tile.locked::before{
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 45%,rgba(0,0,0,.28) 100%)!important;
  opacity:1!important;
}
.pose-tile.locked::after{
  content:'LOCKED'!important;
  right:7px!important;
  top:7px!important;
  bottom:auto!important;
  left:auto!important;
  font-family:var(--display)!important;
  font-size:9px!important;
  letter-spacing:.10em!important;
  color:#fff1cb!important;
  background:rgba(10,6,3,.62)!important;
  border:1px solid var(--alliance-glow-soft)!important;
  border-radius:999px!important;
  padding:3px 7px!important;
  box-shadow:0 0 12px var(--alliance-glow-faint)!important;
}
body.nightmare .pose-tile.locked,
body.nightmare .roster-card.future-hero .rc-imgwrap,
body.nightmare .roster-card.locked .rc-imgwrap{
  border-color:rgba(255,120,42,.18)!important;
  background:radial-gradient(circle at 50% 34%,rgba(255,83,22,.12),rgba(0,0,0,.38) 56%,rgba(0,0,0,.68) 100%)!important;
}

/* Arena HUD spacing: keep loot, XP, boss HP, and buttons from crowding each other. */
#arenaScreen .arena-hud{padding:8px 12px 12px!important;align-items:flex-start!important;}
#arenaScreen .arena-hud-mid{padding:0 6px!important;max-width:calc(100vw - 106px)!important;}
#arenaScreen .arena-name{font-size:12px!important;line-height:1.05!important;}
#arenaScreen .arena-stats{gap:9px!important;justify-content:center!important;flex-wrap:wrap!important;row-gap:3px!important;}
#arenaScreen .arena-stat b{font-size:14px!important;}
#arenaScreen .arena-loadout-pill{max-width:min(560px,76vw)!important;font-size:9.5px!important;margin-top:1px!important;}
#arenaScreen .arena-xpbar{top:calc(env(safe-area-inset-top,0px) + 74px)!important;left:16px!important;right:16px!important;z-index:6!important;}
#arenaScreen .arena-lootbar{top:calc(env(safe-area-inset-top,0px) + 86px)!important;max-width:calc(100vw - 28px)!important;overflow:hidden!important;z-index:8!important;}
#arenaScreen .arena-lootbar span{font-size:11.5px!important;}
#arenaScreen .arena-lootbar img{width:17px!important;height:17px!important;}
@media(max-width:390px){
  #arenaScreen .arena-hud{padding:7px 8px 12px!important;}
  #arenaScreen .hud-btn{min-width:36px!important;width:36px!important;height:36px!important;}
  #arenaScreen .arena-name{font-size:10.5px!important;}
  #arenaScreen .arena-stats{gap:6px!important;}
  #arenaScreen .arena-stat .lab{font-size:8px!important;}
  #arenaScreen .arena-stat b{font-size:12.5px!important;}
  #arenaScreen .arena-xpbar{top:calc(env(safe-area-inset-top,0px) + 72px)!important;}
  #arenaScreen .arena-lootbar{top:calc(env(safe-area-inset-top,0px) + 84px)!important;padding:4px 6px!important;gap:4px!important;}
  #arenaScreen .arena-lootbar span{font-size:10.5px!important;gap:3px!important;}
  #arenaScreen .arena-lootbar img{width:15px!important;height:15px!important;}
}
body.nightmare #arenaScreen .arena-lootbar,
body.nightmare #arenaScreen .arena-xpbar,
body.nightmare #arenaScreen .arena-hud{
  border-color:rgba(255,126,36,.20)!important;
}

/* ============================================================
   V0.7.9 GPT — Boss Lab + failed fix recovery overrides
   ============================================================ */
:root{
  --profile-name-glow:#ff3b1f;
  --profile-name-glow-soft:rgba(255,59,31,.46);
}
.home-profile-copy b,
body.nightmare .home-profile-copy b,
#hubProfileName{
  color:#fff7dd!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.72),
    0 0 10px var(--profile-name-glow),
    0 0 24px var(--profile-name-glow-soft),
    0 0 42px rgba(255,59,31,.22)!important;
}
.home-profile-copy small,
#hubAllianceChip,
body.nightmare #hubAllianceChip{
  color:#ffe7b8!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.74),
    0 0 12px var(--alliance-glow),
    0 0 28px var(--alliance-glow-soft)!important;
}
.home-alliance-banner-shell,
body.nightmare .home-alliance-banner-shell{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  border-radius:0!important;
  padding:0!important;
}
.home-alliance-banner-shell img{
  background:transparent!important;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.68)) drop-shadow(0 0 14px var(--alliance-glow-faint))!important;
}
.hero-profile-actions,
#heroProfilePrimary,
#heroProfileInfo{
  display:none!important;
}
.hero-profile-copy{justify-content:center!important;}
.hero-profile-status{margin-bottom:0!important;}
.hero-profile-artbox{
  align-items:center!important;
  justify-content:center!important;
  padding:10px 8px 4px!important;
}
#heroProfileArt,
.art-viewer-stage #artViewerImg,
.alliance-card .rc-imgwrap img,
.pose-tile img{
  object-fit:contain!important;
  object-position:var(--art-pos, center bottom)!important;
  transform:translate(var(--art-x,0%),var(--art-y,0%)) scale(var(--art-scale,1))!important;
  transform-origin:center bottom!important;
}
#heroProfileArt{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:258px!important;
}
.alliance-card .rc-imgwrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.alliance-card .rc-imgwrap img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
}
.pose-tile img{
  width:100%!important;
  height:76px!important;
  max-height:76px!important;
}
.pose-tile.locked{
  background:radial-gradient(circle at 50% 40%,rgba(255,210,112,.11),rgba(0,0,0,.22) 58%,rgba(0,0,0,.46) 100%)!important;
}
.pose-tile.locked img,
.roster-card.future-hero .rc-imgwrap img,
.roster-card.locked .rc-imgwrap img,
.locked-hero-silhouette{
  filter:brightness(0) grayscale(1) opacity(.50) drop-shadow(0 0 18px var(--alliance-glow-soft))!important;
}
.pose-tile.locked::before{
  inset:0!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.08))!important;
  opacity:1!important;
}
.pose-tile.locked::after{
  top:7px!important;
  right:7px!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  background:rgba(10,6,3,.58)!important;
  border:1px solid var(--alliance-glow-soft)!important;
  box-shadow:0 0 12px var(--alliance-glow-faint)!important;
}
.hoard-action-card{
  position:relative!important;
  isolation:isolate;
  background:
    radial-gradient(90% 110% at 12% 24%,rgba(42,85,175,.42),transparent 60%),
    linear-gradient(150deg,rgba(22,30,74,.98),rgba(8,5,18,.98))!important;
}
.hoard-action-card::before{
  content:"";
  position:absolute;
  inset:-18% -4% -20% -4%;
  z-index:0;
  pointer-events:none;
  background:url('../assets/ui/phx_phoenix_watermark.png') center center/68% auto no-repeat;
  opacity:.23;
  filter:drop-shadow(0 0 22px rgba(255,214,83,.28));
}
.hoard-artbox,.hoard-copy{position:relative!important;z-index:1!important;}
#arenaScreen .arena-xpbar{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  top:calc(env(safe-area-inset-top,0px) + 96px)!important;
  left:18px!important;
  right:18px!important;
  height:8px!important;
  z-index:14!important;
  background:rgba(8,4,3,.86)!important;
  border-color:rgba(255,215,106,.32)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.36),0 0 16px rgba(255,138,42,.16)!important;
}
#arenaScreen .arena-lootbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  top:calc(env(safe-area-inset-top,0px) + 108px)!important;
  z-index:15!important;
  background:rgba(12,5,4,.86)!important;
  border-color:rgba(255,215,106,.30)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.40),0 0 16px rgba(255,138,42,.14)!important;
}
@media(max-width:390px){
  #arenaScreen .arena-xpbar{top:calc(env(safe-area-inset-top,0px) + 91px)!important;left:14px!important;right:14px!important;}
  #arenaScreen .arena-lootbar{top:calc(env(safe-area-inset-top,0px) + 103px)!important;}
  .pose-tile img{height:66px!important;max-height:66px!important;}
}

/* V0.7.8 final home banner shell de-boxing override */
.home-alliance-banner-shell{min-width:0!important;width:auto!important;height:auto!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:0!important;}
.home-alliance-banner-shell img{background:transparent!important;border:0!important;outline:0!important;}
@media(max-width:430px){.home-alliance-banner-shell{min-width:0!important;height:auto!important;width:auto!important;padding:0!important;}}


/* ============================================================
   V0.7.9 GPT — Boss Lab + failed fix recovery overrides
   ============================================================ */
#hubProfileName,
.home-profile-copy b#hubProfileName,
body.nightmare #hubProfileName{
  color:#fff7dd!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.78),
    0 0 10px #ff3424,
    0 0 26px rgba(255,52,36,.68),
    0 0 48px rgba(255,52,36,.38)!important;
}
#hubAllianceChip,
.home-profile-copy small#hubAllianceChip,
body.nightmare #hubAllianceChip{
  color:#ffe7b8!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.78),
    0 0 11px var(--alliance-glow,#ff8a2a),
    0 0 28px var(--alliance-glow-soft,rgba(255,138,42,.48)),
    0 0 48px var(--alliance-glow-faint,rgba(255,138,42,.28))!important;
}

.hero-profile-artbox{
  min-height:268px!important;
  overflow:hidden!important;
}
#heroProfileArt{
  width:auto!important;
  height:100%!important;
  max-width:none!important;
  max-height:268px!important;
  object-fit:contain!important;
  object-position:var(--art-pos,center bottom)!important;
}
.alliance-card .rc-imgwrap img[data-hero-key="seth"],
.alliance-card .rc-imgwrap img[data-art-asset="p_seth"],
.alliance-card .rc-imgwrap img[data-art-asset="dark_lancer"],
.alliance-card .rc-imgwrap img[data-art-asset="story_seth_dark"]{
  width:auto!important;
  height:108%!important;
  max-width:none!important;
}
.pose-tile img[data-art-asset="story_seth_dark"]{
  width:118%!important;
  height:84px!important;
  max-height:84px!important;
}

#arenaScreen .arena-upgrade-meter{
  position:absolute;
  top:calc(env(safe-area-inset-top,0px) + 104px);
  left:16px;
  right:16px;
  z-index:18;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 10px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(18,7,4,.92),rgba(5,2,2,.86));
  border:1px solid rgba(255,215,106,.38);
  box-shadow:0 10px 24px rgba(0,0,0,.42),0 0 18px rgba(255,138,42,.18);
  pointer-events:none;
}
#arenaScreen .arena-upgrade-copy{
  display:flex;
  flex-direction:column;
  min-width:82px;
  text-align:left;
}
#arenaScreen .arena-upgrade-copy b{
  font:900 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.12em;
  color:#ffd76a;
  text-transform:uppercase;
  text-shadow:0 0 10px rgba(255,138,42,.40);
}
#arenaScreen .arena-upgrade-copy span{
  font:900 14px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  color:#fff4ce;
}
#arenaScreen .arena-upgrade-track{
  flex:1;
  height:13px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.10);
}
#arenaScreen .arena-upgrade-track i{
  display:block;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ff6d24,#ffd76a 72%,#fff5d6);
  box-shadow:0 0 14px rgba(255,174,58,.48);
}
#arenaScreen .arena-xpbar{
  top:calc(env(safe-area-inset-top,0px) + 96px)!important;
  opacity:.85!important;
  z-index:17!important;
}
#arenaScreen .arena-lootbar{
  top:calc(env(safe-area-inset-top,0px) + 139px)!important;
  z-index:18!important;
}
#arenaScreen .arena-boss-debug{
  position:absolute;
  left:16px;
  right:16px;
  bottom:calc(env(safe-area-inset-bottom,0px) + 150px);
  z-index:19;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 10px;
  border-radius:14px;
  background:rgba(6,2,3,.76);
  border:1px solid rgba(155,232,255,.32);
  color:#e7faff;
  font:800 11px/1.1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.04em;
  pointer-events:none;
  box-shadow:0 10px 24px rgba(0,0,0,.36),0 0 18px rgba(155,232,255,.14);
}
#arenaScreen .arena-boss-debug b{
  color:#9be8ff;
  text-transform:uppercase;
}
#arenaScreen .arena-boss-debug span{
  color:#fff4ce;
  text-align:right;
}
@media(max-width:390px){
  #arenaScreen .arena-upgrade-meter{
    top:calc(env(safe-area-inset-top,0px) + 100px);
    left:12px;
    right:12px;
    padding:6px 8px;
  }
  #arenaScreen .arena-lootbar{top:calc(env(safe-area-inset-top,0px) + 132px)!important;}
  #arenaScreen .arena-upgrade-copy{min-width:76px;}
  #arenaScreen .arena-upgrade-copy span{font-size:12.5px;}
}
body.nightmare #arenaScreen .arena-upgrade-meter,
body.nightmare #arenaScreen .arena-boss-debug{
  z-index:24!important;
}


/* ============================================================
   V0.7.10 GPT — Boss Lab visibility + tuning overrides
   ============================================================ */
#arenaScreen .arena-upgrade-meter[style*="display: none"],
#arenaScreen .arena-xpbar[style*="display: none"],
#arenaScreen .arena-lootbar[style*="display: none"]{
  display:none!important;
}
#arenaScreen .arena-boss-debug{
  bottom:calc(env(safe-area-inset-bottom,0px) + 132px)!important;
  z-index:26!important;
}
body.nightmare #arenaScreen .arena-boss-debug{
  z-index:28!important;
}
@media(max-width:390px){
  #arenaScreen .arena-boss-debug{
    bottom:calc(env(safe-area-inset-bottom,0px) + 126px)!important;
  }
}


/* ============================================================
   V0.7.11 GPT — Arena HUD Compact Top Pass
   Concept A target: compact top strip, slim upgrade meter,
   small wave cap, then the battlefield begins immediately below.
   ============================================================ */
#arenaScreen .arena-hud{
  top:calc(env(safe-area-inset-top,0px) + 4px)!important;
  left:10px!important;
  right:10px!important;
  height:78px!important;
  padding:5px 8px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,215,106,.42)!important;
  background:
    linear-gradient(180deg,rgba(20,8,5,.94),rgba(9,3,3,.86))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,235,180,.14),
    0 8px 24px rgba(0,0,0,.40),
    0 0 20px rgba(255,138,42,.10)!important;
  z-index:34!important;
  pointer-events:none!important;
}
#arenaScreen .arena-hud button{
  pointer-events:auto!important;
}
#arenaScreen .arena-hud .hud-btn{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  border-radius:13px!important;
  font-size:20px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,215,106,.44)!important;
  background:linear-gradient(180deg,#2a1108,#120504)!important;
}
#arenaScreen .arena-hud-mid{
  min-width:0!important;
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  gap:2px!important;
  align-items:center!important;
  justify-items:center!important;
  text-align:center!important;
}
#arenaScreen .arena-name{
  font:900 14px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.13em!important;
  margin:0!important;
  white-space:nowrap!important;
}
#arenaScreen .arena-stats{
  display:flex!important;
  justify-content:center!important;
  align-items:flex-end!important;
  gap:12px!important;
  width:100%!important;
  font:900 16px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  line-height:1!important;
}
#arenaScreen .arena-stat{
  min-width:30px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  line-height:1!important;
}
#arenaScreen .arena-stat .lab{
  font:900 8px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.16em!important;
  margin:0 0 2px!important;
  color:#bfa176!important;
}
#arenaScreen .arena-stat b{
  font-size:16px!important;
  line-height:1!important;
}
#arenaScreen #arenaHp{
  font-size:14px!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}
#arenaScreen .arena-loadout-pill{
  max-width:min(600px,76vw)!important;
  font:700 10px/1.1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  color:#d8bd8a!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin-top:1px!important;
}

/* Use the Next Upgrade meter as the single visible progress bar.
   Hide the older skinny XP bar so the top stack is not double-barred. */
#arenaScreen .arena-xpbar{
  display:none!important;
}
#arenaScreen .arena-upgrade-meter{
  top:calc(env(safe-area-inset-top,0px) + 92px)!important;
  left:12px!important;
  right:12px!important;
  height:26px!important;
  min-height:0!important;
  padding:4px 10px!important;
  gap:9px!important;
  border-radius:0 0 12px 12px!important;
  background:linear-gradient(180deg,rgba(15,6,4,.86),rgba(4,1,1,.78))!important;
  border:1px solid rgba(255,215,106,.36)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.34),0 0 16px rgba(255,138,42,.12)!important;
  z-index:31!important;
}
#arenaScreen .arena-upgrade-copy{
  min-width:52px!important;
}
#arenaScreen .arena-upgrade-copy b{
  display:none!important;
}
#arenaScreen .arena-upgrade-copy span{
  font:900 14px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  color:#fff2c8!important;
  letter-spacing:.05em!important;
}
#arenaScreen .arena-upgrade-track{
  height:11px!important;
  border-radius:999px!important;
}
#arenaScreen .arena-lootbar{
  top:calc(env(safe-area-inset-top,0px) + 126px)!important;
  transform:translateX(-50%) scale(.90)!important;
  opacity:.92!important;
}

/* Boss mode keeps the combat HUD clear: boss title/health takes priority,
   and the battlefield starts under that compact boss cap. */
#arenaScreen.boss-mode .arena-upgrade-meter,
#arenaScreen.boss-mode .arena-lootbar{
  display:none!important;
}

@media(max-width:390px){
  #arenaScreen .arena-hud{
    left:8px!important;
    right:8px!important;
    height:74px!important;
    padding:5px 7px!important;
    gap:6px!important;
  }
  #arenaScreen .arena-hud .hud-btn{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
  #arenaScreen .arena-name{
    font-size:12.5px!important;
    letter-spacing:.11em!important;
  }
  #arenaScreen .arena-stats{
    gap:8px!important;
    font-size:14px!important;
  }
  #arenaScreen .arena-stat{
    min-width:25px!important;
  }
  #arenaScreen .arena-stat .lab{
    font-size:7px!important;
    letter-spacing:.12em!important;
  }
  #arenaScreen #arenaHp{
    font-size:12.5px!important;
  }
  #arenaScreen .arena-loadout-pill{
    max-width:70vw!important;
    font-size:9px!important;
  }
  #arenaScreen .arena-upgrade-meter{
    top:calc(env(safe-area-inset-top,0px) + 87px)!important;
    left:10px!important;
    right:10px!important;
  }
}

/* ============================================================
   V0.7.13 GPT — Developer Settings + Boss Progression Lab Pass
   ============================================================ */
.developer-settings-card{
  border-color:rgba(155,232,255,.24)!important;
}
.developer-settings-card.developer-on{
  border-color:rgba(155,232,255,.58)!important;
  box-shadow:0 0 24px rgba(155,232,255,.12), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.developer-settings-body{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(155,232,255,.18);
}
.toggle.locked{
  opacity:.42;
  filter:saturate(.45);
}
.arena-bosslab-panel{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(155,232,255,.30);
  background:linear-gradient(180deg,rgba(7,20,26,.72),rgba(5,2,8,.70));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(155,232,255,.10);
}
.arena-dev-kicker{
  margin-bottom:8px;
  color:#9be8ff;
  font:900 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.arena-bosslab-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  text-align:left;
}
.arena-bosslab-grid label{
  display:flex;
  flex-direction:column;
  gap:4px;
  color:#d8bd8a;
  font:800 10px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.arena-bosslab-grid select{
  min-height:34px;
  border-radius:10px;
  border:1px solid rgba(255,215,106,.28);
  background:#120706;
  color:#fff0c8;
  padding:6px 8px;
  font:800 13px/1 'Barlow Condensed','Arial Narrow',sans-serif;
}
#arenaScreen .arena-boss-debug{
  max-width:calc(100vw - 32px);
}
#arenaScreen .arena-boss-defeat-img{
  width:96px;
  height:96px;
  object-fit:contain;
  margin:0 auto 8px;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(155,232,255,.20));
}


/* ============================================================
   V0.7.13 GPT — Home glow, hero close recovery, boss obstacle tuning
   ============================================================ */
#hubProfileName,
.home-profile-copy b#hubProfileName,
body.nightmare #hubProfileName{
  color:#fff9e8!important;
  background:transparent!important;
  -webkit-text-stroke:.35px rgba(255,86,39,.62)!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.92),
    0 0 4px #ff4022,
    0 0 12px #ff2a16,
    0 0 28px rgba(255,45,22,.82),
    0 0 56px rgba(255,42,22,.48)!important;
  filter:drop-shadow(0 0 8px rgba(255,42,22,.76)) drop-shadow(0 0 18px rgba(255,42,22,.38))!important;
}
#hubAllianceChip,
.home-profile-copy small#hubAllianceChip,
body.nightmare #hubAllianceChip{
  color:#fff1c9!important;
  background:transparent!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.92),
    0 0 5px var(--alliance-glow,#ff8a2a),
    0 0 14px var(--alliance-glow,#ff8a2a),
    0 0 30px var(--alliance-glow-soft,rgba(255,138,42,.78)),
    0 0 58px var(--alliance-glow-faint,rgba(255,138,42,.46))!important;
  filter:drop-shadow(0 0 8px var(--alliance-glow-soft,rgba(255,138,42,.74))) drop-shadow(0 0 18px var(--alliance-glow-faint,rgba(255,138,42,.38)))!important;
}
#heroProfileArt[data-hero-key="seth"][data-art-asset="story_seth_dark"]{
  height:100%!important;
  width:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:translate(0%,0%) scale(.62)!important;
  transform-origin:center center!important;
}
#heroProfileArt[data-hero-key="seth"][data-art-asset="dark_lancer"]{
  transform:translate(0%,0%) scale(.76)!important;
  transform-origin:center bottom!important;
}
#heroProfileArt[data-hero-key="seth"][data-art-asset="p_seth"]{
  transform:translate(0%,0%) scale(.86)!important;
  transform-origin:center bottom!important;
}

/* V0.7.15 GPT — Nightmare Prologue + true letter glow fixes */
body[data-screen="storyScreen"].nightmare #app::after{
  z-index:1!important;
  opacity:.20!important;
  pointer-events:none!important;
}
body[data-screen="storyScreen"].nightmare #storyScreen,
body[data-screen="storyScreen"].nightmare #storyScreen .story-stage,
body[data-screen="storyScreen"].nightmare #storyScreen .story-copy,
body[data-screen="storyScreen"].nightmare #storyScreen .story-art-wrap,
body[data-screen="storyScreen"].nightmare #storyScreen .story-actions{
  position:relative;
  z-index:12!important;
}
body.nightmare #hubProfileName,
body.nightmare .home-profile-copy b#hubProfileName,
body.nightmare #hubAllianceChip,
body.nightmare .home-profile-copy small#hubAllianceChip{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
}
body.nightmare #hubProfileName,
body.nightmare .home-profile-copy b#hubProfileName{
  color:#ff4214!important;
  -webkit-text-fill-color:#ff4214!important;
  text-shadow:0 2px 0 rgba(0,0,0,.92),0 0 5px #ff4214,0 0 14px #ff2a16,0 0 34px rgba(255,45,22,.86),0 0 62px rgba(255,42,22,.52)!important;
}
body.nightmare #hubAllianceChip,
body.nightmare .home-profile-copy small#hubAllianceChip{
  color:var(--alliance-glow,#ff8a2a)!important;
  -webkit-text-fill-color:var(--alliance-glow,#ff8a2a)!important;
  text-shadow:0 2px 0 rgba(0,0,0,.92),0 0 5px var(--alliance-glow,#ff8a2a),0 0 14px var(--alliance-glow,#ff8a2a),0 0 32px var(--alliance-glow-soft,rgba(255,138,42,.34)),0 0 58px var(--alliance-glow-faint,rgba(255,138,42,.16))!important;
}

/* ============================================================
   V0.7.16 GPT — Nightmare Prologue + profile text glow hotfix
   ============================================================ */
/* Home profile labels: no wrapper/background glow in normal mode. */
.home-profile-copy,
.home-profile-line,
.home-profile-copy b,
.home-profile-copy small,
#hubProfileName,
#hubAllianceChip{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-filter:none!important;
}
body:not(.nightmare) #hubProfileName,
body:not(.nightmare) .home-profile-copy b#hubProfileName{
  color:#fff7dd!important;
  -webkit-text-fill-color:#fff7dd!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 2px 0 rgba(0,0,0,.78)!important;
}
body:not(.nightmare) #hubAllianceChip,
body:not(.nightmare) .home-profile-copy small#hubAllianceChip{
  color:#ffe7b8!important;
  -webkit-text-fill-color:#ffe7b8!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 2px 0 rgba(0,0,0,.78)!important;
}
/* Nightmare mode: only the glyphs glow. Keep containers transparent and unlit. */
body.nightmare .home-profile-copy,
body.nightmare .home-profile-line,
body.nightmare #hubProfileName,
body.nightmare .home-profile-copy b#hubProfileName,
body.nightmare #hubAllianceChip,
body.nightmare .home-profile-copy small#hubAllianceChip{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  -webkit-text-stroke:0!important;
}
body.nightmare #hubProfileName,
body.nightmare .home-profile-copy b#hubProfileName{
  color:#ff4214!important;
  -webkit-text-fill-color:#ff4214!important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.86),
    0 0 4px #ff4214,
    0 0 11px rgba(255,42,22,.78),
    0 0 24px rgba(255,42,22,.42)!important;
}
body.nightmare #hubAllianceChip,
body.nightmare .home-profile-copy small#hubAllianceChip{
  color:var(--alliance-glow,#ff8a2a)!important;
  -webkit-text-fill-color:var(--alliance-glow,#ff8a2a)!important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.86),
    0 0 4px var(--alliance-glow,#ff8a2a),
    0 0 11px var(--alliance-glow-soft,rgba(255,138,42,.62)),
    0 0 24px var(--alliance-glow-faint,rgba(255,138,42,.32))!important;
}
/* Story/Prologue with Nightmare on: keep the full-screen stage absolute and above Nightmare overlays. */
body[data-screen="storyScreen"].nightmare #storyScreen{
  z-index:40!important;
  background:#090401!important;
}
body[data-screen="storyScreen"].nightmare #storyScreen .story-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100dvh!important;
  z-index:41!important;
  overflow:hidden!important;
}
body[data-screen="storyScreen"].nightmare #storyScreen .story-bg-blur,
body[data-screen="storyScreen"].nightmare #storyScreen .story-image,
body[data-screen="storyScreen"].nightmare #storyScreen .story-vignette{
  position:absolute!important;
  z-index:42!important;
}
body[data-screen="storyScreen"].nightmare #storyScreen .story-character{
  position:absolute!important;
  z-index:43!important;
}
body[data-screen="storyScreen"].nightmare #storyScreen .story-copy{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:calc(10px + env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  z-index:44!important;
}
body[data-screen="storyScreen"].nightmare #app::before,
body[data-screen="storyScreen"].nightmare #app::after{
  pointer-events:none!important;
  z-index:5!important;
}
@media (orientation:landscape) and (max-height:520px){
  body[data-screen="storyScreen"].nightmare #storyScreen .story-copy{
    left:auto!important;
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    transform:none!important;
  }
}
/* V0.7.16 safety override: previous pass accidentally made storyScreen relative. */
body[data-screen="storyScreen"].nightmare #storyScreen{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100dvh!important;
}

/* ============================================================
   V0.8.1 GPT — Hero Activation + Visual Cleanup Pass
   ============================================================ */
html,body,#app{
  min-height:100dvh!important;
  background:#090401!important;
}
body::before{
  content:"";
  position:fixed;
  left:0;right:0;bottom:0;
  height:calc(18px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(9,4,1,0),#090401 42%,#090401)!important;
  z-index:0;
  pointer-events:none;
}
.screen{min-height:100dvh!important;background-color:#090401;}
.screen-scroll{padding-bottom:calc(18px + env(safe-area-inset-bottom));}

/* Center Betrayal/Stolen Glory cinematic art inside the open space above the text box. */
.story-stage.story-cinematic .story-image.fit-cinematic{
  top:clamp(22px,4.6vh,50px)!important;
  bottom:auto!important;
  left:0!important;right:0!important;
  width:100%!important;
  height:min(55vh,calc(100dvh - 248px - env(safe-area-inset-bottom)))!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0 8px!important;
  transform:none!important;
}
.story-stage.story-cinematic .story-bg-blur{
  opacity:.70!important;
}
@media (max-width:720px){
  .story-stage.story-cinematic .story-image.fit-cinematic{
    top:clamp(24px,5vh,48px)!important;
    height:min(54vh,calc(100dvh - 236px - env(safe-area-inset-bottom)))!important;
    padding:0 6px!important;
  }
}
@media (orientation:landscape) and (max-height:520px){
  .story-stage.story-cinematic .story-image.fit-cinematic{
    inset:0!important;
    width:55vw!important;
    height:100%!important;
    object-position:center center!important;
    padding:4px!important;
  }
}
body[data-screen="storyScreen"].nightmare #storyScreen .story-stage.story-cinematic .story-image.fit-cinematic{
  position:absolute!important;
  top:clamp(22px,4.6vh,50px)!important;
  height:min(55vh,calc(100dvh - 248px - env(safe-area-inset-bottom)))!important;
  object-position:center center!important;
  z-index:42!important;
}
@media (orientation:landscape) and (max-height:520px){
  body[data-screen="storyScreen"].nightmare #storyScreen .story-stage.story-cinematic .story-image.fit-cinematic{
    inset:0!important;
    width:55vw!important;
    height:100%!important;
  }
}

.dev-snapshot-box{
  margin:8px 0 2px;
  padding:10px;
  border:1px solid var(--panel-edge-soft);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(18,10,5,.72),rgba(8,4,2,.84));
}
.dev-snapshot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
#devSnapshotOutput{
  white-space:pre-wrap;
  max-height:220px;
  overflow:auto;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:11px;
  line-height:1.28;
  color:#ffe8bf;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,210,120,.10);
  border-radius:10px;
  padding:9px;
  user-select:text;
  -webkit-user-select:text;
}


/* ============================================================
   V0.8.2 GPT — Visual + Hero Unlock Cleanup Pass
   ============================================================ */
/* Remove the V0.8.1 bottom blocker. The app should use real scroll padding, not a fixed black strip. */
body::before{content:none!important;display:none!important;}
html,body,#app{background:var(--bg-0)!important;}
.screen{background-color:transparent!important;}
.screen-scroll{
  padding-bottom:calc(84px + env(safe-area-inset-bottom))!important;
  overscroll-behavior:contain!important;
}
#hubScreen .screen-scroll{padding-bottom:calc(98px + env(safe-area-inset-bottom))!important;}

/* Normal mode profile text should be readable without Nightmare glow bleeding through. */
body:not(.nightmare) .home-profile-copy b,
body:not(.nightmare) #hubProfileName{
  color:#fff7dd!important;
  -webkit-text-fill-color:#fff7dd!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 2px 0 rgba(0,0,0,.72),0 0 8px rgba(255,190,92,.16)!important;
}
body:not(.nightmare) .home-profile-copy small,
body:not(.nightmare) #hubAllianceChip{
  color:#ffe7b8!important;
  -webkit-text-fill-color:#ffe7b8!important;
  text-shadow:0 2px 0 rgba(0,0,0,.74),0 0 8px rgba(255,190,92,.18)!important;
}

/* Developer Unlock All Heroes should visually unlock Alliance Hub roster portraits too. */
.roster-card.future-hero.dev-active .rc-imgwrap{
  background:radial-gradient(circle at 50% 34%,rgba(255,213,124,.24),rgba(0,0,0,.22) 60%,rgba(0,0,0,.38) 100%)!important;
}
.roster-card.future-hero.dev-active .rc-imgwrap img{
  filter:drop-shadow(0 13px 18px rgba(0,0,0,.72))!important;
  opacity:1!important;
}
.roster-card.future-hero.dev-active .rc-imgwrap::after{content:none!important;}

/* Trading Post confirmation is a true centered modal, not a section stapled to the top. */
.tp-confirm-backdrop{
  position:fixed!important;
  inset:0!important;
  min-height:100dvh!important;
  align-items:center!important;
  justify-content:center!important;
  padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom))!important;
  z-index:9999!important;
}
.tp-confirm-card{margin:auto!important;max-height:calc(100dvh - 54px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;}

/* Mug's Arena full-roster loadout picker must scroll when the developer roster is active. */
#arenaStartOverlay{
  position:fixed!important;
  inset:0!important;
  overflow-y:auto!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:calc(18px + env(safe-area-inset-top)) 16px calc(34px + env(safe-area-inset-bottom))!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:touch!important;
}
#arenaStartOverlay .arena-card--loadout{
  margin:auto 0!important;
  max-height:none!important;
  overflow:visible!important;
}
#arenaStartOverlay .arena-hero-picks{
  max-height:min(54dvh,420px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  padding-right:4px!important;
}
@media(max-width:430px){
  #arenaStartOverlay .arena-card--loadout{max-width:94vw!important;padding:18px 14px 16px!important;}
  #arenaStartOverlay .arena-hero-picks{grid-template-columns:1fr!important;max-height:50dvh!important;}
}

/* ============================================================
   V0.8.3 GPT — Arena HUD + Hero VFX Pass
   Top bar cleanup: drop the redundant title line inside the combat
   HUD, shrink the strip to two rows (stats + loadout pill), and pull
   the upgrade meter + loot pill up tight so the battlefield gains
   vertical space. The picker overlay keeps its own full title.
   ============================================================ */
#arenaScreen .arena-hud .arena-name{
  display:none!important;
}
#arenaScreen .arena-hud{
  height:58px!important;
  padding:5px 8px!important;
}
#arenaScreen .arena-hud .hud-btn{
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
}
#arenaScreen .arena-hud-mid{
  grid-template-rows:auto auto!important;
  gap:3px!important;
}
#arenaScreen .arena-stats{
  gap:14px!important;
}
#arenaScreen .arena-loadout-pill{
  font-size:9.5px!important;
  opacity:.88!important;
}
#arenaScreen .arena-upgrade-meter{
  top:calc(env(safe-area-inset-top,0px) + 68px)!important;
  height:24px!important;
}
#arenaScreen .arena-lootbar{
  top:calc(env(safe-area-inset-top,0px) + 98px)!important;
}
@media(max-width:390px){
  #arenaScreen .arena-hud{
    height:56px!important;
    padding:4px 7px!important;
  }
  #arenaScreen .arena-hud .hud-btn{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
  #arenaScreen .arena-upgrade-meter{
    top:calc(env(safe-area-inset-top,0px) + 65px)!important;
  }
  #arenaScreen .arena-lootbar{
    top:calc(env(safe-area-inset-top,0px) + 94px)!important;
  }
}

/* ============================================================
   V0.8.4 GPT — Arena Skill Tree + Directional Combat Pass
   Picker info chips, Mug pinned card, disabled start button,
   hero skill preview overlay, and golden Ultimate upgrade cards.
   ============================================================ */
.arena-hero-pick{position:relative;}
.arena-hero-info{
  position:absolute; top:5px; right:6px;
  width:22px; height:22px; display:grid; place-items:center;
  border-radius:50%;
  background:rgba(12,5,4,.78);
  border:1px solid rgba(255,215,106,.45);
  color:#ffd76a;
  font:900 12px/1 'Barlow Condensed','Arial Narrow',sans-serif;
  z-index:2;
}
.arena-hero-pick--mug{
  border-color:rgba(255,215,106,.7)!important;
  background:linear-gradient(180deg,rgba(46,20,8,.92),rgba(18,6,4,.9))!important;
  opacity:1!important;
}
.arena-hero-pick--mug em{color:#ffe9bd;}
#arenaStartBtn[disabled]{
  opacity:.45;
  filter:grayscale(.5);
  pointer-events:none;
}
.arena-card--preview{
  max-width:430px;
  width:min(430px,92vw);
  max-height:78vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  position:relative;
  text-align:left;
}
.arena-preview-close{
  position:absolute; top:8px; right:8px;
  width:34px; height:34px; border-radius:10px;
  border:1px solid rgba(255,215,106,.4);
  background:rgba(12,5,4,.8); color:#ffd76a;
  font:900 15px/1 sans-serif;
}
.arena-preview-head{display:flex;gap:12px;align-items:center;margin-bottom:8px;}
.arena-preview-head img{
  width:84px;height:84px;object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));
  background:radial-gradient(60% 60% at 50% 50%,rgba(255,138,42,.16),transparent);
  border-radius:14px;
}
.arena-preview-head h2{margin:2px 0;font-size:20px;}
.arena-preview-desc{color:#e8d4ad;font-size:13px;line-height:1.4;margin:4px 0 10px;}
.arena-preview-branches{display:flex;flex-direction:column;gap:7px;margin-bottom:10px;}
.arena-preview-branch{
  border:1px solid rgba(255,215,106,.24);
  border-radius:12px;
  padding:8px 10px;
  background:rgba(20,8,5,.6);
}
.arena-preview-branch b{display:block;color:#ffd76a;font:900 13px/1.2 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.04em;}
.arena-preview-branch small,.arena-preview-ult small{display:block;color:#cdbb97;font-size:11.5px;line-height:1.35;margin-top:2px;}
.arena-preview-ult{
  border:1px solid rgba(255,215,106,.55);
  border-radius:12px;
  padding:9px 10px;
  background:linear-gradient(180deg,rgba(64,38,8,.7),rgba(26,12,4,.7));
  box-shadow:0 0 18px rgba(255,180,60,.14);
}
.arena-preview-ult b{display:block;color:#ffe9a8;font:900 13.5px/1.2 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.05em;}
.arena-preview-ult em{display:block;color:#bfa176;font-size:10.5px;font-style:normal;margin-top:3px;}
.arena-pick--ult{
  border:1px solid rgba(255,222,120,.85)!important;
  background:linear-gradient(180deg,rgba(74,44,8,.95),rgba(30,14,4,.95))!important;
  box-shadow:0 0 22px rgba(255,196,70,.30), inset 0 1px 0 rgba(255,240,190,.25)!important;
}
.arena-pick--ult b{color:#ffe9a8!important;}

/* ============================================================
   V0.8.5 GPT — Aim Assist + Faithful Orbit + Full Tree Rollout
   ============================================================ */
.arena-preview-tf{
  margin-top:8px;
  border:1px solid rgba(127,215,255,.4);
  border-radius:12px;
  padding:8px 10px;
  background:rgba(8,18,26,.6);
}
.arena-preview-tf b{display:block;color:#9be8ff;font:900 12.5px/1.2 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.05em;}
.arena-preview-tf small{display:block;color:#bcd9e8;font-size:11px;line-height:1.35;margin-top:2px;}


/* V0.9.8 final override: buyable action cards stay covered until bought. */
.pose-tile.buyable.covered img{visibility:hidden!important;}
.pose-tile.buyable.covered::before{
  content:"?"!important;
  position:absolute!important;
  inset:11px 12px 34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:12px!important;
  background:radial-gradient(circle at 50% 40%,rgba(140,255,160,.16),rgba(0,0,0,.72) 68%)!important;
  border:1px solid rgba(140,255,160,.22)!important;
  color:#d8ffe0!important;
  font-family:var(--display)!important;
  font-size:30px!important;
  font-weight:1000!important;
  z-index:1!important;
  pointer-events:none!important;
}
.pose-tile.buyable.covered::after{content:'BUY'!important;}
.pose-tile.buyable.covered span,.pose-tile.buyable.covered small{position:relative!important;z-index:2!important;}
.hub-recruit-chip.empty{opacity:.72;filter:saturate(.75);}

/* V0.9.8: Arena loadout picker readability pass. */
#arenaStartOverlay .arena-card--loadout{
  width:min(760px,94vw)!important;
  max-width:min(760px,94vw)!important;
}
#arenaStartOverlay .arena-hero-picks{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;
  gap:11px!important;
  max-height:min(56dvh,470px)!important;
}
#arenaStartOverlay .arena-hero-pick{
  min-height:118px!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:10px!important;
  padding:10px 10px 9px!important;
}
#arenaStartOverlay .arena-hero-pick img{
  width:60px!important;
  height:60px!important;
  grid-row:1 / span 2!important;
  margin:0!important;
  object-fit:cover!important;
}
#arenaStartOverlay .arena-hero-copy{display:block!important;min-width:0!important;padding-right:24px!important;}
#arenaStartOverlay .arena-hero-copy b{
  display:block!important;
  font:900 18px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  hyphens:none!important;
}
#arenaStartOverlay .arena-hero-copy small{
  display:block!important;
  margin-top:2px!important;
  color:#ffd76a!important;
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#arenaStartOverlay .arena-hero-copy em{
  display:block!important;
  margin-top:5px!important;
  color:#cdbb97!important;
  font-size:10.5px!important;
  line-height:1.2!important;
  font-style:normal!important;
}
#arenaStartOverlay .arena-hero-status{
  grid-column:2!important;
  justify-self:start!important;
  align-self:end!important;
  margin-top:6px!important;
  border:1px solid rgba(255,215,106,.26)!important;
  border-radius:999px!important;
  padding:4px 8px!important;
  color:#ffe3a5!important;
  background:rgba(0,0,0,.28)!important;
  font:900 9px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.11em!important;
  font-style:normal!important;
}
#arenaStartOverlay .arena-hero-pick.selected .arena-hero-status{background:#ffd76a!important;color:#241006!important;border-color:#ffe8a8!important;}
#arenaStartOverlay .arena-hero-pick.selected::after,
#arenaStartOverlay .arena-hero-pick.locked::after{display:none!important;}
@media(max-width:430px){
  #arenaStartOverlay .arena-hero-picks{grid-template-columns:1fr!important;max-height:50dvh!important;}
  #arenaStartOverlay .arena-hero-pick{grid-template-columns:56px minmax(0,1fr)!important;min-height:108px!important;}
  #arenaStartOverlay .arena-hero-pick img{width:52px!important;height:52px!important;}
  #arenaStartOverlay .arena-hero-copy b{font-size:16px!important;}
}

/* V0.9.8: run upgrade cards now show who owns the upgrade. */
.arena-pick-owner{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin-bottom:3px!important;
  border:1px solid rgba(255,215,106,.28)!important;
  border-radius:999px!important;
  padding:3px 7px!important;
  background:rgba(255,215,106,.10)!important;
  color:#ffd76a!important;
  font:900 9px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}


/* V0.10.0: buyable action cards use the same covered/silhouette language as locked cards, not the green mystery-card glow. */
.pose-tile.buyable.covered{
  border-color:rgba(255,205,120,.20)!important;
  background:linear-gradient(180deg,rgba(20,20,22,.94),rgba(2,2,3,.97))!important;
  box-shadow:none!important;
}
.pose-tile.buyable.covered img{
  visibility:visible!important;
  filter:brightness(0) grayscale(1) contrast(1.25) opacity(.48)!important;
  transform:scale(1.03)!important;
}
.pose-tile.buyable.covered::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),rgba(0,0,0,.58) 55%,rgba(0,0,0,.84))!important;
  border:0!important;
  z-index:1!important;
  pointer-events:none!important;
}
.pose-tile.buyable.covered::after{
  content:'BUY'!important;
  right:8px!important;
  top:8px!important;
  z-index:3!important;
  color:#fff2cf!important;
  background:rgba(16,10,6,.78)!important;
  border:1px solid rgba(255,205,120,.24)!important;
  border-radius:999px!important;
  padding:3px 7px!important;
  font-family:var(--display)!important;
  font-size:10px!important;
  letter-spacing:.1em!important;
}
.pose-tile.buyable.covered span{color:rgba(255,238,205,.78)!important;}
.pose-tile.buyable.covered small{color:var(--gold)!important;}
.hero-card-confirm-panel{max-width:420px;text-align:center;}
.hero-card-confirm-panel .card-confirm-cost{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,205,120,.22);border-radius:14px;background:rgba(8,5,3,.55);padding:10px 12px;margin:12px 0;}
.hero-card-confirm-panel .card-confirm-cost span{font:900 11px/1 var(--display);letter-spacing:.08em;color:rgba(255,230,170,.76);text-transform:uppercase;}
.hero-card-confirm-panel .card-confirm-cost b{font:1000 14px/1 var(--display);color:var(--gold);}


/* V0.10.0 covered skill cards for locked/unpurchased heroes */
.skill-visual-card.skill-card-covered .skill-art{filter:saturate(.65) brightness(.72);}
.skill-visual-card.skill-card-covered .skill-art img.locked-hero-silhouette{filter:brightness(0) saturate(0) drop-shadow(0 0 18px rgba(255,213,116,.22)); opacity:.82;}
.skill-visual-card.skill-card-covered .skill-copy p,.skill-visual-card.skill-card-covered .skill-next{color:rgba(245,225,190,.72);}

/* V0.10.1 — Nightmare and Mug's Rage correction overrides */
body.nightmare #burnerScreen .bn-meters,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-meters{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:30!important;
  filter:drop-shadow(0 0 8px rgba(255,104,28,.35));
}
body.nightmare #burnerScreen .bn-meter-row .ml,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-meter-row .ml,
body.nightmare #burnerScreen #bnProgress,
body[data-screen="burnerScreen"].nightmare #burnerScreen #bnProgress{
  color:#ffd86a!important;
  text-shadow:0 0 8px rgba(255,94,28,.75),0 2px 4px #000!important;
}
body.nightmare #burnerScreen .bn-track,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-track{
  background:rgba(0,0,0,.66)!important;
  border-color:rgba(255,138,42,.55)!important;
}
body.nightmare #nightmareLightning.nm-settings-preview,
body #nightmareLightning.nm-settings-preview{
  z-index:9999!important;
  pointer-events:none!important;
  opacity:1!important;
}

/* V0.10.2 — owned future heroes reveal real art, while recruit/ready states stay covered */
.roster-card.future-hero.purchased-hero .rc-imgwrap,
.roster-card.future-hero.owned .rc-imgwrap{
  background:radial-gradient(circle at 50% 42%,rgba(255,214,124,.18),rgba(0,0,0,.42) 66%)!important;
  border-color:rgba(255,214,124,.48)!important;
  opacity:1!important;
}
.roster-card.future-hero.purchased-hero .rc-imgwrap img,
.roster-card.future-hero.owned .rc-imgwrap img{
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))!important;
  opacity:1!important;
}
.roster-card.future-hero.purchased-hero .rc-imgwrap::after,
.roster-card.future-hero.owned .rc-imgwrap::after{
  content:none!important;
  display:none!important;
}
.roster-card.future-hero.purchased-hero .rc-helper-status,
.roster-card.future-hero.owned .rc-helper-status{
  color:var(--gold)!important;
}
.roster-card.future-hero.dev-preview .rc-helper-status{
  color:#9fd0ff!important;
}

/* V0.10.2 — Nightmare settings tests must preview above the settings popup */
body #nightmareLightning.nm-settings-preview,
body.nightmare #nightmareLightning.nm-settings-preview{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  pointer-events:none!important;
  opacity:1!important;
}
body #nightmareLightning.nm-settings-preview img,
body.nightmare #nightmareLightning.nm-settings-preview img{
  opacity:.92!important;
  filter:contrast(1.42) brightness(1.18) drop-shadow(0 0 72px rgba(255,238,195,.92)) drop-shadow(0 12px 28px rgba(0,0,0,.72))!important;
}


/* V0.10.9: Nightmare can recolor bubbles, but it must never blur the words. */
body.nightmare .bubble,
body.nightmare .story-copy,
body.nightmare .briefing-card,
body.nightmare .toast,
body.nightmare .panel .panel-sub,
body.nightmare .bn-start-card{
  filter:none!important;
  -webkit-filter:none!important;
}
body.nightmare .bubble,
body.nightmare .story-copy{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.nightmare .bubble *,
body.nightmare .story-copy *,
body.nightmare .briefing-card *,
body.nightmare .toast *,
body.nightmare .bn-start-card *{
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}
body.nightmare .bubble p,
body.nightmare .story-copy p,
body.nightmare .briefing-card p,
body.nightmare .bn-start-sub{
  color:#fff1da!important;
  text-shadow:0 2px 4px rgba(0,0,0,.92)!important;
}


/* V0.10.9 final Mug's Rage Nightmare meter guardrail. */
body.nightmare #burnerScreen .bn-meters,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-meters{
  position:absolute!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  top:calc(76px + env(safe-area-inset-top))!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(500px,86vw)!important;
  z-index:52!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  pointer-events:none!important;
}
body.nightmare #burnerScreen .bn-meter-row .ml,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-meter-row .ml,
body.nightmare #burnerScreen #bnProgress,
body[data-screen="burnerScreen"].nightmare #burnerScreen #bnProgress{
  color:#ffe39a!important;
  text-shadow:0 0 8px rgba(255,94,28,.78),0 2px 4px #000!important;
}
body.nightmare #burnerScreen .bn-track,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-track{
  background:rgba(0,0,0,.82)!important;
  border-color:rgba(255,190,86,.74)!important;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.8),0 0 10px rgba(255,112,28,.18)!important;
}
body.nightmare #burnerScreen #bnProgFill,
body[data-screen="burnerScreen"].nightmare #burnerScreen #bnProgFill{background:linear-gradient(90deg,#ff5626,#ffc65a)!important;box-shadow:0 0 10px rgba(255,112,28,.55)!important;}
body.nightmare #burnerScreen #bnTorchFill,
body[data-screen="burnerScreen"].nightmare #burnerScreen #bnTorchFill{background:linear-gradient(90deg,#8a1d08,#ff7a1a,#ffd86a)!important;box-shadow:0 0 12px rgba(255,143,37,.68)!important;}

/* V0.10.10: hidden developer lock and action-card confirmation bonus clarity */
.hidden-dev-banner{cursor:default;user-select:none;}
.hero-card-confirm-panel .card-confirm-cost{flex-wrap:wrap;}
.hero-card-confirm-panel .card-confirm-bonus{display:block;flex:0 0 100%;margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,205,120,.16);font:900 11px/1.25 var(--display);letter-spacing:.04em;color:#ffe4a8;text-align:center;}
#developerSettingsCard{display:none;}
#developerSettingsCard.developer-on{display:block;}

/* ============================================================
   V0.10.11 — Arena Picker Polish + Hero Passive Bonus Clarity
   ============================================================ */
#arenaStartOverlay .arena-card--loadout{
  max-width:min(690px,94vw)!important;
  padding:18px 18px 16px!important;
}
#arenaStartOverlay .arena-card--loadout h2{
  font-size:clamp(28px,7vw,42px)!important;
  line-height:.95!important;
  margin:2px 0 8px!important;
  text-shadow:0 0 18px rgba(255,80,26,.55),0 2px 0 rgba(0,0,0,.55)!important;
}
#arenaStartOverlay .arena-loadout-short{
  max-width:560px!important;
  margin:0 auto 12px!important;
  color:#ffe0b0!important;
  font-size:clamp(14px,3.4vw,17px)!important;
  line-height:1.22!important;
}
.arena-loadout-selected{
  border:1px solid rgba(255,215,106,.34)!important;
  background:linear-gradient(180deg,rgba(58,25,8,.76),rgba(14,5,4,.84))!important;
  box-shadow:0 0 24px rgba(255,120,34,.16), inset 0 1px 0 rgba(255,235,170,.14)!important;
  border-radius:18px!important;
  padding:10px!important;
  margin:8px 0 10px!important;
}
.arena-selected-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin:0 2px 8px!important;
}
.arena-selected-head b{
  color:#ffd76a!important;
  font:900 15px/1 'Cinzel','Georgia',serif!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
.arena-selected-head small{color:#c9a77d!important;font-size:11px!important;line-height:1.1!important;}
.arena-selected-slots{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
.arena-selected-slot{
  min-height:66px!important;
  border-radius:14px!important;
  border:1px solid rgba(255,215,106,.24)!important;
  background:rgba(8,3,3,.62)!important;
  color:#ffe8be!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  text-align:left!important;
  padding:8px!important;
  overflow:hidden!important;
}
.arena-selected-slot img{grid-row:1/3;width:44px!important;height:44px!important;object-fit:cover;border-radius:12px;border:1px solid rgba(255,218,150,.36);filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));}
.arena-selected-slot span{font:800 10px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;color:#ffd76a!important;text-transform:uppercase!important;letter-spacing:.11em!important;}
.arena-selected-slot b{font:900 17px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.arena-selected-slot.filled{box-shadow:0 0 16px rgba(255,110,28,.16),inset 0 1px 0 rgba(255,230,160,.12)!important;}
.arena-selected-slot.empty{grid-template-columns:1fr!important;text-align:center!important;place-items:center!important;opacity:.72!important;border-style:dashed!important;}
.arena-roster-label{
  color:#ffd76a!important;
  font:900 12px/1 'Cinzel','Georgia',serif!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  text-align:left!important;
  margin:8px 2px 6px!important;
}
#arenaStartOverlay .arena-hero-picks{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:min(39dvh,330px)!important;
  padding:2px 4px 2px 2px!important;
  margin:0 0 10px!important;
}
#arenaStartOverlay .arena-hero-pick{
  min-height:94px!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:auto auto 1fr!important;
  column-gap:9px!important;
  align-items:center!important;
  padding:9px 8px 24px!important;
  border-radius:17px!important;
  background:radial-gradient(120% 100% at 0% 0%,rgba(255,105,30,.13),transparent 50%),linear-gradient(155deg,rgba(28,10,6,.97),rgba(8,3,4,.99))!important;
}
#arenaStartOverlay .arena-hero-pick.selected{
  border-color:rgba(255,216,106,.9)!important;
  box-shadow:0 0 24px rgba(255,108,25,.32),0 0 0 1px rgba(255,232,168,.16) inset!important;
}
#arenaStartOverlay .arena-hero-pick.selected::before{
  content:'';position:absolute;inset:0;border-radius:17px;pointer-events:none;background:linear-gradient(110deg,transparent,rgba(255,206,96,.16),transparent);opacity:.75;
}
#arenaStartOverlay .arena-hero-pick img{
  grid-row:1/4!important;
  width:52px!important;height:52px!important;
  margin:0!important;
  border-radius:14px!important;
}
#arenaStartOverlay .arena-hero-copy{min-width:0!important;display:block!important;}
#arenaStartOverlay .arena-hero-pick b{
  font-size:clamp(18px,4.2vw,22px)!important;
  line-height:.95!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#arenaStartOverlay .arena-hero-pick small{
  font-size:clamp(12px,3vw,14px)!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#arenaStartOverlay .arena-hero-pick em{
  display:block!important;
  max-height:1.1em!important;
  overflow:hidden!important;
  color:#d7b98d!important;
  font-size:11px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
#arenaStartOverlay .arena-hero-status{
  position:absolute!important;
  left:70px!important;
  right:8px!important;
  bottom:7px!important;
  width:auto!important;
  max-width:none!important;
  text-align:center!important;
  font-size:10px!important;
  padding:4px 8px!important;
}
#arenaStartOverlay .arena-hero-info{width:27px!important;height:27px!important;font-size:14px!important;top:7px!important;right:7px!important;}
#arenaStartOverlay .arena-power-guide{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:8px 10px!important;
  font-size:12px!important;
  line-height:1.15!important;
}
#arenaStartOverlay .arena-power-guide b{font-size:13px!important;}
#arenaStartOverlay .arena-power-guide span{color:#e8d2a8!important;}
.hero-passive-bonus-card{
  border-color:rgba(100,190,255,.54)!important;
  background:linear-gradient(180deg,rgba(7,22,38,.82),rgba(8,5,10,.92))!important;
  box-shadow:0 0 18px rgba(70,170,255,.15),inset 0 1px 0 rgba(180,230,255,.12)!important;
}
.hero-passive-bonus-card .passive-bonus-main{
  margin:8px 0 6px!important;
  color:#bfe6ff!important;
  font:900 18px/1.05 'Barlow Condensed','Arial Narrow',sans-serif!important;
}
.hero-passive-bonus-card p{color:#e6d2ae!important;}
.hero-purchase-passive{
  margin:10px 0!important;
  padding:10px!important;
  border-radius:14px!important;
  border:1px solid rgba(100,190,255,.48)!important;
  background:linear-gradient(180deg,rgba(8,30,48,.78),rgba(8,4,8,.80))!important;
  box-shadow:0 0 16px rgba(75,170,255,.12)!important;
}
.hero-purchase-passive b{display:block;color:#bfe6ff!important;font:900 13px/1 'Cinzel','Georgia',serif!important;letter-spacing:.07em;text-transform:uppercase;}
.hero-purchase-passive span{display:block;margin-top:5px;color:#fff0c8!important;font:900 18px/1.05 'Barlow Condensed','Arial Narrow',sans-serif!important;}
.hero-purchase-passive small{display:block;margin-top:5px;color:#ceb38a!important;line-height:1.2!important;}
@media(max-width:430px){
  #arenaStartOverlay .arena-card--loadout{max-width:95vw!important;padding:16px 12px 14px!important;}
  #arenaStartOverlay .arena-hero-picks{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:min(38dvh,320px)!important;}
  .arena-selected-slots{gap:6px!important;}
  .arena-selected-slot{grid-template-columns:36px minmax(0,1fr)!important;min-height:58px!important;padding:6px!important;}
  .arena-selected-slot img{width:34px!important;height:34px!important;}
  .arena-selected-slot b{font-size:14px!important;}
  .arena-selected-head{align-items:flex-start!important;flex-direction:column!important;gap:3px!important;}
  #arenaStartOverlay .arena-hero-pick{grid-template-columns:44px minmax(0,1fr)!important;min-height:88px!important;padding:8px 7px 23px!important;column-gap:7px!important;}
  #arenaStartOverlay .arena-hero-pick img{width:44px!important;height:44px!important;}
  #arenaStartOverlay .arena-hero-status{left:58px!important;font-size:9px!important;}
}

/* ============================================================
   V0.10.12 — Arena Skill Clarity + Picker Navigation + Arena Loot Break Polish
   ============================================================ */
#arenaStartOverlay .arena-card--loadout{position:relative!important;}
.arena-loadout-back{
  position:absolute!important;top:10px!important;left:10px!important;z-index:3!important;
  border:1px solid rgba(255,215,106,.44)!important;border-radius:999px!important;
  background:linear-gradient(180deg,rgba(45,16,8,.95),rgba(12,4,4,.96))!important;
  color:#ffd76a!important;font:900 12px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;padding:8px 11px!important;
  box-shadow:0 0 14px rgba(255,110,30,.18),inset 0 1px 0 rgba(255,230,160,.12)!important;
}
.arena-loadout-back:active{transform:translateY(1px) scale(.98)!important;}
.arena-preview-level{
  margin:10px 0 12px!important;padding:10px!important;border-radius:14px!important;
  border:1px solid rgba(111,199,255,.48)!important;
  background:linear-gradient(180deg,rgba(8,30,48,.78),rgba(6,4,10,.84))!important;
  box-shadow:0 0 18px rgba(80,180,255,.14),inset 0 1px 0 rgba(190,230,255,.12)!important;
  text-align:left!important;
}
.arena-preview-level b{display:block;color:#bfe8ff!important;font:900 13px/1 'Cinzel','Georgia',serif!important;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px!important;}
.arena-preview-level span{display:block;color:#ffd76a!important;font:900 15px/1.05 'Barlow Condensed','Arial Narrow',sans-serif!important;margin-bottom:6px!important;}
.arena-preview-level ul{margin:0!important;padding-left:18px!important;color:#ffe3bb!important;font-size:12px!important;line-height:1.25!important;}
.arena-preview-level li{margin:2px 0!important;}
.arena-cashoverlay--playable{
  pointer-events:none!important;align-items:flex-start!important;justify-content:center!important;
  background:linear-gradient(180deg,rgba(6,2,8,.44),rgba(6,2,8,.10) 54%,rgba(6,2,8,.12))!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  padding-top:82px!important;
}
.arena-cashoverlay--playable .arena-card{
  pointer-events:auto!important;max-width:min(390px,92vw)!important;padding:12px 14px!important;
  transform:scale(.92);transform-origin:top center;
  background:linear-gradient(180deg,rgba(24,9,7,.93),rgba(8,4,7,.95))!important;
}
.arena-cashoverlay--playable .arena-card h2{font-size:22px!important;line-height:1!important;margin:4px 0!important;}
.arena-cashoverlay--playable .arena-card p{font-size:12px!important;line-height:1.2!important;margin:5px 0 8px!important;}
.arena-cashoverlay--playable .arena-end-loot{margin:6px 0!important;}
.arena-cashoverlay--playable .arena-risk-note{font-size:10px!important;line-height:1.12!important;}
body.nightmare .arena-preview-level{filter:none!important;-webkit-filter:none!important;}

/* V0.10.15: four-option Arena upgrade picker, Mug + selected helpers. */
.arena-picks.arena-picks--four{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.arena-picks.arena-picks--four .arena-pick{
  min-height:96px!important;
  align-items:flex-start!important;
  padding:10px 10px!important;
}
.arena-picks.arena-picks--four .arena-pick-icon{
  width:38px!important;
  height:38px!important;
  font-size:20px!important;
}
.arena-picks.arena-picks--four .arena-pick-text b{
  font-size:13px!important;
  line-height:1.05!important;
}
.arena-picks.arena-picks--four .arena-pick-text small{
  font-size:10.5px!important;
  line-height:1.2!important;
}
@media(max-width:520px){
  .arena-picks.arena-picks--four{grid-template-columns:1fr!important;}
  .arena-picks.arena-picks--four .arena-pick{min-height:unset!important;}
}

/* ============================================================
   V0.10.16 — POLISH PASS
   - Arena: keep the RSS bar visible under Mug's Nightmare (was being
     covered by the nightmare HUD layer at z-index 11).
   - Arena: retire the bottom-left joystick. Players already drag anywhere
     on the canvas to move (setupArenaDrag in arena.js), so the visible
     ring was just clutter.
   - Mug's Rage: warm screen flicker so the maze feels lit by real fire,
     plus subtle glow on the Rage meter and streak text. Identity stays
     phoenix-warm in normal mode and shifts to purple under Nightmare.
   ============================================================ */
body.nightmare #arenaScreen .arena-lootbar{
  z-index:22 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  background:rgba(8,4,3,.78) !important;
  border:1px solid rgba(255,160,60,.45) !important;
  box-shadow:0 6px 20px rgba(0,0,0,.55), 0 0 14px rgba(255,140,40,.20) !important;
}
body.nightmare #arenaScreen .arena-lootbar span{
  color:#ffe8b8 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.70);
}
body.nightmare #arenaScreen .arena-lootbar img{
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.70)) drop-shadow(0 0 4px rgba(255,150,40,.45)) !important;
}

/* The bottom-left arena joystick is retired. Canvas drag is the one true
   control surface in Mug's Arena. */
#arenaScreen .arena-joystick{
  display:none !important;
  pointer-events:none !important;
}

/* Mug's Rage — warm fire-flicker overlay on the play surface */
#burnerScreen{ position:relative; }
#burnerScreen::before{
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(120% 60% at 50% 100%, rgba(255,120,30,.20) 0%, rgba(255,80,20,0) 50%),
    radial-gradient(70% 40% at 10% 8%, rgba(255,170,60,.10) 0%, rgba(255,80,20,0) 60%),
    radial-gradient(70% 40% at 90% 8%, rgba(255,170,60,.10) 0%, rgba(255,80,20,0) 60%);
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:2;
  animation:burner-flicker 5.5s ease-in-out infinite;
}
body.nightmare #burnerScreen::before{
  background:
    radial-gradient(120% 60% at 50% 100%, rgba(255,90,170,.20) 0%, rgba(180,30,140,0) 50%),
    radial-gradient(70% 40% at 10% 8%, rgba(255,80,180,.10) 0%, rgba(180,30,140,0) 60%),
    radial-gradient(70% 40% at 90% 8%, rgba(255,80,180,.10) 0%, rgba(180,30,140,0) 60%);
}
@keyframes burner-flicker{
  0%,100%{ opacity:.88; }
  17%{ opacity:1; }
  34%{ opacity:.78; }
  51%{ opacity:.95; }
  68%{ opacity:.72; }
  85%{ opacity:.92; }
}
@media (prefers-reduced-motion: reduce){
  #burnerScreen::before{ animation:none; opacity:.85; }
}
#burnerScreen canvas{ position:relative; z-index:1; }
#burnerScreen .bn-hud,
#burnerScreen .bn-meters,
#burnerScreen .bn-res-ticker,
#burnerScreen .bn-heroes,
#burnerScreen #bnStreak,
#burnerScreen .bn-hint,
#burnerScreen #bnMoveControls,
#burnerScreen .bn-start-overlay{ z-index:7; }

/* Mug's Rage HUD glow polish — the Rage meter actually feels hot now */
#burnerScreen .bn-torch .bn-fill{
  box-shadow: 0 0 12px rgba(255,140,40,.55), inset 0 0 8px rgba(255,255,200,.32);
}
#burnerScreen .bn-meter-row .bn-fill{
  transition: width .22s ease;
}
#burnerScreen .bn-name{
  text-shadow: 0 1px 2px rgba(0,0,0,.6), 0 0 10px rgba(255,140,40,.25);
}
#burnerScreen #bnStreak{
  text-shadow: 0 1px 3px rgba(0,0,0,.7), 0 0 18px rgba(255,180,60,.55);
}
body.nightmare #burnerScreen #bnStreak{
  text-shadow: 0 1px 3px rgba(0,0,0,.7), 0 0 18px rgba(255,90,180,.55);
}

/* Nightmare arena: pause/quit chips sit cleanly above the lootbar */
body.nightmare #arenaScreen .arena-hud .hud-btn{
  background:rgba(8,4,3,.82) !important;
  border-color:rgba(255,170,80,.38) !important;
}

/* V0.10.19 — Swipe-anywhere. In swipe mode the bottom control box is gone:
   the player flicks anywhere on the raid to steer Mug (bindScreenSwipe in
   burnerui.js), and the maze takes the whole screen. */
#burnerScreen[data-move-mode="swipe"]{ touch-action:none; }
#burnerScreen[data-move-mode="swipe"] #bnMoveControls{ display:none !important; }
#burnerScreen[data-move-mode="swipe"] .bn-hint{ display:none !important; }
/* Keep popup quips out of the maze — anchor them along the bottom edge where
   the control box used to be, instead of over the action. */
body[data-screen="burnerScreen"] #joyBubble{
  top:auto !important;
  bottom:calc(16px + env(safe-area-inset-bottom)) !important;
  left:50% !important; right:auto !important;
  width:min(330px,86vw) !important; margin-left:0 !important;
  text-align:center;
  transform:translateX(-50%) translateY(8px) scale(.96) !important;
}
body[data-screen="burnerScreen"] #joyBubble.show{
  transform:translateX(-50%) translateY(0) scale(1) !important;
}

/* V0.10.19 — Burner viewport lock (THE layout fix).
   `.screen{min-height:100dvh}` gave no DEFINITE height, so #burnerCanvas's
   height:100% never resolved and it fell back to its square drawing-buffer
   size. That inflated #burnerScreen and pushed the control deck + lower board
   off the bottom of the screen (canvas measured 1136×1136 on a 1136×714 view).
   Force the burner screen and its canvas to the exact dynamic viewport and clip
   any overflow so a stale buffer can never inflate the layout again. */
#burnerScreen{
  position:absolute!important; inset:0!important;
  height:100vh!important; height:100dvh!important;
  min-height:0!important; max-height:100dvh!important;
  overflow:hidden!important;
}
#burnerCanvas{
  position:absolute!important; inset:0!important;
  width:100vw!important;
  height:100vh!important; height:100dvh!important;
  display:block!important;
}

/* V0.10.19 — the board now fills the space down to the control deck, so the
   swipe hint gets a readable pill instead of floating bare over the maze. */
#burnerScreen .bn-hint{
  background:rgba(10,5,3,.66);
  border:1px solid rgba(255,170,80,.22);
  border-radius:999px;
  padding:5px 12px;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  box-shadow:0 4px 14px rgba(0,0,0,.45);
}

/* ============================================================
   V0.10.24 — tester-prep fixes (appended; wins cascade)
   ============================================================ */

/* (1) Alliance Hub art reveal fix.
   Joy & Persephone are regular helper heroes (no future:true flag), so the
   .future-hero / .locked silhouette never masked them in the buyable
   ("READY TO PURCHASE" / "NEED LOOT") states — their art leaked early.
   Mask their card art until the hero is actually owned (.hired), matching
   every other locked/buyable hero card. */
.roster-card.alliance-card[data-hero="joy"]:not(.hired) .rc-imgwrap,
.roster-card.alliance-card[data-hero="perse"]:not(.hired) .rc-imgwrap{
  background:radial-gradient(circle at 50% 34%,rgba(255,213,124,.13),rgba(0,0,0,.30) 54%,rgba(0,0,0,.58) 100%)!important;
}
.roster-card.alliance-card[data-hero="joy"]:not(.hired) .rc-imgwrap img,
.roster-card.alliance-card[data-hero="perse"]:not(.hired) .rc-imgwrap img{
  filter:brightness(0) grayscale(1) opacity(.50) drop-shadow(0 0 18px var(--alliance-glow-soft,rgba(255,197,83,.30)))!important;
}

/* (2) Mug's Arena HUD de-crowd.
   The XP bar, "Next Upgrade" meter, and loot bar inherited competing top
   offsets from earlier passes (xpbar +96 / meter +104 / loot +139) and
   collided. Re-stack with real gaps so they stop mushing together. */
#arenaScreen .arena-xpbar{ top:calc(env(safe-area-inset-top,0px) + 88px)!important; }
#arenaScreen .arena-upgrade-meter{ top:calc(env(safe-area-inset-top,0px) + 104px)!important; }
#arenaScreen .arena-lootbar{ top:calc(env(safe-area-inset-top,0px) + 142px)!important; }
@media(max-width:390px){
  #arenaScreen .arena-xpbar{ top:calc(env(safe-area-inset-top,0px) + 86px)!important; }
  #arenaScreen .arena-upgrade-meter{ top:calc(env(safe-area-inset-top,0px) + 102px)!important; }
  #arenaScreen .arena-lootbar{ top:calc(env(safe-area-inset-top,0px) + 140px)!important; }
}

/* ============================================================
   V0.10.24 — loot ticker to top HUD + Nightmare visibility; Seth art hide
   ============================================================ */

/* (3a) Seth also leaked art when buyable (non-future helper, like Joy/Perse).
   Hide until owned, for consistency. */
.roster-card.alliance-card[data-hero="seth"]:not(.hired) .rc-imgwrap{
  background:radial-gradient(circle at 50% 34%,rgba(255,213,124,.13),rgba(0,0,0,.30) 54%,rgba(0,0,0,.58) 100%)!important;
}
.roster-card.alliance-card[data-hero="seth"]:not(.hired) .rc-imgwrap img{
  filter:brightness(0) grayscale(1) opacity(.50) drop-shadow(0 0 18px var(--alliance-glow-soft,rgba(255,197,83,.30)))!important;
}

/* (3b) Mug's Rage loot/resource ticker was floating low-center over the maze
   and vanished entirely in Nightmare. Pin it to the top HUD as a horizontal
   strip under the meters, in every movement mode, and force it visible in
   Nightmare (mirrors the V0.10.9 meter-visibility fix). */
#burnerScreen .bn-res-ticker,
#burnerScreen[data-move-mode="swipe"] .bn-res-ticker,
#burnerScreen[data-move-mode="touchpad"] .bn-res-ticker,
#burnerScreen[data-move-mode="joystick"] .bn-res-ticker,
#burnerScreen[data-move-mode="dpad"] .bn-res-ticker{
  top:calc(118px + env(safe-area-inset-top))!important;
  bottom:auto!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  transform-origin:center top!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
  max-width:min(560px,92vw)!important;
  opacity:1!important;
  z-index:8!important;
  pointer-events:none!important;
}
body.nightmare #burnerScreen .bn-res-ticker,
body[data-screen="burnerScreen"].nightmare #burnerScreen .bn-res-ticker,
body.nightmare #burnerScreen[data-move-mode="swipe"] .bn-res-ticker{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  top:calc(118px + env(safe-area-inset-top))!important;
  bottom:auto!important;
  z-index:9!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
@media(max-width:430px){
  #burnerScreen .bn-res-ticker,
  #burnerScreen[data-move-mode="swipe"] .bn-res-ticker,
  body.nightmare #burnerScreen[data-move-mode="swipe"] .bn-res-ticker{
    top:calc(112px + env(safe-area-inset-top))!important;
    transform:translateX(-50%) scale(.9)!important;
    transform-origin:center top!important;
  }
}

/* ============================================================
   V0.10.26 — Mug's Arena: unified solid top hub; play area starts BELOW it
   The stats bar, XP/upgrade bar, and loot chips were floating over a
   fade-to-transparent background, so the field showed through behind them.
   Give the whole readout zone one solid backing and inset the canvas so the
   match physically begins under the hub. resize() runs on arena entry, so the
   smaller canvas recomputes the world automatically.
   ============================================================ */
#arenaScreen{ --arena-hub-h:calc(env(safe-area-inset-top,0px) + 176px); }

/* solid hub backing behind the stacked readouts */
#arenaScreen::before{
  content:'';
  position:absolute; left:0; right:0; top:0;
  height:var(--arena-hub-h);
  background:linear-gradient(180deg,#1c0c07 0%,#160806 86%,#110604 100%);
  border-bottom:1px solid rgba(255,200,110,.26);
  box-shadow:0 10px 22px rgba(0,0,0,.5);
  z-index:3;
  pointer-events:none;
}
/* play area starts below the hub (top+bottom define height; height:auto so they win) */
#arenaScreen #arenaCanvas{
  top:var(--arena-hub-h)!important;
  bottom:0!important;
  height:auto!important;
}
/* Nightmare flips the canvas to position:relative for layering — keep the inset */
body.nightmare #arenaScreen #arenaCanvas{
  position:absolute!important;
  z-index:1!important;
  top:var(--arena-hub-h)!important;
  bottom:0!important;
  height:auto!important;
}
/* keep the readout widgets above the hub backing */
#arenaScreen .arena-hud,
#arenaScreen .arena-xpbar,
#arenaScreen .arena-upgrade-meter,
#arenaScreen .arena-lootbar{ z-index:6!important; }

/* ============================================================
   V0.10.28 — Arena Top Hub Boundary Fix
   The V0.10.26 top hub visually reserved space, but the canvas was a
   replaced element using height:auto with top/bottom constraints. On iPhone
   this collapsed the battlefield into a short strip and left black dead space.
   This pass makes the hub compact and gives the canvas an explicit remaining
   viewport height, so the Arena field starts directly under the hub and fills
   the rest of the screen. Weapons, enemies, loot, and player motion now treat
   the bottom edge of the hub as the real top boundary.
   ============================================================ */
#arenaScreen{
  --arena-hub-content-h:144px;
  --arena-hub-h:calc(env(safe-area-inset-top,0px) + var(--arena-hub-content-h));
  position:absolute!important;
  inset:0!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#080302!important;
}
#arenaScreen::before{
  height:var(--arena-hub-h)!important;
  background:
    radial-gradient(120% 88% at 50% 8%,rgba(255,135,38,.18),rgba(255,135,38,0) 54%),
    linear-gradient(180deg,#1b0b07 0%,#120604 78%,#0a0302 100%)!important;
  border-bottom:1px solid rgba(255,204,111,.34)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.54), inset 0 -1px 0 rgba(255,220,150,.07)!important;
}
#arenaScreen #arenaCanvas{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:var(--arena-hub-h)!important;
  bottom:auto!important;
  width:100vw!important;
  height:calc(100vh - var(--arena-hub-h))!important;
  height:calc(100dvh - var(--arena-hub-h))!important;
  min-height:0!important;
  max-height:calc(100dvh - var(--arena-hub-h))!important;
  display:block!important;
  z-index:1!important;
  touch-action:none!important;
  background:#2f6927!important;
}
body.nightmare #arenaScreen #arenaCanvas{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:var(--arena-hub-h)!important;
  bottom:auto!important;
  width:100vw!important;
  height:calc(100vh - var(--arena-hub-h))!important;
  height:calc(100dvh - var(--arena-hub-h))!important;
  max-height:calc(100dvh - var(--arena-hub-h))!important;
  z-index:1!important;
}
#arenaScreen .arena-hud{
  top:calc(env(safe-area-inset-top,0px) + 5px)!important;
  height:68px!important;
  left:10px!important;
  right:10px!important;
  padding:4px 8px!important;
  border-radius:15px!important;
  z-index:36!important;
}
#arenaScreen .arena-hud .hud-btn{
  width:42px!important;
  height:42px!important;
  flex-basis:42px!important;
  min-width:42px!important;
}
#arenaScreen .arena-name{
  display:none!important;
}
#arenaScreen .arena-hud-mid{
  gap:1px!important;
  grid-template-rows:auto auto!important;
}
#arenaScreen .arena-stats{
  gap:11px!important;
  font-size:15px!important;
}
#arenaScreen .arena-stat b{
  font-size:15px!important;
}
#arenaScreen .arena-stat .lab{
  font-size:7.5px!important;
}
#arenaScreen #arenaHp{
  font-size:13px!important;
}
#arenaScreen .arena-loadout-pill{
  max-width:min(600px,74vw)!important;
  font-size:9.5px!important;
  line-height:1!important;
  margin-top:0!important;
}
#arenaScreen .arena-xpbar{
  display:none!important;
}
#arenaScreen .arena-upgrade-meter{
  top:calc(env(safe-area-inset-top,0px) + 79px)!important;
  left:20px!important;
  right:20px!important;
  height:25px!important;
  min-height:0!important;
  padding:4px 10px!important;
  border-radius:12px!important;
  z-index:35!important;
}
#arenaScreen .arena-lootbar{
  top:calc(env(safe-area-inset-top,0px) + 109px)!important;
  left:50%!important;
  max-width:calc(100vw - 36px)!important;
  transform:translateX(-50%) scale(.88)!important;
  transform-origin:center top!important;
  padding:4px 8px!important;
  gap:6px!important;
  z-index:35!important;
}
#arenaScreen .arena-lootbar span{
  font-size:11px!important;
  line-height:1!important;
}
#arenaScreen .arena-lootbar img{
  width:16px!important;
  height:16px!important;
}
#arenaScreen .arena-startoverlay,
#arenaScreen .arena-pickoverlay,
#arenaScreen .arena-cashoverlay,
#arenaScreen .arena-endoverlay{
  z-index:40!important;
}
@media(max-width:390px){
  #arenaScreen{ --arena-hub-content-h:136px; }
  #arenaScreen .arena-hud{
    top:calc(env(safe-area-inset-top,0px) + 4px)!important;
    height:64px!important;
    left:8px!important;
    right:8px!important;
    padding:4px 6px!important;
    gap:6px!important;
  }
  #arenaScreen .arena-hud .hud-btn{
    width:38px!important;
    height:38px!important;
    flex-basis:38px!important;
    min-width:38px!important;
  }
  #arenaScreen .arena-stats{
    gap:7px!important;
    font-size:13px!important;
  }
  #arenaScreen .arena-stat b{font-size:13px!important;}
  #arenaScreen .arena-stat .lab{font-size:6.8px!important;}
  #arenaScreen #arenaHp{font-size:11.8px!important;}
  #arenaScreen .arena-loadout-pill{font-size:8.5px!important;max-width:69vw!important;}
  #arenaScreen .arena-upgrade-meter{
    top:calc(env(safe-area-inset-top,0px) + 73px)!important;
    left:14px!important;
    right:14px!important;
    height:24px!important;
    padding:3px 8px!important;
  }
  #arenaScreen .arena-lootbar{
    top:calc(env(safe-area-inset-top,0px) + 101px)!important;
    transform:translateX(-50%) scale(.82)!important;
    max-width:calc(100vw - 28px)!important;
  }
}


/* ============================================================
   V0.10.28 — Arena top hub final polish + Nightmare field skin
   - Routine Wave labels live in the top hub/loot strip.
   - Nightmare Arena keeps the same play bounds but darkens the field backdrop.
   ============================================================ */
#arenaScreen .arena-lootbar{
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
#arenaScreen .arena-lootbar .arena-wave-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:64px!important;
  padding:2px 9px 2px 2px!important;
  margin-right:3px!important;
  border-right:1px solid rgba(255,215,106,.28)!important;
  color:#ffe7a3!important;
  font:900 11px/1 'Barlow Condensed','Arial Narrow',sans-serif!important;
  letter-spacing:.10em!important;
  text-shadow:0 1px 4px rgba(0,0,0,.7)!important;
}
body.nightmare #arenaScreen::before{
  background:
    radial-gradient(115% 88% at 50% 4%,rgba(255,68,24,.20),rgba(255,68,24,0) 56%),
    linear-gradient(180deg,#170705 0%,#0f0404 78%,#070202 100%)!important;
  border-bottom-color:rgba(255,128,52,.34)!important;
}
body.nightmare #arenaScreen #arenaCanvas{
  background:#162715!important;
}
@media(max-width:390px){
  #arenaScreen .arena-lootbar .arena-wave-chip{
    min-width:55px!important;
    font-size:10px!important;
    padding-right:7px!important;
  }
}
