/* ════════════════════════════════════════════════════
   DUNGEON GUIDE — COMPLETE STYLESHEET
   Dark Fantasy Premium UI · Real FiveM Server Assets
   ════════════════════════════════════════════════════ */
:root {
  --bg-base:      #080b12;
  --bg-card:      #0f1420;
  --bg-card2:     #141926;
  --bg-hover:     #1a2034;
  --border:       #242d47;
  --border-glow:  rgba(100,140,255,0.4);

  --accent:       #7b9fff;
  --accent2:      #a78bfa;
  --gold:         #f5c842;
  --green:        #4ade80;
  --red:          #f87171;
  --orange:       #fb923c;
  --cyan:         #22d3ee;
  --purple:       #c084fc;

  --rank-f:   #9ca3af;
  --rank-e:   #22d3ee;
  --rank-d:   #a78bfa;
  --rank-c:   #4ade80;
  --rank-b:   #fbbf24;
  --rank-boss:#f87171;

  --text-1:   #eef2ff;
  --text-2:   #a8b4d0;
  --text-3:   #5a6888;

  --font: 'Outfit', 'Leelawadee UI', 'Segoe UI', 'Noto Sans Thai', Tahoma, system-ui, sans-serif;
  --radius: 12px;
  --radius-lg: 18px;
  --shadow: 0 8px 32px rgba(0,0,0,0.6);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--bg-base);color:var(--text-1);min-height:100vh;overflow-x:hidden;}

/* ── HEADER ──────────────────────────────────────────── */
.site-header{position:sticky;top:0;z-index:100;background:rgba(8,11,18,0.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);box-shadow:0 4px 40px rgba(0,0,0,0.6);}
.header-inner{max-width:1600px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;min-height:68px;}
.logo-group{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo-img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(123,159,255,0.7));animation:logoPulse 3s ease-in-out infinite;}
@keyframes logoPulse{0%,100%{filter:drop-shadow(0 0 10px rgba(123,159,255,0.5));}50%{filter:drop-shadow(0 0 22px rgba(123,159,255,0.9));}}
.site-title{font-size:21px;font-weight:800;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.site-sub{font-size:11px;color:var(--text-3);margin-top:2px;}

/* ── FLOOR SELECTOR ──────────────────────────────────── */
.floor-selector{display:flex;gap:6px;background:rgba(15,20,32,0.8);padding:4px;border-radius:10px;border:1px solid var(--border);box-shadow:inset 0 2px 6px rgba(0,0,0,0.4);}
.floor-btn{cursor:pointer;padding:7px 15px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--text-2);font-family:var(--font);font-size:13px;font-weight:600;transition:all 0.2s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;gap:6px;}
.floor-btn:hover{color:var(--text-1);background:rgba(255,255,255,0.06);}
.floor-btn.active{background:linear-gradient(135deg,rgba(123,159,255,0.25),rgba(167,139,250,0.2));border-color:var(--accent);color:var(--accent);font-weight:700;box-shadow:0 0 14px rgba(123,159,255,0.28);}

/* ── TAB NAV ─────────────────────────────────────────── */
.tab-nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;}
.tab-btn{cursor:pointer;padding:8px 18px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-2);font-family:var(--font);font-size:14px;font-weight:500;transition:all 0.2s;}
.tab-btn:hover{background:var(--bg-card);color:var(--text-1);border-color:var(--border);}
.tab-btn.active{background:linear-gradient(135deg,rgba(123,159,255,0.2),rgba(167,139,250,0.15));border-color:var(--accent);color:var(--accent);font-weight:600;box-shadow:0 0 14px rgba(123,159,255,0.2);}

/* ── MAIN ─────────────────────────────────────────────── */
.main-content{max-width:1600px;margin:0 auto;padding:28px 24px 80px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeIn 0.3s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ── SECTION HEADER ──────────────────────────────────── */
.section-header{margin-bottom:22px;}
.section-title{font-size:24px;font-weight:800;background:linear-gradient(90deg,var(--text-1),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px;}
.section-desc{font-size:13px;color:var(--text-3);}

/* ── TOOLBAR ─────────────────────────────────────────── */
.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:20px;}
.search-wrap{position:relative;flex:1;min-width:240px;max-width:440px;}
.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:15px;pointer-events:none;}
.search-input{width:100%;padding:10px 14px 10px 38px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:var(--text-1);font-family:var(--font);font-size:14px;outline:none;transition:border-color 0.2s,box-shadow 0.2s;}
.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(123,159,255,0.15);}
.search-input::placeholder{color:var(--text-3);}
.filter-group{display:flex;gap:6px;flex-wrap:wrap;}
.filter-btn{cursor:pointer;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);font-family:var(--font);font-size:13px;font-weight:500;transition:all 0.18s;}
.filter-btn:hover{border-color:var(--accent);color:var(--text-1);}
.filter-btn.active{background:linear-gradient(135deg,rgba(123,159,255,0.22),rgba(167,139,250,0.16));border-color:var(--accent);color:var(--accent);font-weight:700;}

/* Rank badges */
.rank-badge{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:100px;letter-spacing:0.5px;}
.rank-F{background:rgba(156,163,175,0.18);color:var(--rank-f);border:1px solid rgba(156,163,175,0.35);}
.rank-E{background:rgba(34,211,238,0.14);color:var(--rank-e);border:1px solid rgba(34,211,238,0.38);}
.rank-D{background:rgba(167,139,250,0.16);color:var(--rank-d);border:1px solid rgba(167,139,250,0.45);}
.rank-C{background:rgba(74,222,128,0.14);color:var(--rank-c);border:1px solid rgba(74,222,128,0.38);}
.rank-B{background:rgba(251,191,36,0.18);color:var(--rank-b);border:1px solid rgba(251,191,36,0.45);}
.rank-A{background:rgba(244,63,94,0.18);color:#f43f5e;border:1px solid rgba(244,63,94,0.45);}
.rank-S{background:rgba(236,72,153,0.18);color:#ec4899;border:1px solid rgba(236,72,153,0.45);}
.rank-BOSS{background:rgba(248,113,113,0.2);color:var(--rank-boss);border:1px solid rgba(248,113,113,0.5);}

/* ════════════════════════════════════════════════════
   TAB 1 — INTERACTIVE REAL MAP
   ════════════════════════════════════════════════════ */
.map-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px;}
.map-legend{display:flex;gap:14px;align-items:center;margin-left:auto;}
.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);font-weight:600;}
.legend-dot{width:12px;height:12px;border-radius:50%;}
.rank-F-dot{background:var(--rank-f);box-shadow:0 0 6px var(--rank-f);}
.rank-E-dot{background:var(--rank-e);box-shadow:0 0 6px var(--rank-e);}
.rank-D-dot{background:var(--rank-d);box-shadow:0 0 6px var(--rank-d);}
.rank-C-dot{background:var(--rank-c);box-shadow:0 0 6px var(--rank-c);}
.rank-B-dot{background:var(--rank-b);box-shadow:0 0 6px var(--rank-b);}
.rank-BOSS-dot{background:var(--rank-boss);box-shadow:0 0 8px var(--rank-boss);}

.map-layout{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start;}
@media(max-width:1150px){.map-layout{grid-template-columns:1fr;}}

.map-wrap{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--border);
  background:#0b0f19;
  line-height:0;
  aspect-ratio:1024/768;
  box-shadow:0 12px 40px rgba(0,0,0,0.75);
}
#dungeonMap{display:block;width:100%;height:100%;position:absolute;top:0;left:0;}

.map-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;}

