/* PentestGPT TUI Styles - Modern Dark Theme */ /* ============================================================================ Global Styles ============================================================================ */ Screen { background: #0a0a0a; color: #f5f5f5; } /* ============================================================================ Splash Screen ============================================================================ */ #splash_screen { height: 100%; width: 100%; background: #0a0a0a; content-align: center middle; text-align: center; } #splash_content { width: auto; height: auto; background: transparent; text-align: center; padding: 2; } /* ============================================================================ Main Layout ============================================================================ */ #main_container { height: 100%; padding: 0; margin: 0; background: #0a0a0a; } #header { height: 3; background: #1a1a1a; border-bottom: solid #262626; padding: 0 2; content-align: left middle; } #content_area { height: 1fr; background: transparent; padding: 1 2; } #status_bar { height: 1; background: #1a1a1a; border-top: solid #262626; padding: 0 2; content-align: left middle; } /* ============================================================================ Activity Feed ============================================================================ */ #activity_feed { height: 100%; width: 100%; background: transparent; border: none; padding: 0; scrollbar-background: #0a0a0a; scrollbar-color: #262626; scrollbar-corner-color: #0a0a0a; scrollbar-size: 1 1; } #activity_content { width: 100%; background: transparent; padding: 0; } .activity-item { margin-bottom: 1; padding: 0; background: transparent; width: 100%; } .activity-timestamp { color: #525252; text-style: dim; } .activity-message { color: #a3a3a3; } .activity-status-active { color: #6366f1; text-style: bold; } .activity-status-success { color: #10b981; text-style: bold; } .activity-status-error { color: #ef4444; text-style: bold; } /* ============================================================================ Tool Execution Blocks ============================================================================ */ .tool-block { background: #121212; border: round #1f1f1f; border-left: thick #525252; padding: 1 2; margin: 0 0 1 0; width: 100%; } .tool-terminal { border-left: thick #10b981; } .tool-thinking { border-left: thick #8b5cf6; } .tool-result { border-left: thick #6366f1; } .tool-error { border-left: thick #ef4444; background: #1a0a0a; } .tool-warning { border-left: thick #f59e0b; background: #1a1200; } /* Tool status indicators */ .tool-block.status-running { border-left: thick #6366f1; } .tool-block.status-completed { border-left: thick #10b981; background: #0d0d0d; } .tool-block.status-failed { border-left: thick #ef4444; background: #1a0606; } /* Tool content */ .tool-header { color: #f5f5f5; text-style: bold; } .tool-command { color: #10b981; text-style: none; } .tool-output { color: #a3a3a3; text-style: none; } /* ============================================================================ Status Messages ============================================================================ */ .status-agent-active { color: #6366f1; text-style: bold; } .status-agent-thinking { color: #8b5cf6; text-style: italic; } .status-agent-idle { color: #525252; text-style: dim; } .status-icon-active { color: #6366f1; } .status-icon-success { color: #10b981; } .status-icon-warning { color: #f59e0b; } .status-icon-error { color: #ef4444; } /* ============================================================================ Help Modal ============================================================================ */ HelpScreen { align: center middle; background: $background 80%; } #help_dialog { grid-size: 1; grid-gutter: 1; grid-rows: auto; padding: 2; width: 50; height: auto; border: round #6366f1; background: #1a1a1a; } #help_title { color: #8b92ff; text-style: bold; text-align: center; width: 100%; margin-bottom: 1; } #help_content { color: #f5f5f5; text-align: left; width: 100%; padding: 0; background: transparent; } .help-key { color: #8b5cf6; text-style: bold; } .help-description { color: #a3a3a3; } /* ============================================================================ Quit Confirmation Modal ============================================================================ */ QuitScreen { align: center middle; background: $background 80%; } #quit_dialog { grid-size: 1; grid-gutter: 1; grid-rows: auto auto; padding: 2; width: 30; height: auto; border: round #8b5cf6; background: #1a1a1a; } #quit_title { color: #ffffff; text-style: bold; text-align: center; width: 100%; margin-bottom: 1; } #quit_buttons { grid-size: 2; grid-gutter: 2; grid-columns: 1fr 1fr; width: 100%; height: auto; } #quit_buttons Button { height: 1; min-height: 1; border: none; text-style: bold; } #btn_quit_confirm { background: #2a1515; color: #ff6b6b; border: solid #ef4444; } #btn_quit_confirm:hover, #btn_quit_confirm:focus { background: #ef4444; color: #ffffff; border: solid #ff6b6b; } #btn_quit_cancel { background: #1a1a1a; color: #d4d4d4; border: solid #737373; } #btn_quit_cancel:hover, #btn_quit_cancel:focus { background: #6366f1; color: #ffffff; border: solid #8b92ff; } /* ============================================================================ Scrollbars ============================================================================ */ Vertical:focus-within > VerticalScroll { scrollbar-color: #6366f1; } VerticalScroll:focus { scrollbar-color: #6366f1; } /* ============================================================================ Placeholders & Loading States ============================================================================ */ .placeholder { width: 100%; height: 100%; content-align: center middle; text-align: center; color: #525252; text-style: italic; } .loading { color: #6366f1; text-style: italic; } .loading-dots { color: #8b5cf6; } /* ============================================================================ Accent & Semantic Colors ============================================================================ */ .accent-primary { color: #6366f1; } .accent-secondary { color: #8b5cf6; } .text-success { color: #10b981; } .text-warning { color: #f59e0b; } .text-error { color: #ef4444; } .text-dim { color: #525252; } .text-muted { color: #a3a3a3; } .text-primary { color: #f5f5f5; } /* ============================================================================ User Input Field (shown when agent is paused) ============================================================================ */ #user_input { height: 3; background: #1a1a1a; border: round #f59e0b; border-title-color: #f59e0b; padding: 0 1; margin: 0 2 1 2; } #user_input:focus { border: round #6366f1; background: #121212; } #user_input.-paused { border: round #f59e0b; }