:root {
    --primary: #4FD1C5;
    --secondary: #60A5FA;
    --tertiary: #A7F3D0;
    --bg-primary: #1A1C1E;
    --bg-secondary: #242B35;
    --bg-surface: #2D3748;
    --text-primary: #F0F4F8;
    --text-secondary: #94A3B8;
    --glow: rgba(79, 209, 197, 0.4);
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

.text-muted {
    color: #94A3B8 !important;
}

.bg-main {
    background-color: var(--bg-primary);
}

.text-main-text {
    color: var(--text-primary);
}

.transition-all-custom {
    transition: all 0.3s ease-in-out;
}

.interactive-glow:hover {
    box-shadow: 0 0 20px -5px var(--glow);
    border-color: var(--primary);
}

/* ===== header ===== */
.omniloxave-header .js-dropdown-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.omniloxave-header .js-mobile-menu.is-active {
    transform: translateX(0);
}

.omniloxave-header .container {
    max-width: 1200px;
}

/* ===== hero ===== */
.omniloxave-hero {
    position: relative;
    font-family: 'Inter', sans-serif;
}

.omniloxave-hero h1 {
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.omniloxave-hero .hero-btn-primary {
    box-shadow: 0 0 15px rgba(79, 209, 197, 0.3);
}

.omniloxave-hero .hero-btn-secondary {
    backdrop-filter: blur(4px);
}

@media (max-width: 767px) {
    .omniloxave-hero h1 {
        font-size: 28px !important;
        line-height: 1.2;
    }

    .omniloxave-hero p {
        font-size: 16px !important;
    }
}

/* ===== auth_forms ===== */
.omniloxave-auth .js-auth-login-view,
.omniloxave-auth .js-auth-register-view {
    transition: opacity 0.3s ease;
}

.omniloxave-auth input:focus {
    box-shadow: 0 0 10px rgba(79, 209, 197, 0.2);
}

.omniloxave-auth .container {
    position: relative;
    z-index: 2;
}

.omniloxave-auth .hidden {
    display: none;
}

/* ===== featured_games ===== */
.featured-games-block {
    font-family: 'Inter', sans-serif;
}

.featured-games-block .js-game-card {
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.featured-games-block .js-game-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 0 20px -5px rgba(79, 209, 197, 0.4);
}

.featured-games-block .js-game-card h3 {
    color: #F0F4F8;
    line-height: 1.3;
}

.featured-games-block .js-game-card p {
    line-height: 1.6;
}

@media (max-width: 767px) {
    .featured-games-block .js-game-card {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ===== features ===== */
.omniloxave-features .feature-card-item {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.omniloxave-features .feature-card-item:hover i {
    transform: scale(1.1) rotate(5deg);
    transition: transform 0.3s ease;
}

.omniloxave-features .feature-card-item i {
    transition: transform 0.3s ease;
}

@media (max-width: 767px) {
    .omniloxave-features .feature-card-item {
        min-height: auto;
    }
}

/* ===== footer ===== */
.omni-footer .omni-footer__partner-link {
    display: flex;
    align-items: center;
    justify-center;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.omni-footer .omni-footer__partner-link:hover {
    opacity: 1;
}

.omni-footer .omni-footer__disclaimer {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.omni-footer #age-modal.active {
    display: flex;
}

/* ===== PAGE: about ===== */
.omniloxave-about-wrapper .omniloxave-glass-panel { transition: box-shadow 0.4s ease; }.omniloxave-about-wrapper .omniloxave-glass-panel:hover { shadow-[0_0_30px_-5px_rgba(79,209,197,0.5)]; }.omniloxave-about-wrapper .omniloxave-card-interactive { transform: translateY(0); transition: transform 0.3s ease, box-shadow 0.3s ease; }.omniloxave-about-wrapper .omniloxave-card-interactive:hover { transform: translateY(-5px); box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.7); }.omniloxave-about-wrapper .ph-bold { vertical-align: middle; }

/* ===== PAGE: game-collection ===== */
.omniloxave-catalog .js-game-card { backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }.omniloxave-catalog .js-filter-btn.active { background-color: #4FD1C5; color: #1A1C1E; box-shadow: 0 0 15px rgba(79, 209, 197, 0.4); }.omniloxave-catalog .container { max-width: 1280px; }

/* ===== PAGE: hall-of-fame ===== */
.hall-of-fame-section .js-filter-btn.active {
  background-color: #4FD1C5 !important;
  color: #1A1C1E !important;
  border-color: #4FD1C5 !important;
  box-shadow: 0 0 15px -5px rgba(79, 209, 197, 0.5);
}

.hall-of-fame-section .glow-border {
  box-shadow: 0 0 20px -5px rgba(79, 209, 197, 0.4);
}

.hall-of-fame-section .js-player-item:last-child {
  border-bottom: none;
}

@media (max-width: 767px) {
  .hall-of-fame-section .js-player-item {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

/* ===== PAGE: update-news ===== */
.news-list-block .news-card {
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.news-list-block .news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 20px -5px rgba(79, 209, 197, 0.5);
}
.news-list-block .js-filter-btn.active {
  box-shadow: 0 0 15px rgba(79, 209, 197, 0.4);
}
.news-list-block input::placeholder {
  color: #64748b;
}

/* ===== PAGE: tournament-history ===== */
.tournament-history-block .js-category-filter.active { background-color: #4FD1C5; color: #1A1C1E; border-color: #4FD1C5; }
.tournament-history-block .js-tournament-item.hidden { display: none; }
.tournament-history-block .js-search-input::placeholder { color: #94A3B8; opacity: 0.7; }
.tournament-history-block .js-tournament-item { height: auto; }
@media (max-width: 767px) {
  .tournament-history-block .container { padding-left: 20px; padding-right: 20px; }
}

/* ===== PAGE: beginners-guide ===== */
.beginners-guide-section .js-step-card.completed {
  border-color: #10B981;
  opacity: 0.8;
}
.beginners-guide-section .js-step-card.completed .js-check-btn {
  background-color: #10B981;
  border-color: #10B981;
  color: #F0F4F8;
}
.beginners-guide-section .js-faq-icon.active {
  transform: rotate(180deg);
  color: #4FD1C5;
}

/* ===== PAGE: privacy ===== */
.privacy-content-section .shadow-card {
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}

.privacy-content-section .js-scroll-link.active {
  color: #4FD1C5;
  font-weight: 600;
}

.privacy-content-section h2, .privacy-content-section h3 {
  font-family: 'Montserrat', sans-serif;
}

.privacy-content-section p, .privacy-content-section li {
  font-family: 'Inter', sans-serif;
}

.privacy-content-section aside .sticky {
  transition: all 0.3s ease-in-out;
}

.privacy-content-section .js-nav-item a:hover i {
  transform: translateX(3px);
}

.privacy-content-section .js-nav-item i {
  transition: transform 0.2s ease;
}

@media (max-width: 767px) {
  .privacy-content-section h2 {
    font-size: 16px;
  }
  .privacy-content-section h3 {
    font-size: 14px;
  }
}

/* ===== PAGE: terms ===== */
.terms-content h1, .terms-content h2 {
  font-family: 'Montserrat', sans-serif;
}
.terms-content .prose p {
  line-height: 1.8;
}
.terms-content i {
  color: #4FD1C5;
}
.terms-content ul li i {
  color: #60A5FA;
}
.terms-content .bg-opacity-80 {
  backdrop-filter: blur(10px);
}

/* ===== PAGE: disclaimer ===== */
.omniloxave-disclaimer .disclaimer-block i { color: #4FD1C5; }.omniloxave-disclaimer .disclaimer-block p { hyphens: auto; }.omniloxave-disclaimer a:hover { text-shadow: 0 0 8px rgba(79, 209, 197, 0.4); }

/* ===== PAGE: rgp ===== */
.rgp-content .rgp-content__card { position: relative; overflow: hidden; }
.rgp-content .rgp-content__card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at top right, rgba(79, 209, 197, 0.05), transparent); pointer-events: none; }
.rgp-content details summary::-webkit-details-marker { display: none; }
.rgp-content .js-quiz-btn[data-state="on"] { background-color: #EF4444; }

.omnilox-avatar-main {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    object-fit: cover;
    border: 2px solid #4FD1C5;
    flex-shrink: 0;
    box-shadow: 0 0 15px rgba(79, 209, 197, 0.2);
}

.font-heading {
    font-family: 'Montserrat', sans-serif;
}

.main-comment-wrapper {
    backdrop-filter: blur(8px);
}

.omnilox-avatar-reply {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    border: 1.5px solid #60A5FA;
    flex-shrink: 0;
}

.reply-comment-wrapper {
    position: relative;
}

.reply-comment-wrapper::before {
    content: '';
    position: absolute;
    left: -24px;
    top: -20px;
    width: 20px;
    height: 40px;
    border-left: 2px solid #4A5568;
    border-bottom: 2px solid #4A5568;
    border-bottom-left-radius: 12px;
    opacity: 0.5;
}


/* ===== PAGE TEMPLATE: games ===== */
.omniloxave-header .js-dropdown-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.omniloxave-header .js-mobile-menu.is-active {
    transform: translateX(0);
}

.omniloxave-header .container {
    max-width: 1200px;
}

.omnilox-detail-page .container {
    max-width: 1200px;
}

.omni-footer .omni-footer__partner-link {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.omni-footer .omni-footer__partner-link:hover {
    opacity: 1;
}

.omni-footer .omni-footer__disclaimer {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.omni-footer .js-age-modal.active {
    display: flex;
}

#js-main-game:fullscreen {
    width: 100vw;
    height: 100vh;
}

.omnilox-avatar-main,
.omnilox-avatar-reply {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #4FD1C5;
}