@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Oswald:wght@400;600;700&family=Rajdhani:wght@400;500;600&display=swap');

:root {
  --bg-deep:     #080b08;
  --bg-mid:      #0f120e;
  --bg-panel:    #141814;
  --bg-card:     #1a1f19;
  --bg-hover:    #202620;
  --border:      #252e24;
  --border-hi:   #394838;
  --green:       #7fff00;
  --yellow:      #d4c400;
  --orange:      #ff7f00;
  --red:         #ff3030;
  --blue:        #00bfff;
  --txt:         #c4d0bc;
  --txt2:        #718a6c;
  --txt3:        #445040;
  --txthi:       #e4f0dc;
  --hp-c:        #ff4444;
  --en-c:        #ffcc00;
  --st-c:        #44aaff;
  --xp-c:        #aa44ff;
}

*{margin:0;padding:0;box-sizing:border-box;}

html,body{
  width:100%;height:100%;
  background:var(--bg-deep);
  color:var(--txt);
  font-family:'Rajdhani',sans-serif;
  font-size:15px;
  overflow:hidden;
}

/* scanlines */
body::after{
  content:'';position:fixed;inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.025) 2px,rgba(0,0,0,0.025) 4px);
  pointer-events:none;z-index:9999;
}

/* ─── SCREEN SYSTEM ─────────────────────────────── */
.screen{
  position:fixed;inset:0;
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;
  transition:opacity 0.35s ease;
  overflow:hidden;
}
.screen.active{opacity:1;pointer-events:all;}

/* ─── SCREEN TRANSITION ──────────────────────────── */
.screen-glitch-transition{
  position:fixed;inset:0;
  z-index:8000;
  background:var(--bg-deep);
  pointer-events:none;
  opacity:0;
  transition:opacity 0.3s ease-in-out;
}
.screen-glitch-transition.active{
  opacity:1;
}

/* ═══════════════════════════════════════════════════
   MAIN MENU
═══════════════════════════════════════════════════ */
#menu-screen{
  background:var(--bg-deep);
  background-size:cover;
  background-position:center;
  transition:background-image 1.2s ease;
}

.menu-vignette{
  display:none;
}

.menu-inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;
  width:100%;height:100%;
}
.menu-inner::before{
  content:'';
  position:absolute;
  top:0;left:50%;
  transform:translateX(-50%);
  width:540px;
  height:100%;
  background:#000;
  pointer-events:none;
}

.menu-eyebrow{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;letter-spacing:5px;
  color:var(--green);margin-bottom:16px;
  text-transform:uppercase;
  text-shadow:0 0 6px rgba(0,0,0,0.8);
}

@keyframes crt-flicker{
  0%,100%{opacity:1}
  2%{opacity:0.85}
  4%{opacity:1}
  6%{opacity:0.92}
  8%{opacity:1}
  50%{opacity:1}
  52%{opacity:0.88}
  54%{opacity:1}
}
@keyframes neon-pulse{
  0%,100%{text-shadow:0 0 4px var(--green),0 0 10px var(--green),0 0 20px rgba(127,255,0,0.4)}
  50%{text-shadow:0 0 8px var(--green),0 0 24px var(--green),0 0 48px rgba(127,255,0,0.7)}
}
@keyframes slide-in{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}

.menu-title{
  font-family:'Oswald',sans-serif;
  font-size:clamp(56px,8vw,96px);
  font-weight:700;
  color:var(--green);
  letter-spacing:6px;
  line-height:0.9;
  text-transform:uppercase;
  animation:crt-flicker 4s infinite steps(1), neon-pulse 3s ease-in-out infinite;
}

.menu-title-shadow{
  font-family:'Oswald',sans-serif;
  font-size:clamp(56px,8vw,96px);
  font-weight:700;
  color:transparent;
  -webkit-text-stroke:1px rgba(127,255,0,0.12);
  letter-spacing:6px;
  line-height:0.9;
  text-transform:uppercase;
  margin-top:-4px;
  user-select:none;
}

.menu-tagline{
  font-family:'Share Tech Mono',monospace;
  font-size:12px;letter-spacing:3px;
  color:var(--green);
  margin:20px 0 48px;
  text-shadow:0 0 6px rgba(0,0,0,0.8);
}

.menu-buttons{
  display:flex;flex-direction:column;
  gap:10px;width:300px;
}

.menu-btn{
  background:none;
  border:1px solid var(--border-hi);
  color:var(--txt);
  font-family:'Oswald',sans-serif;
  font-size:15px;font-weight:600;
  letter-spacing:4px;text-transform:uppercase;
  padding:14px 20px;
  cursor:pointer;
  transition:all 0.15s;
  text-align:left;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.menu-btn:hover{
  border-color:var(--green);
  color:var(--green);
  background:rgba(127,255,0,0.04);
}
.menu-btn.primary{
  background:var(--green);
  border-color:var(--green);
  color:#080b08;
}
.menu-btn.primary:hover{background:#9fff30;}

.screen.active .menu-btn{animation:slide-in 0.45s ease backwards;}
#menu-screen.active .menu-btn:nth-child(1){animation-delay:0.15s}
#menu-screen.active .menu-btn:nth-child(2){animation-delay:0.25s}
#menu-screen.active .menu-btn:nth-child(3){animation-delay:0.35s}

.menu-btn::after{
  content:'';position:absolute;
  bottom:0;left:0;
  width:0;height:2px;
  background:var(--green);
  transition:width 0.25s ease;
}
.menu-btn:hover::after{width:100%}

.menu-btn-arrow{opacity:0.4;font-size:12px;}
.menu-btn:hover .menu-btn-arrow{opacity:1;}

.menu-footer{
  position:absolute;bottom:20px;
  left:50%;transform:translateX(-50%);
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:2px;
  color:var(--txt2);
  background:#000;
  padding:4px 14px;
  white-space:nowrap;
  z-index:2;
}

.menu-version{
  position:absolute;top:20px;
  left:50%;transform:translateX(-50%);
  font-family:'Share Tech Mono',monospace;
  font-size:10px;color:var(--green);letter-spacing:2px;
  background:#000;
  padding:4px 10px;
  white-space:nowrap;
  z-index:2;
}

/* save exists indicator */
.save-pill{
  display:none;
  background:rgba(127,255,0,0.08);
  border:1px solid rgba(127,255,0,0.2);
  padding:4px 12px;
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:2px;
  color:var(--green);
  margin-bottom:40px;
}
.save-pill.visible{display:block;}

/* ═══════════════════════════════════════════════════
   CHARACTER CREATION
═══════════════════════════════════════════════════ */
#creation-screen{
  background:var(--bg-deep);
  overflow:hidden;
}

.creation-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  height:100%;
  overflow:hidden;
}

/* left panel — branding */
.creation-brand{
  background:var(--bg-mid);
  border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  justify-content:center;align-items:flex-start;
  padding:48px;
  position:relative;overflow:hidden;
}

.creation-brand-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(127,255,0,0.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,255,0,0.02) 1px,transparent 1px);
  background-size:30px 30px;
}

.creation-step-label{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:4px;
  color:var(--txt3);
  margin-bottom:12px;
  position:relative;z-index:1;
}

.creation-brand-title{
  font-family:'Oswald',sans-serif;
  font-size:clamp(36px,4vw,54px);
  font-weight:700;color:var(--green);
  letter-spacing:4px;line-height:1;
  position:relative;z-index:1;
  margin-bottom:8px;
}

.creation-brand-sub{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;letter-spacing:2px;
  color:var(--txt2);
  position:relative;z-index:1;
  margin-bottom:40px;
}

.creation-step-indicators{
  display:flex;gap:8px;
  position:relative;z-index:1;
}

.step-dot{
  width:8px;height:8px;
  border:1px solid var(--border-hi);
  background:none;
  transition:all 0.2s;
}
.step-dot.done{background:var(--green);border-color:var(--green);}
.step-dot.active{background:var(--yellow);border-color:var(--yellow);}

.creation-lore{
  position:absolute;bottom:48px;left:48px;right:48px;
  z-index:1;
}
.creation-lore p{
  font-size:12px;color:var(--txt3);
  font-family:'Share Tech Mono',monospace;
  line-height:1.8;letter-spacing:0.5px;
}

/* right panel — form */
.creation-form{
  overflow-y:auto;
  padding:44px 48px;
  display:flex;flex-direction:column;
}

.creation-form::-webkit-scrollbar{width:3px;}
.creation-form::-webkit-scrollbar-track{background:var(--bg-deep);}
.creation-form::-webkit-scrollbar-thumb{background:var(--border-hi);}

/* step panes */
.creation-step{display:none;}
.creation-step.active{display:flex;flex-direction:column;gap:22px;flex:1;}

.cs-title{
  font-family:'Oswald',sans-serif;
  font-size:22px;font-weight:600;
  color:var(--txthi);letter-spacing:2px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}

.form-label{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:3px;
  color:var(--txt3);margin-bottom:6px;
  text-transform:uppercase;
}

.name-input{
  width:100%;
  background:var(--bg-deep);
  border:1px solid var(--border-hi);
  color:var(--yellow);
  font-family:'Share Tech Mono',monospace;
  font-size:22px;padding:16px 20px;
  outline:none;letter-spacing:4px;
  transition:all 0.2s;
  box-shadow:inset 0 0 14px rgba(0,0,0,0.5);
}
.name-input:focus{
  border-color:var(--green);
  box-shadow:inset 0 0 14px rgba(0,0,0,0.5),0 0 20px rgba(127,255,0,0.12);
}
.name-input::placeholder{color:var(--txt3);letter-spacing:1px;}

.creation-hint{
  font-size:12px;color:var(--txt3);
  font-family:'Share Tech Mono',monospace;
  line-height:1.8;padding:12px 14px;
  background:var(--bg-mid);
  border-left:2px solid var(--border);
}

.creation-step.active .form-label:not(:first-child){
  margin-top:6px;
}

/* origin cards */
.origins-stack{display:flex;flex-direction:column;gap:8px;}

.origin-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:14px 16px;
  cursor:pointer;
  transition:all 0.15s;
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
}
.origin-card:hover{border-color:var(--border-hi);background:var(--bg-hover);}
.origin-card.selected{
  border-color:var(--green);
  background:rgba(127,255,0,0.04);
}

.origin-left{}
.origin-name{
  font-family:'Oswald',sans-serif;
  font-size:16px;font-weight:600;
  color:var(--txthi);margin-bottom:3px;
}
.origin-bonus{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;color:var(--green);margin-bottom:6px;
}
.origin-desc{font-size:12px;color:var(--txt2);line-height:1.45;}

.origin-selector{
  width:20px;height:20px;
  border:1px solid var(--border-hi);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all 0.15s;
}
.origin-card.selected .origin-selector{
  background:var(--green);border-color:var(--green);color:#080b08;font-size:10px;
}
.origin-card.selected .origin-selector::after{content:'\2713';}

