:root {
  --paper: #fff;
  --surface: #f5f9fc;
  --surface-strong: #e4eff8;
  --button: #246ca9;
  --button-hover: #19588c;
  --button-ink: #fff;
  --header-bg: #f8fbfdec;
  --hero-bg: linear-gradient(
    180deg,
    #f6fafd 0%,
    #eff6fc 59%,
    #dcebf8 85%,
    #f5f9fc 100%
  );
  background: var(--paper);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #e7f0fa;
  --muted: #adc0d2;
  --blue: #90c9f5;
  --light: #142335;
  --line: #30455b;
  --paper: #101c2b;
  --surface: #15263a;
  --surface-strong: #1e3650;
  --button: #a9d7f8;
  --button-hover: #cceaff;
  --button-ink: #102c45;
  --header-bg: #101c2bee;
  --hero-bg: linear-gradient(
    180deg,
    #101c2b 0%,
    #162a40 59%,
    #203f5c 85%,
    #15263a 100%
  );
}
body {
  background: var(--paper);
}
.site-header {
  background: var(--header-bg);
  border-color: var(--line);
  gap: 22px;
}
.site-header .brand {
  margin-right: auto;
}
.desktop-nav {
  gap: 25px;
  font-size: 0.875rem;
}
.desktop-nav [aria-current="page"] {
  color: var(--blue);
}
/* The theme button: the same 44px square toggle the AccelaStudy AI sites
   use — moon while the page is light, sun while it is dark. */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  padding: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink);
  transition: background-color 0.2s;
}
.theme-toggle:hover {
  background: var(--surface-strong);
}
.theme-icon {
  width: 18px;
  height: 18px;
}
.theme-icon-sun,
[data-theme="dark"] .theme-icon-moon {
  display: none;
}
[data-theme="dark"] .theme-icon-sun {
  display: block;
}
summary:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
}
.button {
  background: var(--button);
  color: var(--button-ink);
}
.button:hover {
  background: var(--button-hover);
}
.button-outline {
  color: var(--blue);
  background: transparent;
  border-color: var(--line);
}
.button-outline:hover {
  background: var(--surface-strong);
}
.hero {
  background: var(--hero-bg);
}
.story,
.closing {
  background: var(--surface);
}
.platform-note,
.device-caption,
.scroll-cue,
.subject-list,
.chapter-number,
.chapter-detail,
.chapter-button,
.story-hint,
.subscription-note,
.site-footer {
  color: var(--muted);
}
.chapter-button {
  border-color: var(--line);
}
.ai-notice {
  background: var(--surface-strong);
  color: var(--muted);
}
.ai-notice a {
  color: var(--blue);
}
.ai-bridge,
.mobile-nav,
.skip-link,
.screenshot-dialog,
.zoom-button {
  background: var(--paper);
}
.zoom-button,
.mobile-nav {
  border-color: var(--line);
}
.zoom-button:hover,
.dialog-bar button {
  background: var(--surface-strong);
}
.closing-symbol {
  color: var(--blue);
}
.story-progress {
  background: var(--line);
}
.activities {
  background: #142c48;
}
[data-theme="dark"] .activities {
  background: #0b1522;
}
[data-theme="dark"] .hero-phone {
  filter: drop-shadow(0 24px 23px #020a1444);
}
@media (max-width: 1060px) {
  .site-header {
    gap: 16px;
  }
  .desktop-nav {
    gap: 18px;
  }
  .site-header > .button {
    display: none;
  }
}
@media (max-width: 760px) {
  .site-header {
    gap: 12px;
  }
  .theme-toggle {
    margin-left: auto;
  }
  .brand {
    flex-shrink: 0;
  }
  .menu-toggle {
    flex-shrink: 0;
  }
}
@media (max-width: 360px) {
  .site-header {
    padding-inline: 12px;
    gap: 7px;
  }
  .site-header .brand {
    font-size: 0.85rem;
  }
}

/* Footer signup and contact forms */
.footer-signup input[type="email"],
.contact-form input,
.contact-form textarea {
  color: var(--ink);
  background: var(--paper);
  border-color: var(--line);
}
.footer-signup input[type="email"]::placeholder,
.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: var(--muted);
}
.footer-company {
  color: var(--ink);
}
.footer-company:hover {
  color: var(--blue);
}
