:root {
  color-scheme: light;
  --page: #ffffff;
  --surface: #ffffff;
  --band: #f1f5f5;
  --ink: #202e31;
  --muted: #526366;
  --border: #cfdddd;
  --accent: #087b73;
  --accent-hover: #065e58;
  --accent-ink: #ffffff;
  --tv-accent: #bc6a2a;
  --tv-button: #263638;
  --tv-hover: #101f21;
  --tv-ink: #ffffff;
  --focus: #b64a26;
  --gallery: #f4f7ef;
  --warning: #9b4325;
  --control-border: #718985;
  --icon-filter: none;
  --button-icon-filter: brightness(0) invert(1);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #101b17;
  --surface: #182821;
  --band: #14241d;
  --ink: #edf5ef;
  --muted: #b3c8bc;
  --border: #3a5144;
  --accent: #9de1c5;
  --accent-hover: #b7ecd7;
  --accent-ink: #102c20;
  --tv-accent: #dfa96e;
  --tv-button: #2c5142;
  --tv-hover: #396853;
  --tv-ink: #effff5;
  --focus: #efbd8c;
  --gallery: #21382c;
  --warning: #efbd8c;
  --control-border: #799984;
  --icon-filter: brightness(0) invert(1);
  --button-icon-filter: brightness(0);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --page: #101b17;
    --surface: #182821;
    --band: #14241d;
    --ink: #edf5ef;
    --muted: #b3c8bc;
    --border: #3a5144;
    --accent: #9de1c5;
    --accent-hover: #b7ecd7;
    --accent-ink: #102c20;
    --tv-accent: #dfa96e;
    --tv-button: #2c5142;
    --tv-hover: #396853;
    --tv-ink: #effff5;
    --focus: #efbd8c;
    --gallery: #21382c;
    --warning: #efbd8c;
    --control-border: #799984;
    --icon-filter: brightness(0) invert(1);
    --button-icon-filter: brightness(0);
  }
}
:root { background: var(--page); color: var(--ink); }
body { background: var(--page); }
a, .copy-link, .step-number { color: var(--accent); }
.brand { color: var(--ink); }
.brand span, .site-header nav a, .eyebrow, .release-note, .card-label,
.card-description, .file-meta span, .download-hint, .qr figcaption,
.transfer-copy p, .steps p, .safety, .screen-grid figcaption, .muted,
.questions details p, .site-footer, .remote-help .remote-checksum,
.remote-help .remote-session-note { color: var(--muted); }
.site-header, .questions details, .site-footer, .safety { border-color: var(--border); }
.download-card { background: var(--surface); border-color: var(--border); border-top-color: var(--accent); }
.download-card.tv { border-top-color: var(--tv-accent); }
.download-button { background: var(--accent); color: var(--accent-ink); }
.download-button:hover { background: var(--accent-hover); }
.tv .download-button { background: var(--tv-button); color: var(--tv-ink); }
.tv .download-button:hover { background: var(--tv-hover); }
.install-band { background: var(--band); border-color: var(--border); }
.skip { background: var(--surface); color: var(--ink); }
.unavailable { color: var(--warning); }
section.screens .screen-grid img { background: var(--gallery); border-color: var(--border); }
.qr img { background: #ffffff; filter: none; padding: 8px; border-radius: 10px; }
.app-heading > img { background: #f5f9f4; padding: 7px; }
.icon { filter: var(--icon-filter); }
.download-button .icon { filter: var(--button-icon-filter); }
.tv .download-button .icon { filter: brightness(0) invert(1); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: var(--focus); }
.site-header { display: grid; grid-template-columns: auto 1fr auto; gap: 24px; }
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--control-border);
  border-radius: 999px;
  background: var(--band);
  color: var(--ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.3;
  white-space: nowrap;
}
.theme-toggle[hidden] { display: none; }
.theme-toggle svg { width: 18px; height: 18px; flex-shrink: 0; }
.theme-toggle:hover { border-color: var(--accent); }
.theme-toggle[aria-pressed="true"] { border-color: var(--accent); background: #284937; color: var(--accent); }
@media (max-width: 760px) {
  .site-header { grid-template-columns: 1fr auto; gap: 16px; }
  .site-header .brand { grid-column: 1; grid-row: 1; }
  .site-header .theme-toggle { grid-column: 2; grid-row: 1; }
  .site-header nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-content: flex-start; }
}
