/* ==== HUD v2 (ค่าเริ่มต้นตั้งแต่ patch .165, ?hud=v1 = ธีมเดิม — src/ui/HudV2.js): ทุกหน้าต่าง ป๊อปอัป tooltip และชิ้น HUD ใช้ธีมเรียบแบบมินิแมพของ HUD 3D ====
   พื้นเข้มโปร่ง ขอบทองบาง มุม 8px, หัวหน้าต่างตัวทอง + เส้นคั่นจาง, ปุ่ม = ปุ่ม ใกล้/กลาง/ไกล ของมินิแมพ, ปุ่มหลัก = ทองไล่สี
   ทุก selector ขึ้นต้นด้วย body.hud-v2 + :is(..., #v2) เพื่อให้น้ำหนักระดับ id ชนะกฎหน้าต่างเก่าใน style.css (เช่น #win-daily .x)
   โดยไม่ต้องแก้ style.css — ?hud=v1 = กลับเป็นแบบเดิมทุกอย่าง */

body.hud-v2 {
  --v2-panel: rgba(16, 20, 26, 0.92);
  --v2-panel-2: rgba(28, 32, 40, 0.94);
  --v2-cell: rgba(255, 255, 255, 0.045);
  --v2-line: rgba(214, 178, 96, 0.55);
  --v2-line-soft: rgba(214, 178, 96, 0.25);
  --v2-gold: #e2bd62;
  --v2-text: #f4ecd8;
  --v2-dim: #b9b2a0;
  --v2-green: #7ed35a;
  --v2-red: #ff8f86;
  --v2-blue: #8fc4ff;
}

