:root {
  color-scheme: light;
  --landing-bg: #fff;
  --landing-ink: #111;
  --landing-muted: #626262;
  --landing-line: #d7d7d7;
  --landing-header: #fffffff5;
  --landing-hover: #f8f8f8;
  --landing-section: #faf9f7;
  --landing-card: #fff;
  --landing-purple: #eee8f6;
  --landing-peach: #f5e7dc;
  --landing-paper: #eee9e1;
  --landing-voice: #e9e3ee;
  --landing-accent: #ad2866;
  --landing-mascot-filter: none;
  --theme-sun-scale: 1;
  --theme-rays-opacity: 1;
  --theme-rays-rotation: 0deg;
  --theme-cutout-position: translate(0, 0);
  --landing-icon-filter: none;
  --landing-primary: #111;
  --landing-on-primary: #fff;
  background: var(--landing-bg);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --landing-bg: #171617;
  --landing-ink: #f3f0ed;
  --landing-muted: #b4aeb5;
  --landing-line: #474247;
  --landing-header: #171617f5;
  --landing-hover: #2b272d;
  --landing-section: #1d1b1e;
  --landing-card: #252226;
  --landing-purple: #302837;
  --landing-peach: #352b26;
  --landing-paper: #302d28;
  --landing-voice: #2d2833;
  --landing-accent: #ef9fc9;
  --landing-mascot-filter: invert(1) hue-rotate(180deg);
  --theme-sun-scale: 1.75;
  --theme-rays-opacity: 0;
  --theme-rays-rotation: 45deg;
  --theme-cutout-position: translate(-6px, 3px);
  --landing-icon-filter: invert(1);
  --landing-primary: #f3f0ed;
  --landing-on-primary: #171617;
}

/* System appearance also works when JavaScript is unavailable. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --landing-bg: #171617;
    --landing-ink: #f3f0ed;
    --landing-muted: #b4aeb5;
    --landing-line: #474247;
    --landing-header: #171617f5;
    --landing-hover: #2b272d;
    --landing-section: #1d1b1e;
    --landing-card: #252226;
    --landing-purple: #302837;
    --landing-peach: #352b26;
    --landing-paper: #302d28;
    --landing-voice: #2d2833;
    --landing-accent: #ef9fc9;
    --landing-mascot-filter: invert(1) hue-rotate(180deg);
    --theme-sun-scale: 1.75;
    --theme-rays-opacity: 0;
    --theme-rays-rotation: 45deg;
    --theme-cutout-position: translate(-6px, 3px);
    --landing-icon-filter: invert(1);
    --landing-primary: #f3f0ed;
    --landing-on-primary: #171617;
  }
}

.signal {
  --signal-ink: var(--landing-ink);
  --signal-muted: var(--landing-muted);
  --signal-line: var(--landing-line);
  background: var(--landing-bg);
  color: var(--landing-ink);
  border-color: var(--landing-line);
}
.signal .site-header { background: var(--landing-header); }
.header-actions { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }
.theme-picker { display: flex; align-items: center; border-radius: .625rem; }
.theme-toggle { display: grid; place-items: center; width: 40px; height: 44px; padding: 0; border: 0; background: transparent; border-radius: .625rem; }
.theme-toggle:hover { background: var(--landing-hover); }
.theme-sun { transform: scale(var(--theme-sun-scale)); transform-origin: 12px 12px; transition: transform .35s ease; }
.theme-rays { opacity: var(--theme-rays-opacity); transform: rotate(var(--theme-rays-rotation)); transform-origin: 12px 12px; transition: opacity .2s ease, transform .35s ease; }
.theme-cutout { transform: var(--theme-cutout-position); transition: transform .35s ease; }
@media (prefers-reduced-motion: reduce) {
 .theme-sun, .theme-rays, .theme-cutout { transition: none; }
}
.signal :focus-visible { outline-color: var(--landing-accent); }
.signal .signal-more h2 span, .signal-caption a, .signal-plan .plan-members { color: var(--landing-ink); }
.workspace-heading h2 > span, .pricing-head h2 span, .surface-number, .surface-tabs small,
.surface-description, .plan-for, .signal-price > span:last-child, .signal-billing-note,
.signal-plan ul, .credits-row > p, .signal-faq details p, .signal-footer > p,
.capability-index p, .capability-copy p, .voice-art > span { color: var(--landing-muted); }
.signal-promise, .surface-tabs button, .surface-tabs button:last-child, .signal-cycle,
.signal-plans, .signal-plan, .credits-row, .signal-faq details, .signal-close,
.signal-footer, .capability-index article { border-color: var(--landing-line); }
.surface-tabs [aria-selected="true"] { border-top-color: var(--landing-ink); }
.surface-tabs [aria-selected="true"] .surface-arrow, .capability-index article > span { color: var(--landing-accent); }
.surface-tabs button:hover { background: var(--landing-hover); }
.signal-cycle [aria-pressed="true"], .plan-link { background: var(--landing-primary); color: var(--landing-on-primary); }
.plan-link:hover { background: var(--landing-primary); filter: brightness(.88); }
.signal-capabilities { background: var(--landing-section); }
.capability-card { border-color: var(--landing-line); }
.capability-decks { background: var(--landing-purple); }
.capability-telegram { background: var(--landing-card); }
.capability-connect { background: var(--landing-peach); }
.capability-reading { background: var(--landing-paper); }
.capability-voice { background: var(--landing-voice); }
.telegram-icon { filter: var(--landing-icon-filter); }
.connection-art span { background: var(--landing-card); border-color: var(--landing-line); }
.voice-wave i { background: var(--landing-ink); }

/* Product captures and paper illustrations keep their original light surfaces. */
.hero-capture, .surface-capture, .signal-team, .telegram-art, .reading-art { color: #121212; color-scheme: light; }
.signal-team h2 span { color: #111; }
.signal-team .section-topline { border-color: #1115; }
.hero-mascot img, .story-aside img, .closing-mascot img { filter: var(--landing-mascot-filter); }
.signal .brand-mascot { filter: var(--landing-mascot-filter); }
.signal-award { background: var(--landing-card); color: var(--landing-ink); border-color: var(--landing-line); }
.signal-award .award-copy > span { color: var(--landing-muted); }
.signal-award:hover { background: var(--landing-hover); }
.signal-award .award-mark path { fill: var(--landing-on-primary); }

@media (max-width: 700px) {
 .signal .signal-nav { display: none; }
 .header-actions { gap: .35rem; }
 .surface-tabs button, .surface-tabs button:last-child { background: var(--landing-bg); border-color: var(--landing-line); }
 .surface-tabs button[aria-selected="true"] { background: var(--landing-primary); color: var(--landing-on-primary); border-color: var(--landing-primary); }
}
@media (max-width: 380px) {
 .signal .site-header .signal-cta > span { display: none; }
 .signal .site-header { gap: .25rem; }
 .signal .site-header .wordmark { font-size: 23px; }
 .signal .site-header .brand-mascot { width: 24px; }
}

@media (max-width: 850px) {
 .signal-plan:nth-child(3), .signal-plan:nth-child(4) { border-top-color: var(--landing-line); }
}

.theme-reset { padding: 0; border: 0; background: transparent; color: var(--landing-muted); font-size: .75rem; text-decoration: underline; text-underline-offset: 4px; }
.theme-reset:hover { color: var(--landing-ink); }