/* ── Interactive Zone Pin Markers ────────────────────── */
.zone-pin-wrap {
  position: absolute;
  transform: translate(-50%, -50%);
  pointer-events: all;
  cursor: pointer;
  z-index: 15;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), z-index 0s;
}
.zone-pin-wrap:hover {
  transform: translate(-50%, -50%) scale(1.22);
  z-index: 50;
}
.zone-pin-wrap.selected {
  transform: translate(-50%, -50%) scale(1.25);
  z-index: 45;
}
.zone-pin-wrap.hidden {
  opacity: 0.12;
  pointer-events: none;
  filter: grayscale(1);
}

/* ── Multi-Mob Pin Cluster (Neat capsule containing all zone mobs) ── */
.pin-cluster {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(10, 14, 24, 0.94);
  border: 2px solid var(--rank-f);
  border-radius: 999px;
  padding: 3px 6px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.85);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s, border-color 0.2s;
}

/* Rank-specific borders & glows */
.rank-F-cluster { border-color: var(--rank-f); box-shadow: 0 0 10px rgba(156,163,175,0.4); }
.rank-E-cluster { border-color: var(--rank-e); box-shadow: 0 0 12px rgba(34,211,238,0.45); }
.rank-D-cluster { border-color: var(--rank-d); box-shadow: 0 0 14px rgba(167,139,250,0.5); }
.rank-C-cluster { border-color: var(--rank-c); box-shadow: 0 0 14px rgba(74,222,128,0.5); }
.rank-B-cluster { border-color: var(--rank-b); box-shadow: 0 0 14px rgba(251,191,36,0.55); }

/* Boss Cluster Frame */
.boss-cluster {
  border-width: 3px;
  border-color: var(--rank-boss);
  box-shadow: 0 0 20px rgba(248,113,113,0.85), 0 0 35px rgba(248,113,113,0.4);
  animation: bossPulse 2.2s ease-in-out infinite;
  padding: 4px 8px;
}
@keyframes bossPulse {
  0%, 100% {
    box-shadow: 0 0 14px rgba(248,113,113,0.7), 0 4px 16px rgba(0,0,0,0.9);
  }
  50% {
    box-shadow: 0 0 26px rgba(248,113,113,1), 0 0 40px rgba(248,113,113,0.55), 0 4px 18px rgba(0,0,0,0.9);
  }
}

/* Unit Avatar inside Cluster */
.pin-avatar-unit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  transition: transform 0.15s ease;
}
.boss-cluster .pin-avatar-unit {
  width: 44px;
  height: 44px;
}

.pin-unit-img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  border-radius: 50%;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.6));
}
.boss-cluster .pin-unit-img {
  width: 38px;
  height: 38px;
}

/* Unit Monster Count Badge (×N) */
.pin-unit-count {
  position: absolute;
  bottom: -3px;
  right: -4px;
  background: var(--gold);
  color: #0b0f19;
  font-size: 8.5px;
  font-weight: 900;
  line-height: 1;
  padding: 1.5px 4px;
  border-radius: 999px;
  border: 1px solid #080b12;
  box-shadow: 0 1px 4px rgba(0,0,0,0.8);
  pointer-events: none;
}

/* Selected Pin Ring */
.zone-pin-wrap.selected .pin-cluster {
  border-color: #ffffff !important;
  box-shadow: 0 0 22px rgba(255, 255, 255, 0.95), 0 0 35px var(--accent) !important;
}

/* Level Tag under Cluster */
.pin-lv-tag {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(10, 14, 24, 0.95);
  color: #e2e8f0;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  padding: 2px 6px;
  border-radius: 6px;
  border: 1px solid var(--border);
  box-shadow: 0 2px 8px rgba(0,0,0,0.7);
  pointer-events: none;
}
.boss-pin .pin-lv-tag {
  color: var(--rank-boss);
  border-color: rgba(248,113,113,0.4);
  background: rgba(24, 10, 14, 0.95);
  font-weight: 800;
}

/* ── Zone Hover Tooltip Card ─────────────────────────── */
.zone-hover-card {
  position: absolute;
  bottom: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 220px;
  background: #0d121f;
  border: 1px solid var(--border-glow);
  border-radius: 12px;
  padding: 12px 14px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.85);
  z-index: 60;
}
.zone-pin-wrap:hover .zone-hover-card {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.tip-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.tip-zone-title {
  font-size: 13px;
  font-weight: 800;
  color: var(--text-1);
}
.tip-mobs-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.tip-mob-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.tip-mob-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}
.tip-mob-name {
  color: var(--text-1);
  font-weight: 600;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tip-mob-lv {
  color: var(--text-3);
  font-size: 11px;
}
.tip-mob-cnt {
  color: var(--gold);
  font-weight: 800;
  font-size: 11px;
}
.tip-cta {
  font-size: 11px;
  color: var(--accent);
  text-align: center;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed rgba(123, 159, 255, 0.2);
}

/* ── Right Zone Details Panel ────────────────────────── */
.zone-panel {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px;
  min-height: 360px;
  overflow-y: auto;
  max-height: 768px;
  box-shadow: var(--shadow);
}
.zone-panel-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 320px;
  gap: 12px;
  color: var(--text-3);
  font-size: 14px;
  text-align: center;
}
.zone-panel-hint::before {
  content: '🗺️';
  font-size: 52px;
}

.zone-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.zone-detail-title {
  font-size: 19px;
  font-weight: 800;
  color: var(--text-1);
}
.zone-detail-sub {
  font-size: 12px;
  color: var(--text-3);
  margin-top: 2px;
}

/* Zone Summary Bar (Replaced raw FiveM coordinates) */
.zone-detail-summary-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}
.summary-item {
  background: var(--bg-card2);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.summary-lbl {
  font-size: 10.5px;
  color: var(--text-3);
  font-weight: 500;
}
.summary-val {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--text-1);
}

