/* AISECURITY Signal System — shared visual layer for every public route. */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../assets/fonts/dm-sans-var.woff2") format("woff2");
}

@font-face {
  font-family: Anybody;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../assets/fonts/anybody-var.woff2") format("woff2");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../assets/fonts/jetbrains-mono-var.woff2") format("woff2");
}

:root {
  --signal-bg: #070b12;
  --signal-surface: #0f1724;
  --signal-raised: #162235;
  --signal-ink: #f4f7fb;
  --signal-muted: #a8b5c8;
  --signal-dim: #7e8da3;
  --signal-accent: #28d7e8;
  --signal-accent-hover: #72e7f2;
  --signal-border: #2a3a50;
  --signal-border-strong: #40536d;
  --signal-danger: #f43f5e;
  --signal-success: #22c55e;
  --signal-warning: #facc15;
  --signal-display: Anybody, sans-serif;
  --signal-body: "DM Sans", sans-serif;
  --signal-mono: "JetBrains Mono", ui-monospace, monospace;
  --signal-radius: 8px;
}

body.signal-system {
  min-width: 320px;
  background: var(--signal-bg);
  color: var(--signal-ink);
  font-family: var(--signal-body);
}

.signal-system h1,
.signal-system h2,
.signal-system h3,
.signal-system h4 {
  font-family: var(--signal-display);
  color: var(--signal-ink);
  font-weight: 650 !important;
  letter-spacing: -0.035em !important;
}

.signal-system p,
.signal-system li {
  color: var(--signal-muted);
}

.signal-system a {
  color: var(--signal-accent);
}

.signal-system a:hover {
  color: var(--signal-accent-hover);
}

.signal-system :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--signal-accent);
  outline-offset: 4px;
}

.signal-system .site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgb(7 11 18 / 0.88);
  border-bottom: 1px solid var(--signal-border);
  backdrop-filter: blur(16px);
}

.signal-system .nav {
  min-height: 76px;
  max-width: 1200px;
}

.signal-system .nav__links a,
.signal-system .eyebrow,
.signal-system .aimi-label,
.signal-system .aimi-card__tag,
.signal-system .card-meta,
.signal-system .radar-risk,
.signal-system .radar-pill {
  font-family: var(--signal-mono);
  letter-spacing: 0.06em;
}

.signal-system .nav__links a {
  color: var(--signal-dim);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.signal-system .nav__links a:hover,
.signal-system .nav__links a[aria-current="page"] {
  color: var(--signal-accent);
}

.signal-system .hero,
.signal-system .page-header,
.signal-system .blog-hero {
  border-bottom: 1px solid var(--signal-border);
}

.signal-system .hero h1,
.signal-system .page-header h1,
.signal-system .blog-hero h1 {
  max-width: 15ch;
  font-size: clamp(2.8rem, 6vw, 5.5rem);
  line-height: 0.98;
}

.signal-system .eyebrow {
  color: var(--signal-accent);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.signal-system :is(.radar-summary__box, .radar-card, .radar-brief, .glossary-card, .blog-card, .intel-feed__item, .privacy-section, .aimi-card, .question-card, .radar-toc) {
  border: 1px solid var(--signal-border);
  border-radius: var(--signal-radius);
  background: var(--signal-surface);
  box-shadow: none;
}

.signal-system :is(.radar-card, .radar-brief, .glossary-card, .blog-card, .intel-feed__item):hover {
  border-color: var(--signal-accent);
  transform: translateY(-2px);
}

.signal-system :is(.btn--primary, .btn-primary, .aimi-button, .btn--primary):not(.btn--ghost) {
  border: 1px solid var(--signal-accent);
  border-radius: 4px;
  background: var(--signal-accent);
  color: #041018;
  font-family: var(--signal-body);
  font-weight: 700;
}

.signal-system :is(.btn--primary, .btn-primary, .aimi-button):hover {
  border-color: var(--signal-accent-hover);
  background: var(--signal-accent-hover);
  color: #041018;
  transform: translateY(-1px);
}

.signal-system .btn--ghost,
.signal-system .btn--secondary {
  border-color: var(--signal-border-strong);
  border-radius: 4px;
  color: var(--signal-ink);
  background: transparent;
}

.signal-system :is(input, select, textarea, .aimi-input) {
  border: 1px solid var(--signal-border-strong) !important;
  border-radius: 4px;
  background: var(--signal-bg) !important;
  color: var(--signal-ink) !important;
  font-family: var(--signal-body);
}

.signal-system :is(input, select, textarea, .aimi-input):focus {
  border-color: var(--signal-accent) !important;
  box-shadow: 0 0 0 1px var(--signal-accent);
}

.signal-system .radar-toc__list a.is-active,
.signal-system .radar-toc__list a:hover,
.signal-system .radar-pill,
.signal-system .radar-risk,
.signal-system .lang-btn.active {
  color: var(--signal-accent);
}

.signal-system .site-footer {
  border-top: 1px solid var(--signal-border);
  background: var(--signal-bg);
}

.signal-system .footer__legal,
.signal-system .aimi-note,
.signal-system .aimi-verify-msg,
.signal-system .aimi-score-desc {
  color: var(--signal-dim);
}

.signal-system .aimi-panel-page {
  padding-block: clamp(3.5rem, 8vw, 7rem);
}

.signal-system .aimi-card {
  position: relative;
  overflow: hidden;
}

.signal-system .aimi-card::before {
  background: var(--signal-accent);
}

.signal-system .aimi-card__tag,
.signal-system .aimi-label,
.signal-system .aimi-terms-tag,
.signal-system .aimi-progress__label,
.signal-system .aimi-eixo-header,
.signal-system .q-num {
  color: var(--signal-accent);
}

.signal-system .aimi-submit,
.signal-system .nav-btn.primary {
  background: var(--signal-accent);
  border-color: var(--signal-accent);
  color: #041018;
}

.signal-system .eixo-tab.active,
.signal-system .opcao.selected,
.signal-system .questao.answered {
  border-color: var(--signal-accent);
  background: var(--signal-raised);
}

.signal-system .aimi-progress__fill {
  background: var(--signal-accent);
}

@media (max-width: 700px) {
  .signal-system .hero h1,
  .signal-system .page-header h1,
  .signal-system .blog-hero h1 {
    font-size: clamp(2.5rem, 13vw, 4rem);
  }

  .signal-system .mobile-nav {
    border: 1px solid var(--signal-border);
    background: var(--signal-surface);
  }
}

@media (prefers-reduced-motion: reduce) {
  .signal-system *,
  .signal-system *::before,
  .signal-system *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}
