/* ---- App Shell ---- */
body {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

.app-shell {
    min-height: 100vh;
}

.app-shell--auth .main-content {
    padding: 0;
}

.main-content {
    min-height: 100vh;
}

/* ---- Text Logo ---- */
.logo-text {
    font-weight: 900;
    letter-spacing: -0.03em;
    background: var(--brand-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.logo-text--lg {
    font-size: var(--text-3xl);
}

.logo-text__ai {
    background: var(--brand-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ---- 3-Column Chat Layout ---- */
.chat-layout {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

.chat-layout__sidebar {
    width: 260px;
    flex-shrink: 0;
    background: var(--sidebar-bg, #1A1229);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.chat-layout__main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--bg-secondary);
}

.chat-layout__thread {
    width: 0;
    flex-shrink: 0;
    overflow: hidden;
    transition: width 250ms ease;
    border-left: 1px solid var(--border-subtle);
    background: var(--bg-secondary);
}

.chat-layout__thread--open {
    width: 380px;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .chat-layout__sidebar {
        position: fixed;
        left: -260px;
        top: 0;
        bottom: 0;
        z-index: 50;
        transition: left 250ms ease;
    }

    .chat-layout__sidebar.sidebar--open {
        left: 0;
    }

    .chat-layout__thread--open {
        position: fixed;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        z-index: 40;
    }
}
