/* ACE OF SELF / EU DE OUROS — global platform theme
   Applies to the React platform shell only. The protected /app frozen release does not load this file. */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root {
  --ace-paper: #ffffff;
  --ace-paper-dark: #f3eee6;
  --ace-ink: #24211f;
  --ace-walnut: #24211f;
  --ace-oxblood: #911a00;
  --ace-gold: #d4a25d;
  --ace-gold-soft: #e6c77a;
  --ace-blue: #153d66;
  --ace-blue-deep: #0b2844;
  --ace-plum: #332b26;
  --ace-night: #24211f;
  --ace-muted: #b8aa9a;
  --ace-body: 'DM Sans', Arial, Helvetica, sans-serif;
  --ace-label: 'Space Mono', ui-monospace, monospace;
  --ace-serif: Georgia, 'Times New Roman', serif;
  --ace-radius: 1.35rem;
  --ace-ease: cubic-bezier(.22,.9,.32,1);
}

html, body { background: var(--ace-walnut) !important; }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 5%, rgba(212,162,93,.15), transparent 31rem),
    radial-gradient(circle at 90% 12%, rgba(145,26,0,.12), transparent 27rem),
    linear-gradient(145deg, #24211f 0%, #332b26 48%, #24211f 100%) !important;
  color: var(--ace-paper-dark) !important;
  font-family: var(--ace-body) !important;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .12;
  background-image: radial-gradient(rgba(255,255,255,.24) .55px, transparent .55px);
  background-size: 6px 6px;
  mix-blend-mode: soft-light;
}

body > *, #root { position: relative; z-index: 1; }

h1, h2, h3, h4, h5, h6,
.font-display, [class*='font-serif'] {
  font-family: var(--ace-serif) !important;
  color: var(--ace-paper) !important;
  letter-spacing: .01em;
}

p, label, input, textarea, select, button, a, li, td, th,
.font-sans, [class*='font-sans'] { font-family: var(--ace-body) !important; }
.font-mono, code, pre, [class*='font-mono'] { font-family: var(--ace-label) !important; }

[class*='min-h-screen'], [class*='bg-slate-950'], [class*='bg-gray-950'], [class*='bg-black'] {
  background: transparent !important;
}

.glass-panel, [class*='glass-panel'], [class*='backdrop-blur'],
[class*='bg-white/'], [class*='bg-slate-900/'], [class*='bg-violet-'],
[class*='bg-cyan-'] {
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(212,162,93,.38) !important;
  border-radius: var(--ace-radius) !important;
  box-shadow: 0 22px 55px rgba(10,7,5,.28), inset 0 1px 0 rgba(255,255,255,.11) !important;
  backdrop-filter: blur(14px);
}

[class*='rounded-[2rem]'], [class*='rounded-3xl'], [class*='rounded-2xl'] { border-radius: var(--ace-radius) !important; }
[class*='text-white'], [class*='text-slate-100'], [class*='text-slate-200'] { color: #fffaf2 !important; }
[class*='text-slate-300'], [class*='text-slate-400'], [class*='text-gray-400'] { color: rgba(243,238,230,.76) !important; }
[class*='text-cyan-'], [class*='text-violet-'], [class*='text-emerald-'], [class*='text-amber-'], [class*='text-yellow-'] { color: var(--ace-gold-soft) !important; }
[class*='border-white/'], [class*='border-slate-'], [class*='border-violet-'], [class*='border-cyan-'] { border-color: rgba(212,162,93,.38) !important; }

button, a[class*='bg-'], a[class*='border-'] {
  transition: transform .18s var(--ace-ease), background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease !important;
}

button[class*='bg-cyan-'], button[class*='bg-violet-'], button[class*='bg-primary'],
a[class*='bg-cyan-'], a[class*='bg-violet-'], a[class*='bg-primary'] {
  background: var(--ace-gold) !important;
  color: var(--ace-ink) !important;
  border-color: var(--ace-gold) !important;
  box-shadow: 0 12px 26px rgba(212,162,93,.22) !important;
}

button[class*='bg-cyan-']:hover, button[class*='bg-violet-']:hover,
a[class*='bg-cyan-']:hover, a[class*='bg-violet-']:hover { background: var(--ace-gold-soft) !important; }
button:hover, a[class*='rounded-full']:hover { transform: translateY(-2px); }
button:active, a[class*='rounded-full']:active { transform: scale(.97) !important; }

input, textarea, select {
  background: rgba(36,33,31,.72) !important;
  border-color: rgba(212,162,93,.38) !important;
  color: #fffaf2 !important;
  border-radius: .75rem !important;
}
input::placeholder, textarea::placeholder { color: rgba(255,250,242,.48) !important; }
input:focus, textarea:focus, select:focus {
  border-color: rgba(230,199,122,.9) !important;
  box-shadow: 0 0 0 3px rgba(212,162,93,.16) !important;
  outline: none !important;
}

header, nav, footer { border-color: rgba(212,162,93,.28) !important; }
header { background: rgba(36,33,31,.86) !important; backdrop-filter: blur(18px); }
footer { color: rgba(243,238,230,.62) !important; }
article, [class*='prose'] { color: #fffaf2; }
[class*='prose'] a, article a { color: var(--ace-gold-soft) !important; }
[role='dialog'], [role='menu'], [data-radix-popper-content-wrapper] > * {
  background: #332b26 !important;
  border-color: rgba(212,162,93,.42) !important;
  color: #fffaf2 !important;
}

#eu-de-ouros-locale-selector {
  background: rgba(36,33,31,.86) !important;
  border-color: rgba(212,162,93,.42) !important;
  color: var(--ace-paper-dark) !important;
  box-shadow: 0 12px 32px rgba(10,7,5,.24) !important;
}

@media (max-width: 640px) {
  body::before { opacity: .08; }
  [class*='px-8'], [class*='px-10'] { padding-left: 1rem !important; padding-right: 1rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