/* avatar grid */
.avatar-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:10px;margin:4px 0 14px;
}
.avatar-opt{
  position:relative;
  border:1px solid rgba(127,255,0,0.12);
  background:var(--bg-card);padding:6px;
  cursor:pointer;
  transition:all 0.2s cubic-bezier(0.34,1.56,0.64,1);
  display:flex;align-items:center;justify-content:center;
}
.avatar-opt:hover{
  border-color:rgba(127,255,0,0.4);
  background:var(--bg-hover);
  transform:scale(1.07);
  z-index:1;
}
.avatar-opt.selected{
  border-color:var(--green);
  background:rgba(127,255,0,0.08);
  box-shadow:0 0 14px rgba(127,255,0,0.25),inset 0 0 14px rgba(127,255,0,0.04);
}
.avatar-opt.selected::before,
.avatar-opt.selected::after{
  content:'';position:absolute;
  width:10px;height:10px;
  border-color:var(--green);
  border-style:solid;
}
.avatar-opt.selected::before{
  top:-1px;left:-1px;
  border-width:2px 0 0 2px;
}
.avatar-opt.selected::after{
  bottom:-1px;right:-1px;
  border-width:0 2px 2px 0;
}
.avatar-opt img{width:100%;max-width:86px;display:block;}

/* stat allocation */
.points-badge{
  font-family:'Share Tech Mono',monospace;
  font-size:12px;color:var(--orange);
  background:rgba(255,127,0,0.08);
  border:1px solid rgba(255,127,0,0.2);
  padding:6px 12px;display:inline-block;
  margin-bottom:4px;
}

.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}

.stat-row{
  background:var(--bg-card);border:1px solid var(--border);
  padding:10px 12px;
  display:flex;align-items:center;justify-content:space-between;
}
.stat-info{}
.stat-label{font-size:13px;font-weight:600;color:var(--txt);letter-spacing:0.5px;}
.stat-hint{font-size:11px;color:var(--txt3);font-family:'Share Tech Mono',monospace;}
.stat-controls{display:flex;align-items:center;gap:8px;}
.stat-btn{
  background:var(--bg-deep);border:1px solid var(--border-hi);
  color:var(--txt);width:24px;height:24px;
  cursor:pointer;font-size:16px;
  display:flex;align-items:center;justify-content:center;
  transition:all 0.1s;line-height:1;
}
.stat-btn:hover{border-color:var(--green);color:var(--green);}
.stat-val{
  font-family:'Share Tech Mono',monospace;
  font-size:18px;color:var(--yellow);
  min-width:24px;text-align:center;
}

/* navigation buttons in creation */
.creation-nav{
  display:flex;gap:10px;margin-top:auto;padding-top:12px;
}

.btn-back{
  background:none;border:1px solid var(--border-hi);
  color:var(--txt2);
  font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;
  padding:11px 20px;cursor:pointer;transition:all 0.15s;
}
.btn-back:hover{border-color:var(--txt2);color:var(--txt);}

.btn-next{
  flex:1;
  background:var(--green);border:none;
  color:#080b08;
  font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;
  letter-spacing:4px;text-transform:uppercase;
  padding:12px 20px;cursor:pointer;transition:all 0.15s;
}
.btn-next:hover{background:#9fff30;}
.btn-next:disabled{
  background:var(--txt3);color:var(--bg-deep);
  cursor:not-allowed;
}

/* ═══════════════════════════════════════════════════
   GAME SCREEN
═══════════════════════════════════════════════════ */
#game-screen{background:var(--bg-deep);}

#game-viewport, #creation-viewport{
  transform-origin:0 0;
  width:1280px;height:720px;
  overflow:hidden;position:relative;
}
#menu-viewport{
  transform-origin:0 0;
  width:1280px;height:720px;
  overflow:hidden;position:relative;
}
.game-screen-inner{
  display:flex;flex-direction:column;
  height:100%;overflow:hidden;
}

/* TOP BAR */
.top-bar{
  background:var(--bg-mid);
  border-bottom:1px solid var(--border);
  padding:0 16px;height:48px;
  display:flex;align-items:center;justify-content:space-between;
  flex-shrink:0;
}
.top-bar-left{display:flex;align-items:center;gap:16px;}
.top-bar-logo{
  font-family:'Oswald',sans-serif;
  font-size:16px;font-weight:700;
  color:var(--green);letter-spacing:3px;
}
.top-stat{
  display:flex;align-items:center;gap:5px;
  font-family:'Share Tech Mono',monospace;font-size:12px;
}
.ts-label{color:var(--txt3);}
.ts-val{color:var(--yellow);}
.ts-val.cash{color:var(--green);font-size:14px;animation:cash-glow 2s ease-in-out infinite;}
.ts-val.pulse{animation:cash-pulse 0.3s ease;}

.top-bar-right{display:flex;align-items:center;gap:16px;}

/* CLOCK BLOCK */
.clock-block{
  display:flex;flex-direction:column;
  align-items:flex-end;gap:1px;
  padding:4px 10px;
  border:1px solid var(--border);
  background:var(--bg-card);
  min-width:110px;
  position:relative;
  overflow:hidden;
}
.clock-block-time{
  font-family:'Oswald',sans-serif;
  font-size:20px;font-weight:700;
  color:var(--yellow);letter-spacing:1px;
  line-height:1;
  transition:color 0.5s;
}
.clock-block-bottom{
  display:flex;align-items:center;gap:5px;
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:1px;
}
.clock-block-dow{ color:var(--txt3); transition:color 0.5s; }
.clock-block-sep{ color:var(--border-hi); }
.clock-block-daynum{ color:var(--txt2); }
.clock-block-bar{
  position:absolute;
  bottom:0;left:0;right:0;
  height:2px;
  background:rgba(255,255,255,0.05);
}
.clock-block-fill{
  height:100%;
  background:var(--yellow);
  transition:width 0.6s ease, background 0.5s;
  box-shadow:0 0 6px currentColor;
}

/* MAIN LAYOUT */
.game-body{
  display:grid;
  grid-template-columns:210px 1fr 260px;
  flex:1;overflow:hidden;
  min-height:0;
}

/* LEFT SIDEBAR */
.left-sidebar{
  background:var(--bg-panel);
  border-right:1px solid var(--border);
  overflow-y:auto;
  padding:14px 12px;
  display:flex;flex-direction:column;
  gap:14px;
}
.left-sidebar::-webkit-scrollbar{width:2px;}
.left-sidebar::-webkit-scrollbar-thumb{background:var(--border-hi);}

/* ── PLAYER CARD ─────────────────────────────────── */
.player-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:14px 12px 12px;
  position:relative;
}

/* Avatar frame */
.pc-avatar-wrap{
  position:relative;
  display:flex;justify-content:center;
  margin-bottom:10px;
}
.pc-avatar-frame{
  position:relative;
  width:112px;height:112px;
  flex-shrink:0;
}
.pc-avatar{
  width:112px;height:112px;
  object-fit:cover;
  display:block;
  filter:brightness(1.05) contrast(1.05);
}
/* Corner bracket decorations */
.pc-frame-tl,.pc-frame-tr,.pc-frame-bl,.pc-frame-br{
  position:absolute;width:14px;height:14px;
  border-color:var(--green);border-style:solid;
}
.pc-frame-tl{top:-2px;left:-2px;border-width:2px 0 0 2px;}
.pc-frame-tr{top:-2px;right:-2px;border-width:2px 2px 0 0;}
.pc-frame-bl{bottom:-2px;left:-2px;border-width:0 0 2px 2px;}
.pc-frame-br{bottom:-2px;right:-2px;border-width:0 2px 2px 0;}

/* Level badge — bottom right of avatar */
.pc-level-badge{
  position:absolute;
  bottom:0;right:calc(50% - 56px - 2px);
  background:var(--green);
  color:#080b08;
  font-family:'Oswald',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:1px;
  padding:2px 6px;
  transform:translateY(50%);
  white-space:nowrap;
}

.pc-name{
  font-family:'Oswald',sans-serif;
  font-size:20px;font-weight:700;
  color:var(--txthi);margin-bottom:0;
  text-align:center;letter-spacing:1px;
}
.pc-level{
  font-family:'Share Tech Mono',monospace;
  font-size:9px;color:var(--txt3);
  letter-spacing:3px;margin-bottom:12px;
  text-align:center;text-transform:uppercase;
}

