/* ============================================================
   Security Ops — tema preto + teal/ciano, minimalista/futurista
   Base: forgejo-dark (importada); só sobrescrevemos cor + animações.
   100% CSS, zero JavaScript.
   ============================================================ */
@import url("theme-forgejo-dark.css");

:root {
  /* ---- acento primário: teal, hover ciano ---- */
  --color-primary:            #14e0c8;
  --color-primary-contrast:   #001513;
  --color-primary-dark-1:     #22d3ee;
  --color-primary-dark-2:     #34dcf3;
  --color-primary-dark-3:     #5fe7f6;
  --color-primary-dark-4:     #8beff8;
  --color-primary-dark-5:     #b7f5fb;
  --color-primary-dark-6:     #d9fafd;
  --color-primary-dark-7:     #eefdfe;
  --color-primary-light-1:    #0fc3af;
  --color-primary-light-2:    #0ba594;
  --color-primary-light-3:    #08897b;
  --color-primary-light-4:    #066b60;
  --color-primary-light-5:    #054f47;
  --color-primary-light-6:    #06322d;
  --color-primary-light-7:    #04211e;
  --color-primary-alpha-10:   #14e0c81a;
  --color-primary-alpha-20:   #14e0c833;
  --color-primary-alpha-30:   #14e0c84d;
  --color-primary-alpha-40:   #14e0c866;
  --color-primary-alpha-50:   #14e0c880;
  --color-primary-alpha-60:   #14e0c899;
  --color-primary-alpha-70:   #14e0c8b3;
  --color-primary-alpha-80:   #14e0c8cc;
  --color-primary-alpha-90:   #14e0c8e6;
  --color-primary-hover:      #22d3ee;
  --color-primary-active:     #10c4b0;

  /* ---- superfícies: preto puro + quase-preto ---- */
  --color-body:               #000000;
  --color-box-body:           #05100e;
  --color-box-body-highlight: #071a16;
  --color-box-header:         #08130f;
  --color-nav-bg:             #000000;
  --color-header-bar:         #000000;
  --color-header-bar-bg:      #000000;
  --color-footer-bg:          #000000;
  --color-footer:             #000000;
  --color-menu:               #04100d;
  --color-card:               #05100e;
  --color-markup-code-block:  #06130f;
  --color-markup-code-inline: #08201b;

  /* ---- inputs / bordas ---- */
  --color-input-background:   #04100d;
  --color-input-border:       #133a34;
  --color-input-border-hover: #14e0c8;
  --color-input-text:         #d0d7d9;
  --color-border:             #123029;
  --color-secondary:          #0e2621;
  --color-secondary-dark-1:   #14352e;
  --color-secondary-dark-2:   #1b453c;

  /* ---- texto: cinza suave ---- */
  --color-text:               #cfd6d8;
  --color-text-light:         #b7c0c2;
  --color-text-light-1:       #9aa4a7;
  --color-text-light-2:       #8a9296;
  --color-text-light-3:       #737b7e;
  --color-text-dark:          #eef4f5;

  /* ---- estados ---- */
  --color-hover:              #14e0c814;
  --color-active:             #14e0c826;
  --color-focus-border:       #14e0c8;
  --color-accent:             #22d3ee;
  --color-navbar:             #000000;
}

/* ===== brilho ambiente animado atrás de tudo (sutil, futurista) ===== */
body {
  background: #000 !important;
  position: relative;
}
body::before {
  content: "";
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(55vmax 45vmax at 50% -10%, rgba(20,224,200,.10), transparent 60%),
    radial-gradient(40vmax 40vmax at 100% 100%, rgba(34,211,238,.07), transparent 60%);
  animation: so-breathe 10s ease-in-out infinite alternate;
}
/* fina linha de acento no topo, com varredura de cor */
body::after {
  content: "";
  position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 9999;
  background: linear-gradient(90deg, transparent, #14e0c8, #22d3ee, #14e0c8, transparent);
  background-size: 200% 100%;
  animation: so-sweep 5s linear infinite;
  pointer-events: none;
}
/* garante que o conteúdo fica acima do glow */
.full.height, .page-content, #navbar, nav, footer { position: relative; z-index: 1; }

@keyframes so-breathe { from{opacity:.55} to{opacity:1} }
@keyframes so-sweep   { from{background-position:0% 0} to{background-position:200% 0} }
@keyframes so-pulse   { 0%,100%{box-shadow:0 0 0 0 rgba(20,224,200,.0)} 50%{box-shadow:0 0 0 1px rgba(20,224,200,.35),0 0 18px -4px rgba(20,224,200,.5)} }

/* ===== navbar: fundo preto + glow inferior teal ===== */
#navbar, .ui.secondary.menu.navbar, nav.navbar {
  background: #000 !important;
  border-bottom: 1px solid rgba(20,224,200,.18) !important;
  box-shadow: 0 1px 22px -10px rgba(20,224,200,.5);
}
#navbar a, nav.navbar a { transition: color .2s, background .2s; }

/* ===== links ===== */
a { transition: color .18s ease, text-shadow .18s ease; }
a:hover { color: var(--color-primary-dark-1) !important; text-shadow: 0 0 10px rgba(34,211,238,.35); }

/* ===== botões: transição + glow teal no hover ===== */
.ui.button { transition: background .2s, box-shadow .25s, transform .12s, border-color .2s; }
.ui.primary.button, .ui.primary.buttons .button {
  background: linear-gradient(180deg, #14e0c8, #0fc3af) !important;
  color: #001513 !important; border: none !important; font-weight: 600;
}
.ui.primary.button:hover, .ui.primary.buttons .button:hover {
  background: linear-gradient(180deg, #22d3ee, #14e0c8) !important;
  box-shadow: 0 0 0 1px rgba(20,224,200,.55), 0 8px 26px -8px rgba(20,224,200,.7) !important;
  transform: translateY(-1px);
}
.ui.button:not(.primary):hover { border-color: rgba(20,224,200,.5) !important; box-shadow: 0 0 0 1px rgba(20,224,200,.25); }

/* ===== caixas / cards: leve borda teal + realce no hover ===== */
.ui.segment, .ui.card, .repository .ui.segment, .ui.attached.segment, .flex-item, .issue.list-item {
  border-color: rgba(20,224,200,.14) !important;
  transition: border-color .25s, box-shadow .25s;
}
.ui.card:hover, .flex-item:hover, .issue.list-item:hover {
  border-color: rgba(20,224,200,.4) !important;
  box-shadow: 0 6px 30px -14px rgba(20,224,200,.5);
}

/* ===== realces de foco de input ===== */
.ui.input input:focus, .ui.form input:focus, .ui.form textarea:focus, .ui.selection.dropdown:focus {
  border-color: #14e0c8 !important;
  box-shadow: 0 0 0 2px rgba(20,224,200,.18) !important;
}

/* ===== branding no header (logo maior + nome com glow) ===== */
#navbar .brand img, .logo { filter: drop-shadow(0 0 6px rgba(20,224,200,.45)); }
.item.brand strong, #navbar .brand .text { color: #14e0c8 !important; letter-spacing: .02em; }

/* ===== barra de linguagens / progresso em teal ===== */
.language-color, .progress .bar { filter: saturate(1.1); }

/* ===== acessibilidade: respeitar quem prefere menos movimento ===== */
@media (prefers-reduced-motion: reduce) {
  body::before, body::after { animation: none !important; }
  a, .ui.button, .ui.card, .flex-item { transition: none !important; }
}