.zone-mobs-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}
.zone-mob-entry {
  padding: 14px;
  background: var(--bg-card2);
  border: 1px solid var(--border);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.18s ease;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.zone-mob-entry:hover {
  border-color: var(--accent);
  background: var(--bg-hover);
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
.zone-mob-header-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.zone-mob-img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  background: rgba(0,0,0,0.5);
  border-radius: 8px;
  border: 1px solid var(--border);
  flex-shrink: 0;
}
.zone-mob-text {
  flex: 1;
  min-width: 0;
}
.zone-mob-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-1);
  line-height: 1.3;
}
.zone-mob-meta {
  font-size: 11.5px;
  color: var(--text-2);
  margin-top: 3px;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.zone-mob-count {
  font-size: 13px;
  font-weight: 800;
  color: var(--gold);
  background: rgba(245,200,66,0.12);
  border: 1px solid rgba(245,200,66,0.3);
  border-radius: 6px;
  padding: 3px 8px;
  flex-shrink: 0;
}

/* ♻️ Highlighted Salvage Box inside Zone Mob Card */
.zone-salvage-box {
  background: rgba(10, 16, 26, 0.85);
  border: 1px solid rgba(74, 222, 128, 0.25);
  border-radius: 8px;
  padding: 10px 12px;
  margin-top: 4px;
}
.z-salvage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.z-salvage-title {
  font-size: 11.5px;
  font-weight: 700;
  color: #4ade80;
}
.zone-salvage-use {
  display: flex;
  gap: 6px;
  font-size: 11.5px;
  line-height: 1.45;
  background: rgba(123, 159, 255, 0.07);
  border-left: 3px solid var(--accent);
  border-radius: 0 6px 6px 0;
  padding: 6px 10px;
  margin-top: 8px;
}
.z-use-tag {
  color: var(--accent);
  font-weight: 700;
  flex-shrink: 0;
}
.z-use-val {
  color: var(--text-1);
}

.zone-other-drops-row {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.z-other-lbl {
  font-size: 11px;
  color: var(--text-3);
  font-weight: 600;
}
.zone-mob-drops-preview {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.zone-drop-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  background: rgba(255,255,255,0.03);
  border: 1px solid;
  border-radius: 6px;
  padding: 2px 7px;
}
.zone-drop-mini-img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

/* ════════════════════════════════════════════════════
   TAB 2 — DROP TABLES WITH ABILITIES & STATS
   ════════════════════════════════════════════════════ */
.drop-list{display:flex;flex-direction:column;gap:20px;}
.drop-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color 0.2s;}
.drop-card.hidden{display:none;}
.drop-card:hover{border-color:var(--border-glow);}

.drop-card-header{
  padding:16px 22px;display:flex;align-items:center;gap:16px;
  background:linear-gradient(135deg,rgba(123,159,255,0.06),transparent);
  border-bottom:1px solid transparent;cursor:pointer;user-select:none;transition:background 0.15s;
}
.drop-card-header:hover{background:linear-gradient(135deg,rgba(123,159,255,0.1),transparent);}
.drop-card.open .drop-card-header{border-bottom-color:var(--border);}

.mob-portrait-img{width:56px;height:56px;object-fit:contain;background:rgba(0,0,0,0.5);border-radius:12px;border:1px solid var(--border);flex-shrink:0;}
.drop-mob-info{flex:1;min-width:0;}
.drop-mob-title-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.drop-mob-name{font-size:18px;font-weight:800;color:var(--text-1);}
.drop-mob-en{font-size:12px;color:var(--text-3);}
.drop-mob-meta{font-size:12px;color:var(--text-2);margin-top:4px;display:flex;gap:12px;flex-wrap:wrap;}
.drop-mob-zones{font-size:11px;color:var(--accent);margin-top:4px;}

.drop-count-badge{font-size:12px;font-weight:600;color:var(--text-2);background:var(--bg-card2);border:1px solid var(--border);border-radius:8px;padding:5px 12px;flex-shrink:0;}
.chevron{font-size:14px;color:var(--text-3);transition:transform 0.2s;flex-shrink:0;}
.drop-card.open .chevron{transform:rotate(180deg);}

.drop-items-grid{
  display:none;
  grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
  gap:14px;
  padding:20px;
  background:rgba(0,0,0,0.2);
}
.drop-card.open .drop-items-grid{display:grid;}

/* Drop Item Card */
.drop-item-card{
  background:var(--bg-card2);
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:all 0.18s ease;
  position:relative;
}
.drop-item-card:hover{
  border-color:var(--border-glow);
  background:var(--bg-hover);
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,0.5);
}
.drop-item-card.hidden{display:none;}

.drop-item-top{display:flex;gap:12px;align-items:flex-start;}
.item-img-box{
  width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;background:rgba(0,0,0,0.5);border-radius:10px;border:1px solid var(--border);
}
.item-img-box img{width:42px;height:42px;object-fit:contain;}
.item-header-info{flex:1;min-width:0;}
.item-category-tag{font-size:10px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.6px;margin-bottom:2px;}
.item-name{font-size:14px;font-weight:700;color:var(--text-1);margin-bottom:5px;line-height:1.3;}

.item-chance-row{display:flex;align-items:center;gap:8px;}
.item-chance{font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;}
.chance-100{background:rgba(74,222,128,0.18);color:var(--green);border:1px solid rgba(74,222,128,0.3);}
.chance-high{background:rgba(34,211,238,0.18);color:var(--cyan);border:1px solid rgba(34,211,238,0.3);}
.chance-mid{background:rgba(167,139,250,0.18);color:var(--purple);border:1px solid rgba(167,139,250,0.3);}
.chance-low{background:rgba(245,200,66,0.18);color:var(--gold);border:1px solid rgba(245,200,66,0.3);}
.chance-rare{background:rgba(248,113,113,0.18);color:var(--red);border:1px solid rgba(248,113,113,0.3);}
.item-count-badge{font-size:10px;color:var(--text-3);}

/* Item Ability & Stats High-Visibility Box */
.item-ability-box{
  border-radius:8px;
  padding:9px 12px;
  font-size:12px;
  line-height:1.45;
}
.ability-title{font-size:11px;font-weight:700;letter-spacing:0.4px;margin-bottom:3px;}
.ability-body{font-weight:600;}

.ability-accessory{
  background:rgba(245,200,66,0.09);
  border:1px solid rgba(245,200,66,0.32);
  color:#fef08a;
}
.ability-accessory .ability-title{color:var(--gold);}

.ability-weapon{
  background:rgba(34,211,238,0.09);
  border:1px solid rgba(34,211,238,0.32);
  color:#cffafe;
}
.ability-weapon .ability-title{color:var(--cyan);}

.ability-armor{
  background:rgba(167,139,250,0.09);
  border:1px solid rgba(167,139,250,0.32);
  color:#e9d5ff;
}
.ability-armor .ability-title{color:var(--accent2);}

.ability-card{
  background:rgba(192,132,252,0.12);
  border:1px solid rgba(192,132,252,0.45);
  color:#f3e8ff;
  box-shadow:0 0 14px rgba(192,132,252,0.15);
}
.ability-card .ability-title{color:var(--purple);}

.ability-default{
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border);
  color:var(--text-2);
}
.ability-default .ability-title{color:var(--text-1);}

/* ── Trade Association Salvage Box (Hero) ────────────── */
.salvage-hero-box {
  background: rgba(74, 222, 128, 0.08);
  border: 1px solid rgba(74, 222, 128, 0.32);
  border-radius: 9px;
  padding: 10px 12px;
}
.salvage-hero-title {
  font-size: 11.5px;
  font-weight: 700;
  color: #4ade80;
  margin-bottom: 6px;
}

/* ── Salvage Chips Grid ──────────────────────────────── */
.salvage-yield-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.salvage-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(14, 20, 32, 0.95);
  border: 1px solid rgba(123, 159, 255, 0.28);
  border-radius: 7px;
  padding: 4px 10px;
  font-size: 12px;
}
.salvage-chip-img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.4);
  flex-shrink: 0;
}
.salvage-chip .chip-name {
  color: var(--text-1);
  font-weight: 600;
}
.salvage-chip .chip-rate {
  font-size: 10.5px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
}
.chip-rate.rate-100 {
  background: rgba(74, 222, 128, 0.2);
  color: #4ade80;
  border: 1px solid rgba(74, 222, 128, 0.4);
}
.chip-rate.rate-high {
  background: rgba(34, 211, 238, 0.2);
  color: #22d3ee;
  border: 1px solid rgba(34, 211, 238, 0.4);
}
.chip-rate.rate-mid {
  background: rgba(245, 200, 66, 0.2);
  color: #f5c842;
  border: 1px solid rgba(245, 200, 66, 0.4);
}
.chip-rate.rate-low {
  background: rgba(167, 139, 250, 0.2);
  color: #a78bfa;
  border: 1px solid rgba(167, 139, 250, 0.4);
}

/* ── Purpose / Usage Box ─────────────────────────────── */
.item-purpose-box {
  background: rgba(123, 159, 255, 0.07);
  border-left: 3.5px solid var(--accent);
  border-radius: 0 8px 8px 0;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.5;
}
.purpose-label {
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 2px;
}
.purpose-text {
  color: var(--text-1);
  font-weight: 500;
}

.modal-meta-pill {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-2);
  background: var(--bg-card2);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 2px 8px;
}

/* ════════════════════════════════════════════════════
   TAB — CARD CODEX (สารานุกรมการ์ดมอนสเตอร์)
   ════════════════════════════════════════════════════ */
