/* ═══════════════════════════════════════════════════════════
   Nautilus 2.0 — Future Edition Spezialeffekte
   Nur aktiv bei body.theme-future
   ═══════════════════════════════════════════════════════════ */

/* Grid-Hintergrund */
body.theme-future::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(var(--future-grid-color) 1px, transparent 1px),
    linear-gradient(90deg, var(--future-grid-color) 1px, transparent 1px);
  background-size: var(--future-grid-size) var(--future-grid-size);
  pointer-events: none;
  z-index: 0;
}

/* Scan-Lines Overlay */
body.theme-future::after {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    #ffffff01 3px,
    #ffffff01 4px
  );
  pointer-events: none;
  z-index: 1;
}

/* Wandernde Scan-Line */
body.theme-future .scan-line {
  display: block;
  position: fixed;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--future-scanline-color), transparent);
  animation: scanDown var(--future-scanline-speed) linear infinite;
  pointer-events: none;
  z-index: 2;
}

body:not(.theme-future) .scan-line {
  display: none;
}

@keyframes scanDown {
  0% { top: -2px; }
  100% { top: 100%; }
}

/* Corner-Brackets für Karten */
body.theme-future .card-bracketed,
body.theme-future .nbl-tile,
body.theme-future .tk-card,
body.theme-future .tk-item,
body.theme-future .tk-stat,
body.theme-future .proj-card,
body.theme-future .dashboard-widget {
  position: relative;
}
body.theme-future .card-bracketed::before,
body.theme-future .nbl-tile::before,
body.theme-future .tk-card::before,
body.theme-future .dashboard-widget::before {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-color: var(--future-corner-bracket-color);
  border-style: solid;
  border-width: 1px 0 0 1px;
  top: 6px;
  left: 6px;
  pointer-events: none;
}
body.theme-future .card-bracketed::after,
body.theme-future .nbl-tile::after,
body.theme-future .tk-card::after,
body.theme-future .dashboard-widget::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 12px;
  border-color: var(--future-corner-bracket-color);
  border-style: solid;
  border-width: 1px 1px 0 0;
  top: 6px;
  right: 6px;
  pointer-events: none;
}

/* Glow-Text */
body.theme-future .glow-text {
  text-shadow: 0 0 20px currentColor;
}

/* Orbitron für Überschriften */
body.theme-future h1,
body.theme-future h2,
body.theme-future .display-heading,
body.theme-future .tk-title,
body.theme-future .nbl-section-header__title {
  font-family: var(--future-font-display);
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Monospace-Daten */
body.theme-future .data-value,
body.theme-future .tk-nr,
body.theme-future .tk-stat-val,
body.theme-future .tk-item-nr,
body.theme-future .nbl-tile__id,
body.theme-future code {
  font-family: var(--future-font-data);
  letter-spacing: 1px;
}

/* Pulsierender Glow für Kevin-Alerts */
body.theme-future .kevin-attention {
  animation: kevinPulse 2s ease infinite;
}
@keyframes kevinPulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--accent-soft); }
  50% { box-shadow: 0 0 20px 4px var(--accent-soft); }
}

/* Future-Buttons: Subtiler Glow */
body.theme-future .nbe-btn-primary,
body.theme-future .nbl-btn--primary,
body.theme-future .tk-btn--primary,
body.theme-future .login-submit {
  box-shadow: 0 0 12px var(--accent-soft);
}
body.theme-future .nbe-btn-primary:hover,
body.theme-future .nbl-btn--primary:hover,
body.theme-future .tk-btn--primary:hover {
  box-shadow: 0 0 24px var(--accent-mid);
}

/* Future: Status-Badges mit Glow */
body.theme-future .tk-status--erledigt,
body.theme-future .tk-status--abgenommen {
  box-shadow: 0 0 8px var(--success-soft);
}
body.theme-future .tk-status--abgelehnt {
  box-shadow: 0 0 8px var(--danger-soft);
}

/* Performance: Effekte bei prefers-reduced-motion abschalten */
@media (prefers-reduced-motion: reduce) {
  body.theme-future::before,
  body.theme-future::after,
  body.theme-future .scan-line {
    display: none;
  }
  body.theme-future .kevin-attention {
    animation: none;
  }
}
