/* =========================================
   FAZENDA DTONG - ESTILO V7.0 (RESTAURADO & RESPONSIVO)
   ========================================= */

/* --- 1. GERAL --- */
* { margin: 0; padding: 0; box-sizing: border-box; user-select: none; -webkit-tap-highlight-color: transparent; }

body { 
    background-color: #5c4033;
    font-family: 'Press Start 2P', cursive; 
    height: 100vh; width: 100vw;
    display: flex; justify-content: center; align-items: center; 
    overflow: hidden; color: white;
    transition: background-color 0.5s ease;
}

.hidden { display: none !important; }

.pixel-art {
    image-rendering: pixelated;
    image-rendering: -moz-crisp-edges;
    image-rendering: crisp-edges;
}

/* --- SCROLLBAR PERSONALIZADA (BARRA DE ROLAGEM) --- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #3e2723; border-left: 1px solid #2e1e19; }
::-webkit-scrollbar-thumb { background: #8d6e63; border-radius: 4px; border: 1px solid #3e2723; }
::-webkit-scrollbar-thumb:hover { background: #a1887f; }

/* --- 2. MENU --- */
#menu-container { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 100%; height: 100%; justify-content: center; z-index: 50; position: relative; }
#logo-img { max-width: 90%; width: 400px; height: auto; margin-bottom: 20px; }

/* --- 3. BOTÕES (VISUAL MELHORADO TIPO MADEIRA) --- */
.pixel-button {
    width: 250px; max-width: 90%; height: 55px; position: relative; 
    background-color: #8d6e63;
    border: 3px solid #3e2723; border-radius: 6px; 
    cursor: pointer; font-family: 'Press Start 2P', cursive; color: white; font-size: 12px; text-shadow: 2px 2px 0px #000;
    box-shadow: inset 0 4px 0 rgba(255,255,255,0.2), 0 5px 0 #3e2723, 0 8px 3px rgba(0,0,0,0.4);
    display: flex; align-items: center; justify-content: center; margin-bottom: 12px; transition: all 0.1s ease;
}
.pixel-button:active { 
    transform: translateY(5px); 
    box-shadow: inset 0 4px 0 rgba(255,255,255,0.2), 0 0px 0 #3e2723, 0 2px 2px rgba(0,0,0,0.4); 
}
.small-btn { width: 100%; max-width: 180px; height: 45px; font-size: 10px; background-color: #c62828; }

/* --- 4. HUD --- */
#game-container { 
    display: flex; flex-direction: column; align-items: center; 
    width: 100%; height: 100%; padding: 5px; 
    z-index: 10; position: relative; 
}

.hud-currency-icon { width: 20px; height: 20px; object-fit: contain; vertical-align: middle; margin-right: 4px; image-rendering: pixelated; }

