/*
 * 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;
}

.marketing-color-scheme {
  background: var(--public-canvas);
  color: var(--public-text);
}

html[data-theme="light"] body.marketing-color-scheme {
  color-scheme: light;
}

html[data-theme="dark"] body.marketing-color-scheme {
  color-scheme: dark;
}

.marketing-color-scheme .marketing-header .content {
  gap: 18px;
}

.marketing-color-scheme .marketing-theme-control {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.marketing-color-scheme .organize-form input[type="text"],
.marketing-color-scheme .organize-form input[type="email"],
.marketing-color-scheme .organize-form input[type="url"],
.marketing-color-scheme .organize-form textarea {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface) !important;
  color: var(--public-text) !important;
  caret-color: var(--public-text) !important;
  box-shadow: none !important;
}

.marketing-color-scheme .organize-form input::placeholder,
.marketing-color-scheme .organize-form textarea::placeholder {
  color: var(--public-text-muted) !important;
  opacity: 1;
}

.marketing-color-scheme .organize-form input:focus,
.marketing-color-scheme .organize-form textarea:focus {
  border-color: var(--public-accent) !important;
  outline: 3px solid var(--public-focus) !important;
  outline-offset: 1px;
}

html[data-theme="dark"] body.marketing-color-scheme #page-container.white-background,
html[data-theme="dark"] body.marketing-color-scheme #page-container > main {
  background: var(--public-canvas) !important;
  color: var(--public-text);
}

html[data-theme="dark"] body.marketing-color-scheme .marketing-header,
html[data-theme="dark"] body.marketing-color-scheme #page-footer {
  border-color: var(--public-border) !important;
  background: var(--public-surface) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .marketing-header {
  box-shadow: 0 2px 10px var(--public-shadow);
}

html[data-theme="dark"] body.marketing-color-scheme .marketing-header .logo-image {
  opacity: 0.84;
}

html[data-theme="dark"] body.marketing-color-scheme #page-footer,
html[data-theme="dark"] body.marketing-color-scheme #page-footer a,
html[data-theme="dark"] body.marketing-color-scheme #page-footer .text-muted {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .organize-stats {
  border-color: var(--public-border) !important;
  background: linear-gradient(180deg, var(--public-surface-inset), var(--public-canvas)) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .organize-stats .stat-item,
html[data-theme="dark"] body.marketing-color-scheme .organize-stats .stat-item:nth-child(1),
html[data-theme="dark"] body.marketing-color-scheme .organize-stats .stat-item:nth-child(2),
html[data-theme="dark"] body.marketing-color-scheme .organize-stats .stat-item:nth-child(3) {
  border-color: var(--public-border) !important;
  background: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .organize-stats .stat-item h3,
html[data-theme="dark"] body.marketing-color-scheme .organize-stats .stat-item p {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .organize-benefits,
html[data-theme="dark"] body.marketing-color-scheme .organize-role {
  background: var(--public-surface-inset) !important;
  color: var(--public-text-secondary);
}

html[data-theme="dark"] body.marketing-color-scheme .organize-audience {
  background: var(--public-canvas) !important;
  color: var(--public-text-secondary);
}

html[data-theme="dark"] body.marketing-color-scheme .organize-audience .quality-block {
  border: 1px solid var(--public-border);
  background: var(--public-surface-raised) !important;
  color: var(--public-text-secondary);
  box-shadow: 0 8px 24px var(--public-shadow);
}

html[data-theme="dark"] body.marketing-color-scheme .organize-audience .quality-title,
html[data-theme="dark"] body.marketing-color-scheme .organize-benefits h2,
html[data-theme="dark"] body.marketing-color-scheme .organize-audience h2,
html[data-theme="dark"] body.marketing-color-scheme .organize-role h2,
html[data-theme="dark"] body.marketing-color-scheme .organize-form h2,
html[data-theme="dark"] body.marketing-color-scheme .organize-form h3 {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .organize-role a,
html[data-theme="dark"] body.marketing-color-scheme .organize-form a {
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .organize-role a:hover,
html[data-theme="dark"] body.marketing-color-scheme .organize-role a:focus-visible,
html[data-theme="dark"] body.marketing-color-scheme .organize-form a:hover,
html[data-theme="dark"] body.marketing-color-scheme .organize-form a:focus-visible {
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.marketing-color-scheme .organize-form {
  background: linear-gradient(180deg, var(--public-surface), var(--public-canvas)) !important;
  color: var(--public-text-secondary);
}

html[data-theme="dark"] body.marketing-color-scheme .organize-form .form-check-label {
  color: var(--public-text-secondary);
}

html[data-theme="dark"] body.marketing-color-scheme #organizer-application-success {
  border-color: var(--public-border) !important;
  background: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.marketing-color-scheme #organizer-application-success .success-kicker,
html[data-theme="dark"] body.marketing-color-scheme #organizer-application-success .success-body {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.marketing-color-scheme #organizer-application-success .success-title {
  color: var(--public-text) !important;
}

.tw-public-color-scheme .ait-footer-logo-dark,
.tw-public-color-scheme .ait-hero-wordmark-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,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-wordmark-light {
  display: none !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-footer-logo-dark,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-hero-wordmark-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/60"],
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;
}

/* Networking profile cards use a responsive translucent light background.
 * Give them a semantic dark surface without changing the divider-only mobile
 * layout below the sm breakpoint. */
