@tailwind base; @tailwind components; @tailwind utilities; * { box-sizing: border-box; padding: 0; margin: 0; } html, body { height: 100%; overflow: hidden; } body { color: #e5e5e7; background: #1d1d1f; font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; letter-spacing: -0.01em; } /* Apple-style scrollbar */ ::-webkit-scrollbar { width: 12px; height: 12px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 10px; border: 3px solid #1d1d1f; } ::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, 0.3); } ::-webkit-scrollbar-corner { background: #1d1d1f; } /* Markdown styling in chat - VS Code style */ .prose { max-width: none; color: #cccccc; } .prose code { background-color: #2d2d30; color: #d4d4d4; padding: 0.2em 0.4em; border-radius: 3px; font-size: 0.875em; font-family: 'SF Mono', 'Monaco', 'Menlo', 'Courier New', monospace; } .prose pre { background-color: #1e1e1e; padding: 1em; border-radius: 4px; overflow-x: auto; border: 1px solid #3e3e42; } .prose pre code { background-color: transparent; padding: 0; } .prose p { margin: 0.5em 0; } .prose a { color: #3794ff; text-decoration: none; } .prose a:hover { text-decoration: underline; } /* Selection color - Apple style */ ::selection { background-color: rgba(0, 122, 255, 0.3); color: #ffffff; } ::-moz-selection { background-color: rgba(0, 122, 255, 0.3); color: #ffffff; } /* Apple-style focus rings */ button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid rgba(0, 122, 255, 0.6); outline-offset: 2px; } /* Smooth transitions */ * { transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; } /* Animation utilities */ @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } .animate-in { animation: fade-in 0.3s ease-in-out; } /* Resize handle styles */ .resize-handle { position: relative; width: 4px; cursor: col-resize; user-select: none; background: transparent; transition: background-color 0.2s ease, width 0.15s ease; flex-shrink: 0; display: flex; align-items: center; justify-content: center; } /* Clickable area (extends beyond visible width) */ .resize-handle::before { content: ''; position: absolute; inset: 0; left: -4px; right: -4px; } /* Visual indicator (three dots) */ .resize-handle::after { content: '⋮'; position: relative; z-index: 1; font-size: 16px; color: rgba(134, 134, 139, 0.4); transition: color 0.2s ease; pointer-events: none; line-height: 1; } .resize-handle:hover { background: rgba(0, 123, 255, 0.2); } .resize-handle:hover::after { color: rgba(0, 123, 255, 0.8); } .resize-handle:active, .resize-handle.resizing { background: rgba(0, 123, 255, 0.4); width: 4px; } .resize-handle:active::after, .resize-handle.resizing::after { color: rgba(0, 123, 255, 1); } /* Prevent text selection during resize */ body.resizing { user-select: none !important; cursor: col-resize !important; } body.resizing * { cursor: col-resize !important; }