.header-hud {
    background-color: #3e2723; padding: 10px; border: 4px solid #8d6e63; box-shadow: 4px 4px 0px #1a1a1a;
    margin-bottom: 10px; z-index: 100; width: 100%; max-width: 900px;
    display: flex; justify-content: space-between; align-items: center; gap: 5px; flex-wrap: wrap; flex-shrink: 0; 
}
.gray-hud { background-color: #e0e0e0 !important; border: 4px solid #000000 !important; color: #333 !important; }
.hud-group { display: flex; gap: 10px; align-items: center; }
.hud-info { display: flex; flex-direction: column; gap: 2px; }
.hud-label { font-size: 8px; color: #ccc; }
.gray-hud .hud-label { color: #555 !important; }
.hud-value { font-size: 10px; display: flex; align-items: center; }

.hud-buttons { display: flex; gap: 8px; }
.hud-icon-btn { width: 48px; height: 48px; padding: 4px; background-color: #5d4037; border: 3px solid #8d6e63; cursor: pointer; box-shadow: 0 4px 0 #3e2723; display: flex; align-items: center; justify-content: center; }
.hud-icon-btn:active { transform: translateY(4px); box-shadow: none; }
.hud-icon-btn img { width: 32px; height: 32px; object-fit: contain; }

/* --- 5. BARRAS --- */
#level-container, #patente-container { display: flex; flex-direction: column; justify-content: center; width: 120px; flex-shrink: 0; }
.level-header { display: flex; justify-content: space-between; font-size: 7px; margin-bottom: 4px; text-shadow: 1px 1px 0 #000; }
.gray-hud .level-header { text-shadow: none !important; }
.xp-bar-bg { width: 100%; height: 10px; background-color: #1a1a1a; border: 2px solid #5d4037; position: relative; }
.xp-bar-fill { width: 0%; height: 100%; background-color: #76ff03; transition: width 0.3s ease-out; }

/* --- 6. VIEWPORT --- */
#world-viewport { 
    width: 100%; max-width: 900px; height: 100%; 
    position: relative; border: 4px solid #3e2723; 
    background-color: transparent; flex: 1; display: flex; overflow: hidden; 
}
.game-room { 
    width: 100%; height: 100%; overflow-y: auto; 
    position: absolute; top: 0; left: 0; padding: 10px; 
}

/* --- 7. FAZENDA --- */
#farm-scroller { 
    width: 100%; height: 100%; padding-bottom: 100px; 
    display: flex; flex-direction: column; gap: 20px; align-items: center; position: relative; 
}

.section-header { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 5px; padding: 0 5px; }
.section-title { font-size: 12px; color: #8bc34a; text-shadow: 2px 2px #000; text-align: left; background: rgba(0,0,0,0.5); padding: 5px; border-radius: 5px; margin: 0; flex: 1; }

.section-actions { display: flex; gap: 5px; }

.btn-section-action { 
    width: 40px; height: 40px; 
    background-color: #5d4037; border: 2px solid #fff; border-radius: 5px; 
    color: #fff; font-size: 16px; 
    cursor: pointer; display: flex; align-items: center; justify-content: center; 
    box-shadow: 0 3px 0 #3e2723; 
}
.btn-section-action:active { transform: translateY(3px); box-shadow: none; }
.btn-section-action img { width: 24px; height: 24px; object-fit: contain; image-rendering: pixelated; }

.farm-section-grid { 
    display: grid; gap: 6px; 
    background-color: rgba(62, 39, 35, 0.6); 
    padding: 10px; border-radius: 10px; border: 4px solid #3e2723;
    grid-template-columns: repeat(6, 1fr); 
}

.land-slot {
    width: clamp(48px, 12vmin, 80px);
    height: clamp(48px, 12vmin, 80px);
    background-image: url('assets/slots.png'); 
    background-size: cover; background-repeat: no-repeat;
    background-color: transparent; border: none; box-shadow: none;
    position: relative; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center;
    color: white; font-size: 8px; text-align: center; overflow: hidden;
}
.land-slot img { width: 100%; height: 100%; object-fit: contain; }
.land-slot.locked { background-color: #1a1a1a; border-color: #000; opacity: 0.9; }
.buy-price-tag { color: #ef5350; font-size: 8px; margin-top: 20px; z-index: 5; text-shadow: 1px 1px 0 #000; pointer-events: none; }
.lock-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 10; pointer-events: none; }
.lock-req { color: #ffd700; font-size: 6px; margin-top: 2px; }

.timer-display { 
    position: absolute; top: 80%; left: 50%; transform: translate(-50%, -50%);
    font-size: 10px; color: #fff; background-color: rgba(0,0,0,0.8); 
    padding: 2px 5px; border-radius: 4px; z-index: 20; pointer-events: none; 
    text-shadow: 1px 1px 0 #000; border: 1px solid rgba(255,255,255,0.4);
    box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* NPC FAZENDEIRO */
#npc-fazendeiro {
    position: absolute; width: 64px; height: 64px; z-index: 50; pointer-events: auto; cursor: pointer;
    transition: left 1s linear, top 1s linear; display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
}
.npc-label { position: absolute; top: -15px; background-color: rgba(0,0,0,0.8); color: #fff; font-size: 8px; padding: 2px 4px; border-radius: 4px; border: 1px solid #ffd700; white-space: nowrap; z-index: 51; }
.npc-shadow { position: absolute; bottom: 0; width: 40px; height: 10px; background-color: rgba(0,0,0,0.5); border-radius: 50%; z-index: -1; }

/* --- 8. FÁBRICA --- */
.factory-bg { 
    background-color: #263238; 
    background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px); 
    background-size: 20px 20px; 
    display: flex; flex-direction: column; align-items: center; 
}
.machine-room-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)); gap: 15px; width: 100%; padding: 10px; }
.machine-slot {
    background-color: rgba(0,0,0,0.3); border: 2px solid #555;
    border-radius: 8px; display: flex; align-items: center; justify-content: center;
    position: relative; aspect-ratio: 1/1; cursor: pointer;
}
.machine-img { width: 80%; height: 80%; object-fit: contain; }
.machine-overlay { position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.7); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; pointer-events: none; }
.machine-timer { position: absolute; bottom: 5px; right: 5px; background: rgba(0,0,0,0.8); color: #fff; padding: 2px 4px; border-radius: 3px; font-size: 8px; }
.machine-ready { position: absolute; top: -5px; right: -5px; background: #76ff03; color: #000; padding: 2px 4px; border-radius: 3px; font-size: 8px; animation: pulse 1s infinite; }

/* --- 9. GALINHEIRO --- */
#room-coop { background-color: #2e1e19; overflow: hidden; display: flex; justify-content: center; align-items: center; }
.coop-background { width: 544px; height: 544px; position: relative; box-shadow: 0 0 20px rgba(0,0,0,0.5); flex-shrink: 0; margin: 20px; }
.layer-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; image-rendering: pixelated; z-index: 0; }
#chickens-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.layer-fg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; image-rendering: pixelated; z-index: 20; pointer-events: none; }
.small-chicken { width: 44px; height: 44px; position: absolute; transition: all 3s ease-in-out; cursor: pointer; z-index: 10; image-rendering: pixelated; }
.small-chicken:hover { transform: scale(1.2); filter: drop-shadow(0 0 5px #ffd700); z-index: 25; }

/* --- 10. MODAIS RESPONSIVOS E ESTILIZADOS --- */
#custom-alert, #custom-confirm, #save-load-modal, #plant-menu-modal, #barn-modal, #market-modal, 
#shop-barn-modal, #fertilizer-modal, #mission-modal, #composter-modal, #pantry-modal, #chicken-zoom-modal { 
    position: fixed !important; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; 
    background-color: rgba(0, 0, 0, 0.85); display: flex; justify-content: center; align-items: center; z-index: 20000; 
}
.modal-content { background-color: #3e2723; border: 4px solid #8d6e63; border-radius: 10px; padding: 20px; box-shadow: inset 0 0 20px rgba(0,0,0,0.5), 0 10px 20px rgba(0,0,0,0.8); text-align: center; position: relative; width: 90vw; max-width: 450px; }
.modal-content h3 { color: #ffcc80; text-shadow: 2px 2px 0 #000; margin-bottom: 5px; font-size: 12px; text-transform: uppercase; border-bottom: 2px solid #5d4037; padding-bottom: 10px; }
.market-scroll-container, .barn-grid-style, .mission-list-style { display: flex; flex-direction: column; gap: 5px; max-height: 250px; overflow-y: auto; padding-right: 2px; text-align: left; }
.market-item-row { display: flex; flex-direction: column; gap: 5px; background-color: rgba(0,0,0,0.3); border: 2px solid #5d4037; padding: 8px; border-radius: 4px; font-size: 10px; }
.market-item-info { text-align: left; display: flex; justify-content: space-between; align-items: center; }
.market-actions { display: flex; gap: 5px; width: 100%; justify-content: space-between; }
.market-btn-small { flex: 1; height: 30px; background-color: #fbc02d; color: #3e2723; border: 2px solid #f57f17; font-family: inherit; font-size: 8px; cursor: pointer; box-shadow: 0 3px 0 #f57f17; text-shadow: none !important; color: white !important;}
.market-btn-sell-all { background-color: #c62828; border-color: #b71c1c; color: white !important; text-shadow: none !important; }
.shop-item-row { display: flex; align-items: center; justify-content: space-between; background-color: #4e342e; border: 2px solid #8d6e63; padding: 8px; border-radius: 4px; font-size: 10px; }
.shop-btn-buy { background-color: #000000; color: #1a1a1a; border: 2px solid #33691e; font-family: 'Press Start 2P', cursive; font-size: 8px; padding: 8px 10px; cursor: pointer; box-shadow: 0 4px 0 #33691e; }
.shop-btn-buy.disabled-btn { background-color: #555; border-color: #333; color: #888 !important; box-shadow: none; cursor: not-allowed; }
.fertilizer-option-btn { background-color: #5d4037; border: 2px solid #8d6e63; padding: 10px; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 5px; box-shadow: inset 0 0 10px rgba(0,0,0,0.5); position: relative; }
.fertilizer-option-btn img { width: 16px; height: 16px; object-fit: contain; }
.mission-row { background-color: #4e342e; border: 2px solid #8d6e63; padding: 8px; border-radius: 4px; display: flex; justify-content: space-between; align-items: center; font-size: 8px; margin-bottom: 5px; opacity: 0.7; }
.mission-row.active { opacity: 1; border-color: #ffd700; background-color: #5d4037; }
.mission-row.completed { border-color: #76ff03; opacity: 0.5; }
.mission-btn-claim { background-color: #ffd700; color: #3e2723; border: 2px solid #ff6f00; font-size: 8px; padding: 3px 5px; cursor: pointer; font-family: inherit; animation: pulse 1s infinite; }
.btn-upgrade-style { width: 100%; height: 40px; margin-bottom: 15px; color: white; font-size: 10px; box-shadow: inset 2px 2px 0 rgba(255,255,255,0.3), 0 3px 0 rgba(0,0,0,0.5); }
.options-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.plant-option-btn { background-color: #5d4037; border: 2px solid #8d6e63; color: white; padding: 5px; font-family: 'Press Start 2P', cursive; font-size: 8px; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; box-shadow: inset -2px -2px 0 rgba(0,0,0,0.5); height: 70px; }
.plant-option-btn img { width: 16px; height: 16px; margin-bottom: 3px; }
.barn-slot-row { background-color: rgba(0,0,0,0.3); padding: 10px; border-radius: 5px; border: 2px solid #5d4037; }
.barn-title { color: #ffd700; font-size: 10px; margin-bottom: 5px; border-bottom: 1px solid #8d6e63; padding-bottom: 2px; }
.barn-item-count { font-size: 10px; margin-left: 10px; line-height: 1.5; color: white; }

/* --- VISUAIS ADICIONAIS --- */
.stone-particle { position: absolute; width: 6px; height: 6px; pointer-events: none; z-index: 100; box-shadow: 0 0 5px rgba(255,255,255,0.5); }
.xp-orb { position: fixed; width: 12px; height: 12px; background-color: #fff; border-radius: 50%; z-index: 9999; pointer-events: none; box-shadow: 0 0 5px #76ff03, 0 0 10px #76ff03; transform-origin: center center; }
.xp-trail { position: fixed; width: 6px; height: 6px; background-color: #76ff03; border-radius: 50%; pointer-events: none; z-index: 9998; opacity: 0.8; box-shadow: 0 0 5px #76ff03; }
#corner-clock { position: fixed; top: 10px; right: 10px; background-color: rgba(0, 0, 0, 0.7); color: #fff; padding: 5px 10px; border-radius: 5px; border: 2px solid #5d4037; font-size: 10px; z-index: 9000; text-shadow: 1px 1px 0 #000; box-shadow: 2px 2px 0 rgba(0,0,0,0.5); }

.falling-leaf { position: fixed; width: 8px; height: 8px; background-color: #76ff03; pointer-events: none; z-index: 200; border-radius: 0 50% 0 50%; opacity: 0.8; right: -20px; animation-duration: 8s !important; }
.wind-line { position: fixed; height: 1px; background: rgba(255, 255, 255, 0.3); pointer-events: none; z-index: 100; border-radius: 1px; right: -100px; animation-duration: 6s !important; }

/* --- SALA DO MERCADO INDUSTRIAL --- */
.market-room-bg { width: 100%; height: 100%; background-color: #5d4037; background-image: linear-gradient(#4e342e 1px, transparent 1px), linear-gradient(90deg, #4e342e 1px, transparent 1px); background-size: 40px 40px; display: flex; flex-direction: column; align-items: center; padding-top: 20px; gap: 20px; }
.shelf-row { width: 90%; max-width: 600px; height: 80px; background-color: #3e2723; border: 4px solid #1a1a1a; border-bottom: 8px solid #1a1a1a; box-shadow: 0 10px 10px rgba(0,0,0,0.5); display: flex; justify-content: space-around; align-items: flex-end; padding-bottom: 5px; }
.shelf-slot { width: 50px; height: 50px; background-color: rgba(0,0,0,0.3); border: 1px dashed #8d6e63; position: relative; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.shelf-slot:hover { background-color: rgba(255,255,255,0.1); }
.shelf-item-img { width: 40px; height: 40px; object-fit: contain; image-rendering: pixelated; }
.shelf-timer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.7); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 8px; z-index: 5; }
.shelf-ready { position: absolute; top: -10px; right: -10px; background-color: #76ff03; color: #000; padding: 2px 4px; font-size: 8px; border: 1px solid #fff; animation: pulse 1s infinite; z-index: 10; }
.btn-market-access { width: 60px; height: 60px; background-color: #ff9800; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 4px 0 #e65100; display: flex; align-items: center; justify-content: center; cursor: pointer; margin-left: auto; }
.btn-market-access img { width: 40px; height: 40px; }

/* FILTROS E OUTROS */
.flying-icon { position: fixed; width: 24px; height: 24px; z-index: 9999; pointer-events: none; image-rendering: pixelated; filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.8)); }
.patent-orb { position: fixed; width: 12px; height: 12px; background-color: #d500f9; border-radius: 50%; z-index: 9999; pointer-events: none; box-shadow: 0 0 5px #e040fb, 0 0 10px #aa00ff; }
.trail-coin { position: fixed; width: 5px; height: 5px; background-color: #ffd700; border-radius: 50%; pointer-events: none; z-index: 9998; opacity: 0.8; box-shadow: 0 0 4px #ffd700; }
.trail-cash { position: fixed; width: 5px; height: 5px; background-color: #76ff03; border-radius: 50%; pointer-events: none; z-index: 9998; opacity: 0.8; box-shadow: 0 0 4px #76ff03; }
.trail-orb { position: fixed; width: 5px; height: 5px; background-color: #d500f9; border-radius: 50%; pointer-events: none; z-index: 9998; opacity: 0.8; box-shadow: 0 0 4px #d500f9; }

.filter-green { filter: sepia(100%) hue-rotate(80deg) saturate(400%) brightness(0.9) contrast(1.2); }
.filter-blue { filter: sepia(100%) hue-rotate(170deg) saturate(500%) brightness(1.1) drop-shadow(0 0 2px #00e5ff); }
.filter-purple { filter: sepia(100%) hue-rotate(240deg) saturate(400%) brightness(1.1) drop-shadow(0 0 4px #d500f9); }
.filter-gold { filter: sepia(100%) saturate(600%) brightness(1.1) contrast(1.2) drop-shadow(0 0 5px #ffd700); animation: pulseGold 2s infinite alternate; }
@keyframes pulseGold { 0% { filter: sepia(100%) saturate(600%) brightness(1.1) drop-shadow(0 0 3px #ffd700); transform: scale(1); } 100% { filter: sepia(100%) saturate(600%) brightness(1.3) drop-shadow(0 0 8px #ffeb3b); transform: scale(1.05); } }

body.factory-mode { background-color: #212121 !important; }
body.factory-mode .falling-leaf, body.factory-mode .wind-line, body.factory-mode .stone-particle { opacity: 0 !important; transition: opacity 0.5s ease; }

/* REGRAS DE LAYOUT MOBILE */
@media (max-width: 768px) { 
    .farm-section-grid { grid-template-columns: repeat(4, 1fr); }
    .small-chicken { width: 40px !important; height: 40px !important; }
    body { font-size: 12px !important; }
    .pixel-button { width: 100% !important; height: 50px !important; font-size: 10px !important; }
    #moedas-display, #cash-display-farm { font-size: 14px !important; }
    .hud-icon-btn { width: 48px !important; height: 48px !important; }
    .patente-icon-update img { height: 50px !important; }
    .no-shadow { text-shadow: none !important; color: white !important; }
}

@media (max-width: 480px) {
    .header-hud { flex-direction: column; align-items: stretch; gap: 10px; }
    .hud-group { justify-content: space-between; }
    .hud-buttons { justify-content: space-between; }
    .farm-section-grid { grid-template-columns: repeat(3, 1fr); }
}

#toast-container {
    position: fixed; top: -100px; left: 50%; transform: translateX(-50%);
    background-color: rgba(46, 125, 50, 0.95); border: 2px solid #76ff03;
    padding: 15px 25px; border-radius: 0 0 10px 10px;
    color: white; font-size: 10px; z-index: 30000;
    display: flex; align-items: center; gap: 10px;
    transition: top 0.5s ease-in-out;
}
#toast-container.show { top: 0; }

.farm-action-btn { 
    width: 24px; height: 24px; 
    background-color: #5d4037; border: 2px solid #8d6e63; border-radius: 4px; 
    cursor: pointer; display: flex; align-items: center; justify-content: center; 
    box-shadow: 0 2px 0 #3e2723; margin-left: 5px;
}
.farm-action-btn:active { transform: translateY(2px); box-shadow: none; }
.farm-action-btn img { width: 16px; height: 16px; object-fit: contain; }

.deposito-timer-header {
    background-color: #c62828; color: white; padding: 5px; 
    border-radius: 4px; margin-bottom: 10px; font-size: 9px; border: 1px solid #ffcdd2;
}

/* --- ANIMAÇÕES DA FÁBRICA E PATENTE --- */
@keyframes fadeOutLock { from { opacity: 1; transform: scale(1); filter: grayscale(100%); } to { opacity: 0; transform: scale(0.9); filter: grayscale(0%); } }
@keyframes fadeInMachine { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }
.anim-fade-out { animation: fadeOutLock 0.2s forwards ease-in; }
.anim-fade-in { animation: fadeInMachine 0.2s forwards ease-out; }

#patent-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.85); z-index: 20000; display: flex; justify-content: center; align-items: center; backdrop-filter: blur(5px); }
.patent-card { background-color: #3e2723; border: 3px solid #d7ccc8; border-radius: 10px; width: 320px; max-height: 90vh; display: flex; flex-direction: column; padding: 15px; box-shadow: 0 0 20px rgba(0,0,0,0.8); animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
@keyframes popIn { from { transform: scale(0.5); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.patent-zoom-container { display: flex; flex-direction: column; align-items: center; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 2px dashed #5d4037; }
.patent-big-icon { width: 96px; height: 96px; image-rendering: pixelated; animation: floatIcon 3s ease-in-out infinite; filter: drop-shadow(0 0 10px #ffd700); }
@keyframes floatIcon { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.patent-list { overflow-y: auto; flex: 1; display: flex; flex-direction: column; gap: 8px; padding-right: 5px; }
.patent-row { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 6px; background-color: rgba(0,0,0,0.2); opacity: 0.6; border: 1px solid transparent; }
.patent-row.past { opacity: 0.5; background-color: rgba(0,0,0,0.4); filter: grayscale(80%); }
.patent-row.current { opacity: 1; background-color: rgba(255, 215, 0, 0.15); border: 1px solid #ffd700; box-shadow: 0 0 10px rgba(255, 215, 0, 0.2) inset; }
.patent-row.future { opacity: 0.4; border: 1px dashed #777; }
.patent-row img { width: 32px; height: 32px; image-rendering: pixelated; }

/* --- ANIMAÇÕES DO GALINHEIRO --- */
@keyframes eggPopUp { 0% { transform: translateY(0) scale(0.5); opacity: 0; } 50% { transform: translateY(-30px) scale(1.2); opacity: 1; } 100% { transform: translateY(-60px) scale(1); opacity: 0; } }
.egg-pop-anim { animation: eggPopUp 1.2s forwards ease-out; display: block !important; }

@keyframes pulseGlowWhite { 0% { filter: drop-shadow(0 0 0px #fff); } 100% { filter: drop-shadow(0 0 4px #fff); } }
@keyframes pulseGlowGreen { 0% { filter: drop-shadow(0 0 0px #76ff03); } 100% { filter: drop-shadow(0 0 4px #76ff03); } }
@keyframes pulseGlowBlue  { 0% { filter: drop-shadow(0 0 0px #00e5ff); } 100% { filter: drop-shadow(0 0 4px #00e5ff); } }
@keyframes pulseGlowPurple{ 0% { filter: drop-shadow(0 0 0px #d500f9); } 100% { filter: drop-shadow(0 0 4px #d500f9); } }
@keyframes pulseGlowGold  { 0% { filter: drop-shadow(0 0 0px #ffd700); } 100% { filter: drop-shadow(0 0 5px #ffd700); } }

.pulse-white  { animation: pulseGlowWhite 0.8s infinite alternate; }
.pulse-green  { animation: pulseGlowGreen 0.8s infinite alternate; }
.pulse-blue   { animation: pulseGlowBlue 0.8s infinite alternate; }
.pulse-purple { animation: pulseGlowPurple 0.8s infinite alternate; }
.pulse-gold   { animation: pulseGlowGold 0.8s infinite alternate; }

#zoom-egg-reward { width: 16px !important; height: 16px !important; bottom: 20px !important; }

/* BOTÃO FLUTUANTE DO PASS */
#btn-game-pass { position: fixed; top: 50px; right: 10px; width: 40px; height: 40px; background-color: #0277bd; border: 2px solid #fff; border-radius: 8px; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 8000; box-shadow: 0 4px 0 #01579b; animation: floatPass 3s ease-in-out infinite; }
#btn-game-pass img { width: 24px; height: 24px; }
#btn-game-pass:active { transform: translateY(4px); box-shadow: none; }
@keyframes floatPass { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

.pass-level-badge { width: 24px; height: 24px; background-color: #333; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 8px; border: 1px solid #777; }
.pass-row-locked { background-color: rgba(0,0,0,0.4); border-color: #555; opacity: 0.7; }
.pass-row-unlocked { background-color: rgba(0, 229, 255, 0.2); border-color: #00e5ff; opacity: 1; }
.pass-row-claimed { background-color: rgba(118, 255, 3, 0.1); border-color: #76ff03; opacity: 0.5; filter: grayscale(50%); }
.pass-claim-btn { background-color: #00e5ff; color: #000; border-color: #00b0ff; width: auto; height: 25px; font-size: 8px; animation: pulse 1s infinite; }