/* Shared appearance tokens. Without JavaScript, the system preferences still apply.
   Explicit preferences are resolved by theme.js to the two attributes below. */
:root {
  color-scheme: light;
  --rg-page: #f8f7f2;
  --rg-surface: #fffefa;
  --rg-ink: #20392e;
  --rg-muted: #58665f;
  --rg-accent: #0f4b3c;
  --rg-on-accent: #fffdf5;
  --rg-crimson: #7d2330;
  --rg-on-crimson: #fffdf5;
  --rg-gold: #76551d;
  --rg-border: #748579;
  --rg-line: #d6ddd3;
  --rg-soft: #edf1e8;
  --rg-hover: #e4ece0;
  --rg-focus: #8c263c;
  --rg-mark: #e5ecd5;
  --rg-mark-ink: #234829;
  --rg-scrim: #081b13b3;
}

html[data-rg-theme="dark"] {
  color-scheme: dark;
  --rg-page: #101b18;
  --rg-surface: #162720;
  --rg-ink: #f0f3e8;
  --rg-muted: #b7c7ba;
  --rg-accent: #91d9b3;
  --rg-on-accent: #10271c;
  --rg-crimson: #f1a1aa;
  --rg-on-crimson: #381118;
  --rg-gold: #ddbc73;
  --rg-border: #7a9c86;
  --rg-line: #385447;
  --rg-soft: #20362b;
  --rg-hover: #294334;
  --rg-focus: #f7d58a;
  --rg-mark: #304d35;
  --rg-mark-ink: #f6e8b8;
  --rg-scrim: #000b;
}

@media (prefers-color-scheme: dark) {
  html:not([data-rg-theme]) {
    color-scheme: dark;
    --rg-page: #101b18;
    --rg-surface: #162720;
    --rg-ink: #f0f3e8;
    --rg-muted: #b7c7ba;
    --rg-accent: #91d9b3;
    --rg-on-accent: #10271c;
    --rg-crimson: #f1a1aa;
    --rg-on-crimson: #381118;
    --rg-gold: #ddbc73;
    --rg-border: #7a9c86;
    --rg-line: #385447;
    --rg-soft: #20362b;
    --rg-hover: #294334;
    --rg-focus: #f7d58a;
    --rg-mark: #304d35;
    --rg-mark-ink: #f6e8b8;
    --rg-scrim: #000b;
  }
}

html[data-rg-contrast="more"] {
  --rg-page: #fff;
  --rg-surface: #fff;
  --rg-ink: #071e14;
  --rg-muted: #293e32;
  --rg-accent: #00452b;
  --rg-on-accent: #fff;
  --rg-crimson: #73001d;
  --rg-on-crimson: #fff;
  --rg-gold: #594000;
  --rg-border: #1f3a2b;
  --rg-line: #1f3a2b;
  --rg-soft: #edf4ed;
  --rg-hover: #e5efe5;
  --rg-focus: #73001d;
  --rg-mark: #e4edba;
  --rg-mark-ink: #172600;
  --rg-scrim: #000c;
}

html[data-rg-theme="dark"][data-rg-contrast="more"] {
  --rg-page: #000;
  --rg-surface: #07110c;
  --rg-ink: #fff;
  --rg-muted: #dbead9;
  --rg-accent: #aaefbd;
  --rg-on-accent: #001c0b;
  --rg-crimson: #ffbcc6;
  --rg-on-crimson: #260009;
  --rg-gold: #ffe39a;
  --rg-border: #d1e5cf;
  --rg-line: #9db59c;
  --rg-soft: #12281a;
  --rg-hover: #1a3621;
  --rg-focus: #ffe39a;
  --rg-mark: #243a0b;
  --rg-mark-ink: #fff6b5;
}