/* Bars */
.pc-bars{display:flex;flex-direction:column;gap:7px;}
.pc-bar-row{}
.pc-bar-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:3px;
}
.pc-bar-label{
  font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:2px;font-weight:700;
}
.pc-bar-hp{ color:#ff5555; }
.pc-bar-en{ color:#ffcc00; }
.pc-bar-st{ color:#44aaff; }
.pc-bar-xp{ color:#aa44ff; }
.pc-bar-val{
  font-family:'Share Tech Mono',monospace;
  font-size:9px;color:var(--txt2);
}

.pc-bar-track{
  position:relative;
  height:6px;
  background:rgba(0,0,0,0.5);
  border:1px solid rgba(255,255,255,0.05);
  overflow:visible;
}
.pc-bar-fill{
  position:absolute;inset:0;
  height:100%;
  transition:width 0.4s ease;
}
.pcf-hp{ background:linear-gradient(90deg,#aa2222,#ff5555); }
.pcf-en{ background:linear-gradient(90deg,#cc9900,#ffcc00); }
.pcf-st{ background:linear-gradient(90deg,#1166aa,#44aaff); }
.pcf-xp{ background:linear-gradient(90deg,#6611aa,#aa44ff); }

/* Glow layer sits on top, blurs outward */
.pc-bar-glow{
  position:absolute;top:-2px;left:0;
  height:calc(100% + 4px);
  transition:width 0.4s ease;
  pointer-events:none;
  filter:blur(5px);
  opacity:0.55;
}
.pcg-hp{ background:linear-gradient(90deg,transparent,#ff5555); }
.pcg-en{ background:linear-gradient(90deg,transparent,#ffcc00); }
.pcg-st{ background:linear-gradient(90deg,transparent,#44aaff); }
.pcg-xp{ background:linear-gradient(90deg,transparent,#aa44ff); }

.regen-tick{
  font-family:'Share Tech Mono',monospace;
  font-size:9px;color:var(--txt3);
  text-align:right;margin-top:5px;margin-bottom:2px;
}

/* Stat chips — individual accent colours */
.stat-chips{
  display:grid;grid-template-columns:1fr 1fr;
  gap:5px;margin-top:8px;
}
.sc{
  padding:6px 5px;text-align:center;
  border:1px solid var(--border);
  background:var(--bg-deep);
  transition:all 0.15s;
  position:relative;overflow:hidden;
}
.sc::before{
  content:'';position:absolute;inset:0;
  opacity:0.06;
  transition:opacity 0.15s;
}
.sc:hover::before{opacity:0.12;}
.sc-pwr{ border-color:rgba(255,85,85,0.3); }
.sc-pwr::before{ background:var(--red); }
.sc-pwr .sc-label{ color:#ff5555; }
.sc-agi{ border-color:rgba(68,170,255,0.3); }
.sc-agi::before{ background:var(--blue); }
.sc-agi .sc-label{ color:#44aaff; }
.sc-cun{ border-color:rgba(255,204,0,0.3); }
.sc-cun::before{ background:var(--yellow); }
.sc-cun .sc-label{ color:#ffcc00; }
.sc-cred{ border-color:rgba(170,68,255,0.3); }
.sc-cred::before{ background:#aa44ff; }
.sc-cred .sc-label{ color:#aa44ff; }

.sc-label{
  display:block;
  font-family:'Share Tech Mono',monospace;
  font-size:8px;letter-spacing:1.5px;
  margin-bottom:2px;
}
.sc-val{
  font-family:'Oswald',sans-serif;
  font-size:17px;font-weight:700;
  color:var(--txthi);line-height:1;
}


/* NAV */
.nav-group{display:flex;flex-direction:column;gap:2px;}
.nav-group-ops{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
}
.nav-group-ops .nav-btn{
  padding:5px 4px;
  font-size:11px;
  text-align:center;
  border-left:none;
  border-bottom:2px solid transparent;
  letter-spacing:0;
  line-height:1.2;
}
.nav-group-ops .nav-btn:hover{
  border-bottom-color:var(--border-hi);
  border-left-color:transparent;
}
.nav-group-ops .nav-btn.active{
  border-bottom-color:var(--green);
  border-left-color:transparent;
}
.nav-group-ops .nav-group-label{
  grid-column:1 / -1;
}
.nav-group-label{
  font-family:'Oswald',sans-serif;
  font-size:11px;font-weight:700;
  letter-spacing:3px;color:var(--green);
  padding:0 6px 6px;text-transform:uppercase;
  border-bottom:1px solid var(--border);
  margin-bottom:4px;
}
.nav-btn{
  display:block;width:100%;background:none;
  border:none;border-left:2px solid transparent;
  color:var(--txt2);
  font-family:'Rajdhani',sans-serif;
  font-size:14px;font-weight:500;
  padding:7px 10px;text-align:left;cursor:pointer;
  transition:all 0.1s;letter-spacing:0.5px;
}
.nav-btn:hover{color:var(--txthi);background:var(--bg-hover);border-left-color:var(--border-hi);}
.nav-btn.active{color:var(--green);background:rgba(127,255,0,0.04);border-left-color:var(--green);}
.nav-btn.danger{color:var(--txt3);}
.nav-btn.danger:hover{color:var(--red);border-left-color:var(--red);}

/* MAIN CONTENT */
.main-content{
  overflow-y:auto;
  padding:18px 20px;
  background:var(--bg-deep);
}
.main-content::-webkit-scrollbar{width:3px;}
.main-content::-webkit-scrollbar-thumb{background:var(--border-hi);}

.tab-pane{display:none;}
.tab-pane.active{display:block;animation:tab-in 0.18s ease;}

.sec-header{
  font-family:'Oswald',sans-serif;
  font-size:21px;font-weight:600;
  color:var(--txthi);letter-spacing:2px;margin-bottom:2px;
}
.sec-sub{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;color:var(--txt2);
  letter-spacing:2px;margin-bottom:18px;
}

/* TRAVEL SCREEN */
.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.travel-city-card{background:var(--bg-card);border:1px solid var(--border);padding:16px;cursor:pointer;transition:all 0.15s;position:relative;}
.travel-city-card:hover{border-color:var(--green);background:rgba(127,255,0,0.04);box-shadow:0 0 18px rgba(127,255,0,0.06);}
.travel-city-card:not(.cur){animation:card-pulse 3s ease-in-out infinite;}
.travel-city-card.cur{border-color:var(--txt3);opacity:0.4;cursor:not-allowed;pointer-events:none;}
.tc-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:var(--txthi);letter-spacing:2px;margin-bottom:4px;}
.tc-desc{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--txt2);line-height:1.5;margin-bottom:8px;}
.tc-stats{display:flex;gap:14px;font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);letter-spacing:1px;}
.tc-stats span em{color:var(--yellow);font-style:normal;}
.tc-action{position:absolute;right:14px;bottom:14px;color:var(--green);font-family:'Share Tech Mono',monospace;font-size:11px;opacity:0;transition:opacity 0.15s;}
.travel-city-card:not(.cur):hover .tc-action{opacity:1;}
.travel-info{background:var(--bg-panel);border:1px solid var(--border);padding:10px 14px;display:flex;justify-content:space-between;font-size:11px;}

.market-alert{
  display:none;
  background:rgba(255,127,0,0.06);
  border:1px solid rgba(255,127,0,0.25);
  border-left:3px solid var(--orange);
  padding:8px 12px;margin-bottom:12px;
  font-family:'Share Tech Mono',monospace;
  font-size:11px;color:var(--orange);letter-spacing:0.5px;
}
.market-alert.on{display:block;}

.stash-bar{
  background:var(--bg-card);border:1px solid var(--border);
  padding:10px 14px;display:flex;
  align-items:center;gap:12px;margin-bottom:14px;
}
.sb-label{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);letter-spacing:2px;}
.sb-meter{flex:1;height:6px;background:var(--bg-deep);border:1px solid var(--border);overflow:hidden;}
.sb-fill{height:100%;background:var(--yellow);transition:width 0.3s;}
.sb-fill.warn{background:var(--orange);animation:sb-pulse 1s ease-in-out infinite;}
.sb-fill.crit{background:var(--red);animation:sb-pulse 0.8s ease-in-out infinite;}
.sb-val{font-family:'Share Tech Mono',monospace;font-size:15px;color:var(--yellow);white-space:nowrap;}

.drug-table{width:100%;border-collapse:collapse;margin-bottom:16px;}
.drug-table th{
  background:var(--bg-card);
  border-bottom:2px solid var(--border-hi);
  padding:7px 10px;text-align:left;
  font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:2px;color:var(--txt3);
}
.drug-table td{
  border-bottom:1px solid var(--border);
  padding:8px 10px;font-size:14px;
}
.drug-table tr:hover td{background:var(--bg-hover);}
.drug-table tr:hover{outline:1px solid rgba(127,255,0,0.08);}

.d-name{font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;color:var(--txthi);}
.d-slang{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);}
.d-price{font-family:'Share Tech Mono',monospace;font-size:14px;color:var(--yellow);}
.d-price.hi{color:var(--red);}
.d-price.lo{color:var(--green);}
.delta-up{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--red);}
.delta-dn{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--green);}
.delta-eq{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);}
.d-owned{font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--blue);}
.d-unit{color:var(--txt3);font-size:11px;}

.trade-wrap{display:flex;align-items:center;gap:6px;}
.qty-inp{
  background:var(--bg-deep);border:1px solid var(--border-hi);
  color:var(--yellow);font-family:'Share Tech Mono',monospace;
  font-size:12px;width:50px;padding:4px 6px;text-align:center;outline:none;
}
.qty-inp:focus{border-color:var(--green);}
.btn-buy{
  background:rgba(127,255,0,0.08);border:1px solid rgba(127,255,0,0.25);
  color:var(--green);font-family:'Rajdhani',sans-serif;
  font-size:11px;font-weight:700;padding:4px 9px;
  cursor:pointer;letter-spacing:1px;transition:all 0.1s;
}
.btn-buy:hover{background:rgba(127,255,0,0.18);}
.btn-sell{
  background:rgba(255,48,48,0.08);border:1px solid rgba(255,48,48,0.25);
  color:var(--red);font-family:'Rajdhani',sans-serif;
  font-size:11px;font-weight:700;padding:4px 9px;
  cursor:pointer;letter-spacing:1px;transition:all 0.1s;
}
.btn-sell:hover{background:rgba(255,48,48,0.18);}

/* GRIND — MISSION TIERS */
#mission-list{ display:flex; flex-direction:column; gap:18px; }

.grind-tier{}
.grind-tier-locked{ opacity:0.45; pointer-events:none; }

.grind-tier-hdr{
  display:flex;align-items:center;gap:8px;
  margin-bottom:8px;
}
.grind-tier-line{
  width:3px;height:18px;flex-shrink:0;
  border-radius:2px;
}
.grind-tier-name{
  font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:2px;flex:1;
}
.grind-tier-prog{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  color:var(--txt3);letter-spacing:1px;
}
.grind-tier-lock{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  color:var(--red);letter-spacing:1px;
}

.grind-tier-cards{
  display:flex;flex-direction:column;gap:5px;
  border-left:1px solid var(--border);
  padding-left:10px;margin-left:1px;
}

.grind-card{
  display:flex;align-items:flex-start;gap:10px;
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:10px 12px;
  transition:border-color 0.12s;
}
.grind-card:hover{ border-color:var(--border-hi); }
.grind-locked{
  opacity:0.3;pointer-events:none;
  filter:grayscale(0.5);
}

.grind-card-icon{
  font-size:20px;flex-shrink:0;
  width:28px;text-align:center;
  margin-top:1px;
}
.grind-card-body{ flex:1;min-width:0; }
.grind-card-name{
  font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;
  color:var(--txthi);margin-bottom:2px;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.grind-card-desc{
  font-size:11px;color:var(--txt2);
  margin-bottom:5px;line-height:1.4;
}
.grind-card-meta{
  display:flex;align-items:center;gap:10px;
}
.grind-en{
  font-family:'Share Tech Mono',monospace;font-size:10px;
  color:var(--orange);letter-spacing:0.5px;
}
.grind-en-low{ color:var(--red)!important; }
.grind-time{
  font-family:'Share Tech Mono',monospace;font-size:10px;
  color:var(--txt3);letter-spacing:0.3px;
}
.grind-reward{
  font-family:'Share Tech Mono',monospace;font-size:10px;
  color:var(--green);letter-spacing:0.3px;
}

.grind-special-tag{
  font-family:'Share Tech Mono',monospace;font-size:8px;
  letter-spacing:1px;color:var(--blue);
  background:rgba(0,191,255,0.08);
  border:1px solid rgba(0,191,255,0.2);
  padding:1px 5px;
  white-space:nowrap;
}

.grind-card-right{
  display:flex;flex-direction:column;align-items:flex-end;
  gap:5px;flex-shrink:0;
}
.grind-done-badge{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  color:var(--green);letter-spacing:1px;
  background:rgba(127,255,0,0.08);
  border:1px solid rgba(127,255,0,0.15);
  padding:1px 6px;text-align:center;
  min-width:36px;
}
.grind-done-none{
  color:var(--txt3)!important;
  background:transparent!important;
  border-color:var(--border)!important;
}

.grind-btn{
  background:rgba(212,196,0,0.1);
  border:1px solid rgba(212,196,0,0.3);
  color:var(--yellow);
  font-family:'Rajdhani',sans-serif;
  font-size:12px;font-weight:700;
  padding:6px 14px;cursor:pointer;
  letter-spacing:1.5px;white-space:nowrap;
  transition:all 0.12s;
}
.grind-btn:hover{ background:rgba(212,196,0,0.2); }
.grind-btn-noen{
  background:rgba(255,48,48,0.08)!important;
  border-color:rgba(255,48,48,0.25)!important;
  color:var(--red)!important;cursor:not-allowed!important;
}
.grind-btn-off{
  background:var(--bg-deep)!important;
  border-color:var(--border)!important;
  color:var(--txt3)!important;cursor:not-allowed!important;
  font-size:10px!important;
}
.grind-btn-night{
  background:rgba(68,68,100,0.15)!important;
  border-color:rgba(100,100,150,0.3)!important;
  color:var(--txt3)!important;cursor:not-allowed!important;
  font-size:10px!important;
}

/* TURF */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}
.sub-label{
  font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:3px;color:var(--txt3);
  margin-bottom:10px;
}

/* ── TERRITORY CONTROL ── */
.turf-city-tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.turf-city-tab{
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--txt2);font-family:'Rajdhani',sans-serif;
  font-size:13px;font-weight:700;padding:6px 16px;
  cursor:pointer;letter-spacing:1.5px;transition:all 0.15s;
}
.turf-city-tab:hover{border-color:var(--green);color:var(--green);}
.turf-city-tab.active{background:rgba(0,255,200,0.08);border-color:var(--green);color:var(--green);}

.terr-card{
  background:var(--bg-card);border:1px solid var(--border);
  padding:12px;margin-bottom:8px;
}
.terr-hdr{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.terr-name{font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;color:var(--txthi);flex:1;}
.terr-tier{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--txt3);letter-spacing:1px;white-space:nowrap;}
.terr-owned-badge{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--green);letter-spacing:1px;}

.terr-owned{border-left:3px solid var(--green);}
.terr-open{border-left:3px solid var(--orange);}
.terr-locked{opacity:0.45;}

.terr-stats{font-size:11px;color:var(--txt2);margin-bottom:4px;}
.terr-bonus{font-size:11px;color:var(--green);margin-bottom:4px;}
.terr-slots{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);margin-bottom:6px;}
.terr-lock-reason{font-size:11px;color:var(--txt3);margin-top:4px;}
.terr-reward{font-size:10px;color:var(--yellow);margin-bottom:8px;}

.btn-conquer{
  background:rgba(255,180,0,0.08);border:1px solid rgba(255,180,0,0.3);
  color:var(--orange);font-family:'Rajdhani',sans-serif;
  font-size:12px;font-weight:700;padding:6px 14px;
  cursor:pointer;letter-spacing:2px;width:100%;transition:all 0.15s;
}
.btn-conquer:hover{background:rgba(255,180,0,0.18);}
.btn-conquer:disabled{opacity:0.3;cursor:not-allowed;}

.btn-upgrade{
  background:rgba(0,255,200,0.08);border:1px solid rgba(0,255,200,0.25);
  color:var(--green);font-family:'Rajdhani',sans-serif;
  font-size:11px;font-weight:700;padding:4px 12px;
  cursor:pointer;letter-spacing:1.5px;transition:all 0.15s;
}
.btn-upgrade:hover{background:rgba(0,255,200,0.18);}

/* Control bars */
.terr-control-bar,.terr-enemy-bar{
  background:var(--bg2);border:1px solid var(--border);height:10px;border-radius:5px;overflow:hidden;margin-bottom:2px;
}
.terr-control-fill,.terr-enemy-fill{height:100%;border-radius:5px;transition:width 0.3s;}
.terr-control-fill{background:var(--green);}
.terr-enemy-fill{background:var(--red);}
.terr-control-label{font-size:10px;font-family:'Share Tech Mono',monospace;}
.terr-enemy-label{font-size:10px;color:var(--txt3);font-family:'Share Tech Mono',monospace;}
.terr-decay{color:var(--txt3);}
.terr-vuln-warn{font-size:10px;color:var(--red);font-family:'Share Tech Mono',monospace;margin:4px 0;padding:4px 6px;background:rgba(255,0,0,0.08);border:1px solid rgba(255,0,0,0.2);border-radius:3px;text-align:center;}
.btn-maint{
  background:rgba(200,200,255,0.06);border:1px solid rgba(200,200,255,0.2);
  color:var(--cyan);font-family:'Rajdhani',sans-serif;
  font-size:10px;font-weight:700;padding:4px 8px;flex:1;
  cursor:pointer;letter-spacing:1px;transition:all 0.15s;
}
.btn-maint:hover{background:rgba(200,200,255,0.15);}
.btn-maint:disabled{opacity:0.3;cursor:not-allowed;}
.to-ctrl{margin-left:auto;font-family:'Share Tech Mono',monospace;font-size:11px;}

.terr-upgrades{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;}
.terr-upg-tag{
  background:rgba(0,200,255,0.1);border:1px solid rgba(0,200,255,0.2);
  color:var(--cyan);font-size:9px;font-family:'Share Tech Mono',monospace;
  padding:2px 6px;letter-spacing:0.5px;
}

/* Owned turf summary */
.turf-owned{
  background:var(--bg-card);border:1px solid var(--border);
  border-left:3px solid var(--green);
  padding:8px 12px;margin-bottom:6px;
  display:flex;justify-content:space-between;align-items:center;
}
.to-name{font-family:'Oswald',sans-serif;font-size:13px;color:var(--txthi);}
.to-city{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--txt3);}
.to-bonus{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--green);}

/* Upgrade panel */
.upgrade-card{
  background:var(--bg-card);border:1px solid var(--border);
  padding:10px;margin-bottom:6px;display:flex;align-items:center;gap:10px;
}
.upg-name{font-family:'Oswald',sans-serif;font-size:13px;color:var(--txthi);flex:1;}
.upg-effect{font-size:10px;color:var(--txt2);}
.upg-cost{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--yellow);}
.btn-buy-upg{
  background:rgba(0,200,255,0.08);border:1px solid rgba(0,200,255,0.25);
  color:var(--cyan);font-family:'Rajdhani',sans-serif;
  font-size:11px;font-weight:700;padding:4px 10px;
  cursor:pointer;letter-spacing:1.5px;white-space:nowrap;
}
.btn-buy-upg:disabled{opacity:0.3;cursor:not-allowed;}
.btn-cancel{
  background:transparent;border:1px solid var(--border);
  color:var(--txt3);font-family:'Share Tech Mono',monospace;
  font-size:10px;padding:4px 10px;cursor:pointer;margin-top:4px;
}

/* City unlock picker */
.city-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.city-pick-btn{
  background:var(--bg-card);border:1px solid var(--border-hi);
  color:var(--txt2);font-family:'Rajdhani',sans-serif;
  padding:10px 16px;cursor:pointer;text-align:left;
  flex:1 1 180px;transition:all 0.15s;
}
.city-pick-btn:hover{border-color:var(--green);color:var(--green);}
.cp-name{display:block;font-size:16px;font-weight:700;color:var(--txthi);margin-bottom:4px;}
.cp-desc{display:block;font-size:11px;color:var(--txt3);}

/* ── CORNER SHOP ── */
.shop-card{
  background:var(--bg-card);border:1px solid var(--border);
  padding:14px;margin-bottom:8px;display:flex;align-items:center;gap:12px;
}
.shop-name{font-family:'Oswald',sans-serif;font-size:15px;color:var(--txthi);flex:1;}
.shop-desc{font-size:11px;color:var(--txt2);}
.shop-price{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--yellow);white-space:nowrap;}
.btn-buy-shop{
  background:rgba(0,200,255,0.08);border:1px solid rgba(0,200,255,0.25);
  color:var(--cyan);font-family:'Rajdhani',sans-serif;
  font-size:12px;font-weight:700;padding:6px 14px;
  cursor:pointer;letter-spacing:2px;white-space:nowrap;transition:all 0.15s;
}
.btn-buy-shop:hover{background:rgba(0,200,255,0.18);}
.btn-buy-shop:disabled{opacity:0.3;cursor:not-allowed;}
.shop-old{text-decoration:line-through;opacity:0.5;font-size:10px;}

.bm-card{
  background:var(--bg-card);border:1px solid var(--border-hi);
  padding:14px;margin-bottom:12px;
}
.bm-hdr{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.bm-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border-hi);}
.bm-name{font-family:'Oswald',sans-serif;font-size:17px;color:var(--txthi);flex:1;}
.bm-tier{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1px;}
.bm-favor-wrap{margin-bottom:8px;}
.bm-favor-bar{
  background:var(--bg-deep);height:6px;border-radius:3px;overflow:hidden;
  border:1px solid var(--border);margin-bottom:4px;
}
.bm-favor-fill{background:var(--green);height:100%;transition:width 0.3s;}
.bm-favor-text{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--txt3);}
.bm-discount{
  font-family:'Share Tech Mono',monospace;font-size:10px;
  color:var(--green);margin-bottom:6px;letter-spacing:0.5px;
}
.bm-desc{font-size:11px;color:var(--txt2);}
.shop-effect{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--green);}
.shop-desc{font-size:10px;color:var(--txt3);margin:3px 0 6px;line-height:1.4;}
.shop-special{border-color:var(--yellow);border-left:3px solid var(--yellow);}

/* FLAT */
.flat-hdr{
  background:var(--bg-card);border:1px solid var(--border);
  padding:14px;margin-bottom:14px;
}
.flat-name{font-family:'Oswald',sans-serif;font-size:18px;color:var(--yellow);margin-bottom:3px;}
.flat-desc{font-size:12px;color:var(--txt2);}

.bank-box{
  background:var(--bg-panel);
  border:1px solid rgba(212,196,0,0.3);
  border-left:3px solid var(--yellow);
  padding:14px;margin-bottom:16px;
}
.bank-title{font-family:'Oswald',sans-serif;font-size:15px;color:var(--yellow);margin-bottom:8px;}
.bank-stashed{font-family:'Share Tech Mono',monospace;font-size:13px;color:var(--yellow);margin-bottom:10px;}
.bank-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.bank-inp{
  background:var(--bg-deep);border:1px solid var(--border-hi);
  color:var(--yellow);font-family:'Share Tech Mono',monospace;
  font-size:13px;padding:6px 10px;width:120px;outline:none;
}
.bank-inp:focus{border-color:var(--yellow);}
.btn-bank{
  background:rgba(212,196,0,0.08);border:1px solid rgba(212,196,0,0.25);
  color:var(--yellow);font-family:'Rajdhani',sans-serif;
  font-size:12px;font-weight:700;padding:6px 12px;
  cursor:pointer;letter-spacing:1px;transition:all 0.15s;
}
.btn-bank:hover{background:rgba(212,196,0,0.18);}

.upg-card{
  background:var(--bg-card);border:1px solid var(--border);
  padding:12px 14px;margin-bottom:8px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  transition:border-color 0.15s;
}
.upg-card:hover{border-color:var(--border-hi);}
.upg-card.owned{border-color:rgba(127,255,0,0.2);opacity:0.55;}
.upg-name{font-family:'Oswald',sans-serif;font-size:15px;color:var(--txthi);margin-bottom:2px;}
.upg-desc{font-size:11px;color:var(--txt2);margin-bottom:3px;}
.upg-fx{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--blue);}
.upg-owned-tag{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--green);margin-top:3px;}
.btn-upg{
  background:rgba(0,191,255,0.08);border:1px solid rgba(0,191,255,0.25);
  color:var(--blue);font-family:'Rajdhani',sans-serif;
  font-size:12px;font-weight:700;
  padding:7px 12px;cursor:pointer;letter-spacing:1px;
  margin-top:6px;transition:all 0.15s;display:block;
}
.btn-upg:hover{background:rgba(0,191,255,0.18);}
.upg-cost-big{
  font-family:'Share Tech Mono',monospace;
  font-size:14px;color:var(--yellow);
  white-space:nowrap;flex-shrink:0;
}

/* SLEEP */
.sleep-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-left:3px solid var(--st-c);
  padding:14px;margin-bottom:16px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.sleep-label{font-family:'Oswald',sans-serif;font-size:15px;color:var(--st-c);margin-bottom:2px;}
.sleep-desc{font-size:12px;color:var(--txt2);margin-bottom:4px;}
.sleep-state{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);}
.sleep-state span{color:var(--txt2);}
.btn-sleep{
  background:rgba(68,170,255,0.08);border:1px solid rgba(68,170,255,0.25);
  color:var(--st-c);font-family:'Rajdhani',sans-serif;
  font-size:14px;font-weight:700;padding:10px 18px;
  cursor:pointer;letter-spacing:2px;transition:all 0.15s;white-space:nowrap;
}
.btn-sleep:hover{background:rgba(68,170,255,0.18);}

/* RIGHT SIDEBAR */
.right-sidebar{
  background:var(--bg-panel);
  border-left:1px solid var(--border);
  overflow-y:auto;padding:14px 12px;
  display:flex;flex-direction:column;gap:14px;
}
.right-sidebar::-webkit-scrollbar{width:2px;}
.right-sidebar::-webkit-scrollbar-thumb{background:var(--border-hi);}

.rs-title{
  font-family:'Oswald',sans-serif;
  font-size:12px;font-weight:700;
  letter-spacing:3px;color:var(--green);
  text-transform:uppercase;
  border-bottom:1px solid var(--border);
  padding-bottom:4px;margin-bottom:10px;
}

.inv-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:5px 0;border-bottom:1px solid var(--border);font-size:12px;
  flex-wrap:wrap;
}
.inv-item:last-child{border-bottom:none;}
.inv-drug{color:var(--txt2);}
.inv-qty{font-family:'Share Tech Mono',monospace;color:var(--blue);}
.inv-val{font-family:'Share Tech Mono',monospace;color:var(--green);font-size:11px;}
.inv-cost{font-family:'Share Tech Mono',monospace;font-size:9px;width:100%;padding-top:2px;}

.passive-banner{
  display:none;
  background:rgba(127,255,0,0.05);border:1px solid rgba(127,255,0,0.15);
  padding:5px 10px;
  font-family:'Share Tech Mono',monospace;font-size:10px;
  color:var(--green);letter-spacing:1px;margin-bottom:4px;
}
.passive-banner.on{display:block;}

.log-filters{
  display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap;
}
.log-filter{
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--txt3);font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:1px;padding:2px 7px;
  cursor:pointer;transition:all 0.1s;flex:1;text-align:center;
}
.log-filter:hover{border-color:var(--border-hi);color:var(--txt2);}
.log-filter.active{border-color:var(--green);color:var(--green);background:rgba(127,255,0,0.05);}

.log-box{
  background:var(--bg-deep);border:1px solid var(--border);
  height:200px;overflow-y:auto;padding:8px;
}
.log-box::-webkit-scrollbar{width:2px;}
.log-box::-webkit-scrollbar-thumb{background:var(--border-hi);}

.log-entry{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;line-height:1.7;color:var(--txt2);
  border-bottom:1px solid rgba(255,255,255,0.015);padding:1px 0;
  animation:log-in 0.2s ease;
}
.log-entry.good{color:var(--green);}
.log-entry.bad{color:var(--red);}
.log-entry.neutral{color:var(--yellow);}
.log-entry.info{color:var(--blue);}
.log-time{color:var(--txt3);margin-right:6px;}

/* NOTIFICATIONS */
.notif-area{
  position:fixed;bottom:18px;right:18px;
  z-index:1000;display:flex;flex-direction:column;gap:7px;
  pointer-events:none;
}
.notif{
  background:var(--bg-panel);
  border:1px solid var(--border-hi);
  border-left:3px solid var(--green);
  padding:8px 14px;font-size:12px;max-width:280px;
  font-family:'Share Tech Mono',monospace;color:var(--txt);
  animation:ns 0.2s ease;
}
.notif.bad{border-left-color:var(--red);}
.notif.warn{border-left-color:var(--orange);}
.notif.neutral{border-left-color:var(--yellow);}
@keyframes ns{from{transform:translateX(16px);opacity:0;}to{transform:none;opacity:1;}}

/* MODAL */
.modal-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.82);z-index:500;
  align-items:center;justify-content:center;
}
.modal-overlay.open{display:flex;animation:modal-in 0.2s ease;}
.modal-box{
  background:var(--bg-panel);
  border:1px solid var(--border-hi);
  border-top:3px solid var(--green);
  padding:22px;max-width:380px;width:90%;
}
.modal-title{
  font-family:'Oswald',sans-serif;font-size:19px;
  color:var(--txthi);margin-bottom:10px;
}
.modal-body{font-size:13px;color:var(--txt2);line-height:1.6;margin-bottom:12px;}
.modal-result{
  font-family:'Share Tech Mono',monospace;font-size:12px;
  padding:10px;background:var(--bg-deep);
  border:1px solid var(--border);margin-bottom:14px;line-height:1.9;
}
.modal-close{
  background:var(--bg-deep);border:1px solid var(--border-hi);
  color:var(--txt);font-family:'Rajdhani',sans-serif;
  font-size:13px;font-weight:600;
  padding:8px 18px;cursor:pointer;letter-spacing:1px;transition:all 0.15s;
}
.modal-close:hover{border-color:var(--green);color:var(--green);}

