/* ==================================================================
   🦾 SKIN HACKER — MODO TERMINAL ASCII (A FENDA) — V4.0 CONSOLIDADO
   ==================================================================
   Refactor completo (Fagulha — 2026-10-16)

   HISTÓRICO:
   - V1.0 (~1100 linhas): override monolítico com body.hacker-mode
   - V2.0 (~570 linhas): refactor pra [data-theme="hacker"] + variáveis
   - V3.0 (~1300 linhas): consolidação das Fases 4.1-4.11 (com bagunça)
   - V4.0 (atual): esmagrecido — 25 blocos duplicados unificados

   FILOSOFIA:
   - Cores/fundos/textos vêm de [data-theme="hacker"] (root.css)
   - Este arquivo só carrega EFEITOS que não cabem em variável
   - Seletor: [data-theme="hacker"] (atributo no <html>, via JS)

   ESTRUTURA:
     1. Fundação (cursor, seleção, radius)
     2. Scrollbar + esconder elementos
     3. CRT (scanline SVG + flicker)
     4. Molduras ASCII + frames por categoria
     5. Navegação (navbar, menu, dropdowns)
     6. Formulários (inputs, buttons, textarea)
     7. Mídia (avatares, imagens, ícones)
     8. Meta (badges, reações, contadores)
     9. Comentários + 5 vibes harmonizadas
    10. Componentes (toolbar, login, perfil, footer, cards)
    11. Tipografia + typing + performance swipe
    12. Boot screen

   OTIMIZAÇÕES:
   - Scanline via SVG data-URI (GPU-friendly, sem repaint)
   - translate3d + will-change (composição forçada)
   - Glass fake via SVG pattern (0 FPS vs backdrop-filter)
   - Morcegos do vibe-dark: área reduzida (35vh) + 30s
   - Escala de verdes pra legibilidade prolongada

   Legado da Sereia, da Maré, do Marreteiro, da Corrente, do Farol.
   "O código que você vê aqui não é só sintaxe."
   ================================================================== */


/* ==================================================================
   VARIÁVEIS LOCAIS DO SKIN HACKER
   ================================================================== */

:root[data-theme="hacker"] {
    /* Escala de verdes */
    --hacker-green-soft: #66ff66;      /* "acolchoado" — datas, meta */
    --hacker-green-data: #4dc44d;      /* números, contadores */
    --hacker-green-pastel: #c0ffc0;    /* texto longo */
    --hacker-cyan: #66ffdd;            /* toggles, glass accent */

    /* Cores de estado */
    --hacker-warn: #ffcc00;            /* avisos/Talvez */
    --hacker-error: #ff4141;           /* erro/Não vou */
    --hacker-info: #00ffcc;            /* info técnica */

    /* Boot screen */
    --boot-duration: 3.5s;
}


/* ==================================================================
   1. FUNDAÇÃO
   ================================================================== */

[data-theme="hacker"] body {
    font-family: var(--hacker-font);
    cursor: crosshair;
    -webkit-font-smoothing: antialiased;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: background 0.3s ease, color 0.3s ease;
    scrollbar-width: thin;
    scrollbar-color: var(--hacker-bg) var(--hacker-green);
}

