/* brand.css — Hashtag Projects. Primeira linha de ocultação (sem flash), por atributo href.
 * SÓ domínios inequívocos do fabricante (blocklist audit-ext-2026-08-09.json).
 * PROIBIDO usar classe hasheada de build. Genéricos ficam no brand.js com checagem de contexto. */

a[href*="plane.so"],
a[href*="github.com/makeplane"],
a[href*="discord.com/invite"],
a[href*="discord.gg"],
a[href*="twitter.com/planepowers"],
a[href*="x.com/planepowers"] {
  display: none !important;
}

/* rota interna proibida: Faturamento e planos (billing) — o nginx 302 cobre a hard-nav */
a[href*="/settings/billing"] {
  display: none !important;
}
li:has(> a[href*="/settings/billing"]),
[role="menuitem"]:has(a[href*="/settings/billing"]) {
  display: none !important;
}

/* item de menu que embrulha o link do fabricante */
li:has(> a[href*="plane.so"]),
li:has(> a[href*="github.com/makeplane"]),
[role="menuitem"]:has(a[href*="plane.so"]),
[role="menuitem"]:has(a[href*="github.com/makeplane"]) {
  display: none !important;
}

/* badge de planos pagos ("Community" no rodapé do sidebar = gatilho do modal de planos) — some imediato */
[aria-label*="planos pagos" i],
[aria-label*="paid plans" i] { display: none !important; }

/* menu de ajuda "?" (Documentação/Contatar vendas/O que há de novo?/Forum — quase tudo externo):
   decisão do operador 2026-08-09 = esconder o botão INTEIRO. Ícone lucide circle-help é a
   assinatura estável entre builds. */
button:has(svg[class*="circle-help"]),
button:has(svg[class*="help-circle"]) {
  display: none !important;
}

/* splash de marca (boot): cobre o spinner do Plane até o app estar pronto */
@keyframes htg-pulse { 0%, 100% { opacity: .5; transform: scale(.95); } 50% { opacity: 1; transform: scale(1); } }
#hashtag-splash img, #hashtag-splash-boot img { animation: htg-pulse 1.1s ease-in-out infinite; }

/* marcador aplicado pelo brand.js (única classe própria) */
.hashtag-hide {
  display: none !important;
}

/* ===== Página de login (auth) — refino white-label 2026-08-10 (zero flash, por CSS estável) ===== */
/* Centralizar o logo no topo do layout de auth (header sticky). Escopo: só o container w-screen do login. */
.w-screen.flex-col.items-center > .sticky.top-0.justify-between { justify-content: center !important; }
.w-screen.flex-col.items-center > .sticky.top-0 img[src*="/__hashtag/"] { height: 40px !important; width: auto !important; }
/* Remover disclaimer "Ao entrar… Termos de Serviço / Política de Privacidade" (links do fabricante → plane.so/legals) */
p:has(a[href*="plane.so/legals"]) { display: none !important; }
/* Remover logos de EMPRESAS do bloco de testemunho ("Junte-se a 10.000+ times…"), renderizados no azul do fabricante #387ED1 */
svg[class*="387ED1"] { display: none !important; }

/* ===== Layout final do login (auth) ===== */
/* Logo SVG grande, centralizado ACIMA. Luz azulada 100% via CSS (SVG original intocado).
   Sem transform na animação (transform quebrava o raster) — só a intensidade do glow respira. */
.hashtag-login-logo {
  align-self: center !important; height: 170px !important; width: auto !important;
  margin: 0 0 30px 14px !important; display: block !important; /* margin-left = centro ÓPTICO (o canvas do SVG original tem respiro à direita) */
  filter: drop-shadow(0 0 22px rgba(88, 101, 242, .5)) drop-shadow(0 0 72px rgba(74, 92, 255, .3));
  animation: hashtag-glow 3.2s ease-in-out infinite;
}
@keyframes hashtag-glow {
  0%, 100% { filter: drop-shadow(0 0 18px rgba(88, 101, 242, .42)) drop-shadow(0 0 60px rgba(74, 92, 255, .24)); }
  50% { filter: drop-shadow(0 0 30px rgba(88, 101, 242, .62)) drop-shadow(0 0 95px rgba(74, 92, 255, .4)); }
}

/* Textos do login: centralizados, Times New Roman. Container alargado (o card nativo tem 22.5rem
   e forçava 4 quebras); o form continua estreito e centralizado. */
.hashtag-login-center { text-align: center !important; font-family: "Times New Roman", Times, Georgia, serif !important; max-width: min(46rem, 94vw) !important; }
.hashtag-login-center form { width: 100% !important; max-width: 22.5rem !important; margin-left: auto !important; margin-right: auto !important; }
.hashtag-login-center input, .hashtag-login-center button { font-family: "Times New Roman", Times, serif !important; }
.hashtag-login-center input { text-align: left !important; }
/* versículo: 2 linhas exatas via \n (pre-line); tipografia responsiva sem quebra extra */
.hashtag-verse {
  white-space: pre-line !important;
  font-size: clamp(1.35rem, 2.4vw, 1.9rem) !important;
  line-height: 1.45 !important; font-weight: 700 !important; letter-spacing: .2px;
  text-wrap: balance; text-shadow: 0 2px 24px rgba(74, 92, 255, .25);
}
.hashtag-verse-ref { font-size: 1.1rem !important; opacity: .62; font-style: italic; margin-top: 14px !important; letter-spacing: .6px; }

/* Fundo do login — design em camadas (moderno/profissional): base navy profunda + 2 blobs aurora
   da paleta da marca + grade sutil + vinheta. Partículas discretas por cima (z-index:-1, atrás do conteúdo). */
html.hashtag-login-route {
  background:
    radial-gradient(120% 95% at 50% 38%, transparent 52%, rgba(2, 3, 8, .55) 100%),
    radial-gradient(880px 620px at 12% -8%, rgba(74, 92, 255, .14), transparent 62%),
    radial-gradient(1020px 720px at 88% 108%, rgba(45, 72, 173, .17), transparent 62%),
    linear-gradient(rgba(255, 255, 255, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .022) 1px, transparent 1px),
    #0a0d18 !important;
  background-size: auto, auto, auto, 44px 44px, 44px 44px, auto !important;
}
html.hashtag-login-route body { background: transparent !important; }
html.hashtag-login-route .bg-canvas, html.hashtag-login-route .bg-surface-1 { background-color: transparent !important; }
#hashtag-particles { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
#hashtag-particles .hashtag-particle {
  position: absolute; bottom: -8vh; color: #5865f2; opacity: 0;
  animation-name: hashtag-float; animation-timing-function: linear; animation-iteration-count: infinite; will-change: transform, opacity;
}
#hashtag-particles .hashtag-particle svg { width: 100%; height: 100%; display: block; }
@keyframes hashtag-float {
  0% { transform: translateY(0) translateX(0) rotate(0deg) scale(.9); opacity: 0; }
  12% { opacity: .15; }
  82% { opacity: .13; }
  100% { transform: translateY(-118vh) translateX(var(--drift, 0px)) rotate(18deg) scale(1.05); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hashtag-login-logo { animation: none !important; }
  #hashtag-particles { display: none !important; }
}