/* ANIMATIONS */
@keyframes tab-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes sb-pulse{0%,100%{opacity:1}50%{opacity:0.5}}
@keyframes log-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
@keyframes cash-glow{0%,100%{text-shadow:0 0 8px rgba(127,255,0,0.15)}50%{text-shadow:0 0 20px rgba(127,255,0,0.35)}}
@keyframes cash-pulse{0%{transform:scale(1)}50%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes card-pulse{0%,100%{border-color:var(--border)}50%{border-color:rgba(127,255,0,0.12)}}
@keyframes modal-in{from{opacity:0}to{opacity:1}}
@keyframes tr-flash-up{0%{background:rgba(255,48,48,0.06)}to{background:transparent}}
@keyframes tr-flash-dn{0%{background:rgba(127,255,0,0.06)}to{background:transparent}}
.tr-flash-up{animation:tr-flash-up 0.5s ease;}
.tr-flash-dn{animation:tr-flash-dn 0.5s ease;}

/* UTILS */
.divider{border:none;border-top:1px solid var(--border);margin:4px 0;}
.g{color:var(--green);}
.r{color:var(--red);}
.y{color:var(--yellow);}
.b{color:var(--blue);}
.muted{color:var(--txt3);font-size:11px;font-family:'Share Tech Mono',monospace;}

/* =====================================================================
   ADDITIONS & FIXES
===================================================================== */

/* Day of week banner in dealing tab */
.dow-banner{
  background:rgba(255,127,0,0.06);
  border:1px solid rgba(255,127,0,0.2);
  border-left:3px solid var(--orange);
  padding:7px 12px;margin-bottom:10px;
  font-family:'Share Tech Mono',monospace;
  font-size:11px;color:var(--orange);letter-spacing:0.5px;
}

/* BUY MAX / SELL ALL buttons */
.btn-max{
  background:rgba(127,255,0,0.04)!important;
  border-color:rgba(127,255,0,0.15)!important;
  color:rgba(127,255,0,0.6)!important;
  font-size:10px!important;
  padding:4px 6px!important;
}
.btn-max:hover{
  background:rgba(127,255,0,0.15)!important;
  color:var(--green)!important;
}
.btn-all{
  background:rgba(255,48,48,0.04)!important;
  border-color:rgba(255,48,48,0.15)!important;
  color:rgba(255,48,48,0.6)!important;
  font-size:10px!important;
  padding:4px 6px!important;
}
.btn-all:hover{
  background:rgba(255,48,48,0.15)!important;
  color:var(--red)!important;
}

/* Profit hint badges on drug name */
.profit-hint{
  display:inline-block;
  font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:1px;
  padding:1px 5px;margin-left:5px;
  vertical-align:middle;
  border-radius:2px;
}
.buy-hint{
  background:rgba(127,255,0,0.12);
  border:1px solid rgba(127,255,0,0.3);
  color:var(--green);
}
.sell-hint{
  background:rgba(255,48,48,0.12);
  border:1px solid rgba(255,48,48,0.3);
  color:var(--red);
}

/* Inventory total row */
.inv-total{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;color:var(--green);
  border-top:1px solid var(--border);
  padding-top:6px;margin-top:4px;
  text-align:right;
  letter-spacing:1px;
}

/* Mission button when not enough energy */
.btn-mission-no{
  opacity:0.45;
  border-color:var(--red)!important;
  color:var(--red)!important;
}

/* Travel city card YOU ARE HERE badge */
.here-badge{
  color:var(--txt3)!important;
  font-size:10px;letter-spacing:1px;
}

/* Buy button that player can't afford */
.btn-upg-poor{
  opacity:0.55;
}

/* Flat tier badge */
.flat-tier{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;color:var(--txt3);
  margin-top:4px;letter-spacing:1px;
}

/* Top day element colouring handled inline but ensure transition */
#top-day{
  transition:color 0.3s ease;
  font-weight:600;
}

