/*
 * Custom styles for EstudoBot
 * Tema: Verde Menta + Cinza
 */

/* === Flashcards === */
.flashcard-container {
  perspective: 1000px;
}

.flashcard {
  width: 100%;
  display: grid;
  transform-style: preserve-3d;
  transition: transform 0.6s;
  cursor: pointer;
}

.flashcard.flipped {
  transform: rotateY(180deg);
}

.flashcard-front,
.flashcard-back {
  grid-area: 1 / 1;
  backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  border-radius: 12px;
  text-align: center;
  min-height: 140px;
}

.flashcard-front {
  background-color: oklch(var(--color-base-100));
  border: 2px solid #3b82f6;
  color: oklch(var(--color-base-content, 25% 0 0));
}

.flashcard-back {
  background-color: #1d4ed8;
  color: white;
  transform: rotateY(180deg);
  border: 2px solid #1d4ed8;
}

/* === Skeleton loading === */
.skeleton {
  animation: skeleton-loading 1.5s infinite linear;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
}

@keyframes skeleton-loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* === Scroll Animations === */
[data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0);
}

.reveal-hidden {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal-fade-up {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal], .reveal-hidden {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

:root {
  --animation-duration: 0.3s;
  --p: 185 60% 35%;
  --s: 200 10% 85%;
  --a: 190 40% 55%;
  --primary: 185 60% 35%;
  --primary-content: 0 0% 100%;
  --secondary: 200 10% 85%;
  --secondary-content: 0 0% 20%;
  --accent: 190 40% 55%;
  --accent-content: 0 0% 100%;
  --neutral: 190 25% 25%;
  --neutral-content: 0 0% 95%;
  --base-100: 200 15% 97%;
  --base-200: 200 15% 94%;
  --base-300: 200 15% 91%;
  --base-content: 190 20% 25%;
  --info: 200 100% 50%;
  --success: 150 60% 40%;
  --warning: 150 60% 35%;
  --error: 0 85% 55%;
}

/* abyss2.0 - Dark blue theme with oklch colors */
[data-theme="abyss2.0"] {
  color-scheme: dark;
  --color-base-100: oklch(12% 0.02 250);
  --color-base-200: oklch(15% 0.02 250);
  --color-base-300: oklch(20% 0.02 250);
  --color-base-content: oklch(97% 0 0);
  --color-primary: oklch(65% 0.15 175);
  --color-primary-content: oklch(98% 0 0);
  --color-secondary: oklch(70% 0.15 150);
  --color-secondary-content: oklch(98% 0 0);
  --color-accent: oklch(68% 0.162 75.834);
  --color-accent-content: oklch(25% 0 0);
  --color-neutral: oklch(27% 0.02 250);
  --color-neutral-content: oklch(98% 0 0);
  --color-info: oklch(71% 0.143 215.221);
  --color-info-content: oklch(98% 0 0);
  --color-success: oklch(69% 0.17 162.48);
  --color-success-content: oklch(97% 0 0);
  --color-warning: oklch(75% 0.15 85);
  --color-warning-content: oklch(25% 0 0);
  --color-error: oklch(63% 0.237 25.331);
  --color-error-content: oklch(98% 0 0);
  --radius-selector: 2rem;
  --radius-field: 2rem;
  --radius-box: 2rem;
  --size-selector: 0.25rem;
  --size-field: 0.25rem;
  --border: 2px;
  --depth: 1;
  --noise: 0;
  /* Fallback HSL values for older DaisyUI */
  --p: 175 60% 40%;
  --pc: 0 0% 98%;
  --s: 150 50% 45%;
  --sc: 0 0% 98%;
  --a: 75 50% 68%;
  --ac: 0 0% 25%;
  --n: 215 25% 27%;
  --nc: 0 0% 98%;
  --b1: 222 47% 11%;
  --b2: 217 33% 17%;
  --b3: 215 28% 17%;
  --bc: 0 0% 97%;
  --in: 200 70% 55%;
  --inc: 0 0% 98%;
  --su: 162 50% 50%;
  --suc: 0 0% 97%;
  --wa: 45 80% 55%;
  --wac: 0 0% 20%;
  --er: 0 70% 55%;
  --erc: 0 0% 98%;
}

[data-theme="abyss2.0"] body {
  background: linear-gradient(135deg, #0F172A 0%, #111827 50%, #0F172A 100%);
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .glass {
  background: rgba(13, 115, 119, 0.8);
}

[data-theme="abyss2.0"] .card,
[data-theme="abyss2.0"] .dropdown-content {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .card:hover {
  border-color: #0d7377;
  box-shadow: 0 12px 24px rgba(13, 115, 119, 0.15);
}

[data-theme="abyss2.0"] .navbar {
  background-color: #111827;
  border-bottom: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .btn-primary {
  background: linear-gradient(135deg, #0d7377 0%, #14a3a8 100%);
  border: 2px solid #0d7377;
  color: white !important;
  box-shadow: 0 4px 12px rgba(13, 115, 119, 0.3);
}

[data-theme="abyss2.0"] .btn-primary:hover {
  background: linear-gradient(135deg, #14a3a8 0%, #0d7377 100%);
  box-shadow: 0 6px 20px rgba(13, 115, 119, 0.5);
  border-color: #14a3a8;
}

[data-theme="abyss2.0"] .btn-secondary {
  background: linear-gradient(135deg, #22C55E 0%, #16A34A 100%);
  border: 2px solid #22C55E;
  color: white !important;
}

[data-theme="abyss2.0"] .btn-secondary:hover {
  background: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);
  border-color: #4ADE80;
}

[data-theme="abyss2.0"] .btn-ghost {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .btn-ghost:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .btn-outline {
  border-color: #0d7377;
  color: #0d7377;
}

[data-theme="abyss2.0"] .btn-outline:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .input,
[data-theme="abyss2.0"] .textarea,
[data-theme="abyss2.0"] .select {
  background-color: #0F172A;
  border: 2px solid #1F2937;
  color: #E5E7EB;
}

/* Synthwave Button Styles */
[data-theme="synthwave"] .btn-primary {
  background: linear-gradient(135deg, #0d7377 0%, #14a3a8 100%);
  border: 2px solid #0d7377;
  color: white !important;
  box-shadow: 0 4px 12px rgba(13, 115, 119, 0.3);
}

[data-theme="synthwave"] .btn-primary:hover {
  background: linear-gradient(135deg, #14a3a8 0%, #0d7377 100%);
  box-shadow: 0 6px 20px rgba(13, 115, 119, 0.5);
  border-color: #14a3a8;
}

[data-theme="synthwave"] .btn-secondary {
  background: linear-gradient(135deg, #22C55E 0%, #16A34A 100%);
  border: 2px solid #22C55E;
  color: white !important;
}

[data-theme="synthwave"] .btn-secondary:hover {
  background: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);
  border-color: #4ADE80;
}

[data-theme="synthwave"] .btn-ghost {
  color: #E5E7EB;
}

[data-theme="synthwave"] .btn-ghost:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="synthwave"] .btn-outline {
  border-color: #0d7377;
  color: #0d7377;
}

[data-theme="synthwave"] .btn-outline:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="synthwave"] .input,
[data-theme="synthwave"] .textarea,
[data-theme="synthwave"] .select {
  background-color: #0F172A;
  border: 2px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="synthwave"] .card {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="synthwave"] .card:hover {
  border-color: #0d7377;
  box-shadow: 0 12px 24px rgba(13, 115, 119, 0.15);
}

[data-theme="synthwave"] .navbar {
  background-color: #111827;
  border-bottom: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .input:focus,
[data-theme="abyss2.0"] .textarea:focus,
[data-theme="abyss2.0"] .select:focus {
  border-color: #0d7377;
  box-shadow: 0 0 0 3px rgba(13, 115, 119, 0.2);
}

[data-theme="abyss2.0"] .progress::-webkit-progress-value {
  background: linear-gradient(90deg, #0d7377 0%, #22C55E 100%);
}

[data-theme="abyss2.0"] .link {
  color: #0d7377;
}

[data-theme="abyss2.0"] .link:hover {
  color: #14a3a8;
}

[data-theme="abyss2.0"] .tab {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .tab:hover:not(.tab-disabled) {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .tab-active {
  color: #0d7377;
  border-color: #0d7377;
}

[data-theme="abyss2.0"] .divider {
  border-color: #1F2937;
  color: #9CA3AF;
}

[data-theme="abyss2.0"] .divider::before,
[data-theme="abyss2.0"] .divider::after {
  border-color: #1F2937;
}

[data-theme="abyss2.0"] .table-zebra tbody tr:nth-child(even) {
  background: rgba(13, 115, 119, 0.05);
}

[data-theme="abyss2.0"] .table tbody tr {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .table tbody tr:hover {
  background: rgba(13, 115, 119, 0.1);
}

[data-theme="abyss2.0"] .modal {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .alert {
  background-color: #111827;
  border-color: #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .collapse {
  background-color: #111827;
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] kbd {
  background-color: #1F2937;
  border: 1px solid #0d7377;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .tooltip::before {
  background-color: #0d7377;
  color: white;
}

[data-theme="abyss2.0"] .checkbox {
  --chkbg: #0d7377;
  --chkfg: white;
  border-color: #1F2937;
}

[data-theme="abyss2.0"] .checkbox:checked {
  background-color: #0d7377;
  border-color: #0d7377;
}

[data-theme="abyss2.0"] .avatar {
  border: 2px solid #1F2937;
}

[data-theme="abyss2.0"] .badge {
  border: 1px solid #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .badge-outline,
[data-theme="synthwave"] .badge-outline {
  border-color: #4B5563;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .file-input {
  background-color: #0F172A;
  border-color: #1F2937;
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .file-input:hover {
  border-color: #0d7377;
}

[data-theme="abyss2.0"] .stats {
  background-color: #111827;
  border: 1px solid #1F2937;
}

[data-theme="abyss2.0"] .hero {
  background-color: #0F172A;
  border: 1px solid #1F2937;
}

[data-theme="abyss2.0"] .text-base-content {
  color: #E5E7EB !important;
}

[data-theme="abyss2.0"] .text-base-content\/60,
[data-theme="abyss2.0"] .text-base-content\/70,
[data-theme="abyss2.0"] .text-base-content\/80,
[data-theme="abyss2.0"] .text-base-content\/90 {
  color: #9CA3AF !important;
}

[data-theme="abyss2.0"] .stat-title,
[data-theme="abyss2.0"] .stat-desc {
  color: #9CA3AF;
}

[data-theme="abyss2.0"] .stat-value {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .menu-title {
  color: #9CA3AF;
}

[data-theme="abyss2.0"] .card-title {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .card-body p,
[data-theme="abyss2.0"] .card-body span {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .form-control label {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .footer {
  color: #E5E7EB;
}

[data-theme="abyss2.0"] .footer-title {
  color: #E5E7EB;
}

/* Substituir cores amarelas por verde menta no Abyss */
[data-theme="abyss2.0"] .text-warning,
[data-theme="abyss2.0"] .bg-warning,
[data-theme="abyss2.0"] .text-warning-content {
  color: #22C55E !important;
  background-color: transparent !important;
}

[data-theme="abyss2.0"] .text-warning-content {
  color: #22C55E !important;
}

[data-theme="abyss2.0"] .btn-warning {
  background: #22C55E;
  border-color: #22C55E;
  color: white;
}

[data-theme="abyss2.0"] .btn-warning:hover {
  background: #16A34A;
  border-color: #16A34A;
}

/* ===========================================
   FORÇAR CORES DE TEXTO CONSISTENTES
   =========================================== */

/* TODOS OS TEMAS ESCUROS - Texto Branco */
html[data-theme="abyss2.0"],
html[data-theme="synthwave"] {
  --base-content: 210 40% 98% !important;
  color: #FFFFFF !important;
}

html[data-theme="abyss2.0"] body,
html[data-theme="synthwave"] body,
html[data-theme="abyss2.0"] .card,
html[data-theme="synthwave"] .card,
html[data-theme="abyss2.0"] .navbar,
html[data-theme="synthwave"] .navbar,
html[data-theme="abyss2.0"] .dropdown-content,
html[data-theme="synthwave"] .dropdown-content,
html[data-theme="abyss2.0"] .modal,
html[data-theme="synthwave"] .modal,
html[data-theme="abyss2.0"] .collapse,
html[data-theme="synthwave"] .collapse,
html[data-theme="abyss2.0"] .alert,
html[data-theme="synthwave"] .alert,
html[data-theme="abyss2.0"] .footer,
html[data-theme="synthwave"] .footer,
html[data-theme="abyss2.0"] p,
html[data-theme="synthwave"] p,
html[data-theme="abyss2.0"] span,
html[data-theme="synthwave"] span,
html[data-theme="abyss2.0"] h1,
html[data-theme="synthwave"] h1,
html[data-theme="abyss2.0"] h2,
html[data-theme="synthwave"] h2,
html[data-theme="abyss2.0"] h3,
html[data-theme="synthwave"] h3,
html[data-theme="abyss2.0"] h4,
html[data-theme="synthwave"] h4,
html[data-theme="abyss2.0"] h5,
html[data-theme="synthwave"] h5,
html[data-theme="abyss2.0"] h6,
html[data-theme="synthwave"] h6,
html[data-theme="abyss2.0"] .card-body,
html[data-theme="synthwave"] .card-body,
html[data-theme="abyss2.0"] .card-title,
html[data-theme="synthwave"] .card-title,
html[data-theme="abyss2.0"] .card-body p,
html[data-theme="synthwave"] .card-body p,
html[data-theme="abyss2.0"] .card-body span,
html[data-theme="synthwave"] .card-body span {
  color: #FFFFFF !important;
}

html[data-theme="abyss2.0"] .text-base-content,
html[data-theme="synthwave"] .text-base-content {
  color: #FFFFFF !important;
}

html[data-theme="abyss2.0"] .text-base-content\/60,
html[data-theme="abyss2.0"] .text-base-content\/70,
html[data-theme="abyss2.0"] .text-base-content\/80,
html[data-theme="abyss2.0"] .text-base-content\/90,
html[data-theme="synthwave"] .text-base-content\/60,
html[data-theme="synthwave"] .text-base-content\/70,
html[data-theme="synthwave"] .text-base-content\/80,
html[data-theme="synthwave"] .text-base-content\/90 {
  color: #B0B0B0 !important;
}

/* TODOS OS TEMAS CLAROS - Texto Preto */
html[data-theme="cmyk"] {
  --base-content: 0 0% 10% !important;
  color: #000000 !important;
}

html[data-theme="lofi"] body,
html[data-theme="cmyk"] body {
  color: #1F2937;
}

html[data-theme="lofi"] .card,
html[data-theme="cmyk"] .card,
html[data-theme="lofi"] .navbar,
html[data-theme="cmyk"] .navbar,
html[data-theme="lofi"] .dropdown-content,
html[data-theme="cmyk"] .dropdown-content,
html[data-theme="lofi"] .modal,
html[data-theme="cmyk"] .modal,
html[data-theme="lofi"] .collapse,
html[data-theme="cmyk"] .collapse,
html[data-theme="lofi"] .alert,
html[data-theme="cmyk"] .alert,
html[data-theme="lofi"] .footer,
html[data-theme="cmyk"] .footer {
  color: #1F2937 !important;
}

html[data-theme="lofi"] .text-base-content,
html[data-theme="cmyk"] .text-base-content {
  color: #1F2937 !important;
}

html[data-theme="lofi"] .menu-title,
html[data-theme="cmyk"] .menu-title {
  color: #000000 !important;
  opacity: 1 !important;
}

html[data-theme="lofi"] .text-base-content\/60,
html[data-theme="lofi"] .text-base-content\/70,
html[data-theme="lofi"] .text-base-content\/80,
html[data-theme="cmyk"] .text-base-content\/60,
html[data-theme="cmyk"] .text-base-content\/70,
html[data-theme="cmyk"] .text-base-content\/80 {
  color: #555555 !important;
}

/* Checkbox styles for light themes */
html[data-theme="lofi"] .checkbox,
html[data-theme="cmyk"] .checkbox {
  --chkbg: #1F2937;
  --chkfg: #ffffff;
  border: 2px solid #1F2937;
}

html[data-theme="lofi"] .checkbox:focus,
html[data-theme="cmyk"] .checkbox:focus {
  border-color: #1F2937;
}

html[data-theme="lofi"] .checkbox:checked,
html[data-theme="cmyk"] .checkbox:checked {
  background-color: #1F2937;
  border-color: #1F2937;
}

html[data-theme="lofi"] .checkbox:checked:focus,
html[data-theme="cmyk"] .checkbox:checked:focus {
  background-color: #1F2937;
  border-color: #1F2937;
}

/* Radio styles for light themes */
html[data-theme="lofi"] .radio,
html[data-theme="cmyk"] .radio {
  border: 2px solid #1F2937;
}

html[data-theme="lofi"] .radio:checked,
html[data-theme="cmyk"] .radio:checked {
  background-color: #1F2937;
  border-color: #1F2937;
}

html[data-theme="lofi"] .radio:checked:focus,
html[data-theme="cmyk"] .radio:checked:focus {
  background-color: #1F2937;
  border-color: #1F2937;
}

/* Radio styles for dark themes */
html[data-theme="abyss2.0"] .radio,
html[data-theme="synthwave"] .radio {
  border: 2px solid #4B5563;
  background-color: transparent;
}

html[data-theme="abyss2.0"] .radio:checked,
html[data-theme="synthwave"] .radio:checked {
  background-color: #0d7377;
  border-color: #0d7377;
}

html[data-theme="abyss2.0"] .radio:checked:focus,
html[data-theme="synthwave"] .radio:checked:focus {
  background-color: #0d7377;
  border-color: #0d7377;
}

/* Quiz/Prova option visibility in dark mode */
html[data-theme="abyss2.0"] .border-base-300,
html[data-theme="synthwave"] .border-base-300 {
  border-color: #374151;
}

html[data-theme="abyss2.0"] label:has(.radio):hover,
html[data-theme="synthwave"] label:has(.radio):hover {
  border-color: #0d7377 !important;
  background-color: rgba(13, 115, 119, 0.15) !important;
}

/* Prova: selected radio label - white border and text in dark mode */
html[data-theme="abyss2.0"] label:has(.radio:checked),
html[data-theme="synthwave"] label:has(.radio:checked) {
  border-color: #FFFFFF !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="abyss2.0"] label:has(.radio:checked) *,
html[data-theme="synthwave"] label:has(.radio:checked) * {
  color: #FFFFFF !important;
}

/* Light themes: selected option - black border (same effect, inverted) */
html[data-theme="lofi"] label:has(.radio:checked),
html[data-theme="cmyk"] label:has(.radio:checked) {
  border-color: #000000 !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
}

html[data-theme="lofi"] label:has(.radio:checked) *,
html[data-theme="cmyk"] label:has(.radio:checked) * {
  color: #000000 !important;
}

/* Toggle styles for light themes */
html[data-theme="lofi"] .toggle,
html[data-theme="cmyk"] .toggle {
  background-color: #cccccc;
  border-color: #1F2937;
}

html[data-theme="lofi"] .toggle:checked,
html[data-theme="cmyk"] .toggle:checked {
  background-color: #1F2937;
  border-color: #1F2937;
}

html[data-theme="lofi"] .toggle:focus,
html[data-theme="cmyk"] .toggle:focus {
  border-color: #1F2937;
}
[data-theme="cmyk"] .text-base-content\/80,
[data-theme="autumn"] .text-base-content\/60,
[data-theme="autumn"] .text-base-content\/70,
[data-theme="autumn"] .text-base-content\/80,
[data-theme="business"] .text-base-content\/60,
[data-theme="business"] .text-base-content\/70,
[data-theme="business"] .text-base-content\/80,
[data-theme="lemonade"] .text-base-content\/60,
[data-theme="lemonade"] .text-base-content\/70,
[data-theme="lemonade"] .text-base-content\/80,
[data-theme="winter"] .text-base-content\/60,
[data-theme="winter"] .text-base-content\/70,
[data-theme="winter"] .text-base-content\/80 {
  color: #555555 !important;
}

/* Elementos de texto específicos */
[data-theme="dark"],
[data-theme="abyss2.0"],
[data-theme="black"],
[data-theme="synthwave"],
[data-theme="forest"],
[data-theme="dracula"],
[data-theme="night"] {
  --tw-prose-body: #FFFFFF;
  --tw-prose-headings: #FFFFFF;
  --tw-prose-lead: #B0B0B0;
  --tw-prose-links: #14a3a8;
  --tw-prose-bold: #FFFFFF;
  --tw-prose-counters: #B0B0B0;
  --tw-prose-bullets: #B0B0B0;
  --tw-prose-hr: #374151;
  --tw-prose-quotes: #FFFFFF;
  --tw-prose-quote-borders: #374151;
  --tw-prose-captions: #B0B0B0;
}

[data-theme="light"],
[data-theme="lofi"],
[data-theme="cmyk"],
[data-theme="autumn"],
[data-theme="business"],
[data-theme="lemonade"],
[data-theme="winter"] {
  --tw-prose-body: #000000;
  --tw-prose-headings: #000000;
  --tw-prose-lead: #555555;
  --tw-prose-links: #0d7377;
  --tw-prose-bold: #000000;
  --tw-prose-counters: #555555;
  --tw-prose-bullets: #555555;
  --tw-prose-hr: #E5E7EB;
  --tw-prose-quotes: #000000;
  --tw-prose-quote-borders: #E5E7EB;
  --tw-prose-captions: #555555;
}

/* Chat bubble text colors - DaisyUI não define automaticamente */
.chat-bubble-primary {
  color: hsl(var(--pc)) !important;
}

.chat-bubble-secondary {
  color: hsl(var(--sc)) !important;
}

/* Prose dentro de chat bubbles deve herdar a cor do texto do bubble */
.chat-bubble .prose,
.chat-bubble .prose * {
  color: inherit !important;
  --tw-prose-body: currentColor;
  --tw-prose-headings: currentColor;
  --tw-prose-bold: currentColor;
  --tw-prose-links: currentColor;
  --tw-prose-quotes: currentColor;
}

/* Estilos para o botão de logout no dropdown menu */
.dropdown-content li form {
  width: 100%;
  margin: 0;
  padding: 0;
}

.dropdown-content li form button {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0.75rem 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: inherit;
  color: inherit;
  border-radius: 0.5rem;
  transition: background-color 0.2s;
}

.dropdown-content li form button:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

[data-theme="abyss2.0"] .dropdown-content li form button:hover,
[data-theme="synthwave"] .dropdown-content li form button:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* Theme selector dropdown - cores específicas por tema */

/* Temas CLAROS (lofi, CMYK) - botões e texto PRETO */
/* Temas ESCUROS (synthwave, abyss) - botões e texto BRANCO */
/* ===========================================
   TYPOGRAPHY
   =========================================== */

h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  letter-spacing: -0.02em;
}

h1 {
  line-height: 1.1 !important;
}

body {
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===========================================
   HIDE SCROLLBARS GLOBALLY
   =========================================== */

/* Hide scrollbar for Chrome, Safari and Opera */
*::-webkit-scrollbar {
  display: none !important;
}

/* Hide scrollbar for IE, Edge and Firefox */
* {
  -ms-overflow-style: none !important;  /* IE and Edge */
  scrollbar-width: none !important;  /* Firefox */
}

/* ===========================================
   ANIMATIONS
   =========================================== */

@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

.animate-marquee {
  animation: marquee 50s linear infinite;
  display: flex;
  width: max-content;
}

/* ===========================================
   ACESSIBILIDADE
   =========================================== */

/* Fonte base maior — legível para 9-18 anos */
html {
  font-size: 17px;
}

/* Botões com área de toque maior */
.btn {
  min-height: 3rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-size: 1rem;
}

.btn-sm {
  min-height: 2.25rem;
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

.btn-xs {
  min-height: 1.75rem;
}

/* Inputs maiores e mais fáceis de digitar */
.input, .textarea, .select {
  min-height: 3rem;
  font-size: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* Navbar mais limpa */
.navbar {
  min-height: 4rem;
  padding: 0 1rem;
}

/* Bottom nav maior para mobile */
.btm-nav {
  height: 4.5rem;
}

.btm-nav > * {
  gap: 0.35rem;
}

.btm-nav-label {
  font-size: 0.7rem;
  font-weight: 600;
}

/* Cards com mais respiro */
@media (max-width: 640px) {
  .card-body {
    padding: 1.25rem !important;
  }
}

/* Títulos de card maiores */
.card-title {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}

/* Texto de body de card */
.card-body p, .card-body span, .card-body li {
  font-size: 0.97rem;
  line-height: 1.65;
}

/* Primary mais vibrante no dark — mais fácil de ver */
[data-theme="abyss2.0"] .btn-primary,
[data-theme="synthwave"] .btn-primary {
  background: linear-gradient(135deg, #0f9ea4 0%, #17c4cb 100%) !important;
  border-color: #0f9ea4 !important;
  box-shadow: 0 4px 16px rgba(15, 158, 164, 0.4) !important;
}

[data-theme="abyss2.0"] .btn-primary:hover,
[data-theme="synthwave"] .btn-primary:hover {
  background: linear-gradient(135deg, #17c4cb 0%, #0f9ea4 100%) !important;
  box-shadow: 0 6px 24px rgba(15, 158, 164, 0.6) !important;
}

/* Texto primary mais legível */
[data-theme="abyss2.0"] .text-primary,
[data-theme="synthwave"] .text-primary {
  color: #17c4cb !important;
}

/* Badges mais legíveis */
.badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.6rem;
}

/* Stats maiores */
.stat-value {
  font-size: 1.75rem !important;
}

/* Collapse title maior */
.collapse-title {
  font-size: 1rem;
  font-weight: 600;
  padding: 1rem 1.25rem;
  min-height: 3.5rem;
}
