/* ===== Enhanced Wiki Styles ===== */

/* Wiki Container */
.wiki-container {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    min-height: 600px;
}

/* Wiki Tabs */
.wiki-tabs {
    display: flex;
    gap: var(--spacing-sm);
    justify-content: center;
    padding: var(--spacing-md);
    background: var(--bg-glass);
    backdrop-filter: blur(20px);
    border-radius: var(--radius-xl);
    border: 1px solid var(--border-color);
    flex-wrap: wrap;
    box-shadow: var(--shadow-sm);
}

.wiki-tab-btn {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md) var(--spacing-lg);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-normal);
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
    min-width: 120px;
    justify-content: center;
}

.wiki-tab-btn:hover {
    background: var(--bg-glass-hover);
    border-color: var(--border-hover);
    color: var(--text-primary);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.wiki-tab-btn.active {
    background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
    border-color: var(--accent-primary);
    color: var(--bg-primary);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.wiki-tab-btn i {
    font-size: 16px;
}

/* Wiki Sub Tabs */
.wiki-sub-tabs {
    display: flex;
    gap: var(--spacing-sm);
    justify-content: center;
    padding: var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    flex-wrap: wrap;
}

.wiki-sub-tab-btn {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-md);
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
    font-size: 13px;
    font-weight: 500;
    flex-shrink: 0;
}

.wiki-sub-tab-btn:hover {
    background: var(--bg-glass);
    border-color: var(--border-hover);
    color: var(--text-primary);
    transform: translateY(-1px);
}

.wiki-sub-tab-btn.active {
    background: var(--accent-primary);
    border-color: var(--accent-primary);
    color: var(--bg-primary);
    box-shadow: var(--shadow-sm);
}

.wiki-sub-tab-btn i {
    font-size: 14px;
}

/* Wiki Content Area */
.wiki-content {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    backdrop-filter: blur(20px);
    min-height: 500px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

#wiki-content-area {
    padding: var(--spacing-xl);
    min-height: 400px;
}

/* Wiki Controls */
.wiki-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-xl);
    padding: var(--spacing-lg);
    background: var(--bg-glass);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    flex-wrap: wrap;
    gap: var(--spacing-md);
}

.wiki-filter {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    flex-wrap: wrap;
}

/* Wiki Search */
.wiki-search {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    order: -1; /* Move search to the beginning */
}

.wiki-search input {
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: 14px;
    min-width: 250px;
}

.wiki-search input:focus {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.2);
}

.wiki-results-count {
    font-size: 14px;
    color: var(--text-secondary);
    margin-left: var(--spacing-sm);
}

.wiki-filter label {
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 14px;
}

.wiki-filter select {
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: 14px;
    transition: all var(--transition-fast);
    min-width: 150px;
}

.wiki-filter select:focus {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.2);
}

.wiki-search {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

.wiki-search input {
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: 14px;
    min-width: 200px;
}

.wiki-search input:focus {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.2);
}

/* Wiki List Styles */
.wiki-list {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    overflow: hidden;
    backdrop-filter: blur(10px);
    background: var(--bg-card);
    box-shadow: var(--shadow-sm);
}

.wiki-list-header {
    display: grid;
    grid-template-columns: 2fr 1.2fr 0.8fr 2.5fr;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    background: var(--bg-tertiary);
    border-bottom: 1px solid var(--border-color);
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    min-height: 48px;
}

.wiki-list-row {
    display: grid;
    grid-template-columns: 2fr 1.2fr 0.8fr 2.5fr;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-color);
    transition: all var(--transition-normal);
    cursor: pointer;
    background: var(--bg-glass);
    min-height: 52px;
}

.wiki-list-row:hover {
    background: var(--bg-glass-hover);
    transform: translateX(2px);
    border-left: 2px solid var(--accent-primary);
}

.wiki-list-row:last-child {
    border-bottom: none;
}

.wiki-col {
    display: flex;
    align-items: center;
    min-height: 48px;
}

