/* Theme-owned foundation. AI Engine selectors are a bounded CSS adapter, not game dependencies. */
.mwai-chatbot-container .mwai-timeless-theme,
.gaanate-conversation-enhanced,
.gaanate-conversation-page {
    --gaanate-conversation-font-size: 16px;
    --gaanate-conversation-line-height: 1.65;
    --gaanate-conversation-message-gap: 16px;
    --gaanate-conversation-component-gap: 12px;
    --gaanate-conversation-bubble-radius: 4px;
    --gaanate-conversation-surface: #fff;
    --gaanate-conversation-subtle: #f5f5f5;
    --gaanate-conversation-text: #333;
    --gaanate-conversation-muted: #666;
    --gaanate-conversation-border: rgba(51, 51, 51, .12);
    --gaanate-conversation-accent: #8a6400;
    --gaanate-conversation-focus: #f4b848;
    --gaanate-conversation-user-bg: #f5f5f5;
    --gaanate-conversation-user-text: #333;
    --gaanate-conversation-primary-bg: #333;
    --gaanate-conversation-primary-text: #fff;
}
.mwai-chatbot-container .mwai-timeless-theme {
    --gaanate-conversation-font-size: var(--mwai-fontSize);
    --gaanate-conversation-line-height: var(--mwai-lineHeight);
}
.gaanate-conversation-enhanced { --gaanate-conversation-font-size: 1em; }
.mwai-chatbot-container .mwai-timeless-theme .mwai-conversation,
.gaanate-conversation-enhanced .gaanate-conversation__log {
    display: flex; flex-direction: column; gap: 0;
}
html.gaanate-dark-mode .mwai-chatbot-container .mwai-timeless-theme,
html.gaanate-dark-mode .gaanate-conversation-enhanced,
html.gaanate-dark-mode .gaanate-conversation-page {
    --gaanate-conversation-surface: var(--gaanate-dark-box);
    --gaanate-conversation-subtle: var(--gaanate-dark-meta);
    --gaanate-conversation-text: var(--gaanate-dark-text);
    --gaanate-conversation-muted: var(--gaanate-dark-secondary-text);
    --gaanate-conversation-border: var(--gaanate-dark-border);
    --gaanate-conversation-accent: var(--gaanate-dark-accent);
    --gaanate-conversation-focus: var(--gaanate-dark-focus-border);
    --gaanate-conversation-user-bg: var(--gaanate-dark-accent);
    --gaanate-conversation-user-text: #1b1a1c;
    --gaanate-conversation-primary-bg: var(--gaanate-dark-accent);
    --gaanate-conversation-primary-text: #1b1a1c;
}
@media screen and (min-width: 59.6875em) {
    .gaanate-conversation-enhanced { --gaanate-conversation-font-size: 15px; }
}
/* Dedicated full-height chat page. */
body.gaanate-conversation-page-template {
    --gaanate-chat-admin-bar-height: 0px;
    --gaanate-chat-composer-height: 79px;
    --gaanate-chat-conversation-padding: 20px;
    --gaanate-chat-header-height: 120px;
    --gaanate-chat-inline-gutter: 4%;
    --gaanate-chat-input-padding: 16px;
    --gaanate-chat-toggle-size: 48px;
}

body.gaanate-conversation-page-template.admin-bar {
    --gaanate-chat-admin-bar-height: 32px;
}

body.gaanate-conversation-page-template::before,
body.gaanate-conversation-page-template #sidebar,
body.gaanate-conversation-page-template #colophon {
    display: none !important;
}

body.gaanate-conversation-page-template #content {
    float: none;
    height: calc(100dvh - var(--gaanate-chat-admin-bar-height));
    margin-left: auto;
    margin-right: auto;
    min-height: calc(100dvh - var(--gaanate-chat-admin-bar-height));
    overflow: hidden;
    width: 70.5882%;
}

body.gaanate-conversation-page-template .gaanate-conversation-page,
body.gaanate-conversation-page-template .gaanate-conversation-page .site-main {
    height: 100%;
    min-height: 0;
}

