:root { --app-height: 100dvh; }
body, html, #root { font-family: 'Inter', sans-serif; background-color: #010409; color: #e6edf3; margin: 0; height: var(--app-height); overflow: hidden; }
.glass { background: rgba(13, 17, 23, 0.85); backdrop-filter: blur(25px); border: 1px solid rgba(255, 255, 255, 0.08); }
.sidebar-transition { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.code-container { position: relative; margin: 15px 0; background: #0d1117; border-radius: 12px; border: 1px solid #30363d; }
.copy-btn { position: absolute; top: 8px; right: 8px; background: #21262d; border: 1px solid #30363d; color: #8b5cf6; padding: 4px 8px; border-radius: 6px; font-size: 10px; font-weight: bold; cursor: pointer; z-index: 10; }
.prose pre { background: transparent !important; padding: 1.5rem 1rem 1rem 1rem; overflow-x: auto; margin: 0; }
.prose code { color: #79c0ff; font-family: 'JetBrains Mono', monospace; font-size: 0.9em; }
.message-appear { animation: slideUp 0.3s ease-out forwards; }
@keyframes slideUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
.input-area-text { scrollbar-width: none; max-height: 150px; overflow-y: auto; resize: none; }
.attach-menu { animation: menuPop 0.2s ease-out; transform-origin: bottom left; }
@keyframes menuPop { from { opacity: 0; transform: scale(0.9) translateY(10px); } to { opacity: 1; transform: scale(1) translateY(0); } }