@media (prefers-contrast: more) {
  html:not([data-rg-contrast]) {
    --rg-page: #fff;
    --rg-surface: #fff;
    --rg-ink: #071e14;
    --rg-muted: #293e32;
    --rg-accent: #00452b;
    --rg-on-accent: #fff;
    --rg-crimson: #73001d;
    --rg-on-crimson: #fff;
    --rg-gold: #594000;
    --rg-border: #1f3a2b;
    --rg-line: #1f3a2b;
    --rg-soft: #edf4ed;
    --rg-hover: #e5efe5;
    --rg-focus: #73001d;
    --rg-mark: #e4edba;
    --rg-mark-ink: #172600;
    --rg-scrim: #000c;
  }
  html[data-rg-theme="dark"]:not([data-rg-contrast]) {
    --rg-page: #000;
    --rg-surface: #07110c;
    --rg-ink: #fff;
    --rg-muted: #dbead9;
    --rg-accent: #aaefbd;
    --rg-on-accent: #001c0b;
    --rg-crimson: #ffbcc6;
    --rg-on-crimson: #260009;
    --rg-gold: #ffe39a;
    --rg-border: #d1e5cf;
    --rg-line: #9db59c;
    --rg-soft: #12281a;
    --rg-hover: #1a3621;
    --rg-focus: #ffe39a;
    --rg-mark: #243a0b;
    --rg-mark-ink: #fff6b5;
  }
  @media (prefers-color-scheme: dark) {
    html:not([data-rg-theme]):not([data-rg-contrast]) {
      --rg-page: #000;
      --rg-surface: #07110c;
      --rg-ink: #fff;
      --rg-muted: #dbead9;
      --rg-accent: #aaefbd;
      --rg-on-accent: #001c0b;
      --rg-crimson: #ffbcc6;
      --rg-on-crimson: #260009;
      --rg-gold: #ffe39a;
      --rg-border: #d1e5cf;
      --rg-line: #9db59c;
      --rg-soft: #12281a;
      --rg-hover: #1a3621;
      --rg-focus: #ffe39a;
      --rg-mark: #243a0b;
      --rg-mark-ink: #fff6b5;
    }
  }
}

html, body { background: var(--rg-page); color: var(--rg-ink); }
html { accent-color: var(--rg-accent); }
::selection { background: var(--rg-accent); color: var(--rg-on-accent); }

/* The reader defines these locally, so they must be mapped at the same scope. */
#rg-news-bars .nb-app {
  --nb-paper: var(--rg-page);
  --nb-surface: var(--rg-surface);
  --nb-ink: var(--rg-ink);
  --nb-muted: var(--rg-muted);
  --nb-green: var(--rg-accent);
  --nb-red: var(--rg-crimson);
  --nb-gold: var(--rg-gold);
  --nb-line: var(--rg-line);
  --nb-soft: var(--rg-soft);
  color-scheme: inherit;
}
#rg-news-bars .nb-monogram { background: var(--rg-accent); color: var(--rg-on-accent); }
#rg-news-bars .nb-news-row:hover { background: var(--rg-hover); }
#rg-news-bars .nb-meta-dot { color: var(--rg-muted); }
#rg-news-bars .nb-row-meta .nb-pick,
#rg-news-bars .nb-importance-stars { color: var(--rg-gold); }
#rg-news-bars .nb-digest-group { background: var(--rg-soft); }
#rg-news-bars .nb-digest-other { background: transparent; }
#rg-news-bars .nb-source-text { color: var(--rg-accent); border-color: var(--rg-border); background: var(--rg-soft); }
#rg-news-bars mark { color: var(--rg-mark-ink); background: var(--rg-mark); }
#rg-news-bars .nb-vote-stack .nb-vote-button:hover { background: var(--rg-hover); color: var(--rg-accent); }
#rg-news-bars .nb-action,
#rg-news-bars .nb-archive-pagination a,
#rg-news-bars input,
#rg-news-bars select,
#rg-news-bars textarea,
#rg-news-bars .nb-search-expanded,
#rg-news-bars .nb-language-control select { border-color: var(--rg-border); }
#rg-news-bars input::placeholder,
#rg-news-bars textarea::placeholder { color: var(--rg-muted); opacity: 1; }
#rg-news-bars .nb-filters button[aria-pressed="true"],
#rg-news-bars .nb-categories a[aria-pressed="true"],
#rg-news-bars .nb-filters a[data-category][aria-current="page"],
#rg-news-bars .nb-action[aria-pressed="true"],
#rg-news-bars .nb-vote-stack .nb-vote-button[aria-pressed="true"],
#rg-news-bars .nb-empty button,
#rg-news-bars .nb-submit { background: var(--rg-accent); color: var(--rg-on-accent); }
#rg-news-bars .nb-action[data-bookmark][aria-pressed="true"],
#rg-news-bars .nb-vote-stack .nb-vote-button[data-vote="-1"][aria-pressed="true"],
#rg-news-bars .nb-quiet-button[aria-pressed="true"] { background: var(--rg-crimson); color: var(--rg-on-crimson); }
#rg-news-bars .nb-filters [aria-pressed="true"],
#rg-news-bars .nb-filters [aria-current="page"] { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
#rg-news-bars .nb-vote-button[aria-pressed="true"] svg { stroke-width: 3; }
#rg-news-bars .nb-action[aria-pressed="true"] { outline: 1px solid currentColor; outline-offset: -4px; }
#rg-news-bars .nb-image-generated-label { background: var(--rg-accent); color: var(--rg-on-accent); }
#rg-news-bars .nb-audio { background: var(--rg-soft); border-color: var(--rg-border); }
#rg-news-bars .nb-audio-mark { border-color: var(--rg-crimson); }
#rg-news-bars .nb-dialog { background: var(--rg-surface); border-color: var(--rg-border); box-shadow: 0 16px 70px #0003; }
#rg-news-bars .nb-dialog::backdrop { background: var(--rg-scrim); }
#rg-news-bars audio { color-scheme: inherit; }
#rg-news-bars a:not(.nb-brand):not(.nb-categories a):hover { text-decoration: underline; text-underline-offset: 3px; }
#rg-news-bars :is(a, button, input, select, textarea, summary):focus-visible,
#rg-news-bars .nb-vote-stack .nb-vote-button:focus-visible {
  outline: 3px solid var(--rg-focus);
  outline-offset: 3px;
}
#rg-news-bars .nb-search:focus-within { outline: 3px solid var(--rg-focus); outline-offset: 3px; }
#rg-news-bars .nb-search input:focus-visible { outline: none; }
#rg-news-bars button:disabled { opacity: 1; color: var(--rg-muted); cursor: not-allowed; }
#rg-news-bars button[aria-pressed="true"]:disabled { color: var(--rg-on-accent); }
#rg-news-bars .nb-list[aria-busy="true"] { opacity: 1; }

