/*
 * Public attendee color schemes.
 *
 * The preference/resolution code is shared with Message Center and sets
 * html[data-theme="light|dark"] before stylesheets load. Public themes keep
 * their own palettes; these rules cover the default Tailwind public shell and
 * the shared single-icon color-scheme control.
 */

.tw-public-color-scheme {
  --public-canvas: #f8fafc;
  --public-surface: #ffffff;
  --public-surface-raised: #ffffff;
  --public-surface-inset: #f1f5f9;
  --public-border: #e2e8f0;
  --public-border-strong: #cbd5e1;
  --public-text: #0f172a;
  --public-text-secondary: #475569;
  --public-text-muted: #64748b;
  --public-text-quiet: #94a3b8;
  --public-accent: #31439b;
  --public-accent-strong: #253274;
  --public-accent-soft: #eceef9;
  --public-focus: rgba(49, 67, 155, 0.22);
  --public-shadow: rgba(15, 23, 42, 0.12);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) {
  --public-canvas: #0b1018;
  --public-surface: #111827;
  --public-surface-raised: #182231;
  --public-surface-inset: #0f172a;
  --public-border: #263244;
  --public-border-strong: #3b4a60;
  --public-text: #f8fafc;
  --public-text-secondary: #cbd5e1;
  --public-text-muted: #94a3b8;
  --public-text-quiet: #718096;
  --public-accent: #aeb9ff;
  --public-accent-strong: #cad1ff;
  --public-accent-soft: #1d2857;
  --public-focus: rgba(174, 185, 255, 0.3);
  --public-shadow: rgba(0, 0, 0, 0.42);
  background: var(--public-canvas);
  color: var(--public-text);
  color-scheme: dark;
}

/* Shared one-button control. Theme stylesheets load after this file, so the
 * important declarations intentionally keep the control compact and stable. */
.tw-public-color-scheme .ait-color-scheme-switcher {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  color: inherit;
}

.tw-public-color-scheme .ait-color-scheme-switcher .ait-color-scheme-toggle {
  display: inline-flex !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--public-border-strong, currentColor) !important;
  border-radius: 9999px !important;
  background: var(--public-surface, transparent) !important;
  padding: 0 !important;
  color: var(--public-text-secondary, currentColor) !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.tw-public-color-scheme .ait-color-scheme-switcher .ait-color-scheme-toggle:hover,
.tw-public-color-scheme .ait-color-scheme-switcher .ait-color-scheme-toggle:focus-visible {
  border-color: var(--public-accent, currentColor) !important;
  background: var(--public-surface-inset, transparent) !important;
  color: var(--public-text, currentColor) !important;
  outline: 2px solid var(--public-focus, currentColor) !important;
  outline-offset: 2px !important;
}

.tw-public-color-scheme .ait-color-scheme-toggle span,
.tw-public-color-scheme .ait-color-scheme-toggle svg {
  display: block;
  width: 19px;
  height: 19px;
}

.tw-public-color-scheme .ait-color-scheme-toggle span[hidden] {
  display: none !important;
}

.tw-public-color-scheme .ait-footer-logo-dark {
  display: none !important;
}

