/* Asset Pack 02. Coordinates are in the existing 1920 × 1080 game canvas.
   The inventory shares its outer frame and party deck with exploration. */
.game-shell .view-frame .inventory-modal>.modal-body{padding:0;overflow:hidden;background:#13100d}
.inventory-workspace{position:relative;width:1856px;height:724px;color:#cfbfa4;font:20px/1.4 var(--heading);opacity:0;transition:opacity .16s}
.inventory-workspace.art-ready{opacity:1}
.inventory-workspace section{position:absolute;top:0;height:724px;margin:0;padding:0;background:none;border:0}
.inventory-character-panel{left:0;width:572px}.inventory-backpack-panel{left:584px;width:808px}.inventory-details-panel{left:1404px;width:452px}
.inventory-surface,.inventory-slot-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.inventory-workspace header{position:absolute;top:12px;left:20px;height:42px;width:calc(100% - 40px);display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none;z-index:2}
.inventory-workspace header h2{position:relative;margin:0;font:500 25px var(--heading);letter-spacing:.07em;color:#d7c5a4;text-shadow:0 2px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:95%}
.inventory-workspace header small{font-size:20px;color:#aa987b}
.inventory-details-panel header{left:40px;width:372px}
.inventory-figure-window{position:absolute;left:44px;top:88px;width:336px;height:568px;overflow:hidden;contain:paint;isolation:isolate;pointer-events:none}
.inventory-stage{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.inventory-character{position:absolute;left:12px;top:12px;width:calc(100% - 24px);height:calc(100% - 28px);object-fit:contain;object-position:center bottom;pointer-events:none}
.inventory-workspace .inventory-gear{position:absolute;left:400px;width:132px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden;color:#cabb9e}
.inventory-slot-label{position:absolute;left:7px;right:7px;top:6px;z-index:3;font:16px var(--heading);text-shadow:0 2px 3px #000}
.inventory-gear .catalog-art{position:absolute;left:8px;top:27px;width:116px;height:calc(100% - 52px);object-fit:contain;filter:none!important;pointer-events:none}
.inventory-ghost{position:absolute;left:24px;top:50%;width:84px;height:84px;object-fit:contain;transform:translateY(-42%);pointer-events:none;opacity:.55}
.game-shell .inventory-grid.pack-board{position:absolute;left:20px;top:64px;width:768px;height:612px;min-height:0;max-height:none;margin:0;padding:0;aspect-ratio:auto;box-sizing:border-box;overflow:visible;transform:none;background:none!important}
.game-shell .inventory-grid .inventory-cell{position:absolute;margin:0;padding:0;min-height:0;border:0;border-radius:0;display:block;overflow:hidden;transform:none;background:none!important;box-shadow:none!important}
.inventory-grid .inventory-cell .catalog-art{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);max-width:none;max-height:none;object-fit:contain;filter:none!important;pointer-events:none}
.game-shell .inventory-workspace .custom-footprint{border:14px solid transparent!important;border-image:url('./assets/ui/inventory/Grid/ui_slot_9slice_source.png') 14 fill stretch!important}
.game-shell .inventory-workspace :is(.inventory-cell,.inventory-gear):focus-visible{outline:2px solid #b4c8c8!important;outline-offset:-5px!important}
.inventory-condition{position:absolute;right:12px;bottom:7px;font:16px var(--sans);color:#c0ae89;text-shadow:0 1px 4px #000;pointer-events:none;z-index:3}
.inventory-stack{position:absolute;right:5px;bottom:5px;min-width:40px;height:30px;padding:2px 10px;font:19px var(--heading);color:#e5d6b4;text-align:center;pointer-events:none;z-index:3}
.inventory-stack span{position:relative}.inventory-cell.dragging{opacity:.45}
.inventory-workspace button:disabled .catalog-art{filter:brightness(.45) saturate(.35)!important}
.inventory-drop-preview{position:absolute;z-index:8;pointer-events:none;opacity:.9;background:#13271788}
.inventory-drop-preview[data-valid=false]{background:#421a1488}
.inventory-drop-preview .drop-status{position:absolute;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 4px #000)}
.inventory-gear>.drop-status{position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);z-index:5;pointer-events:none}
.inventory-preview{position:absolute;left:50px;top:64px;width:352px;height:278px;display:flex;align-items:center;justify-content:center}
.inventory-preview .catalog-art{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.inventory-detail-empty{width:130px;height:130px;object-fit:contain;opacity:.4}
.inventory-description{position:absolute;left:50px;top:353px;width:352px;height:322px;overflow:auto;scrollbar-width:thin;scrollbar-color:#6b5438 #211b14;overscroll-behavior:contain;padding-right:5px;box-sizing:border-box}
.inventory-details-panel:has(.inventory-item-actions:not(:empty)) .inventory-description{height:212px}
.inventory-description h3{margin:0 0 12px;font:500 25px/1.15 var(--heading);color:#dac8a8;overflow-wrap:anywhere}
.inventory-description p{font:19px/1.5 var(--heading);margin:8px 0;white-space:pre-line;color:#b9ab92;overflow-wrap:anywhere}
.inventory-description .inventory-category{font-size:16px;color:#9c8d72}
.inventory-item-actions{position:absolute;left:50px;top:580px;width:352px;height:118px;display:flex;flex-wrap:wrap;gap:8px;align-content:start;overflow:auto}
.inventory-item-actions button,.inventory-deck-tools button{font:18px var(--heading);min-height:36px;padding:5px 13px;color:#cbbb9c;background:#211c14bb;border:1px solid #645136;border-radius:0;box-shadow:none}
.inventory-item-actions button:hover,.inventory-deck-tools button:hover{background:#423521;color:#efdfbc}
.inventory-item-actions label{display:flex;align-items:center;gap:8px;font-size:16px}
.inventory-item-actions select{font:17px var(--heading);max-width:170px;background:#241e15;color:#cbbb9c;border:1px solid #645136;padding:4px}
.inventory-turn-note{position:absolute;left:26px;bottom:9px;margin:0;font:17px var(--heading);color:#c8ad7a}
.inventory-deck{position:absolute;inset:0;pointer-events:none}
.inventory-deck-tools{position:absolute;left:790px;top:20px;width:590px;height:212px;display:flex;align-items:center;gap:36px;pointer-events:auto}
.inventory-class-symbol{width:116px;height:116px;object-fit:contain;opacity:.8;pointer-events:none}
.inventory-bag-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-height:202px;overflow:auto}
.inventory-resources{position:absolute;left:1416px;top:20px;width:452px;height:212px;padding:22px 34px;box-sizing:border-box;pointer-events:auto;color:#c5b697;font:21px var(--heading)}
.inventory-resource{position:relative;display:flex;align-items:center;height:47px;gap:12px}.inventory-resource strong{font-weight:400;margin-left:auto}
.inventory-resource-icon{width:34px;height:34px;object-fit:contain;pointer-events:none}
.inventory-resources .key-pocket{position:relative;margin:12px 0 0;font:18px var(--heading)}
.inventory-resources .key-pocket summary{padding:4px;color:#b9a889;cursor:pointer}
.inventory-resources .key-pocket[open]>div{position:absolute;right:0;bottom:42px;width:340px;max-height:300px;overflow:auto;background:#19160ff5;border:1px solid #756144;z-index:30;padding:14px}
.inventory-resources .key-pocket>p{display:none}
.game-shell[data-ui-screen=inventory] .battle-log{display:none}
.inventory-art-error{border:1px dashed #a37845!important;background:#251c10!important}
.inventory-art-error:after{content:'◇';position:absolute;inset:30%;font:38px serif;color:#b9aa91;text-align:center;pointer-events:none}
.game-shell .inventory-modal .modal-notice:not(:empty){left:620px;right:480px;bottom:10px;font-size:18px;background:#292118f5}
@media(prefers-reduced-motion:reduce){.inventory-workspace{transition:none}}

.loot-flight{z-index:10000;pointer-events:none;will-change:transform,opacity}
.loot-flight.pickup-css{animation:inventory-pickup var(--pickup-duration,1100ms) ease-in-out forwards}
@keyframes inventory-pickup{0%{transform:translate(0,0) scale(1);opacity:1}65%{transform:translate(calc(var(--pickup-x)*.65),calc(var(--pickup-y)*.65)) scale(.55);opacity:1}88%{transform:translate(calc(var(--pickup-x)*.9),calc(var(--pickup-y)*.9)) scale(.2);opacity:1}100%{transform:translate(var(--pickup-x),var(--pickup-y)) scale(.03);opacity:0}}
.game-shell .control-deck .hero-orb.received-item .orb-frame{filter:drop-shadow(0 0 15px #dbc18aaa)}

.inventory-cell.custom-footprint.chosen:after,.inventory-cell.custom-footprint:hover:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 2px #c6ad76;pointer-events:none}
.inventory-loading{position:absolute;left:620px;top:340px;width:770px;text-align:center;color:#b9a88b;font:24px var(--heading);pointer-events:none}
.inventory-workspace.art-ready+.inventory-loading{display:none}