[data-theme="hacker"] body p,
[data-theme="hacker"] body .comentario-texto,
[data-theme="hacker"] body input,
[data-theme="hacker"] body textarea,
[data-theme="hacker"] body [contenteditable="true"],
[data-theme="hacker"] body .bio-texto,
[data-theme="hacker"] body .post-content {
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

/* Reset só em pseudo-elementos — mantém radius dos elementos reais */
[data-theme="hacker"] *::before,
[data-theme="hacker"] *::after {
    border-radius: 0;
}


/* ==================================================================
   2. SCROLLBAR + ESCONDER ELEMENTOS
   ================================================================== */

[data-theme="hacker"] body::-webkit-scrollbar { width: thin; }
[data-theme="hacker"] body::-webkit-scrollbar-track { background: var(--hacker-bg); }
[data-theme="hacker"] body::-webkit-scrollbar-thumb {
    background: var(--hacker-green);
    border-radius: 0;
}

[data-theme="hacker"] .bubbles-container,
[data-theme="hacker"] .bolha {
    display: none;
}

[data-theme="hacker"] .fixed-input {
    border: none;
    background: transparent;
    background-image: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}


/* ==================================================================
   3. CRT — SCANLINE (SVG data-URI, GPU-friendly) + FLICKER
   ================================================================== */

[data-theme="hacker"] body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Crect width='4' height='2' fill='%23000000' fill-opacity='0.15'/%3E%3Crect y='2' width='4' height='1' fill='%23ff0000' fill-opacity='0.02'/%3E%3Crect y='3' width='4' height='1' fill='%23000000' fill-opacity='0.02'/%3E%3C/svg%3E");
    background-size: 4px 4px;
    background-repeat: repeat;

    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

[data-theme="hacker"] body::after {
    content: " ";
    position: fixed;
    inset: 0;
    z-index: 9998;
    pointer-events: none;
    background: oklch(0.861283 0.293072 142.4953 / 3%);
    transform: translate3d(0, 0, 0);
    will-change: opacity;
    animation: flicker 0.15s infinite ease;
}

@keyframes flicker {
    0% { opacity: 0.92; }
    5% { opacity: 0.95; }
    10% { opacity: 0.98; }
    100% { opacity: 1; }
}

/* Desativa scanlines na Central (fundo claro) */
[data-theme="hacker"] body.central-page::before,
[data-theme="hacker"]:has(.central-usuario-container) body::before,
[data-theme="hacker"]:has(.central-conteudo) body::before {
    display: none;
}

/* Desativa CRT durante swipe/tinder (performance) */
[data-theme="hacker"] body.modo-swipe-ativo::before,
[data-theme="hacker"] body.modo-swipe-ativo::after,
[data-theme="hacker"] body.modo-tinder-ativo::before,
[data-theme="hacker"] body.modo-tinder-ativo::after {
    display: none;
}


/* ==================================================================
   4. MOLDURAS ASCII + FRAMES POR CATEGORIA
   ================================================================== */

[data-theme="hacker"] .container-principal,
[data-theme="hacker"] .formulario-caixa,
[data-theme="hacker"] .sessao-publicar,
[data-theme="hacker"] .main-perfil-container,
[data-theme="hacker"] .fenda-modal-content {
    position: relative;
    border: 2px double var(--hacker-green);
    box-shadow: none;
}

[data-theme="hacker"] .spotted-card {
    border: none;
    border-top: 2px double var(--hacker-green);
    border-bottom: 2px double var(--hacker-green);
    border-right: 2px double var(--glass-bg);
    border-left: 2px double var(--glass-bg);
    box-shadow: none;
    border-radius: 10px;
}

[data-theme="hacker"] .feed-usuario-fenda .spotted-card {
    border-top: 2px double var(--aura-user);
    border-bottom: 2px double var(--aura-user);
}

[data-theme="hacker"] .spotted-card:hover {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: 0 0 6px 0 var(--hacker-green);
}

/* Moldura superior padrão */
[data-theme="hacker"] .spotted-card::before,
[data-theme="hacker"] .fenda-glass-container::before,
[data-theme="hacker"] .main-perfil-container::before,
[data-theme="hacker"] .sessao-publicar::before {
    content: "+==================================================================+==============================================================+";
    position: absolute;
    top: -22px;
    left: -2px;
    right: -2px;
    color: var(--hacker-green);
    font-family: monospace;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    z-index: 10;
}

/* Frames por categoria */
[data-theme="hacker"] .spotted-card.anonimo::before {
    content: "+== [ USER_NOT_FOUND ] ==================================================================================================+";
    color: #ffffff;
}
[data-theme="hacker"] .spotted-card.perdidos::before {
    content: "+== [ PROTOCOLO: GET_$ITEM ] ================================================================================================+";
    color: #fcf809;
}
[data-theme="hacker"] .spotted-card.tenho-ranco::before {
    content: "+== [ RuntimeError: High_Stress ] ===========================================================================================+";
    color: #f33232;
}
[data-theme="hacker"] .spotted-card.elogio::before {
    content: "+== [ LOVE_IS_IN_THE_AIR <3 ] ==================================================================================================+";
    color: #f85caa;
}
[data-theme="hacker"] .spotted-card.games::before {
    content: "+== [ Xinput_DInput DETECTADO ] ==================================================================================================+";
    color: #00ffff;
}
[data-theme="hacker"] .spotted-card.academico::before {
    content: "+== [ ARQUIVO_CIENTÍFICO ] ==================================================================================================+";
    color: #b00bda;
}
[data-theme="hacker"] .spotted-card.caronas::before {
    content: "+== [ SELECT * FROM unifev WHERE loc='houseofcaralho'] ========================================================================+";
    color: #969dc4;
}
[data-theme="hacker"] .spotted-card.esportes::before {
    content: "+== [ JOIN_FOR_FUN ] ==========================================================================================================+";
    color: #128a0ec2;
}
[data-theme="hacker"] .spotted-card.comunidade::before {
    content: "+== [ COMMUNITY_LINK ] ======================================================================================================+";
    color: #ffffffbe;
}
[data-theme="hacker"] .spotted-card.acaba-pelo-amor-de-deus::before {
    content: "+== [ WARNING: OVERFLOW_EMOTIONAL ] ================================================================================+";
    color: #f78605;
}
[data-theme="hacker"] .spotted-card.desapego::before {
    content: "+== [ MARKETPLACE_DESAPEGO ] ================================================================================================+";
    color: #09c0fd;
}

/* Esconde ASCII frames durante swipe (performance) */
[data-theme="hacker"] body.modo-tinder-ativo .bt-card::before,
[data-theme="hacker"] body.modo-swipe-ativo .spotted-card::before {
    display: none;
}


/* ==================================================================
   5. NAVEGAÇÃO (NAVBAR, MENU, DROPDOWNS)
   ================================================================== */

[data-theme="hacker"] .navbar,
[data-theme="hacker"] .menu,
[data-theme="hacker"] .sidebar-fenda,
[data-theme="hacker"] header {
    background-color: var(--hacker-bg);
    background-image: linear-gradient(rgba(0, 0, 0, 0) 50%, rgba(0, 255, 0, 0.05) 50%);
    background-size: 100% 2px;
    font-family: monospace;
}

[data-theme="hacker"] header::before {
    background: var(--hacker-bg);
    color: var(--hacker-green);
    font-family: monospace;
    font-weight: bold;
    white-space: nowrap;
    filter: none;
}

[data-theme="hacker"] .menu li a,
[data-theme="hacker"] .navbar-nav .nav-link,
[data-theme="hacker"] .dropdown-item,
[data-theme="hacker"] .item-menu,
[data-theme="hacker"] .btn-header,
[data-theme="hacker"] .submenu li a {
    color: var(--hacker-green);
    text-shadow: 0 0 6px var(--hacker-green);
    text-transform: uppercase;
    transition: all 0.1s steps(2);
    position: relative;
    background: transparent;
}

[data-theme="hacker"] .navbar-nav .nav-link:hover,
[data-theme="hacker"] .menu li a:hover,
[data-theme="hacker"] .dropdown-item:hover,
[data-theme="hacker"] .item-menu:hover,
[data-theme="hacker"] .lista-conselhos li:hover,
[data-theme="hacker"] .btn-zarpar:hover,
[data-theme="hacker"] .btn-ficar-terra:hover,
[data-theme="hacker"] .bloco-diretrizes li:hover,
[data-theme="hacker"] .submenu li a:hover {
    background-color: var(--hacker-hover-bg);
    color: var(--hacker-hover-text);
    padding-left: 25px;
    box-shadow: 0 0 10px var(--hacker-green);
    border-radius: 0;
    text-shadow: none;
    cursor: crosshair;
}

[data-theme="hacker"] .navbar-nav .nav-link:hover::before,
[data-theme="hacker"] .menu li a:hover::before,
[data-theme="hacker"] .lista-conselhos li:hover::before,
[data-theme="hacker"] .btn-zarpar::before,
[data-theme="hacker"] .btn-ficar-terra::before,
[data-theme="hacker"] .dropdown-item:hover::before {
    content: ">";
    position: absolute;
    font-size: 1rem;
    font-size: clamp(0.92rem, 1.65vw, 1.2rem);
    left: 10px;
    color: var(--hacker-hover-text);
    font-weight: bold;
    animation: blink-cursor 0.5s infinite;
}

[data-theme="hacker"] .dropdown-menu,
[data-theme="hacker"] .submenu {
    border: 2px solid var(--hacker-green);
    background: var(--hacker-bg);
    padding: 0;
}


/* ==================================================================
   6. FORMULÁRIOS (INPUTS, BOTÕES, TEXTAREA)
   ================================================================== */

[data-theme="hacker"] input,
[data-theme="hacker"] textarea,
[data-theme="hacker"] select,
[data-theme="hacker"] .config-item,
[data-theme="hacker"] .fenda-input,
[data-theme="hacker"] .textarea-fenda {
    color: var(--hacker-green);
    caret-color: var(--hacker-green);
    font-family: var(--hacker-font);
}

[data-theme="hacker"] .textarea-container {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
}

[data-theme="hacker"] .resposta-indicador {
    border-color: var(--hacker-green);
    background: var(--hacker-bg);
}

[data-theme="hacker"] .comentario-menu-toggle,
[data-theme="hacker"] .comentario-ellipsis-menu {
    border: 1px double var(--hacker-green);
    background: var(--hacker-bg);
    color: var(--hacker-green);
    box-shadow: 0 0 8px rgba(0, 255, 65, 0.32);
}

[data-theme="hacker"] .comentario-menu-item {
    color: var(--hacker-green);
}

[data-theme="hacker"] .comentario-menu-item:hover,
[data-theme="hacker"] .comentario-menu-item:focus-visible {
    background: rgba(0, 255, 13, 0.31);
    transition: background 0.2s ease;
}

[data-theme="hacker"] .textarea-container:focus-within {
    outline: none;
    animation: blink-cursor-input 1s step-end infinite;
}

@keyframes blink-cursor-input {
    0%, 100% { box-shadow: 0 0 0 2px var(--hacker-green); }
    50% { box-shadow: 0 0 0 1px transparent; }
}


/* --- BOTÕES (inversão de cor + seta) --- */

[data-theme="hacker"] .btn,
[data-theme="hacker"] .fenda-btn-glow,
[data-theme="hacker"] .btn-fenda-padrao,
[data-theme="hacker"] .btn-responder-bolha,
[data-theme="hacker"] .btn-sair-fenda,
[data-theme="hacker"] .btn-seguir-fenda,
[data-theme="hacker"] #btn-load-more,
[data-theme="hacker"] .btn-lancar,
[data-theme="hacker"] .btn-editar-atalho,
[data-theme="hacker"] .btn-finalizar-fenda,
[data-theme="hacker"] .login-btn,
[data-theme="hacker"] .btn-salvar-perfil,
[data-theme="hacker"] .btn-ficar-terra,
[data-theme="hacker"] #btn-menu-hamburguer,
[data-theme="hacker"] .btn-zarpar,
[data-theme="hacker"] .filtro-btn,
[data-theme="hacker"] .link-fofoca {
    background: var(--hacker-bg);
    color: var(--hacker-green);
    border: 1px double var(--hacker-green);
    font-family: monospace;
    text-transform: uppercase;
    position: relative;
    transition: none;
    cursor: crosshair;
    overflow: visible;
    letter-spacing: 1px;
    text-decoration: none;
}

[data-theme="hacker"] #btn-menu-hamburguer:hover {
    background: rgba(0, 255, 0, 0.082);
    color: oklch(89.872% 0.15893 184.356);
}

