/* ═══════════════════════════════════════════════════════════════════════
   HALKY LITE — modo leve (efeitos visuais reduzidos), por usuário.

   Regra de ouro: o Lite muda APENAS apresentação — NUNCA remove conteúdo ou
   funcionalidade; tudo continua visível e clicável, só que estático.

   Auditoria dos efeitos agressivos do site (todos desligados aqui embaixo):
     1. Atmosfera viva global `.hk-ambient` (aurora/mesh/rays/bloom/waves/noise
        — gradientes animados + blur pesado no layout base).
     2. Camada FX da HOME `[data-halky-fx]` (parallax do mouse, campo de
        partículas em canvas, brilhos) — o JS (halky-fx.js) também não inicia
        os loops sob Lite; aqui garantimos o estado estático via CSS.
     3. Canvas decorativos: #energyCanvas (sidebar, shell.js) e
        #chatHeroParticles (hero do Chat) — loops não iniciam sob Lite (JS).
     4. `backdrop-filter`/blur do vidro (sidebar, header, cards, modais,
        drawers, painel de temas) — vira fundo sólido.
     5. Box-shadows grandes/glow (cards de módulo, botões primários, orbe,
        anéis de destaque, glow de navegação da sidebar).
     6. Animações contínuas de CSS (pulse/float/shimmer/spin decorativos,
        gradientes animados) e transições longas (view transitions, fades).
     7. Parallax/hover com transform + filter nos cards da HOME.

   Estados FUNCIONAIS (spinners de carregamento, progress bars, countdown do
   gravador) são preservados — indicar progresso não é decoração.
   ═══════════════════════════════════════════════════════════════════════ */

/* 1 ─ Atmosfera global: estática e discreta (não some — vira fundo plano). */
body.halky-lite .hk-ambient__aurora,
body.perf-lite .hk-ambient__aurora,
body.halky-lite .hk-ambient__mesh,
body.perf-lite .hk-ambient__mesh,
body.halky-lite .hk-ambient__rays,
body.perf-lite .hk-ambient__rays,
body.halky-lite .hk-ambient__bloom,
body.perf-lite .hk-ambient__bloom,
body.halky-lite .hk-ambient__waves,
body.perf-lite .hk-ambient__waves,
body.halky-lite .hk-ambient__noise ,
body.perf-lite .hk-ambient__noise {
    animation: none !important;
    transition: none !important;
    filter: none !important;
    opacity: 0.35;
}

/* 1b ─ No Lite as FAIXAS da atmosfera (aurora/raios/ondas) atrapalham mesmo
   estáticas (feedback do usuário) — a camada decorativa some por inteiro e o
   fundo vira a cor plana do tema. É decoração pura, nenhum conteúdo some. */
body.halky-lite .hk-ambient,
body.perf-lite .hk-ambient {
    display: none !important;
}

/* 2/3 ─ Canvas decorativos ficam em branco (os loops JS nem iniciam). */
body.halky-lite canvas[data-fx-particles],
body.perf-lite canvas[data-fx-particles],
body.halky-lite #energyCanvas,
body.perf-lite #energyCanvas,
body.halky-lite #chatHeroParticles ,
body.perf-lite #chatHeroParticles {
    opacity: 0 !important;
}

/* 2 ─ Parallax congelado: zera as vars que o CSS da FX layer consome. */
body.halky-lite [data-halky-fx] * ,
body.perf-lite [data-halky-fx] * {
    --fx-mx: 0 !important;
    --fx-my: 0 !important;
}

/* 4 ─ Vidro sem blur: qualquer backdrop-filter vira superfície sólida.
   (Seletor universal consciente: é uma regra de PINTURA, só se aplica sob
   .halky-lite; o custo de matching é pago uma vez, sem loops de estilo.) */
