/* The game uses the available screen; larger viewports reveal more terrain. */
.game-screen.with-inventory-dock{width:calc(100% - 12px);max-width:none;margin:6px;grid-template-columns:258px minmax(0,1fr) 216px;grid-template-rows:54px clamp(520px,calc(100dvh - 88px),984px);grid-template-areas:"header header header" "dock world equipment";height:auto;min-height:0}
.with-inventory-dock .godot-world{height:100%;align-self:stretch;aspect-ratio:auto}.with-inventory-dock .world-viewport{height:100%;width:100%}.with-inventory-dock #game-canvas{width:100%;height:100%;max-width:none;aspect-ratio:auto}
.inventory-dock{grid-area:dock;display:flex;flex-direction:column;min-width:0;min-height:0;padding:8px;overflow:hidden}
.dock-tabs{display:flex;gap:4px;margin-bottom:9px;border-bottom:1px solid #666747;padding-bottom:6px}
.dock-tabs button{flex:1;min-height:30px;padding:3px 6px;font:11px Verdana,sans-serif}
.dock-tabs button[aria-pressed=true]{background:#3c492e;color:#f1d499;border-color:#a2915e}
.inventory-pane{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;scrollbar-width:thin}
.inventory-heading{display:flex;justify-content:space-between;font:11px Verdana,sans-serif;margin:1px 0 8px;color:#ddd1b2}
.inventory-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:36px;align-content:start;gap:2px;padding:3px;flex:0 0 auto;max-height:calc(100dvh - 340px);overflow-y:auto;scrollbar-width:thin;border:1px solid #8c8058;background:#101d17;box-shadow:inset 1px 1px #070f0a}
.inventory-cell{min-width:0;min-height:0;padding:1px;position:relative;background:#1d2a21;border:1px solid #4e5740;box-shadow:inset 1px 1px #354230,inset -1px -1px #0c1710;border-radius:0}
.inventory-cell:disabled{opacity:1;background:#1a271d;border-color:#46503a}
.inventory-cell:hover:not(:disabled),.inventory-cell:focus-visible{border-color:#e6d291;background:#36422b;outline:1px solid #d6bd7c;z-index:1}
.inventory-cell .item-icon{display:block;width:100%;height:100%;margin:0;position:absolute;inset:0;max-width:none;max-height:none;border:0;background-color:transparent}
.inventory-cell.rarity-unique,.equipment-slot.rarity-unique{border-color:#a7af60;background:radial-gradient(ellipse at center,#59603a 0,#29361e 75%);box-shadow:inset 0 0 7px #c1c97355}
.inventory-cell.rarity-rare,.equipment-slot.rarity-rare{border-color:#7399bf;background:radial-gradient(ellipse at center,#355779 0,#172d45 75%);box-shadow:inset 0 0 8px #85bceb66}
.inventory-cell.rarity-legendary,.equipment-slot.rarity-legendary{border-color:#e1b664;background:radial-gradient(ellipse at center,#906335 0,#442e16 75%);box-shadow:inset 0 0 9px #f1c96688,0 0 4px #e3b45255}
.inventory-cell.overflow{outline:1px solid #b2654a}
.stack-count{position:absolute;right:2px;bottom:1px;z-index:2;min-width:12px;padding:0 2px;background:#08110dd9;color:#f2e8c6;font:bold 10px/13px Verdana,sans-serif;text-shadow:1px 1px #000;pointer-events:none}
.bag-sockets-heading{font:10px Verdana,sans-serif;color:#b6b799;margin:12px 0 6px}
.bag-sockets{display:flex;gap:5px}.bag-socket{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:3px;background:#17241b;border:1px solid #747253;font:11px Verdana,sans-serif}
.bag-socket .item-icon{width:27px;height:27px;flex:none}.bag-socket.empty .item-icon{opacity:.35}
.inventory-selection{display:flex;flex:1;flex-direction:column;min-height:80px;padding:6px 1px;color:#c9c5ad;font:11px/1.6 Verdana,sans-serif;overflow-wrap:anywhere}
.inventory-description{min-height:0;overflow:auto;scrollbar-width:thin}.inventory-actions{flex:none}.inventory-requirement{color:#edba86!important}
.inventory-selection .item-name,.item-tooltip .item-name{display:block;font-weight:600;color:#eee0be}.inventory-selection .item-quality,.item-tooltip .item-quality{display:block;font-size:10px;margin:4px 0 7px}
.inventory-selection p,.item-tooltip p{margin:2px 0}.inventory-selection small,.item-tooltip small{display:block;color:#b2b39b;font-size:10px;line-height:1.65}
.inventory-hint{color:#aeb096;font:10px/1.65 Verdana,sans-serif}.inventory-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.inventory-actions button{font-size:10px;min-height:28px;padding:4px 7px}
.item-tooltip{position:fixed;z-index:99999;width:246px;max-width:calc(100vw - 20px);margin:0;padding:11px 13px;pointer-events:none;border:3px solid transparent;border-image:url('ui/pixel-frame.svg') 6 stretch;background:#142019;box-shadow:3px 5px 0 #050b09b3;color:#d7d2b8;font:11px/1.55 Verdana,sans-serif;overflow-wrap:anywhere}
.item-quality.rarity-unique{color:#b6d684}.item-quality.rarity-rare{color:#91c9df}.item-quality.rarity-legendary{color:#f1cc78}
.inventory-cell.occupied,.equipment-slot.filled,.bag-socket[data-item-id]{touch-action:none;cursor:grab}
.inventory-dragging,.inventory-dragging *{cursor:grabbing!important;user-select:none!important}
.inventory-dragging .item-tooltip{display:none!important}.item-drag-source .item-icon{opacity:.3}
.equipment-slot.item-drop-ready,.bag-socket.item-drop-ready,.inventory-cell.item-drop-ready,.inventory-grid.item-drop-ready{border-color:#d4b46c;box-shadow:inset 0 0 0 1px #d4b46c,0 0 6px #dcc27966}
.equipment-slot.item-drop-over,.bag-socket.item-drop-over,.inventory-cell.item-drop-over,.inventory-grid.item-drop-over{background:#40573a;outline:2px solid #eee0a4;outline-offset:1px}
.inventory-drag-ghost{position:fixed;z-index:100000;pointer-events:none;width:44px;height:44px;background:#15241de6;border:2px solid #d4b46c;box-shadow:3px 4px 5px #0009}
.inventory-drag-ghost .item-icon{display:block;width:40px;height:40px;margin:0;max-width:none;max-height:none;border:0}
.drag-status{flex:none;margin:3px 0;min-height:0}.drag-status:empty{display:none}
.equipment-slot>span:not(.item-icon){display:none!important}.equipment-slot.filled::before{display:none}.game-screen .equipment-slot .item-icon{top:5px;width:44px;height:44px;left:calc(50% - 22px)}
.with-inventory-dock .equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"head neck hands" "weapon body offhand" "ring empty feet";gap:5px}
.with-inventory-dock .equipment-slot{min-height:58px;height:58px}
.equipment-slot[data-slot=head]{grid-area:head}.equipment-slot[data-slot=neck]{grid-area:neck}.equipment-slot[data-slot=hands]{grid-area:hands}.equipment-slot[data-slot=weapon]{grid-area:weapon}.equipment-slot[data-slot=body]{grid-area:body}.equipment-slot[data-slot=offhand]{grid-area:offhand}.equipment-slot[data-slot=ring]{grid-area:ring}.equipment-slot[data-slot=feet]{grid-area:feet}
.inventory-dock .chat-panel{width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent;display:flex;flex-direction:column;margin:0;box-shadow:none}
.inventory-dock .chat-panel .message-log{flex:1;min-height:0;height:auto;overflow:auto}.inventory-dock .chat-panel>.section-heading{display:none}.inventory-dock .chat-form{grid-template-columns:minmax(0,1fr) 30px}.inventory-dock .chat-form input{min-width:0}
.world-tools{position:absolute;bottom:5px;right:7px;z-index:4;display:flex;gap:4px}.world-tools button{font:10px Verdana,sans-serif;min-height:25px;padding:4px 8px;background:#1b2c22ee}
.with-inventory-dock .context-sidebar{position:absolute;right:5px;top:6px;width:200px;max-height:340px;z-index:3;display:block;overflow:auto}.context-sidebar .connection-panel{display:none}.context-sidebar .group-panel{margin:0}
.dock-dialog{width:min(900px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.dock-dialog .panel{border:0;box-shadow:none;background:transparent;margin:10px 0;padding:8px}.dock-dialog .minimap-panel canvas{width:100%;height:auto;max-height:68dvh;object-fit:contain}
#event-panel,#journal-open{display:none!important}.battle-messages{display:block}
[hidden]{display:none!important}
/* Compact loot cards use the same frame and rarity colors as the equipment. */
#loot-dialog{width:max-content;min-width:240px;max-width:min(540px,calc(100vw - 24px));padding:10px 12px 8px;background:#1d1712;border:4px solid transparent;border-image:url('ui/pixel-frame.svg') 6 stretch;box-shadow:0 8px 28px #0009}
#loot-dialog>.section-heading{margin:-6px -7px 8px;padding:5px 7px;background:#443529;border-bottom:1px solid #8b7650;gap:20px}
#loot-dialog h2{font:bold 15px Georgia,serif;letter-spacing:.3px;color:#f0ddaa}
#loot-dialog>.section-heading button{padding:2px 6px;min-height:23px}
#loot-help{max-width:360px;font:10px/1.4 Verdana,sans-serif;color:#b7ad90;margin:5px 0 9px}
#loot-claims{max-height:44dvh;overflow:auto;padding:2px;scrollbar-width:thin}
#loot-dialog .loot-claim{border:0;padding:0;margin:0 0 6px}
#loot-dialog .loot-claim-heading{padding:1px 0 5px;border:0}
#loot-dialog .loot-claim-heading h3{font:10px Verdana,sans-serif;color:#b5a789;margin:0}
.loot-item-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;max-width:480px}
#loot-dialog .loot-entry{display:flex;flex-direction:column;align-items:center;width:84px;padding:6px 4px;gap:3px;border:1px solid #7d6543;background:#2a2016}
.loot-item-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#131a12;border:1px solid #746e4b;outline-offset:2px;position:relative}
.loot-item-icon .item-icon{width:42px;height:42px;border:0}
#loot-dialog .loot-entry.rarity-unique .loot-item-icon{background:#364122;box-shadow:inset 0 0 8px #a8b76755;border-color:#a4ab61}
#loot-dialog .loot-entry.rarity-rare .loot-item-icon{background:#203b53;box-shadow:inset 0 0 8px #78b5df66;border-color:#7ca6ca}
#loot-dialog .loot-entry.rarity-legendary .loot-item-icon{background:#63421f;box-shadow:inset 0 0 8px #ecc66b88;border-color:#e3ba62}
#loot-dialog .loot-item-details{width:100%;text-align:center;min-width:0}
.loot-item-title{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:9px/1.4 Verdana,sans-serif;color:#cbbc9b}
#loot-dialog .loot-choice-status{font:10px/1.4 Verdana,sans-serif;min-height:14px;margin:3px 0;color:#eadab6}
.loot-votes{display:block;font:9px/1.4 Verdana,sans-serif;color:#b9ac96}
#loot-dialog .loot-choice-actions{display:flex;gap:5px;justify-content:center;margin:0}
#loot-dialog .loot-choice-actions button{min-width:27px;min-height:26px;padding:0;font:bold 20px/1 Verdana,sans-serif;background:#251d15;border:1px solid #827255}
#loot-dialog [data-loot-choice=want][aria-pressed=true]{color:#dae89a;background:#3e552b;border-color:#c1cc73;box-shadow:inset 0 0 0 1px #172414}
#loot-dialog [data-loot-choice=pass][aria-pressed=true]{color:#f0b8a1;background:#613b30;border-color:#c48a68}
.loot-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;margin-top:7px;border-top:1px solid #755f3e;color:#cfb997;font:10px Verdana,sans-serif}
.loot-footer button{min-height:28px;padding:4px 12px;font:11px Verdana,sans-serif}
.battle-messages .battle-critical{color:#ffd46b;border-left:2px solid #dbac51;padding-left:5px}.battle-messages .battle-healing{color:#a4d8b6}
.auto-loot-filters{padding:10px;border:1px solid #777554;margin:5px 0;font:11px/1.5 Verdana,sans-serif;min-width:0}.auto-loot-filters legend{padding:0 5px;color:#dcca9e}.auto-loot-filters:disabled{opacity:.5}
.auto-loot-qualities{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.auto-loot-qualities label{display:flex;align-items:center;gap:5px;margin:0;font-size:11px;font-weight:normal}.auto-loot-qualities input{width:15px;height:15px;min-height:0;padding:0;accent-color:#849c63}
.auto-loot-filters>label{display:block;font-size:11px;margin-bottom:4px}.auto-loot-filters select{width:100%;font-size:11px}.auto-loot-prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 6px}.auto-loot-prices label{font-size:10px;margin:0}.auto-loot-prices input{width:100%;margin-top:4px;min-height:32px;font-size:12px}.auto-loot-prices input[aria-invalid=true]{border-color:#c98d78}#auto-loot-status{margin:7px 0 0;font-size:10px;color:#d5c794}
.world-location>button{pointer-events:auto;flex-shrink:0;font:10px Verdana,sans-serif;min-height:23px;padding:3px 7px;margin-left:5px;background:#20332bee;color:#e4d2a3;border:1px solid #7a795b}
#map-dialog{width:min(1180px,calc(100vw - 22px));max-height:94dvh;padding:12px}
#map-dialog>.section-heading{margin-bottom:10px}#map-dialog h2{font:bold 16px Georgia,serif}
.world-atlas{font:11px/1.5 Verdana,sans-serif;color:#d7d3b8}
.atlas-controls{display:flex;align-items:center;gap:10px;margin-bottom:8px}.atlas-controls input{width:220px;max-width:40%;min-height:30px;padding:4px 8px;font-size:11px}.atlas-level{white-space:nowrap;color:#ead7a7}
.atlas-zoom{display:flex;gap:4px;margin-left:auto}.atlas-zoom button{min-height:28px;padding:3px 9px;font-size:11px}
.atlas-suggestion{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:6px 10px;margin-bottom:8px;border:1px solid #7c7952;background:#2a3c27;color:#dccca5}.atlas-suggestion strong{color:#f0dc9c}.atlas-suggestion button{min-height:27px;padding:4px 9px;white-space:nowrap;font-size:11px}
.atlas-body{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:10px;height:clamp(350px,calc(100dvh - 270px),640px)}
.atlas-viewport{min-width:0;overflow:auto;position:relative;border:1px solid #8d7d59;background:#16291f;scrollbar-width:thin}.atlas-board{position:relative;background-image:radial-gradient(#8b8b6b20 1px,transparent 1px);background-size:12px 12px}
.atlas-connections{position:absolute;inset:0;pointer-events:none}.atlas-connections line{stroke:#7e7956;stroke-width:2;stroke-dasharray:4 3}.atlas-connections .atlas-route-line{stroke:#f0d48b;stroke-width:3;stroke-dasharray:none}
.atlas-node{position:absolute;transform:translate(-50%,-50%);width:44px;height:34px;padding:0!important;min-height:0!important;min-width:0;z-index:1;border:1px solid #a69a65;border-radius:0;background:#1b2b20;box-shadow:1px 2px 2px #0007;overflow:visible;cursor:pointer;font:10px Verdana,sans-serif}
.atlas-node:hover,.atlas-node:focus-visible{z-index:5;outline:2px solid #eedbae;outline-offset:1px;transform:translate(-50%,-50%)}
.atlas-thumb{display:block;width:100%;height:100%;background-repeat:no-repeat;opacity:.9}.atlas-node-level{position:absolute;bottom:-7px;left:50%;transform:translateX(-50%);min-width:25px;white-space:nowrap;padding:0 2px;background:#101b13e8;color:#ecdcab;font:bold 9px/13px Verdana,sans-serif;border:1px solid #685e3f}
.atlas-town{width:50px;height:38px;border:2px solid #c2ab71;z-index:2}.atlas-town-name{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);max-width:104px;min-width:64px;padding:1px 3px;text-shadow:1px 1px #000;background:#14271ed9;color:#ebdfb7;font:bold 9px/12px Verdana,sans-serif;white-space:normal;text-align:center}
.atlas-town .atlas-node-level{display:none}.atlas-trail{width:35px;height:27px;border-color:#6c725a}.atlas-trail .atlas-node-level{display:none}.atlas-grind{border-color:#b2a969}.atlas-instance{border-color:#bc88bb}.atlas-instance .atlas-node-level{color:#e5b3dc}
.atlas-here{border-color:#a4e6eb;box-shadow:0 0 0 2px #2e767b;z-index:4}.atlas-here::after{content:'◆';position:absolute;top:-14px;right:-5px;color:#b3e8e9;font-size:13px;text-shadow:1px 1px #163838}.atlas-selected{outline:2px solid #f3d58a;outline-offset:2px;z-index:4}.atlas-on-route .atlas-thumb{opacity:1}.atlas-dim{opacity:.22}
.atlas-details{min-width:0;padding:10px;overflow:auto;border:1px solid #6e7153;background:#1e3027;scrollbar-width:thin}.atlas-details h3{font:bold 15px Georgia,serif;color:#eddaaa;margin:0 0 4px}.atlas-details h4{font:bold 11px Verdana,sans-serif;color:#ddc790;margin:14px 0 6px}.atlas-details p{margin:5px 0}.atlas-terrain-state{font-size:10px;color:#b5c5ab}
.atlas-first-habitat{font-size:10px;color:#e8d39e}.atlas-location-image{display:block;width:100%;height:auto;max-height:150px;object-fit:contain;background:#132219;border:1px solid #757054;margin:8px 0;image-rendering:auto}
.atlas-route-summary{font-size:10px;color:#bcb99f}.atlas-route-steps{padding-left:23px;font-size:10px;margin:7px 0}.atlas-route-steps li{margin:0 0 8px;padding-left:2px}.atlas-route-steps small,.atlas-route-steps strong{display:block}.atlas-route-steps small{font-size:9px;color:#aeb5a2}.atlas-route-steps strong{color:#eee0b1;font-weight:normal}
.atlas-habitat{padding:7px 6px;margin-bottom:5px;border-left:2px solid #686e4c;background:#23362b}.atlas-habitat strong{font-size:10px;font-weight:normal;display:block}.atlas-habitat small{display:block;font-size:9px;color:#aeb7a0}.atlas-habitat-recommended{border-color:#d5c172;background:#35462b}.atlas-boss-detail{color:#d3aec7;font-size:10px}.atlas-interiors{font-size:10px;padding-left:17px;color:#b8bca3}.atlas-interiors li{margin-bottom:4px}
.atlas-legend{display:flex;gap:15px;flex-wrap:wrap;padding:7px 2px 0;font-size:10px;color:#c7c3a4}.atlas-current-key{color:#a4e1e6}.atlas-grind-key{color:#d2c382}.atlas-town-key{color:#dac392}.atlas-boss-key{color:#d4a7ca}
@media(max-width:780px){.atlas-body{grid-template-columns:minmax(0,1fr);height:auto}.atlas-viewport{height:48dvh;min-height:320px}.atlas-details{max-height:270px}.atlas-controls{flex-wrap:wrap;gap:6px}.atlas-controls input{width:100%;max-width:100%}.atlas-level{font-size:10px}.atlas-suggestion{font-size:10px}.atlas-town-name{font-size:8px;line-height:10px}#map-dialog{padding:8px}.atlas-legend{gap:8px}}
@media(max-width:1331px){.game-screen.with-inventory-dock{grid-template-columns:236px minmax(0,1fr) 190px}}
@media(max-width:950px){.game-screen.with-inventory-dock{grid-template-columns:minmax(0,1fr) 216px;grid-template-rows:54px clamp(380px,65dvh,660px) 484px;grid-template-areas:"header header" "world world" "dock equipment"}.with-inventory-dock>.equipment-panel{display:block;grid-area:equipment}.with-inventory-dock .mobile-equipment-button{display:none}.with-inventory-dock .inventory-dock{height:484px;max-height:none}.inventory-grid{max-height:260px}}
@media(max-width:650px){.game-screen.with-inventory-dock{width:100%;grid-template-columns:minmax(0,1fr) 168px;grid-template-rows:61px clamp(360px,62dvh,560px) 484px;margin:0}.with-inventory-dock>.equipment-panel{padding:5px}.with-inventory-dock .inventory-dock{height:484px;padding:5px}.with-inventory-dock .equipment-grid{gap:3px}.with-inventory-dock .equipment-slot{height:48px;min-height:48px}.game-screen .equipment-slot .item-icon{width:38px;height:38px;left:calc(50% - 19px)}.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:224px}.inventory-selection{min-height:90px}.bag-sockets{gap:2px}.bag-socket .item-icon{width:22px;height:22px}.inventory-dock .chat-panel{height:360px}}

#coins-label { display:inline-flex; align-items:center; gap:5px; }
#coins-label > .item-icon { width:22px; height:22px; flex:0 0 22px; border:0; background-color:transparent; }