[data-theme="hacker"] .btn-enviar-chat,
[data-theme="hacker"] .btn-attach-gaveta {
    background: var(--hacker-bg);
    color: var(--hacker-green);
    border: 1px double var(--hacker-green);
    font-family: monospace;
    text-transform: uppercase;
    position: relative;
    transition: none;
    cursor: crosshair;
}

[data-theme="hacker"] .btn-enviar-chat i:hover,
[data-theme="hacker"] .btn-attach-gaveta i:hover {
    color: var(--hacker-hover-text);
}

[data-theme="hacker"] .btn-attach-gaveta:hover {
    background: var(--hacker-green);
}

[data-theme="hacker"] .perdidos-item .link-fofoca:hover,
[data-theme="hacker"] .btn-lancar:hover,
[data-theme="hacker"] .btn-editar-atalho:hover,
[data-theme="hacker"] .btn-voltar-fenda:hover {
    color: var(--hacker-hover-text);
    background: var(--hacker-green);
}

[data-theme="hacker"] .btn-voltar-fenda {
    background: rgba(0, 255, 0, 0.078);
    color: oklch(0.9007 0.1535 195.8);
}

[data-theme="hacker"] .btn:hover,
[data-theme="hacker"] .fenda-btn-glow:hover,
[data-theme="hacker"] #btn-load-more:hover,
[data-theme="hacker"] .btn-sair-fenda:hover,
[data-theme="hacker"] .btn-zarpar:hover,
[data-theme="hacker"] .btn-enviar-fenda:hover,
[data-theme="hacker"] .btn-ficar-terra:hover,
[data-theme="hacker"] .btn-finalizar-fenda:hover,
[data-theme="hacker"] .login-btn:hover {
    background-color: var(--hacker-hover-bg);
    color: var(--hacker-hover-text);
    box-shadow: 0 0 8px var(--hacker-green);
    padding-left: 25px;
}

[data-theme="hacker"] .btn::before,
[data-theme="hacker"] .fenda-btn-glow::before,
[data-theme="hacker"] #btn-load-more::before {
    content: ">";
    position: absolute;
    left: -10px;
    opacity: 0;
    color: var(--hacker-green);
    font-weight: bold;
    transition: all 0.2s ease;
}

[data-theme="hacker"] .btn:hover::before,
[data-theme="hacker"] .fenda-btn-glow:hover::before {
    opacity: 1;
    left: 8px;
    color: var(--hacker-hover-text);
    animation: blink-cursor 0.5s infinite;
}

[data-theme="hacker"] #btn-load-more::before {
    content: "[ ";
    left: auto;
    opacity: 1;
    position: relative;
}
[data-theme="hacker"] #btn-load-more::after {
    content: " ]";
}
[data-theme="hacker"] #btn-load-more[disabled]::after {
    content: " [ EOF_REACHED ]";
}


/* ==================================================================
   7. MÍDIA (AVATARES, IMAGENS, ÍCONES)
   ================================================================== */

[data-theme="hacker"] .foto-perfil,
[data-theme="hacker"] .comentario-avatar,
[data-theme="hacker"] .avatar-p,
[data-theme="hacker"] .avatar-busca,
[data-theme="hacker"] .img-comunidade-grande,
[data-theme="hacker"] .img-avatar-perfil,
[data-theme="hacker"] .capa-img,
[data-theme="hacker"] .insignia-atletica-link {
    filter: sepia(0.3) brightness(0.9) contrast(1) grayscale(0.2);
    transition: filter 0.2s ease-in-out, transform 0.2s ease-in-out;
}

[data-theme="hacker"] .foto-perfil:hover,
[data-theme="hacker"] .avatar-main:hover,
[data-theme="hacker"] .avatar-busca:hover,
[data-theme="hacker"] .comentario-avatar:hover,
[data-theme="hacker"] .capa-img:hover,
[data-theme="hacker"] .avatar-p:hover,
[data-theme="hacker"] .insignia-atletica-link:hover img {
    filter: sepia(0.1) brightness(1.06) contrast(1.05) grayscale(0) drop-shadow(0 0 8px var(--hacker-green));
}

[data-theme="hacker"] .spotted-card-img:hover {
    transform: none;
}

[data-theme="hacker"] .insignia-atletica-bottom:hover,
[data-theme="hacker"] .insignia-atletica-link:hover,
[data-theme="hacker"] .img-comunidade-grande:hover {
    object-fit: contain;
    color: var(--hacker-green);
    filter: brightness(1.1) drop-shadow(0 0 12px var(--hacker-green));
    border-style: none;
    background-image: linear-gradient(rgba(0, 0, 0, 0) 50%, rgba(0, 255, 0, 0.05) 50%);
    transform: scale(1.03);
}

[data-theme="hacker"] .img-comunidade-grande:hover,
[data-theme="hacker"] .insignia-atletica-link:hover {
    background: var(--hacker-green);
    filter: sepia(0.1) brightness(1.06) contrast(1.05) grayscale(0) drop-shadow(0 0 8px var(--hacker-green));
    transition: background 0.2s;
}

