:root{color-scheme:light dark}html[data-theme="light"]{color-scheme:light}html[data-theme="dark"],html[data-theme="forest"]{color-scheme:dark}
.main-theme-toggle{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border:1px solid var(--line,#cfd3c5);border-radius:50%;background:rgba(250,248,241,.82);color:var(--ink,#14372d);cursor:pointer;font-size:18px;line-height:1;transition:transform .2s,background .2s,color .2s}
.main-theme-toggle:hover{transform:translateY(-2px)}.main-theme-toggle:focus-visible{outline:3px solid #72a995;outline-offset:2px}.main-theme-toggle span{grid-area:1/1}.theme-leaf,.theme-sun{display:none}.main-theme-toggle[data-current-theme="dark"] .theme-moon{display:none}.main-theme-toggle[data-current-theme="dark"] .theme-leaf{display:block;color:#d7b45d}.main-theme-toggle[data-current-theme="forest"] .theme-moon,.main-theme-toggle[data-current-theme="forest"] .theme-leaf{display:none}.main-theme-toggle[data-current-theme="forest"] .theme-sun{display:block;color:#f1cf67}
html[data-theme="dark"]{--ink:#e8eee9;--forest:#0d352b;--moss:#8caf9b;--lime:#cde58a;--cream:#dfe9e3;--paper:#0b241e;--coral:#ef856f;--line:#35564c}
html[data-theme="dark"] body{background:#0b241e;color:#e8eee9}html[data-theme="dark"] .site-header,html[data-theme="dark"] .project-header,html[data-theme="dark"] footer{background:#0a2821!important;color:#edf3ef!important;border-color:#35564c!important}html[data-theme="dark"] .main-theme-toggle,html[data-theme="dark"] .langs,html[data-theme="dark"] .mobile-nav-toggle,html[data-theme="dark"] .menu-toggle{background:#11372d!important;color:#edf3ef!important;border-color:#42675b!important}html[data-theme="dark"] .langs a[aria-current=true]{background:#dfe9e3;color:#0a2821}html[data-theme="dark"] main,html[data-theme="dark"] .manifest,html[data-theme="dark"] .research,html[data-theme="dark"] .article-page,html[data-theme="dark"] .article-body,html[data-theme="dark"] .related,html[data-theme="dark"] .action-section{background:#0b241e;color:#e8eee9;border-color:#35564c}html[data-theme="dark"] .article-card,html[data-theme="dark"] .method,html[data-theme="dark"] .drevo-highlights,html[data-theme="dark"] .home-library-banner{background:#102f27!important;color:#e8eee9!important;border-color:#42675b!important}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#102e26!important;color:#f1f5f2!important;border-color:#4d6d62!important}html[data-theme="dark"] img{filter:brightness(.86) saturate(.92)}
html[data-theme="forest"]{--ink:#f3ead2;--forest:#203a28;--moss:#c9a95f;--lime:#e0c978;--cream:#f1dfb4;--paper:#242d21;--coral:#df8b64;--line:#705b36}
html[data-theme="forest"] body{background:#242d21;color:#f3ead2}html[data-theme="forest"] .site-header,html[data-theme="forest"] .project-header,html[data-theme="forest"] footer{background:#183022!important;color:#f7edd3!important;border-color:#765d32!important}html[data-theme="forest"] .main-theme-toggle,html[data-theme="forest"] .langs,html[data-theme="forest"] .mobile-nav-toggle,html[data-theme="forest"] .menu-toggle{background:#3b3022!important;color:#f2d77f!important;border-color:#a88743!important}html[data-theme="forest"] .langs a[aria-current=true]{background:#a87932;color:#fff5d7}html[data-theme="forest"] main,html[data-theme="forest"] .manifest,html[data-theme="forest"] .research,html[data-theme="forest"] .article-page,html[data-theme="forest"] .article-body,html[data-theme="forest"] .related,html[data-theme="forest"] .action-section{background:#242d21;color:#f3ead2;border-color:#705b36}html[data-theme="forest"] .article-card,html[data-theme="forest"] .method,html[data-theme="forest"] .drevo-highlights,html[data-theme="forest"] .home-library-banner{background:#30382b!important;color:#f3ead2!important;border-color:#785f37!important}html[data-theme="forest"] input,html[data-theme="forest"] select,html[data-theme="forest"] textarea{background:#30392a!important;color:#fff3d3!important;border-color:#8b7040!important}html[data-theme="forest"] img{filter:sepia(.08) brightness(.84) saturate(.9)}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] p,html[data-theme="forest"] h1,html[data-theme="forest"] h2,html[data-theme="forest"] h3,html[data-theme="forest"] p{color:inherit}html[data-theme="dark"] .hero-shade{background:linear-gradient(90deg,rgba(3,21,17,.92),rgba(3,21,17,.52) 45%,rgba(3,21,17,.16))}html[data-theme="forest"] .hero-shade{background:linear-gradient(90deg,rgba(27,24,13,.9),rgba(39,32,17,.5) 45%,rgba(39,32,17,.18))}
html[data-theme="dark"] .button.cream{background:#e7eee9!important;color:#0a3027!important;border-color:#e7eee9!important}html[data-theme="dark"] .button.cream span{color:#0a3027!important}
html[data-theme="forest"] .button.cream{background:#f0dfb5!important;color:#302313!important;border-color:#f0dfb5!important}html[data-theme="forest"] .button.cream span{color:#302313!important}
html[data-theme="dark"] .newsletter{background:#cde58a!important;color:#12362c!important}html[data-theme="dark"] .newsletter h2,html[data-theme="dark"] .newsletter p,html[data-theme="dark"] .newsletter .kicker,html[data-theme="dark"] .newsletter label{color:#12362c!important}html[data-theme="dark"] .newsletter input{background:transparent!important;color:#12362c!important;border-color:#12362c!important}html[data-theme="dark"] .newsletter input::placeholder{color:#4e6d62!important}html[data-theme="dark"] .newsletter .round{background:transparent!important;color:#12362c!important;border-color:#12362c!important}
html[data-theme="forest"] .newsletter{background:#d9bd68!important;color:#2c2112!important}html[data-theme="forest"] .newsletter h2,html[data-theme="forest"] .newsletter p,html[data-theme="forest"] .newsletter .kicker,html[data-theme="forest"] .newsletter label{color:#2c2112!important}html[data-theme="forest"] .newsletter input{background:transparent!important;color:#2c2112!important;border-color:#2c2112!important}html[data-theme="forest"] .newsletter input::placeholder{color:#675535!important}html[data-theme="forest"] .newsletter .round{background:transparent!important;color:#2c2112!important;border-color:#2c2112!important}
/* Presentation contrast in the two alternative themes. */
html[data-theme="dark"]{--pine:#081f1a;--pine-2:#10362d;--gold:#d5b45f;--gold-light:#f0d990;--sage:#173a30;--water:#203f3a}
html[data-theme="forest"]{--pine:#183022;--pine-2:#2d3a29;--gold:#d1ad58;--gold-light:#f0d88d;--sage:#35402f;--water:#364743}
html[data-theme="dark"] .philosophy,html[data-theme="dark"] .method,html[data-theme="dark"] .book,html[data-theme="dark"] .forest,html[data-theme="dark"] .water{background:#0d2922!important;color:#e9f0eb!important}
html[data-theme="forest"] .philosophy,html[data-theme="forest"] .method,html[data-theme="forest"] .book,html[data-theme="forest"] .forest,html[data-theme="forest"] .water{background:#293126!important;color:#f4e9ce!important}
html[data-theme="dark"] .lead,html[data-theme="dark"] .book-heading>p,html[data-theme="dark"] .method-intro p,html[data-theme="dark"] .method-steps p,html[data-theme="dark"] .philosophy-copy blockquote{color:#c9d8d1!important}
html[data-theme="forest"] .lead,html[data-theme="forest"] .book-heading>p,html[data-theme="forest"] .method-intro p,html[data-theme="forest"] .method-steps p,html[data-theme="forest"] .philosophy-copy blockquote{color:#ddcfad!important}
html[data-theme="dark"] .book-map a{background:#173a31!important;color:#edf3ef!important;border-color:#4a6a60!important}html[data-theme="dark"] .book-map a:nth-child(3n){background:#1b4037!important}html[data-theme="dark"] .book-map a:nth-child(5n){background:#35402f!important}html[data-theme="dark"] .book-map small{color:#d9bb6c!important}
html[data-theme="forest"] .book-map a{background:#36402f!important;color:#f5e9c9!important;border-color:#80683a!important}html[data-theme="forest"] .book-map a:nth-child(3n){background:#30423a!important}html[data-theme="forest"] .book-map a:nth-child(5n){background:#493d2c!important}html[data-theme="forest"] .book-map small{color:#e0bd67!important}
html[data-theme="dark"] .book-map a:hover,html[data-theme="forest"] .book-map a:hover{background:#9a7135!important;color:#fff6da!important}
html[data-theme="dark"] .facts>a,html[data-theme="dark"] .source-spread{background:#173a31!important;color:#edf3ef!important;border-color:#4a6a60!important}html[data-theme="forest"] .facts>a,html[data-theme="forest"] .source-spread{background:#36402f!important;color:#f4e9ce!important;border-color:#80683a!important}
html[data-theme="dark"] .method-steps a:hover{background:#173a31!important}html[data-theme="forest"] .method-steps a:hover{background:#493d2c!important}
html[data-theme="dark"] .layer-stack a:nth-child(4),html[data-theme="dark"] .layer-stack a:nth-child(5),html[data-theme="dark"] .layer-stack a:nth-child(6),html[data-theme="forest"] .layer-stack a:nth-child(4),html[data-theme="forest"] .layer-stack a:nth-child(5),html[data-theme="forest"] .layer-stack a:nth-child(6){color:#102d24!important}
html[data-theme="dark"] .layer-stack a:nth-child(1),html[data-theme="dark"] .layer-stack a:nth-child(2),html[data-theme="dark"] .layer-stack a:nth-child(3),html[data-theme="dark"] .layer-stack a:nth-child(7),html[data-theme="forest"] .layer-stack a:nth-child(1),html[data-theme="forest"] .layer-stack a:nth-child(2),html[data-theme="forest"] .layer-stack a:nth-child(3),html[data-theme="forest"] .layer-stack a:nth-child(7){color:#fff8e8!important}
html[data-theme="dark"] .layer-stack a:focus-visible,html[data-theme="forest"] .layer-stack a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
html[data-theme="dark"] .button-gold,html[data-theme="forest"] .button-gold{color:#172419!important}html[data-theme="dark"] .header-cta,html[data-theme="dark"] .button-dark{background:#dfe9e3!important;color:#0a2821!important}html[data-theme="forest"] .header-cta,html[data-theme="forest"] .button-dark{background:#9a7135!important;color:#fff5d7!important}
html[data-theme="dark"] .site-footer,html[data-theme="forest"] .site-footer{color:#f5ecd5!important}
/* About / Plant ID page contrast. */
html[data-theme="dark"] .section-light{background:#122f27!important;color:#e8f0eb!important}html[data-theme="forest"] .section-light{background:#30372b!important;color:#f4e9cf!important}
html[data-theme="dark"] .audience-grid div,html[data-theme="dark"] .factor-grid span{background:#173a31;color:#edf3ef;border-color:#547166!important}html[data-theme="forest"] .audience-grid div,html[data-theme="forest"] .factor-grid span{background:#3a4031;color:#f5e9cd;border-color:#806d48!important}
html[data-theme="dark"] .audience-grid b,html[data-theme="dark"] .factor-grid span,html[data-theme="forest"] .audience-grid b,html[data-theme="forest"] .factor-grid span{color:inherit!important}
html[data-theme="dark"] .iot,html[data-theme="dark"] .sensor-strip span{background:#173a31!important;color:#edf3ef!important;border-color:#4f7064!important}html[data-theme="forest"] .iot,html[data-theme="forest"] .sensor-strip span{background:#35402f!important;color:#f5e9cd!important;border-color:#806a42!important}
html[data-theme="dark"] .flow-node{background:#173a31!important;color:#edf3ef!important;border-color:#4f7064!important}html[data-theme="forest"] .flow-node{background:#35402f!important;color:#f5e9cd!important;border-color:#806a42!important}
html[data-theme="dark"] .flow-node.primary,html[data-theme="dark"] .flow-node.atlas-node,html[data-theme="dark"] .scale-system>b{background:#071f19!important;color:#d9ef8c!important;border-color:#4f7064!important}html[data-theme="forest"] .flow-node.primary,html[data-theme="forest"] .flow-node.atlas-node,html[data-theme="forest"] .scale-system>b{background:#1c3022!important;color:#e7c96e!important;border-color:#927643!important}
html[data-theme="dark"] .flow-node.core{background:#cde58a!important;color:#123127!important}html[data-theme="forest"] .flow-node.core{background:#d6b65f!important;color:#2b2113!important}
html[data-theme="dark"] .scale-ring span{background:#173a31!important;color:#edf3ef!important;border-color:#4f7064!important}html[data-theme="forest"] .scale-ring span{background:#35402f!important;color:#f5e9cd!important;border-color:#806a42!important}
html[data-theme="dark"] .header-action{background:#dfe9e3!important;color:#0a2821!important}html[data-theme="dark"] .header-action span{color:#477b48!important}html[data-theme="forest"] .header-action{background:#9a7135!important;color:#fff5d7!important}html[data-theme="forest"] .header-action span{color:#f4d477!important}
html[data-theme="dark"] .lang-switcher a[aria-current="true"]{background:#dfe9e3!important;color:#0a2821!important}html[data-theme="forest"] .lang-switcher a[aria-current="true"]{background:#a87932!important;color:#fff5d7!important}
html[data-theme="dark"] .cta{background:#cde58a!important;color:#123127!important}html[data-theme="forest"] .cta{background:#d6b65f!important;color:#2b2113!important}html[data-theme="dark"] .cta h2,html[data-theme="dark"] .cta p,html[data-theme="forest"] .cta h2,html[data-theme="forest"] .cta p{color:inherit!important}
html[data-theme="dark"] .cta .button-primary{background:#0a3027!important;color:#f4f7f5!important}html[data-theme="forest"] .cta .button-primary{background:#283521!important;color:#fff3d1!important}
html[data-theme="dark"] .cta .button-ghost,html[data-theme="forest"] .cta .button-ghost{color:inherit!important;border-color:currentColor!important}
html[data-theme="dark"] .ai-core,html[data-theme="dark"] .atlas-map{border-color:#567469!important}html[data-theme="forest"] .ai-core,html[data-theme="forest"] .atlas-map{border-color:#8a7044!important}
html[data-theme="dark"] .section-index>span,html[data-theme="forest"] .section-index>span{color:inherit!important}
html[data-theme="dark"] .section-library-link{color:#cfe88d!important;border-color:#78985e!important}html[data-theme="forest"] .section-library-link{color:#e4c56c!important;border-color:#a48649!important}
html[data-theme="dark"] .section-library-link:hover,html[data-theme="dark"] .section-library-link:focus-visible{background:#cfe88d!important;color:#102d24!important}html[data-theme="forest"] .section-library-link:hover,html[data-theme="forest"] .section-library-link:focus-visible{background:#d5b45c!important;color:#2b2113!important}
html[data-theme="dark"] .scale-readout,html[data-theme="dark"] .architecture-readout{background:#173a31!important;color:#edf3ef!important;border-color:#cfe88d!important}html[data-theme="forest"] .scale-readout,html[data-theme="forest"] .architecture-readout{background:#394131!important;color:#f5e9cd!important;border-color:#d5b45c!important}
html[data-theme="dark"] .scale-readout b,html[data-theme="dark"] .architecture-readout b{color:#a9cdbd!important}html[data-theme="forest"] .scale-readout b,html[data-theme="forest"] .architecture-readout b{color:#ddc477!important}
html[data-theme="dark"] .scale-readout p,html[data-theme="dark"] .architecture-readout p,html[data-theme="forest"] .scale-readout p,html[data-theme="forest"] .architecture-readout p{color:inherit!important}
html[data-theme="dark"] .purpose-list li:hover,html[data-theme="dark"] .factor-grid span:hover,html[data-theme="dark"] .audience-grid div:hover{background:#21483d!important}html[data-theme="forest"] .purpose-list li:hover,html[data-theme="forest"] .factor-grid span:hover,html[data-theme="forest"] .audience-grid div:hover{background:#4b4933!important}
html[data-theme="dark"] .embedded-library-link:hover,html[data-theme="dark"] .embedded-library-link:focus-visible{color:#d1e990!important}html[data-theme="forest"] .embedded-library-link:hover,html[data-theme="forest"] .embedded-library-link:focus-visible{color:#e5c86f!important}
html[data-theme="dark"] .architecture-node-link:after{color:#a9cdbd!important}html[data-theme="forest"] .architecture-node-link:after{color:#ddc477!important}
html[data-theme="dark"] .capability-detail{background:#102f27!important;color:#edf3ef!important;border-color:#4f7064!important}html[data-theme="forest"] .capability-detail{background:#35402f!important;color:#f5e9cd!important;border-color:#806a42!important}
html[data-theme="dark"] .capability-detail p,html[data-theme="forest"] .capability-detail p{color:inherit!important}
@media(max-width:900px){.main-theme-toggle{flex-basis:38px;width:38px;height:38px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.main-theme-toggle,*{transition-duration:.01ms!important}}
/* Living Legacy gallery: keep the surface and controls legible in dark palettes. */
html[data-theme="dark"] .legacy-gallery {
  background: #102f27 !important;
  color: #e8eee9 !important;
  border-color: #42675b !important;
}

html[data-theme="forest"] .legacy-gallery {
  background: #30382b !important;
  color: #f3ead2 !important;
  border-color: #80683a !important;
}

html[data-theme="dark"] .legacy-gallery-head h2,
html[data-theme="dark"] .legacy-gallery-head p,
html[data-theme="dark"] .legacy-gallery .eyebrow,
html[data-theme="dark"] .legacy-gallery-controls span,
html[data-theme="dark"] .legacy-gallery-all {
  color: #e8eee9 !important;
}

html[data-theme="forest"] .legacy-gallery-head h2,
html[data-theme="forest"] .legacy-gallery-head p,
html[data-theme="forest"] .legacy-gallery .eyebrow,
html[data-theme="forest"] .legacy-gallery-controls span,
html[data-theme="forest"] .legacy-gallery-all {
  color: #f3ead2 !important;
}

html[data-theme="dark"] .legacy-gallery-controls button {
  background: #173a31 !important;
  color: #edf3ef !important;
  border-color: #6f9185 !important;
}

html[data-theme="forest"] .legacy-gallery-controls button {
  background: #3a4031 !important;
  color: #f5e9cd !important;
  border-color: #a3884f !important;
}

html[data-theme="dark"] .legacy-gallery-controls button:hover,
html[data-theme="dark"] .legacy-gallery-controls button:focus-visible {
  background: #cde58a !important;
  color: #12362c !important;
}

html[data-theme="forest"] .legacy-gallery-controls button:hover,
html[data-theme="forest"] .legacy-gallery-controls button:focus-visible {
  background: #d6b65f !important;
  color: #2b2113 !important;
}

html[data-theme="dark"] .legacy-gallery-all {
  border-color: #6f9185 !important;
}

html[data-theme="forest"] .legacy-gallery-all {
  border-color: #a3884f !important;
}

/* Primary home-hero action uses the active palette accent. */
.hero .button.cream {
  background: var(--lime) !important;
  color: #0a3027 !important;
  border-color: var(--lime) !important;
}

.hero .button.cream span {
  color: #0a3027 !important;
}

html[data-theme="forest"] .hero .button.cream {
  background: #d6b65f !important;
  color: #2b2113 !important;
  border-color: #d6b65f !important;
}

html[data-theme="forest"] .hero .button.cream span {
  color: #2b2113 !important;
}

.hero .button.cream:hover,
.hero .button.cream:focus-visible {
  background: #f0d990 !important;
  border-color: #f0d990 !important;
  transform: translateY(-2px);
}
html[data-theme="dark"] .header-cta{background:#294b41!important;color:#edf3ef!important;border:1px solid #55756a!important;box-shadow:none!important}
html[data-theme="dark"] .header-cta:hover,html[data-theme="dark"] .header-cta:focus-visible{background:#365d51!important;border-color:#7f9d91!important}
