body {
  background-color: #0a1a2f;   /* dark navy base */
  color: #e6e6e6;
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;

  /* grid overlay background */
  background-image: linear-gradient(rgba(0, 255, 255, 0.05) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(0, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 60px 60px;

  /* faster subtle motion */
  animation: gridMove 10s linear infinite;
}

@keyframes gridMove {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 60px 60px;
  }
}

.container,
.gc-alert__pulse {
  will-change: box-shadow, border-color, opacity;
  transform: translateZ(0); /* force GPU layer */
}

.container {
  max-width: 900px;
  padding: 20px;
  text-align: center;
  background: rgba(10, 26, 47, 0.9); /* slightly transparent for depth */
  border: 2px solid rgba(0, 229, 255, 0.6); /* base cyan border */
  box-shadow: 0 0 20px rgba(0, 229, 255, 0.2),
              inset 0 0 10px rgba(0, 229, 255, 0.15);
  border-radius: 8px;
  margin: 40px;

  /* pulsing glow animation */
  animation: borderPulse 3s ease-in-out infinite;
}

@keyframes borderPulse {
  0% {
    box-shadow: 0 0 15px rgba(0, 229, 255, 0.3),
                inset 0 0 8px rgba(0, 229, 255, 0.2);
    border-color: rgba(0, 229, 255, 0.5);
  }
  50% {
    box-shadow: 0 0 30px rgba(0, 229, 255, 0.8),
                inset 0 0 15px rgba(0, 229, 255, 0.4);
    border-color: rgba(0, 229, 255, 0.9);
  }
  100% {
    box-shadow: 0 0 15px rgba(0, 229, 255, 0.3),
                inset 0 0 8px rgba(0, 229, 255, 0.2);
    border-color: rgba(0, 229, 255, 0.5);
  }
}

.banner img {
  width: 100%;
  height: auto;
  border-bottom: 2px solid rgba(0, 229, 255, 0.4);
  margin-bottom: 20px;
}

header h1 {
  font-size: 2.5em;
  margin-bottom: 0.2em;
  color: #ff3b3b; /* alert red */
  text-transform: uppercase;
  letter-spacing: 2px;
}

.subtitle {
  font-size: 1.2em;
  color: #9aa7b9;
  margin-bottom: 1.5em;
}

.about {
  margin-bottom: 2em;
}

.conflict-menu h2 {
  margin-bottom: 1em;
  color: #b0bec5;
  text-transform: uppercase;
  font-size: 1.1em;
  letter-spacing: 1px;
}

.button-grid {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.conflict-button {
  display: block;
  padding: 15px;
  background: linear-gradient(145deg, #1b2a38, #0f1c28);
  color: #e0e0e0;
  text-decoration: none;
  font-weight: bold;
  border: 1px solid #4f5b62;
  border-radius: 4px;
  box-shadow: inset 0 0 10px rgba(0, 255, 255, 0.15), 
              0 2px 6px rgba(0, 0, 0, 0.5);
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
}

.conflict-button:hover {
  background: linear-gradient(145deg, #22394a, #152635);
  transform: scale(1.05);
  box-shadow: inset 0 0 12px rgba(0, 255, 255, 0.3),
              0 3px 8px rgba(0, 0, 0, 0.7);
  color: #00e5ff; /* tactical cyan highlight */
}


/* --- Critical Alert (Minimal Throbbing Border) --- */
/* Main alert box */
.gc-alert {
  margin: 0; /* outer wrapper handles spacing */
  padding: 15px;
  border-radius: 8px;
  background: #1a0000; /* dark red bg */
  color: #ffecec;
  border: 2px solid #e10600; /* throbbing border */
  box-shadow: 0 0 10px #e10600;
  animation: throb 1.5s ease-in-out infinite;
}

@keyframes throb {
  0%, 100% { box-shadow: 0 0 10px #e10600; }
  50% { box-shadow: 0 0 25px #ff1a1a; }
}

/* Pulsing animated overlay */
.gc-alert__pulse {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  border: 3px solid red;
  border-radius: 8px;
  animation: pulseBorder 2s ease-in-out infinite;
  pointer-events: none;
}

@keyframes pulseBorder {
  0%   { opacity: 1; }
  50%  { opacity: 0.3; }
  100% { opacity: 1; }
}

/* Accessibility: No animation for reduced motion */
@media (prefers-reduced-motion: reduce) {
  .gc-alert {
    animation: none;
    box-shadow: 0 0 10px #e10600; /* Static glow */
  }
}

/* Print: no animation, solid border */
@media print {
  .gc-alert__pulse{ display:none; }
  .gc-alert {
    animation: none;
    color: #000;
    background: #fff;
    border-color: #c00;
    box-shadow: none;
  }
  .gc-alert__link {
    color: #000;
  }
  body {
    background: #fff;
  }
  .brief-container {
    box-shadow: none;
  }
  .paper::before {
    font-size: 6rem;
    color: rgba(0,0,0,0.15);
  }
  .watermark {
    color: rgba(150, 150, 150, 0.2);
  }
}