:root {
    --cyan: #63d7e6;
    --cyan-hover: #89e4ee;
    --gray-light: #d0d2d3;
    --gray-mid: #adb1b4;
    --gray-deep: #858a8e;
    --aqua-soft: #78cbd5;
    --mint-soft: #9be4e8;
    --sand-soft: #b8dce1;
    --bg-dark: #0e0f10;
    --card-bg: #17191b;
    --card-lighter: #1d2022;
    --card-hover: #1d2022;
    --text-main: #f1f1f1;
    --text-muted: #9ea3a7;
    --border-color: rgba(99, 215, 230, 0.13);
}

body {
    background-color: var(--bg-dark) !important;
    color: var(--text-main) !important;
}

.bg-glow {
    background:
        radial-gradient(ellipse at 0% 42%, rgba(99, 215, 230, 0.105) 0%, transparent 34%),
        radial-gradient(ellipse at 100% 32%, rgba(71, 165, 180, 0.085) 0%, transparent 32%),
        radial-gradient(circle at 50% 0%, rgba(43, 91, 99, 0.08) 0%, transparent 35%),
        linear-gradient(180deg, #0f1213 0%, var(--bg-dark) 68%) !important;
}

nav,
nav.page-static-nav {
    background: rgba(14, 15, 16, 0.975) !important;
    border-bottom-color: rgba(99, 215, 230, 0.16) !important;
    box-shadow: inset 0 2px 0 rgba(99, 215, 230, 0.32), 0 10px 28px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: none !important;
}

.logo span,
.hero-left h1 span,
.page-title span,
.staff-hero h1 span,
.calendar-header h2 span,
.category-header span,
.intro h1 span,
.intro-kicker,
.news-date,
.read-more {
    color: var(--cyan) !important;
    text-shadow: none !important;
}

.nav-links a.active,
.nav-links a:hover {
    color: var(--cyan) !important;
}

.btn-launch,
.btn-primary-action,
.tab-btn.active,
.btn-nav:hover {
    background: linear-gradient(135deg, #8ee7ef, #4fc9da) !important;
    color: #111 !important;
    border-color: var(--cyan) !important;
    box-shadow: 0 8px 22px rgba(99, 215, 230, 0.14) !important;
}

.btn-launch:hover,
.btn-primary-action:hover {
    background: linear-gradient(135deg, #a3edf2, #63d7e6) !important;
    box-shadow: 0 10px 28px rgba(99, 215, 230, 0.2) !important;
}

.intro {
    background:
        radial-gradient(ellipse at -4% 48%, rgba(99, 215, 230, 0.15) 0%, transparent 35%),
        radial-gradient(ellipse at 104% 44%, rgba(73, 177, 192, 0.13) 0%, transparent 34%),
        radial-gradient(circle at 50% 44%, rgba(44, 101, 111, 0.075), transparent 30%),
        linear-gradient(180deg, #0f1213 0%, #0d0e0f 100%) !important;
}

.intro::before {
    opacity: 0.11 !important;
}

.intro::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(99, 215, 230, 0.045), transparent 18%, transparent 82%, rgba(99, 215, 230, 0.04));
}

.scroll-cue:hover,
.scroll-cue:focus-visible {
    color: var(--cyan) !important;
}

.character-card {
    background: linear-gradient(145deg, #171f21, #121314) !important;
    box-shadow: 0 24px 46px rgba(0, 0, 0, 0.48), 0 0 30px rgba(99, 215, 230, 0.045) !important;
}

.character-glow {
    background: linear-gradient(to top, rgba(14, 15, 16, 0.88) 0%, transparent 60%) !important;
}

.stat-item,
.tabs-container,
.search-box input,
.rule-item,
.empty-state,
.calendar-header,
.day-card,
.news-card {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
}

.category-header,
.rule-item:hover,
.day-card:hover {
    background: var(--card-lighter) !important;
}

.stat-item:nth-child(even),
.calendar-header,
.tabs-container {
    background: linear-gradient(145deg, var(--card-bg), rgba(99, 215, 230, 0.035)) !important;
}

.stat-item:hover,
.news-card:hover,
.day-card:hover,
.search-box input:focus {
    border-color: rgba(99, 215, 230, 0.3) !important;
    box-shadow: 0 12px 28px rgba(99, 215, 230, 0.05) !important;
}

.staff-hero {
    background:
        radial-gradient(circle at 82% 20%, rgba(99, 215, 230, 0.07), transparent 28%),
        linear-gradient(135deg, #172023 0%, #151718 100%) !important;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28) !important;
}

.day-card.today {
    background: linear-gradient(145deg, #172023, rgba(99, 215, 230, 0.09)) !important;
    border-color: rgba(99, 215, 230, 0.5) !important;
    box-shadow: 0 0 20px rgba(99, 215, 230, 0.07) !important;
}

.day-card.today .day-number {
    color: var(--cyan) !important;
    text-shadow: none !important;
}

.rule-number {
    background: rgba(99, 215, 230, 0.09) !important;
    color: var(--cyan) !important;
}

.tab-btn.crime-tab.active {
    background: #d0958b !important;
    color: #fff !important;
    box-shadow: 0 8px 22px rgba(185, 127, 132, 0.12) !important;
}

.crime-theme .category-header span,
.crime-theme .rule-number {
    color: #e3afa5 !important;
}

.crime-theme .rule-number {
    background: rgba(227, 175, 165, 0.1) !important;
}

.online-dot {
    background: #72c996 !important;
    box-shadow: 0 0 12px rgba(114, 201, 150, 0.45) !important;
}

.news-card {
    backdrop-filter: none !important;
}

footer {
    background: #111213 !important;
    color: var(--gray-deep) !important;
    border-top-color: var(--border-color) !important;
}

.page-preview-frame {
    background: var(--bg-dark) !important;
}
