/* ════════════════════════════════════════════════════════════════
   CREATIVE CORE · GPU OPTIMIZE  (carregar POR ÚLTIMO)
   Reduz custo de GPU/VRAM SEM mudar o visual percebido:
   • orbs: sem re-rasterização por frame (tira scale + hue-rotate no
     scroll que recalculava 3 blurs gigantes a cada frame; blur menor).
   • backdrop-filter do header: blur 24→14 (raio é o que pesa).
   • will-change permanente desnecessário → liberado (economiza VRAM).
   • .cc-idle (setado pelo gpuperf.js): congela só os WASHES ambientes
     quando ninguém interage — o frame parado fica idêntico.
   ════════════════════════════════════════════════════════════════ */

/* ── 1. GLOW ORBS — SEM filter: gradiente radial pré-difundido ───────
   Um círculo sólido com blur(96px) é visualmente idêntico a um
   radial-gradient — mas o blur re-rasteriza 3 texturas de 600px na
   GPU; o gradiente é pintado uma vez e só compõe. Custo ≈ zero. */
.glow-orb {
  filter: none !important;
  background: radial-gradient(circle,
    var(--orb-c) 0%, var(--orb-c) 26%, transparent 68%) !important;
  will-change: transform;
}
.orb-orange { --orb-c: var(--cor-secundaria, #FF3D14); }
.orb-cyan   { --orb-c: #3b82f6; }
.orb-purple { --orb-c: #8b5cf6; }
@keyframes orb-drift-a { from { transform: translate3d(-30px,-20px,0); } to { transform: translate3d(50px,40px,0); } }
@keyframes orb-drift-b { from { transform: translate3d(20px,30px,0); }  to { transform: translate3d(-40px,-30px,0); } }
@keyframes orb-drift-c { from { transform: translate3d(-20px,20px,0); } to { transform: translate3d(40px,-30px,0); } }

/* ── 2. HEADER — vidro: raio de blur menor (mesmo look, custo bem menor) ── */
body.dark-theme .nav-header {
  backdrop-filter: blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
}

/* ── 2b. FULL-SCREEN BLENDS → normal ────────────────────────────
   mix-blend-mode em camadas fixas de tela cheia recompõe a página
   inteira com op de blend a cada frame de scroll. multiply de preto
   ≈ preto translúcido (normal); overlay/screen em fundo quase-preto
   ≈ normal com opacidade ajustada. Visual preservado, custo cortado. */
.h26-crt { mix-blend-mode: normal !important; opacity: .42 !important; }
body.dark-theme .hud-canopy__nebula { mix-blend-mode: normal !important; }
body.dark-theme .hud-canopy__grid   { mix-blend-mode: normal !important; opacity: .34 !important; }

/* ── 3. will-change permanente que NÃO precisa (libera camadas de VRAM) ──
   Estes só animam uma vez (stagger na carga) ou no hover; manter a dica
   ativa prende camadas no compositor à toa. */
.nav-menu a { will-change: auto !important; }
.hero-word  { will-change: auto !important; }

/* ── 4. MODO OCIOSO (cc-idle) — congela APENAS washes ambientes ─────
   São drifts lentos (18–27s) a <7% de opacidade; congelar enquanto
   ninguém mexe é imperceptível e religa no 1º toque/scroll/mouse.
   NÃO inclui marquees, radares, telemetria nem HUD (UI "viva"). */
html.cc-idle .glow-orb,
html.cc-idle .hud-canopy__nebula,
html.cc-idle .hud-canopy__grid,
html.cc-idle .hero-grain,
html.cc-idle .h26-crt,
html.cc-idle .h26-crt::after,
html.cc-idle .h26-noise i,
html.cc-idle .h26-glitchband,
html.cc-idle .hero-bg__node,
html.cc-idle .hero-bg__scan,
html.cc-idle .hero-bg__glow,
html.cc-idle #cc-depth .ccd-neb,
html.cc-idle #cc-depth .ccd-stars i,
html.cc-idle #cc-depth .ccd-dust,
html.cc-idle #cc-depth .ccd-shape,
html.cc-idle #cc-depth-fg .ccd-fg-motes i,
html.cc-idle #cc-depth-fg .ccd-fg-glow,
html.cc-idle .cc-ship .ship-scanline,
html.cc-idle .cc-ship .ship-radar__sweep,
html.cc-idle .cc-ship .ship-radar__blip,
html.cc-idle .cc-ship .ship-status .sdot,
html.cc-idle .ascend__beam,
html.cc-idle .ascend__particles {
  animation-play-state: paused !important;
}

/* ── 5. DEPTH FIELD — forçar camadas compostas sem filter pesado ─── */
#cc-depth-fg { will-change: auto !important; }

/* ── 6. HERO NODES — evitar camadas de compositor desnecessárias ─── */
.hero-bg__node { will-change: auto !important; }
