/* ============================================================
   MABUS — MODO LEVE (data-perf="lite")
   ------------------------------------------------------------
   Kill-switch universal de efeitos GPU-pesados, INDEPENDENTE do
   tema (light/dark) e do prefers-reduced-motion do SO.

   Problema que resolve: existe um reset em theme-tokens.css que
   mata animações, mas só dispara se o usuário ligou "reduzir
   movimento" no sistema operacional — quase ninguém liga. Em PC
   fraco as animações/blur rodam mesmo assim e travam o app.

   Este arquivo replica esse reset SEM depender do SO: ativa quando
   <html data-perf="lite">, setado server-side via cookie mabus_perf
   (toggle do usuário) OU auto-detect na 1ª visita (theme-controller.js:
   hardwareConcurrency<=4 || deviceMemory<=4 || saveData).

   Carregado POR ÚLTIMO no head.ejs pra vencer no cascade.
   ============================================================ */

/* ------------------------------------------------------------
   1. BACKDROP-FILTER — o efeito mais caro em GPU integrada.
   Força re-borrão de TUDO atrás do elemento a cada repaint/scroll
   (sidebar, header, cards .glass, dropdowns). Blanket none.
   ------------------------------------------------------------ */
[data-perf="lite"] *,
[data-perf="lite"] *::before,
[data-perf="lite"] *::after {
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}

/* ------------------------------------------------------------
   2. FILTER decorativo (blur/glow/url SVG) — desligado.
   Spinners de loading usam transform (rotate), NÃO filter, então
   continuam girando normalmente.
   ------------------------------------------------------------ */
[data-perf="lite"] [class*="blur-"],
[data-perf="lite"] [class*="drop-shadow-"],
[data-perf="lite"] .liquid-glass,
[data-perf="lite"] .liquid-glass-premium,
[data-perf="lite"] .auth-card,
[data-perf="lite"] .glass,
[data-perf="lite"] .glass-panel,
[data-perf="lite"] .glass-studio,
[data-perf="lite"] .liquid-blob,
[data-perf="lite"] .liquid-container {
  filter: none !important;
}

/* Painéis "glass" perdem o blur acima — sem ele, fundo translúcido
   deixa o conteúdo de trás vazar e fica ilegível. Tornar ~opaco. */
[data-perf="lite"] .glass,
[data-perf="lite"] .glass-panel,
[data-perf="lite"] .glass-studio {
  background-color: color-mix(in oklch, var(--mb-base-100) 96%, transparent) !important;
}

/* Chrome sempre visível (sidebar + header navbar): sólido, sem blur. */
[data-perf="lite"] aside#mainSidebar,
[data-perf="lite"] header.navbar {
  background-color: var(--mb-base-100) !important;
  background-image: none !important;
}

/* ------------------------------------------------------------
   3. ANIMAÇÕES CONTÍNUAS — congela o repaint infinito (gradient-xy,
   scan, pulse-slow, morph, orbit, float, glowShift, badgeShine...).
   Spinners de loading (transform) ficam de fora pra não congelar
   o feedback de "carregando".
   ------------------------------------------------------------ */
[data-perf="lite"] *:not(.animate-spin):not(.loading):not(.loading-spinner):not(.spinner):not([class*="spin"]),
[data-perf="lite"] *::before,
[data-perf="lite"] *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
}

/* ------------------------------------------------------------
   4. TRANSIÇÕES — quase instantâneas. Mantém feedback de clique/hover
   sem custo de tween em propriedades caras (box-shadow, filter, bg).
   ------------------------------------------------------------ */
[data-perf="lite"] * {
  transition-duration: 0.001ms !important;
}

/* ------------------------------------------------------------
   5. mix-blend-mode — força camada de compositing cara (ex.: canvas
   neural com mix-blend-screen). Normaliza o decorativo.
   ------------------------------------------------------------ */
[data-perf="lite"] [class*="mix-blend"] {
  mix-blend-mode: normal !important;
}

/* ------------------------------------------------------------
   6. Sombras gigantes (shadow-2xl/xl) — caras de pintar e re-pintar.
   Reduz pra uma sombra leve de elevação.
   ------------------------------------------------------------ */
[data-perf="lite"] .shadow-2xl,
[data-perf="lite"] .shadow-xl {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18) !important;
}

/* ------------------------------------------------------------
   7. scroll-behavior smooth — pode engasgar em CPU fraca. Auto.
   ------------------------------------------------------------ */
[data-perf="lite"] {
  scroll-behavior: auto !important;
}