@media (min-width: 640px) {
  html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .networking-profile-detail-card {
    background-color: var(--public-surface-inset) !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;
}

/* The About page uses bespoke light gradients that Tailwind's solid-surface
 * mappings cannot repaint. Keep its hero and network CTA on dark surfaces so
 * the shared dark text hierarchy remains legible. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .about-hero {
  background-image: linear-gradient(
    to bottom,
    var(--public-surface-raised),
    var(--public-canvas),
    var(--public-surface)
  ) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .about-hero__glow {
  opacity: 0.22 !important;
}

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

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .about-hero__glow--right {
  background-color: #4c1d2f !important;
}

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

/* The event-day speaker lineup header also uses a light Tailwind gradient.
 * Repaint its gradient stops so the white endpoint does not survive in dark
 * mode while the surrounding card is correctly mapped to a dark surface. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .event-day-speaker-lineup__header {
  background-image: linear-gradient(
    to right,
    var(--public-accent-soft),
    var(--public-surface)
  ) !important;
}

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

/* The event basics card is drawn with two background-image layers: a thin
 * brand stripe and a full-card white layer. Repaint the full-card layer with
 * the active dark surface, and cover both themed and default city pages. */
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .rsvp-card--gradient {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface) !important;
  background-image:
    linear-gradient(90deg, #6476ce, #ef438b),
    linear-gradient(var(--public-surface), var(--public-surface)) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .meetup-form-title {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .event-title__parenthetical,
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .event-title__suffix,
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .event-title__trailing-parens {
  color: var(--public-text-muted) !important;
  -webkit-text-fill-color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .rsvp-info-panel {
  border-color: var(--public-border) !important;
  background: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .rsvp-info-panel [class~="bg-white"] {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-raised) !important;
}

/* The legacy info slider uses inline light backgrounds and black copy. The
 * RSVP hook keeps these overrides local to the applications/talk teaser. */
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container {
  border: 1px solid var(--public-border) !important;
  background: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: inset 0 1px 0 rgba(174, 185, 255, 0.05) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container span[style*="color: #000"] {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container .text-slate-600 {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container .text-slate-400 {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container a,
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container a:visited {
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container a:hover,
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .slider-container a:focus-visible {
  color: var(--public-accent-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .left-arrow,
html[data-theme="dark"] body.tw-public-color-scheme .render-meetup-rsvp-here .ait-rsvp-info-slider .right-arrow {
  border-color: var(--public-border) !important;
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text-secondary) !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;
}

/* show_dots() appends this overlay directly to body with light inline styles. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #my-dots-overlay {
  --loading-dots-color: var(--public-accent);
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.48) !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-mini-stat {
  border-color: var(--public-border) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-mini-stat .label {
  color: var(--public-text-muted) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard .dashboard-mini-stat .value {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard a.dashboard-mini-stat-link:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  #message-center-dashboard a.dashboard-mini-stat-link:focus-visible {
  background-color: var(--public-surface-inset) !important;
}

/* Smart Routes ships a self-contained light composer and selected-row state.
 * Repaint its semantic surfaces explicitly because they are not expressed as
 * Tailwind background utilities that the shared bridge can translate. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-tool .smart-route-pending-link:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-tool .smart-route-pending-link:focus-visible {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-tool .smart-route-pending-link.is-active {
  border-color: #6476ce !important;
  background-color: #18254a !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .composer-editor {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .composer-content-editable,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .smart-route-fallback-draft,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .smart-route-fallback-body {
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .mention-chip {
  border: 1px solid #4f60bd !important;
  background-color: #202d5f !important;
  color: #c7d2fe !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .btn-light {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .btn-light:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-composer-board .btn-light:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface-inset) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .smart-route-tool .smart-route-tagging-note {
  border: 1px solid #23606c !important;
  background-color: #0e3038 !important;
  color: #a5f3fc !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;
}

/* The city index card's title is a nested link, so the legacy link color
 * overrides the dark-mode heading color inherited from its h3. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-index-event-title,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-index-event-title:visited {
  color: var(--public-text) !important;
}

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

/* City-directory anchors inherit a legacy global navy link color unless they
 * own an explicit state. That navy is nearly identical to the dark card
 * surface, so keep every link state inside the public semantic palette. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-directory-link,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-directory-link:visited {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-directory-link:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-directory-link:focus-visible {
  background-color: var(--public-surface-raised) !important;
  color: var(--public-text) !important;
  outline: 2px solid var(--public-focus);
  outline-offset: 1px;
}

/* Sponsor artwork is supplied for a light canvas and includes dark wordmarks.
 * Convert only the two sponsorship logo walls to white silhouettes in dark
 * mode; photos, stickers, and other page imagery keep their original colors. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-sponsor-logo-wall .ait-sponsor-logo {
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-sponsorship-partnership-summary {
  border-color: var(--public-accent) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
  box-shadow: inset 0 1px 0 rgba(174, 185, 255, 0.08);
}

/* The sponsorship hero's primary CTA intentionally stays light against the
 * photographic dark panel. Exempt it from the shared bg-white surface mapping
 * so its navy label never lands on a dark background. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-sponsorship-hero-primary,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-sponsorship-hero-primary:visited {
  border-color: #ffffff !important;
  background-color: #ffffff !important;
  color: #27336f !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-sponsorship-hero-primary:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-sponsorship-hero-primary:focus-visible {
  background-color: #f8fafc !important;
  color: #1e285c !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;
}

/* Email Tool option for appending a quiet Post-Training article teaser. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .post-training-email-teaser-option {
  border-color: #4c5aa5 !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)
  .post-training-email-teaser-option input[type="checkbox"] {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-canvas) !important;
  color: var(--public-accent) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .post-training-email-teaser-option input[type="checkbox"]:checked {
  border-color: var(--public-accent) !important;
  background-color: var(--public-accent) !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;
}

/* The selected city uses a warm, nearly white card in the light shell. Keep
 * the distinction in dark mode without turning the card into a light source. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-panel .tw-featured-city-current,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mobile-menu] .tw-featured-city-current {
  border-color: #6578d4 !important;
  background-color: var(--public-accent-soft) !important;
  color: var(--public-text) !important;
  box-shadow: inset 0 1px 0 rgba(202, 209, 255, 0.1) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-panel .tw-featured-city-current:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .ait-city-menu-panel .tw-featured-city-current:focus-visible,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mobile-menu] .tw-featured-city-current:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-mobile-menu] .tw-featured-city-current:focus-visible {
  border-color: var(--public-accent) !important;
  background-color: #25336c !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-featured-city-current [class~="text-slate-900"] {
  color: var(--public-accent-strong) !important;
}

/* 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-50/60"]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:bg-slate-50/70"]:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="hover:bg-slate-50/80"]: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-50/50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-emerald-50/60"],
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~="text-emerald-600"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-emerald-700"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-green-600"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-green-700"] {
  color: #34d399 !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-emerald-100"],
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-100"],
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;
}

/* Event names in email-preference RSVP notices are generated as bare links.
 * Keep them on the alert's high-contrast amber palette in dark mode. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .email-preferences-upcoming-rsvp a,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .email-preferences-upcoming-rsvp a:visited {
  color: #fde68a !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

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-50/50"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="bg-indigo-50/60"],
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-600"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-blue-700"] {
  color: #60a5fa !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-indigo-600"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="text-indigo-700"] {
  color: var(--public-accent) !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-950"],
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-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="border-indigo-200"] {
  border-color: #4c5aa5 !important;
}

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

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

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

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

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="ring-sky-100"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [class~="ring-sky-200"] {
  --tw-ring-color: rgba(56, 189, 248, 0.24) !important;
}

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

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

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

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

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

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

/* Campaign selection is styled in meetup.scss instead of with Tailwind
 * surface utilities, so it needs its own dark-mode state. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .recent-sends-panel .recent-send-select.is-active {
  background: var(--public-accent-soft) !important;
  border-color: #4c5aa5 !important;
  border-left-color: var(--public-accent) !important;
}

/* ApexCharts creates its hover surfaces inside the chart with light defaults.
 * Keep both the data tooltip and axis hover labels on the public dark palette. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .apexcharts-tooltip,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .apexcharts-xaxistooltip,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .apexcharts-yaxistooltip {
  border-color: var(--public-border-strong) !important;
  background: var(--public-surface-raised) !important;
  color: var(--public-text) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.38) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-tooltip .apexcharts-tooltip-title {
  border-bottom-color: var(--public-border) !important;
  background: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-xaxistooltip-bottom::after {
  border-bottom-color: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-xaxistooltip-bottom::before {
  border-bottom-color: var(--public-border-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-xaxistooltip-top::after {
  border-top-color: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-xaxistooltip-top::before {
  border-top-color: var(--public-border-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-yaxistooltip-left::after {
  border-left-color: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-yaxistooltip-left::before {
  border-left-color: var(--public-border-strong) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-yaxistooltip-right::after {
  border-right-color: var(--public-surface-raised) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page)
  .apexcharts-yaxistooltip-right::before {
  border-right-color: var(--public-border-strong) !important;
}

/* Article/rich-content defaults and tables. */
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body p,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body li,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body dt,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body dd,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body td {
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body h1,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body h2,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body h3,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body h4,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body h5,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body h6,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body strong,
html[data-theme="dark"] body.tw-public-color-scheme .tw-content-page .show-page-body b {
  color: var(--public-text) !important;
}

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

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

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);
}

/* Rich-content tables are authored against a white reading surface and carry
 * their own pale zebra stripe. Translate the whole component—not just its
 * borders and copy—so long-form pages such as Demo Guidelines remain readable
 * without a white slab inside the dark article card. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body table,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body span.ablk table {
  background: var(--public-surface-inset) !important;
  box-shadow: 0 12px 28px var(--public-shadow) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body thead,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body thead tr,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body thead th {
  background: var(--public-accent-soft) !important;
  color: var(--public-text) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body tbody,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body tbody tr,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body tbody td,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body tbody th {
  background: var(--public-surface-inset) !important;
  color: var(--public-text-secondary) !important;
}

html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body tbody tr:nth-of-type(even),
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body tbody tr:nth-of-type(even) td,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .tw-content-page .show-page-body tbody tr:nth-of-type(even) th {
  background: var(--public-surface-raised) !important;
}

/* 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],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [data-recent-attended-meetup] {
  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;
}

/* Give modal surfaces a visible edge against the dark canvas. This covers the
 * Tailwind, Bootstrap, native dialog, and SweetAlert patterns used across the
 * public and organizer shells while leaving transparent lightboxes alone. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [id$="-modal"] > [class~="bg-white"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) [id$="_modal"] > [class~="bg-white"],
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) .modal-content:not([style*="background: transparent"]):not([style*="border: 0"]),
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) dialog,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) div.swal2-popup {
  border: 1px solid #52617a !important;
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(174, 185, 255, 0.14) !important;
}

/* Add-tag pills inherit their light background from the compiled
 * .tw-badge-flat component, so utility-class translations cannot see it. */
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .rsvp-tags-container .tw-badge-add {
  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) #screening-container .rsvp-tags-container .tw-badge-add:hover,
html[data-theme="dark"] body.tw-public-color-scheme:not(.themed-page) #screening-container .rsvp-tags-container .tw-badge-add:focus-visible {
  background-color: #25336c !important;
  color: var(--public-text) !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;
}

/*
 * Theme dark-mode bridge.
 *
 * Theme stylesheets own their palettes and expose them through --public-*.
 * Shared attendee components still carry a few literal light Tailwind colors,
 * though. Translate those components here so switching an adaptive theme to
 * dark mode cannot produce a light card with dark-theme text.
 */
html[data-theme="dark"] body.tw-public-color-scheme.themed-page {
  --public-text-muted: var(--public-text-secondary);
  --public-text-quiet: var(--public-text-secondary);
  --public-accent-strong: var(--public-accent);
  --public-accent-soft: var(--public-surface-inset);
  --public-shadow: rgba(0, 0, 0, 0.42);
}

html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-white"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-white/60"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-white/70"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-white/80"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-white/90"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-white/95"] {
  background-color: var(--public-surface) !important;
}

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

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

html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-[#fcf2e9]"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="bg-[#e3ecfb]"] {
  background-color: var(--public-surface-raised) !important;
}

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

html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="border-slate-100"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="border-slate-200"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="border-indigo-100"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="border-[#f9e4d2]"],
html[data-theme="dark"] body.tw-public-color-scheme.themed-page [class~="border-[#f2c9a6]"] {
  border-color: var(--public-border-strong) !important;
}

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

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

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

html[data-theme="dark"] body.tw-public-color-scheme.themed-page input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] body.tw-public-color-scheme.themed-page textarea,
html[data-theme="dark"] body.tw-public-color-scheme.themed-page select {
  border-color: var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-text) !important;
  box-shadow: none !important;
}

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

html[data-theme="dark"] body.tw-public-color-scheme.themed-page article.prose,
html[data-theme="dark"] body.tw-public-color-scheme.themed-page .rsvp-info-panel {
  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.themed-page .rsvp-event-icon {
  border: 1px solid var(--public-border) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-accent) !important;
  box-shadow: none !important;
}

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

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

html[data-theme="dark"] body.tw-public-color-scheme.themed-page #universal-alert-bar.alert-bar-container {
  border-color: var(--public-border-strong) !important;
  background:
    linear-gradient(
      135deg,
      var(--public-surface-raised),
      var(--public-surface)
    ) !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.themed-page #universal-alert-bar .alert-bar-message,
html[data-theme="dark"] body.tw-public-color-scheme.themed-page #universal-alert-bar .alert-message-text,
html[data-theme="dark"] body.tw-public-color-scheme.themed-page #universal-alert-bar .alert-message-text strong {
  background: none !important;
  color: var(--public-text-secondary) !important;
  -webkit-text-fill-color: currentColor !important;
  filter: none !important;
}

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

html[data-theme="dark"] body.tw-public-color-scheme.themed-page #universal-alert-bar .alert-message-text [class~="bg-rose-100"] {
  border: 1px solid var(--public-border-strong) !important;
  background-color: var(--public-surface-inset) !important;
  color: var(--public-accent-strong) !important;
  -webkit-text-fill-color: currentColor !important;
}

html[data-theme="dark"] body.tw-public-color-scheme.themed-page #universal-alert-bar .alert-action-primary,
html[data-theme="dark"] body.tw-public-color-scheme.themed-page #universal-alert-bar .alert-action-primary:visited {
  border-color: var(--public-accent) !important;
  background-color: var(--public-accent) !important;
  color: var(--public-canvas) !important;
  box-shadow: 0 4px 12px var(--public-shadow) !important;
}

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