/* Default public shell */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-footer,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mobile-menu] {
  border-color: var(--public-border) !important;
  background: var(--public-surface) !important;
  color: var(--public-text);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header a,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header button,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header summary,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header .tw-site-logo-text {
  color: var(--public-text-secondary);
}

/* Blend the sticker-style wordmark into the dark header slightly. Its white
 * outline remains crisp, but no longer reads as a full-bright light source. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header .tw-site-logo img {
  opacity: 0.82 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-footer-logo-light {
  display: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-footer-logo-dark {
  display: block !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-tab-link-active,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header a:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-site-header button:hover {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) > .min-h-screen,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #main-container,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page {
  background-color: var(--public-canvas) !important;
  color: var(--public-text);
}

/* Common Tailwind light surfaces used across indexes, articles, event pages,
 * RSVP panels, talk pages, technology pages, and public forms. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-white"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-white/70"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-white/80"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-white/90"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-white/95"] {
  background-color: var(--public-surface) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-slate-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-slate-50/50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-[#eaeaea]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-[#f8fafc]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-[#f9fbff]"] {
  background-color: var(--public-canvas) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-slate-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-slate-100/70"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-[#eef2ff]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-[#eef4ff]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-[#dfe7ff]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-[#eceef9]"] {
  background-color: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-slate-200"] {
  background-color: var(--public-border) !important;
}

/* The mobile event summary uses a light Tailwind gradient over its surface.
 * Changing bg-white alone does not replace the gradient color stops, leaving
 * dark-mode text nearly invisible on a white card. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .mobile-event-experience__summary {
  background-image: linear-gradient(
    to bottom right,
    var(--public-surface),
    var(--public-surface),
    var(--public-surface-inset)
  ) !important;
}

/* Text hierarchy */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) h1,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) h2,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) h3,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) h4,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) h5,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) h6,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-950"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-800"] {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-700"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-600"] {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-500"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-400"] {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-slate-300"] {
  color: var(--public-text-quiet) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-[#31439b]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-[#3d53c2]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-[#5b6bcf]"] {
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-[#18214e]"] {
  color: var(--public-text) !important;
}

/* Button variants compile their Tailwind text utilities into semantic classes,
 * so the generic [class~="text-*"] rules above cannot see them. Keep every
 * shared public action legible against the dark surfaces. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-outline,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-secondary,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-low-profile-white {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-outline:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-outline:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-secondary:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-secondary:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-low-profile-white:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-low-profile-white:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
}

/*
 * Message Center dashboard controls need explicit state colors. The shared
 * outline-button treatment above keeps legacy buttons legible, but without
 * component states its active and inactive filters look identical.
 */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-range-btn,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-metric-btn,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .board-type-pill {
  background-color: var(--public-surface-inset) !important;
  border-color: var(--public-border-strong) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-range-btn:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-metric-btn:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .board-type-pill:hover {
  background-color: var(--public-surface-raised) !important;
  border-color: var(--public-accent) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-range-btn:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-metric-btn:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .board-type-pill:focus-visible {
  outline: 2px solid var(--public-focus) !important;
  outline-offset: 2px;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-range-btn.is-active,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-metric-btn.is-active {
  background-color: #27366f !important;
  border-color: #7f8ee3 !important;
  color: #eef0ff !important;
  box-shadow: inset 0 0 0 1px rgba(174, 185, 255, 0.16) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .board-type-pill.is-active {
  background-color: #18254a !important;
  border-color: #6476ce !important;
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-delta {
  border: 1px solid transparent;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-delta.positive {
  background-color: #0d2c24 !important;
  border-color: #245c4c !important;
  color: #6ee7b7 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-delta.negative {
  background-color: #35151d !important;
  border-color: #7f1d2d !important;
  color: #fda4af !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-delta.neutral {
  background-color: #1e293b !important;
  border-color: #475569 !important;
  color: #cbd5e1 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-trending-row {
  transition: background-color 140ms ease;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-trending-row:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-trending-row:focus-within,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard [data-role="post-views"] tbody tr:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard [data-role="post-views"] tbody tr:focus-within {
  background-color: rgba(99, 120, 214, 0.14) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-ghost {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-ghost:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-ghost:focus-visible {
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-link {
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-link:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-link:focus-visible {
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-subtle-link {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-subtle-link:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-button-subtle-link:focus-visible {
  color: var(--public-text-secondary) !important;
}

/* The homepage telemetry readout uses translucent light-mode utility classes
 * and an inline fallback color because it is also rendered from cache. Its
 * stable component hook gives it a deliberate dark treatment instead of
 * allowing the white translucency to become a gray slab. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-telemetry-readout {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: 0 8px 24px var(--public-shadow) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-telemetry-readout .text-slate-950 {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-telemetry-readout .text-slate-500 {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-telemetry-readout .text-slate-300 {
  color: var(--public-border-strong) !important;
}

/* Preserve the homepage hero's soft metallic depth in dark mode without
 * allowing the light-authored ambient glows to compete with its headline. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-glow-left {
  opacity: 0.52 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-glow-center {
  opacity: 0.48 !important;
}

/* The eyebrow's light-mode text-blue-700 is too subdued against the translated
 * dark accent surface. Keep the compact pill muted, but lift its copy and dot
 * to the palette's accessible strong accent. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-eyebrow,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-eyebrow i {
  color: var(--public-accent-strong) !important;
}

/* The desktop city-event banner uses a brand navy that is intentionally dark
 * on the light card. Promote the event title to primary text on dark cards. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-upcoming-event-title {
  color: var(--public-text) !important;
}

/* Keep the organizer-only action visually secondary to the attendee CTA.
 * This component hook also protects cached event-banner markup from reverting
 * to the white light-mode button surface. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-upcoming-event-review-button,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) a.tw-button-secondary[href*="/screen-rsvps"] {
  border: 1px solid var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-upcoming-event-review-button:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-upcoming-event-review-button:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) a.tw-button-secondary[href*="/screen-rsvps"]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) a.tw-button-secondary[href*="/screen-rsvps"]:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus);
  outline-offset: 2px;
}

/* City and event contact cards historically had a legacy stylesheet that
 * forced a white background with !important. Style the stable contact hooks
 * directly so both the Tailwind component and cached legacy markup are dark. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message {
  border: 1px solid var(--public-border-strong) !important;
  background: var(--public-surface-raised) !important;
  color: var(--public-text) !important;
  box-shadow: 0 10px 28px var(--public-shadow) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message:hover {
  border-color: var(--public-accent) !important;
  background: #1b2737 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message .contact-us-heading {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message .contact-us-subheading {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message .contact-us-icon,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message .ait-contact-card-icon,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message [class~="bg-indigo-50"] {
  background: var(--public-accent-soft) !important;
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message:hover .contact-us-icon,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message:hover .ait-contact-card-icon,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message:hover [class~="bg-indigo-50"] {
  background: #273777 !important;
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message .contact-us-chevron,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message .ait-contact-card-chevron {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .contact-us-message .ait-contact-card-form {
  border-color: var(--public-border) !important;
}

/* The opened support composer has translucent light-mode layers and inline
 * editor styles that sit outside the generic Tailwind utility translations. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface-raised) !important;
  color: var(--public-text) !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.52) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-header {
  border-color: var(--public-border) !important;
  background: #141e2c !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-header h3,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-sent h4 {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-header p,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-sent p {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-close {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 9999px;
  background: transparent !important;
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-close:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-close:focus-visible {
  background: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus);
  outline-offset: 2px;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab [data-support-form] {
  background: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab [data-support-form] label {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-composer {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface-inset) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-composer:focus-within {
  border-color: var(--public-accent) !important;
  background: var(--public-surface-inset) !important;
  box-shadow: 0 0 0 3px var(--public-focus) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .composer-editor,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .composer-editor-shell,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .composer-content-editable {
  background: transparent !important;
  color: var(--public-text) !important;
  caret-color: var(--public-accent);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .composer-placeholder {
  color: var(--public-text-quiet) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .mention-chip {
  border-color: #3f518b !important;
  background: var(--public-accent-soft) !important;
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-attach {
  border: 0 !important;
  background: transparent !important;
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-attach:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-attach:focus-visible {
  background: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus);
  outline-offset: 2px;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .ait-support-panel-success-icon {
  background: var(--public-accent-soft) !important;
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab [data-support-link] {
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab [data-support-link]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab [data-support-link]:focus-visible {
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .tw-sfab-thumb {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #tw-support-fab .tw-sfab-spinner {
  background: rgba(15, 23, 42, 0.72) !important;
  color: var(--public-text) !important;
}

/* Homepage sponsor assets are a mix of transparent dark marks and older
 * black-on-white images. Inverting the grayscale makes the marks light;
 * screen blending makes an inverted black image background disappear into
 * the dark canvas instead of creating a visible rectangle. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-partner-logo {
  filter: grayscale(100%) invert(100%) brightness(135%) contrast(110%) !important;
  opacity: 0.82 !important;
  mix-blend-mode: screen;
}

/* Homepage principles keep their distinct accent identities, but use inset
 * dark tiles rather than the pastel light-mode swatches. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-feature-icon {
  border: 1px solid var(--public-border-strong);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 20px rgba(0, 0, 0, 0.24);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-feature-icon-terminal {
  border-color: #34528c;
  background-color: #14213d !important;
  color: #8facff !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-feature-icon-sharing {
  border-color: #4a478e;
  background-color: #211f45 !important;
  color: #b8b6ff !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-feature-icon-global {
  border-color: #28604e;
  background-color: #102e27 !important;
  color: #6ee7a5 !important;
}

/* This handwritten transparent graphic is authored as a dark mark for the
 * light page. Invert only this asset so the adjacent blue wordmark retains its
 * intended brand color. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-future-script {
  filter: invert(100%) brightness(135%) contrast(110%);
  opacity: 0.88;
  mix-blend-mode: screen;
}

/* Photographic portraits otherwise retain light-page luminance and look pasted
 * onto dark cards. This is the same restrained treatment used by the developer
 * application UI: dim/desaturate at rest and gently restore on interaction. */
.tw-public-color-scheme .ait-dark-adaptive-photo {
  transition: filter 160ms ease, opacity 160ms ease;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-dark-adaptive-photo-frame {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  box-shadow:
    0 0 0 2px var(--public-surface),
    0 0 0 3px var(--public-border-strong);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-dark-adaptive-photo {
  filter: brightness(0.82) contrast(1.08) saturate(0.9);
  opacity: 0.94;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-dark-adaptive-photo:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .group:hover .ait-dark-adaptive-photo {
  filter: brightness(0.94) contrast(1.04) saturate(0.96);
  opacity: 1;
}

/* Footer list text is colored on the parent <ul>, while global anchor styles
 * give each link its own light-mode color. Set every link state explicitly so
 * visited links cannot disappear against the dark footer. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-footer {
  border-color: var(--public-border) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-footer-nav a,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-footer-nav a:visited {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-footer-nav a:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-footer-nav a:focus-visible {
  color: var(--public-accent-strong) !important;
}

/* The resource-menu guest-post teaser is a complete light card with arbitrary
 * Tailwind colors, so it needs a component palette rather than utility
 * translation. Keep its hierarchy while making it part of the dark menu. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser:visited {
  border-color: #3f4e81 !important;
  background-color: #111b30 !important;
  color: var(--public-text) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser:focus-visible {
  border-color: #6578d4 !important;
  background-color: #16223b !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser-icon {
  border: 1px solid #465990;
  background-color: #1e2a4d !important;
  color: #b8c2ff !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser-eyebrow,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser-cta {
  color: #aab8ff !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser-title {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser:hover .ait-post-training-compact-teaser-title,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser:focus-visible .ait-post-training-compact-teaser-title {
  color: #c7d2fe !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-post-training-compact-teaser-summary {
  color: var(--public-text-muted) !important;
}

/* The city menu's light secondary CTA and grayscale city medallions are both
 * intentionally bright in the light shell. Give the CTA a proper dark button
 * state and invert the monochrome badge artwork into subdued dark roundels. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-all-cities-cta,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-all-cities-cta:visited {
  --tw-button-chunky-bg: #202b4a;
  --tw-button-chunky-hover-bg: #29385d;
  --tw-button-chunky-active-bg: #18223d;
  --tw-button-chunky-color: #e0e7ff;
  --tw-button-chunky-hover-color: #ffffff;
  --tw-button-chunky-shadow-color: #111a31;
  --tw-button-chunky-hover-shadow-color: #18223d;
  --tw-button-chunky-active-shadow-color: #0b1120;
  border-color: #5365aa !important;
  background-color: #202b4a !important;
  color: #e0e7ff !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-all-cities-cta:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-all-cities-cta:focus-visible {
  border-color: #7c8de8 !important;
  background-color: #29385d !important;
  color: #ffffff !important;
  outline-color: var(--public-focus) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-all-cities-cta:active {
  border-color: #6578d4 !important;
  background-color: #18223d !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-all-cities-cta i,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-all-cities-cta svg {
  color: currentColor !important;
}

.tw-public-color-scheme .ait-city-menu-panel .featured-city-icon:has(img) {
  transition: filter 160ms ease, opacity 160ms ease;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-panel .featured-city-icon:has(img) {
  filter: grayscale(100%) invert(100%) brightness(125%) contrast(105%);
  opacity: 0.82;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-panel .tw-featured-city:hover .featured-city-icon:has(img),
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-panel .tw-featured-city:focus-visible .featured-city-icon:has(img) {
  filter: grayscale(100%) invert(100%) brightness(138%) contrast(105%);
  opacity: 0.94;
}

/* Avatar-menu timing and queue chips are hydrated after the shell and use
 * their own hard-coded light component colors. Adapt the chips and the meetup
 * popovers they open, including the interactive states that utility rules
 * cannot reach. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-chip,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-chip,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .sidekiq-queue-chip,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .sidekiq-queue-chip {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-chip:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-chip:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-chip:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-chip:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus) !important;
  outline-offset: 2px !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-chip__count,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-chip__count {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-menu-segment.is-open > .avatar-segment-chip,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-menu-segment.is-open > .avatar-segment-chip {
  border-color: var(--public-accent) !important;
  background-color: var(--public-accent-soft) !important;
  color: var(--public-text) !important;
  box-shadow: 0 0 0 1px var(--public-focus) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-popover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-popover {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: 0 14px 32px var(--public-shadow) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-popover .avatar-segment-link,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-popover .avatar-segment-link:visited,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-popover .avatar-segment-link,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-popover .avatar-segment-link:visited {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-popover .avatar-segment-link:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-popover .avatar-segment-link:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-popover .avatar-segment-link:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-popover .avatar-segment-link:focus-visible {
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-link-title,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-link-title {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .avatar-segment-link-subtitle,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .avatar-segment-link-subtitle {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-menu .dropdown-divider,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .avatar-sheet .dropdown-divider {
  border-color: var(--public-border) !important;
  background-color: var(--public-border) !important;
}

/* The universal alert bar has its own translucent light palette and uses
 * clipped text fills, so neither the background nor the message responds to
 * ordinary utility translation. Adapt the full desktop and mobile component. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar.alert-bar-container {
  border-color: var(--public-border-strong) !important;
  background:
    linear-gradient(135deg, rgba(39, 51, 70, 0.98), rgba(24, 34, 49, 0.98)) !important;
  color: var(--public-text-secondary) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 24px var(--public-shadow) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-bar-message,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-message-text {
  background: none !important;
  color: var(--public-text-secondary) !important;
  -webkit-text-fill-color: var(--public-text-secondary) !important;
  filter: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-message-text strong {
  background: none !important;
  color: var(--public-accent-strong) !important;
  -webkit-text-fill-color: var(--public-accent-strong) !important;
  filter: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-message-text [class~="bg-rose-100"] {
  border: 1px solid #8f3d45;
  background-color: #351719 !important;
  color: #fda4af !important;
  -webkit-text-fill-color: #fda4af !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-message-text .fa-exclamation-triangle {
  color: #fbbf24 !important;
  -webkit-text-fill-color: #fbbf24 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-primary,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-primary:visited {
  border: 1px solid #6677c8 !important;
  background-color: #4053ad !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.26) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-primary:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-primary:focus-visible {
  border-color: #8d9cf0 !important;
  background-color: #5368c3 !important;
  color: #ffffff !important;
  outline: 2px solid var(--public-focus) !important;
  outline-offset: 2px !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-primary:active {
  background-color: #31439b !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-primary span {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-dismiss {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-dismiss:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-dismiss:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus) !important;
  outline-offset: 2px !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-action-dismiss span {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-bar-close {
  border: 0 !important;
  background-color: transparent !important;
  color: var(--public-text-muted) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-bar-close:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-bar-close:focus-visible {
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus) !important;
  outline-offset: 2px !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-mobile-summary {
  border-color: var(--public-border) !important;
  background-color: transparent !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-mobile-summary > span:first-child {
  background-color: var(--public-accent-soft) !important;
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-mobile-expand {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-mobile-expand:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #universal-alert-bar .alert-mobile-expand:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface) !important;
  color: var(--public-text) !important;
}

/* Borders, dividers, rings, and shadows */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-slate-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-slate-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-slate-200"] {
  border-color: var(--public-border) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-slate-300"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-slate-400"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-[#5b6bcf]"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-[#3d53c2]"] {
  border-color: var(--public-border-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class*="shadow"] {
  --tw-shadow-color: var(--public-shadow);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) hr {
  border-color: var(--public-border);
}

/* Menus and hover states */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-nav-menu-panel,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-city-menu-panel,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .dropdown-menu,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [role="menu"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [role="dialog"] {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:bg-slate-50"]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:bg-slate-100"]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:bg-slate-200"]:hover {
  background-color: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:text-slate-900"]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:text-slate-800"]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:text-slate-700"]:hover {
  color: var(--public-text) !important;
}

/* Forms and browser-rendered controls */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) textarea,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) select {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
  color-scheme: dark;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) input::placeholder,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) textarea::placeholder {
  color: var(--public-text-quiet) !important;
  opacity: 1;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) input:focus,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) textarea:focus,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) select:focus {
  border-color: var(--public-accent) !important;
  box-shadow: 0 0 0 3px var(--public-focus) !important;
  outline: none;
}

/* Semantic feedback colors retain meaning without using luminous light cards. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-emerald-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-emerald-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-green-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-green-100"] {
  background-color: #0d2c24 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-emerald-950"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-emerald-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-emerald-800"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-green-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-green-800"] {
  color: #a7f3d0 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-emerald-200"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-emerald-300"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-green-200"] {
  border-color: #28765f !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-amber-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-amber-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-yellow-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-yellow-100"] {
  background-color: #34270d !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-amber-950"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-amber-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-amber-800"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-yellow-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-yellow-800"] {
  color: #fde68a !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-amber-200"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-amber-300"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-yellow-200"] {
  border-color: #8b6518 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-red-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-red-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-rose-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-rose-100"] {
  background-color: #351719 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-red-950"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-red-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-red-800"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-rose-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-rose-800"] {
  color: #fecaca !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-red-200"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-rose-200"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-rose-300"] {
  border-color: #8f3d45 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-blue-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-blue-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-indigo-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-indigo-100"] {
  background-color: var(--public-accent-soft) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-blue-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-blue-800"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-indigo-900"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-indigo-800"] {
  color: #c7d2fe !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-blue-200"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-indigo-200"] {
  border-color: #4c5aa5 !important;
}

/* Article/rich-content defaults and tables. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose {
  --tw-prose-body: var(--public-text-secondary);
  --tw-prose-headings: var(--public-text);
  --tw-prose-lead: var(--public-text-secondary);
  --tw-prose-links: var(--public-accent);
  --tw-prose-bold: var(--public-text);
  --tw-prose-counters: var(--public-text-muted);
  --tw-prose-bullets: var(--public-text-quiet);
  --tw-prose-hr: var(--public-border);
  --tw-prose-quotes: var(--public-text-secondary);
  --tw-prose-quote-borders: var(--public-border-strong);
  --tw-prose-captions: var(--public-text-muted);
  --tw-prose-code: #d8b4fe;
  --tw-prose-pre-code: #e2e8f0;
  --tw-prose-pre-bg: #080d18;
  --tw-prose-th-borders: var(--public-border-strong);
  --tw-prose-td-borders: var(--public-border);
  color: var(--public-text-secondary);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .rendered_content_page_here,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .show-page-body {
  color: var(--public-text-secondary);
}

/* The local Tailwind layer also assigns light-palette colors directly to
 * prose descendants, bypassing the typography variables above. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose p,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose ul,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose ol,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose td {
  color: var(--public-text-secondary);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose th {
  border-color: var(--public-border-strong);
  color: var(--public-text);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose td,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose hr {
  border-color: var(--public-border);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose a:not([class*="tw-button"]) {
  color: var(--public-accent);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .prose blockquote,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) blockquote {
  border-color: var(--public-border-strong);
  color: var(--public-text-secondary);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) code {
  background-color: var(--public-surface-inset);
  color: #d8b4fe;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) pre {
  border-color: var(--public-border);
  background-color: #080d18 !important;
  color: #e2e8f0;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) table,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) th,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) td {
  border-color: var(--public-border) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) th {
  background-color: var(--public-surface-inset);
  color: var(--public-text);
}

/* Organizer surfaces with responsive or alpha Tailwind utilities need
 * component-scoped translations. Those utility names do not match the exact
 * class selectors above, and several of these panels are portaled to body. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-city-planning-home-summary] {
  border-color: #344363 !important;
  background: linear-gradient(135deg, #172037 0%, #121b2d 100%) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: inset 0 1px 0 rgba(174, 185, 255, 0.05);
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-city-planning-home-summary] a {
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-city-planning-home-summary] a:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-city-planning-home-summary] a:focus-visible {
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .rsvp-status-button {
  border-color: #4c5aa5 !important;
  background-color: var(--public-accent-soft) !important;
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .rsvp-status-button:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .rsvp-status-button:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: #25336c !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] a,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] button {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] a:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] a:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] button:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] button:focus-visible {
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-panel] [class~="bg-indigo-50"] {
  background-color: var(--public-accent-soft) !important;
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-mobile-panel] {
  background-color: var(--public-canvas) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-mobile-panel] details,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mega-menu-mobile-panel] > div > div {
  border-color: var(--public-border) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #registrations-table-wrapper tbody {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #registrations-table-wrapper tr[data-rsvp-state] {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #registrations-table-wrapper tr[data-rsvp-state="attending"] {
  background-color: #0d2c24 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #registrations-table-wrapper tr[data-rsvp-state="waitlisted"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #registrations-table-wrapper tr[data-rsvp-state="denied"] {
  background-color: #2b230f !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #registrations-table-wrapper tr[data-rsvp-state="cancelled"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #registrations-table-wrapper tr[data-rsvp-state="user_cancelled"] {
  background-color: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .tw-button-group {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .tw-button-group-button {
  border-color: var(--public-border) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .tw-button-group-button:not(.is-selected):hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .tw-button-group-button:not(.is-selected):focus-visible {
  background-color: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .tw-button-group-button-accept {
  color: #6ee7b7 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .tw-button-group-button-waitlist {
  color: #fcd34d !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .tw-button-group-button-cancel {
  color: #fda4af !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container [class~="bg-fuchsia-100"] {
  background-color: #31213d !important;
  color: #f5d0fe !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container [class~="bg-violet-50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container [class~="bg-violet-100"] {
  border-color: #564493 !important;
  background-color: #251d40 !important;
  color: #ddd6fe !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-speakers-shell,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-speakers-header,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-list-pane,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-list-mobile-shell,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-detail-mobile-toolbar {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-detail-pane,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-detail-pane.is-mobile-open {
  background-color: var(--public-canvas) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-row {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-row:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-row:focus-visible {
  background-color: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-row.is-active {
  border-color: #5267d5 !important;
  background-color: #172451 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-row.is-active .text-slate-800 {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-row.is-active .text-slate-500,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-row.is-active .text-slate-400 {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-proposal-framing {
  border-color: #4c5aa5 !important;
  background-color: #161f3c !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-proposal-copy,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-proposal-copy p,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-proposal-copy li,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-proposal-copy a {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .review-proposal-copy {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .banner-library-card {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .banner-library-media {
  background-color: #080d15 !important;
}

/* The editor autosave status floats over both the page canvas and editor
 * panels, so give the entire control an opaque dark hierarchy of its own. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-status-pill {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface-raised) !important;
  color: var(--public-text-secondary) !important;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.48),
    inset 0 1px 0 rgba(174, 185, 255, 0.08) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-status-primary {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-details-toggle,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .revert-unsaved-changes-button {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface-inset) !important;
  color: var(--public-accent-strong) !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-details-toggle:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-details-toggle:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .revert-unsaved-changes-button:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .revert-unsaved-changes-button:focus-visible {
  border-color: var(--public-accent) !important;
  background: var(--public-accent-soft) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus) !important;
  outline-offset: 2px;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-details-count {
  background: #5565c4 !important;
  color: #ffffff !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .save-unsaved-changes-button {
  border: 1px solid #7f8ee3 !important;
  background: #4f5fbd !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .save-unsaved-changes-button:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .save-unsaved-changes-button:focus-visible {
  border-color: var(--public-accent) !important;
  background: #6070cf !important;
  color: #ffffff !important;
  outline: 2px solid var(--public-focus) !important;
  outline-offset: 2px;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .save-unsaved-changes-button * {
  color: inherit !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-change-details-panel {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface-raised) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: 0 18px 40px var(--public-shadow) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .editor-v2-change-details-panel .text-slate-600 {
  color: var(--public-text-secondary) !important;
}

/* Floating mobile attendee navigation uses SVGs with inline light-palette
 * colors; currentColor keeps them legible without changing the icons. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-mobile-bottom-nav-bar {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface-raised) !important;
  box-shadow: 0 -10px 28px var(--public-shadow) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-mobile-bottom-nav-item {
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-mobile-bottom-nav-item svg,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-mobile-bottom-nav-item svg path {
  color: currentColor !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

@media (max-width: 520px) {
  .tw-public-color-scheme .ait-color-scheme-switcher .ait-color-scheme-toggle {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
  }
}