.card-stats-banner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}
.card-stat-box {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: all 0.2s ease;
}
.card-stat-box:hover {
  border-color: var(--border-glow);
  transform: translateY(-2px);
}
.card-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  background: rgba(192, 132, 252, 0.12);
  border: 1px solid rgba(192, 132, 252, 0.3);
  flex-shrink: 0;
}
.card-stat-val {
  font-size: 20px;
  font-weight: 800;
  color: var(--text-1);
  line-height: 1.2;
}
.card-stat-lbl {
  font-size: 11.5px;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 2px;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 16px;
}

.codex-card-item {
  background: var(--bg-card);
  border: 1.5px solid var(--border);
  border-radius: 14px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: all 0.22s ease;
  position: relative;
}
.codex-card-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.65);
}
.codex-card-item.rank-BOSS {
  border-color: rgba(248, 113, 113, 0.6);
  box-shadow: 0 0 24px rgba(248, 113, 113, 0.18);
  background: linear-gradient(180deg, rgba(248, 113, 113, 0.05) 0%, var(--bg-card) 100%);
}
.codex-card-item.rank-B {
  border-color: rgba(251, 191, 36, 0.55);
  box-shadow: 0 0 16px rgba(251, 191, 36, 0.14);
  background: linear-gradient(180deg, rgba(251, 191, 36, 0.04) 0%, var(--bg-card) 100%);
}
.codex-card-item.rank-C {
  border-color: rgba(74, 222, 128, 0.45);
  box-shadow: 0 0 14px rgba(74, 222, 128, 0.1);
  background: linear-gradient(180deg, rgba(74, 222, 128, 0.03) 0%, var(--bg-card) 100%);
}
.codex-card-item.rank-D {
  border-color: rgba(167, 139, 250, 0.45);
}
.codex-card-item.rank-E {
  border-color: rgba(34, 211, 238, 0.45);
}
.codex-card-item.rank-F {
  border-color: rgba(156, 163, 175, 0.35);
}

.codex-card-header {
  display: flex;
  gap: 14px;
  align-items: center;
}
.codex-card-art {
  width: 58px;
  height: 58px;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.5);
  border: 1.5px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 4px;
}
.codex-card-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.codex-card-info {
  flex: 1;
  min-width: 0;
}
.codex-card-badges {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 4px;
  flex-wrap: wrap;
}
.codex-card-name {
  font-size: 15px;
  font-weight: 800;
  color: var(--text-1);
  line-height: 1.3;
}
.codex-card-source {
  font-size: 11.5px;
  color: var(--accent);
  margin-top: 3px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.codex-card-effect-box {
  background: rgba(192, 132, 252, 0.08);
  border: 1px solid rgba(192, 132, 252, 0.32);
  border-radius: 9px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.45;
  color: #f3e8ff;
}
.effect-box-title {
  font-size: 11px;
  font-weight: 700;
  color: #c084fc;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.effect-box-text {
  font-weight: 500;
  word-break: break-word;
}

.codex-card-lore {
  font-size: 11px;
  color: var(--text-3);
  line-height: 1.4;
  font-style: italic;
}

.codex-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 11.5px;
}
.codex-card-slot {
  color: var(--text-2);
  flex: 1;
  min-width: 0;
  word-break: break-word;
}
.codex-card-slot strong {
  color: var(--text-1);
}
.codex-mob-btn {
  background: rgba(123, 159, 255, 0.1);
  border: 1px solid rgba(123, 159, 255, 0.3);
  color: var(--accent);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s;
}
.codex-mob-btn:hover {
  background: rgba(123, 159, 255, 0.25);
  border-color: var(--accent);
  color: #fff;
}

/* ════════════════════════════════════════════════════
   TAB 3 — CRAFT
   ════════════════════════════════════════════════════ */
.craft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;}
.craft-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;transition:all 0.2s;}
.craft-card:hover{border-color:var(--border-glow);background:var(--bg-hover);transform:translateY(-2px);box-shadow:var(--shadow);}
.craft-card.hidden{display:none;}
.craft-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.craft-item-img{width:46px;height:46px;object-fit:contain;background:rgba(0,0,0,0.5);border-radius:8px;border:1px solid var(--border);flex-shrink:0;}
.craft-output-name{font-size:15px;font-weight:700;color:var(--text-1);}
.craft-item-stats{font-size:11px;color:var(--gold);margin-top:2px;font-weight:600;}
.craft-group-badge{font-size:10px;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,0.06);color:var(--text-2);border:1px solid var(--border);}

.craft-ing-title{font-size:10px;color:var(--text-3);font-weight:700;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:8px;}
.craft-ing-list{display:flex;flex-direction:column;gap:5px;}
.craft-ing-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:rgba(255,255,255,0.025);border-radius:6px;font-size:12px;color:var(--text-2);}
.craft-ing-img{width:28px;height:28px;object-fit:contain;border-radius:4px;flex-shrink:0;}
.craft-ing-name{flex:1;}
.craft-ing-qty{color:var(--gold);font-weight:700;min-width:28px;text-align:right;}

.craft-card.synth-card{border-color:rgba(167,139,250,0.3);}
.craft-card.synth-card .craft-output-name{color:var(--accent2);}
.forge-fp-badge{font-size:10px;padding:3px 9px;border-radius:6px;background:rgba(167,139,250,0.15);color:var(--accent2);border:1px solid rgba(167,139,250,0.35);font-weight:700;}

/* ════════════════════════════════════════════════════
   TAB 4 — REFINE
   ════════════════════════════════════════════════════ */
.refine-toggle-wrap{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;}
.refine-toggle{cursor:pointer;padding:12px 24px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-2);font-family:var(--font);font-size:14px;font-weight:600;transition:all 0.2s;display:flex;align-items:center;gap:10px;}
.toggle-icon{width:24px;height:24px;object-fit:contain;}
.refine-toggle:hover{border-color:var(--accent);color:var(--text-1);}
.refine-toggle.active{background:linear-gradient(135deg,rgba(123,159,255,0.2),rgba(167,139,250,0.15));border-color:var(--accent);color:var(--accent);box-shadow:0 0 16px rgba(123,159,255,0.25);}

.refine-info-wrap{display:flex;flex-direction:column;gap:26px;}
.refine-bonus-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.bonus-slot-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;}
.bonus-slot-title{font-size:11px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:8px;}
.bonus-slot-stat{font-size:12px;color:var(--text-2);padding:4px 0;border-bottom:1px solid rgba(255,255,255,0.04);display:flex;align-items:center;gap:6px;}
.bonus-slot-stat:last-child{border-bottom:none;}
.bonus-highlight{color:var(--gold);font-weight:600;}