/* ---------- เปลือกหน้าต่าง ---------- */
body.hud-v2 :is(.game-window, .gm-panel, .travel-dialog, .death-dialog, .inventory-drop-dialog, .update-notice-dialog, #v2) {
  /* สีภายในที่หน้าต่างธีมกลางคืนเดิมอ้างถึง (.win-night / .win-legacy) = โทนมินิแมพ */
  --nt-panel: var(--v2-cell); --nt-cell: rgba(10, 12, 16, 0.6); --nt-text: var(--v2-text); --nt-sub: var(--v2-dim); --nt-border: var(--v2-line-soft);
  --h3p: var(--v2-panel); --h3p2: var(--v2-panel-2); --h3line: var(--v2-line); --h3gold: var(--v2-gold); --h3text: var(--v2-text); --h3dim: var(--v2-dim); --h3row: rgba(255, 255, 255, 0.06);
  font-family: 'Kanit', 'Prompt', system-ui, sans-serif;
  background: var(--v2-panel); border: 1px solid var(--v2-line); border-radius: 8px; color: var(--v2-text);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06); backdrop-filter: blur(3px);
  outline: none; clip-path: none;
}
body.hud-v2 :is(.game-window, .gm-panel, #v2)::before, body.hud-v2 :is(.game-window, .gm-panel, #v2)::after { display: none; }

body.hud-v2 :is(.game-window, .gm-panel, #v2) > .win-header {
  display: flex; align-items: baseline; justify-content: flex-start; gap: 8px; height: auto; min-height: 0;
  padding: 8px 40px 6px 12px; background: none; border: none; border-bottom: 1px solid var(--v2-line-soft); border-radius: 8px 8px 0 0; box-shadow: none;
}
body.hud-v2 :is(.game-window, .gm-panel, #v2) > .win-header::before, body.hud-v2 :is(.game-window, .gm-panel, #v2) > .win-header::after { display: none; }
body.hud-v2 :is(.game-window, .gm-panel, #v2) .win-title {
  padding: 0; margin: 0; background: none; border: none; clip-path: none; box-shadow: none;
  font: 600 15px/1.3 'Kanit', 'Prompt', sans-serif; color: var(--v2-gold); text-shadow: none; letter-spacing: 0;
}
body.hud-v2 :is(.game-window, .gm-panel, #v2) .win-title::before, body.hud-v2 :is(.game-window, .gm-panel, #v2) .win-title::after { content: none; }
body.hud-v2 :is(.game-window, .gm-panel, #v2) .win-icon { display: none; }
body.hud-v2 :is(.game-window, .gm-panel, #v2) .win-close {
  position: absolute; top: 6px; right: 8px; width: 24px; height: 24px; padding: 0; line-height: 1; font-size: 12px; font-weight: 400;
  color: var(--v2-text); background: var(--v2-panel-2); border: 1px solid rgba(214, 178, 96, 0.35); border-radius: 4px; box-shadow: none; clip-path: none; text-shadow: none;
}
body.hud-v2 :is(.game-window, .gm-panel, #v2) .win-close:hover { filter: brightness(1.25); background: #5a2320; border-color: #d9665a; }
body.hud-v2 :is(.game-window, .gm-panel, #v2) > .win-body {
  margin: 0; background: none; border: none; box-shadow: none; color: var(--v2-text); border-radius: 0 0 8px 8px;
}
/* พื้นภาพปราสาท/ไล่สีน้ำเงินของหน้าต่างเก่า = พื้นเรียบ */
body.hud-v2 :is(.game-window, #v2) :is(.settings-body, .wiki-win-body, .ranking-body, .news-win, .pet-body, .daily-body, #tab-bot) { background: none; }

/* ---------- ของในหน้าต่าง: กล่อง แถว ตัวอักษร ---------- */
body.hud-v2 :is(.game-window, .gm-panel, #v2) :is(h3, h4, strong.sec, .wk-sec-title, .jb-sec) { color: var(--v2-gold); }
body.hud-v2 :is(.game-window, .gm-panel, #v2) :is(small, .muted, th, dt) { color: var(--v2-dim); }
body.hud-v2 :is(.game-window, .gm-panel, #v2) :is(input[type="number"], input[type="text"], input[type="search"], input:not([type]), textarea, select) {
  background: rgba(8, 10, 14, 0.75); color: var(--v2-text); border: 1px solid var(--v2-line-soft); border-radius: 4px; box-shadow: none;
}
body.hud-v2 :is(.game-window, .gm-panel, #v2) :is(input, textarea, select):focus-visible { outline: 1px solid var(--v2-gold); outline-offset: 0; border-color: var(--v2-gold); }
body.hud-v2 :is(.game-window, .gm-panel, #v2) { scrollbar-color: #6b5a30 transparent; }
body.hud-v2 :is(.game-window, .gm-panel, #v2) * { scrollbar-width: thin; scrollbar-color: #6b5a30 transparent; }

/* ---------- ปุ่ม: ปุ่มทั่วไป = ปุ่มมินิแมพ, ปุ่มหลัก/ยืนยัน = ทอง ---------- */
body.hud-v2 :is(.game-window, .gm-panel, .travel-dialog, .death-dialog, .inventory-drop-dialog, #v2) :is(button, .st-btn):where(:not(.win-close, .sk-node, [class*="slot"], [class*="-cell"])) {
  background: var(--v2-panel-2); border: 1px solid rgba(214, 178, 96, 0.35); border-radius: 4px; color: var(--v2-text);
  box-shadow: none; text-shadow: none; font-weight: 400; clip-path: none; transition: filter .12s, transform .08s;
}
body.hud-v2 :is(.game-window, .gm-panel, .travel-dialog, .death-dialog, .inventory-drop-dialog, #v2) :is(button, .st-btn):where(:not(.win-close, [class*="slot"], [class*="-cell"])):hover:not(:disabled) {
  filter: brightness(1.25); border-color: rgba(214, 178, 96, 0.6);
}
body.hud-v2 :is(.game-window, .gm-panel, .travel-dialog, .death-dialog, .inventory-drop-dialog, #v2) :is(button, .st-btn):where(:not(.win-close)):active:not(:disabled) { transform: translateY(1px); }
body.hud-v2 :is(.game-window, .gm-panel, .travel-dialog, .death-dialog, .inventory-drop-dialog, #v2) :is(button, .st-btn):disabled { opacity: .4; filter: none; }
/* ปุ่มหลัก: ยืนยัน/ซื้อ/ตีบวก/รับรางวัล/ส่ง */
body.hud-v2 :is(.game-window, .gm-panel, .travel-dialog, .death-dialog, .inventory-drop-dialog, #v2)
  :is(.st-btn-primary, .gm-action, #shop-confirm, #ref-confirm, #stor-confirm, .daily-claim, .primary, .confirm, [data-primary]):not(:disabled) {
  background: linear-gradient(#5b4a26, #3b2e14); border-color: var(--v2-gold); color: #fff3cf;
}
/* แท็บ: ปุ่มที่เลือกอยู่ = ขอบทอง พื้นทองจาง */
body.hud-v2 :is(.game-window, .gm-panel, #v2) :is(.shop-tabs, .gm-tabs, .sk-tabs, .cs-tabs, .win-tabs) button:is(.active, .on, [aria-selected="true"], [aria-current="page"]),
body.hud-v2 :is(.game-window, .gm-panel, #v2) button:is(.tab.active, .tab.on) {
  background: linear-gradient(#5b4a26, #3b2e14); border-color: var(--v2-gold); color: #fff3cf;
}

/* ---------- แก้เฉพาะหน้าต่างที่ยังมีแถบสีน้ำเงิน/ครีมจากธีมเก่า ---------- */
/* หัวข้อย่อย/หัวตาราง = ตัวทองบนพื้นเรียบ + เส้นคั่นจาง (แบบหัวมินิแมพ) */
body.hud-v2 :is(.game-window, #v2) :is(.ap-sec-title, .ranking-head, .ref-list-head) {
  background: rgba(255, 255, 255, 0.05); color: var(--v2-gold); border: none; border-bottom: 1px solid var(--v2-line-soft); border-radius: 4px 4px 0 0; box-shadow: none; text-shadow: none;
}
body.hud-v2 :is(.game-window, #v2) :is(.ap-status, .ap-portrait, .daily-bar, .daily-footer, .inv-pill, .ref-rate, .ref-item-ico, .wk-open-web, .stor-zeny) {
  background: var(--v2-panel-2); border: 1px solid var(--v2-line-soft); color: var(--v2-text); box-shadow: none; text-shadow: none;
}
body.hud-v2 :is(.game-window, #v2) .ap-status { color: var(--v2-gold); }
body.hud-v2 :is(.game-window, #v2) .ranking-intro strong, body.hud-v2 #win-bot .ap-save-note, body.hud-v2 #win-bot .win-body span:not([class]) { color: var(--v2-dim); }
body.hud-v2 :is(.game-window, #v2) code { background: rgba(255, 255, 255, 0.08); color: var(--v2-text); }
body.hud-v2 :is(.game-window, #v2) .ranking-row { background: var(--v2-cell); border-color: rgba(255, 255, 255, 0.06); color: var(--v2-text); }
body.hud-v2 :is(.game-window, #v2) .ranking-row:nth-child(even) { background: rgba(255, 255, 255, 0.07); }
body.hud-v2 :is(.game-window, #v2) :is(.ranking-name small, .ranking-guild, .ranking-count, .ranking-message) { color: var(--v2-dim); }
body.hud-v2 :is(.game-window, #v2) .ranking-pages button[aria-current="page"] { background: linear-gradient(#5b4a26, #3b2e14); border-color: var(--v2-gold); color: #fff3cf; }
body.hud-v2 :is(.game-window, #v2) .ref-rate { color: var(--v2-gold); }
body.hud-v2 :is(.game-window, #v2) a { color: var(--v2-blue); }
body.hud-v2 .gm-panel [data-gm-page] { background: var(--v2-cell); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 6px; }
body.hud-v2 .gm-panel label { color: var(--v2-dim); }

/* ปุ่มที่เลือกอยู่ (แท็บ/หมวด/หน้า) ทุกหน้าต่าง = ทองไล่สี */
body.hud-v2 :is(.game-window, .gm-panel, #v2) button:is(.active, .on, [aria-selected="true"], [aria-current="page"], [aria-pressed="true"]):where(:not(.win-close, [class*="slot"], [class*="-cell"])) {
  background: linear-gradient(#5b4a26, #3b2e14); border-color: var(--v2-gold); color: #fff3cf;
}

/* ---------- ป๊อปอัป (dialog): ตาย / วาร์ป-NPC / ทิ้งของ ---------- */
body.hud-v2 :is(.travel-dialog, .inventory-drop-dialog, #v2) { padding: 16px 18px; border-radius: 8px; max-width: min(400px, 92vw); }
body.hud-v2 :is(.travel-dialog, .inventory-drop-dialog, #v2)::backdrop { background: rgba(6, 8, 12, 0.55); }
body.hud-v2 :is(.travel-dialog, .inventory-drop-dialog, #v2) h2 {
  margin: 0 0 8px; padding-bottom: 6px; border-bottom: 1px solid var(--v2-line-soft); color: var(--v2-gold); font: 600 17px/1.3 'Kanit', sans-serif; text-shadow: none;
}
body.hud-v2 :is(.travel-dialog, .inventory-drop-dialog, #v2) p { color: var(--v2-text); }
body.hud-v2 :is(.travel-dialog, .inventory-drop-dialog, #v2) :is(.drop-owned, label) { color: var(--v2-dim); }
body.hud-v2 .travel-dialog > button { padding: 9px; margin: 8px 0 0; border-radius: 4px; font-weight: 500; }
body.hud-v2 :is(.travel-dialog, #v2) > button:first-of-type, body.hud-v2 :is(.inventory-drop-dialog, #v2) .drop-confirm {
  background: linear-gradient(#5b4a26, #3b2e14); border-color: var(--v2-gold); color: #fff3cf;
}
body.hud-v2 .inventory-drop-dialog .drop-error { color: var(--v2-red); }

/* ---------- tooltip ทุกแบบ (ไอเทม/บัพ/สกิล/สถานะ) = กล่องมินิแมพ ---------- */
body.hud-v2 :is(.item-tip, .event-tooltip, .status-guide-tooltip, .ammo-picker, #v2) {
  background: rgba(16, 20, 26, 0.95); border: 1px solid var(--v2-line); border-radius: 6px; color: var(--v2-text);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06); font-family: 'Kanit', system-ui, sans-serif; text-shadow: none;
}
body.hud-v2 .item-tip :is(.tip-sub, .tip-hint) { color: var(--v2-dim); }
body.hud-v2 .item-tip .tip-bonus { color: var(--v2-gold); }
body.hud-v2 .event-tooltip :is(strong, [id$="-title"]) { color: var(--v2-gold); }
body.hud-v2 .event-tooltip :is(.event-tooltip-source, p) { color: var(--v2-dim); }
body.hud-v2 .event-tooltip .event-tooltip-rule { background: var(--v2-line-soft); height: 1px; border: 0; }
body.hud-v2 .event-tooltip .event-tooltip-icon { border-color: var(--v2-line-soft); box-shadow: none; }
body.hud-v2 .ammo-picker :is(button, .ammo-opt) { background: var(--v2-cell); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 4px; color: var(--v2-text); }

/* ---------- แจ้งเตือนได้ไอเทม (กลางบน) = แถบเข้มขอบทองจาง ---------- */
body.hud-v2 .item-notice { background: rgba(16, 20, 26, 0.9); border: 1px solid var(--v2-line-soft); color: var(--v2-text); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4); backdrop-filter: blur(3px); }

/* ---------- หน้าเลือก/สร้างตัวละคร (#char-select) ---------- */
body.hud-v2 #char-select .cs-panel { background: var(--v2-panel); border: 1px solid var(--v2-line); border-radius: 8px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06); backdrop-filter: blur(3px); }
body.hud-v2 #char-select .cs-panel-head { background: none; border-bottom: 1px solid var(--v2-line-soft); color: var(--v2-gold); font-weight: 600; font-size: 16px; }
body.hud-v2 #char-select .cs-panel-head small, body.hud-v2 #char-select :is(.cs-card-info small, .cs-kv span, .cs-label, .cs-rule, .cs-detail-empty) { color: var(--v2-dim); }
body.hud-v2 #char-select .cs-card { border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 6px; background: var(--v2-cell); color: var(--v2-text); }
body.hud-v2 #char-select .cs-card:hover { border-color: rgba(214, 178, 96, 0.6); }
body.hud-v2 #char-select .cs-card.selected { border-color: var(--v2-gold); background: rgba(214, 178, 96, 0.12); box-shadow: 0 0 10px rgba(226, 189, 98, 0.25); }
body.hud-v2 #char-select .cs-empty { border-style: dashed; color: var(--v2-dim); }
body.hud-v2 #char-select :is(.cs-card-portrait, .cs-big-portrait) { background: radial-gradient(circle at 50% 40%, #3a3f4a, #15181e 75%); border-radius: 6px; }
body.hud-v2 #char-select .cs-big-portrait { border: 1px solid var(--v2-line); }
body.hud-v2 #char-select .cs-detail { background: rgba(0, 0, 0, 0.25); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 6px; }
body.hud-v2 #char-select .cs-job { color: var(--v2-gold); }
body.hud-v2 #char-select .cs-btn { background: var(--v2-panel-2); border: 1px solid rgba(214, 178, 96, 0.35); border-radius: 4px; color: var(--v2-text); font-weight: 500; }
body.hud-v2 #char-select .cs-btn-gold { background: linear-gradient(#5b4a26, #3b2e14); border-color: var(--v2-gold); color: #fff3cf; }
body.hud-v2 #char-select .cs-btn-danger { background: #3a1a18; border-color: #a2463c; color: #ffb3a8; }
body.hud-v2 #char-select :is(#cs-name, #cs-del-input) { background: rgba(8, 10, 14, 0.8); border: 1px solid var(--v2-line-soft); border-radius: 4px; }
body.hud-v2 #char-select :is(#cs-name, #cs-del-input):focus { border-color: var(--v2-gold); }
body.hud-v2 #char-select .cs-lang { background: var(--v2-panel); border: 1px solid var(--v2-line); border-radius: 4px; color: var(--v2-gold); }
body.hud-v2 #char-select .cs-modal { background: var(--v2-panel); border: 1px solid #a2463c; border-radius: 8px; }
body.hud-v2 #char-select .cs-modal p { color: var(--v2-dim); }

/* ---------- รางวัลรายวัน: หัวแบบแบนเนอร์ → หัวหน้าต่างธรรมดา (ชื่อไทยสีทอง + DAILY LOGIN ตัวจาง) ---------- */
body.hud-v2 #win-daily .daily-calendar, body.hud-v2 #win-daily .daily-tagline { display: none; }
body.hud-v2 #win-daily .daily-heading { display: flex; flex-direction: row-reverse; align-items: baseline; gap: 8px; }
body.hud-v2 #win-daily .daily-heading strong { font: 400 12px/1.3 'Kanit', sans-serif; color: var(--v2-dim); letter-spacing: 1px; text-shadow: none; }
body.hud-v2 #win-daily .daily-heading span { font: 600 15px/1.3 'Kanit', sans-serif; color: var(--v2-gold); text-shadow: none; }
body.hud-v2 #win-daily .daily-topline { color: var(--v2-dim); }
body.hud-v2 #win-daily .daily-topline b { color: var(--v2-gold); }
body.hud-v2 #win-daily .daily-bar i { background: linear-gradient(90deg, #9b7430, var(--v2-gold)); }
body.hud-v2 #win-daily :is(.daily-footer small, .daily-status) { color: var(--v2-dim); }
body.hud-v2 #win-daily .daily-day { background: var(--v2-cell); border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: none; }
body.hud-v2 #win-daily .daily-day > b { color: var(--v2-dim); }
body.hud-v2 #win-daily .daily-parts small { color: var(--v2-text); text-shadow: 0 1px 2px #000; }
body.hud-v2 #win-daily .daily-day.milestone { border-color: rgba(214, 178, 96, 0.55); background: rgba(214, 178, 96, 0.08); }
body.hud-v2 #win-daily .daily-day.grand { border: 1px solid var(--v2-gold); background: linear-gradient(135deg, rgba(214, 178, 96, 0.28), rgba(59, 46, 20, 0.6)); }
body.hud-v2 #win-daily .daily-day.grand > b { color: var(--v2-gold); }
body.hud-v2 #win-daily .daily-day.today { border: 1px solid var(--v2-gold); box-shadow: 0 0 10px rgba(226, 189, 98, 0.5); }
body.hud-v2 #win-daily .daily-day.claimed { border-color: rgba(126, 211, 90, 0.5); background: rgba(126, 211, 90, 0.08); }
body.hud-v2 :is(.game-window, #v2) :is(.wk-ico, .wk-big) { background-color: rgba(255, 255, 255, 0.08); border-color: var(--v2-line-soft); }

/* ---------- HUD บนจอ ---------- */
/* เมนูกลมแถวบน: พื้นแดง → พื้นเข้มแบบปุ่ม AUTO ขอบทองบาง */
body.hud-v2 .h3-medal-ic {
  background: radial-gradient(circle at 50% 38%, #343944, #14171c 70%); border: 0;
  box-shadow: 0 0 0 1px rgba(214, 178, 96, 0.7), 0 0 0 4px rgba(16, 20, 26, 0.85), 0 5px 12px rgba(0, 0, 0, 0.5), inset 0 2px 6px rgba(255, 230, 170, 0.12);
}
body.hud-v2 .h3-medal:hover .h3-medal-ic { box-shadow: 0 0 0 1px var(--v2-gold), 0 0 0 4px rgba(16, 20, 26, 0.85), 0 0 12px rgba(226, 189, 98, 0.55); }
body.hud-v2 .h3-medal.on .h3-medal-ic { background: radial-gradient(circle at 50% 38%, #6d5a30, #3b2e14 70%); box-shadow: 0 0 0 1px var(--v2-gold), 0 0 0 4px rgba(16, 20, 26, 0.85), 0 0 14px rgba(226, 189, 98, 0.7); }

/* ---------- หน้าต่างแท่นวาร์ป (dialog.warp-map + WorldMapView): แผงรายละเอียดพื้นครีมตัวขาว อ่านไม่ออก → พื้นเข้มตัวอ่อน ---------- */
body.hud-v2 .travel-dialog { font-size: 14px; }
body.hud-v2 .travel-dialog > p { font-size: 13px; color: var(--v2-dim); margin: 0 0 8px; }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-detail { background: var(--v2-cell); border: 1px solid var(--v2-line-soft); border-radius: 6px; color: var(--v2-text); box-shadow: none; }
body.hud-v2 :is(.travel-dialog, #win-map) :is(.wm-detail-head, .wm-detail-head b, .wm-tags) { color: var(--v2-gold); }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-desc { color: var(--v2-dim); line-height: 1.5; }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-lv { color: var(--v2-blue); }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-tag { background: rgba(214, 178, 96, 0.18); border: 1px solid var(--v2-line-soft); color: var(--v2-gold); }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-tag.here { background: rgba(224, 72, 47, 0.85); border-color: #ff9a80; color: #fff; }
body.hud-v2 .travel-dialog .wm-warp-btn { width: 100%; margin-top: 6px; padding: 7px 10px; font-size: 13px; text-align: left; }
body.hud-v2 .travel-dialog .wm-warp-btn:not(:disabled) { background: linear-gradient(#5b4a26, #3b2e14); border-color: var(--v2-gold); color: #fff3cf; }
body.hud-v2 .travel-dialog .wm-warp-btn:disabled { opacity: 1; color: var(--v2-dim); }
body.hud-v2 .travel-dialog .wm-warp-none { color: var(--v2-dim); font-size: 13px; }

/* ---------- แผง GM: ตัวอักษรเท่าหน้าต่างอื่น (13px) ปุ่ม/ช่องกรอกเตี้ยลง ---------- */
body.hud-v2 .gm-panel { font-size: 13px; }
body.hud-v2 .gm-panel .gm-body { padding: 8px 10px 10px; }
body.hud-v2 .gm-panel label { font-size: 12px; gap: 3px; margin: 5px 0; }
body.hud-v2 .gm-panel :is(input, textarea, select) { font-size: 13px; padding: 5px 8px; }
body.hud-v2 .gm-panel .gm-tabs { gap: 4px; margin-bottom: 8px; }
body.hud-v2 .gm-panel .gm-tabs button { min-height: 28px; padding: 3px 4px; font-size: 12px; font-weight: 500; }
body.hud-v2 .gm-panel :is(.gm-action, .gm-teleport-row button) { min-height: 30px; padding: 5px 10px; font-size: 13px; font-weight: 500; }
body.hud-v2 .gm-panel .gm-tool-row .gm-action { min-height: 30px; }
body.hud-v2 .gm-panel [data-gm-page] { padding: 8px 10px; }
body.hud-v2 .gm-panel :is(.gm-reset-box strong, #gm-status) { font-size: 12px; }
body.hud-v2 .gm-panel .gm-reset-box { background: rgba(120, 40, 36, 0.25); border-color: rgba(189, 104, 96, 0.6); }
body.hud-v2 .gm-panel .gm-action-danger:not(:disabled) { background: linear-gradient(#6e2a24, #45181a); border-color: #c0605a; color: #ffe0da; }

/* แผนที่โลก/แท่นวาร์ป (ผู้ใช้สั่ง 2026-09-28): กดแมพแล้วไม่เด้ง — กฎปุ่มทั่วไป (:active translateY / hover brightness) ทับ transform ของโหนด
   → ตรึงตำแหน่งไว้ เลือกแล้ว = กรอบเหลืองอย่างเดียว */
body.hud-v2 :is(.travel-dialog, #win-map) .wm-node,
body.hud-v2 :is(.travel-dialog, #win-map) .wm-node:is(:hover, :active, :focus) { transform: translate(-50%, -50%) !important; filter: none !important; transition: border-color .12s, box-shadow .12s; }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-node:hover:not(.selected) { border-color: rgba(255, 210, 74, 0.7) !important; }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-node.selected { border-color: #ffd24a !important; box-shadow: 0 0 0 2px rgba(255, 210, 74, 0.6), 0 0 12px rgba(255, 210, 74, 0.35) !important; }
body.hud-v2 :is(.travel-dialog, #win-map) .wm-node:focus-visible { outline: none; }
/* ปุ่ม "วาร์ปไปแมพนั้น" เด่นกว่าปุ่มปิด: ปุ่มวาร์ปทองสว่าง, ปุ่มปิดเป็นปุ่มรอง */
body.hud-v2 .travel-dialog.warp-map > button:first-of-type { background: var(--v2-panel-2) !important; border-color: rgba(214, 178, 96, 0.35) !important; color: var(--v2-text) !important; }
/* กฎปุ่มทั่วไปมี #v2 ใน :is() (ความเจาะจงระดับ id) จึงต้อง !important */
body.hud-v2 .travel-dialog .wm-warp-btn:not(:disabled) { background: linear-gradient(#f6da8a, #c99a3c) !important; border-color: #ffe6a6 !important; color: #20160a !important;
  font-weight: 700 !important; box-shadow: 0 0 12px rgba(232, 196, 106, 0.45) !important; text-shadow: none; }
body.hud-v2 .travel-dialog .wm-warp-btn:not(:disabled):hover { filter: brightness(1.1); box-shadow: 0 0 18px rgba(232, 196, 106, 0.65) !important; }
