.inventory-panel { height: 100%; display: flex; flex-direction: column; overflow: hidden; } /* Toolbar */ .inventory-toolbar { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.75rem; background: #3b3b3b; border-bottom: 2px solid var(--mc-dark); flex-shrink: 0; flex-wrap: wrap; } .search-box { display: flex; align-items: center; background: var(--mc-dark); border: 2px solid #333; padding: 0.25rem 0.5rem; flex: 1; min-width: 180px; } .search-icon { font-size: 0.8rem; margin-right: 0.375rem; } .search-input { border: none; background: transparent; color: var(--mc-text-white); font-family: 'Silkscreen', 'Courier New', monospace; font-size: 0.7rem; outline: none; width: 100%; } .search-input::placeholder { color: var(--mc-text-gray); } .search-clear { background: none; border: none; color: var(--mc-text-gray); cursor: pointer; font-size: 0.7rem; padding: 0 0.25rem; } .search-clear:hover { color: var(--mc-text-red); } .sort-controls { display: flex; gap: 0.25rem; } .item-count-label { font-size: 0.6rem; color: var(--mc-text-gray); white-space: nowrap; } /* ===== Creative Inventory Category Tabs ===== */ .category-tabs { display: flex; gap: 0; padding: 0 6px; padding-top: 4px; background: transparent; flex-shrink: 0; overflow-x: auto; margin: 0 0.5rem; margin-bottom: -3px; position: relative; z-index: 2; } .category-tab { display: flex; align-items: center; gap: 4px; padding: 5px 8px 4px; background: #8b8b8b; border: 2px solid; border-color: #555 #fefefe #c6c6c6 #555; border-bottom: 2px solid #555; border-radius: 0; cursor: pointer; font-family: 'Silkscreen', 'Courier New', monospace; font-size: 0.6rem; color: var(--mc-text-dark); font-weight: 700; text-shadow: none; transition: background 0.05s; white-space: nowrap; position: relative; margin-right: 1px; } .category-tab:hover { background: #aaa; color: var(--mc-text-dark); } .category-tab.active { background: var(--mc-inv-bg); color: var(--mc-text-dark); border-color: #fefefe #555 transparent #fefefe; text-shadow: none; z-index: 1; padding-bottom: 6px; margin-bottom: -2px; } .category-label { display: none; } .category-count { font-size: 0.5rem; color: #555; opacity: 0.7; } .category-tab.active .category-count { color: var(--mc-text-dark); opacity: 0.6; } @media (min-width: 900px) { .category-label { display: inline; } } /* Body */ .inventory-body { flex: 1; display: flex; overflow: hidden; } /* Item Grid */ .item-grid-wrapper { flex: 1; overflow-y: auto; padding: 0 0.5rem 0.5rem; } .item-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 2px; padding: 6px; background: var(--mc-inv-bg); border: 3px solid var(--mc-dark); box-shadow: inset 3px 0 0 #fefefe, inset 0 3px 0 #fefefe, inset -3px 0 0 #555, inset 0 -3px 0 #555; min-height: 200px; } .item-slot { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; background: var(--mc-inv-slot); border: 2px solid; border-color: var(--mc-inv-slot-border) var(--mc-inv-slot-light) var(--mc-inv-slot-light) var(--mc-inv-slot-border); cursor: pointer; position: relative; overflow: visible; padding: 2px; transition: background 0.05s; } .item-slot:hover { background: #aaa; z-index: 10; } .item-slot.selected { background: #b8d4f0; box-shadow: 0 0 0 2px var(--mc-text-aqua); z-index: 10; } .item-slot .item-icon-img, .item-slot .item-icon-emoji { width: 100%; height: 100%; object-fit: contain; } .item-slot-count { position: absolute; bottom: 1px; right: 2px; color: white; font-size: 0.55rem; font-weight: 700; font-family: 'Silkscreen', 'Courier New', monospace; text-shadow: 1px 0 0 var(--mc-dark), -1px 0 0 var(--mc-dark), 0 1px 0 var(--mc-dark), 0 -1px 0 var(--mc-dark); pointer-events: none; z-index: 2; } /* ===== Minecraft-Style Tooltip ===== */ .mc-tooltip { visibility: hidden; opacity: 0; position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: #100010f0; padding: 5px 8px; pointer-events: none; z-index: 100; white-space: nowrap; border: 1px solid #100010; box-shadow: inset 0 1px 0 0 #5000ff50, inset 1px 0 0 0 #5000ff50, inset -1px 0 0 0 #28007f50, inset 0 -1px 0 0 #28007f50, 0 0 0 1px #100010; transition: opacity 0.1s; } .item-slot:hover .mc-tooltip { visibility: visible; opacity: 1; } .mc-tooltip-name { color: #fff; font-size: 0.65rem; font-weight: 700; text-shadow: 1px 1px 0 #3e3e3e; font-family: 'Silkscreen', 'Courier New', monospace; } .mc-tooltip-count { color: #aaa; font-size: 0.55rem; font-family: 'Silkscreen', 'Courier New', monospace; } .mc-tooltip-id { color: #555; font-size: 0.45rem; font-family: 'Silkscreen', 'Courier New', monospace; } .empty-grid { grid-column: 1 / -1; text-align: center; padding: 2rem; color: var(--mc-text-gray); font-size: 0.75rem; } /* Detail Panel */ .item-detail-panel { width: 280px; background: #333; border-left: 3px solid var(--mc-dark); padding: 0.75rem; display: flex; flex-direction: column; gap: 0.75rem; overflow-y: auto; flex-shrink: 0; } .detail-header { display: flex; align-items: center; gap: 0.75rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--mc-dark); } .detail-info { flex: 1; } .detail-info h3 { font-size: 0.8rem; color: var(--mc-text-white); text-shadow: 1px 1px 0 var(--mc-dark); } .detail-id { font-size: 0.55rem; color: var(--mc-text-gray); } .detail-close { background: none; border: 2px solid #555; color: var(--mc-text-gray); cursor: pointer; font-size: 0.8rem; width: 1.5rem; height: 1.5rem; display: flex; align-items: center; justify-content: center; } .detail-close:hover { color: var(--mc-text-red); border-color: var(--mc-text-red); } /* Detail stats */ .detail-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.375rem; } .detail-stat { display: flex; flex-direction: column; padding: 0.375rem; background: var(--mc-dark); border: 2px solid #333; } .detail-stat .label { font-size: 0.55rem; color: var(--mc-text-gray); font-weight: 700; text-transform: uppercase; } .detail-stat .value { font-size: 0.8rem; color: var(--mc-text-white); font-weight: 700; } /* Order section */ .order-section { padding: 0.5rem; background: var(--mc-dark); border: 2px solid #333; } .order-section h4 { font-size: 0.7rem; color: var(--mc-text-gold); margin-bottom: 0.5rem; text-shadow: 1px 1px 0 #000; } .order-controls { display: flex; flex-direction: column; gap: 0.5rem; } .order-amount-controls { display: flex; gap: 0.25rem; align-items: center; } .order-input { flex: 1; background: #2a2a2a; border: 2px solid #444; color: var(--mc-text-white); font-family: 'Silkscreen', 'Courier New', monospace; font-size: 0.75rem; text-align: center; padding: 0.25rem; outline: none; border-radius: 0; } .order-input:focus { border-color: var(--mc-text-green); } .order-presets { display: flex; gap: 0.25rem; flex-wrap: wrap; } /* Dropper location selector */ .dropper-select-wrapper { display: flex; flex-direction: column; gap: 0.25rem; } .dropper-label { font-size: 0.65rem; color: var(--mc-text-gold); text-shadow: 1px 1px 0 #000; } .dropper-select { background: #2a2a2a; border: 2px solid #444; color: var(--mc-text-white); font-family: 'Silkscreen', 'Courier New', monospace; font-size: 0.7rem; padding: 0.375rem 0.5rem; outline: none; border-radius: 0; cursor: pointer; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23aaa'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.5rem center; padding-right: 1.5rem; } .dropper-select:hover { border-color: var(--mc-text-green); } .dropper-select:focus { border-color: var(--mc-text-green); box-shadow: inset 0 0 4px rgba(85, 255, 85, 0.15); } .dropper-select option { background: #1a1a1a; color: var(--mc-text-white); } .order-btn { width: 100%; padding: 0.625rem !important; font-size: 0.8rem !important; } /* Responsive */ @media (max-width: 768px) { .inventory-body { flex-direction: column; } .item-detail-panel { width: 100%; border-left: none; border-top: 3px solid var(--mc-dark); max-height: 300px; } .item-grid { grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); } } @media (max-width: 480px) { .item-grid { grid-template-columns: repeat(auto-fill, minmax(48px, 1fr)); gap: 2px; padding: 4px; } .category-tabs { padding: 0 0.25rem; } .category-tab { padding: 4px 6px; } }