/* C4 Interpreter — retro phosphor-terminal aesthetic */

:root {
  --phosphor: #34d399;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #0a0e0d;
  font-family: 'Space Grotesk', sans-serif;
}

#root { min-height: 100vh; }

.title-font { font-family: 'Space Grotesk', sans-serif; }

.editor-font,
textarea.editor-font,
pre.editor-font {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  font-size: 13px;
  tab-size: 2;
}

/* blinking terminal cursor */
.blink {
  animation: blink 1s step-end infinite;
}
@keyframes blink {
  0%, 50% { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

/* faint CRT scanline overlay on the console */
pre[class*="bg-black"] {
  background-image:
    linear-gradient(rgba(52,211,153,0.02) 50%, transparent 50%);
  background-size: 100% 4px;
}

/* nice scrollbars */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #0a0e0d; }
::-webkit-scrollbar-thumb {
  background: #14532d;
  border-radius: 5px;
  border: 2px solid #0a0e0d;
}
::-webkit-scrollbar-thumb:hover { background: #166534; }

/* strawberry rain easter egg */
.berry-rain .berry {
  position: absolute;
  top: -40px;
  animation-name: fall;
  animation-duration: 2.6s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
}
@keyframes fall {
  0%   { transform: translateY(-40px) rotate(0deg); opacity: 1; }
  100% { transform: translateY(105vh) rotate(360deg); opacity: 0.9; }
}

/* prevent iOS zoom on focus for small screens while keeping mono look */
@media (max-width: 640px) {
  textarea.editor-font, pre.editor-font { font-size: 12px; }
}
</parameter>