/* ============================================================
   CONSOLE APP — CRT terminal. Dense. Phosphor green on black.
   Character: Old-school hacker terminal. Functional above all.
   ============================================================ */

.window.app-console .window-body {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

.console-app {
  display: grid;
  grid-template-rows: auto 1fr auto;
  height: 100%;
  font-family: var(--mono);
  color: #9effc0;
  /* CRT scanlines */
  background:
    repeating-linear-gradient(
      0deg,
      transparent 0px,
      transparent 2px,
      rgba(0,0,0,0.18) 2px,
      rgba(0,0,0,0.18) 3px
    ),
    linear-gradient(180deg, #060e08 0%, #040b06 100%);
}

/* Tab bar — terminal tabs feel */
.console-tabs {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  padding: 6px 8px 0;
  background: rgba(0,0,0,0.40);
  border-bottom: 1px solid rgba(64,172,104,0.30);
  overflow-x: auto;
}

.console-tab {
  border: 1px solid rgba(64,172,104,0.28);
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: rgba(20,50,30,0.60);
  color: rgba(120,220,150,0.65);
  padding: 5px 12px 6px;
  font-size: 0.70rem;
  font-family: var(--mono);
  cursor: pointer;
  letter-spacing: 0.06em;
  transition: background 100ms ease, color 100ms ease;
  white-space: nowrap;
}

.console-tab.active {
  color: #a0ffca;
  background: rgba(30,80,46,0.80);
  border-color: rgba(64,172,104,0.56);
  text-shadow: 0 0 8px rgba(80,200,120,0.60);
}

.console-tab:hover:not(.active) { color: #80e8a8; background: rgba(20,50,30,0.90); }

/* Log output area */
.console-log {
  padding: 10px 16px 8px;
  overflow: auto;
  font-size: 0.82rem;
  line-height: 1.75;
  /* Subtle green ambient glow on the text area */
  background: radial-gradient(ellipse 70% 60% at 30% 40%, rgba(0,60,20,0.28), transparent 70%);
}

/* Terminal line types */
.term-line { white-space: pre-wrap; word-break: break-all; margin: 0; }

.term-line.command {
  color: #a8ffc8;
  text-shadow: 0 0 6px rgba(100,255,160,0.45);
}

.term-line.command::before {
  content: "❯ ";
  color: #50d890;
  opacity: 0.8;
}

.term-line.output  { color: #b8f0d0; opacity: 0.9; padding-left: 14px; }
.term-line.system  {
  color: #5ac8e8;
  font-style: italic;
  opacity: 0.85;
  border-left: 2px solid rgba(90,200,232,0.40);
  padding-left: 10px;
  margin: 2px 0;
}

/* Input row */
.console-input-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0;
  align-items: center;
  padding: 8px 16px 10px;
  border-top: 1px solid rgba(64,172,104,0.28);
  background: rgba(0,0,0,0.42);
}

.prompt {
  color: #50d890;
  font-family: var(--mono);
  font-size: 0.82rem;
  white-space: nowrap;
  padding-right: 8px;
  text-shadow: 0 0 6px rgba(80,216,144,0.50);
}

.console-input {
  width: 100%;
  border: 0;
  background: transparent;
  color: #d0fce4;
  outline: 0;
  font-family: var(--mono);
  font-size: 0.82rem;
  caret-color: #50d890;
}

.console-input::placeholder { color: rgba(80,216,144,0.38); }
