/* App-light palette override, requested by Matthew after release e24424b.
   Reference: C:/Users/idont/orthoheal/src/constants/themes.js, THEMES.light,
   and the supplied Canon, Home and Casebook screenshots (2026-11-04).
   Load LAST. Original style, explorer and app token files remain unchanged.
   This layer changes colors only; the existing layouts and controls remain.
   Already-light app previews are deliberately excluded from broad overrides. */
:root {
  --app-bg: #F5EFE0;
  --app-card: #EDE6D2;
  --app-input: #FBF7EC;
  --app-ink: #1F2E26;
  --app-forest: #2D4A3E;
  --app-sage: #5C7C5C;
  --app-olive: #6B7F47;
  --app-rust: #A14A3E;
  --app-text: var(--app-ink);
  --app-paper: var(--app-input);
  --app-border: rgba(92,124,92,.30);
  --app-rule: rgba(92,124,92,.30);
  --app-soft-rule: rgba(92,124,92,.20);
  --app-tint: rgba(45,74,62,.08);
  color-scheme: light;
}
html, body, body.tools-page {
  background: var(--app-bg);
  color: var(--app-ink);
  color-scheme: light;
}
body::before { background-image: none; }
body ::selection { color: var(--app-bg); background: var(--app-forest); }
body :is(a,button,input,select,textarea,summary):focus-visible:not(.app-explorer *) {
  outline: 2px solid var(--app-forest);
  outline-offset: 4px;
}
body .skip-link { background: var(--app-forest); color: var(--app-bg); }

/* Navigation, hero and footer use the same cream screen as the app. */
body .site-header, body > nav, body .mobile-menu nav,
body .hero, body .capabilities, body .lineage, body .faq,
body .launch, body .site-footer, body > footer,
body .reading-main, body .sources-main {
  background: var(--app-bg);
  background-image: none;
  color: var(--app-ink);
  border-color: var(--app-rule);
}
body .authority-bar, body .approach, body .audience {
  background: var(--app-card);
  color: var(--app-ink);
  border-color: var(--app-rule);
}
body .wordmark:not(.app-explorer *), body .foot-mark { color: var(--app-forest); }
body .wordmark-period, body .wordmark .leaf, body .foot-mark .leaf { color: var(--app-olive); }
body .desktop-nav a, body .desktop-nav a:hover,
body .mobile-menu summary, body .mobile-menu nav a,
body .text-link, body .dark-link, body .back,
body .footer-top nav, body .footer-legal, body .footer-bottom,
body .foot-links a, body .foot-fine, body .suite-footer-links a,
body .links, body .links a { color: var(--app-forest); }
body .mobile-menu .menu-icon { border-color: var(--app-forest); }
body .footer-top > p { color: var(--app-forest); }
body .suite-footer-links { background: var(--app-bg); }
body .footer-top, body .suite-footer-links, body .links a,
body header.page { border-color: var(--app-rule); }
body h1:not(.app-explorer *):not(.app-ui-colors *), body h2:not(.app-explorer *):not(.app-ui-colors *),
body h3:not(.app-explorer *):not(.app-ui-colors *), body h4:not(.app-explorer *):not(.app-ui-colors *) { color: var(--app-forest); }
body h1 em:not(.app-explorer *):not(.app-ui-colors *), body h2 em:not(.app-explorer *):not(.app-ui-colors *),
body .approach h2 em, body .audience h2 em, body .launch h2 em,
body .definition-grid h3 em { color: var(--app-sage); }
body .eyebrow, body .section-label:not(.app-explorer *),
body .reading-meta, body .effective, body .code,
body .launch-hook-label, body .pronunciation,
body .pronunciation span { color: var(--app-forest); }
body .tiny-leaf { border-color: var(--app-olive); }
body .hero-description, body .availability, body .authority-metric p,
body .section-heading > p, body .thesis-coda, body .approach-copy > p,
body .launch-description, body .faq-heading > .direct-answer,
body .faq-heading > p:last-child, body .faq-answer,
body .source-journal, body .source-identifier, body .sources-intro {
  color: var(--app-forest);
}
body .metric-value, body .thesis-coda > span, body .faq-answer strong {
  color: var(--app-ink);
}
body .authority-metric, body .contrast-list, body .contrast-list li,
body .definition-grid, body blockquote, body .audience-list,
body .audience-list li, body .faq-list, body .faq-item,
body .faq-toggle, body .thinker-list, body .thinker,
body .source-records, body .source-records li,
body .capability-grid, body .capability { border-color: var(--app-rule); }
body .capability-top, body .capability .meta,
body .thinker-number, body .thinker .years, body .thinker .tag,
body .faq-index, body .audience-list .idx,
#thesis .contrast-list li > span { color: var(--app-forest); }
body .capability > p, body .thinker .contribution,
#who .persona-description { color: var(--app-ink); }
#who .persona-title { color: var(--app-forest); }
#thesis .definition-contrast strong,
#thesis .definition-contrast .question-comma { color: var(--app-ink); }
body blockquote > p, body blockquote cite,
body blockquote cite span { color: var(--app-forest); }
body .faq-item summary:hover .question { color: var(--app-forest); }

