/* Homepage-only additions. Brand assets and the shared site palette stay unchanged. */
.nav-container { max-width: 1680px; gap: 16px; }
.nav-links { align-items: center; flex-wrap: wrap; justify-content: center; gap: 4px; }
.nav-links a { padding-inline: 9px; letter-spacing: 0; }
.nav-actions { align-items: center; flex-shrink: 0; }
.nav-user { max-width: 150px; overflow-wrap: anywhere; }
.logo, .footer-logo, .loader-logo, .title-main { unicode-bidi: isolate; }
.home-heading { display: block; margin-block-start: 24px; font-family: inherit; font-size: clamp(23px, 3vw, 38px); line-height: 1.35; font-weight: 600; letter-spacing: 0; }
.hero-content { max-width: 1100px; }
.hero-desc { max-width: 900px; margin-inline: auto; text-wrap: pretty; }
.hero-tagline { min-height: 3em; height: auto; overflow-wrap: anywhere; }
.invite-badge { max-width: 100%; }
.invite-badge span { white-space: normal; overflow-wrap: anywhere; }
.feature-card, .game-card, .footer-col, .footer-brand { min-width: 0; }
.feature-card h3, .game-card h3, .cta-content h2 { overflow-wrap: anywhere; }
.game-actions a { white-space: normal; text-align: center; }
html:not([lang^="zh"]) .game-channel-meta::before { content: 'QQ'; }
.section-badge { letter-spacing: .08em; }
.cta-highlight-box, .home-principles { text-align: start; }
.home-principles { max-width: 1100px; margin-inline: auto; padding: 36px 24px 64px; color: var(--text-muted); line-height: 1.8; }
.home-principles h2 { color: var(--text-primary, #fff); margin-block-end: 16px; font-size: 24px; }
.home-principles p + p { margin-block-start: 14px; }
.footer-nav { flex-wrap: wrap; }
.footer-col a { overflow-wrap: anywhere; }
html[dir="rtl"] .hero-tagline, html[dir="rtl"] .section-badge { letter-spacing: 0; }
html[dir="rtl"] .feature-card, html[dir="rtl"] .footer-col { text-align: right; }
html[dir="rtl"] .nav-user { direction: rtl; }
@media (max-width: 1360px) {
  .nav-links { position: fixed; top: 0; right: -100%; width: min(85vw, 400px); max-width: 400px; height: 100dvh; background: rgba(10,10,15,.98); backdrop-filter: blur(20px); flex-direction: column; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; padding: 100px 30px 36px; overflow-y: auto; transition: right .3s ease; z-index: 998; }
  .nav-links.active { right: 0; }
  .nav-links:not(.active) { display: none; }
  .nav-links a { padding: 14px 0; font-size: 16px; border-bottom: 1px solid var(--border); }
  .mobile-menu-btn { display: flex; z-index: 999; flex-shrink: 0; }
  .nav-actions { display: flex; margin-inline-start: auto; }
  html[dir="rtl"] .nav-links { right: auto; left: -100%; transition-property: left; }
  html[dir="rtl"] .nav-links.active { left: 0; }
}
@media (max-width: 640px) {
  .navbar { padding-block: 14px; }
  .nav-container { flex-wrap: wrap; gap: 12px; }
  .logo { flex: 1; font-size: 18px; }
  .nav-actions { order: 3; flex: 1 0 100%; justify-content: space-between; margin: 0; gap: 10px; }
  .nav-actions .ci-language-selector { min-width: 0; flex: 1; max-width: 270px; }
  .nav-actions .ci-language-selector select { min-width: 0; max-width: 160px; }
  .nav-actions .btn-login { padding: 9px 12px; letter-spacing: 0; text-align: center; }
  .nav-user { max-width: 120px; }
  body > aside { margin-top: 132px !important; margin-inline: 16px !important; padding: 14px 18px !important; }
  .home-heading { font-size: 24px; }
  .hero-desc { font-size: 16px; }
  .hero-tagline { font-size: 18px; }
  .home-principles { padding: 24px 20px 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-loader { display: none; }
  .gradient-orb, .shape, .cursor, .scroll-wheel { animation: none !important; }
  .feature-card, .game-card { opacity: 1 !important; transform: none !important; }
}
