/* Vượt Tháp — Tầng 0 (Sảnh Tháp, Cửu Long Thượng Nhân) + biên lai giai đoạn (Owner 2026-10-13) — js/modules/tien-hiep-vuot-thap.js */
[data-theme="tien_hiep"] .th-vt-scene{position:fixed;inset:0;z-index:1;overflow:hidden;color:#fff;background-color:#0a1620;background-size:cover;background-position:center;background-repeat:no-repeat}
.th-vt-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.08) 40%,rgba(0,0,0,.55));pointer-events:none}
.th-vt-top{position:absolute;z-index:3;left:2%;right:2%;top:2.5%;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.th-vt-top h2{margin:0;font-size:clamp(15px,2vw,24px);color:#ffe9a8;text-shadow:0 2px 6px #000}
.th-vt-back{cursor:pointer;border:1px solid rgba(212,175,55,.7);background:rgba(8,26,30,.78);color:#f5e7b8;border-radius:8px;padding:5px 12px}
.th-vt-chips{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}
.th-vt-chips .th-vt-row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.th-vt-chips .th-vt-gem{display:inline-flex;align-items:center;gap:4px;min-width:62px;justify-content:center}
.th-vt-chips .th-vt-gem.is-zero{opacity:.5}
.th-vt-chips span{background:rgba(6,20,26,.72);border:1px solid rgba(212,175,55,.45);border-radius:999px;padding:3px 10px;font-size:clamp(10px,1.1vw,14px)}
.th-vt-npc{position:absolute;z-index:2;right:12%;bottom:0;height:76%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.th-vt-npc img{height:100%;width:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6));pointer-events:none}
.th-vt-npcname{display:none}
.th-vt-bubble{position:absolute;z-index:3;top:-6%;right:6%;max-width:min(320px,34vw);background:rgba(255,248,226,.95);color:#2a1d00;border-radius:12px;padding:8px 12px;font-size:clamp(11px,1.15vw,15px);line-height:1.35;box-shadow:0 6px 18px rgba(0,0,0,.45)}
.th-vt-menu{position:absolute;z-index:3;left:3%;top:20%;width:min(360px,44vw);display:flex;flex-direction:column;gap:10px}
.th-vt-status{margin:0;background:rgba(6,20,26,.78);border:1px solid rgba(212,175,55,.45);border-radius:10px;padding:8px 12px;font-size:clamp(11px,1.2vw,15px)}
.th-vt-btn{cursor:pointer;border:2px solid #d4af37;border-radius:12px;padding:12px 14px;font-size:clamp(13px,1.5vw,18px);font-weight:700;color:#ffe9a8;background:linear-gradient(180deg,rgba(22,62,60,.92),rgba(8,30,34,.92));text-align:left;text-shadow:0 1px 3px #000}
.th-vt-btn:hover:not(:disabled){filter:brightness(1.2)}
.th-vt-btn:disabled{filter:grayscale(.7) brightness(.7);cursor:not-allowed}
.th-vt-go{background:linear-gradient(180deg,#b8872a,#7a5410);color:#fff}
.th-vt-quit{font-size:clamp(11px,1.2vw,14px);font-weight:400;padding:6px 10px;opacity:.85}
.th-vt-enter-actions{display:flex;gap:8px;align-items:stretch}
.th-vt-enter-actions .th-vt-btn{min-width:0;flex:1;white-space:nowrap;padding-inline:10px;font-size:clamp(11px,1.15vw,15px)}
.th-vt-gem-action{display:flex;align-items:center;gap:7px}
.th-vt-gem-action .th-vt-ngoc-btn-ic{display:block;flex:0 0 28px;width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(100,220,255,.75))}
.th-vt-layer{position:absolute;inset:0;z-index:10;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}
.th-vt-layer[hidden]{display:none}
.th-vt-modal{width:min(460px,88%);background:linear-gradient(#10303a,#0b1d27);border:2px solid #d4af37;border-radius:12px;padding:16px;font-size:14px;line-height:1.4}
.th-vt-modal div{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}
.th-vt-modal button,.th-vt-actions button{border:1px solid #d4af37;background:rgba(0,0,0,.4);color:#ffe9a8;border-radius:8px;padding:6px 16px;cursor:pointer}
.th-vt-modal .th-vt-yes,.th-vt-actions .th-vt-next{background:#b8872a;color:#1d1200;font-weight:700}
.th-vt-actions{display:flex;gap:10px;justify-content:center;margin-top:10px}
.th-vt-summary .th-vt-sub{opacity:.9}
@media (max-width:760px){.th-vt-npc{right:2%;height:58%}.th-vt-menu{left:2%;width:62vw;top:16%}.th-vt-bubble{max-width:48vw}}

/* Phiên Tu Luyện thuộc Vượt Tháp: không có trưởng môn để bấm nhầm */
.th-territory-scene.is-tower .th-train-leader{display:none !important}
.th-territory-scene.is-tower .th-combat-monster.is-tower-left>img,.th-territory-scene.is-tower .th-combat-monster.is-tower-left .th-combat-monster-sprite{scale:-1 1}
.th-territory-scene.is-tower .th-combat-player.is-tower-facing-left .th-combat-player-img{scale:-1 1}

/* Linh Ngọc rơi tại chỗ quái chết → bay về nhân vật (Owner 2026-10-14) */
.th-combat-arena .th-vt-gem{position:absolute;z-index:7;width:46px;height:46px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 6px #d9fbff) drop-shadow(0 0 16px #5fe3ff);will-change:transform}
.th-combat-arena .th-vt-absorb{position:absolute;z-index:7;width:120px;height:120px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.9) 0,rgba(120,235,255,.55) 35%,rgba(120,235,255,0) 70%);mix-blend-mode:screen}
.th-combat-arena .th-vt-spark{position:absolute;z-index:7;width:8px;height:8px;border-radius:50%;pointer-events:none;background:#fff;box-shadow:0 0 8px 2px #7ff0ff}
.th-combat-player-img.is-absorb{animation:thVtAbsorb .7s ease-out}
@keyframes thVtAbsorb{0%{filter:brightness(1)}30%{filter:brightness(1.7) drop-shadow(0 0 14px #7ff0ff)}100%{filter:brightness(1)}}
@media (prefers-reduced-motion:reduce){.th-combat-arena .th-vt-gem,.th-combat-arena .th-vt-absorb,.th-combat-arena .th-vt-spark{display:none}}

/* Thần Thú quay mặt cùng chiều chủ nhân khi chủ nhân đánh bên trái */
.th-territory-scene.is-tower .th-combat-player.is-tower-facing-left .th-combat-pet .th-pet-sprite,.th-territory-scene.is-tower .th-combat-player.is-tower-facing-left .th-combat-pet .th-combat-companion-img{scale:-1 1}

.th-vt-chips .th-vt-ngoc-ic{width:20px;height:20px;object-fit:contain;vertical-align:-5px;margin-right:2px}

.th-vt-chips .th-vt-ngoc-ic{width:24px;height:24px;vertical-align:middle}

.th-vt-golb{display:flex;align-items:center;justify-content:center;gap:5px}
.th-vt-golb .th-vt-lb-ic{width:28px;height:28px;object-fit:contain}

/* Quái Tu Luyện trong Vượt Tháp: sprite vuông cỡ ảnh quái thường */
.th-territory-scene.is-tower .th-tower-trainmob .th-train-sprite{width:31.2cqh;aspect-ratio:1/1;background-repeat:no-repeat;background-size:100% 100%;background-position:0 0;filter:drop-shadow(0 10px 12px rgba(0,0,0,.55))}
.th-territory-scene.is-tower .th-tower-trainmob.is-selected .th-train-sprite{filter:drop-shadow(0 0 10px #ffe68d) drop-shadow(0 10px 12px rgba(0,0,0,.55))}

/* Viên sáng xanh lam (Tu Vi) — nhặt đồ dùng chung _thFlyPickup, Owner 2026-10-15 */
.th-combat-arena .th-vt-orb{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff 0,#bfeaff 28%,#4fb4ff 62%,rgba(40,120,255,0) 100%);filter:drop-shadow(0 0 8px #8fd8ff) drop-shadow(0 0 18px #3d9bff)}
.th-combat-arena .th-vt-absorb.is-blue{background:radial-gradient(circle,rgba(255,255,255,.9) 0,rgba(110,190,255,.6) 35%,rgba(70,150,255,0) 70%)}
.th-combat-arena .th-vt-spark.is-blue{background:#eaf7ff;box-shadow:0 0 8px 2px #5db8ff}

/* Rèn Phi Kiếm Phôi */
.th-vt-blank{width:min(500px,90%)}
.th-vt-blank h3{margin:0 0 6px;color:#ffe9a8}
.th-vt-blank p{margin:6px 0}
.th-vt-warn{color:#ffd9a0;background:rgba(180,80,20,.25);border:1px solid rgba(255,170,60,.5);border-radius:8px;padding:6px 8px;font-size:13px}
.th-vt-dim{opacity:.75;font-size:12px}
.th-vt-brow{display:flex !important;gap:10px;align-items:baseline;justify-content:flex-start !important;margin-top:4px !important;padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.28)}
.th-vt-brow span{flex:1}.th-vt-brow small{opacity:.7}
.th-vt-brow.is-bad b{color:#ff9d92}.th-vt-brow.is-ok b{color:#b9f5c0}
.th-vt-bact{justify-content:flex-end}
.th-vt-bact button:disabled{opacity:.4;cursor:not-allowed}
.th-vt-forgeanim{height:14px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid #d4af37;overflow:hidden;display:block !important;margin:14px 0 !important}
.th-vt-forgeanim i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff7a1a,#ffd36b);animation:thVtForge 5s linear forwards}
@keyframes thVtForge{to{width:100%}}

.th-vt-status:empty{display:none}
.th-vt-quick{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;font-size:12px;color:#ffe9a8;cursor:pointer;text-shadow:0 1px 3px #000}
.th-vt-quick[hidden]{display:none}
.th-vt-quick input{width:14px;height:14px;accent-color:#d4af37;cursor:pointer}
.th-vt-quickgems{display:flex;gap:10px}
.th-vt-modal .th-vt-normal{border-color:#9aa0a6;color:#e5e7eb}
.th-vt-qmodal{max-height:82%;overflow-y:auto;overscroll-behavior:contain}
.th-vt-qmodal h3{margin:0 0 8px;font-size:17px;color:#ffe9a8}
.th-vt-qmodal p{margin:0 0 8px}
.th-vt-qlist{list-style:none;margin:0 0 8px;padding:8px 10px;background:rgba(0,0,0,.3);border:1px solid rgba(212,175,55,.45);border-radius:8px;display:flex;flex-direction:column;gap:6px}
.th-vt-qlist li{display:flex;align-items:center;gap:8px}
.th-vt-qlist li b{margin-left:auto;color:#9be7ff}
.th-vt-qlist li.is-empty{opacity:.75}
.th-vt-qgem{display:block;flex:0 0 28px;width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(100,220,255,.75))}
.th-vt-qtail{opacity:.9;font-size:13px}