/* Slightly wider trade column to fit all 4 buttons */
.drug-table td:last-child{ min-width:195px; }
.trade-wrap{ flex-wrap:nowrap; gap:4px; }

/* =====================================================================
   GEAR / EQUIPMENT SYSTEM
===================================================================== */

/* Equipped panel */
.gear-equipped-panel{
  background:var(--bg-panel);
  border:1px solid var(--border);
  border-top:3px solid var(--green);
  padding:14px;
  margin-bottom:16px;
}

.gear-panel-title{
  font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:3px;color:var(--txt3);
  text-transform:uppercase;margin-bottom:10px;
}

.gear-stat-summary{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;letter-spacing:1px;
  margin-bottom:12px;
  padding:8px 10px;
  background:var(--bg-deep);
  border:1px solid var(--border);
  line-height:1.8;
}

/* Equipped slot rows */
.gear-slot-row{
  display:flex;align-items:center;gap:10px;
  padding:7px 10px;
  border-bottom:1px solid var(--border);
  cursor:pointer;
  transition:background 0.1s;
}
.gear-slot-row:last-child{border-bottom:none;}
.gear-slot-row:hover{background:var(--bg-hover);}

.gear-slot-label{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:1px;color:var(--txt3);
  width:100px;flex-shrink:0;
}
.gear-slot-item{flex:1;}
.gear-item-name{
  font-family:'Oswald',sans-serif;
  font-size:13px;font-weight:600;color:var(--txthi);
}
.gear-item-stats{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;color:var(--green);margin-top:1px;
}
.gear-slot-arrow{
  color:var(--txt3);font-size:16px;
  transition:color 0.1s;
}
.gear-slot-row:hover .gear-slot-arrow{color:var(--green);}

/* Shop section */
.gear-shop-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:10px;
}

/* Slot filter tabs */
.gear-slot-tabs{
  display:flex;flex-wrap:wrap;gap:5px;
  margin-bottom:14px;
}
.gear-tab{
  background:var(--bg-card);
  border:1px solid var(--border);
  color:var(--txt2);
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:1px;
  padding:5px 10px;cursor:pointer;
  transition:all 0.12s;
  white-space:nowrap;
}
.gear-tab:hover{border-color:var(--border-hi);color:var(--txt);}
.gear-tab.active{
  border-color:var(--green);
  color:var(--green);
  background:rgba(127,255,0,0.05);
}

/* Gear card grid */
.gear-shop-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:10px;
  margin-bottom:16px;
}

.gear-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:12px;
  display:flex;flex-direction:column;gap:5px;
  transition:border-color 0.15s;
  position:relative;
}
.gear-card:hover{border-color:var(--border-hi);}
.gear-card-equipped{
  border-color:rgba(127,255,0,0.4)!important;
  background:rgba(127,255,0,0.04)!important;
}
.gear-card-owned{
  border-color:rgba(0,191,255,0.3)!important;
}

