/*
 * GENERATED FILE — DO NOT EDIT.
 * Source: config/theme/central-theme.v1.json
 *
 * The central authority defines every paired colour, shadow, focus, and
 * gradient role exactly once. Load theme-central-boot.js synchronously before
 * this file; surfaces may make semantic aliases but never local palettes.
 */

:root {
  color-scheme: light;
  --rr-theme-black: #000000;
  --rr-theme-white: #ffffff;
  --rr-theme-canvas: #f8fafc;
  --rr-theme-canvas-soft: #edf2f8;
  --rr-theme-surface: #ffffff;
  --rr-theme-surface-raised: #f1f5f9;
  --rr-theme-surface-overlay: #ffffff;
  --rr-theme-surface-sunken: #e2e8f0;
  --rr-theme-surface-glass: rgba(255, 255, 255, 0.88);
  --rr-theme-nav: rgba(255, 255, 255, 0.95);
  --rr-theme-ink: #1e293b;
  --rr-theme-ink-strong: #0f172a;
  --rr-theme-ink-soft: #475569;
  --rr-theme-ink-muted: #64748b;
  --rr-theme-ink-faint: #94a3b8;
  --rr-theme-ink-inverse: #ffffff;
  --rr-theme-line-faint: #f1f5f9;
  --rr-theme-line: #d8e0eb;
  --rr-theme-line-strong: #94a3b8;
  --rr-theme-red-base: #dc2626;
  --rr-theme-red-hover: #b91c1c;
  --rr-theme-red-active: #991b1b;
  --rr-theme-red-ink: #b91c1c;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-red-border: rgba(239, 68, 68, 0.28);
  --rr-theme-red-glow: rgba(220, 38, 38, 0.16);
  --rr-theme-blue-base: #2563eb;
  --rr-theme-blue-hover: #1d4ed8;
  --rr-theme-blue-active: #1e40af;
  --rr-theme-blue-ink: #1d4ed8;
  --rr-theme-blue-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-blue-border: rgba(37, 99, 235, 0.28);
  --rr-theme-blue-glow: rgba(37, 99, 235, 0.16);
  --rr-theme-green-base: #059669;
  --rr-theme-green-hover: #047857;
  --rr-theme-green-active: #065f46;
  --rr-theme-green-ink: #065f46;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-green-border: rgba(16, 185, 129, 0.28);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.16);
  --rr-theme-amber-base: #d97706;
  --rr-theme-amber-hover: #b45309;
  --rr-theme-amber-active: #92400e;
  --rr-theme-amber-ink: #92400e;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.28);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.16);
  --rr-theme-violet-base: #7c3aed;
  --rr-theme-violet-hover: #6d28d9;
  --rr-theme-violet-active: #5b21b6;
  --rr-theme-violet-ink: #5b21b6;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.08);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.28);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.16);
  --rr-theme-info: #2563eb;
  --rr-theme-info-ink: #1d4ed8;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.08);
  --rr-theme-info-border: rgba(37, 99, 235, 0.28);
  --rr-theme-success: #059669;
  --rr-theme-success-ink: #065f46;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.08);
  --rr-theme-success-border: rgba(16, 185, 129, 0.28);
  --rr-theme-warning: #d97706;
  --rr-theme-warning-ink: #92400e;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.08);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.28);
  --rr-theme-danger: #dc2626;
  --rr-theme-danger-ink: #b91c1c;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.08);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.28);
  --rr-theme-focus: 0 0 0 3px rgba(37, 99, 235, 0.35);
  --rr-theme-scrim: rgba(15, 23, 42, 0.48);
  --rr-theme-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
  --rr-theme-shadow-md: 0 4px 14px rgba(15, 23, 42, 0.08);
  --rr-theme-shadow-lg: 0 10px 28px rgba(15, 23, 42, 0.12);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #262b31;
  --rr-theme-strip-fg: #cfd4da;
  --rr-theme-strip-fg-strong: #ffffff;
  --rr-theme-strip-line: #31373e;
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #dbe2ec;
  --rr-theme-skel-bg-1: #eaeff6;
  --rr-theme-skel-bg-2: #dae2ec;
  --rr-theme-profile-status-warn-fg: #8c1d18;
  --rr-theme-hero-tip-bg: rgba(255, 255, 255, 0.94);
  --rr-theme-map-water-fill: #dce6f2;
  --rr-theme-map-road-stroke: rgba(14, 19, 25, 0.10);
  --rr-theme-map-road-major: rgba(14, 19, 25, 0.16);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #ffffff;
  --rr-theme-hero-marker-arrow: #0e1319;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #b81d2a;
  --rr-theme-action-primary-hover: #9e1521;
  --rr-theme-ops-ink: #15181c;
  --rr-theme-ops-ink-2: #262b31;
  --rr-theme-ops-card: #ffffff;
  --rr-theme-ops-ok: #1d7a3d;
  --rr-theme-ops-ok-bg: #edf8ef;
  --rr-theme-ops-warn: #b88207;
  --rr-theme-ops-warn-bg: #fff7e6;
  --rr-theme-ops-bad: #b3261e;
  --rr-theme-ops-bad-bg: #fdecec;
  --rr-theme-ops-bad-fg-on-tint: #b70000;
  --rr-theme-ops-blue: #235d90;
  --rr-theme-ops-blue-bg: #eef5fb;
  --rr-theme-day-blocked-bg: #f4f5f6;
  --rr-theme-day-blocked-border: #d7dbe0;
  --rr-theme-day-blocked-head-bg: #eceff1;
  --rr-theme-day-blocked-head-color: #5d656d;
  --rr-theme-panel-tint: #fafaf8;
  --rr-theme-slot-unknown-border: #d5d7da;
  --rr-theme-slot-unknown-bg: #f4f5f6;
  --rr-theme-slot-unknown-color: #656b72;
  --rr-theme-slot-unknown-state: #555c63;
  --rr-theme-slot-grey-border: #cfd4da;
  --rr-theme-slot-grey-bg: #eef0f2;
  --rr-theme-slot-grey-color: #687078;
  --rr-theme-slot-grey-state: #687078;
  --rr-theme-slot-unpub-border: #d7d0c2;
  --rr-theme-slot-unpub-bg-1: #f1efe9;
  --rr-theme-slot-unpub-bg-2: #e8e3d8;
  --rr-theme-slot-unpub-color: #736a58;
  --rr-theme-slot-unpub-state: #736a58;
  --rr-theme-rides-text: #0e1319;
  --rr-theme-rides-text-soft: #2d3848;
  --rr-theme-rides-muted: #4a5563;
  --rr-theme-rides-dim: #5c6878;
  --rr-theme-rides-body-gradient-top: rgba(217, 37, 52, 0.04);
  --rr-theme-rides-ok: #1d7a3d;
  --browser-theme-color: var(--rr-theme-canvas);
}

