:root {
    --bg-dark: #0a0a12;
    --bg-card: linear-gradient(135deg, rgba(20, 20, 36, 0.45) 0%, rgba(10, 10, 18, 0.55) 100%);
    --text-light: #d8d8e8;
    --text-dim: #8888a8;
    --accent-cyan: #00c8d4;
    --accent-green: #00cc88;
    --accent-purple: #8844cc;
    --border-subtle: rgba(0, 204, 136, 0.18);
    --shadow-deep: 0 8px 32px rgba(0, 0, 0, 0.6);
}

body {
    background-color: var(--bg-dark);
    background-image: url('../hyper_cybershield/hyper_cybershield_i1.jpg');
}

body::before {
    background-image:
        radial-gradient(ellipse at 10% 0%, rgba(0, 204, 136, 0.20) 0%, transparent 50%),
        radial-gradient(ellipse at 90% 100%, rgba(0, 200, 212, 0.15) 0%, transparent 50%);
    background-color: rgba(5, 12, 10, 0.5);
}

.page-header {
    background-image: linear-gradient(180deg, rgba(0, 204, 136, 0.25) 0%, transparent 100%);
}

.page-header .game-series {
    color: var(--accent-green);
}

.page-header h1 {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9), 0 0 30px rgba(0, 204, 136, 0.45);
}

.sidebar h3 {
    color: var(--accent-green);
}

.sidebar ul li a.active {
    color: var(--accent-green);
    border-left-color: var(--accent-green);
}

.menu-toggle:hover {
    background: rgba(0, 204, 136, 0.2);
    border-color: var(--accent-green);
}

.mobile-close:hover {
    color: var(--accent-green);
}

.section::before {
    background: linear-gradient(90deg, transparent, var(--accent-green), transparent);
    opacity: 0.6;
}

.section.cyan::before {
    background: linear-gradient(90deg, transparent, var(--accent-cyan), transparent);
}

.section.purple::before {
    background: linear-gradient(90deg, transparent, var(--accent-purple), transparent);
}

.section.red::before {
    background: linear-gradient(90deg, transparent, #cc4444, transparent);
}

.section h2 {
    color: var(--accent-green);
}

.section.cyan h2 {
    color: var(--accent-cyan);
}

.section.purple h2 {
    color: #aa66ff;
}

.section.red h2 {
    color: #cc6644;
}

.card h4 {
    color: var(--accent-green);
}

.card.cyan h4 {
    color: var(--accent-cyan);
}

.card.purple h4 {
    color: #aa66ff;
}

.card.red h4 {
    color: #cc6644;
}


.data-table th {
    background: rgba(0, 204, 136, 0.08);
    color: var(--accent-green);
}

.lore-box {
    background: rgba(0, 204, 136, 0.05);
    border-left-color: var(--accent-green);
}

.lore-box strong {
    color: var(--accent-green);
}

.lore-box.purple {
    background: rgba(136, 68, 204, 0.06);
    border-left-color: var(--accent-purple);
}

.lore-box.purple strong {
    color: #aa66ff;
}

.lore-box.red {
    background: rgba(204, 68, 68, 0.05);
    border-left-color: #cc4444;
}

.lore-box.red strong {
    color: #cc8866;
}

ul.styled li::before {
    color: var(--accent-green);
}

.phase-block .phase-label {
    color: var(--accent-green);
}

.phase-block.red .phase-label {
    color: #cc6644;
}

.carousel-section {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 2px;
    padding: 30px 36px;
    margin-bottom: 28px;
    box-shadow: var(--shadow-deep);
    position: relative;
    overflow: hidden;
}

.carousel-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--accent-green), transparent);
    opacity: 0.6;
}

.carousel-section h2 {
    font-family: 'Rajdhani', sans-serif;
    font-size: 23px;
    font-weight: 700;
    color: var(--accent-green);
    letter-spacing: 2px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--border-subtle);
    padding-bottom: 12px;
    margin-bottom: 20px;
}


em {
    color: var(--accent-green);
}

em.cyan {
    color: var(--accent-cyan);
}

em.purple {
    color: #aa66ff;
}



.carousel-btn {
    background: rgba(0, 204, 136, 0.15);
    border: 1px solid var(--accent-green);
    color: var(--accent-green);
}

.carousel-btn:hover {
    background: rgba(0, 204, 136, 0.30);
}

.carousel-dot.active {
    background: var(--accent-green);
}