:root {
    --primary-bg: #090611;
    --secondary-bg: #140e28;
    --card-bg: #1b1435;
    --primary-accent: #ff007a;
    --secondary-accent: #00f0ff;
    --tertiary-accent: #ffde00;
    --text-primary: #ffffff;
    --text-secondary: #9e97c2;
    --text-muted: #635b88;
    --border-color: #2e2354;
    --border-color-active: #ff007a;
    --glow-primary: rgba(255, 0, 122, 0.4);
    --glow-secondary: rgba(0, 240, 255, 0.3);
}

body {
    background-color: var(--primary-bg);
    color: var(--text-primary);
    font-family: 'Plus Jakarta Sans', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.text-muted {
    color: #635b88 !important;
}

.arcade-grid {
    background-image: linear-gradient(rgba(46, 35, 84, 0.2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(46, 35, 84, 0.2) 1px, transparent 1px);
    background-size: 40px 40px;
}

/* ===== header ===== */
.starlane-header .transition-none {
    transition: none !important;
}

.starlane-header-nav {
    background-color: #090611;
    border-bottom: 2px solid #2e2354;
}

.starlane-header a:hover,
.starlane-header button:hover {
    text-shadow: 0 0 8px rgba(255, 0, 122, 0.6);
}

/* ===== hero ===== */
.hero-section {
    background-color: #090611;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.hero-section .hero-title {
    font-family: 'Orbitron', sans-serif;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.hero-section .hero-subtitle {
    font-family: 'Orbitron', sans-serif;
    text-shadow: 0 0 15px rgba(255, 0, 122, 0.6);
}

.hero-section .hero-badge {
    box-shadow: 0 0 10px rgba(0, 240, 255, 0.2);
}

.hero-section .hero-btn-primary,
.hero-section .hero-btn-secondary {
    transition: none !important;
}

/* ===== about-intro ===== */
.about-intro-section {
    font-family: 'Orbitron', 'Plus Jakarta Sans', sans-serif;
    background-image: radial-gradient(circle at 10% 20%, rgba(20, 14, 40, 0.4) 0%, transparent 90%);
}

.about-intro-section img {
    aspect-ratio: 16 / 10;
}

/* ===== games-grid ===== */
.games-grid-section {
    background-color: #090611;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.games-grid-section h2 {
    font-family: 'Orbitron', sans-serif;
}

.games-grid-section .game-card {
    background-color: #1b1435;
    border: 2px solid #2e2354;
    transition: none;
}

.games-grid-section .game-card:hover {
    border-color: #ff007a;
    box-shadow: 4px 4px 0px #00f0ff;
}

.games-grid-section .game-card img {
    transition: none;
}

.games-grid-section .game-card:hover img {
    transform: scale(1.03);
}

.games-grid-section .btn-arcade {
    background-color: #ff007a;
    border: 2px solid #ff007a;
    color: #ffffff;
    font-family: 'Orbitron', sans-serif;
    box-shadow: 3px 3px 0px #00f0ff;
    transition: none;
}

.games-grid-section .btn-arcade:hover {
    background-color: #00f0ff;
    border-color: #00f0ff;
    color: #090611;
    box-shadow: 3px 3px 0px #ff007a;
}

.games-grid-section .filter-btn {
    font-family: 'Orbitron', sans-serif;
    border-color: #2e2354;
    background-color: #1b1435;
    color: #9e97c2;
    transition: none;
}

.games-grid-section .filter-btn.active {
    border-color: #ff007a;
    background-color: #ff007a;
    color: #ffffff;
    box-shadow: 2px 2px 0px #00f0ff;
}

.games-grid-section .filter-btn:not(.active):hover {
    border-color: #00f0ff;
    color: #00f0ff;
}

/* ===== features ===== */
.why-choose-us-section {
    background-color: #090611;
}

.why-choose-us-section .feature-card {
    transition: border-color 0s;
}

.why-choose-us-section .feature-card:hover {
    border-color: #ff007a !important;
    box-shadow: 0 0 15px rgba(255, 0, 122, 0.4);
}

.why-choose-us-section .cta-btn {
    box-shadow: 0 0 10px rgba(255, 0, 122, 0.3);
    transition: transform 0.1s, border-bottom-width 0.1s;
}

.why-choose-us-section .cta-btn:hover {
    box-shadow: 0 0 20px rgba(255, 0, 122, 0.6);
}

/* ===== footer ===== */
.star-lane-footer {
    background-color: #090611;
    color: #9e97c2;
}

.star-lane-footer a {
    transition: color 0s, border-color 0s;
}

.star-lane-footer a:hover {
    color: #ffffff;
}

.star-lane-footer .star-lane-map-iframe {
    filter: grayscale(1) invert(0.9) hue-rotate(180deg);
}

.starlane-header .transition-none {
    transition: none !important;
}

.starlane-header-nav {
    background-color: #090611;
    border-bottom: 2px solid #2e2354;
}

.starlane-header a:hover,
.starlane-header button:hover {
    text-shadow: 0 0 8px rgba(255, 0, 122, 0.6);
}

.hero-section {
    background-color: #090611;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.hero-section .hero-title {
    font-family: 'Orbitron', sans-serif;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.hero-section .hero-badge {
    box-shadow: 0 0 10px rgba(0, 240, 255, 0.2);
}

.star-lane-footer {
    background-color: #090611;
    color: #9e97c2;
}

.star-lane-footer a {
    transition: color 0s, border-color 0s;
}

.star-lane-footer a:hover {
    color: #ffffff;
}

.star-lane-footer .star-lane-map-iframe {
    filter: grayscale(1) invert(0.9) hover-rotate(180deg);
}

.catalog-section {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.catalog-section input::placeholder {
    color: #635b88 !important;
    opacity: 1 !important;
}

.catalog-section .js-category-tab {
    font-family: 'Orbitron', sans-serif;
}


/* ===== PAGE: about ===== */
.about-section {
  background-image: linear-gradient(180deg, #090611 0%, #140e28 100%);
}
.about-section .js-tab-btn.active {
  border-color: #ff007a;
  color: #ffffff;
  background-color: #1b1435;
}

/* ===== PAGE: daily-quests ===== */
.quests-list-section {
  background-image: radial-gradient(circle at top left, rgba(27, 20, 53, 0.4) 0%, rgba(9, 6, 17, 1) 70%);
}

.quests-list-section .js-filter-btn.active {
  box-shadow: 0 0 10px rgba(255, 0, 122, 0.6);
  background-color: #ff007a;
  border-color: #ff007a;
  color: #ffffff;
}

.quests-list-section .js-quest-card {
  box-shadow: inset 0 0 15px rgba(46, 35, 84, 0.3);
}

.quests-list-section .js-quest-card:hover {
  box-shadow: 0 0 20px rgba(255, 0, 122, 0.15);
}

/* ===== PAGE: beginners-guide ===== */
.beginners-guide-section {
  background-image: radial-gradient(circle at 20% 30%, rgba(20, 14, 40, 0.8) 0%, rgba(9, 6, 17, 1) 70%);
}
.beginners-guide-section .js-tab-btn.active {
  background-color: #ff007a !important;
  border-color: #ff007a !important;
  color: #ffffff !important;
}

/* ===== PAGE: events ===== */
.events-calendar-section {
  position: relative;
}
.events-calendar-section .active-filter {
  background-color: #ff007a !important;
  border-color: #ff007a !important;
  color: #ffffff !important;
  box-shadow: 0 0 10px rgba(255, 0, 122, 0.5);
}
.events-calendar-section .js-event-card {
  box-shadow: 0 0 15px rgba(27, 20, 53, 0.4);
}
.events-calendar-section .js-event-card:hover {
  box-shadow: 0 0 15px rgba(255, 0, 122, 0.25);
}

/* ===== PAGE: hall-of-fame ===== */
.star-lane-leaderboard .glow-border {
  border: 2px solid #2e2354;
  box-shadow: 0 0 10px rgba(0, 240, 255, 0.1);
}
.star-lane-leaderboard .glow-border-active {
  border: 2px solid #ff007a;
  box-shadow: 0 0 15px rgba(255, 0, 122, 0.4);
}
.star-lane-leaderboard .text-neon-pink {
  color: #ff007a;
  text-shadow: 0 0 5px rgba(255, 0, 122, 0.5);
}
.star-lane-leaderboard .tab-btn.active {
  background-color: #ff007a;
  color: #ffffff;
  border-color: #ff007a;
}

/* ===== PAGE: contacts ===== */
.star-lane-contacts {
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.star-lane-contacts h1,
.star-lane-contacts h3 {
  font-family: 'Orbitron', sans-serif;
}
.star-lane-contacts .star-lane-map-container iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 350px;
  border: none;
  filter: grayscale(1) invert(0.9) contrast(1.2);
}
.star-lane-contacts .star-lane-map-container {
  border: 1px solid #2e2354;
}

/* ===== PAGE: privacy ===== */
.privacy-section {
  background-image: radial-gradient(circle at 10% 20%, rgba(20, 14, 40, 0.4) 0%, rgba(9, 6, 17, 1) 90%);
}
.privacy-section .js-policy-tab {
  transition: none !important;
}
.privacy-section .js-policy-tab:hover {
  box-shadow: 0 0 8px rgba(0, 240, 255, 0.4);
}

/* ===== PAGE: terms ===== */
.terms-block .js-terms-tab {
  transition: none !important;
}
.terms-block .js-terms-tab.active {
  border-color: #ff007a !important;
  background-color: #1b1435 !important;
  color: #ffffff !important;
}
.terms-block .js-terms-tab:not(.active):hover {
  border-color: #00f0ff !important;
  color: #ffffff !important;
}

/* ===== PAGE: disclaimer ===== */
.star-lane-disclaimer {
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.star-lane-disclaimer .heading-font {
  font-family: 'Orbitron', sans-serif;
}
.star-lane-disclaimer .neon-border {
  border: 2px solid #2e2354;
  box-shadow: 0 0 15px rgba(46, 35, 84, 0.4);
}
.star-lane-disclaimer .neon-text-pink {
  text-shadow: 0 0 8px rgba(255, 0, 122, 0.6);
}
.star-lane-disclaimer .neon-text-cyan {
  text-shadow: 0 0 8px rgba(0, 240, 255, 0.6);
}

.arcade-comment-card {
    transition: none !important;
}

.arcade-comment-card:hover {
    border-color: #ff007a !important;
    box-shadow: 0 0 15px rgba(255, 0, 122, 0.4);
}

/* Avatar image constraints for fallback compatibility */
.arcade-avatar-img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 9999px;
    border: 2px solid #ff007a;
}

.arcade-reply-card {
    transition: none !important;
}

.arcade-reply-card:hover {
    border-color: #00f0ff !important;
    box-shadow: 0 0 15px rgba(0, 240, 255, 0.3);
}

/* Avatar image constraints for fallback compatibility */
.arcade-avatar-img-sm {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 9999px;
    border: 2px solid #00f0ff;
}


/* ===== PAGE TEMPLATE: games ===== */
.starlane-header .transition-none {
    transition: none !important;
}

.starlane-header-nav {
    background-color: #090611;
    border-bottom: 2px solid #2e2354;
}

.starlane-header a:hover,
.starlane-header button:hover {
    text-shadow: 0 0 8px rgba(255, 0, 122, 0.6);
}

.star-lane-footer {
    background-color: #090611;
    color: #9e97c2;
}

.star-lane-footer a {
    transition: color 0s, border-color 0s;
}

.star-lane-footer a:hover {
    color: #ffffff;
}

.star-lane-footer .star-lane-map-iframe {
    filter: grayscale(1) invert(0.9) hue-rotate(180deg);
}

.starlane-game-detail h1,
.starlane-game-detail h2,
.starlane-game-detail h3 {
    font-family: 'Orbitron', sans-serif !important;
}

.starlane-game-detail p,
.starlane-game-detail span,
.starlane-game-detail a,
.starlane-game-detail li,
.starlane-game-detail button {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.starlane-game-detail .game-viewport-section {
    box-shadow: 0 0 25px rgba(0, 240, 255, 0.15);
}

.starlane-game-detail .game-detail-card {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.starlane-game-detail .game-rec-card {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.starlane-game-detail .js-game-wrapper:-webkit-full-screen {
    width: 100% !important;
    height: 100% !important;
    background-color: #000;
}

.starlane-game-detail .js-game-wrapper:-moz-full-screen {
    width: 100% !important;
    height: 100% !important;
    background-color: #000;
}

.starlane-game-detail .js-game-wrapper:fullscreen {
    width: 100% !important;
    height: 100% !important;
    background-color: #000;
}

.starlane-game-detail .js-game-wrapper:-webkit-full-screen .js-exit-fullscreen {
    display: flex !important;
}

.starlane-game-detail .js-game-wrapper:-moz-full-screen .js-exit-fullscreen {
    display: flex !important;
}

.starlane-game-detail .js-game-wrapper:fullscreen .js-exit-fullscreen {
    display: flex !important;
}