/* Compact appearance choices, with contrast independent of the base theme. */
.rg-theme-control,
#rg-news-bars .rg-theme-control {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  gap: 1px;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: var(--rg-page);
  color: var(--rg-ink);
  font: 400 12px/1.6 RGPublic, Vazirmatn, Tahoma, sans-serif;
}
.rg-theme-label,
#rg-news-bars .rg-theme-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.rg-theme-control .rg-theme-button,
#rg-news-bars .rg-theme-control .rg-theme-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  min-width: 28px;
  min-height: 28px;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--rg-ink);
  font: inherit;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}
.rg-theme-control .rg-theme-button svg,
#rg-news-bars .rg-theme-control .rg-theme-button svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: none;
  pointer-events: none;
}
.rg-theme-control .rg-theme-button:hover,
#rg-news-bars .rg-theme-control .rg-theme-button:hover { background: var(--rg-hover); }
.rg-theme-control .rg-theme-button[aria-pressed="true"],
#rg-news-bars .rg-theme-control .rg-theme-button[aria-pressed="true"] {
  border-color: var(--rg-line);
  background: var(--rg-soft);
  color: var(--rg-accent);
  box-shadow: none;
}
.rg-theme-control .rg-theme-button:focus-visible,
#rg-news-bars .rg-theme-control .rg-theme-button:focus-visible {
  outline: 3px solid var(--rg-focus);
  outline-offset: 3px;
}
.rg-theme-control .rg-theme-contrast,
#rg-news-bars .rg-theme-control .rg-theme-contrast { position: relative; margin-inline-start: 4px; }
.rg-theme-control .rg-theme-contrast::before {
  content: "";
  position: absolute;
  inset-inline-start: -3px;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: var(--rg-line);
}
/* The studio heading also hosts its return link and appearance controls. */
#operator-panel .panel-heading { flex-wrap: wrap; }
@media (pointer: coarse) {
  .rg-theme-control .rg-theme-button,
  #rg-news-bars .rg-theme-control .rg-theme-button {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
}
@media print { .rg-theme-control, #rg-news-bars .rg-theme-control { display: none !important; } }

/* Consent stays readable over any reader, article, admin, or broadcast surface. */
.rg-analytics-choice { background: var(--rg-surface); color: var(--rg-ink); border-color: var(--rg-border); box-shadow: 0 12px 40px #0003; }
.rg-analytics-choice a { color: var(--rg-crimson); }
.rg-analytics-choice button { background: var(--rg-surface); color: var(--rg-ink); border-color: var(--rg-border); }
.rg-analytics-choice button:last-child:not(:first-child) { background: var(--rg-accent); color: var(--rg-on-accent); border-color: var(--rg-accent); }
.rg-analytics-choice button:hover { text-decoration: underline; text-underline-offset: 3px; }
.rg-analytics-choice :is(button, a):focus-visible { outline: 3px solid var(--rg-focus); outline-offset: 3px; }
.controls-hidden .rg-analytics-choice { opacity: 1; }

html[data-rg-contrast="more"] #rg-news-bars .nb-story.nb-open { box-shadow: none; outline: 2px solid var(--rg-border); outline-offset: -2px; }
html[data-rg-contrast="more"] #rg-news-bars .nb-dialog,
html[data-rg-contrast="more"] .rg-analytics-choice { box-shadow: none; border-width: 2px; }
html[data-rg-contrast="more"] #rg-news-bars .nb-row-title { font-weight: 600; }
@media (prefers-contrast: more) {
  html:not([data-rg-contrast]) #rg-news-bars .nb-story.nb-open { box-shadow: none; outline: 2px solid var(--rg-border); outline-offset: -2px; }
  html:not([data-rg-contrast]) #rg-news-bars .nb-dialog,
  html:not([data-rg-contrast]) .rg-analytics-choice { box-shadow: none; border-width: 2px; }
  html:not([data-rg-contrast]) #rg-news-bars .nb-row-title { font-weight: 600; }
}

/* Respect Windows High Contrast and browser supplied system colors. */
@media (forced-colors: active) {
  :root,
  html[data-rg-theme],
  html[data-rg-contrast],
  html[data-rg-theme][data-rg-contrast] {
    --rg-page: Canvas;
    --rg-surface: Canvas;
    --rg-ink: CanvasText;
    --rg-muted: CanvasText;
    --rg-accent: LinkText;
    --rg-on-accent: Canvas;
    --rg-crimson: LinkText;
    --rg-on-crimson: Canvas;
    --rg-gold: CanvasText;
    --rg-border: ButtonText;
    --rg-line: CanvasText;
    --rg-soft: Canvas;
    --rg-hover: Canvas;
    --rg-focus: Highlight;
    --rg-mark: Mark;
    --rg-mark-ink: MarkText;
  }
  #rg-news-bars .nb-app { background: Canvas; color: CanvasText; }
  #rg-news-bars .nb-filters [aria-pressed="true"],
  #rg-news-bars .nb-filters a[data-category][aria-current="page"],
  #rg-news-bars .nb-action[aria-pressed="true"],
  #rg-news-bars .nb-vote-stack .nb-vote-button[aria-pressed="true"],
  #rg-news-bars .nb-quiet-button[aria-pressed="true"] { border: 2px solid Highlight; outline: 2px solid Highlight; outline-offset: -2px; color: Highlight; background: Canvas; }
  #rg-news-bars .nb-thumbnail { border: 1px solid CanvasText; }
  #rg-news-bars .nb-image-generated-label { border-top: 1px solid CanvasText; background: Canvas; color: CanvasText; }
  #rg-news-bars .nb-monogram { color: CanvasText; background: Canvas; border-color: CanvasText; }
  .rg-theme-control .rg-theme-button,
  #rg-news-bars .rg-theme-control .rg-theme-button,
  .rg-analytics-choice button { border-color: ButtonText; background: ButtonFace; color: ButtonText; }
  .rg-theme-control .rg-theme-button[aria-pressed="true"],
  #rg-news-bars .rg-theme-control .rg-theme-button[aria-pressed="true"] {
    border-color: Highlight;
    background: Highlight;
    color: HighlightText;
    box-shadow: none;
  }
  .rg-theme-control .rg-theme-contrast::before { background: ButtonText; }
  .rg-analytics-choice { box-shadow: none; border: 2px solid CanvasText; }
}

/* Release identifiers stay readable, copyable and quiet in the public footer. */
.rg-site-version,
#rg-news-bars .rg-site-version {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  flex-basis: 100%;
  gap: 4px 7px;
  color: var(--rg-muted);
  font: 400 11px/1.8 RGPublic, Vazirmatn, Tahoma, sans-serif;
  font-variant-numeric: tabular-nums;
}
.rg-site-version bdi { white-space: nowrap; }

/* Deployment and public content clocks are separate from the release identity. */
.rg-deployment-status,.rg-news-status,
#rg-news-bars .rg-deployment-status,#rg-news-bars .rg-news-status{display:inline-flex;align-items:baseline;flex-wrap:wrap;flex-basis:100%;gap:4px 7px;max-width:100%;color:var(--rg-muted);font:400 11px/1.8 RGPublic,Vazirmatn,Tahoma,sans-serif;overflow-wrap:anywhere}
.rg-deployment-status time,.rg-news-status time{font-variant-numeric:tabular-nums;max-width:100%}
.rg-deployment-status [hidden],.rg-news-status [hidden]{display:none!important}