.gear-card-tier{
  font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:2px;
  padding:2px 6px;display:inline-block;
  width:fit-content;margin-bottom:2px;
}
.tier-1{background:rgba(113,138,108,0.15);color:var(--txt2);}
.tier-2{background:rgba(0,191,255,0.1);color:var(--blue);}
.tier-3{background:rgba(212,196,0,0.12);color:var(--yellow);}
.tier-4{background:rgba(255,48,48,0.12);color:var(--red);}

.gear-card-name{
  font-family:'Oswald',sans-serif;
  font-size:14px;font-weight:600;color:var(--txthi);
  line-height:1.2;
}
.gear-card-desc{
  font-size:11px;color:var(--txt2);
  font-family:'Share Tech Mono',monospace;
  line-height:1.5;flex:1;
}
.gear-card-stats{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;color:var(--green);
  background:rgba(127,255,0,0.05);
  border:1px solid rgba(127,255,0,0.1);
  padding:3px 6px;
}

/* Gear action buttons */
.gear-btn{
  font-family:'Rajdhani',sans-serif;
  font-size:12px;font-weight:700;
  letter-spacing:1px;padding:6px 10px;
  cursor:pointer;width:100%;
  transition:all 0.12s;margin-top:2px;
  border:1px solid transparent;
}
.gear-btn-equipped{
  background:rgba(127,255,0,0.1);
  border-color:rgba(127,255,0,0.3);
  color:var(--green);cursor:default;
}
.gear-btn-equip{
  background:rgba(0,191,255,0.08);
  border-color:rgba(0,191,255,0.3);
  color:var(--blue);
}
.gear-btn-equip:hover{background:rgba(0,191,255,0.18);}
.gear-btn-buy{
  background:rgba(212,196,0,0.08);
  border-color:rgba(212,196,0,0.3);
  color:var(--yellow);
}
.gear-btn-buy:hover{background:rgba(212,196,0,0.18);}
.gear-btn-poor{
  opacity:0.55;
  border-color:rgba(255,48,48,0.2)!important;
  color:var(--txt2)!important;
}
.gear-need{
  display:block;font-size:9px;color:var(--red);
  font-weight:400;letter-spacing:0;margin-top:1px;
}

/* Stat chip display with gear bonus */
.sc-val-bonus{
  font-size:10px;
  color:var(--green);
  opacity:0.8;
}

/* =====================================================================
   LEVEL UP MODAL
===================================================================== */

.levelup-overlay{
  background:rgba(0,0,0,0.92)!important;
  z-index:600!important;
}

.levelup-box{
  background:var(--bg-panel);
  border:1px solid rgba(127,255,0,0.3);
  border-top:3px solid var(--green);
  padding:28px 28px 22px;
  max-width:480px;width:92%;
  position:relative;overflow:hidden;
  box-shadow:0 0 60px rgba(127,255,0,0.08);
  animation:lu-in 0.3s cubic-bezier(0.34,1.4,0.64,1);
}
@keyframes lu-in{from{transform:scale(0.88) translateY(20px);opacity:0;}to{transform:none;opacity:1;}}

.lu-glow{
  position:absolute;top:-60px;left:50%;transform:translateX(-50%);
  width:300px;height:120px;
  background:radial-gradient(ellipse,rgba(127,255,0,0.12),transparent 70%);
  pointer-events:none;
}

.lu-eyebrow{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:4px;color:var(--txt3);
  margin-bottom:6px;
}
.lu-title{
  font-family:'Oswald',sans-serif;
  font-size:52px;font-weight:700;
  color:var(--green);letter-spacing:4px;
  line-height:1;
  animation:neon-pulse 2s ease-in-out infinite;
}
.lu-sub{
  font-family:'Share Tech Mono',monospace;
  font-size:12px;color:var(--yellow);
  letter-spacing:3px;margin-top:4px;margin-bottom:14px;
}
.lu-divider{
  border:none;border-top:1px solid var(--border);margin:14px 0;
}

/* Reward rows */
.lu-rewards{display:flex;flex-direction:column;gap:7px;margin-bottom:6px;}
.lu-reward-row{
  display:flex;align-items:center;
  font-family:'Share Tech Mono',monospace;font-size:12px;
  padding:7px 12px;border-left:3px solid transparent;
  background:var(--bg-card);
}
.lu-stat    { border-left-color:var(--yellow); color:var(--yellow); }
.lu-box     { border-left-color:var(--orange); color:var(--orange); }
.lu-milestone{ border-left-color:var(--green); color:var(--green); }

/* Stat spend */
.lu-stat-header{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:3px;color:var(--txt3);
  margin-bottom:10px;
}
.lu-stat-pts{
  font-family:'Share Tech Mono',monospace;
  font-size:12px;color:var(--orange);
  margin-bottom:10px;
}
.lu-stat-pts span{color:var(--yellow);font-size:18px;margin-left:6px;}

.lu-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;}
.lu-stat-btn{
  background:var(--bg-card);border:1px solid var(--border);
  padding:10px 12px;cursor:pointer;text-align:left;
  transition:all 0.15s;display:flex;flex-direction:column;gap:2px;
}
.lu-stat-btn:hover{border-color:var(--green);background:rgba(127,255,0,0.05);}
.lu-sname{font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;color:var(--txthi);}
.lu-sval{font-family:'Share Tech Mono',monospace;font-size:18px;color:var(--yellow);}
.lu-shint{font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--txt3);}

.lu-stat-done{
  font-family:'Share Tech Mono',monospace;font-size:11px;
  color:var(--green);padding:8px;letter-spacing:1px;
}

.lu-actions{display:flex;gap:10px;margin-top:16px;}
.lu-close-btn{
  background:var(--bg-deep);border:1px solid var(--border-hi);
  color:var(--txt);font-family:'Rajdhani',sans-serif;
  font-size:13px;font-weight:600;
  padding:10px 16px;cursor:pointer;letter-spacing:1px;transition:all 0.15s;
}
.lu-close-btn:hover{border-color:var(--txt2);color:var(--txthi);}
.lu-box-btn{
  flex:1;
  background:rgba(255,127,0,0.1);
  border:1px solid rgba(255,127,0,0.35);
  color:var(--orange);font-family:'Oswald',sans-serif;
  font-size:14px;font-weight:700;
  padding:10px 16px;cursor:pointer;letter-spacing:2px;transition:all 0.15s;
}
.lu-box-btn:hover{background:rgba(255,127,0,0.2);}

/* =====================================================================
   MYSTERY BOX MODAL — CS:GO CASE OPENING STYLE
===================================================================== */

.box-overlay{
  background:rgba(0,0,0,0.95)!important;
  z-index:610!important;
}

.box-modal{
  background:var(--bg-panel);
  border:1px solid rgba(255,127,0,0.3);
  border-top:3px solid var(--orange);
  padding:24px 24px 20px;
  max-width:620px;width:96%;
  animation:lu-in 0.25s ease;
}

.box-header{text-align:center;margin-bottom:18px;}
.box-eyebrow{
  font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:4px;color:var(--txt3);margin-bottom:4px;
}
.box-tier-label{
  font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;
  color:var(--orange);letter-spacing:3px;
}
.box-count{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--txt3);margin-top:2px;}

/* ── REEL WRAPPER ── */
.case-reel-wrap{
  position:relative;
  height:110px;
  margin-bottom:10px;
  overflow:hidden;
}

.case-reel-viewport{
  width:100%;
  height:110px;
  overflow:hidden;
}

.case-reel{
  display:flex;
  align-items:center;
  gap:6px;
  height:110px;
  will-change:transform;
  /* transform applied via JS */
}