/* Ícones Font Awesome */
[data-theme="hacker"] i,
[data-theme="hacker"] .fa-solid,
[data-theme="hacker"] .fa-regular,
[data-theme="hacker"] [class*="fa-"],
[data-theme="hacker"] .fas,
[data-theme="hacker"] .spotted-card .user-info-post::after,
[data-theme="hacker"] .far,
[data-theme="hacker"] .fab {
    color: var(--hacker-green);
    text-shadow: 0 0 2px var(--hacker-green);
    opacity: 1;
    visibility: visible;
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    animation: flicker 4s infinite ease-in;
}

[data-theme="hacker"] .btn:hover i,
[data-theme="hacker"] #toggle-chat-barra,
[data-theme="hacker"] .fenda-btn-glow:hover i,
[data-theme="hacker"] .nav-link:hover i,
[data-theme="hacker"] .menu li a:hover i {
    color: var(--hacker-hover-text);
    text-shadow: none;
}


/* ==================================================================
   8. META (BADGES, REAÇÕES, CONTADORES, DATA)
   ================================================================== */

[data-theme="hacker"] .badge,
[data-theme="hacker"] .tag-categoria,
[data-theme="hacker"] .tag-link,
[data-theme="hacker"] .badge-presenca {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
    color: var(--hacker-green);
    padding: 5px 10px;
    text-transform: uppercase;
    font-family: monospace;
}

[data-theme="hacker"] .badge-perdido,
[data-theme="hacker"] .badge-achado {
    border: 1px solid var(--hacker-green);
    color: oklch(0.212 0.0356 144.19);
    text-transform: uppercase;
    font-family: monospace;
}

[data-theme="hacker"] .badge-alertas {
    background: var(--hacker-bg);
    color: var(--hacker-green);
    box-shadow: 0 0 8px var(--hacker-green);
}

/* Reações */
[data-theme="hacker"] .reacao-item {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
    color: var(--hacker-green);
    font-family: monospace;
}

[data-theme="hacker"] .reacao-item.voted {
    background: rgba(0, 255, 0, 0.2);
    border-color: var(--hacker-green);
    box-shadow: 0 0 8px var(--hacker-green);
}

[data-theme="hacker"] .reacoes-popup {
    border: 1px solid var(--hacker-green);
    box-shadow: 0 0 6px rgba(0, 255, 0, 0.5);
    background: repeating-linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.5) 0px,
        rgba(0, 0, 0, 0.5) 1px,
        transparent 1px,
        transparent 2px
    ), #031403;
    background-size: 100% 2px;
    display: flex;
    border-radius: 4px;
    gap: 4px;
}

[data-theme="hacker"] .reacoes-popup span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
}

[data-theme="hacker"] .reacoes-popup span:hover {
    filter: saturate(1.15) drop-shadow(0 0 2px var(--hacker-green));
    background: oklch(0.86644 0.294827 142.4953 / 69.8%);
}

[data-theme="hacker"] .char-counter {
    font-size: 0.95rem;
    color: var(--hacker-green);
}

/* Data / hora — verde-soft pra contraste */
[data-theme="hacker"] .comentario-data,
[data-theme="hacker"] .comentario-item.vibe-ads .comentario-data {
    color: var(--hacker-green-soft);
    text-shadow: 0 0 4px var(--hacker-green-soft);
    font-family: var(--hacker-font);
    font-weight: bold;
    opacity: 1;
}


/* ==================================================================
   9. COMENTÁRIOS + 5 VIBES HARMONIZADAS
   ================================================================== */

[data-theme="hacker"] .comentario-item,
[data-theme="hacker"] .comentario-item.comentario-filho {
    border: 1px solid var(--hacker-green);
    border-radius: 10px 10px 10px 2px;
}

[data-theme="hacker"] .comentario-item.meu-comentario {
    border-radius: 8px 8px 2px 8px;
}

[data-theme="hacker"] .comentario-autor {
    color: var(--hacker-green);
    text-shadow: 0 0 2px var(--hacker-green);
}

[data-theme="hacker"] .comentario-texto,
[data-theme="hacker"] .post-content,
[data-theme="hacker"] .bio-texto {
    font-family: monospace;
    color: var(--hacker-green-pastel);
    line-height: 1.5;
    text-shadow: 0 0 3px rgba(192, 255, 192, 0.4);
}

/* --- VIBE DARK: preto fosco puro --- */
[data-theme="hacker"] .comentario-item.vibe-dark {
    background: rgba(5, 10, 5, 0.92);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    color: var(--hacker-green);
}

[data-theme="hacker"] .comentario-item.vibe-dark .comentario-autor {
    color: var(--hacker-green);
    text-shadow: 0 0 5px var(--hacker-green);
}

/* --- VIBE LIGHT: cinza-esverdeado, borda tracejada --- */
[data-theme="hacker"] .comentario-item.vibe-light {
    background: rgba(30, 42, 30, 0.85);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border: 1px dashed rgba(120, 255, 150, 0.55);
    border-left: 3px solid var(--hacker-green-soft);
    color: var(--hacker-green-pastel);
    font-weight: normal;
}

[data-theme="hacker"] .comentario-item.vibe-light .comentario-autor {
    color: var(--hacker-green-soft);
    text-shadow: 0 0 4px var(--hacker-green-soft);
    font-weight: bold;
}

[data-theme="hacker"] .comentario-item.vibe-light .comentario-data {
    color: var(--hacker-green-soft);
    text-shadow: 0 0 3px var(--hacker-green-soft);
    opacity: 1;
}

[data-theme="hacker"] .comentario-item.vibe-light .comentario-texto {
    color: var(--hacker-green-pastel);
    text-shadow: 0 0 3px rgba(192, 255, 192, 0.4);
}

[data-theme="hacker"] .comentario-item.vibe-light .indicador-resposta {
    background: rgba(0, 255, 65, 0.15);
    border-left-color: var(--hacker-green);
    color: var(--hacker-green);
}

/* --- VIBE GLASS: SVG pattern diagonal (fake glass, 0 FPS) --- */
[data-theme="hacker"] .comentario-item.vibe-glass {
    background: rgba(0, 35, 40, 0.55);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M-1 1l2-2M0 8l8-8M7 9l2-2' stroke='%2300dcb4' stroke-width='0.5' stroke-opacity='0.15' fill='none'/%3E%3C/svg%3E");
    background-size: 10px 10px;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    border: 1px solid rgba(0, 220, 180, 0.55);
    border-radius: 12px 12px 12px 3px;
    color: var(--hacker-green-pastel);
}

[data-theme="hacker"] .comentario-item.vibe-glass .comentario-autor {
    color: #66ffdd;
    text-shadow: 0 0 4px rgba(0, 220, 180, 0.6);
}

