/*
 * MissGPT theme contract.
 *
 * The document/body rules below only provide the shared dark tokens. Every
 * page surface is scoped to its own route marker so a pricing or chat panel
 * cannot accidentally repaint another page.
 */
:root.dark {
  color-scheme: dark;
  --mg-theme-bg: #15130f;
  --mg-theme-paper: #1d1a16;
  --mg-theme-panel: #24211c;
  --mg-theme-panel-strong: #2b2721;
  --mg-theme-ink: #f1eee8;
  --mg-theme-muted: rgba(241, 238, 232, .68);
  --mg-theme-line: rgba(241, 238, 232, .16);
  --mg-text-primary: #f1eee8;
  --mg-text-secondary: rgba(241, 238, 232, .78);
  --mg-text-quiet: rgba(241, 238, 232, .68);
  --muted: var(--mg-text-secondary);
}

html.dark,
html.dark body {
  background-color: var(--mg-theme-bg) !important;
  color: var(--mg-theme-ink) !important;
}

body.dark,
body[data-missgpt-theme="dark"] {
  color-scheme: dark;
  --color-background: var(--mg-theme-bg);
  --color-foreground: var(--mg-theme-ink);
  --color-muted: var(--mg-theme-muted);
  --bg: var(--mg-theme-bg);
  --paper: var(--mg-theme-paper);
  --ink: var(--mg-theme-ink);
  --text: var(--mg-theme-ink);
  --muted: var(--mg-theme-muted);
  --line: var(--mg-theme-line);
  --hairline: var(--mg-theme-line);
  --panel: var(--mg-theme-panel);
  background-color: var(--mg-theme-bg) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark body {
  transition: background-color .2s ease, color .2s ease;
}

/* The shared navigation is still route-scoped: it is not a global surface. */
html.dark[data-missgpt-page] .nav-menu-bg-inner,
html.dark[data-missgpt-page] .nav-menu-inner,
html.dark .mirror-page .nav-menu-bg-inner,
html.dark .mirror-page .nav-menu-inner {
  background: var(--mg-theme-panel) !important;
  color: var(--mg-theme-ink) !important;
}

/* The shared header sits beside (not inside) the mirrored route wrapper in
 * Next, so its opened menu needs a small, route-independent dark surface. */
html.dark .nav-menu-bg-inner,
html.dark .nav-menu-inner {
  background: var(--mg-theme-panel) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark .nav-menu-inner a {
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page] .nav-menu-inner a,
html.dark .mirror-page .nav-menu-inner a {
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page] .nav-menu-inner .text-foreground\/50,
html.dark .mirror-page .nav-menu-inner .text-foreground\/50 {
  color: var(--mg-theme-muted) !important;
}

html.dark[data-missgpt-page] .nav-menu-inner .divider-line,
html.dark .mirror-page .nav-menu-inner .divider-line {
  border-color: var(--mg-theme-line) !important;
}

/* Shared control, link, and border treatment inside each page shell. */
html.dark[data-missgpt-page="home"] body,
html.dark[data-missgpt-page="services"] body,
html.dark[data-missgpt-page="approach"] body,
html.dark .mirror-page-home,
html.dark .mirror-page-services,
html.dark .mirror-page-approach {
  background: var(--mg-theme-bg) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="services"] .nav-menu-bg-inner,
html.dark[data-missgpt-page="approach"] .nav-menu-bg-inner,
html.dark[data-missgpt-page="home"] .nav-menu-bg-inner,
html.dark .mirror-page-services .nav-menu-bg-inner,
html.dark .mirror-page-approach .nav-menu-bg-inner,
html.dark .mirror-page-home .nav-menu-bg-inner {
  background: var(--mg-theme-panel) !important;
}

html.dark[data-missgpt-page] .missgpt-theme-toggle,
html.dark .mirror-page .missgpt-theme-toggle {
  border-color: var(--mg-theme-line) !important;
  background: rgba(241, 238, 232, .12) !important;
  color: var(--mg-theme-ink) !important;
}

/* Assistant profile: hero, detail sections, cards, and proof surfaces. */
html.dark[data-missgpt-page="profile"] .missgpt-lite-shell,
html.dark .mirror-page-profile {
  background: linear-gradient(180deg, #1a1815 0%, #15130f 52%, #11100e 100%) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="profile"] .missgpt-profile-hero,
html.dark .mirror-page-profile .missgpt-profile-hero,
html.dark[data-missgpt-page="profile"] .missgpt-detail-section,
html.dark .mirror-page-profile .missgpt-detail-section,
html.dark[data-missgpt-page="profile"] .missgpt-lite-footer,
html.dark .mirror-page-profile .missgpt-lite-footer {
  background: var(--mg-theme-bg) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="profile"] .missgpt-profile-media,
html.dark .mirror-page-profile .missgpt-profile-media,
html.dark .mirror-page-profile main > .min-h-screen > div > section.relative.min-h-screen:first-child > div.absolute.inset-x-4 {
  background: #28241e !important;
  box-shadow: 0 36px 90px rgba(0, 0, 0, .42) !important;
}

html.dark[data-missgpt-page="profile"] .missgpt-mini-card,
html.dark[data-missgpt-page="profile"] .missgpt-feature,
html.dark[data-missgpt-page="profile"] .missgpt-proof-card,
html.dark[data-missgpt-page="profile"] .missgpt-showcase-card,
html.dark .mirror-page-profile .missgpt-mini-card,
html.dark .mirror-page-profile .missgpt-feature,
html.dark .mirror-page-profile .missgpt-proof-card,
html.dark .mirror-page-profile .missgpt-showcase-card {
  border-color: var(--mg-theme-line) !important;
  background: var(--mg-theme-panel) !important;
  color: var(--mg-theme-ink) !important;
  box-shadow: 0 20px 64px rgba(0, 0, 0, .22) !important;
}

html.dark[data-missgpt-page="profile"] .missgpt-profile-copy h1,
html.dark[data-missgpt-page="profile"] .missgpt-profile-content,
html.dark[data-missgpt-page="profile"] .missgpt-profile-content h1,
html.dark[data-missgpt-page="profile"] .missgpt-profile-content h2,
html.dark[data-missgpt-page="profile"] .missgpt-profile-content h3,
html.dark[data-missgpt-page="profile"] .missgpt-mini-card strong,
html.dark[data-missgpt-page="profile"] .missgpt-mini-card span,
html.dark[data-missgpt-page="profile"] .missgpt-mini-card p,
html.dark[data-missgpt-page="profile"] .missgpt-skills span,
html.dark[data-missgpt-page="profile"] .missgpt-detail-section h2,
html.dark[data-missgpt-page="profile"] .missgpt-detail-section p,
html.dark[data-missgpt-page="profile"] .missgpt-proof-card strong,
html.dark[data-missgpt-page="profile"] .missgpt-proof-card span,
html.dark .mirror-page-profile .missgpt-profile-copy h1,
html.dark .mirror-page-profile .missgpt-profile-content,
html.dark .mirror-page-profile .missgpt-profile-content h1,
html.dark .mirror-page-profile .missgpt-profile-content h2,
html.dark .mirror-page-profile .missgpt-profile-content h3,
html.dark .mirror-page-profile .missgpt-mini-card strong,
html.dark .mirror-page-profile .missgpt-mini-card span,
html.dark .mirror-page-profile .missgpt-mini-card p,
html.dark .mirror-page-profile .missgpt-skills span,
html.dark .mirror-page-profile .missgpt-detail-section h2,
html.dark .mirror-page-profile .missgpt-detail-section p,
html.dark .mirror-page-profile .missgpt-proof-card strong,
html.dark .mirror-page-profile .missgpt-proof-card span {
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="profile"] .missgpt-skills span,
html.dark .mirror-page-profile .missgpt-skills span {
  border-color: var(--mg-theme-line) !important;
  background: var(--mg-theme-panel-strong) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="profile"] .missgpt-back,
html.dark[data-missgpt-page="profile"] .missgpt-eyebrow,
html.dark[data-missgpt-page="profile"] .missgpt-detail-kicker,
html.dark[data-missgpt-page="profile"] .missgpt-slogan,
html.dark[data-missgpt-page="profile"] .missgpt-lead,
html.dark[data-missgpt-page="profile"] .missgpt-role,
html.dark .mirror-page-profile .missgpt-back,
html.dark .mirror-page-profile .missgpt-eyebrow,
html.dark .mirror-page-profile .missgpt-detail-kicker,
html.dark .mirror-page-profile .missgpt-slogan,
html.dark .mirror-page-profile .missgpt-lead,
html.dark .mirror-page-profile .missgpt-role {
  color: var(--mg-theme-muted) !important;
}

html.dark[data-missgpt-page="profile"] .missgpt-action.secondary,
html.dark .mirror-page-profile .missgpt-action.secondary {
  background: rgba(241, 238, 232, .12) !important;
  color: var(--mg-theme-ink) !important;
}

/* Chat: dark shell, readable history, composer, suggestions, and messages. */
html.dark[data-missgpt-page="chat"] .missgpt-chat-shell,
html.dark .mirror-page-chat .missgpt-chat-shell,
html.dark .mirror-page-chat {
  background: radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .06), transparent 34%), linear-gradient(180deg, #171512 0%, #1d1a16 58%, #12110e 100%) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-side,
html.dark[data-missgpt-page="chat"] .missgpt-chat-main,
html.dark[data-missgpt-page="chat"] .missgpt-chat-top,
html.dark[data-missgpt-page="chat"] .missgpt-chat-composer,
html.dark[data-missgpt-page="chat"] .missgpt-chat-suggestion,
html.dark .mirror-page-chat .missgpt-chat-side,
html.dark .mirror-page-chat .missgpt-chat-main,
html.dark .mirror-page-chat .missgpt-chat-top,
html.dark .mirror-page-chat .missgpt-chat-composer,
html.dark .mirror-page-chat .missgpt-chat-suggestion {
  border-color: var(--mg-theme-line) !important;
  background: rgba(37, 33, 28, .92) !important;
  color: var(--mg-theme-ink) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .28) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-composer-wrap,
html.dark .mirror-page-chat .missgpt-chat-composer-wrap {
  background: linear-gradient(180deg, rgba(21, 19, 15, 0), rgba(21, 19, 15, .96) 28%, #15130f) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-title,
html.dark[data-missgpt-page="chat"] .missgpt-chat-title span,
html.dark[data-missgpt-page="chat"] .missgpt-chat-title strong,
html.dark[data-missgpt-page="chat"] .missgpt-chat-side-note,
html.dark[data-missgpt-page="chat"] .missgpt-chat-current,
html.dark[data-missgpt-page="chat"] .missgpt-chat-current span,
html.dark[data-missgpt-page="chat"] .missgpt-chat-current strong,
html.dark[data-missgpt-page="chat"] .missgpt-chat-status,
html.dark[data-missgpt-page="chat"] .missgpt-chat-footnote,
html.dark[data-missgpt-page="chat"] .missgpt-chat-history-kicker,
html.dark[data-missgpt-page="chat"] .missgpt-chat-history-title,
html.dark[data-missgpt-page="chat"] .missgpt-chat-history-item span,
html.dark[data-missgpt-page="chat"] .missgpt-chat-history-item small,
html.dark[data-missgpt-page="chat"] .missgpt-chat-history-empty,
html.dark[data-missgpt-page="chat"] .missgpt-chat-history-foot span,
html.dark[data-missgpt-page="chat"] .missgpt-chat-history-clear,
html.dark[data-missgpt-page="chat"] .missgpt-chat-meta,
html.dark[data-missgpt-page="chat"] .missgpt-chat-label,
html.dark[data-missgpt-page="chat"] .missgpt-chat-hint,
html.dark .mirror-page-chat .missgpt-chat-title,
html.dark .mirror-page-chat .missgpt-chat-title span,
html.dark .mirror-page-chat .missgpt-chat-title strong,
html.dark .mirror-page-chat .missgpt-chat-side-note,
html.dark .mirror-page-chat .missgpt-chat-current,
html.dark .mirror-page-chat .missgpt-chat-current span,
html.dark .mirror-page-chat .missgpt-chat-current strong,
html.dark .mirror-page-chat .missgpt-chat-status,
html.dark .mirror-page-chat .missgpt-chat-footnote,
html.dark .mirror-page-chat .missgpt-chat-history-kicker,
html.dark .mirror-page-chat .missgpt-chat-history-title,
html.dark .mirror-page-chat .missgpt-chat-history-item span,
html.dark .mirror-page-chat .missgpt-chat-history-item small,
html.dark .mirror-page-chat .missgpt-chat-history-empty,
html.dark .mirror-page-chat .missgpt-chat-history-foot span,
html.dark .mirror-page-chat .missgpt-chat-history-clear {
  color: var(--mg-theme-muted) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-history-title,
html.dark .mirror-page-chat .missgpt-chat-history-title {
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-history-new,
html.dark[data-missgpt-page="chat"] .missgpt-auth-chip,
html.dark[data-missgpt-page="chat"] .missgpt-model-tier-button,
html.dark .mirror-page-chat .missgpt-chat-history-new,
html.dark .mirror-page-chat .missgpt-auth-chip,
html.dark .mirror-page-chat .missgpt-model-tier-button {
  border-color: var(--mg-theme-line) !important;
  background: var(--mg-theme-panel-strong) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-title,
html.dark[data-missgpt-page="chat"] .missgpt-chat-title strong,
html.dark[data-missgpt-page="chat"] .missgpt-chat-input,
html.dark .mirror-page-chat .missgpt-chat-title,
html.dark .mirror-page-chat .missgpt-chat-title strong,
html.dark .mirror-page-chat .missgpt-chat-input {
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-suggestion:hover,
html.dark .mirror-page-chat .missgpt-chat-suggestion:hover {
  border-color: var(--mg-theme-line) !important;
  background: var(--mg-theme-panel-strong) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-bubble,
html.dark .mirror-page-chat .missgpt-bubble {
  border-color: var(--mg-theme-line) !important;
  background: #2a2620 !important;
  color: var(--mg-theme-ink) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .2) !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-message-row.user .missgpt-bubble,
html.dark .mirror-page-chat .missgpt-message-row.user .missgpt-bubble {
  border-color: #ede9e2 !important;
  background: #ede9e2 !important;
  color: #12110f !important;
}

html.dark[data-missgpt-page="chat"] .missgpt-chat-input::placeholder,
html.dark .mirror-page-chat .missgpt-chat-input::placeholder {
  color: rgba(241, 238, 232, .46) !important;
}

/* Pricing: each plan, refill, usage, and FAQ card gets its own dark surface. */
html.dark[data-missgpt-page="pricing"] .pricing-shell,
html.dark .mirror-page-pricing .pricing-shell,
html.dark .mirror-page-pricing {
  background: linear-gradient(180deg, #1a1815 0%, #15130f 100%) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="pricing"] .pricing-shell .plan:not(.is-featured),
html.dark[data-missgpt-page="pricing"] .pricing-shell .refill,
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-card:not(.is-dark),
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-note,
html.dark[data-missgpt-page="pricing"] .pricing-shell .faq-item,
html.dark .mirror-page-pricing .plan:not(.is-featured),
html.dark .mirror-page-pricing .refill,
html.dark .mirror-page-pricing .usage-card:not(.is-dark),
html.dark .mirror-page-pricing .usage-note,
html.dark .mirror-page-pricing .faq-item {
  border-color: var(--mg-theme-line) !important;
  background: var(--mg-theme-panel) !important;
  color: var(--mg-theme-ink) !important;
  box-shadow: 0 20px 64px rgba(0, 0, 0, .22) !important;
}

html.dark[data-missgpt-page="pricing"] .pricing-shell .plan.is-featured,
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-card.is-dark,
html.dark .mirror-page-pricing .plan.is-featured,
html.dark .mirror-page-pricing .usage-card.is-dark {
  background: #0f0e0c !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="pricing"] .pricing-shell h1,
html.dark[data-missgpt-page="pricing"] .pricing-shell h2,
html.dark[data-missgpt-page="pricing"] .pricing-shell h3,
html.dark[data-missgpt-page="pricing"] .pricing-shell .refill strong,
html.dark[data-missgpt-page="pricing"] .pricing-shell .refill span,
html.dark[data-missgpt-page="pricing"] .pricing-shell .refill p,
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-card h3,
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-card p,
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-list li,
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-note span,
html.dark[data-missgpt-page="pricing"] .pricing-shell .usage-note p,
html.dark[data-missgpt-page="pricing"] .pricing-shell .faq-item strong,
html.dark[data-missgpt-page="pricing"] .pricing-shell .faq-item p,
html.dark[data-missgpt-page="pricing"] .pricing-shell .pricing-payment-status,
html.dark .mirror-page-pricing h1,
html.dark .mirror-page-pricing h2,
html.dark .mirror-page-pricing h3,
html.dark .mirror-page-pricing .refill strong,
html.dark .mirror-page-pricing .refill span,
html.dark .mirror-page-pricing .refill p,
html.dark .mirror-page-pricing .usage-card h3,
html.dark .mirror-page-pricing .usage-card p,
html.dark .mirror-page-pricing .usage-list li,
html.dark .mirror-page-pricing .usage-note span,
html.dark .mirror-page-pricing .usage-note p,
html.dark .mirror-page-pricing .faq-item strong,
html.dark .mirror-page-pricing .faq-item p,
html.dark .mirror-page-pricing .pricing-payment-status {
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="pricing"] .pricing-shell .pricing-kicker,
html.dark[data-missgpt-page="pricing"] .pricing-shell .section-kicker,
html.dark[data-missgpt-page="pricing"] .pricing-shell .plan-label,
html.dark[data-missgpt-page="pricing"] .pricing-shell .plan-model,
html.dark[data-missgpt-page="pricing"] .pricing-shell .pricing-footer,
html.dark .mirror-page-pricing .pricing-kicker,
html.dark .mirror-page-pricing .section-kicker,
html.dark .mirror-page-pricing .plan-label,
html.dark .mirror-page-pricing .plan-model,
html.dark .mirror-page-pricing .pricing-footer {
  color: var(--mg-theme-muted) !important;
}

/* Terms, privacy, and payments share the legal page surface contract. */
html.dark[data-missgpt-page="legal"] .terms-shell,
html.dark[data-missgpt-page="legal"] .privacy-shell,
html.dark .mirror-page-terms .terms-shell,
html.dark .mirror-page-privacy .privacy-shell,
html.dark .mirror-page-payments .terms-shell,
html.dark .mirror-page-legal {
  background: linear-gradient(180deg, #1a1815 0%, #15130f 100%) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="legal"] .terms-toc,
html.dark[data-missgpt-page="legal"] .terms-section,
html.dark[data-missgpt-page="legal"] .privacy-toc,
html.dark[data-missgpt-page="legal"] .privacy-content,
html.dark .mirror-page-terms .terms-toc,
html.dark .mirror-page-terms .terms-section,
html.dark .mirror-page-privacy .privacy-toc,
html.dark .mirror-page-privacy .privacy-content,
html.dark .mirror-page-payments .terms-toc,
html.dark .mirror-page-payments .terms-section {
  border-color: var(--mg-theme-line) !important;
  background: var(--mg-theme-panel) !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="legal"] .terms-note,
html.dark[data-missgpt-page="legal"] .privacy-note,
html.dark .mirror-page-terms .terms-note,
html.dark .mirror-page-privacy .privacy-note,
html.dark .mirror-page-payments .terms-note {
  background: #0f0e0c !important;
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="legal"] .terms-shell h1,
html.dark[data-missgpt-page="legal"] .terms-shell h2,
html.dark[data-missgpt-page="legal"] .terms-shell h3,
html.dark[data-missgpt-page="legal"] .terms-lead,
html.dark[data-missgpt-page="legal"] .terms-updated,
html.dark[data-missgpt-page="legal"] .terms-kicker,
html.dark[data-missgpt-page="legal"] .terms-toc strong,
html.dark[data-missgpt-page="legal"] .terms-toc a,
html.dark[data-missgpt-page="legal"] .terms-section p,
html.dark[data-missgpt-page="legal"] .terms-section li,
html.dark[data-missgpt-page="legal"] .terms-footer,
html.dark[data-missgpt-page="legal"] .privacy-content,
html.dark[data-missgpt-page="legal"] .privacy-toc,
html.dark[data-missgpt-page="legal"] .privacy-toc strong,
html.dark[data-missgpt-page="legal"] .privacy-toc a,
html.dark[data-missgpt-page="legal"] .privacy-footer,
html.dark .mirror-page-terms h1,
html.dark .mirror-page-terms h2,
html.dark .mirror-page-terms h3,
html.dark .mirror-page-terms .terms-lead,
html.dark .mirror-page-terms .terms-updated,
html.dark .mirror-page-terms .terms-kicker,
html.dark .mirror-page-terms .terms-toc strong,
html.dark .mirror-page-terms .terms-toc a,
html.dark .mirror-page-terms .terms-section p,
html.dark .mirror-page-terms .terms-section li,
html.dark .mirror-page-terms .terms-footer,
html.dark .mirror-page-privacy .privacy-content,
html.dark .mirror-page-privacy .privacy-toc,
html.dark .mirror-page-privacy .privacy-toc strong,
html.dark .mirror-page-privacy .privacy-toc a,
html.dark .mirror-page-privacy .privacy-footer,
html.dark .mirror-page-payments .terms-lead,
html.dark .mirror-page-payments .terms-toc,
html.dark .mirror-page-payments .terms-section {
  color: var(--mg-theme-ink) !important;
}

html.dark[data-missgpt-page="legal"] .terms-shell p,
html.dark[data-missgpt-page="legal"] .terms-shell li,
html.dark[data-missgpt-page="legal"] .privacy-shell p,
html.dark[data-missgpt-page="legal"] .privacy-shell li,
html.dark .mirror-page-terms .terms-shell p,
html.dark .mirror-page-terms .terms-shell li,
html.dark .mirror-page-privacy .privacy-shell p,
html.dark .mirror-page-privacy .privacy-shell li,
html.dark .mirror-page-payments .terms-shell p,
html.dark .mirror-page-payments .terms-shell li {
  color: var(--mg-theme-muted) !important;
}

html.dark[data-missgpt-page="legal"] .terms-footer,
html.dark[data-missgpt-page="legal"] .privacy-footer,
html.dark .mirror-page-terms .terms-footer,
html.dark .mirror-page-privacy .privacy-footer,
html.dark .mirror-page-payments .terms-footer {
  border-color: var(--mg-theme-line) !important;
}

/* Keep intentional light controls and user bubbles legible on dark surfaces. */
html.dark[data-missgpt-page] .missgpt-chat-send,
html.dark[data-missgpt-page] .missgpt-action.primary,
html.dark[data-missgpt-page] .payment-button,
html.dark .mirror-page .missgpt-chat-send,
html.dark .mirror-page .missgpt-action.primary,
html.dark .mirror-page .payment-button {
  background: #ede9e2 !important;
  color: #12110f !important;
}

@media (prefers-reduced-motion: reduce) {
  .missgpt-theme-toggle { transition: none; }
}
