/* Cherry Studio Design System CSS Variables */ :root { /* Colors - Dark Theme (Default) */ --color-white: #ffffff; --color-white-soft: rgba(255, 255, 255, 0.8); --color-white-mute: rgba(255, 255, 255, 0.94); --color-black: #181818; --color-black-soft: #222222; --color-black-mute: #333333; --color-gray-1: #515c67; --color-gray-2: #414853; --color-gray-3: #32363f; --color-text-1: rgba(255, 255, 245, 0.9); --color-text-2: rgba(235, 235, 245, 0.6); --color-text-3: rgba(235, 235, 245, 0.38); --color-background: var(--color-black); --color-background-soft: var(--color-black-soft); --color-background-mute: var(--color-black-mute); --color-background-opacity: rgba(34, 34, 34, 0.7); --color-primary: #00b96b; --color-primary-soft: #00b96b99; --color-primary-mute: #00b96b33; --color-text: var(--color-text-1); --color-text-secondary: rgba(235, 235, 245, 0.7); --color-icon: #ffffff99; --color-border: #ffffff19; --color-border-soft: #ffffff10; --color-error: #f44336; --color-success: #52c41a; --color-warning: #faad14; --color-link: #338cff; --color-code-background: #323232; --color-hover: rgba(40, 40, 40, 1); --color-active: rgba(55, 55, 55, 1); /* Typography */ --font-family: 'Segoe UI', 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif; --font-family-mono: 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', 'Courier New', monospace; --font-family-serif: 'Times New Roman', Times, serif; /* Sizing */ --navbar-height: 44px; --border-radius: 10px; --border-radius-small: 6px; --spacing-xs: 4px; --spacing-sm: 8px; --spacing-md: 12px; --spacing-lg: 16px; --spacing-xl: 24px; --spacing-xxl: 32px; /* Transitions */ --transition-fast: 0.15s ease; --transition-normal: 0.2s ease; --transition-slow: 0.3s ease; } /* Light Theme */ [theme-mode='light'] { --color-white: #ffffff; --color-white-soft: rgba(0, 0, 0, 0.04); --color-white-mute: #eee; --color-black: #1b1b1f; --color-black-soft: #262626; --color-black-mute: #363636; --color-gray-1: #8e8e93; --color-gray-2: #aeaeb2; --color-gray-3: #c7c7cc; --color-text-1: rgba(0, 0, 0, 1); --color-text-2: rgba(0, 0, 0, 0.6); --color-text-3: rgba(0, 0, 0, 0.38); --color-background: var(--color-white); --color-background-soft: var(--color-white-soft); --color-background-mute: var(--color-white-mute); --color-background-opacity: rgba(243, 243, 243, 1); --color-text: var(--color-text-1); --color-text-secondary: rgba(0, 0, 0, 0.75); --color-icon: #00000099; --color-border: #00000019; --color-border-soft: #00000010; --color-link: #1677ff; --color-code-background: #e3e3e3; --color-hover: var(--color-white-mute); --color-active: var(--color-white-soft); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-family); background-color: var(--color-background); color: var(--color-text); height: 100vh; overflow: hidden; font-size: 14px; line-height: 1.5; transition: background-color var(--transition-normal), color var(--transition-normal); } .container { display: flex; flex-direction: column; height: 100vh; position: relative; } header { background-color: var(--color-background-soft); padding: var(--spacing-lg) var(--spacing-xl); border-bottom: 1px solid var(--color-border); display: flex; justify-content: space-between; align-items: center; height: var(--navbar-height); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background-color var(--transition-normal), border-color var(--transition-normal); position: relative; z-index: 10; } header h1 { font-size: 1.25rem; font-weight: 600; color: var(--color-text); margin: 0; transition: color var(--transition-normal); } .status { display: flex; align-items: center; gap: var(--spacing-sm); padding: var(--spacing-xs) var(--spacing-md); background-color: var(--color-background-opacity); border-radius: var(--border-radius-small); border: 1px solid var(--color-border-soft); transition: all var(--transition-normal); } .status-connected { color: var(--color-success); } .status-disconnected { color: var(--color-error); } .status span:first-child { font-size: 12px; animation: pulse 2s infinite; } .status span:last-child { font-size: 13px; font-weight: 500; color: var(--color-text-secondary); } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .chat-container { flex: 1; display: flex; flex-direction: column; overflow: hidden; position: relative; } .output-area { flex: 1; padding: var(--spacing-lg) var(--spacing-xl); overflow-y: auto; background-color: var(--color-background); font-family: var(--font-family); font-size: 14px; line-height: 1.6; scroll-behavior: smooth; position: relative; } .message { margin-bottom: 1rem; padding: 0.75rem 1rem; border-radius: 8px; max-width: 100%; word-wrap: break-word; } .message.command { background-color: #0d7377; color: white; margin-left: auto; margin-right: 0; text-align: right; } .message.output { background-color: #2d2d2d; border-left: 4px solid #4caf50; } .message.error { background-color: #2d2d2d; border-left: 4px solid #f44336; } .message.system { background-color: #2d2d2d; border-left: 4px solid #ff9800; font-style: italic; } .message pre { margin: 0; white-space: pre-wrap; word-break: break-all; } .input-area { background-color: #2d2d2d; padding: 1rem 2rem; border-top: 1px solid #404040; } .command-input-container, .user-input-container { display: flex; gap: 0.5rem; align-items: center; } .user-input-container { margin-top: 0.5rem; } input[type="text"] { flex: 1; padding: 0.75rem 1rem; border: 1px solid #404040; border-radius: 4px; background-color: #1e1e1e; color: #ffffff; font-size: 14px; font-family: 'Courier New', monospace; } input[type="text"]:focus { outline: none; border-color: #0d7377; box-shadow: 0 0 0 2px rgba(13, 115, 119, 0.2); } button { padding: 0.75rem 1.5rem; border: none; border-radius: 4px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background-color 0.2s; } #run-btn { background-color: #4caf50; color: white; } #run-btn:hover:not(:disabled) { background-color: #45a049; } #run-btn:disabled { background-color: #666; cursor: not-allowed; } #kill-btn { background-color: #f44336; color: white; } #kill-btn:hover:not(:disabled) { background-color: #da190b; } #kill-btn:disabled { background-color: #666; cursor: not-allowed; } #send-btn { background-color: #2196f3; color: white; } #send-btn:hover:not(:disabled) { background-color: #1976d2; } .timestamp { font-size: 12px; color: #888; margin-bottom: 0.25rem; } /* Scrollbar styling for webkit browsers */ .output-area::-webkit-scrollbar { width: 8px; } .output-area::-webkit-scrollbar-track { background: #1e1e1e; } .output-area::-webkit-scrollbar-thumb { background: #404040; border-radius: 4px; } .output-area::-webkit-scrollbar-thumb:hover { background: #555; }