/* --- VIBE NEON: glitch pulsante --- */
[data-theme="hacker"] .comentario-item.vibe-neon {
    background: var(--hacker-bg);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    margin-bottom: 15px;
    position: relative;
    animation: hacker-glitch 4s infinite alternate;
}

[data-theme="hacker"] .comentario-item.vibe-neon .comentario-data,
[data-theme="hacker"] .comentario-item.vibe-neon .comentario-autor {
    color: var(--hacker-green);
    font-weight: bold;
    text-shadow: 0 0 4px var(--hacker-green);
    opacity: 1;
}

@keyframes hacker-glitch {
    0%, 100% {
        box-shadow: 0 0 5px var(--hacker-green), 0 0 10px rgba(0, 255, 0, 0.3);
        border-left-color: var(--hacker-green);
    }
    10%, 30%, 50%, 70%, 90% {
        box-shadow: 0 0 15px var(--hacker-green), 0 0 25px rgba(0, 255, 0, 0.5);
        border-left-color: var(--hacker-green);
    }
    20%, 40%, 60%, 80% {
        box-shadow: 0 0 2px var(--hacker-green), 0 0 5px rgba(0, 255, 0, 0.1);
        border-left-color: rgba(0, 255, 0, 0.5);
    }
}

/* --- VIBE ADS: hexágonos --- */
[data-theme="hacker"] .comentario-item.vibe-ads {
    background-color: var(--hacker-bg);
    box-shadow: 0 0 8px rgba(0, 255, 65, 0.3);
    animation: pulsar-luz 3s infinite ease-in-out;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 60 60'%3E%3Cpath d='M30 0l25.98 15v30L30 60 4.02 45V15z' fill='none' stroke='%2300ff41' stroke-width='1.1' stroke-opacity='0.20'/%3E%3C/svg%3E");
    background-size: 30px 30px;
}

[data-theme="hacker"] .comentario-item.vibe-ads .comentario-texto {
    color: var(--hacker-green);
    text-shadow: 0 0 2px var(--hacker-green);
    font-family: var(--hacker-font);
}

/* --- COMENTÁRIO DELETADO (contraste garantido) --- */
[data-theme="hacker"] .comentario-item.comentario-deletado,
[data-theme="hacker"] .comentario-item.comentario-deletado.vibe-light,
[data-theme="hacker"] .comentario-item.comentario-deletado.vibe-ads,
[data-theme="hacker"] .comentario-item.comentario-deletado.vibe-dark,
[data-theme="hacker"] .comentario-item.comentario-deletado.vibe-glass,
[data-theme="hacker"] .comentario-item.comentario-deletado.vibe-neon {
    background: rgba(30, 30, 30, 0.7);
    border: 1px dashed var(--hacker-green);
    border-left: 3px solid var(--hacker-green);
    border-right: none;
    color: var(--hacker-green);
    opacity: 0.85;
}

[data-theme="hacker"] .comentario-deletado-msg,
[data-theme="hacker"] .comentario-deletado-msg i {
    color: var(--hacker-green);
    text-shadow: 0 0 4px var(--hacker-green);
    font-family: var(--hacker-font);
    font-weight: bold;
    opacity: 1;
    background-color: transparent;
    box-shadow: none;
}

/* --- HIGHLIGHT (comentário destacado) --- */
@keyframes hacker-highlight {
    0% {
        background-color: rgba(0, 255, 255, 0.897);
        box-shadow: 0 0 18px rgba(0, 255, 65, 0.3);
        border-left: 2px solid var(--hacker-green);
    }
    40% {
        background-color: rgba(0, 247, 255, 0.2);
        box-shadow: 0 0 35px rgba(0, 255, 65, 0.6);
        border-left: 4px solid var(--hacker-green);
    }
    100% {
        background-color: transparent;
        box-shadow: none;
        border-left: 3px solid var(--hacker-green);
    }
}

[data-theme="hacker"] .comentario-item.comentario-highlight {
    animation: hacker-highlight 6s ease-out forwards;
    border-radius: 8px;
    border-left: 3px solid var(--hacker-green);
}

/* Fallback: reduced-motion perde blur */
@media (prefers-reduced-motion: reduce) {
    [data-theme="hacker"] .comentario-item.vibe-glass,
    [data-theme="hacker"] .spotted-card.vibe-glass,
    [data-theme="hacker"] .main-perfil-container-publico.vibe-glass {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}


/* ==================================================================
   10. COMPONENTES (TOOLBAR, LOGIN, PERFIL, FOOTER, CARDS)
   ================================================================== */

/* --- TOOLBAR LATERAL --- */
[data-theme="hacker"] #fenda-toolbar {
    background: #1b2916ad;
    border: 1px solid var(--hacker-green);
    color: var(--hacker-green);
    font-family: monospace;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    clip-path: none;
    background-image: none;
}

[data-theme="hacker"] .btn-notif-choice {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
    color: var(--hacker-green);
}

[data-theme="hacker"] .btn-notif-choice.active {
    background: var(--hacker-green);
    color: var(--hacker-hover-text);
}