/* App controls: forest primary actions and selected pills, cream inputs. */
body .button:not(.app-explorer *):not(.app-ui-colors *), body .btn,
body .button-primary:not(.app-explorer *):not(.app-ui-colors *), body .nav-cta,
body .button-submit, body .reading-sidebar .button,
body .guide-conversion .button, body .referral-panel .button {
  color: var(--app-bg);
  background: var(--app-forest);
  border-color: var(--app-forest);
}
body .button:hover:not(.app-explorer *):not(.app-ui-colors *), body .btn:hover,
body .nav-cta:hover, body .button-submit:hover { color: var(--app-bg); background: var(--app-ink); }
body .signup-panel, body .referral-panel, body .card {
  color: var(--app-ink);
  background: var(--app-card);
  border-color: var(--app-rule);
}
body .signup-success, body .signup-success h3,
body .consent, body .form-fine, body .skip-survey,
body .signup-success .poll-note, body .signup-success .poll-status,
body .signup-success .copy-status { color: var(--app-forest); }
body .email-field input, body .invite-url,
body .card input:not([type=checkbox]):not([type=radio]) {
  color: var(--app-ink);
  background: var(--app-input);
  border-color: var(--app-rule);
  color-scheme: light;
}
body .email-field input::placeholder { color: var(--app-forest); }
body .platform-options span, body .poll-options span {
  color: var(--app-forest);
  background: var(--app-input);
  border-color: var(--app-rule);
}
body .platform-options input:checked + span,
body .poll-options input:checked + span {
  color: var(--app-bg);
  background: var(--app-forest);
  border-color: var(--app-forest);
}
body .platform-options input:focus-visible + span,
body .poll-options input:focus-visible + span { outline-color: var(--app-forest); }
body .consent input { accent-color: var(--app-forest); }
body .survey-step, body .share-step { border-color: var(--app-rule); }
body .form-fine.form-error, body .poll-status.form-error,
body .referral-panel .form-error, body .reading-main .referral-link-status.form-error,
body .msg.err, body .card .err-head h1 { color: var(--app-rust); }

