/* Chyrons, ticker, glitch, corner marks, diagonal rules */
.chyron { display: inline-flex; font-family: var(--font-display); font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; }
.chyron-tag { padding:4px 8px; display:inline-block; }
.chyron-body { padding:4px 10px; display:inline-block; background:#111; color:var(--bg); }
.chyron .neon-green { background: var(--neon-green); color: #111; }
.chyron .neon-blue { background: var(--neon-blue); color: #111; }
.chyron .neon-pink { background: var(--neon-pink); color: #fff; }

.signal-status { display:flex; justify-content:flex-end; align-items:center; gap:12px; padding:10px 40px; font-family:var(--font-display); font-size:11px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; background:#111; color:var(--neon-green); border-bottom:1.5px solid var(--ink); }
.signal-label { color:var(--neon-green); }
.signal-bars { display:flex; gap:4px; }
.signal-bars span { width:5px; height:8px; background:var(--neon-green); display:inline-block; }
.signal-bars span:nth-child(5) { background:var(--muted); }
.signal-value { color:var(--muted); }

/* Active nav underline handled in layout.css */

/* Corner marks for other UI elements (reinforce if needed) */
.icon-frame { position: relative; }
.icon-frame::after, .icon-frame::before { pointer-events:none; }

/* Small corner marks for key cards (CSS-only) */
.content .card { position: relative; border:1.5px solid var(--ink); padding:12px; background:var(--surface); }
.content .card::before, .content .card::after { content: ''; position:absolute; width:6px; height:6px; }

/* Diagonal accent reduced for inner pages — override when .small header present */
.site-header.small .diagonal-accent::after { display:none; }

/* Chyron color utility classes */
.neon-green { background: var(--neon-green); color: #111; }
.neon-blue { background: var(--neon-blue); color: #111; }
.neon-pink { background: var(--neon-pink); color: #fff; }

body::before {
  content: '';
  position: fixed; inset: 0;
  z-index: 9998; pointer-events: none;
  opacity: 0.15;
  transition: opacity 0.5s ease;
  background-image:
    linear-gradient(90deg, rgba(170,255,0,0.08) 33%, transparent 33%, transparent 66%, rgba(0,240,255,0.08) 66%),
    linear-gradient(rgba(255,0,204,0.06) 33%, transparent 33%, transparent 66%, rgba(170,255,0,0.06) 66%);
  background-size: 64px 64px, 64px 64px;
  background-position: 0 0, 32px 32px;
  animation: neon-square-shift 16s linear infinite;
}

@keyframes neon-square-shift {
  from { background-position: 0 0, 32px 32px; }
  to { background-position: 64px 64px, 96px 96px; }
}

body::after {
  content: '';
  position: fixed; inset: 0;
  z-index: 9997; pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
  background:
    linear-gradient(rgba(0,240,255,0.06) 0px, rgba(0,240,255,0.06) 1px, transparent 1px),
    linear-gradient(rgba(255,0,204,0.04) 0px, rgba(255,0,204,0.04) 1px, transparent 1px),
    linear-gradient(rgba(170,255,0,0.03) 0px, rgba(170,255,0,0.03) 1px, transparent 1px);
  background-size: 100% 100vh;
}

body.signal-active::before { opacity: 0.03; }
body.signal-active::after  { opacity: 1; }