/* each card in the reel */
.reel-card{
  flex-shrink:0;
  width:110px;height:98px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:4px;
  border:2px solid var(--border);
  background:var(--bg-card);
  border-radius:2px;
  padding:6px;
  text-align:center;
  transition:border-color 0.1s;
  user-select:none;
}
.reel-card-icon{ font-size:28px; line-height:1; }
.reel-card-name{
  font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:700;
  color:var(--txt);letter-spacing:0.3px;line-height:1.2;
  max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.reel-card-type{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:1px;color:var(--txt3);
}

/* rarity colour coding on border */
.reel-card.rc-cash    { border-color:rgba(127,255,0,0.2); }
.reel-card.rc-drug    { border-color:rgba(0,191,255,0.2); }
.reel-card.rc-gear    { border-color:rgba(212,196,0,0.2); }
.reel-card.rc-special { border-color:rgba(255,48,48,0.35);background:rgba(255,48,48,0.04); }
.reel-card.rc-stat    { border-color:rgba(170,68,255,0.3); }
.reel-card.rc-stash   { border-color:rgba(255,127,0,0.3); }

/* the winning card highlight */
.reel-card.rc-winner{
  border-color:var(--orange)!important;
  background:rgba(255,127,0,0.1)!important;
  box-shadow:0 0 18px rgba(255,127,0,0.35);
}
.reel-card.rc-winner.rc-special{
  border-color:var(--red)!important;
  background:rgba(255,48,48,0.1)!important;
  box-shadow:0 0 22px rgba(255,48,48,0.45);
}

/* the pointer / selector line in the centre */
.case-reel-pointer{
  position:absolute;
  left:50%;top:0;bottom:0;
  width:3px;
  transform:translateX(-50%);
  background:var(--orange);
  box-shadow:0 0 10px rgba(255,127,0,0.7);
  z-index:3;
  pointer-events:none;
}

/* gradient fade on left and right edges */
.case-reel-fade{
  position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.case-reel-fade-l{
  left:0;
  background:linear-gradient(to right, var(--bg-panel) 0%, transparent 100%);
}
.case-reel-fade-r{
  right:0;
  background:linear-gradient(to left, var(--bg-panel) 0%, transparent 100%);
}

.case-open-hint{
  text-align:center;
  font-family:'Share Tech Mono',monospace;
  font-size:11px;color:var(--txt3);letter-spacing:2px;
  height:20px;
}

/* ── RESULT PHASE ── */
.case-result-phase{ animation:lu-in 0.3s ease; }

.box-jackpot{
  display:none;
  font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;
  color:var(--yellow);text-align:center;letter-spacing:3px;
  padding:8px;background:rgba(212,196,0,0.08);
  border:1px solid rgba(212,196,0,0.25);
  margin-bottom:14px;
  animation:sb-pulse 0.6s ease-in-out infinite;
}

.box-results{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.box-result-row{
  display:flex;align-items:flex-start;gap:12px;
  padding:10px 12px;
  background:var(--bg-card);border:1px solid var(--border);
  border-left:3px solid var(--border-hi);
  animation:log-in 0.25s ease backwards;
}
.box-result-row:nth-child(1){animation-delay:0.05s;}
.box-result-row:nth-child(2){animation-delay:0.12s;}
.box-result-row:nth-child(3){animation-delay:0.19s;}

.res-cash   {border-left-color:var(--green);}
.res-drug   {border-left-color:var(--blue);}
.res-gear   {border-left-color:var(--yellow);}
.res-special{border-left-color:var(--red);background:rgba(255,48,48,0.04)!important;}
.res-stat   {border-left-color:var(--xp-c);}
.res-stash  {border-left-color:var(--orange);}

.box-res-icon{font-size:20px;flex-shrink:0;margin-top:1px;}
.box-res-label{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:2px;color:var(--txt3);margin-bottom:2px;
}
.box-res-text{font-family:'Rajdhani',sans-serif;font-size:14px;font-weight:600;color:var(--txthi);}
.res-special .box-res-text{color:var(--red);}
.res-cash    .box-res-text{color:var(--green);}
.res-stat    .box-res-text{color:var(--xp-c);}

.box-footer{display:flex;gap:10px;margin-top:4px;}
.box-btn-again{
  flex:1;background:rgba(255,127,0,0.1);
  border:1px solid rgba(255,127,0,0.3);
  color:var(--orange);font-family:'Rajdhani',sans-serif;
  font-size:13px;font-weight:700;padding:10px 14px;
  cursor:pointer;letter-spacing:1px;transition:all 0.15s;
}
.box-btn-again:hover{background:rgba(255,127,0,0.2);}
.box-btn-close{
  background:var(--bg-deep);border:1px solid var(--border-hi);
  color:var(--txt);font-family:'Rajdhani',sans-serif;
  font-size:13px;font-weight:600;padding:10px 18px;
  cursor:pointer;letter-spacing:1px;transition:all 0.15s;
  flex-shrink:0;
}
.box-btn-close:hover{border-color:var(--green);color:var(--green);}

/* shake flash on win */
@keyframes case-win-flash{
  0%{box-shadow:0 0 0 rgba(255,127,0,0);}
  30%{box-shadow:0 0 30px rgba(255,127,0,0.5);}
  100%{box-shadow:0 0 0 rgba(255,127,0,0);}
}
.case-win-flash{ animation:case-win-flash 0.6s ease; }

/* =====================================================================
   BOX INDICATOR (TOP BAR)
===================================================================== */

.box-indicator{
  display:none;
  background:rgba(255,127,0,0.12);
  border:1px solid rgba(255,127,0,0.35);
  color:var(--orange);
  font-family:'Share Tech Mono',monospace;
  font-size:11px;letter-spacing:1px;
  padding:4px 12px;cursor:pointer;
  transition:all 0.15s;
  animation:sb-pulse 1.2s ease-in-out infinite;
}
.box-indicator.has-boxes{display:block;}
.box-indicator:hover{background:rgba(255,127,0,0.25);}

/* =====================================================================
   HOME SYSTEM (FLAT REDESIGN)
===================================================================== */

/* Home list */
.home-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}

.home-card{background:var(--bg-card);border:1px solid var(--border);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:border-color 0.15s;}
.home-card:hover{border-color:var(--border-hi);}

.home-owned{border-color:rgba(127,255,0,0.25);opacity:0.55;}
.home-locked{opacity:0.35;pointer-events:none;}
.home-buyable{cursor:default;}
.home-buyable:hover{border-color:var(--green);background:rgba(127,255,0,0.03);}

.home-name{font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;color:var(--txthi);margin-bottom:2px;}
.home-desc{font-size:11px;color:var(--txt2);margin-bottom:3px;}
.home-specs{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);letter-spacing:0.5px;}
.home-owned-tag{font-size:11px;color:var(--green);font-weight:400;}

.btn-home-buy{background:rgba(127,255,0,0.1);border:1px solid rgba(127,255,0,0.3);color:var(--green);font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;padding:8px 16px;cursor:pointer;letter-spacing:1px;white-space:nowrap;transition:all 0.12s;flex-shrink:0;}
.btn-home-buy:hover{background:rgba(127,255,0,0.2);}
.btn-home-poor{opacity:0.5;cursor:not-allowed!important;background:var(--bg-deep)!important;border-color:var(--border)!important;color:var(--txt3)!important;}
.btn-home-poor:hover{background:var(--bg-deep)!important;}
.home-need{display:block;font-size:9px;color:var(--red);font-weight:400;letter-spacing:0;margin-top:2px;}

/* Upgrade locked message */
.upg-locked-msg{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt3);margin-top:4px;padding:3px 6px;background:rgba(255,48,48,0.06);border:1px solid rgba(255,48,48,0.12);display:inline-block;}

/* Quality badges for dealing table */
.quality-badge{font-family:'Share Tech Mono',monospace;font-size:11px;font-weight:700;padding:2px 6px;border-radius:2px;letter-spacing:0.5px;display:inline-block;}
.quality-low{color:#00ff88;background:rgba(0,255,136,0.10);border:1px solid rgba(0,255,136,0.30);}
.quality-below{color:#88ff44;background:rgba(136,255,68,0.08);border:1px solid rgba(136,255,68,0.20);}
.quality-avg{color:var(--txt2);background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);}
.quality-above{color:#ffaa33;background:rgba(255,170,51,0.10);border:1px solid rgba(255,170,51,0.30);}
.quality-high{color:#ff3344;background:rgba(255,51,68,0.10);border:1px solid rgba(255,51,68,0.30);}

/* Travel signal */
.td-signal{font-family:'Share Tech Mono',monospace;font-size:11px;}
.td-signal.sell{color:var(--green);}
.td-signal.buy{color:var(--red);}

/* =====================================================================
   HOME TOWN SELECTION (Creation Step 2)
   ===================================================================== */

.hometown-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

.hometown-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:14px 16px;
  cursor:pointer;
  transition:all 0.15s;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
}
.hometown-card:hover{border-color:var(--border-hi);background:var(--bg-hover);}
.hometown-card.selected{
  border-color:var(--green);
  background:rgba(127,255,0,0.04);
}

.ht-name{font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;color:var(--txthi);margin-bottom:3px;}
.ht-desc{font-size:11px;color:var(--txt2);line-height:1.5;margin-bottom:6px;}
.ht-buff{font-family:'Share Tech Mono',monospace;font-size:11px;color:var(--green);margin-bottom:2px;}
.ht-enemy{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--orange);}

.ht-selector{
  width:20px;height:20px;
  border:1px solid var(--border-hi);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all 0.15s;
}
.hometown-card.selected .ht-selector{
  background:var(--green);border-color:var(--green);color:#080b08;font-size:10px;
}
.hometown-card.selected .ht-selector::after{content:'\2713';}

/* =====================================================================
   ENCOUNTER MODAL
   ===================================================================== */

.encounter-overlay{
  z-index:700!important;
}

.encounter-box{
  background:var(--bg-panel);
  border:1px solid rgba(255,48,48,0.3);
  border-top:3px solid var(--red);
  padding:28px 24px 22px;
  max-width:400px;width:92%;
  text-align:center;
  animation:lu-in 0.25s ease;
}

.encounter-title{
  font-family:'Oswald',sans-serif;
  font-size:32px;font-weight:700;
  color:var(--red);letter-spacing:3px;
  margin-bottom:4px;
}

.encounter-sub{
  font-family:'Share Tech Mono',monospace;
  font-size:12px;color:var(--txt2);letter-spacing:1px;
  margin-bottom:20px;line-height:1.6;
}

.encounter-options{
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:16px;
}

.enc-btn{
  background:var(--bg-card);
  border:1px solid var(--border-hi);
  color:var(--txt);
  font-family:'Oswald',sans-serif;
  font-size:14px;font-weight:600;
  letter-spacing:2px;
  padding:12px 16px;
  cursor:pointer;
  transition:all 0.12s;
  display:flex;justify-content:space-between;align-items:center;
}
.enc-btn:hover{border-color:var(--green);color:var(--green);background:var(--bg-hover);}

.enc-pct{
  font-family:'Share Tech Mono',monospace;
  font-size:12px;color:var(--txt3);
  letter-spacing:0;
}

.encounter-result{
  font-family:'Share Tech Mono',monospace;
  font-size:12px;
  line-height:1.8;
  padding:12px;
  background:var(--bg-deep);
  border:1px solid var(--border);
  margin-bottom:14px;
  min-height:40px;
  display:none;
}

.enc-close-btn{
  background:var(--bg-deep);border:1px solid var(--border-hi);
  color:var(--txt);font-family:'Rajdhani',sans-serif;
  font-size:13px;font-weight:600;
  padding:8px 18px;cursor:pointer;letter-spacing:1px;
  transition:all 0.15s;margin:0 auto;
}
.enc-close-btn:hover{border-color:var(--green);color:var(--green);}

/* =====================================================================
   JD SPORTS SHOP
===================================================================== */

.jd-header-card{
  display:flex;align-items:center;gap:16px;
  background:var(--bg-card);
  border:1px solid rgba(212,196,0,0.25);
  border-left:4px solid var(--yellow);
  padding:14px 16px;margin-bottom:16px;
}
.jd-logo{
  font-family:'Oswald',sans-serif;font-size:32px;font-weight:700;
  color:var(--yellow);letter-spacing:-1px;flex-shrink:0;
  text-shadow:0 0 20px rgba(212,196,0,0.35);
}
.jd-shopname{
  font-family:'Oswald',sans-serif;font-size:16px;
  font-weight:700;color:var(--txthi);margin-bottom:2px;
}
.jd-tagline{
  font-family:'Share Tech Mono',monospace;font-size:10px;
  color:var(--txt3);letter-spacing:1px;
}
.jd-cash{
  margin-left:auto;font-family:'Share Tech Mono',monospace;
  font-size:16px;color:var(--green);flex-shrink:0;
}

.jd-slot-tabs{
  display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px;
}
.jd-tab{
  background:var(--bg-card);border:1px solid var(--border);
  color:var(--txt2);font-family:'Share Tech Mono',monospace;
  font-size:10px;letter-spacing:1px;padding:5px 10px;
  cursor:pointer;transition:all 0.12s;white-space:nowrap;
}
.jd-tab:hover{border-color:var(--yellow);color:var(--yellow);}
.jd-tab.active{border-color:var(--yellow);color:var(--yellow);background:rgba(212,196,0,0.07);}

.jd-shop-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(175px,1fr));
  gap:10px;
}
.jd-card{
  background:var(--bg-card);border:1px solid var(--border);
  padding:12px;display:flex;flex-direction:column;gap:5px;
  transition:border-color 0.15s;position:relative;
}
.jd-card:hover{border-color:var(--border-hi);}
.jd-card-on{border-color:rgba(127,255,0,0.4)!important;background:rgba(127,255,0,0.04)!important;}
.jd-card-owned{border-color:rgba(0,191,255,0.25)!important;}

.jd-card-tier{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:2px;padding:2px 6px;display:inline-block;
  width:fit-content;margin-bottom:2px;
}
.jd-card-name{font-family:'Oswald',sans-serif;font-size:14px;font-weight:600;color:var(--txthi);line-height:1.2;}
.jd-card-desc{font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--txt2);line-height:1.45;flex:1;}
.jd-card-stats{
  font-family:'Share Tech Mono',monospace;font-size:10px;color:var(--green);
  background:rgba(127,255,0,0.05);border:1px solid rgba(127,255,0,0.1);padding:3px 6px;
}
.jd-card-diff{
  font-family:'Share Tech Mono',monospace;font-size:10px;
  display:flex;gap:6px;flex-wrap:wrap;
  padding:3px 0;border-top:1px solid var(--border);
  margin-top:2px;
}
.jd-btn{
  font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:1px;padding:7px 10px;cursor:pointer;width:100%;
  transition:all 0.12s;margin-top:4px;border:1px solid transparent;
}
.jd-btn-equipped,.jd-btn-on{background:rgba(127,255,0,0.1);border-color:rgba(127,255,0,0.3);color:var(--green);cursor:default;}
.jd-btn-owned{background:rgba(127,255,0,0.06);border-color:rgba(127,255,0,0.2);color:var(--green);cursor:default;opacity:0.7;}
.jd-btn-equip{background:rgba(0,191,255,0.08);border-color:rgba(0,191,255,0.3);color:var(--blue);}

