/* theme-light-20261012: light theme for the app. Dark stays the default (no attribute
   override). Scoped to html[data-theme=light], including game pages. The head
   script still sets data-games-dark; :is() keeps the old specificity so non-game
   light rules resolve the same way. Green accent stays recognizable:
   neon #39ff14 on primary buttons and the dark header, deep green for text. */

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) {
  color-scheme: light;
  --bg: #f4f7f4;
  --panel: #ffffff;
  --panel-border: #1b5e20;
  --text: #14241a;
  --headings: #0d1f0e;
  --logo: #ffffff;
  --link: #0e5c14;
  --link-hover: #094d0e;
  --accent: #1b5e20;
  --lime: #0f5c12;
  --menu-bg: #0d1f0e;
  --menu-bg-scroll: rgba(13, 31, 14, 0.96);
  --footer-bg: #e7f0e7;
  --footer-text: #1c2b22;
  --footer-link: #0b5c56;
  --footer-link-hover: #084840;
  --danger: #9b1c1c;
  --danger-bg: #fdecea;
  --ok: #0f5c12;
  --ok-bg: #e5f6e6;
  --input-bg: #ffffff;
  --input-border: #5f7a64;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body {
  background: var(--bg);
  color: var(--text);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) ::selection {
  background: #39ff14;
  color: #041004;
}