:root[data-rr-theme="dark"] {
  color-scheme: dark;
  --rr-theme-black: #ffffff;
  --rr-theme-white: #000000;
  --rr-theme-canvas: #0a0e17;
  --rr-theme-canvas-soft: #0e1520;
  --rr-theme-surface: #111827;
  --rr-theme-surface-raised: #1a2234;
  --rr-theme-surface-overlay: #242e44;
  --rr-theme-surface-sunken: #070b12;
  --rr-theme-surface-glass: rgba(17, 24, 39, 0.85);
  --rr-theme-nav: rgba(17, 24, 39, 0.92);
  --rr-theme-ink: #e2e8f0;
  --rr-theme-ink-strong: #f8fafc;
  --rr-theme-ink-soft: #94a3b8;
  --rr-theme-ink-muted: #64748b;
  --rr-theme-ink-faint: #475569;
  --rr-theme-ink-inverse: #0a0e17;
  --rr-theme-line-faint: rgba(255, 255, 255, 0.06);
  --rr-theme-line: rgba(255, 255, 255, 0.14);
  --rr-theme-line-strong: rgba(255, 255, 255, 0.28);
  --rr-theme-red-base: #ef4444;
  --rr-theme-red-hover: #dc2626;
  --rr-theme-red-active: #b91c1c;
  --rr-theme-red-ink: #fca5a5;
  --rr-theme-red-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-red-border: rgba(239, 68, 68, 0.38);
  --rr-theme-red-glow: rgba(239, 68, 68, 0.28);
  --rr-theme-blue-base: #3b82f6;
  --rr-theme-blue-hover: #60a5fa;
  --rr-theme-blue-active: #93c5fd;
  --rr-theme-blue-ink: #93c5fd;
  --rr-theme-blue-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-blue-border: rgba(37, 99, 235, 0.38);
  --rr-theme-blue-glow: rgba(37, 99, 235, 0.28);
  --rr-theme-green-base: #10b981;
  --rr-theme-green-hover: #34d399;
  --rr-theme-green-active: #6ee7b7;
  --rr-theme-green-ink: #6ee7b7;
  --rr-theme-green-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-green-border: rgba(16, 185, 129, 0.38);
  --rr-theme-green-glow: rgba(16, 185, 129, 0.28);
  --rr-theme-amber-base: #f59e0b;
  --rr-theme-amber-hover: #fbbf24;
  --rr-theme-amber-active: #fcd34d;
  --rr-theme-amber-ink: #fcd34d;
  --rr-theme-amber-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-amber-border: rgba(245, 158, 11, 0.38);
  --rr-theme-amber-glow: rgba(245, 158, 11, 0.28);
  --rr-theme-violet-base: #a78bfa;
  --rr-theme-violet-hover: #c4b5fd;
  --rr-theme-violet-active: #ddd6fe;
  --rr-theme-violet-ink: #ddd6fe;
  --rr-theme-violet-subtle: rgba(124, 58, 237, 0.14);
  --rr-theme-violet-border: rgba(124, 58, 237, 0.38);
  --rr-theme-violet-glow: rgba(124, 58, 237, 0.28);
  --rr-theme-info: #3b82f6;
  --rr-theme-info-ink: #93c5fd;
  --rr-theme-info-subtle: rgba(37, 99, 235, 0.14);
  --rr-theme-info-border: rgba(37, 99, 235, 0.38);
  --rr-theme-success: #10b981;
  --rr-theme-success-ink: #6ee7b7;
  --rr-theme-success-subtle: rgba(16, 185, 129, 0.14);
  --rr-theme-success-border: rgba(16, 185, 129, 0.38);
  --rr-theme-warning: #f59e0b;
  --rr-theme-warning-ink: #fcd34d;
  --rr-theme-warning-subtle: rgba(245, 158, 11, 0.14);
  --rr-theme-warning-border: rgba(245, 158, 11, 0.38);
  --rr-theme-danger: #ef4444;
  --rr-theme-danger-ink: #fca5a5;
  --rr-theme-danger-subtle: rgba(239, 68, 68, 0.14);
  --rr-theme-danger-border: rgba(239, 68, 68, 0.38);
  --rr-theme-focus: 0 0 0 3px rgba(37, 99, 235, 0.45);
  --rr-theme-scrim: rgba(0, 0, 0, 0.65);
  --rr-theme-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.40);
  --rr-theme-shadow-md: 0 4px 14px rgba(0, 0, 0, 0.45);
  --rr-theme-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.55);
  --rr-theme-gradient-top: linear-gradient(135deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-surface: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface));
  --rr-theme-gradient-sunken: linear-gradient(155deg, var(--rr-theme-surface-raised), var(--rr-theme-surface-sunken));
  --rr-theme-gradient-rule: linear-gradient(90deg, var(--rr-theme-blue-base), transparent);
  --rr-theme-strip-bg: #262b31;
  --rr-theme-strip-fg: #cfd4da;
  --rr-theme-strip-fg-strong: #ffffff;
  --rr-theme-strip-line: #31373e;
  --rr-theme-tier-metal-chip-fg: #ffe7b2;
  --rr-theme-tier-metal-points-fg: #f1c36d;
  --rr-theme-ring-track: #090d13;
  --rr-theme-skel-bg-1: #121722;
  --rr-theme-skel-bg-2: #202837;
  --rr-theme-profile-status-warn-fg: #ffd8d5;
  --rr-theme-hero-tip-bg: rgba(11, 16, 23, 0.92);
  --rr-theme-map-water-fill: #06090f;
  --rr-theme-map-road-stroke: rgba(255, 255, 255, 0.06);
  --rr-theme-map-road-major: rgba(255, 255, 255, 0.1);
  --rr-theme-red-on-dark: #ff8b8b;
  --rr-theme-on-accent: #ffffff;
  --rr-theme-hero-marker-arrow: #07120c;
  --rr-theme-admin-primary: #238636;
  --rr-theme-admin-primary-hover: #1f7a31;
  --rr-theme-admin-primary-strong: #3fb950;
  --rr-theme-admin-primary-soft: #dafbe1;
  --rr-theme-admin-primary-line: #2f9e44;
  --rr-theme-admin-focus: #1f883d;
  --rr-theme-admin-danger: #b3261e;
  --rr-theme-admin-danger-hover: #8f1f1a;
  --rr-theme-admin-danger-soft: #fdecec;
  --rr-theme-action-primary: #cc2c39;
  --rr-theme-action-primary-hover: #d6323f;
  --rr-theme-ops-ink: #f0f2f5;
  --rr-theme-ops-ink-2: #cdd3dc;
  --rr-theme-ops-card: #161a20;
  --rr-theme-ops-ok: #3ddc84;
  --rr-theme-ops-ok-bg: rgba(61, 220, 132, 0.14);
  --rr-theme-ops-warn: #f1c36d;
  --rr-theme-ops-warn-bg: rgba(241, 195, 109, 0.14);
  --rr-theme-ops-bad: #ff6b6b;
  --rr-theme-ops-bad-bg: rgba(255, 107, 107, 0.14);
  --rr-theme-ops-bad-fg-on-tint: #ff6b6b;
  --rr-theme-ops-blue: #5ba2e6;
  --rr-theme-ops-blue-bg: rgba(91, 162, 230, 0.14);
  --rr-theme-day-blocked-bg: #14181f;
  --rr-theme-day-blocked-border: #2a323d;
  --rr-theme-day-blocked-head-bg: #1b2129;
  --rr-theme-day-blocked-head-color: #9aa3af;
  --rr-theme-panel-tint: #181d24;
  --rr-theme-slot-unknown-border: #2b333e;
  --rr-theme-slot-unknown-bg: #161b22;
  --rr-theme-slot-unknown-color: #9da6b2;
  --rr-theme-slot-unknown-state: #8f98a4;
  --rr-theme-slot-grey-border: #2e3642;
  --rr-theme-slot-grey-bg: #1a2027;
  --rr-theme-slot-grey-color: #a0a9b5;
  --rr-theme-slot-grey-state: #a0a9b5;
  --rr-theme-slot-unpub-border: #3d382f;
  --rr-theme-slot-unpub-bg-1: #211d17;
  --rr-theme-slot-unpub-bg-2: #2b251d;
  --rr-theme-slot-unpub-color: #b8ad9a;
  --rr-theme-slot-unpub-state: #b8ad9a;
  --rr-theme-rides-text: #f6f8fb;
  --rr-theme-rides-text-soft: #d9e0ea;
  --rr-theme-rides-muted: #9aa7b8;
  --rr-theme-rides-dim: #7f8a9b;
  --rr-theme-rides-body-gradient-top: rgba(239, 62, 74, 0.08);
  --rr-theme-rides-ok: #3ddc84;
  --browser-theme-color: var(--rr-theme-canvas);
}

