/* Web-chat presentation only. Keep artwork, status colours and primary actions intact. */
body.app-black-surfaces {
    --bg: #000;
    --surface: #000;
    --active-surface: #000;
    --border: #343434;
    color-scheme: dark;
}
body.app-black-surfaces :is(
    .sidebar, .sidebar-full, .sidebar-mini, .sidebar-header, .sidebar-footer,
    .profile-btn, .profile-dropdown, .mini-profile-dropdown, .model-dropdown,
    .auth-modal, .auth-mode-switch, .auth-selected-email,
    .settings-modal, .settings-nav, .settings-content, .settings-header,
    .settings-pill, .settings-device-item,
    .plan-modal, .plan-modal-content, .plan-card, .plan-card.selected,
    .plan-quotas, .plan-billing-toggle, .plan-country-badge, .plan-billing-info,
    .plan-media, .trial-offer-modal,
    .confirm-modal, .notification, .upgrade-toast, .cookie-consent-panel,
    .pending-attachment-window, .attachment-strip-card, .attachment-strip-preview,
    .attachment-strip-meta.is-image-meta, .message-attachment-card, .edit-attachment-card,
    .image-lightbox, .image-lightbox-frame, .message-preview,
    .code-terminal, .code-terminal-header, .code-terminal-body,
    .voice-recorder-bar, .input-container, .input-container:focus-within
) {
    background-color: #000 !important;
    background-image: none !important;
}
/* The portaled response-level menu has ID-specific inline-page rules. */
body.app-black-surfaces #modelDropdown {
    background: #000 !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
body.app-black-surfaces :is(
    .history-search, .history-search:focus, .history-item-input, .history-item-input:focus,
    .auth-email input, .auth-selected-email, #authRegisterVerifyCode,
    .prompt-input, .settings-input
) {
    background-color: #000 !important;
    color: #f4f4f4;
    caret-color: #fff;
}
body.app-black-surfaces :is(
    .auth-inline-actions .link-btn, .auth-btn:not(.primary),
    .trial-offer-btn.secondary, .cookie-consent-btn.secondary,
    .settings-nav button, .settings-nav button:hover, .settings-nav button.active,
    .auth-mode-btn, .auth-mode-btn.active,
    .profile-menu-item:hover, .mini-menu-item:hover, .model-option:hover,
    .model-option.active, .history-item.active, .history-item:hover,
    .scroll-nav-btn, .scroll-nav-btn:hover
) {
    background-color: #000 !important;
}
body.app-black-surfaces :is(
    .profile-dropdown, .mini-profile-dropdown, .model-dropdown,
    .settings-modal, .auth-modal, .plan-modal, .confirm-modal,
    .trial-offer-modal, .notification, .upgrade-toast, .cookie-consent-panel,
    .pending-attachment-window, .voice-recorder-bar
) {
    border: 1px solid #3b3b3b;
    box-shadow: 0 14px 48px #000a;
}
body.app-black-surfaces .sidebar { border-right: 1px solid #292929; }
body.app-black-surfaces .input-container { border: 1px solid #484848; }
body.app-black-surfaces .input-container:focus-within { border-color: #858585; }
body.app-black-surfaces :is(
    .settings-nav button.active, .auth-mode-btn.active,
    .model-option.active, .history-item.active
) { box-shadow: inset 0 0 0 1px #777; }
body.app-black-surfaces :is(
    .settings-nav button:hover, .auth-mode-btn:hover,
    .profile-menu-item:hover, .mini-menu-item:hover, .model-option:hover,
    .history-item:hover
) { outline: 1px solid #555; outline-offset: -1px; }
body.app-black-surfaces :is(button,a,input,textarea,select):focus-visible {
    outline: 2px solid #89bfff;
    outline-offset: 3px;
}
body.app-black-surfaces #messageInput:focus-visible {
    outline: none;
}
body.app-black-surfaces #authViewRegisterVerify :is(.auth-selected-email,#authRegisterVerifyCode,.link-btn),
body.app-black-surfaces #authModalBackdrop:has(#authViewRegisterVerify.active) :is(#authSuccess,#authError) {
    background-color: #000 !important;
}
/* Prevent the original bright promotional panel from becoming a grey/coloured window. */
body.app-black-surfaces .trial-offer-hero {
    background: #000;
    border-bottom: 1px solid #343434;
}
body.app-black-surfaces .trial-offer-pill { background: #000; border: 1px solid #777; }
