/* Identidade compartilhada Intervixus Corporation */
:root {
  --ivx-forest: #073b27;
  --ivx-green: #087747;
  --ivx-green-bright: #1c9a5c;
  --ivx-gold: #e4bd26;
  --ivx-gold-light: #f4d957;
  --ivx-blue: #1682b7;
  --ivx-ink: #09150f;
  --ivx-surface: #101d16;
  --ivx-surface-raised: #17281e;
  --ivx-text: #f1f5ee;
  --ivx-muted: #aab8ad;
  --ivx-border: rgba(208, 224, 207, .15);
  --ivx-ease: cubic-bezier(.2,.75,.2,1);
  --dynamic-accent: 8, 119, 71;
  --dynamic-accent-hex: #087747;
  --theme-bg: #09150f;
  --theme-page-bg: #09150f;
  --theme-text: #f1f5ee;
  --theme-muted: #aab8ad;
  --primary: #e4bd26;
  --primary-container: #073b27;
  --surface-tint: #1c9a5c;
  --secondary: #1682b7;
}

html { scroll-behavior: smooth; overflow-x: clip; }
body {
  max-width: 100%;
  overflow-x: clip !important;
  color: var(--ivx-text) !important;
  background-color: var(--ivx-ink) !important;
  background-image: linear-gradient(135deg, rgba(8,119,71,.08), transparent 38%, rgba(22,130,183,.035)) !important;
  accent-color: var(--ivx-green-bright);
}
::selection { color: var(--ivx-ink); background: var(--ivx-gold); }
a { text-decoration-color: rgba(228,189,38,.5); }
:focus-visible { outline: 2px solid var(--ivx-gold) !important; outline-offset: 3px; }

/* Recolor utilities from the earlier blue/purple/orange identity. */
[class*="from-blue-"][class*="to-indigo-"] {
  background-image: linear-gradient(125deg, var(--ivx-green), var(--ivx-gold)) !important;
}
[class*="from-blue-"][class*="via-indigo-"][class*="to-purple-"] {
  background-image: linear-gradient(110deg, var(--ivx-green-bright), var(--ivx-blue), var(--ivx-gold)) !important;
}
[class*="bg-indigo-"], [class*="bg-purple-"] { background-color: rgba(8,119,71,.18) !important; }
[class*="bg-blue-600"], [class*="bg-indigo-600"] { background-color: var(--ivx-green) !important; }
[class*="text-indigo-"], [class*="text-purple-"] { color: var(--ivx-gold) !important; }
[class*="text-blue-400"], [class*="text-cyan-400"] { color: #80c5e5 !important; }
[class*="border-indigo-"], [class*="border-purple-"], [class*="border-blue-"] { border-color: rgba(228,189,38,.24) !important; }
[class*="shadow-indigo-"], [class*="shadow-blue-"], [class*="shadow-purple-"] { --tw-shadow-color: rgba(8,119,71,.2) !important; }
[class*="bg-emerald-600"], [class*="bg-green-600"] { background-color: var(--ivx-green) !important; }
[class*="text-emerald-400"], [class*="text-green-400"] { color: #91d39e !important; }

/* Branded surface, navigation, buttons, and product cards. */
#page-loader { background: rgba(5,24,15,.94) !important; }
.loader-logo { border-color: rgba(228,189,38,.58) !important; box-shadow: 0 0 0 8px rgba(8,119,71,.14), 0 0 48px rgba(8,119,71,.42) !important; }
.loader-bar::before { background: linear-gradient(90deg,var(--ivx-green),var(--ivx-gold)) !important; }
.glass-card, .glass-nav, .liquid-glass {
  background-color: rgba(13,34,23,.72) !important;
  border-color: var(--ivx-border) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.035) !important;
}
.glass-card:hover, .liquid-glass-hover:hover {
  border-color: rgba(228,189,38,.58) !important;
  box-shadow: 0 20px 45px rgba(3,24,13,.42), 0 0 25px rgba(8,119,71,.2) !important;
  transform: translateY(-4px) !important;
}
header a, nav a { transition: color .22s var(--ivx-ease), background-color .22s var(--ivx-ease), border-color .22s var(--ivx-ease); }
header img[src*="icon.jpg"], .loader-logo img {
  border-radius: 10px;
  box-shadow: 0 0 0 1px rgba(228,189,38,.36), 0 6px 20px rgba(8,119,71,.2);
}
a[href*="wa.me"], button[class*="bg-indigo-600"], button[class*="bg-blue-600"] {
  border-color: rgba(228,189,38,.65) !important;
}
a[href*="wa.me"]:hover, button[class*="bg-indigo-600"]:hover, button[class*="bg-blue-600"]:hover {
  filter: brightness(1.09);
}
#mobile-menu-sheet, #mobile-menu-sheet > div {
  background-color: rgba(10,31,19,.98) !important;
  border-color: rgba(228,189,38,.22) !important;
}
#mobile-menu-overlay { background-color: rgba(2,14,8,.76) !important; }
@media (max-width: 700px) {
  body > div.absolute[class*="w-[500px]"] {
    left: 50% !important;
    right: auto !important;
    width: min(100vw, 500px) !important;
    transform: translateX(-50%) !important;
  }
  body > div.absolute[class*="w-[600px]"] {
    left: 50% !important;
    right: auto !important;
    width: min(100vw, 600px) !important;
    transform: translateX(-50%) !important;
  }
  body > div.absolute[class*="w-[400px]"],
  body > div.absolute[class*="w-[300px]"] {
    left: 50% !important;
    right: auto !important;
    width: min(100vw, 400px) !important;
    transform: translateX(-50%) !important;
  }
  #orb-left, #orb-right {
    left: 50% !important;
    right: auto !important;
    width: min(100vw, 700px) !important;
    transform: translateX(-50%) !important;
  }
}