/*
 * Central Platform Mark Roles
 * Authored in config/theme/central-theme.v1.json.
 */

[data-rr-platform-mark] {
  display: inline-block;
  vertical-align: middle;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}

[data-rr-platform-mark="small"],
.rr-platform-mark-small {
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  border: 1px solid var(--rr-theme-line-strong);
  border-radius: 6px;
  background-color: var(--rr-theme-surface-raised);
  background-origin: padding-box;
  background-clip: padding-box;
  box-shadow: var(--rr-theme-shadow-sm);
  aspect-ratio: 1 / 1;
  background-image: url("/static/shared/brand/small_logo-light.svg");
}

[data-rr-platform-mark="large"],
.rr-platform-mark-large {
  width: auto;
  height: 30px;
  aspect-ratio: 716 / 220;
  background-image: url("/static/shared/brand/big_logo-light.svg");
}

:root[data-rr-theme="light"] [data-rr-platform-mark="small"],
:root[data-theme="light"] [data-rr-platform-mark="small"],
:root[data-rr-theme="light"] .rr-platform-mark-small,
:root[data-theme="light"] .rr-platform-mark-small {
  background-image: url("/static/shared/brand/small_logo-light.svg");
}

:root[data-rr-theme="light"] [data-rr-platform-mark="large"],
:root[data-theme="light"] [data-rr-platform-mark="large"],
:root[data-rr-theme="light"] .rr-platform-mark-large,
:root[data-theme="light"] .rr-platform-mark-large {
  background-image: url("/static/shared/brand/big_logo-light.svg");
}

