:root {
    --bg-app: #09090b;
    --bg-sidebar: #121214;
    --accent-cyan: #06b6d4;
    --accent-blue: #3b82f6;
    --text-primary: #f4f4f5;
    --text-muted: #a1a1aa;
    --border-color: #27272a;
    --msg-user: #2563eb;
    --msg-ai: #18181b;
    --font-family: 'Poppins', system-ui, -apple-system, sans-serif;
    --transition-default: all 0.2s ease;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family);
    background: var(--bg-app);
    color: var(--text-primary);
    height: 100vh;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::selection {
    background: rgba(6, 182, 212, 0.3);
    color: var(--text-primary);
}

.app-container {
    display: flex;
    height: 100vh;
}

.chat-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    background: var(--bg-app);
    padding-top: 80px;
}

/* Utility class */
.hidden {
    display: none !important;
}

/* Focus styles for accessibility */
button:focus-visible,
textarea:focus-visible,
.model-btn:focus-visible {
    outline: 2px solid var(--accent-cyan);
    outline-offset: 2px;
}