/* --- ASSEMBLY HALL STYLES --- */
.header-controls {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px;
    border: 1px solid var(--retro-dim);
    padding: 15px;
}

#party-slots {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 20px;
}

.slot {
    border: 1px solid var(--retro-green);
    padding: 15px;
    background: var(--retro-panel);
}

.stats-display {
    margin-top: 10px;
    padding: 8px;
    background: rgba(0, 255, 0, 0.05);
    border: 1px inset var(--retro-dim);
    font-size: 0.85em;
    line-height: 1.4;
}

.vital-line {
    border-bottom: 1px solid var(--retro-dim);
    margin-bottom: 5px;
    padding-bottom: 2px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

.stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 10px;
}

/* The Pulsing Enter Button */
@keyframes dungeonPulse {
    0% { box-shadow: 0 0 0 0 rgba(170, 0, 0, 0.7); transform: scale(1); }
    50% { box-shadow: 0 0 20px 5px rgba(255, 0, 0, 0.5); transform: scale(1.02); }
    100% { box-shadow: 0 0 0 0 rgba(170, 0, 0, 0); transform: scale(1); }
}

#enterDungeonBtn:not(:disabled) {
    animation: dungeonPulse 2s infinite ease-in-out;
    background: var(--danger-red);
    border: 2px solid #f00;
    color: #fff;
}