/* Reading and legal pages keep the same warm paper/card hierarchy. */
body .reading-main .section-label, body .reading-main .reading-meta,
body .reading-main a:not(.button), body .reference-table a,
body .source-papers .source-venue, body .reference-date,
body article.legal a, body article.legal .callout strong {
  color: var(--app-forest);
}
body .reading-intro, body .reading-main .direct-answer,
body article.legal p, body article.legal ul, body article.legal ol,
body .website-attribution-disclosure p { color: var(--app-ink); }
body .reading-main em { color: var(--app-sage); }
body .reading-note, body .guide-link-card, body .source-profile,
body article.legal .callout {
  background: var(--app-card);
  color: var(--app-ink);
  border-color: var(--app-rule);
}
body .reading-note, body article.legal .callout { border-left-color: var(--app-olive); }
body .source-papers li, body .reading-sidebar, body .guide-conversion,
body .reference-section, body .reference-table th,
body .reference-table td, body .reference-table tr { border-color: var(--app-rule); }
body .reference-table, body .reference-table tbody th,
body article.legal strong { color: var(--app-ink); }
body .reference-table thead th { color: var(--app-forest); background: var(--app-card); }
body .reference-table caption, body .reference-table td::before { color: var(--app-forest); }
body article.legal h2, body article.legal h3,
body .website-attribution-disclosure h2 { color: var(--app-forest); }
body .entity-brand-notice { color: var(--app-forest); font-size: 12px; line-height: 1.8; max-width: none; margin-top: 16px; overflow-wrap: anywhere; }
body .entity-standalone-footer { color: var(--app-forest); margin-top: 24px; }
body .entity-brand-notice a { color: inherit; }

/* Reset and 404 use independent inline styles; override their surfaces directly. */
body .card p, body .card label, body .card .rule,
body .card .hint, body .card .alt summary,
body > main > p { color: var(--app-forest); }
body .card .alt { border-color: var(--app-rule); }
body .card .alt summary:hover { color: var(--app-ink); }

/* The tool-only variables are role remaps; shared brand tokens are untouched. */
body.tools-page {
  --tool-bg: var(--app-bg);
  --tool-paper: var(--app-ink);
  --tool-gold: var(--app-forest);
  --tool-panel: var(--app-card);
  --tool-rule: var(--app-rule);
  --tool-muted: var(--app-forest);
}
body .tools-main { background: var(--app-bg); color: var(--app-ink); }
body .tools-main h1 em, body .tools-main .tool-section h2 em,
body .tools-main .tool-result-panel h2 em { color: var(--app-sage); }
body .tools-main .tool-controls, body .tools-main .tool-result-panel,
body .tools-main .tool-directory-card, body .tools-main .tool-formula,
body .tools-main .tool-related-cta { background: var(--app-card); border-color: var(--app-rule); }
body .tools-main .tool-result-panel { border-top-color: var(--app-forest); }
body .tools-main .tool-input-wrap,
body .tools-main input[type=number], body .tools-main select {
  color: var(--app-ink);
  background: var(--app-input);
  border-color: var(--app-rule);
  color-scheme: light;
}
body .tools-main .tool-input-wrap:focus-within { border-color: var(--app-forest); }
body .tools-main input::placeholder { color: var(--app-forest); }
body .tools-main select:disabled { color: var(--app-sage); border-color: var(--app-rule); }
body .tools-main .tool-calculate,
body .tools-main .tool-calculate:hover {
  color: var(--app-bg);
  background: var(--app-forest);
}
body .tools-main .tool-range-plot { background: var(--app-bg); border-color: var(--app-rule); }
body .tools-main .tool-method-note { border-color: var(--app-rule); }
body .tools-main .scorecard-actions button {
  background: var(--app-input);
  color: var(--app-forest);
  border-color: var(--app-forest);
}
body .tools-main .scorecard-actions button:hover {
  background: var(--app-forest);
  color: var(--app-bg);
  border-color: var(--app-forest);
}
body .tools-main .tool-compound-options label { color: var(--app-ink); background: var(--app-input); }
body .tools-main .tool-compound-options label:has(input:checked) {
  color: var(--app-bg);
  background: var(--app-forest);
  border-color: var(--app-forest);
}
body .tools-main .tool-compound-options input { accent-color: var(--app-forest); }
body .tools-main .tool-compound-options label:has(input:checked) input { accent-color: var(--app-bg); }
body .tools-main .tool-directory-card:hover { background: var(--app-input); border-color: var(--app-forest); }
body .tools-main :is(.tool-back,.tool-directory-card,.tool-comparison-links a,.tool-lead-source a,.tool-calculate,.tool-controls input,.tool-controls select,.tool-controls summary,.tool-result-panel button,.tool-section a,.tool-next-reading a,.tool-related-cta a,.tool-text-link):focus-visible { outline-color: var(--app-forest); }
