diff --git a/src/styles/backpack.css b/src/styles/backpack.css index ff4d3fd..a189ba3 100644 --- a/src/styles/backpack.css +++ b/src/styles/backpack.css @@ -1,227 +1,261 @@ + #backpack-btn { - margin-left: auto; - border: none; - background-color: transparent; - cursor: pointer; + margin-left: auto; + border: none; + background: transparent; + cursor: pointer; + transition: transform 0.2s ease; +} + +#backpack-btn:hover { + transform: scale(1.1); + filter: drop-shadow(0 0 6px #8b5cf6); } + #backpack-content { - font-family: 'Courier New', monospace; - background: rgba(0, 0, 0, 0.2); - display: flex; - justify-content: center; - align-items: center; - min-height: 100vh; - padding: 20px; - image-rendering: pixelated; - position: absolute; - top: 0; - left: 0; - right: 0; -} - -#backpack-content .backpack-frame { - background: #381154; - border: 8px solid #4f1975; - border-radius: 8px; - box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8); - max-width: 520px; - width: 100%; -} - -.backpack-frame .title-bar { - background: #442a80; - border: 4px solid #6b46c1; - margin: 16px; - padding: 20px; - text-align: center; - border-radius: 4px; -} - -.backpack-frame .title-bar h1 { - color: #fbbf24; - font-size: 20px; - font-weight: bold; - letter-spacing: 4px; -} - -.backpack-frame .backpack-container { - padding: 0 16px 16px 16px; - max-height: 300px; - overflow: auto; -} - -.backpack-frame .backpack-graphic { - background: #2d7a4f; - border: 6px solid #1e5a3a; - border-radius: 8px; - padding: 20px; - position: relative; -} - -.backpack-frame .backpack-flap { - background: #2d7a4f; - border: 4px solid #1e5a3a; - border-radius: 4px; - height: 24px; - width: 80px; - margin: 0 auto 16px; - position: relative; - left: 0; - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3); -} - -.backpack-frame .inventory-grid { - display: grid; - grid-template-columns: repeat(5, 1fr); - gap: 12px; - margin-bottom: 20px; -} - -.backpack-frame .inventory-slot { - background: #1e5a3a; - border: 4px solid #0f3d28; - border-radius: 4px; - aspect-ratio: 1; - display: flex; - align-items: center; - justify-content: center; - font-size: 32px; - cursor: pointer; - transition: all 0.2s; - position: relative; -} - -.backpack-frame .inventory-slot:hover { - background: #2d7a4f; - transform: translateY(-2px); -} - -.backpack-frame .inventory-slot.empty { - background: #1a4d32; - opacity: 0.6; -} - -.backpack-frame .quantity-badge { - position: absolute; - top: 2px; - right: 2px; - background: white; - color: #2a1a42; - font-size: 11px; - font-weight: bold; - padding: 2px 5px; - border-radius: 3px; - border: 2px solid #2a1a42; - line-height: 1; - box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3); -} - -.backpack-frame .tooltip { - position: absolute; - bottom: 110%; - left: 50%; - transform: translateX(-50%); - background: #2a1a42; - color: #f4d03f; - padding: 8px 12px; - border-radius: 4px; - border: 2px solid #3d2b5c; - font-size: 12px; - white-space: nowrap; - opacity: 0; - pointer-events: none; - transition: opacity 0.2s; - z-index: 10; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); -} - -.backpack-frame .inventory-slot:hover .tooltip { - opacity: 1; -} - -.backpack-frame .stats-section { - background: #1e5a3a; - border: 4px solid #0f3d28; - border-radius: 4px; - padding: 16px; -} - -.backpack-frame .stat-row { - display: flex; - justify-content: space-between; - align-items: center; - color: #fbbf24; - font-size: 14px; - font-weight: bold; - margin-bottom: 12px; + font-family: 'Press Start 2P', 'Courier New', monospace; + background: radial-gradient(circle at center, #0b0b1b 0%, #1e0034 100%); + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + padding: 20px; + image-rendering: pixelated; + position: absolute; + top: 0; + left: 0; + right: 0; + color: #fbbf24; } -.backpack-frame .stat-row:last-child { - margin-bottom: 0; + +.backpack-frame { + background: rgba(56, 17, 84, 0.95); + border: 8px solid #6b46c1; + border-radius: 12px; + box-shadow: 0 0 25px rgba(139, 92, 246, 0.8), + inset 0 0 12px rgba(0, 0, 0, 0.8); + max-width: 540px; + width: 100%; + transition: transform 0.3s ease; } -.backpack-frame .stat-label { - text-transform: uppercase; - letter-spacing: 1px; +.backpack-frame:hover { + transform: translateY(-4px); } -.backpack-frame .progress-bar { - flex: 1; - height: 16px; - background: #0f3d28; - border: 2px solid #fbbf24; - border-radius: 2px; - margin: 0 12px; - overflow: hidden; + +.title-bar { + background: linear-gradient(90deg, #442a80, #6b46c1); + border: 4px solid #8b5cf6; + margin: 16px; + padding: 20px; + text-align: center; + border-radius: 6px; + text-shadow: 0 0 8px #fbbf24; } -.backpack-frame .progress-fill { - height: 100%; - background: #fbbf24; - width: 32%; - transition: width 0.3s; +.title-bar h1 { + color: #fbbf24; + font-size: 20px; + letter-spacing: 4px; + text-transform: uppercase; } -.backpack-frame .footer { - margin: 16px; - text-align: center; - border-radius: 4px; +.backpack-container { + padding: 0 16px 16px; + max-height: 340px; + overflow: auto; } -.backpack-frame .footer button { - margin: 5px; - padding: 10px; - background: #442a80; - border: 4px solid #6b46c1; - border-radius: 4px; - color: #c4b5fd; - font-family: inherit; - font-size: 14px; - letter-spacing: 2px; - cursor: pointer; + +.backpack-graphic { + background: linear-gradient(145deg, #2d7a4f, #215b38); + border: 6px solid #1e5a3a; + border-radius: 10px; + padding: 20px; + position: relative; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6); +} + + +.backpack-flap { + background: #2d7a4f; + border: 4px solid #1e5a3a; + border-radius: 4px; + height: 28px; + width: 90px; + margin: 0 auto 16px; + box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.4); +} + + +.inventory-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 14px; + margin-bottom: 20px; +} + + +.inventory-slot { + background: linear-gradient(145deg, #1e5a3a, #0f3d28); + border: 4px solid #0f3d28; + border-radius: 6px; + aspect-ratio: 1; + display: flex; + align-items: center; + justify-content: center; + font-size: 32px; + color: #f4d03f; + cursor: pointer; + transition: all 0.25s ease; + position: relative; + box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.6); +} + +.inventory-slot:hover { + background: linear-gradient(145deg, #2d7a4f, #357e58); + transform: translateY(-3px) scale(1.05); + box-shadow: 0 0 10px #fbbf24, inset 0 0 8px rgba(0, 0, 0, 0.8); +} + + +.inventory-slot.empty { + background: #1a4d32; + opacity: 0.5; + border-style: dashed; +} + + +.quantity-badge { + position: absolute; + top: 2px; + right: 4px; + background: #fff; + color: #2a1a42; + font-size: 11px; + font-weight: bold; + padding: 2px 5px; + border-radius: 3px; + border: 2px solid #2a1a42; + line-height: 1; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4); +} + + +.tooltip { + position: absolute; + bottom: 110%; + left: 50%; + transform: translateX(-50%); + background: rgba(42, 26, 66, 0.95); + color: #f4d03f; + padding: 8px 12px; + border-radius: 6px; + border: 2px solid #3d2b5c; + font-size: 12px; + white-space: nowrap; + opacity: 0; + pointer-events: none; + transition: opacity 0.25s ease; + z-index: 10; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6); +} + +.inventory-slot:hover .tooltip { + opacity: 1; +} + + +.stats-section { + background: rgba(30, 90, 58, 0.9); + border: 4px solid #0f3d28; + border-radius: 6px; + padding: 16px; + box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.6); +} + +.stat-row { + display: flex; + justify-content: space-between; + align-items: center; + color: #fbbf24; + font-size: 14px; + font-weight: bold; + margin-bottom: 10px; +} + +.stat-label { + text-transform: uppercase; + letter-spacing: 1px; +} + +.progress-bar { + flex: 1; + height: 16px; + background: #0f3d28; + border: 2px solid #fbbf24; + border-radius: 4px; + margin: 0 10px; + overflow: hidden; + position: relative; +} + +.progress-fill { + height: 100%; + background: linear-gradient(90deg, #fbbf24, #ffe066); + width: 45%; + transition: width 0.3s ease; } + +.footer { + margin: 16px; + text-align: center; +} + +.footer button { + margin: 6px; + padding: 10px 16px; + background: linear-gradient(90deg, #442a80, #6b46c1); + border: 4px solid #8b5cf6; + border-radius: 6px; + color: #e9d8fd; + font-family: 'Press Start 2P', monospace; + font-size: 12px; + letter-spacing: 1px; + cursor: pointer; + text-transform: uppercase; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5); + transition: all 0.25s ease; +} + +.footer button:hover { + background: linear-gradient(90deg, #6b46c1, #442a80); + transform: scale(1.05); + box-shadow: 0 0 12px #8b5cf6; +} + + @media (max-width: 600px) { - .backpack-frame .inventory-grid { - grid-template-columns: repeat(4, 1fr); - gap: 8px; - } - - .backpack-frame .title-bar h1 { - font-size: 16px; - letter-spacing: 2px; - } - - .backpack-frame .backpack-container { - max-height: 180px; - } - - .backpack-frame .inventory-slot { - font-size: 24px; - } - - .backpack-frame .footer button { - font-size: 10px; - } + .inventory-grid { + grid-template-columns: repeat(4, 1fr); + gap: 8px; + } + + .title-bar h1 { + font-size: 14px; + letter-spacing: 1px; + } + + .inventory-slot { + font-size: 20px; + } + + .footer button { + font-size: 9px; + padding: 8px 10px; + } }