.chat-terminal-card { background: #10151e; color: #e2e8f0; border: 1px solid #334155; border-radius: 12px; overflow: hidden; font: 13px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.chat-terminal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #334155; flex-wrap: wrap; }
.chat-terminal-target { min-width: 0; overflow-wrap: anywhere; }
.chat-terminal-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.chat-terminal-head button, .chat-terminal-form button { color: #e2e8f0; background: #253247; border: 1px solid #475569; border-radius: 6px; padding: 5px 9px; cursor: pointer; font: inherit; }
.chat-terminal-head button:hover, .chat-terminal-form button:hover { background: #334155; }
.chat-terminal-head button:focus-visible, .chat-terminal-form :focus-visible, .chat-terminal-output:focus-visible { outline: 2px solid #7dd3fc; outline-offset: -2px; }
.chat-terminal-head button[hidden] { display: none; }
.chat-terminal-output { margin: 0 !important; padding: 14px !important; max-height: 320px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; tab-size: 4; background: transparent !important; color: inherit; font: inherit; }
.chat-terminal-status { padding: 7px 14px; color: #94a3b8; border-top: 1px solid #253247; }
.chat-terminal-card[data-status="failed"] .chat-terminal-status, .chat-terminal-card[data-status="disconnected"] .chat-terminal-status, .chat-terminal-error { color: #fca5a5; }
.chat-terminal-card[data-status="completed"] .chat-terminal-status { color: #86efac; }
.chat-terminal-dialog { background: #10151e; color: #e2e8f0; border: 1px solid #475569; border-radius: 14px; padding: 0; width: min(1200px, 96vw); height: min(900px, 92dvh); max-width: 96vw; max-height: 94dvh; }
.chat-terminal-dialog { display: flex; flex-direction: column; }
.chat-terminal-launch { margin-top: 8px; color: #e2e8f0; background: #253247; border: 1px solid #475569; border-radius: 6px; padding: 5px 9px; cursor: pointer; }
.chat-terminal-launch:disabled { opacity: .5; cursor: default; }
.chat-terminal-dialog .chat-terminal-head { flex-shrink: 0; }
.chat-terminal-hint { padding: 10px 14px; margin: 0; font-size: 12px; color: #94a3b8; }
.chat-terminal-scroll { flex: 1; min-height: 0; overflow: auto; padding: 10px; display: flex; flex-direction: column; gap: 10px; }
.chat-terminal-scroll .chat-terminal-card { flex-shrink: 0; }
.chat-terminal-scroll .chat-terminal-output { max-height: none; }
.chat-terminal-form { display: flex; align-items: center; gap: 10px; padding: 12px; border-top: 1px solid #334155; flex-wrap: wrap; }
.chat-terminal-form textarea { flex: 1 1 60%; min-width: 150px; resize: vertical; max-height: 160px; color: #e2e8f0; background: #172030; border: 1px solid #475569; border-radius: 6px; padding: 8px; font: 14px/1.5 ui-monospace, Consolas, monospace; }
.chat-terminal-form label { display: flex; gap: 7px; align-items: center; font-size: 12px; }
.chat-terminal-error { padding: 0 14px; margin: 0 0 10px; }
[data-theme="light"] .chat-terminal-card, [data-theme="light"] .chat-terminal-dialog { background: #f8fafc; color: #0f172a; border-color: #94a3b8; }
[data-theme="light"] .chat-terminal-head, [data-theme="light"] .chat-terminal-status, [data-theme="light"] .chat-terminal-form { border-color: #cbd5e1; }
[data-theme="light"] .chat-terminal-head button, [data-theme="light"] .chat-terminal-form button, [data-theme="light"] .chat-terminal-launch { color: #0f172a; background: #e2e8f0; border-color: #94a3b8; }
[data-theme="light"] .chat-terminal-form textarea { color: #0f172a; background: #fff; border-color: #94a3b8; }
[data-theme="light"] .chat-terminal-status, [data-theme="light"] .chat-terminal-hint { color: #475569; }
[data-theme="light"] .chat-terminal-card[data-status="completed"] .chat-terminal-status { color: #166534; }
[data-theme="light"] .chat-terminal-card[data-status="failed"] .chat-terminal-status, [data-theme="light"] .chat-terminal-card[data-status="disconnected"] .chat-terminal-status, [data-theme="light"] .chat-terminal-error { color: #b91c1c; }
@media (max-width: 600px) { .chat-terminal-dialog { width: 98vw; max-width: 98vw; height: 94dvh; } .chat-terminal-actions { gap: 5px; } }
