:root { --inv-ink:#252422; --inv-edge:#716554; --inv-gold:#d2b078; --inv-paper:#eee2cf; --inv-muted:#aaa397; }
.game-dialog.inventory-dialog { width:min(1080px,calc(100vw - 48px)); max-height:calc(100vh - 70px); padding:0; overflow:auto; border:1px solid #9a8566; color:var(--inv-paper); background:linear-gradient(115deg,#39332d 0,#2d2925 42%,#222321); box-shadow:0 32px 100px #000b,inset 0 0 0 5px #17161480; font:13px/1.7 'Microsoft YaHei',sans-serif; }
.inventory-dialog::backdrop { background:#141311b8; backdrop-filter:blur(3px); }
.inventory-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; padding:20px 28px 16px; border-bottom:1px solid #87987940; background:#201e1b70; }
.inventory-dialog > header h2 { font:25px/1.3 'SimSun',serif; letter-spacing:4px; margin:0; color:var(--inv-paper); }
.inventory-dialog .close-panel { width:32px; height:32px; color:#c8c8aa; background:transparent; border:1px solid #9b876970; font:24px/1 serif; cursor:pointer; }
.panel-kicker { color:var(--inv-gold); font-size:10px; letter-spacing:3px; margin:0 0 9px; }
.inventory-shell { display:grid; grid-template-columns:190px minmax(270px,1fr) 225px; gap:24px; padding:24px 28px 16px; }
.inventory-shell h3 { font:19px/1.4 'SimSun',serif; letter-spacing:2px; margin:0; color:var(--inv-paper); }
.gear-pane { border-right:1px solid #99846838; padding-right:22px; }
.cultivator-portrait { position:relative; display:grid; place-items:center; height:154px; margin:12px 0 18px; overflow:hidden; background:radial-gradient(ellipse at 50% 75%,#aa845130,transparent 65%); }
.portrait-ring { position:absolute; width:105px; height:105px; border:1px solid #b4a27e38; border-radius:50%; top:20px; }
.portrait-ring::after { content:''; position:absolute; inset:7px; border:1px dashed #b4a27e2c; border-radius:50%; }
.portrait-sprite { width:128px; height:128px; image-rendering:pixelated; background:url('../assets/engine-spike/player/cultivator-pixellab-v1/idle-directions.png') 0 0/1024px 128px; position:relative; margin-top:-12px; }
.portrait-caption { position:absolute; bottom:0; font:12px 'SimSun',serif; letter-spacing:5px; color:#bbb09a; }
.gear-slot { position:relative; margin-top:12px; border:1px solid #9c886966; background:#181917b0; padding:8px; min-height:69px; }
.gear-slot-label { display:block; font-size:10px; color:var(--inv-gold); letter-spacing:3px; margin-bottom:5px; }
.gear-slot .inventory-item { min-height:62px; width:100%; }
.gear-empty { display:flex; align-items:center; gap:9px; color:#9b9485; font-size:11px; }
.gear-empty .item-icon { width:38px; height:38px; opacity:.26; filter:grayscale(1); }
.container-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:13px; }
.container-heading > span { color:var(--inv-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.container-section + .container-section { margin-top:24px; }
.pack-grid { display:grid; grid-template-columns:repeat(var(--columns),minmax(0,1fr)); grid-auto-rows:79px; gap:4px; padding:7px; background:#171714aa; border:1px solid #99825e80; outline:1px solid #2b2720; outline-offset:3px; }
.pack-cell { background:linear-gradient(135deg,#5e503e38,#24251f); border:1px solid #89765730; pointer-events:none; }
.inventory-item { position:relative; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:3px; border:1px solid #a78d6960; border-bottom:2px solid var(--rarity,#839479); background:radial-gradient(ellipse at 50% 40%,#9a7d5345,#2d2922 80%); padding:7px 5px 5px; cursor:pointer; color:#e3d8c2; min-width:0; box-shadow:inset 1px 1px 0 #dbc89b0d; transition:background .12s,border-color .12s; }
.inventory-item:hover { border-color:#d6b784; background:#574732; }
.inventory-item.is-selected { border-color:#f1c787; box-shadow:inset 0 0 0 1px #c79d5f,0 0 12px #d5a7661a; background:#675039; }
.item-icon { width:38px; height:38px; flex-shrink:0; filter:drop-shadow(2px 3px 0 #15120d70); }
.inventory-item-name { font:10px/1.4 'Microsoft YaHei',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; pointer-events:none; }
.inventory-quantity { position:absolute; top:4px; right:6px; font:11px/1.2 monospace; color:#e9d7a6; text-shadow:1px 1px #000; }
.container-note { color:#9e9585; font-size:10px; line-height:1.8; margin:11px 0 0; }
.item-inspector { border-left:1px solid #a48e6d38; padding-left:23px; }
.inspector-icon { height:94px; display:grid; place-items:center; margin:12px 0 18px; background:radial-gradient(ellipse,#c2955520,transparent 70%); border-top:1px solid #af957126; border-bottom:1px solid #af957126; }
.inspector-icon .item-icon { width:70px; height:70px; }
.inspector-empty { color:#ac966840; height:140px; display:grid; place-items:center; font:70px 'SimSun',serif; }
.item-description { color:#bdb29f; min-height:60px; font-size:12px; line-height:1.9; margin:13px 0 18px; }
.item-facts { display:grid; grid-template-columns:1fr 1.2fr; gap:8px; margin:0 0 20px; padding:12px 0; border-top:1px solid #89765726; border-bottom:1px solid #89765726; font-size:11px; }
.item-facts dt { color:#aaa08b; }.item-facts dd { margin:0; text-align:right; color:#dbceb5; }
.item-actions { display:grid; gap:8px; }
.inventory-action { padding:9px 14px; border:1px solid #a0846180; background:#41392e; color:#e0d1b6; font:12px/1.5 'Microsoft YaHei',sans-serif; cursor:pointer; }
.inventory-action:hover:enabled { background:#625039; border-color:#d0ae7c; }.inventory-action:disabled { opacity:.35; cursor:default; }
.inventory-action.primary-action { background:#c9aa77; border-color:#e1c695; color:#34291d; }
.inventory-message { grid-column:1/-1; margin:0; min-height:20px; color:#dac08b; font-size:11px; border-top:1px solid #a08a6733; padding-top:12px; }
.has-stash { grid-template-columns:minmax(240px,1fr) 150px minmax(270px,1fr) 200px; gap:18px; }
.has-stash .gear-pane { padding-right:14px; }.has-stash .item-inspector { padding-left:16px; }
.has-stash .pack-grid { grid-auto-rows:70px; }
.stock-pane { min-width:0; border-right:1px solid #a08a6738; padding-right:18px; }
.stock-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:5px; max-height:460px; overflow:auto; min-height:280px; padding:6px; border:1px solid #8f7b5b80; background:#1e1c1860; }
.stock-grid .inventory-item { min-height:76px; }.stock-empty { grid-column:1/-1; margin:65px 18px; color:#b1a48e; text-align:center; font-size:12px; line-height:2; }
.is-dragging { opacity:.4; }.drop-ready { outline:2px solid #e6bd7d; outline-offset:2px; background-color:#b88b4b40; }
.inventory-dialog.has-base-inventory { width:min(1280px,calc(100vw - 32px)); }
.inventory-footer { padding:12px 28px; border-top:1px solid #a28b6940; font-size:10px; letter-spacing:1px; color:#b3a38a; background:#19181350; display:flex; gap:22px; }
.realm-map-wrap,.pause-content{padding:24px 28px}.route-map{display:block;background:#12261f;border-color:#6f826460}.route-map .map-water{fill:#224f4a;stroke:#728e713b;stroke-width:2}.route-map polyline{fill:none;stroke-width:2}.route-map .route-safe{stroke:#bdb58a;stroke-dasharray:5 3}.route-map .route-risk{stroke:#b88861;stroke-dasharray:none}.route-map .map-exit{fill:none;stroke:#aed0a2;stroke-width:2}.route-map .map-resource{fill:#c6ad72}.route-map text{font:12px 'SimSun',serif;fill:#d1d2af}.route-map .map-detail{font:8px 'Microsoft YaHei',sans-serif;fill:#8fa68d}.route-map .map-player-ring{fill:#eae0bd10;stroke:#eae0bd;stroke-width:1}.route-map .map-player{fill:#faf0c9}.route-map .map-north{font-size:16px}.map-legend{color:#97ac97;font-size:11px;line-height:2}.map-current-goal{border-top:1px solid #76856850;padding-top:14px;color:#d9c393;font-size:12px}
@media(max-width:1000px) { .has-stash { grid-template-columns:170px 1fr 210px; }.has-stash .stock-pane { grid-column:1/-1; border:0; padding:0; }.stock-grid { grid-template-columns:repeat(6,minmax(0,1fr)); min-height:80px; max-height:190px; }.stock-empty{margin:10px;} }
@media(max-width:720px) { .game-dialog.inventory-dialog{width:calc(100vw - 16px);max-height:94vh;} .inventory-shell,.has-stash{padding:16px;grid-template-columns:110px minmax(0,1fr);gap:16px;}.item-inspector{grid-column:1/-1;border:0;padding:16px 0 0;display:grid;grid-template-columns:90px 1fr;gap:8px 15px;}.inspector-icon{grid-row:1/4;margin:0;height:100px;}.item-inspector .panel-kicker{grid-column:2;}.item-inspector h3{grid-column:2;}.item-description{min-height:0;margin:0;}.item-facts,.item-actions{grid-column:1/-1;}.item-actions{grid-template-columns:1fr 1fr;}.gear-pane{padding-right:10px;}.cultivator-portrait{height:140px;}.portrait-sprite{transform:scale(.85);}.pack-grid,.has-stash .pack-grid{grid-auto-rows:62px;}.inventory-item-name{font-size:9px;}.inventory-item .item-icon{width:30px;height:30px;}.stock-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.inventory-footer{flex-wrap:wrap;gap:8px;padding:12px 16px;} }
.inventory-dialog .route-map{max-height:calc(100vh - 340px);min-height:230px}.inventory-dialog .close-panel{padding:0;flex-shrink:0;display:grid;place-items:center}
.inventory-dialog .readable-route-map { min-width: 640px; min-height: 400px; max-height: none; }
.realm-map-wrap:has(.readable-route-map) { overflow-x: auto; }
.readable-route-map text { font: 16px 'Microsoft YaHei', sans-serif; }
.readable-route-map .map-boss { fill: #d59e70; stroke: #392a1e; stroke-width: 2; }
.readable-route-map .map-boss.defeated { fill: #81a784; }
.readable-route-map .map-boss-link { stroke: #d59e70; stroke-width: 1; }
.readable-route-map .map-boss-title { fill: #e8ba89; font-size: 15px; }
.map-region-key { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 4px 16px; margin: 14px 0; }
.map-region-key p { margin: 0; color: #b4c3a7; font: 13px/1.8 'Microsoft YaHei', sans-serif; }
.realm-map-wrap .map-legend { font-size: 13px; }
/* Containers share one physical cell size, including the two secure slots. */
.game-dialog.inventory-dialog:has(.inventory-shell){width:fit-content;max-width:calc(100vw - 24px)}
.inventory-shell{--slot-size:74px;grid-template-columns:164px max-content 220px;gap:24px}
.pack-grid{width:max-content;grid-template-columns:repeat(var(--columns),var(--slot-size));grid-auto-rows:var(--slot-size)}
.has-stash{--slot-size:72px;grid-template-columns:240px 146px max-content 210px;gap:18px}
.has-stash .pack-grid{grid-auto-rows:var(--slot-size)}
.inventory-item>.item-icon{width:43px;height:43px}
.inventory-quantity{top:auto;bottom:4px;right:5px}
.inventory-item.is-selected::after{content:'';position:absolute;inset:3px;border:1px solid #d5bd8245;pointer-events:none}
@media(max-width:1100px) and (min-width:721px){.has-stash{grid-template-columns:146px max-content 210px}.has-stash .stock-pane{grid-column:1/-1;border:0;padding:0}.stock-grid{grid-template-columns:repeat(6,minmax(0,1fr));min-height:85px;max-height:170px}.stock-empty{margin:15px}}
@media(max-width:720px){.inventory-shell,.has-stash{--slot-size:clamp(36px,calc((100vw - 202px)/4),61px);grid-template-columns:110px max-content;gap:16px}.game-dialog.inventory-dialog:has(.inventory-shell){max-width:calc(100vw - 16px)}.has-stash .pack-grid{grid-auto-rows:var(--slot-size)}.inventory-item>.item-icon{width:28px;height:28px}.inventory-item-name{font-size:8px}.stock-grid .inventory-item-name{font-size:10px}}

.inventory-quantity{top:4px;bottom:auto;right:4px;background:#201c16d9;padding:1px 3px;color:#efdfb4;line-height:1.3}
@media(max-width:720px){.inventory-shell,.has-stash{grid-template-columns:110px calc(var(--slot-size) * 4 + 26px)}.item-inspector{min-width:0;grid-template-columns:74px minmax(0,1fr)}.item-description{overflow-wrap:anywhere}}
@media(max-width:720px){.pack-grid .inventory-item{padding:4px}.pack-grid .inventory-item-name{display:none}}
