/* Scene Dung Luyện / Cải Tiến Phi Kiếm (Owner 2026-10-13) — js/modules/tien-hiep-phikiem-forge.js. Toạ độ ô tính theo % khung ảnh nền 1672×941. */
[data-theme="tien_hiep"] .th-pkf-scene{position:fixed;inset:0;z-index:1;display:grid;place-items:center;overflow:auto;background:#071019;color:#fff;font-family:inherit}
.th-pkf-stage{position:relative;width:min(100vw,calc(100dvh * 1.776));aspect-ratio:1672/941;background-color:#10202c;background-position:center;background-size:100% 100%;background-repeat:no-repeat;overflow:hidden}
.th-pkf-stage.is-no-art{background-image:radial-gradient(ellipse at 50% 40%,#25414a,#0b1620 70%) !important}
.th-pkf-bar{position:absolute;z-index:5;left:1.2%;top:2%;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.th-pkf-bar button{pointer-events:auto;cursor:pointer;border:1px solid rgba(212,175,55,.7);background:rgba(8,26,30,.78);color:#f5e7b8;border-radius:8px;padding:5px 12px;font-size:clamp(11px,1.2vw,15px)}
.th-pkf-bar .th-pkf-tab.is-active{background:rgba(212,175,55,.9);color:#2a1d00;font-weight:700;cursor:default}
.th-pkf-slot{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;border-radius:50%;padding:4px;color:#fff;font-size:clamp(9px,1vw,13px);line-height:1.15;cursor:default;border:0;background:transparent}
.th-pkf-stage.is-no-art .th-pkf-slot{background:rgba(6,34,32,.7);border:2px solid rgba(212,175,55,.65);box-shadow:inset 0 0 18px rgba(0,0,0,.6)}
button.th-pkf-slot{cursor:pointer}
.th-pkf-target,.th-pkf-fodder{border-radius:50%}
.th-pkf-ngoc,.th-pkf-phu{border-radius:14px}
.th-pkf-ngoc{aspect-ratio:1.2}.th-pkf-phu{aspect-ratio:.62}
.th-pkf-hint{opacity:.75;font-size:clamp(10px,1.1vw,14px)}
.th-pkf-ic{width:46%;max-height:46%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7))}
.th-pkf-nm{font-weight:700;font-size:clamp(10px,1.15vw,15px);text-shadow:0 1px 3px #000}
.th-pkf-slot small{opacity:.9;text-shadow:0 1px 3px #000}
.th-pkf-ngoc img,.th-pkf-stone>img,.th-pkf-phu img{width:46%;max-height:50%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7))}
.th-pkf-ngoc.is-short b{color:#ff8a7a}
.th-pkf-stone.is-off,.th-pkf-phu.is-off{opacity:.4;pointer-events:none}
.th-pkf-phu.is-on{outline:3px solid #ffd76a;box-shadow:0 0 14px rgba(255,215,106,.7)}
.th-pkf-qty{display:flex;align-items:center;gap:3px}
.th-pkf-qty button{width:1.5em;height:1.5em;border-radius:50%;border:1px solid #d4af37;background:rgba(0,0,0,.55);color:#ffe9a8;cursor:pointer;line-height:1;padding:0}
.th-pkf-gauge{position:absolute;transform:translate(-50%,-50%);height:5.5%;border-radius:999px;background:rgba(0,0,0,.55);border:2px solid rgba(212,175,55,.75);overflow:hidden}
.th-pkf-gauge i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#2d9f8a,#7be0c3,#ffe28a);transition:width .25s ease}
.th-pkf-gauge span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-weight:700;font-size:clamp(10px,1.2vw,16px);text-shadow:0 1px 3px #000}
.th-pkf-expbar{position:absolute;transform:translate(-50%,-50%);height:4.2%;border-radius:999px;background:rgba(0,0,0,.55);border:2px solid rgba(212,175,55,.6);overflow:hidden}
.th-pkf-expbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#6c4ad0,#b79cff)}
.th-pkf-expbar span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:clamp(9px,1vw,13px);text-shadow:0 1px 3px #000}
.th-pkf-expbar.is-short{border-color:#ff7a68}
/* Nền nút đã được vẽ sẵn trong artwork; HTML chỉ phủ CHỮ. Không tự tạo đĩa tròn/viền bằng CSS. */
.th-pkf-go{position:absolute;transform:translate(-50%,-50%);aspect-ratio:1;border:0;background:transparent;color:#fff4c9;font-weight:800;font-size:clamp(10px,1.35vw,18px);text-shadow:0 1px 3px #000,0 0 0 transparent;cursor:pointer;line-height:1.1;padding:0;transition:color .18s ease,text-shadow .18s ease}
.th-pkf-go:not(:disabled):hover,.th-pkf-go:not(:disabled):focus-visible{color:#fffbe8;text-shadow:0 1px 3px #382000,0 0 7px rgba(255,221,115,.95),0 0 16px rgba(255,181,48,.7);outline:0}
.th-pkf-go:disabled{color:rgba(255,244,201,.42);text-shadow:0 1px 3px #000;cursor:not-allowed}
.th-pkf-info{position:absolute;left:50%;bottom:1.2%;transform:translateX(-50%);max-width:70%;text-align:center;font-size:clamp(10px,1.1vw,14px);text-shadow:0 1px 3px #000;pointer-events:none}
.th-pkf-info.is-warn{color:#ffd0a0}
.th-pkf-layer{position:absolute;inset:0;z-index:20;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}
.th-pkf-layer[hidden]{display:none}
.th-pkf-modal{width:min(520px,88%);max-height:86%;overflow:auto;background:linear-gradient(#10303a,#0b1d27);border:2px solid #d4af37;border-radius:12px;padding:14px 16px;box-shadow:0 12px 40px rgba(0,0,0,.6);font-size:14px}
.th-pkf-modal h3{margin:0 0 8px;font-size:17px;color:#ffe9a8}
.th-pkf-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto;margin:6px 0 10px}
.th-pkf-row{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid rgba(212,175,55,.45);background:rgba(0,0,0,.28);color:#fff;border-radius:8px;padding:6px 8px;cursor:pointer}
.th-pkf-row:not(:disabled):hover{background:rgba(212,175,55,.18)}
.th-pkf-row.is-selected{box-shadow:0 0 0 2px rgba(255,229,130,.8),inset 0 0 18px rgba(212,175,55,.15)}
.th-pkf-row.is-short{border-color:#db6257;color:rgba(255,235,231,.78);cursor:not-allowed}
.th-pkf-row.is-short .th-pkf-nm{color:#ffb0a5}
.th-pkf-row .th-pkf-ic{width:40px;height:40px;max-height:none}
.th-pkf-empty,.th-pkf-sub{opacity:.8;margin:4px 0}
.th-pkf-x,.th-pkf-no,.th-pkf-yes{border:1px solid #d4af37;background:rgba(0,0,0,.4);color:#ffe9a8;border-radius:8px;padding:6px 16px;cursor:pointer;margin-top:6px}
.th-pkf-yes{background:#b8872a;color:#1d1200;font-weight:700}
.th-pkf-confirm div{display:flex;gap:10px;justify-content:flex-end}
.th-pkf-compose-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.th-pkf-compose-action{border:1px solid #d4af37;background:rgba(42,108,78,.82);color:#fff4c9;border-radius:8px;padding:6px 12px;cursor:pointer;font-weight:700}
.th-pkf-compose-action:hover:not(:disabled){background:rgba(58,141,101,.95)}
.th-pkf-compose-action:disabled{opacity:.45;cursor:not-allowed}
.th-pkf-result.is-ok h3{color:#9bf0bf} .th-pkf-result.is-bad h3{color:#ff9a8a}
.th-pkf-stage.is-ok::after,.th-pkf-stage.is-bad::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:6;animation:thPkfFlash .7s ease-out both}
.th-pkf-stage.is-ok::after{background:radial-gradient(ellipse at 20% 42%,rgba(179,255,245,.5),transparent 45%)}
.th-pkf-stage.is-bad::after{background:radial-gradient(ellipse at 20% 42%,rgba(255,111,92,.45),transparent 45%)}
@keyframes thPkfFlash{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@media (max-width:760px){[data-theme="tien_hiep"] .th-pkf-scene{display:block;overflow:auto}.th-pkf-stage{width:720px;max-width:none;margin:calc((100dvh - 405px)/2) auto}}