.refine-table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);}
.refine-table{width:100%;border-collapse:collapse;font-size:13px;}
.refine-table th{background:var(--bg-card2);color:var(--text-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.6px;padding:14px 18px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;}
.refine-table td{padding:12px 18px;border-bottom:1px solid rgba(255,255,255,0.04);color:var(--text-1);vertical-align:middle;}
.refine-table tr:last-child td{border-bottom:none;}
.refine-table tr:hover td{background:rgba(123,159,255,0.04);}
.refine-table tr.checkpoint td{background:rgba(74,222,128,0.06);}
.refine-table tr.safe-zone td{background:rgba(34,211,238,0.03);}
.refine-table tr.post-checkpoint td{background:rgba(248,113,113,0.04);}

.level-badge{font-size:18px;font-weight:900;color:var(--gold);}
.success-bar-wrap{display:flex;align-items:center;gap:8px;}
.success-bar{height:6px;border-radius:100px;flex:1;min-width:60px;background:rgba(255,255,255,0.07);overflow:hidden;}
.success-bar-fill{height:100%;border-radius:100px;transition:width 0.5s ease;}
.bar-100{background:var(--green);}
.bar-high{background:var(--cyan);}
.bar-mid{background:var(--gold);}
.bar-low{background:var(--orange);}
.bar-vlow{background:var(--red);}
.success-pct{font-weight:700;min-width:40px;font-size:13px;}

.mat-cell{display:flex;align-items:center;gap:8px;}
.mat-img{width:28px;height:28px;object-fit:contain;}
.mat-tag{font-size:11px;font-weight:600;color:var(--accent2);}
.mat-tag.titan{color:var(--gold);}

.refine-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;}
.status-safe{background:rgba(34,211,238,0.12);color:var(--cyan);border:1px solid rgba(34,211,238,0.3);}
.status-normal{background:rgba(255,255,255,0.05);color:var(--text-3);border:1px solid var(--border);}
.status-checkpoint{background:rgba(74,222,128,0.12);color:var(--green);border:1px solid rgba(74,222,128,0.35);}
.status-danger{background:rgba(248,113,113,0.12);color:var(--red);border:1px solid rgba(248,113,113,0.35);}
.status-titan{background:rgba(245,200,66,0.12);color:var(--gold);border:1px solid rgba(245,200,66,0.35);}
.bonus-text{font-size:12px;color:var(--accent);font-weight:600;}

.sub-title{font-size:18px;font-weight:700;color:var(--text-1);margin-bottom:12px;}
.failure-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;}
.failure-card{background:var(--bg-card);border:1px solid rgba(248,113,113,0.25);border-radius:var(--radius);padding:16px;}
.failure-level-range{font-size:13px;font-weight:700;color:var(--red);margin-bottom:8px;}
.failure-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-2);padding:4px 0;}
.failure-row span:last-child{font-weight:700;color:var(--text-1);}

/* ══════════════════════════════════════════
   MODAL (Detailed Inspector)
   ══════════════════════════════════════════ */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.modal-overlay[hidden] { display: none !important; }

.modal-box {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-glow);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.95), 0 0 50px rgba(123, 159, 255, 0.25);
  max-width: 1280px;
  width: min(94vw, 1280px);
  max-height: 88vh;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 24px 28px;
  animation: slideUp 0.2s ease;
}

@keyframes slideUp {
  from { transform: translateY(15px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--bg-card2);
  color: var(--text-2);
  cursor: pointer;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  z-index: 10;
}
.modal-close:hover {
  background: rgba(248, 113, 113, 0.2);
  border-color: var(--red);
  color: var(--red);
}

/* ── 2-Column Balanced Modal Dashboard (Spacious, Large, High Readability) ── */
.modal-dashboard {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  width: 100%;
}

/* Left Column: Profile & Stats */
.modal-dash-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.dash-portrait-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--bg-card2);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 16px;
}

.dash-mob-img {
  width: 66px;
  height: 66px;
  object-fit: contain;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 12px;
  border: 2px solid var(--border-glow);
  flex-shrink: 0;
}

.dash-mob-identity {
  flex: 1;
  min-width: 0;
}

.dash-mob-name {
  font-size: 17px;
  font-weight: 800;
  color: var(--text-1);
  line-height: 1.3;
}

.dash-mob-en {
  font-size: 12px;
  color: var(--text-3);
  margin-top: 2px;
}

.dash-mob-badges {
  margin-top: 6px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.badge-element {
  font-size: 11px;
  font-weight: 600;
  color: var(--cyan);
  background: rgba(34, 211, 238, 0.12);
  border: 1px solid rgba(34, 211, 238, 0.35);
  padding: 2px 7px;
  border-radius: 6px;
}

/* 6-Stat Matrix */
.dash-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.dash-stat-item {
  background: var(--bg-card2);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 6px;
  text-align: center;
}

.d-stat-val {
  display: block;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--accent);
}

.d-stat-lbl {
  display: block;
  font-size: 10px;
  color: var(--text-3);
  text-transform: uppercase;
  margin-top: 2px;
}

/* Spawn Zones */
.dash-spawns-wrap {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 14px;
}

.dash-spawns-title {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--text-2);
  margin-bottom: 6px;
}

.dash-spawns-list {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.modal-zone-tag {
  cursor: pointer;
  font-size: 11px;
  color: var(--accent);
  background: rgba(123, 159, 255, 0.1);
  border: 1px solid rgba(123, 159, 255, 0.25);
  border-radius: 6px;
  padding: 3px 8px;
  transition: all 0.15s;
}

.modal-zone-tag:hover {
  background: rgba(123, 159, 255, 0.25);
  border-color: var(--accent);
}

/* Right Column: Drops, Salvage & Usage */
.modal-dash-right {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.dash-drops-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dash-drops-title {
  font-size: 14.5px;
  font-weight: 800;
  color: var(--text-1);
}

/* Featured Main Remain Salvage Card */
.dash-main-remain-card {
  background: rgba(10, 16, 26, 0.95);
  border: 1.5px solid rgba(74, 222, 128, 0.45);
  border-radius: 10px;
  padding: 12px 16px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
}

.remain-top-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.remain-img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 8px;
  border: 1.5px solid var(--border);
  flex-shrink: 0;
}

.remain-info {
  flex: 1;
  min-width: 0;
}

.remain-name {
  font-size: 14.5px;
  font-weight: 800;
  color: var(--text-1);
}

.remain-rate-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 2px;
}

.remain-tag {
  font-size: 11px;
  color: #4ade80;
  font-weight: 600;
}

.remain-salvage-body {
  margin-bottom: 8px;
}

.salvage-lbl {
  font-size: 11.5px;
  font-weight: 700;
  color: #4ade80;
  margin-bottom: 6px;
}

.remain-use-body {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 11.5px;
  line-height: 1.45;
  background: rgba(123, 159, 255, 0.08);
  border-left: 3px solid var(--accent);
  border-radius: 0 6px 6px 0;
  padding: 6px 10px;
  color: var(--text-1);
}

.r-use-icon {
  font-size: 12px;
  flex-shrink: 0;
  margin-top: 2px;
}

.r-use-text {
  flex: 1;
  word-break: break-word;
}

.r-use-text strong {
  color: var(--accent);
}

/* Other Drops 2-Column Compact Grid */
.dash-other-drops-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.dash-other-drops-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.dash-drop-chip {
  background: var(--bg-card2);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  transition: border-color 0.15s, background 0.15s;
}

.dash-drop-chip:hover {
  background: rgba(255, 255, 255, 0.03);
}

