/* ================================================ building.css – Charakter, Equipment, Inventar Dynasty of Knights Popup/Tooltip/Notification → popup.css ================================================ */ /* ========================= Base ========================= */ body { margin: 0; height: 100vh; font-family: "Cinzel", serif; color: #2b1b0f; } /* ========================= Progress Bar ========================= */ .progress-bar { width: 100%; height: 12px; background: #5b3a1f; border: 1px solid #8b6a3c; margin-top: 8px; } .progress-fill { height: 100%; background: linear-gradient(#3cff3c, #1ea01e); box-shadow: 0 0 6px #3cff3c; } /* ========================= Character Window ========================= */ #character-ui { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 8px 0 4px 0; } /* Linke & Rechte Slot-Spalte */ .equip-col { display: flex; flex-direction: column; gap: 8px; align-items: center; } /* Avatar in der Mitte */ .character-center { display: flex; flex-direction: column; align-items: center; gap: 8px; position: relative; } /* ======================== Avatar Wrapper ======================== */ .avatar-wrapper { position: relative; width: 160px; height: 270px; border-radius: 8px; border: 2px solid #8b6a3c; background: radial-gradient(ellipse at center, #2a1f14 0%, #0d0a07 100%); box-shadow: 0 0 20px rgba(0, 0, 0, 0.8), inset 0 0 30px rgba(0, 0, 0, 0.5); overflow: hidden; } .avatar-base { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; display: block; opacity: 0.9; } /* Item Overlays */ .avatar-overlay { position: absolute; pointer-events: none; display: none; z-index: 2; } .avatar-overlay.visible { display: block; animation: overlayFadeIn 0.25s ease; } .avatar-overlay img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 4px rgba(255, 200, 80, 0.5)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.9)); } @keyframes overlayFadeIn { from { opacity: 0; transform: scale(1.15); } to { opacity: 1; transform: scale(1); } } /* Positionen der Item-Overlays (180x320px) */ .avatar-overlay[data-slot="helmet"] { top: 1%; left: 22%; width: 56%; height: 20%; } .avatar-overlay[data-slot="amulet"] { top: 21%; left: 58%; width: 30%; height: 11%; } .avatar-overlay[data-slot="shoulder"] { top: 19%; left: 3%; width: 30%; height: 13%; } .avatar-overlay[data-slot="weapon"] { top: 38%; left: 56%; width: 40%; height: 32%; } .avatar-overlay[data-slot="gloves"] { top: 54%; left: 2%; width: 30%; height: 13%; } .avatar-overlay[data-slot="shield"] { top: 36%; left: 4%; width: 36%; height: 30%; } .avatar-overlay[data-slot="belt"] { top: 51%; left: 18%; width: 64%; height: 11%; } .avatar-overlay[data-slot="ring"] { top: 67%; left: 3%; width: 24%; height: 9%; } .avatar-overlay[data-slot="boots"] { top: 80%; left: 12%; width: 76%; height: 18%; } /* Top-Slots (Helm + Amulett) über dem Avatar */ .equip-top { display: flex; gap: 8px; justify-content: center; } /* Bottom-Slots (Gürtel + Stiefel) unter dem Avatar */ .equip-bottom { display: flex; gap: 8px; justify-content: center; } /* ========================= Equipment Slots ========================= */ .slot { width: 68px; height: 68px; position: relative; background-image: url("/images/items/slot_mittel.png"); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; border-radius: 4px; transition: 0.2s; cursor: pointer; } .slot:hover { filter: brightness(1.3); box-shadow: 0 0 8px rgba(200, 160, 60, 0.5); } .slot.drag-over { outline: 3px solid gold; box-shadow: 0 0 14px gold; } .slot.has-item { box-shadow: 0 0 8px rgba(255, 200, 60, 0.4); } .slot-label { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); white-space: nowrap; color: #ffffff; font-family: "Cinzel", serif; font-size: 9px; font-weight: bold; text-shadow: 0 0 3px #000, 0 0 6px #000; pointer-events: none; background: rgba(0, 0, 0, 0.45); padding: 1px 4px; border-radius: 3px; } .slot.has-item .slot-label { display: none; } .slot img { width: 80%; height: 80%; object-fit: contain; } /* ========================= Inventory ========================= */ .inventory-section-title { font-family: "Tangerine", serif; font-size: 26px; color: #3b2412; text-align: center; margin: 4px 0 2px 0; border-top: 1px solid #8b6a3c; padding-top: 6px; letter-spacing: 1px; } #inventory-grid { display: grid; grid-template-columns: repeat(8, 56px); grid-auto-rows: 56px; gap: 5px; width: max-content; margin: 0 auto; padding: 6px; } #inventory-wrapper { display: flex; align-items: center; justify-content: center; } #inventory-page { font-family: "Cinzel", serif; font-size: 14px; font-weight: bold; color: #3b2412; display: flex; align-items: center; min-width: 100px; justify-content: center; } #inv-left, #inv-right { background: none; border: none; font-size: 22px; cursor: pointer; padding: 4px 8px; margin: 0; display: flex; align-items: center; justify-content: center; color: #5c3b20; transition: 0.2s; border-radius: 4px; } #inv-left:hover, #inv-right:hover { color: #f0d9a6; background: rgba(90, 60, 20, 0.4); transform: scale(1.1); } #inv-left:disabled, #inv-right:disabled { opacity: 0.25; cursor: not-allowed; transform: none; } #inventory-nav { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 8px; padding: 6px; background: rgba(0, 0, 0, 0.1); border-top: 1px solid #8b6a3c; border-radius: 0 0 6px 6px; } .inventory-slot { width: 56px; height: 56px; background-image: url("/images/items/slot_mittel.png"); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; cursor: grab; border-radius: 3px; transition: 0.2s; } .inventory-slot:active { cursor: grabbing; } .inventory-slot:hover { filter: brightness(1.25); box-shadow: 0 0 6px rgba(200, 160, 60, 0.4); } .inventory-slot img { width: 80%; height: 80%; object-fit: contain; } .item-common { box-shadow: 0 0 0 2px #9d9d9d inset; } .item-rare { box-shadow: 0 0 0 2px #0070dd inset; } .item-epic { box-shadow: 0 0 0 2px #a335ee inset; } .item-legendary { box-shadow: 0 0 0 2px #ff8000 inset; } /* ========================= Tooltip (Items) ========================= */ #item-tooltip { position: fixed; pointer-events: none; background: rgba(0, 0, 0, 0.85); color: #fff; padding: 8px 12px; border-radius: 6px; font-size: 14px; display: none; z-index: 9999; max-width: 200px; border: 1px solid #555; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } /* ========================= Schwarzmarkt Tabs ========================= */ .market-tabs { display: flex; gap: 6px; margin-bottom: 16px; border-bottom: 2px solid #8b6a3c; padding-bottom: 8px; } .market-tab { padding: 8px 20px; background: linear-gradient(#5c3b20, #3a2513); color: #e7d9b4; border: 1px solid #8b6a3c; border-radius: 4px; cursor: pointer; font-family: "Cinzel", serif; font-size: 13px; font-weight: bold; letter-spacing: 0.5px; transition: 0.2s; } .market-tab:hover { background: linear-gradient(#8b6a3c, #5c3b20); box-shadow: 0 0 8px rgba(200, 160, 80, 0.4); } .market-tab.active { background: linear-gradient(#d4b97a, #9c7a3a); color: #2b1b0f; border-color: #f0d9a6; } /* ========================= Schwarzmarkt Tab Inhalte ========================= */ .market-tab-content { display: none; } .market-tab-content.active { display: block; } /* ========================= Schwarzmarkt Seiten Grid ========================= */ #market-pages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 10px 4px; } /* ========================= Schwarzmarkt Slot Karten ========================= */ .market-slot { display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 14px 10px; gap: 8px; border-radius: 8px; border: 2px solid #8b6a3c; background: linear-gradient( 160deg, rgba(80, 50, 20, 0.6), rgba(40, 25, 10, 0.8) ); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 220, 100, 0.1); transition: 0.2s; min-height: 150px; position: relative; } /* Besessen */ .market-slot.owned { border-color: #3caa3c; background: linear-gradient( 160deg, rgba(20, 60, 20, 0.6), rgba(10, 35, 10, 0.8) ); } .market-slot.owned .bag-status { font-size: 22px; color: #3cff3c; text-shadow: 0 0 8px #3cff3c; } /* Kaufbar */ .market-slot.buy { cursor: pointer; border-color: #caa24b; } .market-slot.buy:hover { transform: translateY(-3px); border-color: #f0d060; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5), 0 0 15px rgba(200, 160, 60, 0.3); } /* Gesperrt */ .market-slot.locked { opacity: 0.4; filter: grayscale(60%); } /* ========================= Schwarzmarkt Slot Inhalt ========================= */ .bag-icon { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6)); } .bag-label { font-family: "Cinzel", serif; font-size: 12px; font-weight: bold; color: #e7d9b4; letter-spacing: 0.5px; } .bag-price { font-family: "Cinzel", serif; font-size: 14px; font-weight: bold; color: #ffd700; text-shadow: 0 0 6px rgba(255, 215, 0, 0.5); display: flex; align-items: center; gap: 4px; } .buy-button { padding: 6px 16px !important; font-size: 12px !important; font-family: "Cinzel", serif !important; font-weight: bold !important; background: linear-gradient(#7a5a2a, #caa24b) !important; border: 1px solid #e0c67b !important; border-radius: 4px; color: #1a1206 !important; cursor: pointer; transition: 0.2s; margin-top: 0 !important; width: 100%; } .buy-button:hover { transform: scale(1.05); box-shadow: 0 0 8px #ffd66b, 0 0 18px #caa24b; } /* Info Text über den Taschen */ .market-info-text { font-family: "Cinzel", serif; font-size: 20px; color: #5c3b20; text-align: center; margin: 0 0 12px 0; padding: 10px 16px; border-bottom: 1px solid rgba(139, 106, 60, 0.4); letter-spacing: 0.3px; line-height: 1.6; font-style: italic; } /* Placeholder Texte */ .market-placeholder { text-align: center; padding: 30px 20px; color: #8b6a3c; font-family: "Cinzel", serif; font-size: 14px; font-style: italic; letter-spacing: 0.5px; }