/* Visual skin only. Structure, spacing and responsive layout stay in styles.css. */
:root { color-scheme: light; background-color: #f7f8fa; }
:root[data-theme="dark"] { color-scheme: dark; background-color: #090a0c; }
:root, :root[data-theme="light"] {
  --primary-color: #2563eb;
  --secondary-color: #245bcc;
  --button-hover-color: #1d4ed8;
  --background-color: #f7f8fa;
  --surface-color: #fff;
  --surface-soft-color: #f4f6fa;
  --surface-tint-color: #edf3ff;
  --field-color: #fff;
  --text-color: #171b25;
  --muted-color: #606a7b;
  --link-color: #245bcc;
  --border-color: #b4bece;
  --border-soft-color: #e0e5ed;
  --muted-button-bg: #edf0f6;
  --muted-button-hover-bg: #e1e7f0;
  --cta-color: #2563eb;
  --cta-hover-color: #1d4ed8;
  --focus-inner: #fff;
  --focus-outer: #245bcc;
  --radius-sm: 12px;
  --radius-md: 20px;
  --shadow-soft: none;
  --shadow-card: none;
  --shadow-color: transparent;
}
:root[data-theme="dark"] {
  --primary-color: #2563eb;
  --button-hover-color: #1d4ed8;
  --cta-color: #2563eb;
  --cta-hover-color: #1d4ed8;
  --shadow-soft: none;
  --shadow-card: none;
  --shadow-color: transparent;
  --background-color: #090a0c;
  --surface-color: #111316;
  --surface-soft-color: #1a1e24;
  --surface-tint-color: #182b43;
  --field-color: #171b21;
  --text-color: #f3f4f6;
  --muted-color: #bcc3cf;
  --secondary-color: #a6d1ff;
  --link-color: #a6d1ff;
  --border-color: #657185;
  --border-soft-color: #303740;
  --muted-button-bg: #242b35;
  --muted-button-hover-bg: #323d4c;
  --success-color: #80d9b0;
  --danger-color: #ffaaa5;
  --warning-color: #efc772;
  --focus-inner: #111316;
  --focus-outer: #a6d1ff;
}
:root .bento-page :is(.hero, .site-topbar, .site-footer) {
  background: var(--background-color);
  color: var(--text-color);
  box-shadow: none;
}
.bento-page .hero::before { display: none; }
.bento-page .hero__copy { max-width: none; }
.bento-page .hero__welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.bento-page .hero__welcome > div { min-width: 0; }
.bento-page .hero__welcome .hero__app {
  flex: 0 0 240px;
  padding-left: 24px;
  border-left: 1px solid var(--border-soft-color);
}
.bento-page .hero__app:has(.btn--install[hidden]) { display: none; }
.bento-page .hero__app strong { color: var(--text-color); font-size: 0.95rem; }
.bento-page .hero__app p { margin: 6px 0 12px; color: var(--muted-color); font-size: 0.875rem; line-height: 1.5; }
:root .bento-page .hero__app .btn--install {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  background: var(--surface-color);
  color: var(--secondary-color);
  font-size: 0.875rem;
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: none;
}
:root .bento-page .hero__app .btn--install:hover {
  background: var(--muted-button-hover-bg);
  border-color: var(--secondary-color);
}
@media (max-width: 700px) {
  .bento-page .hero__welcome { flex-direction: column; align-items: flex-start; gap: 12px; }
  .bento-page .hero__welcome .hero__app { flex-basis: auto; padding: 0; border: 0; margin-bottom: 8px; }
}
:root .bento-page :is(.hero__title, .hero__brand, .hero__brand strong, .site-footer__brand) { color: var(--text-color); }
:root .bento-page :is(.hero__subtitle, .hero__disclaimer, .site-footer__legal, .site-footer__nav a) { color: var(--muted-color); }
:root .bento-page .hero__disclaimer a { color: var(--link-color); }
:root .bento-page .site-footer__brand strong { color: var(--text-color); }
:root .bento-page .site-footer__legal p { color: var(--muted-color); }
:root .bento-page .brand-book { width: 40px; height: 40px; flex: 0 0 40px; color: var(--secondary-color); }
:root .bento-page .brand-country { color: var(--secondary-color); font: inherit; }
:root .bento-page .site-topbar { border-bottom-color: var(--border-soft-color); }
:root .bento-page .site-topbar .pilot-access { color: var(--link-color); font-size: 14px; padding: 10px 4px; text-decoration: none; }
:root .bento-page .site-topbar__actions { display: flex; align-items: center; gap: 12px; }
:root .bento-page .site-footer { border-top-color: var(--border-soft-color); }
:root .bento-page :is(.card, .workspace-aside, .question, .source-card, .audio-study__header, .audio-study__speed, .audio-study__text) {
  border-color: var(--border-soft-color);
  box-shadow: none;
}
:root .bento-page .question label { background: var(--surface-soft-color); border-color: var(--border-color); color: var(--text-color); box-shadow: none; }
:root .bento-page .question label:has(input:checked) { border-color: var(--secondary-color); background: var(--surface-tint-color); }
:root .bento-page :is(.tab, .theme-toggle) { background: var(--surface-color); color: var(--text-color); border-color: var(--border-color); box-shadow: none; }
:root .bento-page .theme-toggle:is(:hover, :focus-visible) { background: var(--surface-tint-color); color: var(--text-color); border-color: var(--secondary-color); }
:root .bento-page .theme-toggle__text { color: inherit; }
:root .bento-page .theme-toggle__icon { background: var(--secondary-color); box-shadow: inset -5px -4px 0 var(--surface-color); }
:root .bento-page :is(.tab.active, .tab:hover) { background: var(--surface-tint-color); color: var(--secondary-color); border-color: var(--secondary-color); }
:root .bento-page .btn--quick, :root .bento-page .btn--quick:hover { background: var(--cta-color); color: #fff; border-color: var(--cta-color); box-shadow: none; }
:root .bento-page .btn--quick:hover { background: var(--cta-hover-color); }
:root .bento-page .audio-study__controls button:hover:not(:disabled) { background: var(--button-hover-color); color: #fff; }
:root .bento-page .audio-study__speed-options button { background: var(--surface-color); color: var(--text-color); }
:root .bento-page .audio-study__speed-options button:is(:hover, [aria-pressed="true"]) { background: var(--primary-color); color: #fff; }
:root .bento-page .audio-study__mode button { background: var(--surface-color); color: var(--text-color); }
:root .bento-page .audio-study__mode button:is(:hover, [aria-pressed="true"]) { background: var(--surface-tint-color); color: var(--secondary-color); }
:root .bento-page .question-map__item { background: var(--surface-color); color: var(--text-color); }
:root .bento-page .question-map__item:is(.is-current, .is-answered) { background: var(--surface-tint-color); color: var(--secondary-color); }

/* Informational pages share the simulator's identity, controls and palette. */
:root .info-document .site-topbar .info-practice-link { color: var(--link-color); min-height: 44px; display: inline-flex; align-items: center; }
.info-document .pilot-access { display: grid; gap: 2px; line-height: 1.3; }
.info-document .pilot-access small { color: var(--muted-color); font-size: 0.75rem; font-weight: 500; }
:root .info-document .info-hero { background: var(--background-color); color: var(--text-color); padding: 44px 0 32px; }
.info-document .info-hero__inner { width: min(1120px, calc(100% - 32px)); text-align: left; }
.info-document .info-hero h1 { margin-left: 0; max-width: 900px; }
.info-document .info-hero p { margin-left: 0; max-width: 820px; color: var(--muted-color); }
.info-document .info-hero p strong { color: var(--text-color); font-weight: 600; }
:root .info-document .info-eyebrow { color: var(--secondary-color); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; margin-bottom: 16px; }
.info-document .info-hero__actions { justify-content: flex-start; }
:root .info-document .btn--primary { background: var(--cta-color); color: #fff; border: 1px solid var(--cta-color); box-shadow: none; }
:root .info-document .btn--primary:hover { background: var(--cta-hover-color); transform: none; }
:root .info-document .btn--ghost { background: var(--surface-color); color: var(--link-color); border: 1px solid var(--border-color); box-shadow: none; }
:root .info-document .btn--ghost:hover { background: var(--surface-tint-color); transform: none; }
.info-document .info-page { margin-top: 0; }
.info-document .info-feature-grid article, .info-document .info-stat-grid div { border-radius: var(--radius-sm); }
:root .info-document .info-stat-grid strong { color: var(--secondary-color); }
:root .info-document .info-footer { text-align: left; }
:root .info-document .info-footer p { color: var(--muted-color); }
:root .info-document .info-footer .info-footer__brand { color: var(--text-color); font-weight: 800; font-size: 1rem; margin-bottom: 8px; }
.info-document .info-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; margin: 12px 0; }
.info-document .info-footer nav a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 700px) {
  .info-document .site-topbar__inner { flex-wrap: wrap; gap: 0; padding: 10px 0; }
  .info-document .site-topbar__actions { width: 100%; justify-content: space-between; margin-top: 4px; }
  .info-document .info-hero { padding-top: 28px; }
  .info-document .info-hero__inner { width: calc(100% - 24px); }
  .info-document .info-hero h1 { font-size: clamp(1.75rem, 7vw, 2.4rem); }
}
