:root { color-scheme: light dark; }
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] {
  color-scheme: light;
  --bg: #ffffff;
  --bg-soft: #f2f1ed;
  --surface: rgba(255,255,255,.8);
  --surface-2: #eeece7;
  --line: rgba(38,46,56,.12);
  --line-2: rgba(38,46,56,.22);
  --text: #242b34;
  --muted: #586371;
  --dim: #687482;
  --accent: #d63d0b;
  --accent-2: #c74418;
  --accent-soft: rgba(214,61,11,.08);
  --ok: #19825b;
}
@media (prefers-color-scheme: light) {
  html:not([data-theme]) {
    --bg: #ffffff; --bg-soft: #f2f1ed; --surface: rgba(255,255,255,.8); --surface-2: #eeece7;
    --line: rgba(38,46,56,.12); --line-2: rgba(38,46,56,.22); --text: #242b34; --muted: #586371; --dim: #687482;
  }
}
html[data-theme="light"] body {
  background-image: linear-gradient(rgba(38,46,56,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(38,46,56,.025) 1px, transparent 1px);
  background-color: var(--bg);
}
.site-header, .site-footer {
  color-scheme: dark;
  --bg: #080808; --bg-soft: #0c0c0c;
  --surface: rgba(255,255,255,.028); --surface-2: rgba(255,255,255,.055);
  --line: rgba(255,255,255,.09); --line-2: rgba(255,255,255,.17);
  --text: #f5f5f5; --muted: rgba(255,255,255,.56); --dim: rgba(255,255,255,.36);
  --accent: #ff4a17;
  color: var(--text);
  background: #080808;
}
.site-header.is-stuck { background: #080808; }
html[data-theme="light"] .btn--primary { --btn-fg: #fff; box-shadow: 0 8px 24px -12px rgba(214,61,11,.35); }
html[data-theme="light"] .btn--ghost { --btn-bg: rgba(255,255,255,.6); }
html[data-theme="light"] .btn--ghost:hover { --btn-bg: #eeece7; }
html[data-theme="light"] .site-header .btn--ghost { --btn-bg: rgba(255,255,255,.035); }
html[data-theme="light"] .site-header .btn--ghost:hover { --btn-bg: rgba(255,255,255,.075); }
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .chip { background: #fff; color: var(--muted); }
html[data-theme="light"] .badge { background: var(--surface-2); }
html[data-theme="light"] .card--hover:hover,
html[data-theme="light"] .card-row:hover { background: #fff; }
html[data-theme="light"] .browser,
html[data-theme="light"] .frame { background: #fff; box-shadow: 0 18px 50px -28px rgba(38,46,56,.26); }
html[data-theme="light"] .browser__bar,
html[data-theme="light"] .frame__bar,
html[data-theme="light"] .hero-flow__browser-bar { background: #eeece7; }
html[data-theme="light"] .browser__url,
html[data-theme="light"] .frame__url,
html[data-theme="light"] .hero-flow__address { background: #f9f8f5; color: #586371; }
html[data-theme="light"] .browser__dots i,
html[data-theme="light"] .frame__dots i,
html[data-theme="light"] .hero-flow__dots i { background: #b5b9bd; }
html[data-theme="light"] .shot { box-shadow: 0 18px 40px -28px rgba(38,46,56,.24); }
html[data-theme="light"] .hero-flow__window { background: #fff; }
html[data-theme="light"] .hero-flow__map { background: #f0efeb; }
html[data-theme="light"] .hero-flow__parcels { fill: #e3e1da; stroke: #b9b6ad; }
html[data-theme="light"] .hero-flow__parcels .hero-flow__streets { stroke: #fff; }
html[data-theme="light"] .hero-flow__map-labels { fill: #65707b; }
html[data-theme="light"] .hero-flow__arrow { color: #7b838b; }
html[data-theme="light"] .hero-flow__crs-pair .hero-flow__file { background: rgba(255,255,255,.8); }
html[data-theme="light"] .hero-flow__step:last-child .hero-flow__window { --line: rgba(255,255,255,.1); --line-2: rgba(255,255,255,.2); background: #141619; }
html[data-theme="light"] .hero-flow__drawing-bar { color: #dce1e8; }
html[data-theme="light"] .cad-ui { --text: #f5f5f5; --accent: #ff4a17; }
html[data-theme="light"] .frame.is-program { --line: rgba(255,255,255,.1); }
html[data-theme="light"] .rail button { background: #bec2c5; }
html[data-theme="light"] .rail button.is-on { background: var(--accent); }
/* The SVG dims the map independently from its EPSG labels. */
html[data-theme="light"] .nspd-coordinate-map {
  opacity: 1;
  -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,.4), rgba(0,0,0,.75) 45%, #000 70%);
  mask-image: linear-gradient(to right, rgba(0,0,0,.4), rgba(0,0,0,.75) 45%, #000 70%);
}
html[data-theme="light"] .nspd-coordinate-note > .nspd-intro__text { color: #34404d; }
html[data-theme="light"] .hero-cue,
html[data-theme="light"] .float-pill,
html[data-theme="light"] .formats { background: var(--surface-2); color: var(--muted); }
html[data-theme="light"] .card-row__num { color: var(--dim); }
html[data-theme="light"] .modes__note { color: var(--dim); }
html[data-theme="light"] .modes__note.is-on { color: var(--muted); }
html[data-theme="light"] .card-row__tags li { color: var(--muted); }
html[data-theme="light"] .btn-install { background: #fff; }
html[data-theme="light"] .ascii-stage canvas { filter: none; }
@media (max-width: 900px) {
  html[data-theme="light"] .nspd-coordinate-note::before {
    opacity: .55;
    -webkit-mask-image: none;
    mask-image: none;
  }
}

/* Рабочие окна, факты и предложение установки сохраняют тёмное оформление. */
:is(.hero-flow__step:first-child .hero-flow__window, .frame__program, .sum__i, #install > .card) {
  color-scheme: dark;
  --bg: #080808; --bg-soft: #0c0c0c;
  --surface: rgba(255,255,255,.028); --surface-2: rgba(255,255,255,.055);
  --line: rgba(255,255,255,.09); --line-2: rgba(255,255,255,.17);
  --text: #f5f5f5; --muted: rgba(255,255,255,.56); --dim: rgba(255,255,255,.36);
  --accent: #ff4a17; --accent-soft: rgba(255,74,23,.13);
  color: var(--text);
}
.sum__i, #install > .card { background: #101010; }
html[data-theme="light"] .hero-flow__step:first-child .hero-flow__window { background: #141619; }
html[data-theme="light"] .hero-flow__browser-bar { background: #181a1d; }
html[data-theme="light"] .hero-flow__address { background: #24272b; color: #a0a3a9; }
html[data-theme="light"] .hero-flow__dots i { background: #3a3d42; }
html[data-theme="light"] .hero-flow__map { background: #1b1d20; }
html[data-theme="light"] .hero-flow__parcels { fill: #262729; stroke: #53504b; }
html[data-theme="light"] .hero-flow__parcels .hero-flow__streets { stroke: #34363a; }
html[data-theme="light"] .hero-flow__map-labels { fill: #a0a3a9; }
.frame__program { background: #181a1d; color: #b8bec6; }
html[data-theme="light"] #install .btn--primary { --btn-fg: #0a0a0a; }
html[data-theme="light"] #install .btn--ghost { --btn-bg: rgba(255,255,255,.035); }
html[data-theme="light"] #install .btn--ghost:hover { --btn-bg: rgba(255,255,255,.075); }

/* Браузерные рамки демонстраций одинаковы в обеих темах. */
.nspd-intro__scenarios .frame {
  color-scheme: dark;
  --line: rgba(255,255,255,.09);
  --line-2: rgba(255,255,255,.17);
  background: #16181c;
}
html[data-theme="light"] .nspd-intro__scenarios .frame { background: #16181c; }
html[data-theme="light"] .nspd-intro__scenarios .frame__bar { background: #16181c; }
html[data-theme="light"] .nspd-intro__scenarios .frame__url { background: rgba(255,255,255,.05); color: #a0a3a9; }
html[data-theme="light"] .nspd-intro__scenarios .frame__dots i { background: rgba(255,255,255,.13); }

/* Отмеченные блоки главной сохраняют тёмную палитру в светлой теме. */
html[data-theme="light"] .page-home :is(.hero-cue, .card-row, .card-note) {
  color-scheme: dark;
  --bg: #080808; --bg-soft: #0c0c0c;
  --surface: rgba(255,255,255,.028); --surface-2: rgba(255,255,255,.055);
  --line: rgba(255,255,255,.09); --line-2: rgba(255,255,255,.17);
  --text: #f5f5f5; --muted: rgba(255,255,255,.56); --dim: rgba(255,255,255,.36);
  --accent: #ff4a17; --accent-2: #ff7a45; --accent-soft: rgba(255,74,23,.13);
  --ok: #46d99a;
}
html[data-theme="light"] .page-home .hero__meta .eyebrow {
  background: #9c9c9c;
  color: #000000;
}
html[data-theme="light"] .page-home .hero-cue {
  background: #0f0f0f;
  color: var(--muted);
}
html[data-theme="light"] .page-home .hero-cue:hover {
  background: #191919;
  color: var(--text);
}
html[data-theme="light"] .page-home .feed {
  background: transparent;
  opacity: 1;
}
html[data-theme="light"] .page-home .feed .card-row { background: #282828; color: var(--text); }
html[data-theme="light"] .page-home .feed .card-note { background: #0f0f0f; }
/* Приглушается содержимое отдельных карточек, их фон остаётся тёмным. */
html[data-theme="light"] .page-home .feed > :is(.card-row, .card-note).is-in { opacity: 1; }

html[data-theme="light"] .page-home .feed .card-row:hover { background: #282828; }
html[data-theme="light"] .page-home .feed .modes__note { color: rgba(255,255,255,.34); }
html[data-theme="light"] .page-home .feed .modes__note:hover,
html[data-theme="light"] .page-home .feed .modes__note.is-on { color: var(--muted); }
html[data-theme="light"] .page-home .feed .card-row__tags li { color: rgba(255,255,255,.72); }
html[data-theme="light"] .page-home .feed .btn-install { background: rgba(255,255,255,.04); }

/* Product text remains readable throughout scrolling in both themes. */
.page-home .feed .card-row .modes__note { color:rgba(255,255,255,.72); }
.page-home .feed .card-row .card-row__sub { color:rgba(255,255,255,.72); }
html[data-theme="light"] .page-home .feed .modes__note { color:rgba(255,255,255,.72); }
