/* Compact interaction surfaces. Item grids come before explanations. */
.game-layout #garage-modal .dialog,.game-layout #gear-modal .dialog{width:min(900px,96vw)!important;padding:16px!important;max-height:calc(100dvh - 32px)!important;border-radius:3px}
.game-layout #garage-modal .dialog>h2,.game-layout #gear-modal .dialog>h2{font-size:17px;line-height:24px;margin:0 44px 10px 0}
.game-layout #garage-modal .dialog>.close,.game-layout #gear-modal .dialog>.close{position:absolute;top:8px;right:8px;float:none;width:36px;min-width:36px;min-height:36px;z-index:7;background:#172326}
.game-layout #garage-modal .dialog{display:flex;flex-direction:column;overflow:hidden}
#garage-content{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin}
.game-layout .compact-help,.game-layout .compact-description{margin:4px 0 8px;font-size:11px;color:#b1bfb8}
.game-layout :is(.compact-help,.compact-description)>summary{cursor:pointer;min-height:28px;line-height:28px;color:#c7c7b2;font-size:11px}
.game-layout :is(.compact-help,.compact-description) p{font-size:12px;line-height:1.5;margin:6px 0}
.facility-meta{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:0 0 6px;color:#a7b9b0;font-size:11px}
.facility-meta .compact-help{margin:0}.facility-meta>small{line-height:28px}
.game-layout #garage-content :is(.workshop-blueprints,.vehicle-grid,.kitchen-recipes,.bench-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}
.game-layout #garage-content :is(.workshop-blueprint,.vehicle-card,.kitchen-recipe,.life-card){padding:10px!important;min-height:0;box-shadow:none;background:#172b2e!important;display:flex;flex-direction:column;gap:5px;align-items:stretch}
.game-layout #garage-content :is(.workshop-blueprint,.vehicle-card,.kitchen-recipe,.life-card) :is(h3,p,small){margin:0;min-height:0}
.game-layout #garage-content :is(.workshop-blueprint,.vehicle-card,.kitchen-recipe,.life-card) h3{font-size:12px;line-height:1.4}
.game-layout #garage-content :is(.workshop-preview,.vehicle-art,.rail-preview,.kitchen-recipe>img){width:72px!important;height:48px!important;object-fit:contain;align-self:center;margin:0;image-rendering:pixelated}
.game-layout #garage-content :is(.workshop-blueprint,.vehicle-card,.kitchen-recipe,.life-card) button{min-height:32px;padding:4px 8px;font-size:11px;margin:0}
.game-layout #garage-content .build-cost{font-size:10px;line-height:1.5}.game-layout #garage-content .vehicle-spec{font-size:11px}
.game-layout #garage-content .workshop-recipe{padding:10px;gap:4px 10px;margin:6px 0;grid-template-columns:40px 1fr auto}
.game-layout #garage-content .workshop-recipe img{width:36px;height:36px}.game-layout #garage-content .workshop-recipe h3{font-size:13px}.game-layout #garage-content .workshop-recipe p{font-size:11px}
.game-layout .refinery-summary{display:block;padding:0;background:transparent;margin:0 0 6px}.game-layout .refinery-summary>div{padding:8px}
.game-layout .refining-recipes{gap:6px}.game-layout .refinery-recipe{padding:8px;gap:6px}.game-layout .queue-empty{font-size:11px;margin:4px 0}
.game-layout .enhancement-workbench{margin:4px 0 12px}.game-layout .life-heading{font-size:14px;margin:8px 0}.game-layout .enhancement-heading h3{margin:0}.game-layout .enhancement-item{min-height:48px;padding:4px}
.game-layout #gear-content>.set-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;margin:4px 0;gap:2px}.game-layout #gear-content>.set-tabs button{flex:none;font-size:11px;padding:6px 10px;min-height:36px}
.game-layout #gear-content .gear-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.game-layout #gear-content .gear-card{padding:10px!important;box-shadow:none;gap:3px}.game-layout #gear-content .gear-art{width:42px;height:42px;margin:0 auto}.game-layout #gear-content .gear-card h3{font-size:12px;margin:5px 0}.game-layout #gear-content .gear-card p{flex:none;min-height:0;font-size:11px;line-height:1.4;margin:3px 0}.game-layout #gear-content .gear-card small{font-size:10px}.game-layout #gear-content .gear-card button{min-height:40px;padding:5px 8px}.game-layout #gear-content .gear-card .compact-description{margin:0}
/* Storage: paired inventories, one action strip instead of buttons in every cell. */
.game-layout #garage-modal .dialog[data-workshop^=storage]{height:min(620px,calc(100dvh - 32px))}
.game-layout [data-workshop^=storage] #garage-content{display:flex;flex:1;flex-direction:column;overflow:hidden}
.storage-toolbar{display:flex;align-items:center;justify-content:space-between;position:relative;gap:8px;min-height:30px;flex:none}
.storage-capacity{font-size:12px;color:#c8d2c6}.storage-options{font-size:11px;z-index:6}.storage-options>summary{cursor:pointer;min-height:30px;padding:5px 12px;list-style:none;color:#dfc995;background:#243a3d}
.storage-options[open]{position:absolute;right:0;top:0;width:min(320px,100%);max-height:350px;overflow:auto;background:#1c3034;padding:10px;box-shadow:0 8px 30px #0009}
.storage-options[open]>summary{margin-bottom:8px}.storage-options p{font-size:11px!important;margin:8px 0!important}.storage-options button{font-size:12px;min-height:36px;margin-top:5px}.storage-options input{width:100%;box-sizing:border-box}.storage-options label{margin-top:10px}
.storage-pane-switch{display:none}.storage-inventories{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;min-height:0;margin:6px 0 10px}
.storage-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.storage-pane h3{font-size:12px!important;margin:0!important;line-height:32px;color:#d9d6b9}
.storage-bag-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.game-layout .storage-bag-heading button{font-size:11px;min-height:32px;padding:5px 10px}
.game-layout .storage-tabs{position:static;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:2px;margin:0 0 6px;padding:0;background:none;flex:none}
.game-layout .storage-tabs button{flex:none;min-height:34px;padding:4px 9px;font-size:11px;border:0;border-image:none;background:#1b3034;white-space:nowrap}.game-layout .storage-tabs button[aria-pressed=true]{background:#36504e;color:#efdaad}
.game-layout .storage-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:58px;align-content:start;gap:4px;overflow:auto;min-height:0;scrollbar-width:thin;padding:2px;flex:1}
.game-layout .item-slot{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:58px;min-height:58px;padding:3px;border:0;border-image:none;box-shadow:inset 0 1px #ffffff09;background:#243b3d;border-radius:2px}
.game-layout .item-slot:hover{background:#324c4c}.game-layout .item-slot[aria-pressed=true]{background:#45564a;box-shadow:inset 0 -3px #d1bb7b}.game-layout .item-slot:focus-visible{outline:2px solid #dfc98a;outline-offset:-2px}
.game-layout .item-slot.empty-item{opacity:.3;filter:none}.game-layout .item-slot .asset-icon{width:38px;height:38px;margin:0;image-rendering:pixelated;pointer-events:none}
.slot-count{position:absolute;right:4px;bottom:2px;font-size:10px;line-height:14px;font-variant-numeric:tabular-nums;color:#ede5ca;text-shadow:0 1px 2px #000}.slot-locked{position:absolute;top:2px;left:3px;font-size:8px;color:#e6c480}.storage-empty{grid-column:1/-1;font-size:12px!important}
.storage-transfer{flex:none;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:3px 8px;align-items:center;min-height:56px;padding:8px;background:#1d3235}
.storage-transfer>.asset-icon{width:32px;height:32px;grid-row:1/3;image-rendering:pixelated}.storage-transfer>strong{font-size:12px;grid-column:2}.storage-transfer>small{font-size:11px;color:#adbbb4;grid-column:2}.storage-transfer-controls{grid-column:3;grid-row:1/3;display:flex;gap:4px;min-width:0;width:max-content;justify-self:end}.game-layout .storage-transfer-controls input{flex:0 0 64px;width:64px;max-width:64px;box-sizing:border-box;height:36px;min-width:0;min-height:36px;background:#10252a;border:0;color:#e7dfc7;padding:4px 7px;font-size:13px}.game-layout .storage-transfer-controls button{flex:0 0 auto;width:auto;white-space:nowrap;word-break:keep-all;border:0;border-image:none;font-size:12px;padding:5px 10px;min-height:36px}
/* Backpack uses the same slot density and pins selected-item controls below it. */
.game-layout aside.game-drawer[data-panel=inventory]{width:min(460px,calc(100vw - 24px));top:66px;bottom:80px;right:12px;height:auto;max-height:none;padding:16px 12px 10px;overflow:hidden}
.game-layout .game-drawer[data-panel=inventory]>.inventory{display:flex!important;flex-direction:column;height:100%;min-height:0;overflow:hidden;gap:6px;padding:0}
.game-layout .inventory .panel-title{padding:0 44px 2px 0;font-size:13px;flex:none;min-height:24px}
.game-layout .inventory-filters{margin:0;min-height:32px;flex:none;gap:2px;overflow-x:auto}.game-layout .inventory-filters button{min-height:32px;font-size:11px;padding:4px 9px}
.game-layout #inventory{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:58px;gap:4px;flex:1;min-height:100px;max-height:none;padding:2px;overflow:auto}
.game-layout .inventory .slot{position:relative;display:flex;align-items:center;justify-content:center;height:58px;min-height:58px;width:100%;padding:3px;border:0;border-image:none;background:#243b3d;border-radius:2px;box-shadow:inset 0 1px #ffffff09}
.game-layout .inventory .slot[aria-pressed=true]{background:#45564a;box-shadow:inset 0 -3px #d1bb7b}.game-layout .inventory .slot .asset-icon{width:38px;height:38px;margin:0}.game-layout .inventory .slot .item-name{display:none}.game-layout .inventory .slot .count{position:absolute;right:4px;bottom:2px;font-size:10px;line-height:14px}.game-layout .inventory .slot .pickup-badge{position:absolute;left:2px;top:1px;font-size:8px}.game-layout .bag-locked-row{padding:4px;font-size:10px}
.game-layout #inventory-detail{flex:none;margin:0;padding:8px 8px 8px 46px;max-height:34vh;overflow:auto;background:#1d3235}.game-layout #inventory-detail>.asset-icon{position:absolute;left:7px;top:8px;width:32px;height:32px}.game-layout #inventory-detail strong{font-size:12px}.game-layout #inventory-detail small{font-size:10px}.game-layout #inventory-detail p{font-size:11px;line-height:1.4;margin:4px 0}
.game-layout #inventory-detail .inventory-drop-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.game-layout #inventory-detail button{min-height:32px;padding:4px 7px;font-size:11px}.game-layout #inventory-detail input{width:52px;min-height:32px}.game-layout #inventory-detail label{font-size:11px}.game-layout #inventory-detail .compact-description{margin:3px 0 0}.game-layout #bag-upgrade{margin:0;flex:none;max-height:140px;overflow:auto}.game-layout #bag-upgrade summary{min-height:28px;line-height:28px;padding:0 6px;font-size:11px}.game-layout .inventory .craft-open{display:none}
@media(max-width:700px){
 .game-layout #garage-modal .dialog,.game-layout #gear-modal .dialog{width:calc(100vw - 16px)!important;padding:12px!important;max-height:calc(100dvh - 16px)!important}
 .game-layout #garage-modal .dialog[data-workshop^=storage]{height:min(660px,calc(100dvh - 16px))}
 .game-layout #garage-content :is(.workshop-blueprints,.vehicle-grid,.kitchen-recipes,.bench-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .game-layout #garage-content :is(.workshop-blueprint,.vehicle-card,.kitchen-recipe,.life-card) button{min-height:40px}
 .game-layout #gear-content .gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .storage-pane-switch{display:flex;gap:4px;margin:6px 0}.game-layout .storage-pane-switch button{flex:1;min-height:40px;font-size:12px;padding:5px}.game-layout .storage-pane-switch button[aria-pressed=true]{background:#36504e;color:#efdaad}
 .storage-inventories{display:flex;margin-top:0}.storage-pane{width:100%}.storage-inventories[data-pane=chest] .storage-bag,.storage-inventories[data-pane=bag] .storage-chest{display:none}.storage-pane>h3{display:none}.storage-bag-heading h3{display:none}.storage-bag-heading{justify-content:flex-end}
 .game-layout .storage-tabs button{min-height:40px}.storage-transfer{grid-template-columns:32px minmax(0,1fr)}.storage-transfer-controls{grid-column:1/-1;grid-row:auto;justify-content:flex-end}.game-layout .storage-transfer-controls button,.storage-transfer-controls input{min-height:42px}
 .game-layout aside.game-drawer[data-panel=inventory]{top:56px;bottom:70px;left:8px;right:8px;width:auto;padding:12px 10px 8px}.game-layout .inventory-filters button,.game-layout #inventory-detail button{min-height:40px}.game-layout #inventory-detail{max-height:35vh}
 .facility-meta>small{font-size:10px}.game-layout #garage-content .workshop-recipe{grid-template-columns:32px 1fr auto}.game-layout #garage-content .workshop-recipe button{grid-column:3;grid-row:1/4;font-size:11px;min-height:40px;padding:4px}
}
@media(max-height:500px){.game-layout [data-workshop^=storage] .storage-inventories{display:grid;grid-template-columns:1fr 1fr}.game-layout [data-workshop^=storage] .storage-pane{display:flex}.storage-pane-switch{display:none}.game-layout .storage-transfer{min-height:40px;padding:4px}.game-layout .storage-transfer-controls{grid-column:3;grid-row:1/3}.game-layout aside.game-drawer[data-panel=inventory]{top:8px;bottom:8px}.game-layout #inventory-detail{max-height:30vh}}