body.halky-lite *,
body.perf-lite *,
body.halky-lite *::before,
body.perf-lite *::before,
body.halky-lite *::after ,
body.perf-lite *::after {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* 6 ─ Animações contínuas e transições longas desligadas globalmente.
   Exceções funcionais logo abaixo. */
body.halky-lite *,
body.perf-lite *,
body.halky-lite *::before,
body.perf-lite *::before,
body.halky-lite *::after ,
body.perf-lite *::after {
    animation-duration: 0.001s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001s !important;
    scroll-behavior: auto !important;
}

/* Exceções FUNCIONAIS: spinners/indicadores de progresso continuam girando —
   são informação de estado, não decoração. */
body.halky-lite .spinner,
body.perf-lite .spinner,
body.halky-lite [class*="spinner"],
body.perf-lite [class*="spinner"],
body.halky-lite [class*="loading"] .dot,
body.perf-lite [class*="loading"] .dot,
body.halky-lite .typing-dots span,
body.perf-lite .typing-dots span,
body.halky-lite [role="progressbar"] ,
body.perf-lite [role="progressbar"] {
    /* Duração EXPLÍCITA (não `revert`): com !important dos dois lados, revert
       recua a origem inteira do autor → 0s → spinner congelado. */
    animation-duration: 1s !important;
    animation-iteration-count: infinite !important;
}

/* 6b ─ Indicadores de "pensando/gerando resposta" continuam ANIMADOS no Lite
   (feedback do usuário: estático parece TRAVADO — ex.: cartão "Halky está
   analisando… / Consultando evidências"). Versão barata: só transform/opacity
   (compositor), sem blur/glow — as camadas decorativas em volta (halo, glow,
   pulse de fundo) seguem congeladas pelas regras acima. */
body.halky-lite .chat-analyzing__icon svg,
body.perf-lite .chat-analyzing__icon svg,
body.halky-lite .corr-proc__orb-ring,
body.perf-lite .corr-proc__orb-ring,
body.halky-lite .diag-analyzing__ring,
body.perf-lite .diag-analyzing__ring,
body.halky-lite .anam-gen__orb span,
body.perf-lite .anam-gen__orb span,
body.halky-lite .chat-stop__ring,
body.perf-lite .chat-stop__ring {
    animation-duration: 1.2s !important;
    animation-iteration-count: infinite !important;
    animation-timing-function: linear !important;
}
body.halky-lite .chat-typing span,
body.perf-lite .chat-typing span,
body.halky-lite .chat-caret,
body.perf-lite .chat-caret,
body.halky-lite .notes-boot__orb,
body.perf-lite .notes-boot__orb {
    animation-duration: 1.2s !important;
    animation-iteration-count: infinite !important;
}
/* Barra do cartão "Halky está analisando…": a animação original (chatProg)
   mexe em left/width (layout). No Lite vira um deslize transform-only. */
body.halky-lite .chat-analyzing__fill,
body.perf-lite .chat-analyzing__fill {
    left: 0 !important;
    width: 40% !important;
    animation: hkLiteProg 1.4s linear infinite !important;
}
@keyframes hkLiteProg {
    from { transform: translateX(-110%); }
    to   { transform: translateX(260%); }
}

/* 5 ─ Glow/sombras grandes: sombra mínima utilitária no lugar. */
body.halky-lite .card,
body.perf-lite .card,
body.halky-lite .module-card,
body.perf-lite .module-card,
body.halky-lite .home-card,
body.perf-lite .home-card,
body.halky-lite .btn,
body.perf-lite .btn,
body.halky-lite .btn--primary,
body.perf-lite .btn--primary,
body.halky-lite .sidebar,
body.perf-lite .sidebar,
body.halky-lite .sidebar .nav-item,
body.perf-lite .sidebar .nav-item,
body.halky-lite .mentor__start-btn,
body.perf-lite .mentor__start-btn,
body.halky-lite .acc,
body.perf-lite .acc,
body.halky-lite .setting-row ,
body.perf-lite .setting-row {
    box-shadow: none !important;
    text-shadow: none !important;
}

/* 7 ─ Hover "vivo" dos cards: sem levitar/brilhar (segue clicável). */
body.halky-lite .card:hover,
body.perf-lite .card:hover,
body.halky-lite .module-card:hover,
body.perf-lite .module-card:hover,
body.halky-lite .home-card:hover,
body.perf-lite .home-card:hover,
body.halky-lite .btn:hover ,
body.perf-lite .btn:hover {
    transform: none !important;
    filter: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   DESEMPENHO ADAPTATIVO — camada do perfil BALANCED (motor automático).
   premium = tudo ligado (sem regras); optimized = body.perf-lite (acima).
   balanced: sem parallax, sem gradientes animados, blur/sombras reduzidos,
   partículas com densidade 0.45 (no JS). Nada é escondido.
   ═══════════════════════════════════════════════════════════════════════ */
html.perf-balanced .hk-ambient__aurora,
html.perf-balanced .hk-ambient__waves,
html.perf-balanced .hk-ambient__rays {
    animation: none !important;   /* gradientes animados OFF */
}
html.perf-balanced [data-halky-fx] * {
    --fx-mx: 0 !important;        /* parallax OFF */
    --fx-my: 0 !important;
}
/* escala de duração 0.8 aproximada nas transições longas do shell */
html.perf-balanced { --page-transition: 120ms; }

/* balanced — blur/glow a meia intensidade + nível de sombra "reduced".
   (A atmosfera global fica mais discreta; sombras grandes viram utilitárias;
   nada é escondido.) */
html.perf-balanced .hk-ambient { opacity: 0.55; }
html.perf-balanced .card,
html.perf-balanced .module-card,
html.perf-balanced .home-card,
html.perf-balanced .btn--primary,
html.perf-balanced .sidebar .nav-item {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28) !important;
}
