body.page-drugwars .wrap { max-width:960px; }
body.page-drugwars { --dw-price:var(--c-gold); }
html[data-theme="light"] body.page-drugwars { --dw-price:var(--c-blue); }

.page-head { padding:2.5rem 0 1.2rem; }
.hl { background:var(--c-purple); }

/* ---------- Stats bar ---------- */
.dw-stats {
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:0.8rem;
  margin-bottom:1.6rem;
}
.stat {
  background:var(--win);
  border:2.5px solid var(--ink);
  border-radius:var(--radius);
  box-shadow:4px 4px 0 var(--shadow);
  padding:0.75rem 0.85rem;
}
.stat .k {
  font-family:var(--mono);
  font-size:0.6rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.stat .v {
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:-0.02em;
  margin-top:2px;
  color:var(--text-hi);
}
.stat--warn .v { color:var(--c-red); }

.win { margin-bottom:1.6rem; }
.win-body { padding:1.3rem 1.4rem 1.4rem; }
.dw-win-title { font-size:0.95rem; font-weight:700; margin-bottom:0.9rem; }
.dw-hint {
  margin-top:0.9rem;
  font-family:var(--mono);
  font-size:0.72rem;
  color:var(--text-dim);
  line-height:1.6;
}

/* ---------- Buttons ---------- */
.btn {
  font-size:0.82rem;
  color:var(--text-hi);
  border-radius:8px;
  padding:0.4rem 0.85rem;
  box-shadow:3px 3px 0 var(--ink);
  background:var(--win-2);
}
.btn:hover { transform:translate(1px,1px); box-shadow:2px 2px 0 var(--ink); }
.btn:active { transform:translate(3px,3px); box-shadow:0 0 0 var(--ink); }
.btn:disabled { opacity:0.45; cursor:not-allowed; transform:none; box-shadow:3px 3px 0 var(--ink); }
.btn-sm { font-size:0.74rem; padding:0.35rem 0.7rem; }
.dw-actions { display:flex; flex-direction:column; gap:0.55rem; }
.dw-actions .btn { width:100%; justify-content:center; }

/* ---------- Market table ---------- */
.dw-table-wrap { overflow-x:auto; }
.dw-table {
  width:100%;
  border-collapse:collapse;
  font-size:0.88rem;
}
.dw-table th,
.dw-table td {
  padding:0.55rem 0.65rem;
  border-bottom:2px solid var(--ink);
  text-align:left;
  vertical-align:middle;
}
.dw-table th {
  font-family:var(--mono);
  font-size:0.64rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--text-dim);
  background:var(--bg-accent);
}
.dw-drug-name { font-weight:700; }
.dw-price { font-family:var(--mono); font-weight:600; color:var(--dw-price); }
.dw-action-cell { white-space:nowrap; }
.dw-qty-input {
  width:52px;
  border:2px solid var(--ink);
  border-radius:6px;
  background:var(--win-2);
  color:var(--text-hi);
  font-family:var(--mono);
  font-size:0.78rem;
  padding:0.25rem 0.4rem;
  margin-right:0.35rem;
  outline:none;
}
.dw-qty-input:focus { border-color:var(--c-purple); }
.dw-drug-row:hover { background:var(--bg-accent); }

/* ---------- Inventory + actions grid ---------- */
.dw-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.6rem;
}
.dw-inv-item {
  display:flex;
  justify-content:space-between;
  padding:0.45rem 0;
  border-bottom:2px solid var(--ink);
  font-size:0.9rem;
}
.dw-inv-item:last-child { border-bottom:none; }
.dw-inv-price { font-family:var(--mono); color:var(--dw-price); }
.dw-inv-empty { color:var(--text-dim); font-size:0.88rem; }
.dw-inv-foot {
  margin-top:0.8rem;
  font-family:var(--mono);
  font-size:0.72rem;
  color:var(--text-dim);
}

/* ---------- Travel ---------- */
.dw-travel-btns { display:flex; flex-wrap:wrap; gap:0.5rem; }
.btn-loc { min-width:8.5rem; justify-content:center; }
.btn-loc--here,
.btn-loc--here:disabled {
  background:var(--c-purple);
  color:var(--pill-text);
  opacity:1;
  cursor:default;
  font-weight:700;
}
.btn-loc--here:hover,
.btn-loc--here:active {
  transform:none;
  box-shadow:3px 3px 0 var(--ink);
}

/* ---------- Event log ---------- */
.dw-log {
  height:150px;
  overflow-y:auto;
  background:var(--win-2);
  border:2.5px solid var(--ink);
  border-radius:8px;
  padding:0.75rem 0.9rem;
  font-family:var(--mono);
  font-size:0.76rem;
  line-height:1.55;
}
.dw-log-line { margin:0.2rem 0; }
.dw-log-line.good { color:var(--c-green); }
.dw-log-line.bad { color:var(--c-red); }
.dw-log-line.neutral { color:var(--text-mid); }

/* ---------- End screen ---------- */
.dw-end { text-align:center; }
.dw-end h2 { font-size:1.8rem; font-weight:800; margin-bottom:1rem; }
.dw-end-stats { font-size:1rem; color:var(--text-mid); line-height:1.8; margin-bottom:1rem; }
.dw-end-score { font-size:1.35rem; font-weight:800; color:var(--dw-price); margin-bottom:1.2rem; }
.dw-new-high {
  display:inline-block;
  margin-top:0.4rem;
  font-family:var(--mono);
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--c-green);
}
.dw-end-note { font-family:var(--mono); font-size:0.72rem; color:var(--text-dim); margin-top:1rem; }

/* ---------- Shop modal ---------- */
.dw-modal-overlay {
  position:fixed;
  inset:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  background:color-mix(in srgb, var(--bg) 55%, transparent);
}
.dw-modal { max-width:420px; width:100%; margin:0; }
.dw-modal .titlebar { background:var(--c-purple); }
.dw-modal .titlebar .dot-close { background:#fff; border-color:#0a0a0a; }
.dw-modal .titlebar .tname { color:#0c1322; font-weight:700; }
.dw-modal-intro { color:var(--text-mid); margin-bottom:1rem; }
.dw-shop-item {
  padding:0.9rem;
  margin-bottom:0.8rem;
  border:2px solid var(--ink);
  border-radius:8px;
  background:var(--bg-accent);
}
.dw-shop-name { font-weight:700; margin-bottom:0.25rem; }
.dw-shop-desc { font-size:0.85rem; color:var(--text-mid); margin-bottom:0.6rem; }
.dw-modal-actions { text-align:center; margin-top:0.5rem; }

body.page-drugwars .footbar { margin-top:1.4rem; }

@media (max-width:720px){
  .dw-stats { grid-template-columns:repeat(3, 1fr); }
  .dw-split { grid-template-columns:1fr; }
}

@media (max-width:560px){
  .dw-stats { grid-template-columns:repeat(2, 1fr); }
  .dw-table { font-size:0.8rem; }
  .dw-qty-input { width:44px; }
}