/* --- LOGIN / CADASTRO --- */
[data-theme="hacker"] .container-cadastro-fenda,
[data-theme="hacker"] .fenda-glass-container,
[data-theme="hacker"] form[action="confirma-login.php"] .container {
    background: rgba(0, 0, 0, 0.8);
    border: 1px solid var(--hacker-green);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

[data-theme="hacker"] .fenda-reg-box input {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
    color: var(--hacker-green);
}

[data-theme="hacker"] .fenda-reg-box i {
    color: var(--hacker-green);
}

/* --- PERFIL PÚBLICO --- */
[data-theme="hacker"] .stats-perfil span {
    color: var(--hacker-green);
}

[data-theme="hacker"] .btn-seguir-fenda {
    background: rgba(0, 255, 0, 0.1);
    border-color: var(--hacker-green);
    color: var(--hacker-green);
}

/* Container do perfil — cor base */
[data-theme="hacker"] .main-perfil-container-publico.vibe-dark,
[data-theme="hacker"] .main-perfil-container-publico.vibe-neon,
[data-theme="hacker"] .main-perfil-container-publico.vibe-ads {
    background: var(--hacker-bg);
    background-image: none;
    border-top: 4px solid var(--hacker-green);
    color: var(--hacker-green);
}

/* Container do perfil — vibe-light */
[data-theme="hacker"] .main-perfil-container-publico.vibe-light {
    background: rgba(25, 35, 25, 0.92);
    background-image: none;
    border-top: 4px solid var(--hacker-green-soft);
    border-left: 1px dashed rgba(120, 255, 150, 0.3);
    border-right: 1px dashed rgba(120, 255, 150, 0.3);
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-light h3,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light p,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .nome-publico,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .stats-perfil span,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .bio-texto {
    color: var(--hacker-green-pastel);
    text-shadow: 0 0 3px rgba(192, 255, 192, 0.3);
}

/* Container do perfil — vibe-glass */
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass {
    background: rgba(0, 35, 40, 0.35);
    background-image: none;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    border-top: 4px solid rgba(0, 220, 180, 0.7);
    border-left: 1px solid rgba(0, 220, 180, 0.3);
    border-right: 1px solid rgba(0, 220, 180, 0.3);
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-glass h3,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass p,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .nome-publico,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .stats-perfil span,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .bio-texto {
    color: #c0ffef;
    text-shadow: 0 0 3px rgba(0, 220, 180, 0.4);
}

/* Container do perfil — vibe-dark com morcegos */
[data-theme="hacker"] .main-perfil-container-publico.vibe-dark {
    position: relative;
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-dark .nome-publico {
    color: var(--hacker-green);
    text-shadow: 0 0 8px var(--hacker-green);
    font-family: var(--hacker-font);
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-dark::after {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 50vh;
    z-index: 0;
    pointer-events: none;
    opacity: 0.2;
    background-color: var(--hacker-green);

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M362.005 149.115s-7 55.77-79 83.36v-24.69c-2.76-1-4.63 7.88-7.26 9.15h-39.49c-2.63-1.27-4.5-10.11-7.26-9.15v24.69c-72-27.59-79-83.36-79-83.36-60.71 67.68-121.41 80-121.41 80 102.53-16.11 101.36 44.89 101.36 44.89 69.71-11.91 65.64 36.31 65.64 36.31 60.63-6.9 60.41 52.57 60.41 52.57s-.22-59.47 60.41-52.57c0 0-4.07-48.22 65.64-36.31 0 0-1.16-61 101.37-44.88.02.01-60.69-12.33-121.41-80.01z' fill='%23ffffff'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M362.005 149.115s-7 55.77-79 83.36v-24.69c-2.76-1-4.63 7.88-7.26 9.15h-39.49c-2.63-1.27-4.5-10.11-7.26-9.15v24.69c-72-27.59-79-83.36-79-83.36-60.71 67.68-121.41 80-121.41 80 102.53-16.11 101.36 44.89 101.36 44.89 69.71-11.91 65.64 36.31 65.64 36.31 60.63-6.9 60.41 52.57 60.41 52.57s-.22-59.47 60.41-52.57c0 0-4.07-48.22 65.64-36.31 0 0-1.16-61 101.37-44.88.02.01-60.69-12.33-121.41-80.01z' fill='%23ffffff'/%3E%3C/svg%3E");

    -webkit-mask-size: 120px 120px;
    mask-size: 120px 120px;
    -webkit-mask-repeat: repeat;
    mask-repeat: repeat;

    contain: strict;
    will-change: mask-position;
    animation: revoadaDasSombras 30s linear infinite;
}

@keyframes revoadaDasSombras {
    0% { -webkit-mask-position: 0 0; mask-position: 0 0; }
    100% { -webkit-mask-position: 500px -500px; mask-position: 500px -500px; }
}

/* Hex do vibe-ads */
[data-theme="hacker"] .main-perfil-container-publico.vibe-ads .hex-item,
[data-theme="hacker"] .main-perfil-container-publico.vibe-ads.perfil-gold .hex-item {
    border-color: var(--hacker-green);
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-ads .hex-item.dynamic.active,
[data-theme="hacker"] .main-perfil-container-publico.vibe-ads.perfil-gold .hex-item.dynamic.active {
    background: rgba(0, 255, 64, 0.144);
    border-color: var(--hacker-green);
    box-shadow: 0 0 10px var(--hacker-green);
}

/* Spotted-card das 5 vibes no feed */
[data-theme="hacker"] .spotted-card.vibe-light,
[data-theme="hacker"] .spotted-card.vibe-dark,
[data-theme="hacker"] .spotted-card.vibe-glass,
[data-theme="hacker"] .spotted-card.vibe-neon,
[data-theme="hacker"] .spotted-card.vibe-ads {
    background: rgba(10, 22, 10, 0.88);
    color: var(--hacker-green-pastel);
    border: 1px solid var(--hacker-green);
}

[data-theme="hacker"] .spotted-card.vibe-light {
    background: rgba(30, 42, 30, 0.85);
    border-style: dashed;
    border-color: rgba(120, 255, 150, 0.55);
}

[data-theme="hacker"] .spotted-card.vibe-glass {
    background: rgba(0, 35, 40, 0.55);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M-1 1l2-2M0 8l8-8M7 9l2-2' stroke='%2300dcb4' stroke-width='0.5' stroke-opacity='0.15' fill='none'/%3E%3C/svg%3E");
    background-size: 8px 8px;
    border-color: rgba(0, 220, 180, 0.55);
}

[data-theme="hacker"] .spotted-card.vibe-dark {
    background: rgba(5, 10, 5, 0.92);
    border-color: var(--hacker-green);
}

[data-theme="hacker"] .spotted-card.vibe-neon {
    border-color: var(--hacker-green);
    box-shadow: 0 0 12px var(--hacker-green);
    animation: hacker-glitch 5s infinite alternate;
}



[data-theme="hacker"] .spotted-card[class*="vibe-"] .post-content,
[data-theme="hacker"] .spotted-card[class*="vibe-"] .user-anonimo,
[data-theme="hacker"] .spotted-card[class*="vibe-"] .user-mention {
    color: var(--hacker-green-pastel);
}

[data-theme="hacker"] .spotted-card[class*="vibe-"] .post-time,
[data-theme="hacker"] .spotted-card[class*="vibe-"] .category-tag {
    color: var(--hacker-green-soft);
}

/* Hover do vibe-light — cinza-fumaça sutil */
@supports (backdrop-filter: blur(2px)) {
    [data-theme="hacker"] body:not(.modo-swipe-ativo)
    .main-perfil-container-publico.vibe-light .spotted-card:hover {
        background: rgba(33, 33, 33, 0.4);
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
        border-color: rgba(0, 255, 65, 0.5);
    }
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-light .spotted-card:hover p,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .spotted-card:hover h3,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .spotted-card:hover .post-content,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .spotted-card:hover .user-info-post,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .spotted-card:hover .user-anonimo,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .spotted-card:hover .user-mention {
    color: var(--hacker-green-pastel);
}

/* Toggles do perfil → ciano */
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-toggle-social,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-toggle-depoimentos,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-escrever-depoimento,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-toggle-social,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-toggle-depoimentos,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-escrever-depoimento {
    color: var(--hacker-cyan);
    text-shadow: 0 0 3px rgba(0, 220, 180, 0.35);
    border: 1px solid rgba(0, 220, 180, 0.4);
    background: rgba(0, 220, 180, 0.08);
    font-family: var(--hacker-font);
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-toggle-social:hover,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-toggle-depoimentos:hover,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-escrever-depoimento:hover,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-toggle-social:hover,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-toggle-depoimentos:hover,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-escrever-depoimento:hover {
    color: #000;
    background: var(--hacker-cyan);
    border-color: var(--hacker-cyan);
    text-shadow: none;
    box-shadow: 0 0 10px rgba(0, 220, 180, 0.5);
}

[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-toggle-social i,
[data-theme="hacker"] .main-perfil-container-publico.vibe-light .btn-toggle-depoimentos i,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-toggle-social i,
[data-theme="hacker"] .main-perfil-container-publico.vibe-glass .btn-toggle-depoimentos i {
    color: inherit;
}

/* --- FOOTER (só o institucional) --- */
[data-theme="hacker"] footer.fixed-input::after {
    content: none;
    display: none;
}

[data-theme="hacker"] footer.footer-global::after {
    content: " [ SYSTEM_STABLE_V3.0 ] - SESSION_ACTIVE";
    display: block;
    text-align: center;
    font-size: 0.6rem;
    color: var(--hacker-green);
    opacity: 0.6;
}

/* --- CARD DE NOTIFICAÇÃO --- */
[data-theme="hacker"] .card-notificacao {
    border: 1px solid var(--hacker-green);
    border-left: 2px solid var(--hacker-green);
    border-right: 2px solid var(--hacker-green);
    color: var(--hacker-green);
}

[data-theme="hacker"] .card-notificacao:hover {
    background: var(--hacker-green);
    color: var(--hacker-hover-text);
}

[data-theme="hacker"] .notificacao-conteudo p,
[data-theme="hacker"] .notificacao-conteudo small {
    color: var(--hacker-green);
    font-weight: bold;
}

[data-theme="hacker"] .notificacao-conteudo :hover {
    color: var(--hacker-hover-text);
    visibility: visible;
    filter: contrast(1.05);
}

[data-theme="hacker"] .link-notificacao:hover,
[data-theme="hacker"] .card-notificacao:hover {
    background: var(--hacker-green);
    color: var(--hacker-hover-text);
}

/* --- CARD HABITANTE --- */
[data-theme="hacker"] .card-habitante {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
}

[data-theme="hacker"] .card-habitante:hover {
    border-color: var(--hacker-green);
    box-shadow: 0 0 15px var(--hacker-green);
}

/* --- TABELAS / PAGINAÇÃO --- */
[data-theme="hacker"] table,
[data-theme="hacker"] th,
[data-theme="hacker"] td {
    border: 1px solid var(--hacker-green);
    background: rgba(0, 20, 0, 0.5);
    color: var(--hacker-green);
}

[data-theme="hacker"] .pagination a,
[data-theme="hacker"] .pagination span {
    color: var(--hacker-green);
    border: 1px solid var(--hacker-green);
    background: var(--hacker-bg);
}

/* --- BOTÕES DE RESPOSTA --- */
[data-theme="hacker"] .btn-responder-bolha::before,
[data-theme="hacker"] .comentario-item.comentario-filho::before {
    background: var(--hacker-bg);
    border: none;
    color: var(--hacker-green);
}

[data-theme="hacker"] .btn-responder-bolha:hover {
    color: var(--hacker-hover-text);
    background: var(--hacker-green);
}

/* --- FAB --- */
[data-theme="hacker"] .fab-postar {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
    color: var(--hacker-green);
}
[data-theme="hacker"] .fab-postar:hover {
    background: var(--hacker-green);
    color: var(--hacker-hover-text);
}

/* --- FILTROS / MOTOSSERRA --- */
[data-theme="hacker"] .filtro-btn,
[data-theme="hacker"] .btn-abrir-filtros,
[data-theme="hacker"] #bt-btn-filtros,
[data-theme="hacker"] .btn-criar-comunidade,
[data-theme="hacker"] .bt-btn-principal,
[data-theme="hacker"] .btn-filtro,
[data-theme="hacker"] .btn-fenda-padrao,
[data-theme="hacker"] .btn-enviar-chat,
[data-theme="hacker"] body:not(.modo-swipe-ativo) #btn-abrir-filtros,
[data-theme="hacker"] body.modo-swipe-ativo #btn-abrir-filtros,
[data-theme="hacker"] .preview-botao {
    background: var(--hacker-bg);
    border: 1px solid var(--hacker-green);
    color: var(--hacker-green);
}

[data-theme="hacker"] .btn-filtro.ativo,
[data-theme="hacker"] #bt-btn-filtros:hover,
[data-theme="hacker"] .btn-abrir-filtros:hover,
[data-theme="hacker"] .btn-fenda-padrao:hover,
[data-theme="hacker"] .btn-criar-comunidade:hover,
[data-theme="hacker"] .btn-enviar-chat:hover,
[data-theme="hacker"] .bt-btn-principal:hover,
[data-theme="hacker"] .login-btn:hover,
[data-theme="hacker"] .btn-editar-atalho:hover,
[data-theme="hacker"] #btnRevelarConteudo.preview-botao:hover,
[data-theme="hacker"] .filtro-btn.ativo,
[data-theme="hacker"] .filtro-btn:hover {
    background: var(--hacker-green);
    color: var(--hacker-hover-text);
}

[data-theme="hacker"] .bt-btn-filtro::before {
    background: conic-gradient(from var(--angulo-balada),
            #00ff41, #00ffcc, #00ffff, #00ff41);
    filter: blur(5px);
}

[data-theme="hacker"] .bt-btn-filtro:hover {
    background: rgba(0, 255, 65, 0.08);
    border-color: var(--hacker-green);
    color: var(--hacker-green);
    text-shadow: 0 0 4px var(--hacker-green);
}

[data-theme="hacker"] .bt-btn-filtro:active {
    background: conic-gradient(from 45deg, var(--hacker-green), var(--hacker-green));
    text-shadow: 0 0 4px var(--hacker-green);
    color: var(--hacker-hover-text);
}

[data-theme="hacker"] .filtros-perdidos {
    margin-top: 30px;
}

/* --- CONSELHOS / DIRETRIZES --- */
[data-theme="hacker"] .bloco-conselhos,
[data-theme="hacker"] .lista-conselhos li {
    display: block;
    visibility: visible;
    clip-path: none;
    overflow: visible;
}

[data-theme="hacker"] .lista-conselhos li::before {
    content: "> ";
    color: var(--hacker-green);
    font-weight: bold;
}

[data-theme="hacker"] .lista-conselhos li:hover,
[data-theme="hacker"] .box-diretrizes li:hover {
    background: var(--hacker-green);
    color: var(--hacker-hover-text);
    transform: translateX(4px);
}

[data-theme="hacker"] .box-diretrizes li:hover,
[data-theme="hacker"] .box-diretrizes li:hover *,
[data-theme="hacker"] .lista-conselhos li:hover,
[data-theme="hacker"] .lista-conselhos li:hover *,
[data-theme="hacker"] .bloco-diretrizes li:hover,
[data-theme="hacker"] .bloco-diretrizes li:hover * {
    color: var(--hacker-hover-text);
    background: transparent;
}

/* --- MENSAGENS DE SISTEMA --- */
[data-theme="hacker"] .post-content.tem-mais:not(.expandido)::after {
    content: ' > [ CARREGAR_DADOS... ]';
    background: var(--hacker-bg);
    color: var(--hacker-green);
    font-weight: bold;
}

/* --- BOTÕES APROVAR / REJEITAR --- */
[data-theme="hacker"] .btn-aprovar-depoimento,
[data-theme="hacker"] .btn-aprovar-solicitacao,
[data-theme="hacker"] .btn-aprovar-solicitacao-central,
[data-theme="hacker"] .btn-rejeitar-depoimento,
[data-theme="hacker"] .btn-rejeitar-solicitacao,
[data-theme="hacker"] .btn-rejeitar-solicitacao-central {
    background: var(--hacker-bg);
    color: var(--hacker-green);
    border: 1px solid var(--hacker-green);
}

[data-theme="hacker"] .btn-aprovar-depoimento:hover,
[data-theme="hacker"] .btn-aprovar-solicitacao:hover,
[data-theme="hacker"] .btn-aprovar-solicitacao-central:hover,
[data-theme="hacker"] .btn-rejeitar-depoimento:hover,
[data-theme="hacker"] .btn-rejeitar-solicitacao:hover,
[data-theme="hacker"] .btn-rejeitar-solicitacao-central:hover {
    background: var(--hacker-hover-bg);
    color: var(--hacker-hover-text);
    border-color: var(--hacker-green);
    box-shadow: 0 0 8px var(--hacker-green);
}

[data-theme="hacker"] .btn-aprovar-depoimento:disabled,
[data-theme="hacker"] .btn-aprovar-solicitacao:disabled,
[data-theme="hacker"] .btn-aprovar-solicitacao-central:disabled,
[data-theme="hacker"] .btn-rejeitar-depoimento:disabled,
[data-theme="hacker"] .btn-rejeitar-solicitacao:disabled,
[data-theme="hacker"] .btn-rejeitar-solicitacao-central:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: none;
}

/* --- EVENTOS (Balanga Teras) — identidade preservada --- */

/* Talvez — AMARELO */
[data-theme="hacker"] .bt-barra-talvez .bt-barra-preenchimento,
[data-theme="hacker"] .bt-btn-resposta.ativo-talvez {
    background: var(--hacker-warn);
    color: #000;
    border: 1px solid var(--hacker-warn);
}
[data-theme="hacker"] .bt-btn-resposta.ativo-talvez:hover {
    background: #ffe066;
    color: #000;
}

/* Não vou — VERMELHO */
[data-theme="hacker"] .bt-barra-nao .bt-barra-preenchimento,
[data-theme="hacker"] .bt-btn-resposta.ativo-nao {
    background: var(--hacker-error);
    color: #fff;
    border: 1px solid var(--hacker-error);
}
[data-theme="hacker"] .bt-btn-resposta.ativo-nao:hover {
    background: #ff6666;
}

/* Vou — VERDE hacker */
[data-theme="hacker"] .bt-barra-vou .bt-barra-preenchimento,
[data-theme="hacker"] .bt-btn-resposta.ativo-vou {
    background: var(--hacker-green);
    color: var(--hacker-hover-text);
    border: 1px solid var(--hacker-green);
}
[data-theme="hacker"] .bt-btn-resposta.ativo-vou:hover {
    background: var(--hacker-green-soft);
}


/* ==================================================================
   11. TIPOGRAFIA + TYPING + PERFORMANCE SWIPE
   ================================================================== */

[data-theme="hacker"] h1,
[data-theme="hacker"] h2,
[data-theme="hacker"] .titulo-fofoca,
[data-theme="hacker"] .nome-publico,
[data-theme="hacker"] .conselho-header {
    font-family: monospace;
    color: var(--hacker-green);
    text-transform: uppercase;
    border-bottom: 1px dashed var(--hacker-green);
    display: inline-block;
    padding-right: 15px;
}

[data-theme="hacker"] h1::before { content: "root@fenda:~# "; opacity: 0.6; }
[data-theme="hacker"] h2::before { content: "./"; opacity: 0.6; }

@keyframes blink-cursor {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

[data-theme="hacker"] .typing::after,
[data-theme="hacker"] .hacker-cursor {
    content: "_";
    display: inline-block;
    width: 15px;
    background: var(--hacker-green);
    animation: blink-cursor 0.5s infinite;
}

[data-theme="hacker"] .bio-texto,
[data-theme="hacker"] .lista-conselhos,
[data-theme="hacker"] .article p {
    overflow: hidden;
    white-space: normal;
    display: block;
    animation: typing-global 4s steps(20, end) forwards;
}

@keyframes typing-global {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 0); }
}

[data-theme="hacker"] .navbar-nav .nav-link,
[data-theme="hacker"] .menu li a,
[data-theme="hacker"] .dropdown-menu a,
[data-theme="hacker"] .submenu li a,
[data-theme="hacker"] .item-menu,
[data-theme="hacker"] .fenda-modal-content p,
[data-theme="hacker"] .fenda-modal-content .desc-modal-sair,
[data-theme="hacker"] .lightbox-overlay,
[data-theme="hacker"] .lightbox-comentarios,
[data-theme="hacker"] .btn,
[data-theme="hacker"] .filtro-btn,
[data-theme="hacker"] .link-fofoca,
[data-theme="hacker"] .badge,
[data-theme="hacker"] .tag-categoria,
[data-theme="hacker"] .card-header,
[data-theme="hacker"] .user-info-post,
[data-theme="hacker"] .post-time,
[data-theme="hacker"] .spotted-card,
[data-theme="hacker"] article.spotted-card,
[data-theme="hacker"] .post-content,
[data-theme="hacker"] .post-content-focado,
[data-theme="hacker"] .comentario-autor,
[data-theme="hacker"] .comentario-texto,
[data-theme="hacker"] .comentario-texto p,
[data-theme="hacker"] .dialog-conteudo .dialog-mensagem p {
    clip-path: none;
}


/* ==================================================================
   12. BOOT SCREEN
   ================================================================== */

.hacker-boot-screen {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px);
    background: #000;
    color: #0f0;
    z-index: 100000;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Courier New', monospace;
}

.boot-text p {
    margin: 10px auto;
    overflow: hidden;
    white-space: nowrap;
    font-size: 14px;
    border-right: .15em solid #0f0;
    animation: typing 3s steps(20, end) forwards;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    overflow-wrap: anywhere;
}

.bios-bar {
    height: 20px;
    border: 1px solid #0f0;
}

.loading {
    height: 100%;
    max-width: 600px;
    background: #0f0;
    width: 0;
    animation: load-bar 4s ease-in-out forwards;
}

@keyframes load-bar {
    to { width: 100%; }
}

[data-theme="hacker"] .hacker-booting {
    animation: bootSystem var(--boot-duration) steps(20) forwards;
}

@keyframes bootSystem {
    0% { opacity: 0; filter: blur(16px) brightness(10) grayscale(1); }
    5% { opacity: 0.1; filter: blur(8px); }
    50% { opacity: 0.3; filter: blur(4px); }
    100% { opacity: 1; filter: blur(0) brightness(1); }
}