.jd-card-limited{
  border-color:rgba(212,196,0,0.4)!important;
  background:rgba(212,196,0,0.03)!important;
}
.jd-card-limited:hover{ border-color:var(--yellow)!important; }
.jd-limited-badge{
  background:rgba(212,196,0,0.15);
  border:1px solid rgba(212,196,0,0.4);
  color:var(--yellow);
  font-family:'Share Tech Mono',monospace;
  font-size:9px;letter-spacing:2px;
  padding:2px 7px;display:inline-block;
  width:fit-content;margin-bottom:2px;
}
.jd-btn-equip:hover{background:rgba(0,191,255,0.18);}
.jd-btn-buy{background:rgba(212,196,0,0.08);border-color:rgba(212,196,0,0.3);color:var(--yellow);}
.jd-btn-buy:hover{background:rgba(212,196,0,0.18);}
.jd-btn-poor{opacity:0.45;cursor:not-allowed!important;background:var(--bg-deep)!important;border-color:var(--border)!important;color:var(--txt3)!important;}

/* =====================================================================
   AVATAR-CENTRED INVENTORY — MY GEAR TAB (inv2)
===================================================================== */

/* Outer wrap — fills the tab-pane */
.inv2-wrap{
  display:flex;flex-direction:column;
  height:100%;position:relative;
  overflow:hidden;
}

/* Top bar */
.inv2-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px 8px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.inv2-identity{}
.inv2-name{
  font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;
  color:var(--green);letter-spacing:2px;line-height:1;
}
.inv2-title{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:3px;color:var(--txt3);margin-top:2px;
}
.inv2-statstrip{
  display:flex;gap:10px;align-items:center;
}
.inv2-stat-chip{
  display:flex;flex-direction:column;align-items:center;gap:1px;
}
.inv2-sc-lbl{
  font-family:'Share Tech Mono',monospace;font-size:8px;
  letter-spacing:1px;color:var(--txt3);
}
.inv2-sc-val{
  font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;
  line-height:1;
}
.inv2-sc-bonus{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  color:var(--green);margin-left:2px;
}

/* Main arena: left slots | avatar | right slots */
.inv2-arena{
  display:flex;align-items:center;justify-content:center;
  flex:1;gap:0;
  padding:8px 0;
  min-height:0;
}

/* Slot columns */
.inv2-col{
  display:flex;flex-direction:column;gap:6px;
  width:150px;flex-shrink:0;padding:0 10px;
}
.inv2-col-left{ align-items:flex-end; }
.inv2-col-right{ align-items:flex-start; }

.inv2-slot{
  width:140px;
  background:var(--bg-card);
  border:1px solid var(--border);
  border-left:3px solid var(--border);
  padding:8px 10px;cursor:pointer;
  transition:all 0.12s;
  position:relative;
}
.inv2-col-left .inv2-slot{ border-left:3px solid var(--border); border-right:none; }
.inv2-col-right .inv2-slot{ border-right:3px solid var(--border); border-left:none; }
.inv2-slot:hover{
  background:var(--bg-hover);
  border-color:var(--orange)!important;
}
.inv2-slot-filled.inv2-col-left   > .inv2-slot,
.inv2-col-left   .inv2-slot.inv2-slot-filled{ border-left-color:var(--green)!important; }
.inv2-col-right  .inv2-slot.inv2-slot-filled{ border-right-color:var(--green)!important; }
.inv2-slot.inv2-slot-filled{ border-left-color:var(--green)!important; }
.inv2-col-right .inv2-slot.inv2-slot-filled{ border-left-color:var(--border)!important; border-right-color:var(--green)!important; }
.inv2-slot.inv2-slot-active{
  border-color:var(--orange)!important;
  background:rgba(255,127,0,0.07)!important;
  box-shadow:0 0 12px rgba(255,127,0,0.15);
}
.inv2-slot-icon{font-size:16px;line-height:1;margin-bottom:2px;}
.inv2-slot-lbl{
  font-family:'Share Tech Mono',monospace;font-size:8px;
  letter-spacing:1.5px;color:var(--txt3);margin-bottom:3px;
}
.inv2-slot-val{
  font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;
  color:var(--txt2);line-height:1.2;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:120px;
}
.inv2-slot-filled .inv2-slot-val{ color:var(--txthi); }

/* Connector lines (decorative, CSS only) */
.inv2-col-left .inv2-slot::after{
  content:'';position:absolute;right:-10px;top:50%;
  width:10px;height:1px;background:var(--border);
}
.inv2-col-right .inv2-slot::before{
  content:'';position:absolute;left:-10px;top:50%;
  width:10px;height:1px;background:var(--border);
}
.inv2-slot:hover::after,.inv2-slot:hover::before{ background:var(--orange); }

/* Avatar */
.inv2-avatar-wrap{
  position:relative;
  width:220px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.inv2-avatar-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 60%, rgba(127,255,0,0.06) 0%, transparent 70%);
  border:1px solid rgba(127,255,0,0.08);
  border-radius:4px;
}
.inv2-avatar-glow{
  position:absolute;bottom:0;left:10%;right:10%;height:40px;
  background:radial-gradient(ellipse at 50% 100%, rgba(127,255,0,0.15) 0%, transparent 70%);
  pointer-events:none;
}
.inv2-avatar-img{
  position:relative;z-index:1;
  width:180px;height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(127,255,0,0.2));
  image-rendering:auto;
}

/* ── SLOT POPUP ── */
.inv2-popup-overlay{
  display:none;
  position:absolute;inset:0;
  z-index:200;
  /* semi-transparent but not fully dark — just dims slightly */
  background:rgba(8,11,8,0.45);
}
.inv2-popup-overlay.open{ display:block; }

.inv2-popup{
  position:absolute;
  width:340px;
  max-height:calc(100% - 20px);
  background:var(--bg-panel);
  border:1px solid var(--border-hi);
  border-top:3px solid var(--orange);
  display:flex;flex-direction:column;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(0,0,0,0.6);
  animation:inv2-pop 0.18s cubic-bezier(0.2,0.8,0.3,1);
}
@keyframes inv2-pop{
  from{opacity:0;transform:scale(0.92) translateY(-6px);}
  to{opacity:1;transform:none;}
}

.inv2-popup-header{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.inv2-popup-slot-name{
  font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;
  color:var(--orange);letter-spacing:2px;flex:1;
}
.inv2-popup-equipped-lbl{
  font-family:'Share Tech Mono',monospace;font-size:8px;
  letter-spacing:1px;color:var(--txt3);
}
.inv2-popup-equipped-val{
  font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:600;
  color:var(--txthi);max-width:120px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.inv2-popup-close{
  background:transparent;border:1px solid var(--border);
  color:var(--txt3);font-size:12px;width:22px;height:22px;
  cursor:pointer;flex-shrink:0;transition:all 0.1s;
  display:flex;align-items:center;justify-content:center;
}
.inv2-popup-close:hover{border-color:var(--red);color:var(--red);}

.inv2-popup-grid{
  overflow-y:auto;padding:10px;
  display:flex;flex-direction:column;gap:7px;
}
.inv2-popup-grid::-webkit-scrollbar{width:2px;}
.inv2-popup-grid::-webkit-scrollbar-thumb{background:var(--border-hi);}

.inv2-section-lbl{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  letter-spacing:3px;color:var(--txt3);padding:2px 0;
  border-bottom:1px solid var(--border);margin-bottom:2px;
}

.inv2-card{
  background:var(--bg-card);
  border:1px solid var(--border);
  padding:10px;display:flex;flex-direction:column;gap:4px;
  transition:border-color 0.12s;
  border-left:3px solid var(--border);
}
.inv2-card:hover{ border-color:var(--border-hi); }
.inv2-card-on{
  border-left-color:var(--green)!important;
  background:rgba(127,255,0,0.04)!important;
}
.inv2-card-owned{ border-left-color:rgba(0,191,255,0.4)!important; }
.tier-border-1{ border-left-color:var(--txt3)!important; }
.tier-border-2{ border-left-color:var(--blue)!important; }
.tier-border-3{ border-left-color:var(--yellow)!important; }
.tier-border-4{ border-left-color:var(--red)!important; }
.inv2-card-on{ border-left-color:var(--green)!important; }

.inv2-card-tier{
  font-family:'Share Tech Mono',monospace;font-size:8px;
  letter-spacing:2px;padding:1px 5px;
  display:inline-block;width:fit-content;margin-bottom:1px;
}
.inv2-card-name{
  font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;
  color:var(--txthi);line-height:1.2;
}
.inv2-card-desc{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  color:var(--txt2);line-height:1.5;
}
.inv2-card-stats{
  font-family:'Share Tech Mono',monospace;font-size:9px;color:var(--green);
  background:rgba(127,255,0,0.05);border:1px solid rgba(127,255,0,0.1);
  padding:2px 6px;
}
.inv2-card-diff{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  display:flex;gap:6px;flex-wrap:wrap;padding-top:2px;
}

.inv2-btn{
  font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:700;
  letter-spacing:1px;padding:6px 10px;cursor:pointer;
  border:1px solid transparent;transition:all 0.1s;
  margin-top:2px;
}
.inv2-btn-on{
  background:rgba(127,255,0,0.08);border-color:rgba(127,255,0,0.25);
  color:var(--green);cursor:default;
}
.inv2-btn-equip{
  background:rgba(0,191,255,0.08);border-color:rgba(0,191,255,0.25);color:var(--blue);
}
.inv2-btn-equip:hover{background:rgba(0,191,255,0.18);}
.inv2-btn-buy{
  background:rgba(212,196,0,0.08);border-color:rgba(212,196,0,0.25);color:var(--yellow);
}
.inv2-btn-buy:hover{background:rgba(212,196,0,0.18);}
.inv2-btn-poor{
  background:var(--bg-deep);border-color:var(--border);
  color:var(--txt3);cursor:not-allowed;opacity:0.5;
}
.inv2-empty{
  font-family:'Share Tech Mono',monospace;font-size:10px;
  color:var(--txt3);padding:16px;text-align:center;line-height:1.8;
}
.inv2-jd-nudge{
  font-family:'Share Tech Mono',monospace;font-size:9px;
  color:var(--txt3);text-align:center;
  padding:8px;margin-top:4px;
  border-top:1px solid var(--border);
  letter-spacing:0.5px;
}

.terr-locked{
  opacity:0.55;
  border-style:dashed!important;
  border-color:var(--border)!important;
}
.terr-locked .btn-conquer:disabled{
  background:transparent;
  border-color:var(--border);
  color:var(--txt3);
  cursor:not-allowed;
  font-size:10px;
  letter-spacing:1px;
}

/* =====================================================================
   LOCKED TRAVEL CITY
===================================================================== */
.travel-locked{
  opacity:0.4!important;
  cursor:not-allowed!important;
  pointer-events:none;
}
