﻿* { margin:0; padding:0; box-sizing:border-box; user-select:none; }
  html, body {
    height:100%; width:100%;
    font-family: 'Impact', 'Arial Black', sans-serif;
    background:#000; color:#fff; overflow:hidden;
  }
  #stage {
    position:fixed; inset:0;
    display:flex; align-items:center; justify-content:center;
    background:#000;
  }
  /* ============ MAIN MENU ============ */
  #menuScreen {
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse at 50% 30%, rgba(255,140,0,0.25), transparent 60%),
      radial-gradient(ellipse at 80% 80%, rgba(80,0,120,0.45), transparent 60%),
      linear-gradient(180deg,#0a0a0f 0%, #1a0a1e 60%, #000 100%);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:18px;
    padding:38px 24px 92px;
    overflow:hidden;
  }
  #menuScreen .skyline {
    position:absolute; bottom:-8px; left:50%;
    width:min(100%, 1600px);
    height:min(56vh, 600px);
    transform:translateX(-50%);
    pointer-events:none;
  }
  .titleWrap {
    position:relative; z-index:5;
    text-align:center;
    margin-bottom:10px;
  }
  .gameTitle {
    font-size:74px; font-weight:900;
    letter-spacing:3px;
    background: linear-gradient(180deg, #fff8c4 0%, #ffb300 35%, #b35a00 70%, #6b2c00 100%);
    -webkit-background-clip:text; background-clip:text;
    color:transparent;
    text-shadow:
      0 0 30px rgba(255,160,0,0.45),
      4px 4px 0 rgba(0,0,0,0.6);
    filter: drop-shadow(0 6px 0 rgba(0,0,0,0.55));
    line-height:1;
  }
  .subTitle {
    font-size:24px; letter-spacing:6px;
    color:#ff7a1a; margin-top:6px;
    text-shadow: 0 2px 0 #000, 0 0 14px rgba(255,100,0,0.5);
    font-family:'Georgia','Times New Roman',serif; font-style:italic;
  }
  .ratingBadge {
    display:inline-block;
    margin-top:14px; padding:6px 14px;
    border:3px solid #fff; border-radius:6px;
    background:rgba(0,0,0,0.5);
    font-size:14px; letter-spacing:4px;
  }
  .menuBtns {
    display:flex; flex-direction:column; gap:14px;
    z-index:5; margin-top:10px;
  }
  .menuBtn {
    width:340px; padding:16px 24px;
    font-size:24px; letter-spacing:3px;
    font-family:'Impact','Arial Black',sans-serif;
    background: linear-gradient(180deg,#2a2a30 0%, #0e0e12 100%);
    color:#ffcc66; border:2px solid #6b4a1a;
    border-radius:4px;
    cursor:pointer;
    text-shadow: 0 2px 0 #000;
    transition: all .15s;
    box-shadow: 0 4px 0 #000, inset 0 1px 0 rgba(255,255,255,0.1);
  }
  .menuBtn:hover {
    background: linear-gradient(180deg,#ff9a2a 0%, #a04a00 100%);
    color:#fff; border-color:#fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 0 #000, 0 0 22px rgba(255,160,0,0.55);
  }
  .menuFooter {
    position:absolute; bottom:14px; width:100%;
    text-align:center;
    font-size:12px; letter-spacing:3px;
    color:#888; font-family:Arial,sans-serif;
    z-index:5;
  }
  /* ============ MODAL ============ */
  .modal {
    position:absolute; inset:0;
    background:rgba(0,0,0,0.82);
    display:flex; align-items:center; justify-content:center;
    z-index:50;
  }
  .modalBox {
    width: min(720px, 92%);
    max-height: 86vh;
    background: linear-gradient(180deg,#1a1410 0%, #0a0606 100%);
    border:2px solid #b07a2c;
    border-radius:8px;
    padding:24px 30px;
    overflow-y:auto;
    box-shadow: 0 0 60px rgba(255,140,0,0.35);
  }
  .modalBox h2 {
    font-size:36px; letter-spacing:3px;
    color:#ffb84d; text-align:center;
    margin-bottom:16px;
    text-shadow: 0 2px 0 #000;
  }
  .modalBox p, .modalBox li {
    font-family:'Georgia',serif; font-size:16px;
    color:#e9d7b8; line-height:1.6;
    margin-bottom:8px;
  }
  .modalBox ul { padding-left:22px; }
  .modalBox .closeBtn {
    display:block; margin: 18px auto 0;
    padding:10px 28px; font-size:18px; letter-spacing:2px;
    background:#7a2a00; color:#fff;
    border:2px solid #ffb84d; border-radius:4px;
    cursor:pointer; font-family:'Impact',sans-serif;
  }
  .modalBox .closeBtn:hover { background:#c14b00; }

  /* ============ GAME UI ============ */
  #gameScreen {
    position:absolute; inset:0;
    display:none;
    background:#0a0a0d;
    color:#fff;
    font-family: Arial, sans-serif;
  }
  #topBar {
    position:absolute; top:0; left:0; right:0; height:62px;
    background: linear-gradient(180deg,#1a1410 0%, #0a0706 100%);
    border-bottom:2px solid #b07a2c;
    display:flex; align-items:center;
    padding:0 16px;
    z-index:10;
  }
  .stat {
    display:flex; align-items:center; gap:8px;
    padding: 0 16px;
    border-right:1px solid #3a2a1a;
    height:100%;
  }
  .stat:last-child { border-right:none; }
  .stat .label {
    font-size:11px; letter-spacing:2px;
    color:#9a7a4a; text-transform:uppercase;
    font-family:'Impact',sans-serif;
  }
  .stat .value {
    font-size:22px; font-weight:900;
    color:#ffd380;
    font-family:'Impact',sans-serif;
    letter-spacing:1px;
  }
  .stat.cash .value { color:#7fff8a; }
  .stat.respect .value { color:#ff6699; }
  .stat.heat .value { color:#ff5530; }
  .stat svg { width:34px; height:34px; }

  #mainArea {
    position:absolute; top:62px; left:0; right:300px; bottom:0;
    overflow:hidden;
  }
  #sideBar {
    position:absolute; top:62px; right:0; width:300px; bottom:0;
    background: linear-gradient(180deg,#15100c 0%, #0a0706 100%);
    border-left:2px solid #b07a2c;
    padding:14px;
    overflow-y:auto;
  }
  .panel {
    background: rgba(0,0,0,0.45);
    border:1px solid #4a3a22;
    border-radius:6px;
    padding:12px; margin-bottom:12px;
  }
  .panel h3 {
    font-family:'Impact',sans-serif;
    font-size:18px; letter-spacing:2px;
    color:#ffb84d; margin-bottom:10px;
    border-bottom:1px solid #4a3a22; padding-bottom:6px;
  }
  .invItem {
    display:flex; align-items:center; justify-content:space-between;
    padding:6px 4px;
    border-bottom: 1px dashed #2a2018;
    font-size:13px;
  }
  .invItem:last-child { border-bottom:none; }
  .invItem .name { color:#e9d7b8; }
  .invItem .qty {
    background:#3a2a1a; color:#ffd380;
    padding:1px 10px; border-radius:10px;
    font-weight:900;
  }
  .crewLine {
    font-size:13px; color:#e9d7b8;
    display:flex; justify-content:space-between;
    padding:3px 0;
  }

  /* Center map / location buttons */
  .locGrid {
    position:absolute; inset:0;
    padding:18px;
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap:14px;
  }
  .locCard {
    position:relative;
    border-radius:10px;
    overflow:hidden;
    cursor:pointer;
    border:2px solid #3a2a1a;
    transition: all .15s;
    background:#000;
  }
  .locCard:hover {
    border-color:#ffb84d;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255,140,0,0.35);
  }
  .locCard svg {
    width:100%; height:100%;
    display:block;
  }
  .locCard .sceneVisual {
    width:100%;
    height:100%;
    display:block;
  }
  .locLabel {
    position:absolute; bottom:0; left:0; right:0;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.85) 60%);
    padding:14px 12px 10px;
    pointer-events:none;
  }
  .locLabel .locName {
    font-family:'Impact',sans-serif;
    font-size:22px; letter-spacing:2px; color:#fff;
    text-shadow:0 2px 0 #000;
  }
  .locLabel .locTier {
    font-size:11px; color:#ffb84d; letter-spacing:2px;
    margin-top:2px;
  }
  .locLock {
    position:absolute; inset:0;
    background: rgba(0,0,0,0.75);
    display:flex; align-items:center; justify-content:center;
    flex-direction:column;
    color:#ff8855;
    font-family:'Impact',sans-serif;
    font-size:18px; letter-spacing:2px;
    text-align:center;
    padding:10px;
  }

  /* Location detail screen */
  .locDetail {
    position:absolute; inset:0;
    display:none;
    flex-direction:column;
  }
  .locDetail.active { display:flex; }
  .locBg {
    position:absolute; inset:0;
    z-index:0;
  }
  .locBg svg { width:100%; height:100%; display:block; }
  .locBg .sceneVisual { width:100%; height:100%; display:block; }
  .sceneVisual {
    position:relative;
    overflow:hidden;
    background:#040404;
    --scene-position:center center;
    --scene-filter:saturate(1.02) contrast(1.04) brightness(0.9);
    --scene-scale:1;
    --scene-glow:rgba(255,184,77,0.12);
  }
  .sceneVisual img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:var(--scene-position);
    display:block;
    filter:var(--scene-filter);
    transform:scale(var(--scene-scale));
  }
  .sceneShade,
  .sceneFrame {
    position:absolute;
    inset:0;
    pointer-events:none;
  }
  .sceneShade {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.02) 36%, rgba(0,0,0,0.64) 100%),
      radial-gradient(circle at 50% 20%, var(--scene-glow) 0%, transparent 44%),
      linear-gradient(115deg, rgba(255,255,255,0.08) 0%, transparent 28%, rgba(0,0,0,0.18) 100%);
  }
  .sceneFrame {
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,0.05),
      inset 0 -44px 60px rgba(0,0,0,0.24),
      inset 0 0 24px rgba(0,0,0,0.18);
  }
  .locBg .sceneShade {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.14) 0%, rgba(0,0,0,0.06) 30%, rgba(0,0,0,0.72) 100%),
      radial-gradient(circle at 50% 18%, var(--scene-glow) 0%, transparent 48%);
  }
  .locBg .sceneFrame {
    box-shadow:none;
  }
  .locOverlay {
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(0,0,0,0.0) 30%, rgba(0,0,0,0.85) 100%);
    z-index:1;
  }
  .locContent {
    position:relative; z-index:2;
    margin-top:auto;
    padding:18px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) 320px;
    gap:18px;
    align-items:end;
  }
  .locTitle {
    font-family:'Impact',sans-serif;
    font-size:38px; letter-spacing:3px; color:#fff;
    text-shadow: 0 3px 0 #000, 0 0 20px rgba(0,0,0,0.8);
  }
  .locQuote {
    color:#e9d7b8;
    font-style:italic;
    font-family:Georgia,serif;
    max-width:700px;
  }
  .locMetaBar {
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    color:#bba788;
    font-size:13px;
    letter-spacing:.4px;
  }
  .sellStage {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .sellStack {
    display:grid;
    gap:12px;
  }
  .sellPanel {
    background: linear-gradient(180deg, rgba(18,12,10,0.92) 0%, rgba(8,5,5,0.94) 100%);
    border:1px solid rgba(176,122,44,0.9);
    border-radius:10px;
    box-shadow: 0 16px 28px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.06);
    padding:12px;
    backdrop-filter: blur(2px);
  }
  .sellPanelEyebrow {
    color:#ffb84d;
    font-family:'Impact',sans-serif;
    font-size:11px;
    letter-spacing:2px;
  }
  .sellPanelTitle {
    color:#f7dfb0;
    font-family:'Impact',sans-serif;
    font-size:20px;
    letter-spacing:1px;
    margin-top:3px;
  }
  .actionRow {
    display:flex; gap:10px; flex-wrap:wrap;
  }
  .sellActionRow {
    max-width:920px;
  }
  .sellInventoryList {
    display:grid;
    gap:7px;
    margin-top:10px;
  }
  .sellInvRow {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:8px 10px;
    border:1px solid rgba(74,58,34,0.9);
    border-radius:8px;
    background: rgba(255,255,255,0.03);
  }
  .sellInvName {
    min-width:0;
    font-size:13px;
    letter-spacing:.3px;
  }
  .sellInvQty {
    min-width:34px;
    text-align:center;
    padding:3px 10px;
    border-radius:999px;
    background:#3a2a1a;
    color:#ffd380;
    font-family:'Impact',sans-serif;
    font-size:14px;
    letter-spacing:1px;
  }
  .sellIntel {
    margin-top:12px;
    padding-top:10px;
    border-top:1px dashed rgba(176,122,44,0.45);
  }
  .sellIntelLabel {
    color:#9a7a4a;
    font-family:'Impact',sans-serif;
    font-size:11px;
    letter-spacing:2px;
    margin-bottom:6px;
  }
  .sellIntelText {
    color:#e9d7b8;
    font-size:12px;
    line-height:1.5;
  }
  .sellIntel-good .sellIntelText { color:#9aff9a; }
  .sellIntel-bad .sellIntelText { color:#ff7a55; }
  .sellIntel-epic .sellIntelText { color:#ffd166; }
  .sellEmpty {
    color:#ff7a55;
    font-style:italic;
    font-size:13px;
    line-height:1.5;
  }
  .actionBtn {
    padding:12px 18px;
    background: linear-gradient(180deg,#3a2a1a 0%, #1a0e06 100%);
    color:#ffd380;
    border:2px solid #b07a2c;
    border-radius:4px;
    font-family:'Impact',sans-serif;
    font-size:18px; letter-spacing:2px;
    cursor:pointer;
    transition: all .12s;
    text-shadow: 0 2px 0 #000;
  }
  .actionBtn:hover {
    background: linear-gradient(180deg,#ff9a2a 0%, #a04a00 100%);
    color:#fff;
  }
  .actionBtn.danger { border-color:#a83018; color:#ff8866; }
  .actionBtn.danger:hover { background: linear-gradient(180deg,#c12c00 0%, #5a0e00 100%); color:#fff; }
  .actionBtn.cash { border-color:#2a9a3a; color:#9aff9a; }
  .actionBtn.cash:hover { background: linear-gradient(180deg,#2a8a3a 0%, #0e3a16 100%); color:#fff; }
  .backBtn {
    position:absolute; top:14px; left:14px;
    z-index:5;
    padding:8px 16px;
    background: rgba(0,0,0,0.75);
    color:#ffb84d;
    border:2px solid #b07a2c;
    border-radius:4px;
    cursor:pointer;
    font-family:'Impact',sans-serif; font-size:16px; letter-spacing:2px;
  }
  .backBtn:hover { background:#b07a2c; color:#fff; }

  .cardVisual,
  .shopCard svg {
    width:100%;
    height:150px;
    display:block;
    background:#000;
  }
  .photoCard,
  .customerPortrait {
    position:relative;
    overflow:hidden;
    border-radius:8px;
    --photo-position:center center;
    --photo-filter:saturate(1.04) contrast(1.04);
    --photo-scale:1;
    background:
      radial-gradient(circle at 50% 35%, rgba(255,184,77,0.18) 0%, transparent 60%),
      linear-gradient(180deg, #110d10 0%, #040404 100%);
    border:1px solid rgba(255,255,255,0.06);
    box-shadow:
      0 16px 30px rgba(0,0,0,0.34),
      inset 0 1px 0 rgba(255,255,255,0.05);
  }
  .photoCard::before,
  .customerPortrait::before {
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.03) 16%, transparent 34%),
      radial-gradient(circle at 50% 120%, rgba(0,0,0,0.42) 0%, transparent 56%);
    opacity:0.62;
  }
  .photoCard img,
  .customerPortrait img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:var(--photo-position);
    display:block;
    filter: var(--photo-filter);
    transform: scale(var(--photo-scale));
    transition: transform .24s ease, filter .24s ease;
  }
  .photoCard.peopleCard img {
    filter: var(--photo-filter) contrast(1.06);
  }
  .photoCard.vehicleCard,
  .photoCard.propertyCard {
    border-color:rgba(255,255,255,0.1);
    box-shadow:
      0 20px 34px rgba(0,0,0,0.38),
      inset 0 1px 0 rgba(255,255,255,0.06),
      0 0 0 1px rgba(255,184,77,0.08);
  }
  .photoCard.vehicleCard img {
    transform: scale(calc(var(--photo-scale) + 0.02));
  }
  .photoCard.propertyCard img {
    transform: scale(calc(var(--photo-scale) + 0.015));
  }
  .photoShade,
  .photoFrame {
    position:absolute;
    inset:0;
    pointer-events:none;
  }
  .photoShade {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.14) 0%, rgba(0,0,0,0) 35%, rgba(0,0,0,0.52) 100%),
      radial-gradient(circle at 50% 30%, rgba(255,255,255,0.12) 0%, transparent 50%);
  }
  .photoCard.vehicleCard .photoShade {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,0.64) 100%),
      linear-gradient(120deg, rgba(76,128,255,0.12) 0%, transparent 34%, rgba(255,140,0,0.08) 100%),
      radial-gradient(circle at 50% 18%, rgba(255,255,255,0.16) 0%, transparent 44%);
  }
  .photoCard.propertyCard .photoShade {
    background:
      linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0.66) 100%),
      linear-gradient(180deg, rgba(255,210,125,0.08) 0%, transparent 24%, transparent 76%, rgba(50,20,6,0.28) 100%),
      radial-gradient(circle at 50% 26%, rgba(255,255,255,0.14) 0%, transparent 50%);
  }
  .photoFrame {
    border:1px solid rgba(255,255,255,0.08);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.32);
  }
  .photoCard.vehicleCard .photoFrame,
  .photoCard.propertyCard .photoFrame {
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,0.03),
      inset 0 0 28px rgba(0,0,0,0.28),
      inset 0 -24px 34px rgba(0,0,0,0.22);
  }
  .photoBadge {
    position:absolute;
    top:10px;
    left:10px;
    padding:4px 9px;
    border-radius:999px;
    background:rgba(0,0,0,0.7);
    border:1px solid rgba(255,255,255,0.1);
    color:#f7dfb0;
    font-family:'Impact',sans-serif;
    font-size:11px;
    letter-spacing:1px;
  }
  .photoLabel {
    position:absolute;
    left:10px;
    right:10px;
    bottom:10px;
    color:#fff3d4;
    font-family:'Impact',sans-serif;
    font-size:18px;
    letter-spacing:1px;
    text-shadow:0 2px 0 #000;
  }
  .photoCard.vehicleCard .photoLabel,
  .photoCard.propertyCard .photoLabel {
    font-size:17px;
    letter-spacing:1.2px;
    text-shadow:0 2px 0 #000, 0 0 14px rgba(0,0,0,0.5);
  }
  .sellCustomerPanel .customerPortrait {
    height:196px;
    margin-top:10px;
  }
  .customerCopy {
    margin-top:10px;
    color:#e9d7b8;
    font-size:13px;
    line-height:1.55;
  }

  /* Event log */
  #eventLog {
    position:absolute; bottom:14px; left:14px;
    width: 380px; max-height: 180px;
    background: rgba(0,0,0,0.75);
    border:1px solid #4a3a22;
    border-radius:6px;
    padding:8px 10px;
    overflow-y:auto;
    z-index:8;
    pointer-events:none;
  }
  #gameScreen[data-view="location"] #eventLog {
    display:none;
  }
  .logLine {
    font-size:12px;
    color:#e9d7b8;
    padding:3px 0;
    border-bottom:1px dashed #2a2018;
    font-family: 'Courier New', monospace;
  }
  .logLine:last-child { border-bottom:none; }
  .logLine.good { color:#9aff9a; }
  .logLine.bad { color:#ff7a55; }
  .logLine.epic { color:#ffd166; font-weight:bold; }

  /* Shop list */
  .shopGrid {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap:14px;
  }
  .shopCard {
    background: linear-gradient(180deg,#1a140e 0%, #0a0606 100%);
    border:2px solid #4a3a22;
    border-radius:8px;
    overflow:hidden;
    display:flex; flex-direction:column;
  }
  .shopCard:hover { border-color:#ffb84d; }
  .shopCard .shopBody { padding:10px 12px; }
  .shopCard .shopName {
    font-family:'Impact',sans-serif; font-size:20px;
    color:#ffd380; letter-spacing:2px;
  }
  .shopCard .shopDesc {
    font-size:12px; color:#bba788; margin:4px 0 8px; min-height:32px;
  }
  .shopCard .shopPrice {
    display:flex; align-items:center; justify-content:space-between;
    font-family:'Impact',sans-serif;
    color:#9aff9a; font-size:18px;
  }
  .shopCard .shopActions {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .shopCard button {
    padding:6px 12px;
    background:#2a8a3a; color:#fff;
    border:1px solid #6aff8a; border-radius:4px;
    cursor:pointer; font-family:'Impact',sans-serif; letter-spacing:2px;
  }
  .shopCard button:hover { background:#4ab84e; }
  .shopCard button.fireBtn {
    background:#6a1e16;
    border-color:#ff8866;
  }
  .shopCard button.fireBtn:hover { background:#a83018; }
  .shopCard button:disabled { background:#333; color:#888; border-color:#555; cursor:not-allowed; }
  .shopCard.owned { border-color:#2a9a3a; }
  .shopCard.owned::after {
    content:'OWNED'; position:absolute;
    top:8px; right:8px;
    background:#2a9a3a; color:#fff;
    padding:2px 8px; border-radius:4px;
    font-family:'Impact',sans-serif; font-size:12px;
  }
  .shopCard { position:relative; }

  /* Floating popup */
  .floatPop {
    position:absolute;
    font-family:'Impact',sans-serif;
    font-size:30px; letter-spacing:2px;
    pointer-events:none;
    animation: floatUp 1.5s ease-out forwards;
    z-index: 100;
    text-shadow: 0 3px 0 #000;
  }
  @keyframes floatUp {
    0% { transform: translateY(0); opacity: 0; }
    20% { opacity: 1; }
    100% { transform: translateY(-100px); opacity: 0; }
  }

  /* COP CHASE */
  .copAlert {
    position:absolute; inset:0;
    background:
      repeating-linear-gradient(45deg, rgba(255,0,0,0.18) 0 30px, rgba(0,0,255,0.18) 30px 60px);
    z-index:30;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    animation: copFlash .6s infinite alternate;
  }
  @keyframes copFlash {
    0% { filter: hue-rotate(0deg) brightness(1); }
    100% { filter: hue-rotate(60deg) brightness(1.3); }
  }
  .copAlert .copMsg {
    background:#000; padding:20px 40px;
    border:4px solid #fff;
    font-family:'Impact',sans-serif; font-size:48px; letter-spacing:6px;
    color:#ff3030;
    text-shadow:0 0 16px #ff5500;
    margin-bottom:20px;
  }

  /* GAME OVER */
  .gameOver {
    position:absolute; inset:0;
    background: radial-gradient(ellipse, rgba(120,0,0,0.7), rgba(0,0,0,0.95));
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    z-index:60;
  }
  .gameOver h1 {
    font-family:'Impact',sans-serif;
    font-size:96px; letter-spacing:8px;
    color:#ff3030; text-shadow: 0 4px 0 #000, 0 0 40px #ff0000;
    margin-bottom:20px;
  }
  .gameOverActions {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    justify-content:center;
  }

  /* Scroll for sidebar */
  ::-webkit-scrollbar { width:8px; }
  ::-webkit-scrollbar-track { background: #1a1410; }
  ::-webkit-scrollbar-thumb { background: #5a3a1a; border-radius:4px; }

  /* Heat meter */
  .heatBar {
    width:80px; height:10px;
    background: #1a0a06;
    border:1px solid #4a3a22; border-radius:5px;
    overflow:hidden;
    margin-left:6px;
  }
  .heatBar > div {
    height:100%;
    background: linear-gradient(90deg,#ff8800,#ff0000);
    transition: width .3s;
  }

  /* Tier label colors */
  .tier-low { color:#9aff9a; }
  .tier-mid { color:#ffd380; }
  .tier-high { color:#ff7a99; }
  .tier-elite { color:#c08aff; }

  @media (max-width: 1260px) {
    .locContent {
      grid-template-columns:1fr;
    }
    .sellStack {
      grid-template-columns:repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 980px) {
    .sellStack {
      grid-template-columns:1fr;
    }
  }
