/* Loaded after page styles so every route uses the same light palette. */
.theme-toggle {
  flex: 0 0 auto;
  width: 54px;
  height: 28px;
  margin-left: auto;
  padding: 0;
  position: relative;
  display: inline-block;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  color: var(--white);
  background: linear-gradient(110deg, rgba(139,92,246,.16), var(--panel));
  cursor: pointer;
  vertical-align: middle;
}
.theme-toggle:hover { border-color: var(--purple); }
.theme-toggle:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.theme-toggle-sun,.theme-toggle-moon { position: absolute; top: 50%; z-index: 1; font: 14px/1 var(--body); transform: translateY(-50%); transition: color .2s; }
.theme-toggle-sun { left: 6px; color: var(--muted); }
.theme-toggle-moon { right: 7px; color: #fff; }
.theme-toggle-thumb { position: absolute; top: 3px; left: 28px; width: 20px; height: 20px; border-radius: 50%; background: var(--purple); box-shadow: 0 2px 7px rgba(0,0,0,.25); transition: transform .25s ease, background .25s ease; }
:root[data-theme="light"] .theme-toggle-thumb { transform: translateX(-24px); background: #f6b75c; }
:root[data-theme="light"] .theme-toggle-sun { color: #2b2134; }
:root[data-theme="light"] .theme-toggle-moon { color: var(--muted); }
.site-header .menu-button { margin-left: .65rem; }
.site-header .site-nav { margin-left: 1.2rem; }
.checkout-header .theme-toggle { margin-left: auto; margin-right: 1rem; }
@media (max-width: 1080px) {
  .site-header .theme-toggle { width: 54px; height: 28px; }
}
@media (max-width: 1180px) {
  .site-header .site-nav { margin-left: 0; }
}
@media (max-width: 760px) {
  .theme-toggle { width: 54px; height: 28px; }
  .site-header .site-nav { top: var(--nav-top); margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .theme-toggle-thumb,.theme-toggle-sun,.theme-toggle-moon { transition: none; } }

:root[data-theme="dark"] { color-scheme: dark; }

:root[data-theme="light"] {
  color-scheme: light;
  --black: #f8f7fb;
  --black-soft: #fff;
  --panel: #fff;
  --panel-2: #f1eef7;
  --purple: #6940d5;
  --purple-light: #5931b7;
  --purple-dark: #512bac;
  --orange: #b94e0c;
  --white: #211b2d;
  --muted: #5c5668;
  --line: rgba(37, 27, 53, .12);
  --line-strong: rgba(37, 27, 53, .24);
}
:root[data-theme="light"] body { color: var(--white); }
:root[data-theme="light"] .site-header.scrolled,
:root[data-theme="light"] .template-page .site-header { background: rgba(248,247,251,.94); }
:root[data-theme="light"] .site-nav { background: transparent; }
:root[data-theme="light"] .site-nav a,
:root[data-theme="light"] .pathway-grid a,
:root[data-theme="light"] .doc-links a,
:root[data-theme="light"] .generated-index-group a { color: #393246; }
:root[data-theme="light"] .site-nav a:hover,
:root[data-theme="light"] .site-nav a:focus-visible { color: var(--purple-light); }
:root[data-theme="light"] .site-nav a[aria-current="page"] { color: var(--purple-light); }
:root[data-theme="light"] .site-nav .nav-cta { color: var(--purple-light); }
:root[data-theme="light"] .site-nav .nav-cta:hover { color: #fff; }
:root[data-theme="light"] .footer-brand span,
:root[data-theme="light"] .footer-legal a,
:root[data-theme="light"] .copyright { color: #5c5668; }
:root[data-theme="light"] .menu-button { background: var(--panel); }
:root[data-theme="light"] .skip-link { color: #fff; background: var(--purple); }
:root[data-theme="light"] .hero::before { background-image: linear-gradient(rgba(37,27,53,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(37,27,53,.045) 1px,transparent 1px); }
:root[data-theme="light"] .hero-lede,
:root[data-theme="light"] .template-lede,
:root[data-theme="light"] .license-lookup-copy > p:not(.page-kicker),
:root[data-theme="light"] .directory-hero p:not(.page-kicker),
:root[data-theme="light"] .contact-hero > p:not(.page-kicker) { color: #514b5b; }
:root[data-theme="light"] .button-primary,
:root[data-theme="light"] .aam-panel,
:root[data-theme="light"] .aam-panel .eyebrow,
:root[data-theme="light"] .instructor-monogram,
:root[data-theme="light"] .order-icon,
:root[data-theme="light"] .product-monogram,
:root[data-theme="light"] .checkout-steps span.active::before,
:root[data-theme="light"] .support-addon input:checked + .support-check,
:root[data-theme="light"] .directory-filters button.active,
:root[data-theme="light"] .chat-message.user,
:root[data-theme="light"] .chat-composer button { color: #fff; }
:root[data-theme="light"] .button-light { color: #312252; background: #fff; }
:root[data-theme="light"] .button-quiet { color: #40384b; }
:root[data-theme="light"] .page-kicker.orange,
:root[data-theme="light"] .new-label,
:root[data-theme="light"] .promo-message.error { color: #a9430a; }
:root[data-theme="light"] .license-access-card,
:root[data-theme="light"] .directory-hero { background: radial-gradient(circle at 85% 10%,rgba(105,64,213,.12),transparent 38%),linear-gradient(145deg,#fff,#f2eff9); box-shadow: 0 20px 65px rgba(36,23,65,.1); }
:root[data-theme="light"] .access-story { --story-muted: #5c5668; --story-line: rgba(37,27,53,.13); --story-card: rgba(105,64,213,.045); background: radial-gradient(circle at 85% 10%,rgba(105,64,213,.1),transparent 40%),linear-gradient(145deg,#fff,#f5f2fb); box-shadow: 0 20px 65px rgba(36,23,65,.12); }
:root[data-theme="light"] .story-top { background: rgba(105,64,213,.035); }
:root[data-theme="light"] .story-result-allowed { color: #4e2d9f; background: rgba(105,64,213,.11); }
:root[data-theme="light"] .story-result-denied { color: #9a3908; background: rgba(185,78,12,.1); }
:root[data-theme="light"] .old-question { background: linear-gradient(145deg,#fff,#f0edf6); }
:root[data-theme="light"] .new-question { background: radial-gradient(circle at 90% 105%,rgba(105,64,213,.12),transparent 48%),linear-gradient(145deg,#fff,#f5f2fc); }
:root[data-theme="light"] .surface { background: #f1eef7; }
:root[data-theme="light"] .surface-grid article { background: rgba(255,255,255,.62); }
:root[data-theme="light"] .surface-icon,
:root[data-theme="light"] .migration-grid article { background: #fff; }
:root[data-theme="light"] .checkout-page { background: var(--black); }
:root[data-theme="light"] .purchase-card { background: linear-gradient(150deg,#f0ebfc,#fff 55%); box-shadow: 0 20px 55px rgba(36,23,65,.1); }
:root[data-theme="light"] .pricing-toggle { background: #f1eef7; }
:root[data-theme="light"] .pricing-toggle button { color: #5c5668; }
:root[data-theme="light"] .pricing-toggle button.active { color: var(--purple-light); background: #fff; }
:root[data-theme="light"] .parameter-table th { color: #5c5668; background: #f1eef7; }
:root[data-theme="light"] .parameter-table td { color: var(--white); }
:root[data-theme="light"] .docs-main code:not(pre code) { color: var(--purple-light); }
:root[data-theme="light"] .method-signature { color: #eeeaf6; background: #201a2c; }
:root[data-theme="light"] .license-input-wrap input,
:root[data-theme="light"] .add-domain-controls input { background: #fff; }
:root[data-theme="light"] .usage-track { background: #e7e1f1; }
:root[data-theme="light"] .license-toast { color: var(--white); background: #fff; box-shadow: 0 18px 50px rgba(36,23,65,.18); }
:root[data-theme="light"] .quantity-control,
:root[data-theme="light"] .cadence-card,
:root[data-theme="light"] .promo-control input,
:root[data-theme="light"] .support-check,
:root[data-theme="light"] .order-card,
:root[data-theme="light"] .portal-panel,
:root[data-theme="light"] .docs-sidebar,
:root[data-theme="light"] .generated-prose th,
:root[data-theme="light"] .form-field input,
:root[data-theme="light"] .form-field select,
:root[data-theme="light"] .form-field textarea { color: var(--white); background: #fff; }
:root[data-theme="light"] .directory-ask-ai { color: #fff; }
:root[data-theme="light"] .code-block,
:root[data-theme="light"] .generated-prose pre,
:root[data-theme="light"] .docs-main pre { background: #15111f; }
:root[data-theme="light"] .generated-prose pre code,
:root[data-theme="light"] .docs-main pre code,
:root[data-theme="light"] .code-block code { color: #ece8f3; }
:root[data-theme="light"] .code-purple { color: #c6a9ff; }
:root[data-theme="light"] .code-orange { color: #f4b383; }
:root[data-theme="light"] .code-muted,
:root[data-theme="light"] .code-head { color: #a49aad; }
:root[data-theme="light"] .directory-filters button.active { background: var(--purple); }
:root[data-theme="light"] .form-status.success { color: #48259b; }
:root[data-theme="light"] .form-status.error,
:root[data-theme="light"] .form-error,
:root[data-theme="light"] .domain-error { color: #a13f0c; }

/* Dark theme uses many fixed secondary text colors; give them readable light equivalents. */
:root[data-theme="light"] :is(
  .hero-proof span,.card-index,.perimeter-visual,
  .inside-visual,.surface-grid article > code,.surface-grid p,.governance-track p,
  .pathway-number,.pathway-grid article > p:not(.pathway-label),.footer-brand span,
  .footer-links a,.copyright,.template-meta,.subsite-nav,.article-prose,
  .article-aside,.article-footer-card p,.docs-tree a,.docs-breadcrumbs,
  .docs-main p,.docs-main li,.docs-toc a,.product-points li,
  .docs-summary,.docs-tree strong,.docs-toc strong,
  .plan-label,.plan-price span,.plan-description,.purchase-card li,
  .product-section-head p,.feature-matrix p,.comparison td,.course-facts span,
  .course-section-intro p,.outcome-list p,.curriculum-panel,.instructor-card p,
  .secure-label,.checkout-steps,.checkout-main > p,.option-copy p,.option-help,
  .unit-price span,.cadence-top em,.cadence-card small,.support-copy small,
  .support-price small,.dropin-placeholder p,.checkout-consent,.order-product span,
  .order-row,.renewal-note,.checkout-help,.template-catalog-head p,.template-card p,
  .migration-grid p,.license-trust-list span,.access-card-copy,.license-help-row,
  .privacy-note,.status-product p,.status-metrics span,.domain-copy span,
  .card-eyebrow,.panel-kicker,.dashboard-key span,.usage-chip,.usage-chip b,
  .domain-badge,.domain-action,.back-link,.license-loading p,
  .detail-list dt,.detail-list dd,.support-panel p,.license-security-note,
  .doc-group-meta,.doc-group > p,.directory-empty,.migration-note p,
  .contact-priority > p,.priority-list span,.privacy-callout,.contact-form-head p,
  .form-help,.contact-submit p,.generated-reference-card p,.generated-index-heading > span,
  .directory-filters button
) { color: #5c5668; }
:root[data-theme="light"] :is(
  .article-prose strong,.article-aside strong,.docs-tree a.current,
  .comparison td:first-child,.checkout-steps span.active,.dropin-placeholder strong,
  .order-row.total,.license-form label,.access-card-copy strong,.dashboard-key strong,
  .status-metrics strong,.domain-copy strong,.add-domain-form label,
  .license-security-note strong,.form-field label,.form-field legend,
  .doc-links a
) { color: var(--white); }
:root[data-theme="light"] .comparison td:nth-child(2).yes { color: var(--purple); }
:root[data-theme="light"] .comparison td:nth-child(3).yes { color: #b94d0b; }

/* Assistant workspace follows the selected theme. */
:root[data-theme="light"] .tool-trigger { color: var(--white); border-color: var(--line-strong); background: rgba(255,255,255,.94); box-shadow: 0 10px 30px rgba(36,23,65,.14); }
:root[data-theme="light"] .tool-trigger:hover { background: #f1eef7; }
:root[data-theme="light"] .chat-panel { color: var(--white); background: #fff; box-shadow: 0 35px 90px rgba(36,23,65,.22); }
:root[data-theme="light"] .chat-head,
:root[data-theme="light"] .chat-composer { border-color: var(--line); }
:root[data-theme="light"] .chat-composer textarea { color: var(--white); }
:root[data-theme="light"] .chat-heading span,
:root[data-theme="light"] .chat-welcome > p:last-child,
:root[data-theme="light"] .chat-status,
:root[data-theme="light"] .chat-disclosure,
:root[data-theme="light"] .chat-guide-intro p,
:root[data-theme="light"] .chat-guide-section p,
:root[data-theme="light"] .chat-composer-hint { color: #5c5668; }
:root[data-theme="light"] .chat-message.bot { color: var(--white); background: #f1eef7; border-color: var(--line); }
:root[data-theme="light"] .chat-guide { background: radial-gradient(circle at 100% 0%,rgba(105,64,213,.1),transparent 48%),#f5f2fa; border-color: var(--line); }
:root[data-theme="light"] .chat-guide-section a,
:root[data-theme="light"] .chat-resources a { color: var(--white); border-color: var(--line); }
:root[data-theme="light"] .chat-resources { background: #f8f6fc; border-color: var(--line); }
:root[data-theme="light"] .chat-resources a { background: #fff; }
:root[data-theme="light"] .chat-suggestions button { color: var(--purple-light); background: #f8f6fc; border-color: var(--line-strong); }
:root[data-theme="light"] .chat-page-context { background: rgba(105,64,213,.06); border-color: var(--line-strong); }
:root[data-theme="light"] .chat-page-context button,
:root[data-theme="light"] .chat-kicker,
:root[data-theme="light"] .chat-guide-label,
:root[data-theme="light"] .chat-resources > strong,
:root[data-theme="light"] .chat-resources a small,
:root[data-theme="light"] .chat-guide-section a span,
:root[data-theme="light"] .chat-mobile-guide { color: var(--purple-light); }
:root[data-theme="light"] .chat-mobile-links a { color: var(--white); border-color: var(--line-strong); }
:root[data-theme="light"] .chat-composer { background: #f8f7fb; }
:root[data-theme="light"] .chat-composer textarea { background: #fff; border-color: var(--line-strong); }
:root[data-theme="light"] .chat-disclosure { background: #f4f0fc; }
:root[data-theme="light"] .chat-welcome-mark { background: #f5f0ff; color: var(--purple-light); }