:root[data-rr-theme="dark"] [data-rr-platform-mark="small"],
:root[data-theme="dark"] [data-rr-platform-mark="small"],
:root[data-rr-theme="dark"] .rr-platform-mark-small,
:root[data-theme="dark"] .rr-platform-mark-small {
  background-image: url("/static/shared/brand/small_logo-dark.svg");
}

:root[data-rr-theme="dark"] [data-rr-platform-mark="large"],
:root[data-theme="dark"] [data-rr-platform-mark="large"],
:root[data-rr-theme="dark"] .rr-platform-mark-large,
:root[data-theme="dark"] .rr-platform-mark-large {
  background-image: url("/static/shared/brand/big_logo-dark.svg");
}

/* Ground Overrides — container ground explicitly supersedes root theme.
 * Each selector is rooted at :root so it matches the (0,3,0) weight of the
 * :root[data-rr-theme="..."] rules above and wins on source order. Unrooted,
 * .rail .rr-platform-mark-small is only (0,2,0) and lost, painting the light
 * mark inside a permanently dark rail. */
:root [data-rr-ground="light"] [data-rr-platform-mark="small"],
:root [data-rr-ground="light"] .rr-platform-mark-small {
  background-image: url("/static/shared/brand/small_logo-light.svg");
}

:root [data-rr-ground="light"] [data-rr-platform-mark="large"],
:root [data-rr-ground="light"] .rr-platform-mark-large {
  background-image: url("/static/shared/brand/big_logo-light.svg");
}