.drop-chip-top {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.drop-chip-img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 6px;
  padding: 2px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.drop-chip-text {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.drop-chip-name {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--text-1);
}

.drop-chip-meta {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-shrink: 0;
}

.drop-cat-lbl {
  font-size: 10px;
  color: var(--text-3);
}

.drop-chip-desc {
  font-size: 11px;
  color: var(--accent);
  font-weight: 600;
  line-height: 1.4;
  word-break: break-word;
}

.drop-chip-use {
  font-size: 10.5px;
  color: var(--text-2);
  line-height: 1.4;
  word-break: break-word;
}

.drop-chip-use strong {
  color: var(--accent);
}

/* ── FOOTER & SCROLLBAR ── */
.site-footer{text-align:center;padding:24px;color:var(--text-3);font-size:12px;border-top:1px solid var(--border);margin-top:40px;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-track{background:var(--bg-base);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--text-3);}

@media(max-width:768px){
  .header-inner{flex-direction:column;align-items:flex-start;padding:12px 16px;gap:10px;}
  .tab-nav{margin-left:0;width:100%;justify-content:flex-start;}
  .tab-btn{padding:8px 12px;font-size:13px;}
  .main-content{padding:18px 14px 60px;}
  .modal-dashboard{grid-template-columns:1fr;}
  .dash-other-drops-grid{grid-template-columns:1fr;}
  .drop-items-grid{grid-template-columns:1fr;}
  .map-controls{flex-direction:column;align-items:flex-start;}
  .map-legend{margin-left:0;}
}

/* ── BREAK SHIELD BADGE ── */
.break-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(248, 113, 113, 0.15);
  border: 1px solid rgba(248, 113, 113, 0.4);
  color: #fca5a5;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* ── EQUIPMENT SET CARDS (CRAFT TAB) ── */
.set-card {
  background: var(--bg-card);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  transition: all 0.25s ease;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.set-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
}
.set-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  padding-bottom: 12px;
}
.set-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.set-main-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border);
  padding: 4px;
  object-fit: contain;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.set-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-1);
}
.set-subtitle {
  font-size: 11px;
  color: var(--text-3);
  font-weight: 500;
  margin-top: 2px;
}
.set-tier-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(74, 222, 128, 0.15);
  color: var(--green);
  border: 1px solid rgba(74, 222, 128, 0.3);
  white-space: nowrap;
}
.set-pieces {
  font-size: 12px;
  color: var(--text-2);
  line-height: 1.5;
}
.set-piece-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 8px;
  margin-top: 6px;
}
.set-piece-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 8px 10px;
  transition: all 0.2s ease;
}
.set-piece-card:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
}
.set-piece-icon {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 2px;
  object-fit: contain;
  flex-shrink: 0;
}
.set-piece-info {
  flex: 1;
  min-width: 0;
}
.set-piece-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.set-piece-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: var(--text-3);
  margin-top: 2px;
}
.set-piece-slot-badge {
  font-size: 10px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(167, 139, 250, 0.15);
  color: var(--purple);
  border: 1px solid rgba(167, 139, 250, 0.3);
}
.set-piece-base {
  color: #94a3b8;
}
.set-piece-stat {
  font-size: 10.5px;
  color: var(--accent2);
  margin-top: 3px;
  line-height: 1.25;
  font-weight: 500;
}
.set-pieces-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.set-piece-tag {
  font-size: 11px;
  background: var(--bg-card2);
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid var(--border);
  color: var(--text-2);
}
.set-bonus-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: rgba(0, 0, 0, 0.25);
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}
.set-bonus-item {
  font-size: 12px;
  display: flex;
  gap: 8px;
  color: var(--text-2);
  line-height: 1.4;
}
.set-bonus-count {
  color: var(--gold);
  font-weight: 700;
  white-space: nowrap;
}
.set-bonus-desc {
  color: #cbd5e1;
}


/* ════════════════════════════════════════════════════
   v2026-10-24 — Monster Codex, Greyspace, Refine details
   ════════════════════════════════════════════════════ */
.footer-note{font-size:11px;color:var(--text-3);margin-top:4px;}

/* ── Monster Codex ─────────────────────────────────── */
.monster-summary{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
.monster-summary .ms-chip{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:12px;color:var(--text-2);}
.monster-summary .ms-chip b{color:var(--text-1);font-size:15px;}
.monster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px;}
.monster-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;position:relative;}
.monster-card:hover{transform:translateY(-3px);border-color:var(--border-glow);box-shadow:0 12px 34px rgba(0,0,0,.55);}
.monster-card .mc-art{height:150px;background:radial-gradient(circle at 50% 35%,rgba(123,159,255,.16),rgba(0,0,0,.55));display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border-bottom:1px solid var(--border);}
.monster-card .mc-art img{max-width:100%;max-height:145px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.65));}
.monster-card .mc-body{padding:12px 14px 14px;}
.monster-card .mc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.monster-card .mc-name{font-size:14px;font-weight:800;color:var(--text-1);line-height:1.25;}
.monster-card .mc-en{font-size:11px;color:var(--text-3);margin-top:2px;}
.monster-card .mc-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;font-size:11px;color:var(--text-2);}
.monster-card .mc-meta span{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:999px;padding:2px 7px;}
.monster-card .mc-desc{font-size:11px;line-height:1.45;color:var(--text-3);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.monster-card .mc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:11px;color:var(--text-3);}
.monster-card .mc-foot b{color:var(--accent);}
.monster-card.rank-BOSS{border-color:rgba(248,113,113,.35);}
.monster-card.rank-A{border-color:rgba(244,63,94,.3);}
.monster-card.rank-B{border-color:rgba(251,191,36,.28);}

/* ── Greyspace ─────────────────────────────────────── */
.gs-hero{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:22px;min-height:130px;background:linear-gradient(120deg,rgba(123,159,255,.14),rgba(167,139,250,.08),rgba(0,0,0,.4));padding:20px 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}
.gs-hero::after{content:'';position:absolute;inset:0;background:url('assets/dungeon_floor_02.webp') center/cover no-repeat;opacity:.13;pointer-events:none;}
.gs-hero>*{position:relative;z-index:1;}
.gs-hero h3{font-size:22px;font-weight:900;background:linear-gradient(90deg,#7b9fff,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.gs-hero p{font-size:13px;color:var(--text-2);max-width:720px;margin-top:6px;line-height:1.55;}
.gs-hero .gs-hero-stats{display:flex;gap:10px;flex-wrap:wrap;}
.gs-hero .gs-hero-stat{background:rgba(0,0,0,.4);border:1px solid var(--border);border-radius:10px;padding:9px 13px;text-align:center;min-width:86px;}
.gs-hero .gs-hero-stat b{display:block;font-size:18px;color:var(--gold);}
.gs-hero .gs-hero-stat span{font-size:10px;color:var(--text-3);}
.gs-diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;}
.gs-diff-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;position:relative;overflow:hidden;}
.gs-diff-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--diff-color,#4ade80);}
.gs-diff-card h4{font-size:15px;font-weight:800;color:var(--diff-color,#4ade80);}
.gs-diff-card .gs-diff-hp{font-size:24px;font-weight:900;color:var(--text-1);margin:8px 0 2px;}
.gs-diff-card .gs-diff-hp small{font-size:11px;color:var(--text-3);font-weight:500;}
.gs-diff-card .gs-diff-rows{margin-top:10px;display:grid;gap:5px;font-size:12px;color:var(--text-2);}
.gs-diff-card .gs-diff-rows div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed rgba(255,255,255,.06);padding-bottom:4px;}
.gs-diff-card .gs-diff-rows b{color:var(--text-1);}
.gs-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:16px;margin-bottom:26px;align-items:start;}
.gs-map-wrap,.gs-zone-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;}
.gs-map-title,.gs-zone-panel-head{font-size:13px;font-weight:800;color:var(--text-2);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;}
.gs-map-canvas-wrap{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#0a0d14;}
#gsMap{display:block;width:100%;height:auto;cursor:crosshair;}
.gs-map-legend{position:absolute;left:10px;bottom:10px;display:flex;gap:10px;background:rgba(8,11,18,.82);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-size:10px;color:var(--text-2);backdrop-filter:blur(6px);}
.gs-map-legend span{display:flex;align-items:center;gap:5px;}
.gs-map-legend i{width:8px;height:8px;border-radius:50%;display:inline-block;}
.gs-zone-detail{margin-top:12px;background:var(--bg-card2);border:1px solid var(--border);border-radius:12px;padding:12px;min-height:96px;font-size:12px;color:var(--text-2);line-height:1.5;}
.gs-zone-detail .gsd-title{font-size:14px;font-weight:800;color:var(--text-1);margin-bottom:4px;}
.gs-zone-detail .gsd-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.gs-zone-detail .gsd-tags span{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:2px 8px;font-size:10px;}
.gs-zone-detail .gsd-card{color:var(--gold);font-size:11px;margin-top:6px;}
.gs-zone-list{max-height:640px;overflow:auto;display:grid;gap:6px;padding-right:4px;}
.gs-zone-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:8px 10px;cursor:pointer;transition:all .15s;}
.gs-zone-row:hover{background:rgba(123,159,255,.1);border-color:rgba(123,159,255,.3);}
.gs-zone-row.active{background:rgba(123,159,255,.16);border-color:var(--accent);}
.gs-zone-row .gz-name{font-size:11px;font-weight:600;color:var(--text-1);line-height:1.3;}
.gs-zone-row .gz-sub{font-size:10px;color:var(--text-3);margin-top:2px;}
.gs-zone-row .gz-diff{font-size:9px;font-weight:800;padding:2px 6px;border-radius:999px;white-space:nowrap;}
.gs-zone-count{font-size:11px;color:var(--text-3);}
.gs-species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.gs-species-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .18s;}
.gs-species-card:hover{transform:translateY(-3px);border-color:var(--border-glow);}
.gs-species-card .gsc-art{height:170px;background:radial-gradient(circle at 50% 30%,rgba(167,139,250,.18),rgba(0,0,0,.55));display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.gs-species-card .gsc-art img{max-height:165px;max-width:100%;object-fit:contain;}
.gs-species-card .gsc-body{padding:12px 14px;}
.gs-species-card .gsc-name{font-size:13px;font-weight:800;color:var(--text-1);}
.gs-species-card .gsc-sub{font-size:11px;color:var(--text-3);margin-top:2px;}
.gs-species-card .gsc-effect{font-size:11px;line-height:1.45;color:var(--text-2);margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.gs-species-card .gsc-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.gs-species-card .gsc-meta span{font-size:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:2px 7px;color:var(--text-2);}

/* ── Refine details ────────────────────────────────── */
.refine-detail-section{margin-top:26px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;}
.refine-detail-desc{font-size:12px;color:var(--text-3);margin:6px 0 14px;}
.refine-slot-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.refine-slot-tab{cursor:pointer;background:var(--bg-card2);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--text-2);font-family:var(--font);transition:all .15s;}
.refine-slot-tab:hover{border-color:var(--border-glow);color:var(--text-1);}
.refine-slot-tab.active{background:rgba(123,159,255,.16);border-color:var(--accent);color:var(--text-1);}
.refine-detail-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;}
.refine-detail-table{width:100%;border-collapse:collapse;font-size:12px;}
.refine-detail-table th{background:var(--bg-card2);color:var(--text-2);font-weight:700;padding:9px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);}
.refine-detail-table td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.045);color:var(--text-1);}
.refine-detail-table tr:last-child td{border-bottom:none;}
.refine-detail-table tr:nth-child(even) td{background:rgba(255,255,255,.018);}
.refine-detail-table .lv-cell{color:var(--gold);font-weight:800;}