.wiki-col-name {
    font-weight: 700;
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wiki-col-class,
.wiki-col-type,
.wiki-col-rarity {
    font-size: 14px;
}

.wiki-col-description {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-align: left;
}

/* Enhanced Badge Styles */
.class-badge {
    background: linear-gradient(135deg, var(--accent-secondary), var(--accent-primary));
    color: var(--bg-primary);
    padding: 4px 12px;
    border-radius: var(--radius-md);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.type-badge {
    background: var(--bg-tertiary);
    color: var(--accent-primary);
    padding: 6px 14px;
    border-radius: var(--radius-md);
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(0, 255, 136, 0.3);
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-fast);
}

.type-badge:hover {
    background: var(--accent-primary);
    color: var(--bg-primary);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.rarity-badge {
    padding: 4px 12px;
    border-radius: var(--radius-md);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--text-primary);
    letter-spacing: 0.5px;
    box-shadow: var(--shadow-sm);
}

.rarity-badge.rarity-c {
    background: linear-gradient(135deg, #8B8B8B, #696969);
    border: 1px solid #8B8B8B;
}

.rarity-badge.rarity-r {
    background: linear-gradient(135deg, #4CAF50, #45a049);
    border: 1px solid #4CAF50;
}

.rarity-badge.rarity-sr {
    background: linear-gradient(135deg, #2196F3, #1976D2);
    border: 1px solid #2196F3;
}

.rarity-badge.rarity-ssr {
    background: linear-gradient(135deg, #9C27B0, #7B1FA2);
    border: 1px solid #9C27B0;
}

.rarity-badge.rarity-ur {
    background: linear-gradient(135deg, #FF9800, #F57C00);
    border: 1px solid #FF9800;
}

/* Element Display */
.element-display {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.element-icon {
    font-size: 16px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bg-tertiary);
}

.element-icon-aer { color: #ffeb3b; }
.element-icon-aqua { color: #40e0d0; }
.element-icon-terra { color: #4caf50; }
.element-icon-ignis { color: #ff6b35; }
.element-icon-ordo { color: #ffffff; }
.element-icon-perditio { color: #808080; }

.element-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 13px;
}

/* Properties Row and Growth Row */
.properties-row {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    flex-wrap: wrap;
}

.growth-row {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    flex-wrap: wrap;
}

.growth-badge {
    background: linear-gradient(135deg, var(--accent-secondary), var(--accent-primary));
    color: var(--bg-primary);
    padding: 6px 16px;
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 700;
    box-shadow: var(--shadow-sm);
}

.rate-value {
    font-weight: 600;
    color: var(--accent-primary);
    font-size: 14px;
}

/* Proficiency Styles */
.proficiency-grid {
    display: grid;
    gap: var(--spacing-sm);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.proficiency-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.proficiency-item:hover {
    background: var(--bg-glass-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.weapon-icon {
    color: var(--accent-primary);
    font-size: 18px;
    flex-shrink: 0;
}

.weapon-name {
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
}

.proficiency-badge {
    padding: 4px 10px;
    border-radius: var(--radius-sm);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: var(--shadow-sm);
}

/* Proficiency rank colors */
.proficiency-badge.proficiency-s {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: var(--text-primary);
    border: 1px solid #ffd700;
}

.proficiency-badge.proficiency-a {
    background: linear-gradient(135deg, #4CAF50, #66bb6a);
    color: var(--bg-primary);
    border: 1px solid #4CAF50;
}

.proficiency-badge.proficiency-b {
    background: linear-gradient(135deg, #2196F3, #42a5f5);
    color: var(--bg-primary);
    border: 1px solid #2196F3;
}

.proficiency-badge.proficiency-c {
    background: linear-gradient(135deg, #ff9800, #ffab40);
    color: var(--bg-primary);
    border: 1px solid #ff9800;
}

.proficiency-badge.proficiency-d {
    background: linear-gradient(135deg, #f44336, #ef5350);
    color: var(--bg-primary);
    border: 1px solid #f44336;
}

.proficiency-badge.proficiency-f {
    background: linear-gradient(135deg, #grey, #9e9e9e);
    color: var(--bg-primary);
    border: 1px solid #grey;
}

/* Empty States */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-2xl);
    text-align: center;
    color: var(--text-muted);
    min-height: 300px;
}

.empty-state i {
    font-size: 4rem;
    margin-bottom: var(--spacing-lg);
    opacity: 0.5;
    color: var(--text-muted);
}

.empty-state h3 {
    color: var(--text-secondary);
    margin-bottom: var(--spacing-sm);
    font-size: 1.5rem;
}

.empty-state p {
    color: var(--text-muted);
    margin-bottom: var(--spacing-lg);
    max-width: 400px;
    line-height: 1.5;
}

/* ===== Enhanced Wiki Modal Styles ===== */

/* Wiki Modal Base */
.wiki-modal-content {
    max-width: 900px !important;
    max-height: 85vh !important;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(30px);
}

.wiki-modal-content .modal-header {
    background: linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary));
    border-bottom: 1px solid var(--border-color);
    padding: var(--spacing-xl);
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.wiki-modal-content .modal-header h3 {
    color: var(--accent-primary);
    font-size: 1.5rem;
    margin: 0;
    text-shadow: 0 0 10px var(--accent-glow);
}

.wiki-modal-content .modal-body {
    padding: var(--spacing-xl);
    max-height: 60vh;
    overflow-y: auto;
}

.wiki-modal-content .modal-footer {
    background: var(--bg-glass);
    border-top: 1px solid var(--border-color);
    padding: var(--spacing-lg);
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
}

/* Building Wiki Modal */
.building-wiki-modal {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.building-header-section {
    display: flex;
    gap: var(--spacing-xl);
    align-items: center;
    padding: var(--spacing-lg);
    background: var(--bg-glass);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.building-avatar-large {
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary));
    border-radius: var(--radius-lg);
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-md);
}

.building-avatar-large i {
    font-size: 4rem;
    color: var(--text-muted);
}

.building-info-large {
    flex: 1;
}

.building-title-large {
    font-size: 2.5rem;
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-sm) 0;
    text-shadow: 0 0 15px var(--accent-glow);
}

.building-badges-large {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    flex-wrap: wrap;
}

.building-content-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
}

.building-description-block,
.building-effects-block,
.building-upgrade-block,
.building-requirements-block {
    background: var(--bg-glass);
    padding: var(--spacing-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.building-description-block {
    grid-column: 1 / -1;
}

.building-description-block h3,
.building-effects-block h3,
.building-upgrade-block h3,
.building-requirements-block h3 {
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.building-description-block h3 i,
.building-effects-block h3 i,
.building-upgrade-block h3 i,
.building-requirements-block h3 i {
    font-size: 18px;
}

.building-description-block p {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 15px;
    margin: 0;
}

/* Building Effects */
.effects-container {
    display: grid;
    gap: var(--spacing-md);
}

.effect-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    transition: all var(--transition-fast);
}

.effect-item:hover {
    background: var(--bg-glass-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.effect-type {
    font-weight: 700;
    color: var(--accent-primary);
}

.effect-description {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.4;
}

/* Building Requirements */
.requirements-container {
    display: grid;
    gap: var(--spacing-sm);
}

.requirement-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
}

.requirement-label {
    font-weight: 600;
    color: var(--text-primary);
}

.requirement-value {
    font-weight: 500;
    color: var(--accent-primary);
}

/* Building Upgrade Costs */
.upgrade-costs {
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-lg);
    border-top: 1px solid var(--border-color);
}

.upgrade-costs h4 {
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.upgrade-costs h4 i {
    font-size: 16px;
}

.costs-container {
    display: grid;
    gap: var(--spacing-sm);
}

.cost-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
}

.level {
    font-weight: 600;
    color: var(--text-primary);
}

.cost {
    font-weight: 500;
    color: var(--accent-primary);
}

/* ===== Dungeon Wiki Modal ===== */

.dungeon-wiki-modal {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.dungeon-header-section {
    display: flex;
    gap: var(--spacing-xl);
    align-items: center;
    padding: var(--spacing-lg);
    background: var(--bg-glass);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.dungeon-avatar-large {
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary));
    border-radius: var(--radius-lg);
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-md);
}

.dungeon-avatar-large i {
    font-size: 4rem;
    color: var(--accent-secondary);
}

.dungeon-info-large {
    flex: 1;
}

.dungeon-title-large {
    font-size: 2.5rem;
    color: var(--accent-secondary);
    margin: 0 0 var(--spacing-sm) 0;
    text-shadow: 0 0 15px rgba(0, 255, 136, 0.5);
}

.dungeon-badges-large {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    flex-wrap: wrap;
}

.level-badge-large {
    background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
    color: var(--bg-primary);
    padding: 8px 16px;
    border-radius: var(--radius-lg);
    font-weight: 700;
    font-size: 1rem;
    box-shadow: var(--shadow-md);
}

.stages-badge-large {
    background: var(--bg-tertiary);
    color: var(--accent-primary);
    padding: 8px 16px;
    border-radius: var(--radius-lg);
    font-weight: 600;
    font-size: 1rem;
    border: 1px solid rgba(0, 255, 136, 0.3);
    box-shadow: var(--shadow-sm);
}

.dungeon-content-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
}


.dungeon-description-block,
.dungeon-stats-block,
.dungeon-rewards-block,
.dungeon-enemies-block,
.dungeon-modifiers-block {
    background: var(--bg-glass);
    padding: var(--spacing-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.dungeon-description-block {
    grid-column: 1 / -1;
}

.dungeon-description-block h3,
.dungeon-stats-block h3,
.dungeon-rewards-block h3,
.dungeon-enemies-block h3,
.dungeon-modifiers-block h3 {
    color: var(--accent-secondary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.dungeon-description-block h3 i,
.dungeon-stats-block h3 i,
.dungeon-rewards-block h3 i,
.dungeon-enemies-block h3 i,
.dungeon-modifiers-block h3 i {
    font-size: 18px;
}

.dungeon-description-block p {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 15px;
    margin: 0;
}

.dungeon-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
}

.dungeon-stat {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.dungeon-stat:hover {
    background: var(--bg-glass-hover);
    transform: translateX(2px);
    box-shadow: var(--shadow-sm);
}

.stat-icon {
    color: var(--accent-secondary);
    font-size: 20px;
    flex-shrink: 0;
}

.stat-value {
    font-weight: 800;
    font-size: 1.25rem;
    color: var(--text-primary);
}

.stat-label {
    font-size: 12px;
    color: var(--text-muted);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.dungeon-rewards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
}

.dungeon-reward {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    padding: var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.dungeon-reward:hover {
    background: var(--bg-glass-hover);
    transform: translateX(2px);
    box-shadow: var(--shadow-sm);
}

.reward-icon {
    color: var(--accent-secondary);
    font-size: 18px;
    flex-shrink: 0;
}

.reward-value {
    font-weight: 600;
    font-size: 1rem;
    color: var(--text-primary);
}

.reward-label {
    font-size: 11px;
    color: var(--text-muted);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.enemy-pool-container {
    display: grid;
    gap: var(--spacing-lg);
}

.enemy-pool-section {
    background: var(--bg-tertiary);
    padding: var(--spacing-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
}

.enemy-pool-section h4 {
    color: var(--accent-secondary);
    margin: 0 0 var(--spacing-sm) 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.enemy-pool-section h4 i {
    font-size: 16px;
}

.enemy-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
}

.enemy-tag {
    background: var(--bg-secondary);
    color: var(--text-primary);
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    font-size: 12px;
    font-weight: 500;
}

.enemy-tag.clickable {
    cursor: pointer;
    transition: all var(--transition-fast);
    border: 1px solid transparent;
}

.enemy-tag.clickable:hover {
    background: var(--accent-primary);
    color: var(--bg-primary);
    border-color: var(--accent-primary);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.enemy-tag.boss-tag {
    background: var(--error);
    color: var(--bg-primary);
    font-weight: 600;
}

.modifier-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
}

.modifier-tag {
    background: var(--accent-secondary);
    color: var(--bg-primary);
    padding: 6px 12px;
    border-radius: var(--radius-md);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: var(--shadow-sm);
}

/* Enemy Wiki Modal */
.enemy-wiki-modal {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.enemy-header-section {
    display: flex;
    gap: var(--spacing-xl);
    align-items: center;
    padding: var(--spacing-lg);
    background: var(--bg-glass);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.enemy-avatar-large {
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary));
    border-radius: var(--radius-lg);
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-md);
}

.enemy-avatar-large i {
    font-size: 4rem;
    color: var(--text-muted);
}

.enemy-info-large {
    flex: 1;
}

.enemy-title-large {
    font-size: 2.5rem;
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-sm) 0;
    text-shadow: 0 0 15px var(--accent-glow);
}

.enemy-subtitle-large {
    font-size: 1.25rem;
    color: var(--text-secondary);
    margin: 0 0 var(--spacing-lg) 0;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.enemy-badges-large {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    flex-wrap: wrap;
}

.enemy-content-section,
.enemy-content-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
}

.enemy-content-row {
    grid-template-columns: 1fr;
    margin-bottom: var(--spacing-xl);
}

.enemy-description-block,
.enemy-stats-block,
.enemy-special-effects-block {
    background: var(--bg-glass);
    padding: var(--spacing-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.enemy-description-block {
    grid-column: 1 / -1;
}

.enemy-description-block h3,
.enemy-stats-block h3,
.enemy-special-effects-block h3 {
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.enemy-description-block h3 i,
.enemy-stats-block h3 i,
.enemy-special-effects-block h3 i {
    font-size: 18px;
}

.enemy-description-block p {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 15px;
    margin: 0;
}

/* Enemy Info Grid */
.enemy-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}

.enemy-info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
}

.info-label {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-value {
    font-weight: 500;
    color: var(--accent-primary);
    font-size: 14px;
}

/* Enemy Modifiers */
.enemy-modifiers {
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-lg);
    border-top: 1px solid var(--border-color);
}

.enemy-modifiers h4 {
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.enemy-modifiers h4 i {
    font-size: 16px;
}

.modifiers-container {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.modifier-tag {
    background: var(--bg-tertiary);
    color: var(--accent-primary);
    padding: 4px 10px;
    border-radius: var(--radius-md);
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(0, 255, 136, 0.3);
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-fast);
}

.modifier-tag.clickable {
    cursor: help;
}

.modifier-tag.clickable:hover {
    background: var(--accent-primary);
    color: var(--bg-primary);
    border-color: var(--accent-primary);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* Character Wiki Modal */
.character-wiki-modal {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.character-header-section {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: var(--spacing-xl);
    align-items: center;
    padding: var(--spacing-xl);
    background: linear-gradient(135deg, var(--bg-tertiary), var(--bg-secondary));
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
    position: relative;
}

.character-avatar-large {
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
    border-radius: var(--radius-lg);
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-md);
    position: relative;
}

.character-avatar-large i {
    font-size: 4rem;
    color: var(--bg-primary);
}

.rarity-corner-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    padding: 6px 12px;
    border-radius: var(--radius-md);
    font-weight: 800;
    font-size: 14px;
    color: var(--text-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: var(--shadow-md);
    z-index: 10;
}

/* Rarity corner badge colors */
.rarity-corner-badge.rarity-c {
    background: linear-gradient(135deg, #8B8B8B, #696969);
    border: 2px solid var(--bg-card);
}

.rarity-corner-badge.rarity-r {
    background: linear-gradient(135deg, #4CAF50, #45a049);
    border: 2px solid var(--bg-card);
}

.rarity-corner-badge.rarity-sr {
    background: linear-gradient(135deg, #2196F3, #1976D2);
    border: 2px solid var(--bg-card);
}

.rarity-corner-badge.rarity-ssr {
    background: linear-gradient(135deg, #9C27B0, #7B1FA2);
    border: 2px solid var(--bg-card);
}

.rarity-corner-badge.rarity-ur {
    background: linear-gradient(135deg, #FF9800, #F57C00);
    border: 2px solid var(--bg-card);
}

.rarity-modal-header {
    position: absolute;
    top: 50%;
    right: var(--spacing-lg);
    transform: translateY(-50%);
    padding: 6px 16px;
    border-radius: var(--radius-lg);
    font-weight: 800;
    font-size: 16px;
    color: var(--text-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: var(--shadow-md);
    z-index: 10;
}

/* Rarity modal header colors */
.rarity-modal-header.rarity-c {
    background: linear-gradient(135deg, #8B8B8B, #696969);
}

.rarity-modal-header.rarity-r {
    background: linear-gradient(135deg, #4CAF50, #45a049);
}

.rarity-modal-header.rarity-sr {
    background: linear-gradient(135deg, #2196F3, #1976D2);
}

.rarity-modal-header.rarity-ssr {
    background: linear-gradient(135deg, #9C27B0, #7B1FA2);
}

.rarity-modal-header.rarity-ur {
    background: linear-gradient(135deg, #FF9800, #F57C00);
}

.character-info-large {
    flex: 1;
    min-width: 0; /* Allow flexbox to shrink */
}

.character-title-large {
    font-size: 2.5rem;
    color: var(--accent-primary);
    margin: 0;
    text-shadow: 0 0 15px var(--accent-glow);
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
}

.character-badges-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--spacing-md);
    margin-top: var(--spacing-md);
    max-width: 600px;
}

.character-badge-unified {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--bg-glass);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-fast);
    cursor: default;
}

.character-badge-unified:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: var(--border-hover);
}

.character-badge-unified i {
    font-size: 1rem;
    opacity: 0.8;
}

.character-badge-unified.growth-badge-unified {
    cursor: help;
}

/* Class badge unified colors */
.class-badge-unified.card-dps {
    background: linear-gradient(135deg, rgba(0, 255, 136, 0.15), rgba(0, 255, 200, 0.1));
    border-color: rgba(0, 255, 136, 0.4);
    color: var(--accent-primary);
}

.class-badge-unified.card-tank {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(56, 142, 60, 0.1));
    border-color: rgba(76, 175, 80, 0.4);
    color: #4caf50;
}

.class-badge-unified.card-support {
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.15), rgba(255, 152, 0, 0.1));
    border-color: rgba(255, 193, 7, 0.4);
    color: #ffc107;
}

.class-badge-unified.card-healer {
    background: linear-gradient(135deg, rgba(33, 150, 243, 0.15), rgba(21, 101, 192, 0.1));
    border-color: rgba(33, 150, 243, 0.4);
    color: #2196f3;
}

.growth-badge-unified {
    background: linear-gradient(135deg, rgba(156, 39, 176, 0.15), rgba(123, 31, 162, 0.1));
    border-color: rgba(156, 39, 176, 0.4);
    color: #9c27b0;
}

.growth-rate-badge-unified {
    background: linear-gradient(135deg, rgba(255, 152, 0, 0.15), rgba(245, 127, 0, 0.1));
    border-color: rgba(255, 152, 0, 0.4);
    color: #ff9800;
}

.rarity-badge-large {
    padding: 8px 20px;
    border-radius: var(--radius-lg);
    font-weight: 800;
    font-size: 1.125rem;
    color: var(--text-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: var(--shadow-md);
}

.rarity-badge-large.rarity-c {
    background: linear-gradient(135deg, #8B8B8B, #696969);
}

.rarity-badge-large.rarity-r {
    background: linear-gradient(135deg, #4CAF50, #45a049);
}

.rarity-badge-large.rarity-sr {
    background: linear-gradient(135deg, #2196F3, #1976D2);
}

.rarity-badge-large.rarity-ssr {
    background: linear-gradient(135deg, #9C27B0, #7B1FA2);
}

.rarity-badge-large.rarity-ur {
    background: linear-gradient(135deg, #FF9800, #F57C00);
}

.class-badge-large {
    padding: 8px 20px;
    border-radius: var(--radius-lg);
    font-weight: 700;
    font-size: 1.125rem;
    border: 2px solid var(--border-color);
    text-transform: uppercase;
    box-shadow: var(--shadow-md);
    transition: all var(--transition-fast);
}

/* Class colors matching the list styles */
.class-badge-large.card-dps {
    background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
    color: var(--bg-primary);
    border-color: var(--accent-primary);
}

.class-badge-large.card-tank {
    background: linear-gradient(135deg, var(--success-darker), var(--success));
    color: var(--bg-primary);
    border-color: var(--success);
}

.class-badge-large.card-support {
    background: linear-gradient(135deg, var(--warning-darker), var(--warning));
    color: var(--bg-primary);
    border-color: var(--warning);
}

.class-badge-large.card-healer {
    background: linear-gradient(135deg, var(--info-darker), var(--info));
    color: var(--bg-primary);
    border-color: var(--info);
}

.element-display-large {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    background: var(--bg-tertiary);
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
}

.element-name-large {
    font-weight: 700;
    color: var(--text-primary);
    font-size: 1.125rem;
}

/* Large element icon in header */
.character-element-icon-large {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-lg);
    cursor: pointer;
    transition: all var(--transition-fast);
    border: 3px solid var(--bg-card);
    flex-shrink: 0;
}

.character-element-icon-large:hover {
    transform: scale(1.1) rotate(5deg);
    box-shadow: var(--shadow-2xl);
}

.character-element-icon-large i,
.character-element-icon-large .element-icon {
    font-size: 36px;
    color: var(--bg-primary);
    filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.3));
}

.character-element-icon-large .element-icon {
    width: auto;
    height: auto;
    background: transparent;
    border: none;
}

/* Element colors for the large icon */
.character-element-icon-large.card-element-aer {
    background: radial-gradient(circle, #ffeb3b 30%, #ffd700 70%);
}

.character-element-icon-large.card-element-aqua {
    background: radial-gradient(circle, #40e0d0 30%, #00bcd4 70%);
}

.character-element-icon-large.card-element-terra {
    background: radial-gradient(circle, #4caf50 30%, #388e3c 70%);
}

.character-element-icon-large.card-element-ignis {
    background: radial-gradient(circle, #ff6b35 30%, #f44336 70%);
}

.character-element-icon-large.card-element-ordo {
    background: radial-gradient(circle, #ffffff 30%, #e0e0e0 70%);
}

.character-element-icon-large.card-element-perditio {
    background: radial-gradient(circle, #808080 30%, #424242 70%);
}

/* Element display colors in badges */
.element-display-large.card-element-aer {
    background: linear-gradient(135deg, rgba(255, 235, 59, 0.2), rgba(255, 215, 0, 0.1));
    border-color: #ffeb3b;
}

.element-display-large.card-element-aqua {
    background: linear-gradient(135deg, rgba(64, 224, 208, 0.2), rgba(0, 188, 212, 0.1));
    border-color: #40e0d0;
}

.element-display-large.card-element-terra {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.15), rgba(56, 142, 60, 0.08));
    border-color: rgba(76, 175, 80, 0.5);
}

.element-display-large.card-element-terra .element-icon {
    color: #2e7d32 !important;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(46, 125, 50, 0.3);
}

.element-display-large.card-element-ignis {
    background: linear-gradient(135deg, rgba(255, 107, 53, 0.2), rgba(244, 67, 54, 0.1));
    border-color: #ff6b35;
}

.element-display-large.card-element-ordo {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(224, 224, 224, 0.1));
    border-color: #ffffff;
}

.element-display-large.card-element-perditio {
    background: linear-gradient(135deg, rgba(128, 128, 128, 0.2), rgba(66, 66, 66, 0.1));
    border-color: #808080;
}

.character-content-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
}

.character-description-block,
.character-stats-block,
.character-affinity-block,
.character-development-block {
    background: var(--bg-glass);
    padding: var(--spacing-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.character-content-row {
    display: flex;
    gap: var(--spacing-lg);
    align-items: flex-start;
    margin-bottom: var(--spacing-xl);
}

.description-main {
    display: flex;
    flex-direction: column;
}

.description-main h3 {
    margin-bottom: var(--spacing-lg) !important;
}

.development-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.development-block {
    background: var(--bg-tertiary);
    padding: var(--spacing-lg);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
}

.development-block h4 {
    margin: 0 0 var(--spacing-md) 0 !important;
    font-size: 0.9rem !important;
}

.growth-info-compact {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
    padding: var(--spacing-sm);
    background: var(--bg-glass);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
}

.growth-desc-short {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
}

/* Mobile responsive for description section */
@media (max-width: 768px) {
    .character-description-block,
    .character-development-block {
        flex: none;
        width: 100%;
    }

    .character-content-row {
        flex-direction: column;
        gap: var(--spacing-lg);
    }

    .description-main h3,
    .character-development-block h3 {
        margin-bottom: var(--spacing-md) !important;
        font-size: 1.1rem;
    }

    .development-block h4 {
        font-size: 0.85rem !important;
        margin-bottom: var(--spacing-sm) !important;
    }
}

.character-description-block h3,
.character-stats-block h3,
.character-affinity-block h3,
.character-development-block h3 {
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: 1.1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.character-description-block h3 i,
.character-stats-block h3 i,
.character-affinity-block h3 i {
    font-size: 18px;
}

.character-description-block p {
    color: var(--text-secondary);
    line-height: 1.6;
    font-size: 15px;
    margin: 0;
}

.stats-horizontal {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
}

.stat-box {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    background: var(--bg-tertiary);
    padding: var(--spacing-lg);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.stat-box:hover {
    background: var(--bg-glass-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.stat-icon {
    color: var(--accent-primary);
    font-size: 20px;
    flex-shrink: 0;
}

.stat-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stat-value {
    font-weight: 800;
    font-size: 1.5rem;
    color: var(--text-primary);
    line-height: 1;
}

.stat-label {
    font-size: 11px;
    color: var(--text-muted);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.affixes-container {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.affix-tag,
.affix-tag-wiki {
    background: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));
    color: var(--bg-primary);
    padding: 6px 14px;
    border-radius: var(--radius-md);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: var(--shadow-sm);
    cursor: help;
}

/* Growth Badge Header */
.growth-badge-header {
    background: linear-gradient(135deg, var(--accent-secondary), var(--accent-primary));
    color: var(--bg-primary);
    padding: 8px 16px;
    border-radius: var(--radius-lg);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: all var(--transition-fast);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.growth-badge-header:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* Growth Tooltip */
.growth-tooltip {
    position: fixed;
    background: linear-gradient(135deg, var(--bg-card), var(--bg-tertiary));
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--spacing-md);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(20px);
    z-index: 10000;
    max-width: 250px;
    animation: tooltipFadeIn 0.2s ease-out;
    pointer-events: none;
}

.growth-tooltip-header {
    font-weight: 700;
    color: var(--accent-primary);
    text-align: center;
    margin-bottom: var(--spacing-sm);
    font-size: 16px;
    text-shadow: 0 0 10px var(--accent-glow);
}

.growth-tooltip-description {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.4;
    margin-top: 4px;
    text-align: center;
}

.growth-tooltip-stats {
    display: grid;
    gap: var(--spacing-xs);
}

.growth-tooltip-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: var(--text-primary);
    grid-gap: 5px;
}

.growth-tooltip-stat .stat-label {
    color: var(--text-secondary);
}

.growth-tooltip-stat .stat-value {
    font-weight: 600;
    color: var(--accent-primary);
}

@keyframes tooltipFadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* New section styles */
.proficiency-section h4,
.growth-section h4,
.affixes-section h4 {
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-md) 0;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.proficiency-section h4 i,
.growth-section h4 i,
.affixes-section h4 i {
    font-size: 16px;
}

.proficiency-section,
.growth-section,
.affixes-section {
    margin-bottom: var(--spacing-lg);
}

.proficiency-section:not(:first-child),
.growth-section:not(:first-child),
.affixes-section:not(:first-child) {
    margin-top: var(--spacing-lg);
    border-top: 1px solid var(--border-color);
    padding-top: var(--spacing-lg);
}

.growth-info {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.growth-desc {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 500;
}

.growth-row .growth-info {
    margin-bottom: var(--spacing-sm);
    padding: var(--spacing-sm);
    background: var(--bg-tertiary);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
}

/* Equipment Wiki Modal */
.equipment-wiki-modal {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
}

.equipment-header-section {
    display: flex;
    gap: var(--spacing-xl);
    align-items: center;
    padding: var(--spacing-lg);
    background: var(--bg-glass);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.equipment-avatar-large {
    flex-shrink: 0;
    background: var(--bg-tertiary);
    border-radius: var(--radius-lg);
    padding: var(--spacing-xl);
    box-shadow: var(--shadow-md);
}

.equipment-avatar-large i {
    font-size: 4rem;
    color: var(--accent-primary);
}

.equipment-info-large {
    flex: 1;
}

.equipment-title-large {
    font-size: 2rem;
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-md) 0;
    text-shadow: 0 0 10px var(--accent-glow);
}

.equipment-badges-large {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    flex-wrap: wrap;
}

.equipment-content-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl);
}

.equipment-description-block,
.equipment-stats-block,
.equipment-affixes-block {
    background: var(--bg-glass);
    padding: var(--spacing-xl);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
}

.equipment-description-block {
    grid-column: 1 / -1;
}

.equipment-description-block h3,
.equipment-stats-block h3,
.equipment-affixes-block h3 {
    color: var(--accent-primary);
    margin: 0 0 var(--spacing-lg) 0;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.stats-container {
    display: grid;
    gap: var(--spacing-md);
}

.stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-md);
    background: var(--bg-tertiary);
    border-radius: var(--radius-md);
    transition: all var(--transition-fast);
}

.stat-item:hover {
    background: var(--bg-glass-hover);
    transform: translateX(4px);
}

.stat-name {
    font-weight: 600;
    color: var(--text-primary);
    text-transform: capitalize;
}

.stat-range {
    font-weight: 700;
    color: var(--accent-primary);
    font-family: 'Courier New', monospace;
}

/* Responsive Design */
@media (max-width: 768px) {
    .wiki-tabs {
        flex-direction: column;
        align-items: stretch;
    }

    .wiki-tab-btn {
        min-width: auto;
        justify-content: flex-start;
    }

    .wiki-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .wiki-filter {
        flex-direction: column;
        align-items: stretch;
    }

    .wiki-filter select,
    .wiki-search input {
        min-width: auto;
        width: 100%;
    }

    .wiki-list-header,
    .wiki-list-row {
        grid-template-columns: 1fr;
        gap: var(--spacing-sm);
    }

    .wiki-col {
        min-height: auto;
        padding: var(--spacing-sm) 0;
    }

    .character-header-section {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
        text-align: center;
    }
    
    .character-header-section .character-element-icon-large {
        margin: 0 auto;
    }
    
    .character-badges-grid {
        max-width: 100%;
        grid-template-columns: 1fr;
    }
    
    .equipment-header-section {
        flex-direction: column;
        text-align: center;
        gap: var(--spacing-lg);
    }

    .character-content-section,
    .equipment-content-section {
        grid-template-columns: 1fr;
    }

    .stats-horizontal {
        grid-template-columns: 1fr;
    }

    .character-badges-large,
    .equipment-badges-large {
        justify-content: center;
    }

    .wiki-modal-content {
        width: 95% !important;
        max-height: 90vh !important;
    }
}

/* ===== Compact Card Grid Layout ===== */

.wiki-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--spacing-lg);
    padding: var(--spacing-md);
}

@media (min-width: 768px) {
    .wiki-cards-grid {
        grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    }
}

@media (min-width: 1024px) {
    .wiki-cards-grid {
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    }
}

.wiki-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: var(--spacing-lg);
    cursor: pointer;
    transition: all var(--transition-normal);
    backdrop-filter: blur(10px);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    min-height: 180px;
    position: relative;
}

.wiki-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

/* Element-based border colors (updated to match new element color scheme) - softer, more subtle */
.wiki-card.card-element-aer {
    border-color: rgba(255, 234, 167, 0.4);
}

.wiki-card.card-element-aqua {
    border-color: rgba(64, 224, 208, 0.4);
}

.wiki-card.card-element-terra {
    border-color: rgba(76, 175, 80, 0.4);
}

.wiki-card.card-element-ignis {
    border-color: rgba(255, 107, 53, 0.4);
}

.wiki-card.card-element-ordo {
    border-color: rgba(255, 255, 255, 0.3);
}

.wiki-card.card-element-perditio {
    border-color: rgba(128, 128, 128, 0.4);
}

/* Rarity-based background gradient overlays (more visible) */
.wiki-card.card-rarity-ur {
    background: linear-gradient(135deg, rgba(255, 183, 77, 0.15), rgba(255, 152, 0, 0.08)), var(--bg-card);
}

.wiki-card.card-rarity-ssr {
    background: linear-gradient(135deg, rgba(186, 104, 200, 0.15), rgba(156, 39, 176, 0.08)), var(--bg-card);
}

.wiki-card.card-rarity-sr {
    background: linear-gradient(135deg, rgba(79, 195, 247, 0.15), rgba(41, 182, 246, 0.08)), var(--bg-card);
}

.wiki-card.card-rarity-r {
    background: linear-gradient(135deg, rgba(129, 199, 132, 0.15), rgba(76, 175, 80, 0.08)), var(--bg-card);
}

.wiki-card.card-rarity-c {
    background: linear-gradient(135deg, rgba(176, 190, 197, 0.12), rgba(144, 164, 174, 0.06)), var(--bg-card);
}

.wiki-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-sm);
}

.wiki-card-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.3;
    margin: 0;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.wiki-card-badges {
    display: flex;
    gap: var(--spacing-xs);
    flex-shrink: 0;
    flex-wrap: wrap;
}

.wiki-card-badges .rarity-badge {
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 800;
}

.wiki-card-badges .type-badge {
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 500;
}

.level-badge {
    background: linear-gradient(135deg, var(--accent-secondary), var(--accent-primary));
    color: var(--bg-primary);
    padding: 4px 10px;
    border-radius: var(--radius-md);
    font-size: 12px;
    font-weight: 700;
    box-shadow: var(--shadow-sm);
}

.meta-badge {
    background: var(--bg-tertiary);
    color: var(--accent-primary);
    padding: 4px 10px;
    border-radius: var(--radius-md);
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(0, 255, 136, 0.3);
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    box-shadow: var(--shadow-sm);
}

.wiki-card-type-badge {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
    background: var(--bg-tertiary);
    color: var(--accent-primary);
    padding: 4px 10px;
    border-radius: var(--radius-md);
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(0, 255, 136, 0.3);
}

.wiki-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.wiki-card-description {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
}

.wiki-card-metadata {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: var(--text-muted);
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.wiki-card-element {
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.wiki-card-element .element-icon {
    width: 16px;
    height: 16px;
    font-size: 12px;
}

.wiki-card-level {
    font-weight: 600;
    color: var(--accent-primary);
}

/* Rarity-specific gradient backgrounds for equipment cards */

.enemy .wiki-card {
    background: linear-gradient(135deg, var(--bg-card) 0%, rgba(176, 58, 46, 0.1) 100%);
}

.dungeon .wiki-card {
    background: linear-gradient(135deg, var(--bg-card) 0%, rgba(102, 51, 0, 0.15) 100%);
    border-color: rgba(153, 102, 0, 0.6);
}

.building .wiki-card {
    background: linear-gradient(135deg, var(--bg-card) 0%, rgba(0, 102, 153, 0.15) 100%);
    border-color: rgba(0, 136, 204, 0.6);
}

/* Loading States */
.wiki-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-2xl);
    color: var(--text-muted);
}

.wiki-loading i {
    font-size: 2rem;
    margin-right: var(--spacing-md);
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Error States */
.wiki-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-2xl);
    color: var(--error);
    text-align: center;
}

.wiki-error i {
    font-size: 3rem;
    margin-bottom: var(--spacing-md);
}

.wiki-error h3 {
    color: var(--error);
    margin-bottom: var(--spacing-sm);
}

.wiki-error p {
    color: var(--text-muted);
    margin-bottom: var(--spacing-lg);
}