body.gaanate-conversation-page-template .gaanate-conversation-page .site-main {
    padding: 0;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__article {
    border-left: 1px solid rgba(51, 51, 51, 0.1);
    border-right: 1px solid rgba(51, 51, 51, 0.1);
    box-sizing: border-box;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    padding-top: 0;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header {
    background: #fff;
    border-bottom: 1px solid rgba(51, 51, 51, 0.1);
    box-shadow: none;
    flex: 0 0 auto;
    padding: clamp(9px, 2.625%, 22px) calc(var(--gaanate-chat-inline-gutter) + var(--gaanate-chat-conversation-padding));
}

body.gaanate-conversation-page-template .gaanate-conversation-page__title-row {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 8px;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-switcher {
    flex: 0 0 var(--gaanate-chat-toggle-size);
    height: var(--gaanate-chat-toggle-size);
    margin: 0;
    max-height: none;
    padding: 0;
    width: var(--gaanate-chat-toggle-size);
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(51, 51, 51, 0.18);
    border-radius: 50%;
    box-shadow: none;
    box-sizing: border-box;
    color: #333;
    display: flex;
    height: var(--gaanate-chat-toggle-size);
    justify-content: center;
    padding: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    width: var(--gaanate-chat-toggle-size);
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle:hover,
body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle:focus {
    background: #f5f5f5;
    border-color: rgba(51, 51, 51, 0.32);
    color: #333;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle:focus-visible {
    outline: 2px solid #333;
    outline-offset: 2px;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle > span[aria-hidden="true"] {
    display: block;
    font-size: 18px;
    line-height: 1;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle__label {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .sidebar-home-link {
    margin-bottom: 0;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header .sidebar-home-link .site-description {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 0;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__title {
    font-size: 2.2rem;
    line-height: 1.2;
    margin: 0;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    padding: 0;
}



.mwai-chatbot-container .mwai-timeless-theme .mwai-conversation .mwai-reply,
.gaanate-conversation-enhanced .gaanate-conversation__message {
    border: 1px solid transparent;
    border-radius: var(--gaanate-conversation-bubble-radius);
    box-shadow: none;
    font-size: var(--gaanate-conversation-font-size);
    line-height: var(--gaanate-conversation-line-height);
    margin-bottom: var(--gaanate-conversation-message-gap);
    max-width: 82%;
    padding: 10px 14px;
}

.mwai-chatbot-container .mwai-timeless-theme .mwai-conversation .mwai-reply.mwai-ai,
.gaanate-conversation-enhanced .gaanate-conversation__message.gaanate-conversation__message--assistant {
    background: transparent;
    border: 0;
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}
.mwai-chatbot-container .mwai-timeless-theme .mwai-conversation .mwai-reply.mwai-ai,
.gaanate-conversation-enhanced .gaanate-conversation__message--assistant { align-self: flex-start; }

/* Renderer-neutral viewport, including native composer geometry. */
.gaanate-chat-scroll-header,
.gaanate-conversation-page__header {
    position: relative;
    transition: opacity 180ms ease-out, transform 180ms ease-out,
        visibility 0s linear;
    z-index: 2;
}
body.gaanate-conversation-page-template .gaanate-conversation-page__content > p:empty { display: none; }
body.gaanate-conversation-page-template .gaanate-conversation-app,
body.gaanate-conversation-page-template .gaanate-conversation-app .chat-shell {
    display: flex; flex: 1 1 auto; flex-direction: column;
    min-height: 0; padding: 0; width: 100%; position: relative;
}
body.gaanate-conversation-page-template .gaanate-conversation-app .topbar { display: none; }
body.gaanate-conversation-page-template .gaanate-conversation-app [data-game-status] {
    margin: calc(var(--gaanate-chat-header-height) + var(--gaanate-chat-conversation-padding))
        calc(var(--gaanate-chat-inline-gutter) + var(--gaanate-chat-conversation-padding)) 0;
}
body.gaanate-conversation-page-template .gaanate-conversation__log {
    flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: none;
    padding: calc(var(--gaanate-chat-header-height) + var(--gaanate-chat-conversation-padding))
        calc(var(--gaanate-chat-inline-gutter) + var(--gaanate-chat-conversation-padding))
        calc(var(--gaanate-conversation-composer-height, 79px) + var(--gaanate-chat-conversation-padding));
}
body.gaanate-conversation-page-template .gaanate-conversation__log::-webkit-scrollbar { width: 0; height: 0; }
body.gaanate-conversation-page-template .gaanate-conversation__message {
    scroll-margin-top: calc(var(--gaanate-chat-header-height) + var(--gaanate-chat-conversation-padding));
    color: var(--gaanate-conversation-text);
}
body.gaanate-conversation-page-template .gaanate-conversation__pending {
    position: absolute; bottom: var(--gaanate-conversation-composer-height, 79px);
    background: var(--gaanate-conversation-surface); width: 100%;
    padding: 0 calc(var(--gaanate-chat-inline-gutter) + var(--gaanate-chat-conversation-padding));
}
body.gaanate-conversation-page-template .gaanate-game .game-composer {
    position: absolute; bottom: 0; left: 0; right: 0; transform: none; width: 100%;
    background: var(--gaanate-conversation-surface); border-color: var(--gaanate-conversation-border);
    padding: 12px calc(var(--gaanate-chat-inline-gutter) + var(--gaanate-chat-input-padding));
    color: var(--gaanate-conversation-text);
}
body.gaanate-conversation-page-template .gaanate-game .game-composer input {
    font-family: 'DejaVu Sans', sans-serif; font-size: 15px; line-height: 1.6;
    border-color: var(--gaanate-conversation-border); color: var(--gaanate-conversation-text);
}
body.gaanate-conversation-page-template .gaanate-game .game-composer input:disabled { background: var(--gaanate-conversation-subtle); }
body.gaanate-conversation-page-template .gaanate-game .game-composer button {
    background: var(--gaanate-conversation-text); color: var(--gaanate-conversation-surface);
    border-color: var(--gaanate-conversation-border);
}
body.gaanate-conversation-page-template .gaanate-conversation-app [data-restart] { display: none; }
body.gaanate-conversation-page-template .gaanate-conversation-page__actions:empty { display: none; }
body.gaanate-conversation-page-template .gaanate-conversation-page__actions {
    display: flex; justify-content: flex-end;
}
.gaanate-conversation-page__controls { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
body.gaanate-conversation-page-template .gaanate-conversation-page__actions [data-game-restart] {
    border-radius: 50%; width: var(--gaanate-chat-toggle-size); height: var(--gaanate-chat-toggle-size);
    padding: 0; font-size: 20px; color: var(--gaanate-conversation-text);
}
.gaanate-conversation-enhanced .gaanate-conversation__message .message-content > :last-child { margin-bottom: 0; }
body.gaanate-conversation-page-template .gaanate-game {
    --game-carousel-bleed: calc(var(--gaanate-chat-inline-gutter) + var(--gaanate-chat-conversation-padding));
}
body.gaanate-conversation-page-template .gaanate-conversation-page__actions button {
    background: var(--gaanate-conversation-surface); color: var(--gaanate-conversation-muted);
    border: 1px solid var(--gaanate-conversation-border); border-radius: 4px;
    font: inherit; font-size: 12px; min-height: 44px; padding: 8px 12px;
}
body.gaanate-conversation-page-template .gaanate-conversation-page__actions button:hover { background: var(--gaanate-conversation-subtle); }
body.gaanate-conversation-page-template .gaanate-conversation-page__actions button:focus-visible {
    outline: 2px solid var(--gaanate-conversation-focus); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    body.gaanate-conversation-page-template .gaanate-conversation-page__header {
        transition: none !important;
    }
    body.gaanate-conversation-page-template .gaanate-conversation__log { scroll-behavior: auto !important; }
}

.mwai-chatbot-container .mwai-timeless-theme .mwai-conversation .mwai-reply.mwai-user,
.gaanate-conversation-enhanced .gaanate-conversation__message--user {
    background: var(--gaanate-conversation-user-bg);
    border: 0;
    align-self: flex-end;
    color: var(--gaanate-conversation-user-text);
}

html.gaanate-dark-mode .mwai-chatbot-container .mwai-timeless-theme .mwai-conversation .mwai-reply.mwai-user,
html.gaanate-dark-mode .gaanate-conversation-enhanced .gaanate-conversation__message--user {
    border-color: var(--gaanate-dark-accent);
    color: var(--gaanate-conversation-user-text);
}

@media (max-width: 760px) {
    .mwai-chatbot-container .mwai-timeless-theme .mwai-conversation .mwai-reply,
    .gaanate-conversation-enhanced .gaanate-conversation__message {
        max-width: 90%;
        padding: 9px 12px;
    }
}

html.gaanate-dark-mode body.gaanate-conversation-page-template .gaanate-conversation-page__header {
    background: var(--gaanate-dark-box);
    border-bottom-color: var(--gaanate-dark-border);
    box-shadow: none;
}

html.gaanate-dark-mode body.gaanate-conversation-page-template .gaanate-conversation-page__article {
    border-left-color: var(--gaanate-dark-border);
    border-right-color: var(--gaanate-dark-border);
}

html.gaanate-dark-mode body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle {
    background: var(--gaanate-dark-meta);
    border-color: var(--gaanate-dark-border);
    color: var(--gaanate-dark-text);
}

html.gaanate-dark-mode body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle:hover,
html.gaanate-dark-mode body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle:focus {
    background: var(--gaanate-dark-box);
    border-color: rgba(255, 250, 235, 0.28);
    color: var(--gaanate-dark-text);
}

html.gaanate-dark-mode body.gaanate-conversation-page-template .gaanate-conversation-page__header .gaanate-theme-toggle:focus-visible {
    outline-color: var(--gaanate-dark-focus-border);
}

body.gaanate-conversation-page-template .gaanate-conversation-page__article {
    position: relative;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header {
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(0);
    width: 100%;
}

body.gaanate-conversation-page-template .gaanate-conversation-page__header.is-scroll-hidden {
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-100%);
    transition: opacity 180ms ease-out, transform 180ms ease-out,
        visibility 0s linear 180ms;
    visibility: hidden;
}

@media screen and (max-width: 619px) {
    body.gaanate-conversation-page-template .gaanate-conversation-page__article { border-left: 0; border-right: 0; }
}

@media screen and (max-width: 59.6874em) {
    body.gaanate-conversation-page-template #content {
        margin: 0;
        width: 100%;
    }
}

@media screen and (max-width: 48.875em) {
    body.gaanate-conversation-page-template.admin-bar {
        --gaanate-chat-admin-bar-height: 46px;
    }
}

@media screen and (max-width: 38.749em) {
    body.gaanate-conversation-page-template {
        --gaanate-chat-conversation-padding: 14px;
        --gaanate-chat-input-padding: 12px;
        --gaanate-chat-toggle-size: 42px;
    }
}