/* ── Seasonal drops ────────────────────────────────── */
.seasonal-section{margin-top:26px;}
.seasonal-section .sub-title{font-size:16px;font-weight:800;margin-bottom:4px;}
.seasonal-desc{font-size:12px;color:var(--text-3);margin-bottom:12px;}
.seasonal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;}
.seasonal-card{background:linear-gradient(135deg,rgba(251,146,60,.08),rgba(0,0,0,.15));border:1px solid rgba(251,146,60,.28);border-radius:var(--radius-lg);padding:14px;}
.seasonal-card h4{font-size:14px;font-weight:800;color:var(--orange);margin-bottom:4px;}
.seasonal-card p{font-size:11px;color:var(--text-3);margin-bottom:10px;}
.seasonal-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px dashed rgba(255,255,255,.07);}
.seasonal-item img{width:34px;height:34px;object-fit:contain;background:rgba(0,0,0,.35);border-radius:6px;padding:3px;}
.seasonal-item .si-name{font-size:12px;font-weight:700;color:var(--text-1);}
.seasonal-item .si-meta{font-size:10px;color:var(--text-3);margin-top:2px;}
.seasonal-item .si-rate{margin-left:auto;font-size:11px;font-weight:700;color:var(--orange);white-space:nowrap;}

/* ── Material category tint ────────────────────────── */
.cat-material .item-category-tag{background:rgba(251,146,60,.14);color:var(--orange);border-color:rgba(251,146,60,.35);}

@media (max-width:1100px){
  .gs-layout{grid-template-columns:1fr;}
  .gs-zone-list{max-height:320px;}
  .gs-diff-grid{grid-template-columns:1fr;}
}
@media (max-width:700px){
  .monster-grid{grid-template-columns:1fr 1fr;}
  .monster-card .mc-art{height:120px;}
  .gs-species-grid{grid-template-columns:1fr 1fr;}
  .gs-hero{padding:16px;}
}
@media (max-width:480px){
  .monster-grid,.gs-species-grid{grid-template-columns:1fr;}
}

/* ── New dump-content additions ─────────────────────── */
.chance-gs{background:rgba(167,139,250,.16);color:#c4b5fd;border:1px solid rgba(167,139,250,.4);}
.badge-worldboss{background:rgba(248,113,113,.16);color:#f87171;border:1px solid rgba(248,113,113,.45);}
.badge-event{background:rgba(251,146,60,.16);color:#fb923c;border:1px solid rgba(251,146,60,.45);}
.badge-greyspace{background:rgba(167,139,250,.16);color:#c4b5fd;border:1px solid rgba(167,139,250,.45);}
.codex-card-item.rank-A{border-color:rgba(244,63,94,.55);box-shadow:0 0 16px rgba(244,63,94,.12);background:linear-gradient(180deg,rgba(244,63,94,.05) 0%,var(--bg-card) 100%);}

.modal-zone-empty{display:block;font-size:11px;line-height:1.5;color:var(--text-3);background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.12);border-radius:8px;padding:9px 11px;}

.dash-skills-wrap{margin-top:12px;background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:10px;padding:11px 12px;}
.dash-skills-title{font-size:11px;font-weight:800;color:var(--text-2);margin-bottom:8px;letter-spacing:.02em;}
.mob-skills-list{display:grid;gap:7px;}
.mob-skill-row{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.06);border-left:2px solid var(--accent);border-radius:7px;padding:7px 9px;}
.mob-skill-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;}
.mob-skill-name{font-size:12px;font-weight:700;color:var(--text-1);}
.mob-skill-kind{font-size:9px;color:var(--accent2);background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.25);border-radius:999px;padding:1px 6px;white-space:nowrap;}
.mob-skill-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;}
.mob-skill-meta span{font-size:9px;color:var(--text-3);background:rgba(255,255,255,.05);border-radius:4px;padding:1px 5px;}
.mob-skill-desc{font-size:10px;color:var(--text-3);line-height:1.45;margin-top:4px;}

.boss-dialogue-box{margin-bottom:12px;background:linear-gradient(135deg,rgba(248,113,113,.08),rgba(0,0,0,.2));border:1px solid rgba(248,113,113,.28);border-radius:10px;padding:11px 13px;}
.boss-dialogue-title{font-size:11px;font-weight:800;color:#f87171;margin-bottom:7px;}
.boss-dialogue-line{display:flex;gap:8px;font-size:11px;line-height:1.5;color:var(--text-2);padding:3px 0;}
.boss-dialogue-line .bd-tag{flex:0 0 auto;font-size:9px;font-weight:700;color:#fca5a5;background:rgba(248,113,113,.12);border-radius:4px;padding:1px 6px;height:fit-content;margin-top:1px;}

.modal-empty-note{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.025);border:1px dashed rgba(255,255,255,.12);border-radius:10px;padding:14px;}
.modal-empty-note .men-icon{font-size:24px;line-height:1;}
.modal-empty-note .men-title{font-size:12px;font-weight:700;color:var(--text-2);}
.modal-empty-note .men-desc{font-size:10px;color:var(--text-3);line-height:1.5;margin-top:3px;}

.gsd-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.gsd-btn{cursor:pointer;font-family:var(--font);font-size:10px;font-weight:700;color:var(--text-1);background:rgba(123,159,255,.12);border:1px solid rgba(123,159,255,.35);border-radius:7px;padding:6px 10px;transition:all .15s;}
.gsd-btn:hover{background:rgba(123,159,255,.22);border-color:var(--accent);}

.monster-card .mc-top .rank-badge{font-size:9px;padding:2px 7px;white-space:nowrap;}
.monster-card .mc-foot{flex-wrap:wrap;gap:4px 10px;}

/* Crop codex cards to their artwork area inside grids */
.monster-card .mc-art img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 33%;}
.gs-species-card .gsc-art img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 33%;}