/* Inter-Store theme values. */
:root[data-theme="light"] {
  --theme-bg: #f3f7ef;
  --theme-page-bg: #f3f7ef;
  --theme-text: #10251a;
  --theme-muted: #536b5c;
  --theme-card-bg: rgba(255,255,255,.78);
  --dynamic-accent: 8,119,71 !important;
  --dynamic-accent-hex: #087747 !important;
}
:root[data-theme="light"] body { color: #10251a !important; background-color: #f3f7ef !important; }
:root[data-theme="light"] .glass-nav,
:root[data-theme="light"] .glass-card,
:root[data-theme="light"] .liquid-glass { background-color: rgba(255,255,255,.88) !important; }
:root[data-theme="light"] .app-store-header {
  background: rgba(247,251,244,.94) !important;
  border-bottom-color: rgba(7,59,39,.14) !important;
  box-shadow: 0 8px 28px rgba(7,59,39,.06);
}
:root[data-theme="light"] .app-store-header .text-transparent {
  background-image: linear-gradient(110deg,var(--ivx-green),var(--ivx-gold)) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
}
:root[data-theme="light"] #theme-toggle {
  background: var(--ivx-green) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(8,119,71,.16) !important;
}
:root[data-theme="light"] #theme-toggle:hover { background: var(--ivx-forest) !important; }
:root[data-theme="light"] .glass-nav {
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(7,59,39,.12) !important;
  box-shadow: 0 10px 28px rgba(7,59,39,.07) !important;
}
:root[data-theme="light"] .app-card-compact,
:root[data-theme="light"] .app-shell {
  color: #10251a !important;
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(7,59,39,.15) !important;
  box-shadow: 0 14px 34px rgba(7,59,39,.09) !important;
}
:root[data-theme="light"] .app-card-compact:hover,
:root[data-theme="light"] .app-shell:hover {
  border-color: rgba(8,119,71,.48) !important;
  box-shadow: 0 18px 38px rgba(7,59,39,.15) !important;
}
:root[data-theme="light"] .dynamic-text-accent,
:root[data-theme="light"] .dynamic-border-accent,
:root[data-theme="light"] .dynamic-bg-accent,
:root[data-theme="light"] .dynamic-shadow-accent,
:root[data-theme="light"] .gel-fluid-btn {
  --dynamic-accent: 8,119,71 !important;
  --dynamic-accent-hex: #087747 !important;
}
:root[data-theme="light"] .dynamic-bg-accent {
  background-color: var(--ivx-green) !important;
  color: #fff !important;
}
:root[data-theme="light"] .gel-fluid-btn {
  color: #fff !important;
  background: linear-gradient(125deg,var(--ivx-green),var(--ivx-green-bright)) !important;
  border-color: rgba(8,119,71,.35) !important;
  box-shadow: 0 10px 26px rgba(8,119,71,.18), inset 0 1px rgba(255,255,255,.28) !important;
}
:root[data-theme="light"] #app-detail-section #video-wrapper-trigger > .absolute.inset-0 {
  background-image: linear-gradient(to top,rgba(243,247,239,.96),rgba(243,247,239,.14) 42%,transparent 78%) !important;
}
:root[data-theme="light"] #app-detail-section [class*="bg-black/20"] {
  color: #315440 !important;
  background-color: rgba(8,119,71,.055) !important;
  border-color: rgba(8,119,71,.12) !important;
}
:root[data-theme="light"] .platform-badge {
  color: #315440 !important;
  background: rgba(8,119,71,.07) !important;
  border-color: rgba(8,119,71,.15) !important;
  box-shadow: none !important;
}
:root[data-theme="light"] #mobile-menu-sheet,
:root[data-theme="light"] #mobile-menu-sheet > div {
  color: #10251a !important;
  background: rgba(250,252,247,.98) !important;
  border-color: rgba(7,59,39,.16) !important;
}
:root[data-theme="light"] #mobile-menu-sheet a { color: #315440 !important; }
:root[data-theme="light"] #mobile-menu-sheet a:hover,
:root[data-theme="light"] #mobile-menu-sheet a:focus-visible { background: rgba(8,119,71,.08) !important; }
:root[data-theme="light"] .text-cyan-400,
:root[data-theme="light"] .text-amber-400,
:root[data-theme="light"] .text-orange-400 { color: var(--ivx-green) !important; }
:root[data-theme="light"] .bg-cyan-400 { background-color: var(--ivx-green) !important; }
:root[data-theme="light"] [class*="text-orange-"],
:root[data-theme="light"] [class*="text-amber-"] { color: var(--ivx-green) !important; }
:root[data-theme="light"] [class*="bg-orange-"],
:root[data-theme="light"] [class*="bg-amber-"] { background-color: rgba(228,189,38,.14) !important; }
:root[data-theme="light"] [class*="bg-cyan-"] { background-color: rgba(8,119,71,.08) !important; }
:root[data-theme="light"] [class*="border-orange-"],
:root[data-theme="light"] [class*="border-amber-"],
:root[data-theme="light"] [class*="border-cyan-"] { border-color: rgba(8,119,71,.2) !important; }
:root[data-theme="light"] .text-black { color: #fff !important; }

/* The Inx Tube has its own component system; align its design tokens. */
body:has(.topbar) {
  --bg: #09150f;
  --surface-tint: #1c9a5c;
  --primary: #e4bd26;
  --primary-container: #073b27;
  --on-primary-container: #f8edb3;
  --secondary: #1682b7;
  --tertiary: #1c9a5c;
  --text: #f1f5ee;
  --muted: #aab8ad;
  --outline: rgba(228,189,38,.2);
  --outline-variant: rgba(208,224,207,.14);
  --glass-bg: rgba(13,34,23,.62);
  --glass-border: rgba(208,224,207,.16);
}
body:has(.topbar) .logo { background: linear-gradient(135deg,var(--ivx-green),var(--ivx-gold)); color: var(--ivx-ink); box-shadow: 0 8px 24px rgba(8,119,71,.32); }
body:has(.topbar) .topbar { border-color: var(--ivx-border); }

/* Game Hub and player profile share the same forest/gold system. */
body:has(.games) {
  --bg: #09150f;
  --panel: #101d16;
  --line: rgba(208,224,207,.15);
  --text: #f1f5ee;
  --muted: #aab8ad;
  --cyan: #1682b7;
  --yellow: #e4bd26;
  --pink: #1c9a5c;
  background: radial-gradient(ellipse at 78% 7%,rgba(8,119,71,.18),transparent 39%),var(--ivx-ink) !important;
}
body:has(.games) .hero-visual { background: linear-gradient(145deg,#073b27,#087747 58%,#e4bd26); }
body:has(.games) .filter.active, body:has(.games) .filter:hover { border-color: var(--ivx-gold); color: var(--ivx-gold); background: rgba(228,189,38,.1); }
body:has(.games) .game-card:hover { border-color: var(--ivx-gold); background: #17281e; }
body:has(.games) .play-button { background: var(--ivx-gold); color: var(--ivx-ink); }
body:has(.dashboard) {
  background: radial-gradient(ellipse at 86% 4%,rgba(8,119,71,.16),transparent 35%),var(--ivx-ink) !important;
}
body:has(.dashboard) .panel { border-color: var(--ivx-border); background: rgba(16,29,22,.9); box-shadow: 0 22px 60px rgba(0,0,0,.22); }
body:has(.dashboard) .eyebrow, body:has(.dashboard) .message { color: var(--ivx-gold); }
body:has(.dashboard) .section-label, body:has(.dashboard) .stat strong, body:has(.dashboard) .collection-item i { color: #91d39e; }
body:has(.dashboard) input:focus { border-color: var(--ivx-gold); }
body:has(.dashboard) button:not(.google) { background-color: var(--ivx-green); color: #fff; }
body:has(.dashboard) button.secondary { border-color: rgba(228,189,38,.45); background: rgba(228,189,38,.1); color: var(--ivx-gold); }

/* Branded error page accent. */
body:has(.error-fade) { background-color: var(--ivx-ink) !important; }
body:has(.error-fade) .glass-card { border-color: rgba(228,189,38,.22) !important; }

/* Short, staggered entrances; nothing keeps moving after arrival. */
@keyframes ivx-arrive {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}
body.ivx-motion-ready main > section,
body.ivx-motion-ready main > .page-fade { animation: ivx-arrive .72s var(--ivx-ease) both; }
body.ivx-motion-ready main > section:nth-of-type(2) { animation-delay: .08s; }
body.ivx-motion-ready main > section:nth-of-type(3) { animation-delay: .15s; }
body.ivx-motion-ready main > section:nth-of-type(4) { animation-delay: .22s; }
body.ivx-motion-ready .plan-card,
body.ivx-motion-ready .app-card,
body.ivx-motion-ready main .glass-card { transition: transform .32s var(--ivx-ease), border-color .25s ease, box-shadow .32s ease, background-color .25s ease; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
