:root {
  --bg: #070a13;
}
* { -webkit-tap-highlight-color: transparent; }
body {
  margin: 0;
  font-family: 'Bricolage Grotesque', system-ui, sans-serif;
  background: var(--bg);
  background-image:
    radial-gradient(circle at 15% -10%, rgba(124,58,237,0.22), transparent 45%),
    radial-gradient(circle at 90% 5%, rgba(20,184,166,0.18), transparent 40%),
    linear-gradient(rgba(148,163,184,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,0.035) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 42px 42px, 42px 42px;
  color: #e2e8f0;
}
.mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

/* blinking cursor accent on the prompt */
header .mono::after {
  content: "▊";
  animation: blink 1.1s steps(2) infinite;
  color: #2dd4bf;
  margin-left: 2px;
}
@keyframes blink { 0%,50% { opacity: 1; } 51%,100% { opacity: 0; } }

/* staggered fade-in of phase cards */
section > div[class*="rounded-2xl"], section .grid > div {
  animation: rise 0.5s ease both;
}
@keyframes rise {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0b0f1a; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

input[type="checkbox"] { cursor: pointer; }