.dash-mob-img{width:86px;height:110px;object-fit:cover;object-position:center 33%;border-radius:10px;}

.dash-stat-item .d-stat-hp-multi{font-size:13px;letter-spacing:-.2px;line-height:1.25;}

/* ─── Greyspace entrance ─────────────────────────────────────── */
.gs-entry{display:grid;gap:14px;margin-bottom:24px;}
.gse-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.gse-step{display:flex;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;}
.gse-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;color:#0b0f19;background:linear-gradient(135deg,#c4b5fd,#7b9fff);}
.gse-step-body b{font-size:13px;color:var(--text-1);display:block;margin-bottom:2px;}
.gse-step-body p{font-size:11px;color:var(--text-2);line-height:1.55;margin-top:3px;}
.gse-step-body code{font-size:10px;background:rgba(255,255,255,.07);border-radius:4px;padding:1px 5px;}
.gse-warn{color:#fbbf24 !important;}
.gse-purple{color:#c4b5fd;font-weight:700;}
.gse-req{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:rgba(167,139,250,.07);border:1px solid rgba(167,139,250,.25);border-radius:12px;padding:10px 12px;}
.gse-req-title{font-size:11px;font-weight:800;color:#c4b5fd;}
.gse-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-1);background:rgba(0,0,0,.3);border:1px solid var(--border);border-radius:999px;padding:4px 10px;}
.gse-chip img{width:18px;height:18px;object-fit:contain;}
.gse-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gse-rule{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:11px 12px;}
.gse-rule b{display:block;font-size:12px;color:var(--text-1);margin-bottom:3px;}
.gse-rule span{font-size:10.5px;color:var(--text-3);line-height:1.5;}
.gse-gates{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px;}
.gse-gates-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;font-weight:800;color:var(--text-2);margin-bottom:10px;}
.gse-gates-hint{font-size:10px;color:var(--text-3);font-weight:600;}
.gse-gate-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:6px;max-height:330px;overflow:auto;padding-right:4px;}
.gse-gate-row{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:7px 9px;cursor:pointer;transition:all .15s;}
.gse-gate-row:hover{background:rgba(167,139,250,.12);border-color:rgba(167,139,250,.35);}
.gse-gate-row.active{background:rgba(167,139,250,.18);border-color:#c4b5fd;}
.gse-gate-n{flex:0 0 auto;width:20px;height:20px;border-radius:5px;background:rgba(167,139,250,.18);border:1px solid rgba(167,139,250,.45);color:#ddd6fe;font-size:10px;font-weight:800;display:grid;place-items:center;}
.gse-gate-coord{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;color:#c7d2fe;white-space:nowrap;}
.gse-gate-zone{flex:1;font-size:10px;color:var(--text-3);line-height:1.35;}
.gse-gate-zone small{opacity:.85;}
.gse-copy{cursor:pointer;flex:0 0 auto;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text-2);border-radius:6px;padding:3px 7px;font-size:11px;font-family:var(--font);}
.gse-copy:hover{color:#fff;border-color:var(--accent);}
.gse-detail{background:var(--bg-card2);border:1px solid var(--border);border-radius:12px;padding:12px;min-height:84px;font-size:12px;color:var(--text-2);line-height:1.5;}
.gse-detail .gsd-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.gse-detail .gsd-tags span{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:2px 8px;font-size:10px;}
.gse-detail .gsd-title{font-size:14px;font-weight:800;color:var(--text-1);margin-bottom:2px;}
.gse-coord-big{margin:6px 0;}
.gse-coord-big code{font-family:ui-monospace,Consolas,monospace;font-size:13px;color:#ddd6fe;background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3);border-radius:6px;padding:3px 8px;}

/* ─── Greyspace drops ────────────────────────────────────────── */
.gs-drop-h{font-size:13px;font-weight:800;color:var(--text-2);margin:18px 0 10px;}
.gs-note-card{display:flex;gap:10px;align-items:flex-start;background:rgba(245,200,66,.06);border:1px solid rgba(245,200,66,.28);border-radius:10px;padding:11px 13px;}
.gs-note-card b{font-size:11px;color:var(--gold);white-space:nowrap;}
.gs-note-card p{font-size:11px;color:var(--text-2);line-height:1.55;}
.gs-drop-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;}
.gsd-card-tile{display:flex;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:10px;cursor:pointer;transition:all .15s;}
.gsd-card-tile:hover{border-color:var(--accent);background:rgba(123,159,255,.08);}
.gsd-card-img{width:52px;height:70px;object-fit:cover;object-position:center 33%;border-radius:6px;flex:0 0 auto;}
.gsd-card-name{font-size:12px;font-weight:700;color:var(--text-1);display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.gsd-card-species{font-size:10px;color:var(--text-3);margin-top:2px;}
.gsd-card-ability{font-size:10px;color:var(--text-2);line-height:1.45;margin-top:5px;}
.gs-gear-grid{display:grid;gap:12px;}
.gsg-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;}
.gsg-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--text-2);margin-bottom:9px;}
.gsg-head b{color:var(--text-1);}
.gsg-head span{color:var(--text-3);font-size:10px;}
.gsg-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:7px;}
.gsg-item{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:6px 8px;}
.gsg-item img{width:32px;height:32px;object-fit:contain;flex:0 0 auto;}
.gsg-item-name{font-size:10.5px;color:var(--text-1);line-height:1.35;}
.gsg-item-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px;align-items:center;}
.gsg-set{font-size:9px;color:var(--text-3);background:rgba(255,255,255,.05);border-radius:4px;padding:1px 5px;}
.gsg-socket{font-size:9px;color:#c4b5fd;background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3);border-radius:4px;padding:1px 5px;}

@media (max-width: 980px){
  .gse-steps,.gse-rules{grid-template-columns:1fr;}
  .gs-drop-cards{grid-template-columns:1fr;}
  .gse-gate-list{grid-template-columns:1fr;max-height:420px;}
}

/* ─── Greyspace drop block inside mob modal ─────────────────── */
.dash-gs-drop{margin-top:12px;background:rgba(167,139,250,.06);border:1px solid rgba(167,139,250,.25);border-radius:10px;padding:11px 12px;display:grid;gap:8px;}
.dash-gs-title{font-size:11px;font-weight:800;color:#c4b5fd;letter-spacing:.02em;}
.gs-modal-note{font-size:10px;color:var(--text-3);line-height:1.55;display:grid;gap:7px;}
.gs-modal-note .gsd-btn{justify-self:start;}

/* ─── Greyspace HP clarification ─────────────────────────────── */
.gs-hp-note{margin-top:12px;font-size:11.5px;line-height:1.65;color:var(--text-2);background:rgba(123,159,255,.06);border:1px solid rgba(123,159,255,.22);border-left:3px solid var(--accent);border-radius:8px;padding:10px 13px;}
.gs-hp-note b{color:var(--text-1);}
