/* Inventory only. Slot geometry comes from inventory-layout.json; no HUD overrides. */
.inventory-window[hidden]{display:none!important}.inventory-window{position:fixed;z-index:30;isolation:isolate;max-width:calc(100vw - 16px);color:#e4d5a4}.inventory-stage{position:absolute;left:0;top:0;transform-origin:top left;box-sizing:border-box;border:1px solid #bd9a45;border-radius:3px;background:#070906;box-shadow:inset 0 0 0 3px #3d2c13,0 4px 15px #0009;overflow:hidden}
.inventory-window,.inventory-window button,.inventory-window output,.inventory-window h2,.inventory-detail,.inventory-detail button,.inventory-detail input,.inventory-detail h2{font-family:'TG Vietnamese Serif',Georgia,serif!important}
.inventory-window button{box-sizing:border-box;min-width:0;min-height:0;margin:0;padding:0;box-shadow:none;border-radius:0;color:#e6d6a6;cursor:pointer;font-size:12px;line-height:1.25;background:#0b0d08;text-shadow:0 1px #000}
.inventory-window button:disabled{cursor:default;opacity:.42}.inventory-window button:focus-visible{outline:2px solid #f4d995;outline-offset:-2px}.inventory-window button:hover:not(:disabled){filter:brightness(1.2)}
.inventory-heading{position:absolute;left:3px;right:3px;top:3px;height:25px;display:grid;place-items:center;border-bottom:1px solid #a8873e;background:linear-gradient(100deg,#20180d,#2a2114,#16130b);color:#e8d399;font-size:17px;font-weight:600;line-height:25px}
.inventory-window [data-close]{position:absolute;right:3px;top:1px;width:23px;height:23px;border:1px solid #a8873e;border-radius:2px;background:#1b170d;font:23px/20px Georgia,serif!important}
.inventory-set-tabs{position:absolute;left:12px;top:32px;display:flex;gap:4px;height:20px}.inventory-window .inventory-set-tabs button,.inventory-window .inventory-page-tabs button{width:27px;height:20px;border:1px solid #68532e;background:#13140c;font-size:12px}
.inventory-window [role=tab][aria-selected=true]{color:#fff0b7;border-color:#d7b35c;background:#4a371b;box-shadow:inset 0 0 0 1px #725227}
.inventory-equipment{position:absolute;transform-origin:0 0}.inventory-window .inventory-equip-slot{position:absolute;display:grid;place-items:center;border:1px solid transparent;background:linear-gradient(145deg,#0b0d09,#060805);overflow:hidden;font-size:10px;letter-spacing:.5px;touch-action:none}
.inventory-equip-slot>span{display:block;max-width:calc(100% - 4px);text-align:center;padding:2px;overflow-wrap:normal}.inventory-equip-slot[data-slot=pet]>span{max-width:40px}.inventory-equip-slot[data-slot=artifact]>span,.inventory-equip-slot[data-slot=jade]>span,.inventory-equip-slot[data-slot=treasure]>span,.inventory-equip-slot[data-slot=treasure2]>span{max-width:35px}
.inventory-window .inventory-equip-slot.equipped{border-color:transparent}.inventory-equip-slot img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;image-rendering:pixelated;pointer-events:none}
.inventory-bag-title{position:absolute;left:3px;right:3px;height:26px;display:grid;place-items:center;margin:0;border-top:1px solid #9d7c35;border-bottom:1px solid #9d7c35;background:linear-gradient(100deg,#20180d,#2a2114,#16130b);color:#e8d399;font-size:17px!important;font-weight:600;line-height:25px}
.inventory-grid{position:absolute;display:grid;gap:0}.inventory-window .inventory-cell{position:relative;border:2px solid #10110a;outline:1px solid #aa914a;outline-offset:-3px;background:linear-gradient(140deg,#0b1009,#070a06);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.inventory-cell img{display:block;max-width:100%;max-height:100%;margin:auto;object-fit:contain;image-rendering:pixelated;pointer-events:none}.inventory-cell small{position:absolute;top:3px;left:4px;bottom:auto;right:auto;background:#0009;color:#fff1be;font:10px/1 Georgia,serif;z-index:2}.inventory-item-name{font-size:9px;display:block;overflow:hidden;max-height:32px}.inventory-window .inventory-cell.selected{outline:2px solid #fff0b7;outline-offset:-3px;background:#35351b}
.inventory-window .inventory-cell[data-equip-blocked="true"]{background:linear-gradient(rgba(220,38,38,.24),rgba(220,38,38,.24)),linear-gradient(140deg,#0b1009,#070a06)}
.inventory-window .inventory-cell{isolation:isolate}
.inventory-cell :is(canvas,img,.inventory-item-name){position:relative;z-index:1}
.inventory-window .inventory-cell::after{z-index:2}
.inventory-cell small{z-index:3}
.inventory-detail h2[data-quality=blue],.upgrade-selected-name[data-quality=blue]{color:#6997ff;text-shadow:-1px -1px #000,0 -1px #000,1px -1px #000,-1px 0 #000,1px 0 #000,-1px 1px #000,0 1px #000,1px 1px #000}
.inventory-page-tabs{position:absolute;left:0;right:0;height:22px;display:flex;justify-content:center;gap:5px}.inventory-actions{position:absolute;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;height:28px}.inventory-window .inventory-actions button{border:1px solid #a8873e;border-radius:1px;background:linear-gradient(#2e2415,#17130a);font-size:14px}
.inventory-money{position:absolute;display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px;height:26px;color:#eadab0;font-size:14px}.inventory-money output{box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:26px;min-width:0;border:1px solid #9d8748;background:#050904;color:#e8d8a4;font-size:14px;overflow:hidden}
.inventory-notice{position:absolute;top:100%;right:0;max-width:max(100%,200px);margin:3px 0 0;padding:3px 5px;background:#100f09dc;border:1px solid #66502b;color:#dfc993;font:10px/1.4 'TG Vietnamese Serif',Georgia,serif;overflow-wrap:anywhere;pointer-events:none}.inventory-notice:empty{display:none}
.inventory-detail{box-sizing:border-box;width:min(330px,calc(100vw - 20px));max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:15px;border:1px solid #bda052;border-radius:3px;background:linear-gradient(130deg,#241b10,#080b07);color:#e5d5a6;box-shadow:inset 0 0 0 2px #392a15,0 8px 36px #000b;overflow:auto;font:13px/1.5 'TG Vietnamese Serif',Georgia,serif}.inventory-detail::backdrop{background:#0006}.inventory-detail h2{margin:0 0 12px;color:#f1d893;font-size:16px}.inventory-detail p{margin:6px 0}.inventory-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}.inventory-detail button{min-height:40px;padding:6px 12px;border:1px solid #a8873e;border-radius:2px;background:#292014;color:#ead6a3;font:13px/1.3 'TG Vietnamese Serif',Georgia,serif}.inventory-detail button:disabled{opacity:.5}.inventory-detail label{display:flex;align-items:center;gap:8px}.inventory-detail input{box-sizing:border-box;width:92px;min-height:38px;border:1px solid #a8873e;border-radius:2px;background:#090c07;color:#f4e6b8;font-size:16px;padding:4px}.inventory-detail-error{color:#ffcd91}
/* Live announcements remain accessible without covering the approved bottom HUD. */
.inventory-notice{position:absolute;left:0;top:0;right:auto;bottom:auto;width:1px;height:1px;max-width:1px;margin:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
/* Original big artwork keeps its full transparent canvas and intrinsic aspect ratio. */
.inventory-window .inventory-equip-slot>.inventory-equipped-art{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;image-rendering:pixelated;justify-self:center;align-self:center;pointer-events:none}
.inventory-art-missing{color:#a89974;font-size:9px}
.inventory-window .inventory-equip-slot>canvas[data-item-icon],.inventory-window .inventory-equip-slot>img:not(.inventory-equipped-art){display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;justify-self:center;align-self:center;pointer-events:none}

.newcomer-items [data-quality=gold]>span{color:#f5d95a}

.skill-shop-good{text-align:center;border:1px solid #897034;padding:10px;margin:8px 0}.skill-shop-good h3{color:#f5d95a;font-size:15px}.skill-shop-good canvas,.skill-shop-good img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}.skill-shop-good label{justify-content:center}.skill-shop-good button{margin-top:10px}

.skill-training-boost{display:inline-flex;position:relative}.skill-training-boost small{position:absolute;right:0;bottom:0;color:#ffee69;background:#080a06d9;font:9px Georgia,serif;pointer-events:none}

.equipment-inspection .inspection-identity{position:absolute;top:32px;left:10px;right:10px;margin:0;text-align:center;font-size:12px;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-inspection .inspection-status{position:absolute;bottom:5px;left:8px;right:8px;margin:0;text-align:center;font-size:10px;line-height:14px}.equipment-inspection .inventory-equip-slot{touch-action:manipulation}.inspection-tooltip [data-inspect-tooltip-close]{width:100%;margin-top:10px}
/* Kỳ Trân Các: portrait iPhone, three source-sprite atlases loaded per tab. */
.ktc-window{box-sizing:border-box;width:min(440px,calc(100vw - 16px));max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0;border:1px solid #b49443;border-radius:12px;background:linear-gradient(145deg,#242516,#10150f 65%);color:#eee5c8;box-shadow:0 12px 60px #000b;font:14px Georgia,'Times New Roman',serif;overflow:hidden}.ktc-window[open]{display:flex;flex-direction:column}.ktc-window::backdrop{background:#0009}.ktc-window header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #806b38;background:linear-gradient(110deg,#35341d,#171c12)}.ktc-window header small{font-size:10px;letter-spacing:2px;color:#c7ad69}.ktc-window h2{margin:4px 0;font-size:21px;color:#f5dfa0}.ktc-window button{cursor:pointer;touch-action:manipulation;color:#e9d39c;border:1px solid #75602f;background:linear-gradient(#3e3c24,#222617);border-radius:5px;min-height:38px;font:inherit}.ktc-window header>button{width:40px;font-size:26px}.ktc-wallet{display:flex;gap:10px;align-items:center;padding:10px 14px;background:#11180eb3}.ktc-wallet canvas{width:32px;height:32px;image-rendering:pixelated}.ktc-wallet span{flex:1;font-size:12px}.ktc-wallet b{display:block;color:#ffd977;font-size:20px;font-variant-numeric:tabular-nums}.ktc-wallet button{padding:0 12px}.ktc-tabs{display:flex;gap:6px;padding:4px 12px 12px}.ktc-tabs button{flex:1;min-width:0;min-height:43px;padding:5px 2px;font-size:13px}.ktc-tabs button[aria-selected=true]{background:linear-gradient(#9f8040,#634e24);border-color:#ebcc7a;color:#fff5cb}.ktc-tabs small{margin-left:5px;font-size:10px;opacity:.7}.ktc-goods{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 12px 8px;display:flex;flex-direction:column;gap:8px}.ktc-good{display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:12px;row-gap:8px;padding:10px;border:1px solid #6c5c33;border-radius:7px;background:linear-gradient(110deg,#31331f88,#171e1588);flex-shrink:0}.ktc-good-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid #a68944;border-radius:6px;background:#090e07;box-shadow:inset 0 0 14px #776c3526}.ktc-good-icon canvas{max-width:54px;max-height:54px;object-fit:contain;image-rendering:pixelated}.ktc-good-info{min-width:0}.ktc-good h3{font-size:14px;line-height:19px;color:#f4dfa3;margin:0 0 3px}.ktc-good-info>button{font-size:11px;padding:0;border:0;border-bottom:1px dotted #9a906a;border-radius:0;background:none;min-height:22px;color:#b8c59c}.ktc-good-info>small{display:block;font-size:10px;color:#c0bba7}.ktc-buy-row{grid-column:1/-1;display:flex;gap:10px;align-items:center}.ktc-buy-row>strong{flex:1;color:#ffe095;font-size:17px;white-space:nowrap}.ktc-buy-row>strong span{font-size:11px;font-weight:normal;color:#c4ba97}.ktc-buy-row label{display:flex;gap:5px;align-items:center;font-size:10px;color:#b8b69c}.ktc-buy-row input{box-sizing:border-box;width:46px;height:36px;min-width:0;border:1px solid #6c613d;border-radius:4px;background:#0d140c;color:#fff5d1;font-size:16px;text-align:center}.ktc-buy-row>button{min-width:60px;min-height:38px;color:#fff0b6;background:linear-gradient(#796632,#4a4424);font-size:13px}.ktc-window footer{border-top:1px solid #6d5c30;padding:8px 14px 12px;background:#151c11;flex-shrink:0}.ktc-window footer p{font-size:12px;line-height:17px;margin:0 0 5px;color:#e8d895;max-height:68px;overflow-y:auto}.ktc-window footer>small{font-size:10px;color:#a6af95}.ktc-window button:disabled:disabled{opacity:.5;cursor:wait}.equipment-upgrade-stars{display:table;border:1px solid #e4be42;padding:2px 5px;margin:6px auto;color:#ffde4e;letter-spacing:1px}.equipment-line.fs-upgrade{color:#4295ff;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000}.newcomer-money canvas{width:28px;height:28px;vertical-align:middle;image-rendering:pixelated}.newcomer-money p{line-height:26px}.newcomer-money>button{width:100%}

.equipment-line.fs-stars{display:table;border:1px solid #e4be42;padding:2px 5px;margin:6px auto;color:#ffde4e;letter-spacing:1px}.skill-training-boost canvas{width:28px;height:28px;object-fit:contain}
.ktc-wallet>button{width:auto;flex:none}.ktc-buy-row>button{width:64px;flex:none}.ktc-good-info>button{width:auto;display:inline-block}.ktc-buy-row label{width:auto;flex:0 0 auto;white-space:nowrap}.ktc-buy-row>strong{min-width:0}.ktc-good-info h3{min-height:20px}.ktc-buy-row input{appearance:textfield}
/* Exact o ghep.png supplied by the user; transparent hit targets follow its eight-slot ring. */
/* The right side is the live inventory window, using its original stage and source geometry. */

.quick .empty-slot{position:relative;overflow:hidden}.quick .empty-slot canvas{display:block;width:32px;height:32px;max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.quick .empty-slot .quick-count{position:absolute;right:2px;bottom:1px;color:#fff0ac;font:10px/12px Georgia,serif;text-shadow:1px 1px #000}.inventory-quick-picker .inventory-cell:not(:has(canvas)){opacity:.55}

.inventory-sale-panel{position:absolute;right:0;top:8px;transform:translateX(calc(-100% - 8px));width:180px;padding:10px;background:#181309f5;border:1px solid #ae8637;border-radius:4px;color:#ead493;font:13px/1.5 Georgia,serif;z-index:8}.inventory-sale-panel[hidden]{display:none}.inventory-sale-panel header{display:flex;align-items:center;justify-content:space-between}.inventory-sale-panel button{background:#241b0d;border:1px solid #a17c35;color:#edcf80;font-size:20px}.inventory-sale-panel label{display:flex;align-items:flex-start;gap:5px}.inventory-sale-panel input{flex:none;accent-color:#ad873d}@media(max-width:520px){.inventory-sale-panel{position:fixed;left:8px;right:auto;top:130px;transform:none;width:140px}}

.inventory-window .inventory-sale-panel{box-sizing:border-box}.inventory-window .inventory-sale-panel header{position:static;height:auto;padding:0;margin:0;gap:6px}.inventory-window .inventory-sale-panel header b{font-size:12px;line-height:1.4}.inventory-window .inventory-sale-panel [data-sale-close]{position:static;flex:0 0 24px;width:24px;height:28px;font-size:20px}.inventory-window .inventory-sale-panel label{display:flex;width:auto;gap:6px;font-size:12px;line-height:1.5}.inventory-window .inventory-sale-panel label span{flex:1;min-width:0}.inventory-window .inventory-sale-panel input[type=checkbox]{width:16px;height:16px;min-height:0;margin:2px 0 0;padding:0;flex:0 0 16px}.inventory-window .inventory-sale-panel p{font-size:12px;line-height:1.5;margin:8px 0}

/* Native UiItem.ini empty-slot SPRs; visible item art replaces the placeholder. */
.inventory-window .inventory-equip-slot[data-slot="pet"]{--native-empty-slot:url("assets/ui/equipment-slots/pet-0.png");--native-slot-frame:url("assets/ui/equipment-slots/pet-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="helmet"]{--native-empty-slot:url("assets/ui/equipment-slots/helmet-0.png");--native-slot-frame:url("assets/ui/equipment-slots/helmet-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="artifact"]{--native-empty-slot:url("assets/ui/equipment-slots/artifact-0.png");--native-slot-frame:url("assets/ui/equipment-slots/artifact-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="cape"]{--native-empty-slot:url("assets/ui/equipment-slots/cape-0.png");--native-slot-frame:url("assets/ui/equipment-slots/cape-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="armor"]{--native-empty-slot:url("assets/ui/equipment-slots/armor-0.png");--native-slot-frame:url("assets/ui/equipment-slots/armor-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="weapon"]{--native-empty-slot:url("assets/ui/equipment-slots/weapon-0.png");--native-slot-frame:url("assets/ui/equipment-slots/weapon-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="treasure"]{--native-empty-slot:url("assets/ui/equipment-slots/treasure-0.png");--native-slot-frame:url("assets/ui/equipment-slots/treasure-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="jade"]{--native-empty-slot:url("assets/ui/equipment-slots/jade-0.png");--native-slot-frame:url("assets/ui/equipment-slots/jade-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="treasure2"]{--native-empty-slot:url("assets/ui/equipment-slots/treasure2-0.png");--native-slot-frame:url("assets/ui/equipment-slots/treasure2-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="belt"]{--native-empty-slot:url("assets/ui/equipment-slots/belt-0.png");--native-slot-frame:url("assets/ui/equipment-slots/belt-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="boots"]{--native-empty-slot:url("assets/ui/equipment-slots/boots-0.png");--native-slot-frame:url("assets/ui/equipment-slots/boots-frame.png")}
.inventory-window .inventory-equip-slot[data-slot="mount"]{--native-empty-slot:url("assets/ui/equipment-slots/mount-0.png");--native-slot-frame:url("assets/ui/equipment-slots/mount-frame.png")}
.inventory-window .inventory-equip-slot:not(.equipped){background:transparent var(--native-empty-slot) center/100% 100% no-repeat;background-origin:border-box;image-rendering:pixelated}
.inventory-window .inventory-equip-slot:not(.equipped)>span{visibility:hidden}
.inventory-window .inventory-equip-slot.equipped{background:transparent}
.equipment-inspection .inventory-equip-slot:disabled{opacity:1}

/* Reserve the native frame's inner margin so worn artwork never covers its edges. */
.inventory-window .inventory-equip-slot.equipped{background:transparent var(--native-slot-frame) center/100% 100% no-repeat;background-origin:border-box}
.inventory-window .inventory-equip-slot.equipped>:is(.inventory-equipped-art,canvas[data-item-icon],img){position:absolute;left:4px;top:4px;width:calc(100% - 8px);height:calc(100% - 8px);max-width:calc(100% - 8px);max-height:calc(100% - 8px);object-fit:contain;object-position:center;pointer-events:none}

.inventory-set-switch{position:absolute;right:12px;top:34px;height:24px;display:flex;align-items:center;gap:4px;color:#e4d5a4;font-size:11px}.inventory-set-switch button{min-width:0;min-height:0;margin:0;padding:0}.inventory-set-switch .native-toolbar-button-art{pointer-events:none}

.inventory-set-switch{gap:0}.inventory-set-switch .native-toolbar-button{position:relative;display:block;overflow:hidden;border:0;background:none;box-shadow:none}.inventory-set-switch .native-toolbar-button-art{position:absolute;max-width:none}

.inventory-transfer-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.inventory-transfer-pages button{display:flex;align-items:center;justify-content:center;text-align:center}

.inventory-auto-sale{display:flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;border:1px solid #a8873e;border-radius:1px;background:linear-gradient(#2e2415,#17130a);font-size:14px;line-height:1.2;color:#eadab0;cursor:pointer;text-align:center}.inventory-auto-sale input{appearance:auto;flex:none;width:13px;height:13px;min-height:0;padding:0;margin:0;accent-color:#bd9c49;cursor:pointer}

.inventory-window .inventory-actions{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}
.inventory-window .inventory-actions>button,.inventory-window .inventory-auto-sale{box-sizing:border-box;height:28px;min-height:28px;margin:0}
.inventory-window .inventory-auto-sale{position:relative;display:block;padding:0;overflow:hidden}
.inventory-window .inventory-actions .inventory-auto-sale>button{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;min-height:0;padding:0 24px 0 0;margin:0;border:0;background:transparent}
.inventory-window .inventory-actions .inventory-auto-sale>button[aria-pressed="true"]{color:#ffdf69;background:#69501f}
.inventory-window .inventory-auto-sale input{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:13px;height:13px;margin:0}
/* Mount name colors come from source/crafting eligibility; outline never changes item rarity. */
.inventory-detail h2,.equipment-inspection-detail h2,.upgrade-selected-name,.newcomer-items button>span{text-shadow:-1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,-1px 0 0 #000,1px 0 0 #000,-1px 1px 0 #000,0 1px 0 #000,1px 1px 0 #000}
/* Shop pages keep the portrait panel bounded; item cards never scroll. */
.ktc-window .ktc-goods{overflow:hidden;flex:0 0 auto}
.ktc-window .ktc-pages{display:flex;justify-content:center;align-items:center;gap:12px;padding:4px 12px;flex-shrink:0}
.ktc-window .ktc-pages button{min-width:64px;text-align:center}
.offline-reward-dialog .offline-reward-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.offline-reward-dialog .offline-reward-actions button{min-height:36px;margin:0;text-align:center}
.offline-reward-dialog:not([open]),.offline-reward-dialog[hidden]{display:none!important}