:root [data-rr-ground="dark"] [data-rr-platform-mark="small"],
:root [data-rr-ground="dark"] .rr-platform-mark-small,
:root .site-footer.industrial-shell [data-rr-platform-mark="small"],
:root .site-footer.industrial-shell .rr-platform-mark-small,
:root .rail [data-rr-platform-mark="small"],
:root .rail .rr-platform-mark-small {
  background-image: url("/static/shared/brand/small_logo-dark.svg");
}

:root [data-rr-ground="dark"] [data-rr-platform-mark="large"],
:root [data-rr-ground="dark"] .rr-platform-mark-large {
  background-image: url("/static/shared/brand/big_logo-dark.svg");
}

/* Central three-position theme selector control */
[data-rr-theme-control] {
  display: inline-flex;
  align-items: center;
}

[data-rr-theme-control].rr-theme-floating {
  position: fixed;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 2147483000;
}

.rr-theme-group {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: var(--rr-theme-surface-sunken);
  border: 1px solid var(--rr-theme-line);
  border-radius: 12px;
  box-sizing: border-box;
}

.rr-theme-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 4px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--rr-theme-ink-soft);
  font-family: inherit;
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}

.rr-theme-btn:hover {
  color: var(--rr-theme-ink-strong);
  background: var(--rr-theme-surface-raised);
}

.rr-theme-btn.is-active,
.rr-theme-btn[aria-pressed="true"] {
  background: var(--rr-theme-surface);
  color: var(--rr-theme-ink-strong);
  border-color: var(--rr-theme-line-strong);
  box-shadow: var(--rr-theme-shadow-sm);
  font-weight: 750;
}

.rr-theme-btn:focus-visible {
  outline: none;
  box-shadow: var(--rr-theme-focus);
}

.rr-theme-icon {
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  stroke: currentColor;
}

.rr-theme-label {
  display: inline;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

/* Keep the three choices icon-accessible while shared desktop navigation is
   between its full-width and mobile layouts. The button aria-labels retain
   the choice names; only the redundant visible text is compacted. */
@media (min-width: 761px) and (max-width: 900px) {
  .rr-theme-label {
    display: none;
  }
}

/* Central "Powered by Rasheed Routing" module presentation.
 *
 * The module MARKUP is authored exactly once in
 * website-modules/static/shared/powered-by.js; its PRESENTATION is authored
 * exactly once here, so every surface that loads the central theme renders the
 * one module identically. No surface sheet may re-declare these selectors.
 *
 * This block is deliberately emitted AFTER the theme-control block: the
 * isolated demo image (miniserver/services/edge_api/demo_surface.py,
 * _demo_theme_roles_and_control_bytes) strips exactly the span between the
 * mark-roles block header and the theme-control block header, so anything
 * placed there would vanish from the demo copy of this sheet. It also declares
 * no mark selector and no brand-asset URL, both of which that function forbids
 * in the demo subset.
 */
.footer-powered {
  border-top: 1px solid var(--rr-theme-line);
  padding: 12px 16px;
  text-align: right;
}

.rr-powered-by,
.footer-powered-mark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  border-radius: 6px;
  color: var(--rr-theme-ink-muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.footer-powered-logo {
  flex: 0 0 auto;
}

.footer-powered-copy,
.footer-powered-name {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}

.footer-powered a,
a.rr-powered-by,
a.footer-powered-mark {
  text-decoration: none;
}

.footer-powered a:hover,
.footer-powered a:focus-visible,
a.rr-powered-by:hover,
a.rr-powered-by:focus-visible,
a.footer-powered-mark:hover,
a.footer-powered-mark:focus-visible {
  color: var(--rr-theme-ink-strong);
  text-decoration: none;
}

.footer-powered a:hover .footer-powered-name,
a.rr-powered-by:hover .footer-powered-name,
a.footer-powered-mark:hover .footer-powered-name {
  text-decoration: underline;
}

.footer-powered a:focus-visible,
a.rr-powered-by:focus-visible,
a.footer-powered-mark:focus-visible {
  outline: none;
  box-shadow: var(--rr-theme-focus);
}
