/* Tailwind 無法方便表達的樣式：頁面背景漸層、WS 連線指示燈光暈 */

html:not(.dark) body {
  background-color: #f1f5f9;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% -20%, rgba(59, 130, 246, 0.12), transparent),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(34, 197, 94, 0.06), transparent);
}

html.dark body {
  background-color: #0b1120;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% -20%, rgba(59, 130, 246, 0.18), transparent),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(34, 197, 94, 0.08), transparent);
}

body {
  background-attachment: fixed;
}

.ws-dot-connected {
  box-shadow: 0 0 8px rgb(34 197 94);
}

.log-terminal-cursor::after {
  content: '▋';
  animation: terminal-blink 1s step-end infinite;
  color: #4ade80;
}

@keyframes terminal-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* 日誌 / 終端輸出：文字色與捲軸 */
.log-terminal-body {
  color: #e4e4e7;
}

.log-terminal-scroll {
  color: #e4e4e7;
  scrollbar-width: thin;
  scrollbar-color: #52525b #141414;
}

.log-terminal-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.log-terminal-scroll::-webkit-scrollbar-track {
  margin: 4px 0;
  background: #141414;
  border-radius: 5px;
}

.log-terminal-scroll::-webkit-scrollbar-thumb {
  background: #52525b;
  border: 2px solid #141414;
  border-radius: 5px;
}

.log-terminal-scroll::-webkit-scrollbar-thumb:hover {
  background: #71717a;
}

.log-terminal-scroll::-webkit-scrollbar-corner {
  background: #141414;
}

.log-line-error {
  color: #fca5a5;
}

.log-line-warn {
  color: #fde047;
}

.log-line-info {
  color: #93c5fd;
}

.log-line-dim {
  color: #a1a1aa;
}

.log-bold {
  font-weight: 700;
}

.log-ansi-red { color: #f87171; }
.log-ansi-green { color: #4ade80; }
.log-ansi-yellow { color: #facc15; }
.log-ansi-blue { color: #60a5fa; }
.log-ansi-magenta { color: #e879f9; }
.log-ansi-cyan { color: #22d3ee; }
.log-ansi-gray { color: #a1a1aa; }

/* 主控台 PM2 指令輸出區 */
.cmd-output-scroll {
  color: #475569;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 #f1f5f9;
}

html.dark .cmd-output-scroll {
  color: #cbd5e1;
  scrollbar-color: #52525b #0f172a;
}

.cmd-output-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.cmd-output-scroll::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 5px;
}

html.dark .cmd-output-scroll::-webkit-scrollbar-track {
  background: #0f172a;
}

.cmd-output-scroll::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border: 2px solid #f1f5f9;
  border-radius: 5px;
}

html.dark .cmd-output-scroll::-webkit-scrollbar-thumb {
  background: #52525b;
  border-color: #0f172a;
}

.cmd-output-scroll::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

html.dark .cmd-output-scroll::-webkit-scrollbar-thumb:hover {
  background: #71717a;
}
