/* ========================= 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; } /* ========================= Popup Fenster ========================= */ .building-popup { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 900px; max-width: 90vw; background: url("/images/parchment.png") center / cover no-repeat; border: 4px solid #6b4b2a; border-radius: 10px; box-shadow: 0 0 40px rgba(0, 0, 0, 0.9), inset 0 0 25px rgba(0, 0, 0, 0.5); display: none; z-index: 1000; animation: popupFade 0.25s ease; } /* ========================= Popup Header ========================= */ .popup-header { padding: 14px; font-family: "Tangerine", serif; font-size: 36px; background: linear-gradient(#6b4b2a, #3c2414); border-bottom: 2px solid #8b6a3c; display: flex; justify-content: space-between; color: #f0d9a6; text-shadow: 0 2px 4px black; } .popup-header span { cursor: pointer; } /* ========================= Tabs ========================= */ .popup-tabs { display: flex; border-bottom: 2px solid #8b6a3c; } .popup-tabs button { flex: 1; padding: 10px; font-family: "Cinzel", serif; font-weight: bold; background: linear-gradient(#5c3b20, #3a2513); border: 1px solid #8b6a3c; color: #e7d9b4; cursor: pointer; transition: 0.2s; } .popup-tabs button:hover { background: linear-gradient(#8b6a3c, #5c3b20); } .popup-tabs button.active { background: linear-gradient(#d4b97a, #9c7a3a); color: #2b1b0f; } /* ========================= Popup Inhalt ========================= */ .popup-content { padding: 20px; font-size: 20px; line-height: 1.6; letter-spacing: 0.5px; background: rgba(255, 255, 255, 0.08); border-radius: 6px; color: #2b1b0f; } .popup-content h3 { font-family: "Tangerine", serif; font-size: 32px; color: #3b2412; margin-top: 0; } .popup-content p { color: #3a2413; } /* ========================= Tab Inhalte ========================= */ .tab-content { display: none; } .tab-content.active { display: block; } /* ========================= Buttons ========================= */ .popup-content button { margin-top: 10px; background: linear-gradient(#7a5a2a, #caa24b); border: 1px solid #e0c67b; padding: 10px 18px; color: #1a1206; font-weight: bold; cursor: pointer; transition: 0.2s; } .popup-content button:hover { transform: scale(1.05); box-shadow: 0 0 10px #ffd66b, 0 0 25px #caa24b; } /* ========================= Tooltip ========================= */ #map-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; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } #map-tooltip strong { color: #ffd700; } /* ========================= Character Window ========================= */ .character { position: absolute; top: 100px; left: 50%; transform: translateX(-50%); } #character-ui { position: relative; width: 600px; height: 550px; margin: auto; } .equip-left, .equip-right { display: flex; flex-direction: column; gap: 12px; } .character img { height: 340px; object-fit: contain; filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.6)); } /* ========================= Equipment Slots ========================= */ .equip-slot { width: 70px; height: 70px; position: relative; background-image: url("/images/items/slot_mittel.png"); background-size: cover; background-position: center; transition: 0.2s; display: flex; align-items: center; justify-content: center; } .slot-label { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #ffffff; font-size: 12px; font-weight: bold; text-shadow: 0 0 3px #000, 0 0 6px #000, 0 0 10px rgba(0, 0, 0, 0.8); pointer-events: none; } /* Slot Basis */ .slot.has-item .slot-label { display: none; } .slot.drag-over { outline: 3px solid gold; box-shadow: 0 0 10px gold; } .slot:hover { filter: brightness(1.3); } .slot { position: absolute; width: 90px; height: 90px; background-image: url("/images/items/slot_mittel.png"); background-size: cover; display: flex; align-items: center; justify-content: center; } /* HELM */ .helmet { top: 10px; left: 40%; transform: translateX(-50%); } /* AMULET */ .amulet { top: 10px; left: 60%; transform: translateX(-50%); } /* SCHULTER */ .shoulder { top: 110px; left: 80px; } /* WAFFE */ .weapon { top: 110px; right: 70px; } /* HANDSCHUHE */ .gloves { top: 220px; left: 80px; } /* SCHILD */ .shield { top: 220px; right: 70px; } /* GÜRTEL */ .belt { top: 270px; left: 50%; transform: translateX(-50%); } /* RINGE */ .ring1 { top: 330px; left: 80px; } .ring2 { top: 330px; right: 80px; } /* STIEFEL */ .boots { bottom: 0; left: 50%; transform: translateX(-50%); } /* ========================= Inventory ========================= */ #inventory-grid { display: grid; grid-template-columns: repeat(8, 70px); grid-auto-rows: 70px; gap: 8px; width: max-content; margin: 0 auto; padding: 10px; max-height: 340px; } #inventory-wrapper { width: 640px; margin: 0 auto; max-height: 340px; } .inventory-slot { width: 70px; height: 70px; background-image: url("/images/items/slot_mittel.png"); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; cursor: grab; } .inventory-slot:active { cursor: grabbing; } .inventory-slot:hover, .equip-slot:hover { filter: brightness(1.2); } .equip-slot.drag-over { outline: 2px solid gold; filter: brightness(1.3); } .equip-slot:empty { opacity: 0.7; } .item-common { border: 2px solid #9d9d9d; } .item-rare { border: 2px solid #0070dd; } .item-epic { border: 2px solid #a335ee; } .item-legendary { border: 2px solid #ff8000; } .inventory-slot img, .slot img { width: 80%; height: 80%; object-fit: contain; } /* ========================= Tooltip (Items) ========================= */ #item-tooltip { position: fixed; background: #111; border: 1px solid #555; padding: 6px; color: white; display: none; } /* ========================= Animation ========================= */ @keyframes popupFade { from { opacity: 0; transform: translate(-50%, -40%); } to { opacity: 1; transform: translate(-50%, -50%); } }