/* Header stays deep green so the wordmark and white nav links keep contrast.
   --lime is a text green on white, so chrome that sits on the green bar keeps neon. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-logo span,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-head__btn,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-head__title,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-chev,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-badge,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-head__summary {
  color: #d8ffe0;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-head__btn {
  background: linear-gradient(180deg, #174d22 0%, #0d1f0e 100%);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-pg {
  color: #0f5c12;
  border-color: rgba(15, 92, 18, 0.35);
}
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-pg.is-current,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-pg.is-current:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-pg.is-current:focus {
  background: #0f5c12;
  color: #ffffff;
  border-color: #0f5c12;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-new {
  background: #39ff14;
  color: #041004;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .panel-title,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) h1,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) h2,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) h3 {
  color: var(--headings);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .panel-title,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .games-eyebrow,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dd-group h2 {
  color: var(--lime);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) a {
  color: var(--link);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-nav a,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-nav a:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-nav a:focus,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .auth-slot a:not(.btn),
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .nav-help-details > summary {
  color: #ffffff;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-footer a {
  color: var(--footer-link);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .muted,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .is-muted,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .hint,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .field .hint {
  color: #24362b;
  opacity: 1;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-body,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .comment-body,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dm-bubble-body,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .notif-item-link,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-author-name,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-card h2,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-head h1 {
  color: #14241a;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-sum,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-blurb,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-foot,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-lock {
  color: #24362b;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-card,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .panel,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .feed-status {
  background: var(--panel);
  color: var(--text);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-card {
  background: linear-gradient(150deg, rgba(27, 94, 32, 0.08), #ffffff 42%);
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .feed-status {
  background: #f7faf7;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dm-bubble {
  background: #ffffff;
  color: #14241a;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dm-bubble--mine {
  background: #e5f6e6;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .btn--ghost,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .btn--outline {
  color: #0d1f0e;
  border-color: #1b5e20;
  background: #ffffff;
}

/* theme-light-polish-20261012: app.css forces a.btn.btn--outline to white with !important (the dark
   header's Log in). In light that made the For You hero pills (Me, Messages, Games) white on white.
   The header overrides below come later with equal specificity, so they still win. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) a.btn.btn--outline {
  color: #0d1f0e !important;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) a.btn.btn--outline:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) a.btn.btn--outline:focus {
  color: #0f5c12 !important;
  background: #e5f6e6;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-nav .btn--outline,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-nav a.btn--outline,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .auth-slot a.btn--outline {
  color: #ffffff !important;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.75);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .btn--primary,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) a.btn.btn--primary {
  background: #39ff14;
  border-color: #39ff14;
  color: #041004 !important;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .alert--error {
  background: var(--danger-bg);
  color: #6e1212;
  border-color: #9b1c1c;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .alert--success {
  background: var(--ok-bg);
  color: #0f5c12;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .alert--info {
  background: #e7f3e8;
  color: #0d1f0e;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .field input,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .field textarea,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .field select,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) input[type="search"],
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) input[type="text"],
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) input[type="email"],
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) input[type="password"],
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) textarea,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) select {
  background: #ffffff;
  color: #14241a;
  border-color: #5f7a64;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .search-form input[type="search"] {
  background: #ffffff;
  color: #14241a;
  border-color: #1b5e20;
  box-shadow: none;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .search-form input[type="search"]::placeholder {
  color: #3d5244;
}

/* Tab bar */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body.has-bottom-nav .bottom-nav {
  background: #ffffff;
  border-top: 1px solid #1b5e20;
  box-shadow: 0 -4px 18px rgba(13, 31, 14, 0.08);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body.has-bottom-nav .bottom-nav__item {
  color: #24362b;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body.has-bottom-nav .bottom-nav__item:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body.has-bottom-nav .bottom-nav__item:focus,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body.has-bottom-nav .bottom-nav__item.is-active,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body.has-bottom-nav .bottom-nav__item[aria-current="page"] {
  color: #0f5c12;
}

/* Modals and sheets */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .notif-panel,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .follow-list-panel,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .avatar-gallery,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .help-chat__panel,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dd-dialog,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .hs-card {
  background: #ffffff;
  color: #14241a;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .help-chat__msg--bot .help-chat__bubble,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .help-chat__msg--user .help-chat__bubble {
  background: #eef6ee;
  color: #14241a;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .help-chat-fab {
  background: #0d1f0e;
  color: #d8ffe0;
  border-color: #39ff14;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .avatar-theme-item,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .avatar-gallery-hero {
  background: #f7faf7;
  color: #14241a;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .avatar-theme-tab.is-active {
  background: #0f5c12;
  color: #ffffff;
}

/* Matrix keyboard and typing bar: light keys, deep green legends, neon when on. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb-accents,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-typebar,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-typebar__emoji,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-typebar-wrap.is-docked {
  background: #e7f2e4;
  color: #0d3d10;
  border-color: #1b5e20;
  box-shadow: 0 -6px 18px rgba(13, 31, 14, 0.08);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb__key,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb-accents__opt,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-tb,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb__sug {
  background: #ffffff;
  color: #0d3d10;
  border-color: #1b5e20;
  text-shadow: none;
  box-shadow: none;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb__key--space {
  color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb__key.is-on,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb__key.is-accent-hot,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb-accents__opt.is-hot,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-typebar .rr-tb-kb.is-on,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-send {
  background: #39ff14;
  color: #041004;
  border-color: #0f5c12;
  text-shadow: none;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-typebar .rr-tb-kb,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .rr-typebar__prompt {
  color: #0f5c12;
  border-color: #0f5c12;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mxkb-pop {
  background: #ffffff;
  color: #0d3d10;
  border-color: #1b5e20;
  text-shadow: none;
}

/* Local cards */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-main {
  --lp-lime: #0f5c12;
  --lp-line: #c5d8c6;
  --lp-card: #ffffff;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-card,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-lock {
  background: #ffffff;
  border-color: #c5d8c6;
  box-shadow: 0 6px 18px rgba(13, 31, 14, 0.06);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-tag {
  color: #0f5c12;
  background: #e7f3e8;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-card__art {
  background: linear-gradient(135deg, #d7ead8, #eef6ee);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .lp-dev-note {
  color: #3d2e00;
  background: #fff8e8;
  border-left-color: #8a5a00;
}

/* Admin Tools + Decision Desk operator surfaces */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .admin-home-card,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-note-preview .nw-ed,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-story-preview,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .admin-banner-phone {
  background: #ffffff;
  color: #14241a;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .admin-home-card__role,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .admin-home-card__kick {
  color: #0f5c12;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .admin-home-note {
  color: #5c4300;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dd-race,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dd-card {
  background: #ffffff;
  color: #14241a;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .dd-badge {
  color: #0f5c12;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .bookmark-button,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .report-button,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions button,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions a {
  color: #0f5c12;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .bookmark-button.is-saved {
  color: #0f5c12;
  border-color: #1b5e20;
}

/* Map preview tokens */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .mp {
  --mp-ink: #14241a;
  --mp-muted: #3d5244;
  --mp-line: #c5d8c6;
  --mp-card: #ffffff;
  --mp-bg: #f4f7f4;
  --mp-lime: #0f5c12;
  --mp-none: #e7eee8;
  background: var(--mp-bg);
  color: var(--mp-ink);
}

/* News page (app chrome). Story colors come from news.css when data-theme is light. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) body.news-page {
  background: #f4f7f4;
  color: #14241a;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .nw-sourcing,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .nw-card {
  color: #14241a;
}

/* Theme switch. Same pill as News: white in light, near-black with neon edge in dark.
   The header copy sits on the green bar, so it keeps the dark-theme pill. */
.nw-theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.4rem 0.7rem;
  min-height: 36px;
  font: 700 0.78rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  color: #0d1f0e;
  background: #fff;
  border: 1px solid #2e7d32;
  border-radius: 999px;
  cursor: pointer;
}

.nw-theme-btn:hover,
.nw-theme-btn:focus-visible {
  border-color: #0f5c12;
  outline: 2px solid #0f5c12;
  outline-offset: 2px;
}

html:not([data-theme="light"]) .nw-theme-btn,
.site-nav .nw-theme-btn {
  color: #e4e7e4;
  background: #0d1a0e;
  border-color: #39ff14;
}

.theme-settings-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.theme-settings-label {
  margin: 0;
  font-family: var(--font-heading, "Onest", sans-serif);
  font-weight: 650;
  color: var(--headings, #fff);
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .theme-settings-row .nw-theme-btn {
  color: #0d1f0e;
  background: #fff;
  border-color: #1b5e20;
}

.nav-theme {
  display: flex;
  align-items: center;
}

.nav-theme[hidden],
[data-settings-theme][hidden] {
  display: none !important;
}

@media (max-width: 768px) {
  .nav-theme {
    padding: 0.35rem 1.25rem 0.55rem;
  }
}

/* axe color-contrast: text that inherited the dark-theme greens or grays. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .hdr-search,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .hdr-search__txt {
  color: #d8ffe0;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .hero-card .mark {
  color: #d8ffe0;
  border-color: #d8ffe0;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-jump__a {
  color: #0d3d10;
  background: #e7f6e4;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-jump__n {
  color: #0d3d10;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-jump__a--top {
  background: #ffffff;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-jump__a:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-jump__a:focus-visible {
  color: #041004;
  background: #39ff14;
  border-color: #0d3d10;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .visibility-toggle {
  background: #ffffff;
  border-color: #1b5e20;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .visibility-option span {
  color: #14241a;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .visibility-option input:checked + span {
  background: #0e5c14;
  color: #ffffff;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .visibility-option--only-me input:checked + span,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-visibility-badge--only-me {
  background: #9b1c1c;
  color: #ffffff;
  border-color: #9b1c1c;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .online-item.is-offline .online-name {
  color: #14241a;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .online-item.is-offline .online-handle {
  opacity: 1;
  color: #0e5c14;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .presence-status--offline {
  color: #24362b;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .avatar-theme-name,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .avatar-theme-item.is-selected .avatar-theme-name {
  color: #14241a;
}

/* th2: site notice (For You / News banner) readable in light. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner a,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner a.sn-link { color: #123d12; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner { background: #eef8ec; border-color: #7cc275; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner a:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner a:focus { color: #000; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner .sn-c--green { color: #11650f; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner .sn-c--white { color: #111111; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner .sn-c--gold  { color: #7a4f00; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner .sn-c--red   { color: #a3001b; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner .sn-c--cyan  { color: #005f6e; }
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .site-banner .sn-small { opacity: 1; }

/* theme-light-polish-20261012 (Rich iPhone, Oct 12) */

/* Games card keeps its dark arcade panel in light, so its headline and copy stay light. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .signal-catcher-promo #signal-catcher-title {
  color: #f2fff0;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .signal-catcher-promo__content > p:not(.signal-catcher-promo__eyebrow) {
  color: #e3efe3;
}

/* People: + and Unfollow read as real buttons on white. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .online-follow-btn {
  color: #0f5c12;
  border-color: #1b5e20;
  background: #ffffff;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .online-follow-btn.is-following {
  color: #1c4a22;
  border-color: #5f7a64;
  background: #f1f6f1;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .online-follow-btn:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .online-follow-btn:focus {
  background: #e5f6e6;
}

/* Post owner actions: Save, Report, Pin, Edit and Delete get the same outlined pill as Like/Share. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .bookmark-button,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .report-button,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .pin-post-button,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .edit-post-button,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .delete-post-button {
  border: 1px solid #8fae93;
  border-radius: 999px;
  background: #ffffff;
  color: #0f5c12;
  padding: 0.28rem 0.7rem;
  line-height: 1.2;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .delete-post-button {
  color: #9b1c1c;
  border-color: #d9a3a3;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .bookmark-button:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .report-button:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .pin-post-button:hover,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .edit-post-button:hover:not(:disabled),
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .edit-post-button:focus-visible:not(:disabled) {
  background: #e5f6e6;
  border-color: #1b5e20;
  color: #0f5c12;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .delete-post-button:hover:not(:disabled),
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .post-actions .delete-post-button:focus-visible:not(:disabled) {
  background: #fdecea;
  border-color: #9b1c1c;
  color: #9b1c1c;
}

/* theme-light-polish2-20261012 (Rich iPhone, Oct 12 ~4:56 AM) */

/* BETA TESTER badge: Me matches For You (same pill, white text). Me's pill styles are inline from
   profile.js, so color/border need !important here; font, size, weight and spacing are already identical. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .hero-card .mark,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) [data-profile-beta-tester] .mark {
  background: #0d1f0e !important;
  color: #ffffff !important;
  border-color: #d8ffe0 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Create Post: darker, bolder typed text, placeholder and hints. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .compose-panel #post-body {
  color: #111111;
  font-weight: 600;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .compose-panel #post-body::placeholder {
  color: #444444;
  font-weight: 500;
  opacity: 1;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .compose-panel .compose-meta .hint,
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .compose-panel .compose-meta .compose-count {
  color: #2e2e2e;
  font-weight: 500;
}

/* theme-light-polish3-20261012 (Rich iPhone, Oct 12 ~5:11 AM) */

/* Back to top matches the lime POST / MATRIX typebar buttons (computed .rr-send in light). */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .ax-backtop {
  background: #39ff14;
  color: #041004;
  border: 1px solid #39ff14;
  box-shadow: 0 0 12px rgba(57, 255, 20, 0.45);
  font-weight: 800;
}

/* People Online: ONLINE as a light green pill, deep green text, bright glowing dot. */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .presence-status--online {
  color: #0b4d10;
  background: #dff7d9;
  border: 1px solid #9fd89a;
  border-radius: 999px;
  padding: 0.22rem 0.55rem 0.22rem 0.45rem;
}

html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .presence-status--online .online-dot {
  margin-right: 0;
  background: #39ff14;
  box-shadow: 0 0 6px #39ff14, 0 0 10px rgba(57, 255, 20, 0.7);
}

/* Oct 13 (20261014sd6): the switch left the header. Inline copies sit in the
   Jump to box and the Me box; other pages get a small corner button. */
.nw-theme-btn--inline { margin-top: 0.75rem; }
/* The label never wraps ("Dark theme:" / "on" broke apart on For You and Admin,
   where the Search chip left the pill squeezed; Messages had room). */
.nw-theme-btn { white-space: nowrap; flex-shrink: 0; }
.ax-jump + .nw-theme-btn--inline { display: inline-flex; }
.nw-theme-btn[hidden], .nw-theme-corner[hidden] { display: none !important; }
.nw-theme-corner {
  position: fixed;
  z-index: 900;
  left: calc(0.75rem + env(safe-area-inset-left, 0px));
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 16px/1 system-ui, sans-serif;
  color: #e4e7e4;
  background: rgba(13, 26, 14, 0.82);
  border: 1px solid rgba(57, 255, 20, 0.55);
  border-radius: 999px;
  opacity: 0.8;
  cursor: pointer;
}
.nw-theme-corner:hover, .nw-theme-corner:focus-visible { opacity: 1; outline: 2px solid #39ff14; outline-offset: 2px; }
body.has-bottom-nav .nw-theme-corner {
  bottom: calc(var(--bottom-nav-height, 56px) + env(safe-area-inset-bottom, 0px) + 0.65rem);
}
html[data-theme="light"] .nw-theme-corner { color: #0d1f0e; background: rgba(255, 255, 255, 0.9); border-color: #2e7d32; }
/* Hide while typing so it never sits on a keyboard or composer. */
body:has(:is(input, textarea, [contenteditable="true"]):focus) .nw-theme-corner { display: none; }

/* Safety net: desktop header items never wrap onto two lines. */
@media (min-width: 769px) {
  /* Desktop bar (Rich, Oct 13): the green SEARCH chip on For You / Admin / Me is what
     pushed Log out to a second row once the theme pill joined the bar. The chip is
     dropped on desktop; search stays in each page's Search section and Jump to.
     Phones (<=768px) keep the chip beside the hamburger. */
  body .site-header .hdr-search { display: none !important; }
  .site-header .site-nav > ul { flex-wrap: nowrap; }
  .site-header .site-nav > ul > li,
  .site-header .site-nav a,
  .site-header .site-nav .btn,
  .site-header .nav-help-details > summary,
  .site-header .auth-slot,
  .site-header .nav-user-menu { white-space: nowrap; }
  .site-header .auth-slot { flex-wrap: nowrap; }
}
/* Mid desktop widths: a little tighter so Search-free headers keep the theme pill,
   "Logged in as", the @user chip and Log out on one row. */
@media (min-width: 769px) and (max-width: 1180px) {
  .site-header .nav-inner {
    gap: 0.6rem;
    padding-left: calc(0.9rem + env(safe-area-inset-left, 0px));
    padding-right: calc(0.9rem + env(safe-area-inset-right, 0px));
  }
  .site-header .site-nav > ul { gap: 0.8rem; }
  .site-header .site-nav > ul > li > a,
  .site-header .nav-help-details > summary { font-size: 14px; }
  .site-header .auth-slot,
  .site-header .nav-user-menu { gap: 0.4rem; }
  .site-header .nw-theme-btn { padding: 0.35rem 0.6rem; }
  .site-header .nav-user-chip { max-width: 11rem; }
  .site-header .hs-menu-app { display: none; }
}
/* Below ~1005px the row cannot also hold "Logged in as": keep it for screen
   readers (the chip's aria-describedby) and hide it visually. */
@media (min-width: 769px) and (max-width: 1004px) {
  .site-header .nav-logged-as {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0;
  }
}

/* Game pages (sd5, option A): full "Dark theme" pill on the right of the "← Games" row,
   like the News masthead. Fixed row height so showing it after the gate check never
   shifts the game below. */
nav.games-crumb { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; min-height: 36px; }
nav.games-crumb .nw-theme-crumb { margin-left: auto; white-space: nowrap; flex-shrink: 0; }
nav.games-crumb .nw-theme-crumb[hidden] { display: none !important; }

/* Other pages (sd5): News-style row at the top of <main>, pill on the right. */
.nw-theme-row { display: flex; justify-content: flex-end; align-items: center; min-height: 36px; margin: 0 0 0.75rem; }
.nw-theme-row[hidden] { display: none !important; }
.nw-theme-row .nw-theme-btn { white-space: nowrap; flex-shrink: 0; }

/* sd5: Messages + Admin Tools light-theme polish (WCAG AA text contrast). */
html[data-theme="light"] .dm-edit-button,
html[data-theme="light"] .dm-delete-button { color: #3d4a3e; }
html[data-theme="light"] .dm-edit-button:hover,
html[data-theme="light"] .dm-edit-button:focus-visible { color: #0f5c12; }
html[data-theme="light"] .dm-delete-button:hover,
html[data-theme="light"] .dm-delete-button:focus-visible { color: #b00020; }
html[data-theme="light"] .admin-danger-btn { color: #b00020 !important; border-color: #b00020 !important; }
html[data-theme="light"] .ax-count { color: #5b665c; }
html[data-theme="light"] [data-dd-reset-reason]:not([hidden]) { color: #b00020; }
/* News story preview inside Admin Tools sits on a white card in light mode. */
html[data-theme="light"] .ax-story-preview .nw-card__summary { color: #2b332c; }
html[data-theme="light"] .ax-story-preview .nw-byline { color: #1b5e20; }

/* news-briefing-light-20261027: the Briefing panel keeps its dark terminal background in
   light, so the global light h3 color must not apply there (it matched the panel). */
html[data-theme="light"]:is(:not([data-games-dark]), [data-games-dark]) .nw-briefing h3 {
  color: #fff;
}
