/* Jiangjunshan / forest, warm paper, restrained brass. Last-loaded theme layer.
   Legacy --blue remains a compatibility alias; it is no longer blue. */
:root{--forest-950:#142c23;--forest-900:#1d3c2f;--forest-700:#345e48;--forest-600:#426f55;--forest-100:#eaf0e8;--paper:#fffefa;--canvas:#f5f3ed;--ink:#293c32;--muted:#68776b;--line:#dedfd3;--soft:#eef1e9;--blue:var(--forest-700);--navy:var(--forest-900);--teal:#547d65;--gold:#9a713c;--green:#3c7153;--orange:#98632c;--red:#a84d43;--brass:#b89459}
body{background:var(--canvas);color:var(--ink);accent-color:var(--forest-700)}
input[type=checkbox],input[type=radio],input[type=range],.compact-check input{accent-color:var(--forest-700)}
::selection{background:#dce7d7;color:#203e2e}
.site-header{background:var(--paper);border-color:var(--line)}
.brand-name{color:#264334}.brand-field{color:#5c7260}.brand-dot,.brand-sub{color:#7c8776}
.head-course{border-color:#dcdfd1}.head-course strong{color:#304e3b}.head-course span{color:#798472}
.avatar{background:#e9eee1;color:#456247}.account-name{color:#3e5744}.account-role{color:#778574}
.nav-shell{background:var(--paper);border-color:var(--line)}
.main-nav button{color:#5c695d}.main-nav button:hover{background:#f0f2e9;color:#345b42}
.main-nav button[aria-current=page]{color:#2c513c;background:#e9eee1}
.main-nav button[aria-current=page]:after{background:var(--brass)}
.scenario-ribbon{background:#ecefe4;border-color:#dce2d1}.scenario-ribbon>div{color:#687760}.scenario-ribbon strong{color:#395840}.ribbon-label{background:#fffdf5;border-color:#d4d8bf;color:#71603e}.scenario-ribbon .button{color:#4b6b50}
.breadcrumb,.footer{color:#737f70}.system-live{color:#517459}
.course-identity{border-color:var(--line)}.course-identity>strong{color:#35543e}.course-identity>span{color:#6b7a65}
.course-entry-title{background:var(--paper);border-color:var(--line)}.course-entry-title h1{color:#294d37}.course-entry-title>span,.course-entry-title p{color:#6c7e68}
.page-title h2,.article h2,.section-head h3{color:#2e4b37}.subtitle,.article .meta{color:#6d7c69}
.section{background:var(--paper);border-color:var(--line);box-shadow:0 3px 12px #34472904}.section-head{border-color:var(--line)}.section-head h3:before{background:var(--brass)}
.section th,.graph-suite .table-wrap th{background:#f0f1e9;color:#5b6d57}.section td{border-color:#e5e6dc}.section tbody tr:hover{background:#f0f3e9}
.button{background:var(--paper);border-color:#d5dbc9;color:#496449}.button:hover{background:#eef2e6;border-color:#9caf91;color:#2e553c}
.button.primary,.graph-course-tools .button.primary{background:var(--forest-700);border-color:var(--forest-700);color:#fffefa}
.button.primary:hover{background:#254934;border-color:#254934;color:#fffefa}
.button.link,.section .button.link{color:#3e704d}.button.danger{color:#a24d43;border-color:#dfc3b9;background:#fcf4ef}
.button:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #a27d44;outline-offset:3px}
.button[disabled],button[disabled]{opacity:.55;cursor:not-allowed}
.field input,.field textarea,.field select,.graph-filter input,.graph-filter select{background:#fffefa;border-color:#d9dece;color:#334c39}
.field input:focus,.field textarea:focus,.field select:focus,.graph-filter input:focus,.graph-filter select:focus{outline:2px solid #8a744a;outline-offset:1px;border-color:#7c8058}
.field>span,.field label{color:#4b634c}.field small,.form-help{color:#6d7d67}
.tag.green,.ac-chip.success{color:#356b47;background:#edf3e6;border-color:#d9e5ce}.tag.orange,.ac-chip.warning{color:#865d2c;background:#f6efdf;border-color:#e6d6b5}.tag.red{color:#a04c42;background:#fbefea;border-color:#ebccc1}.tag.gray,.badge-outline{color:#6c7967;border-color:#dbe0d1;background:#f2f3eb}
.metric-value,.run-stats strong{color:#3e6648}.progress-track{background:#e1e7d7}.progress-track i{background:#65875a}
.course-tabs{background:var(--paper);border-color:var(--line)}.course-tabs span,.course-tabs button{color:#6a7c65}.course-tabs .active{color:#345b40}.course-tabs .active:after{background:#9a7b48}
.rescue-hero{background:var(--forest-900);border:1px solid #294c38;box-shadow:0 8px 24px #263e2b09}
.hero-copy .eyebrow{color:#afc2a4}.hero-subject{color:#d9e2c9}.hero-copy h1,.hero-copy h1>span{color:#fffdf2}.hero-copy>p{color:#c4d0b8}
.hero-actions .primary{color:#304b34;background:#e5d6ac;border-color:#e5d6ac}.hero-actions .primary:hover{color:#253c29;background:#f1e4be;border-color:#f1e4be}.hero-actions .hero-secondary{background:transparent;color:#e0e7d2;border-color:#829875}.hero-actions .hero-secondary:hover{background:#ffffff0c;border-color:#b1bea0}
.hero-bottom{color:#b4c3a7;border-color:#81997445}.hero-scene{background:#142f24}.scene-caption{color:#b9c9ac;background:#142d2399}
.mission-strip{border-color:var(--line);background:var(--paper)}.mission-strip-intro{background:#ecefe3}.mission-strip-intro strong{color:#456344}.mission-stage-list button{border-color:#e2e6d8}.mission-stage-list button:hover{background:#eef2e5}.mission-stage-list strong{color:#426443}.mission-stage-list small{color:#8a805c}.mission-stage-list span{color:#75816d}
.chapter-stage{color:#446f4e}.chapter-index{color:#9c9e79}.chapter-name{color:#344f39}.chapter-desc,.chapter-evidence{color:#73806b}
.resource-item.active{background:#eaf0e2;color:#3f6646;box-shadow:inset 3px 0 #a68a50}.resource-mission-context{background:#edf0e5;border-color:#dce2d2;border-left-color:#8b9361}.resource-mission-context strong{color:#41613f}.resource-mission-context p{color:#6c7b64}
.brief-mission-overview,.incident-panel{background:#243f30}.brief-mission-overview h2,.incident-text h2{color:#fffdf1}.incident-facts,.incident-text>p{color:#c5d1b9}
.brief-heading h2,.brief-section h3,.brief-step h4,.brief-side h3,.brief-why h4{color:#35573c}.brief-teacher-message,.brief-why,.brief-fact-grid>div,.brief-acceptance{background:#f0f2e7;border-color:#dfe3d2}.brief-toc button,.dossier-stage-tabs button{color:#5d7557}.brief-toc button:hover,.dossier-stage-tabs button.active{background:#e8eee0;color:#355c3f;box-shadow:inset 0 -2px #9d814b}
/* Rescue console: a forest command header, not another SaaS-blue panel. */
.rescue-studio{background:var(--paper);border-color:#dce2d3}.command-header{background:var(--forest-900);border-bottom:3px solid #a28a55}.command-title h1{color:#fffdf2}.command-title h1>span{color:#c6d3b8}.command-title p{color:#b0c2a4}.command-title p>span{color:#98af8d}.command-progress strong{color:#e3d6ae}.command-progress span,.command-progress small{color:#b1c3a5}
.studio-mission{background:#edf0e3;border-color:#dce3d1}.studio-mission>strong{color:#3d6140}.studio-mission>span{color:#6c7e64}.studio-mission .button{color:#4a714c}
.studio-rail{background:#f1f3e9;border-color:#dce2d1}.studio-rail>button{color:#6a7d64}.studio-rail>button.active{background:#e4ebd9;color:#365c3c;box-shadow:inset 3px 0 #a68b52}.studio-rail strong{color:#4d684a}.studio-rail small{color:#75856d}.rail-index{color:#678261;border-color:#ccd8c1;background:#fafbf4}.rail-index.done{background:#dae7cf;color:#3d6945}.rail-heading{color:#4d684a}.rail-heading span,.rail-bottom p{color:#77876e}
.studio-stage-heading{border-color:#e0e5d8}.studio-stage-heading h2{color:#34573c}.studio-stage-heading>div>span{color:#7a896e}
.lab-task-card{background:#f0f3e7;border-color:#dce5cd;border-left-color:#a0874d}.rescue-studio .lab-task-card h3{color:#3c6140}.lab-task-card dd,.lab-step-product{color:#58734f}.lab-task-card dt,.lab-step-label{color:#74866a}
.studio-novice-help{background:#f4f5ec;border-color:#dbe2ce}.studio-novice-help>summary{color:#476c46}.lab-extra-links{color:#708166;border-color:#e1e5d7}.lab-step-next{background:#f3f5eb;border-color:#dfe4d4}.lab-step-next>span{color:#708165}
.lab-contract,.lab-instruction{border-color:#dfe5d3}.lab-contract h4,.workflow-explanation h4,.lab-section-title{color:#466543}.lab-instruction>span{color:#9b834c}.lab-instruction p{color:#64785b}
.json-box,.code-editor,.ac-json pre,.ml-result-variant pre{background:#f3f5ed;color:#415c3e;border-color:#dce3d0}.lab-form-grid .field>span,.prompt-mode .field>span{color:#526c4c}.lab-fine-print,.prompt-mode>p{color:#6c7c62}
.rescue-studio .field textarea,.rescue-studio .field input,.rescue-studio .field select{background:#fffefa;color:#334c39;border-color:#d9dece}
.tactical-panel{background:#1d3428;border-color:#304d37}.tactical-panel header{color:#bbcdac}.tactical-fleet strong{color:#dce6cb}.tactical-fleet small,.tactical-legend,.tactical-disclaimer{color:#a2b697}.tactical-conditions strong{color:#d5dfbd}.context-evidence{background:#f2f4e9;border-color:#dfe5d2}.context-evidence h4{color:#466c47}.context-evidence p{color:#657c5c}.studio-boundary{background:#eef1e5;border-color:#dde4d0;color:#6f8263}
/* Model configuration, assessment and advanced labs share the same quiet palette. */
.ac-heading h2,.ml-simple .ml-simple-heading h2,.ac-detail h3,.ac-lab-card h3,.ac-cap-card h3,.ac-subhead{color:#35593d}
.ac-heading p,.ml-simple-heading p,.ac-cap-card p,.ac-cap-card dd,.ac-lab-card>p{color:#697b62}.ac-heading,.ac-tabs{border-color:#dce2d0}.ac-tabs button{color:#71816b}.ac-tabs button.active{color:#3a6040;border-color:#9c834d}
.ac-boundary,.ac-task-brief,.ac-portfolio-summary{background:#edf1e4;border-color:#d9e2cd;border-left-color:#8e9d70;color:#59734e}.ac-portfolio-summary strong,.ac-task-brief h4{color:#426640}
.ac-cap-card,.ac-lab-card,.ac-source,.ac-environment,.ac-records>div{background:var(--paper);border-color:#dce2d2}.ac-number,.ac-cap-card dt,.ac-metrics strong,.ac-run-facts strong,.ac-rubric strong{color:#506c43}.ac-source small,.ac-empty,.ac-records small{color:#738367}.ac-chip{background:#eff2e7;border-color:#dce3d1;color:#657b59}
.ac-json{background:#f8f9f1;border-color:#dce3d0}.ac-json summary{color:#58744f}.ac-curve{background:#f5f6ed;border-color:#e0e4d2}.ac-situation{background:#274632;color:#bed0b0}.ac-situation strong{color:#f0f2df}
.ml-simple .ml-service strong{color:#527349}.ml-simple .field>span,.ml-simple .form-help{color:#607459}.ml-simple .field small,.ml-inline-note,.ml-task-hint,.ml-run-row>span,.ml-usage-brief{color:#6a7d62}
.ml-settings,.ml-output{background:var(--paper);border-color:#dce2d0}.ml-settings>summary,.ml-output>summary{color:#4e6b46}.ml-settings>summary small{color:#78876c}.ml-settings[open]>summary{background:#f1f4e9;border-color:#dfe5d3}.ml-help,.ml-help>summary{color:#6e8163}
.ml-simple .ml-prompt-pair>section{background:#f9faf2;border-color:#dce3cf}.ml-simple .ml-variant{color:#476c46}.ml-simple .ml-runtime{background:#edf2e3;border-color:#d9e2c9}.ml-simple .ml-runtime strong{color:#476e43}.ml-simple .ml-runtime small{color:#6c8160}.ml-tool-trace article{border-color:#dce4cf}.ml-tool-trace h4{color:#4c7148}.ml-trace-index{color:#9a8955}.ml-evidence{background:#f3f6e9;border-color:#dce5cc}.ml-evidence h4{color:#476a41}.ml-evidence blockquote{color:#5e7654;border-color:#9bad7e}.ml-evidence p,.ml-final-grid h4{color:#58764c}.ml-usage strong,.ml-result-variant h3{color:#466b3f}.ml-final-grid,.ml-final-grid section{border-color:#dce3d0}
/* Four graph domains remain semantically distinct, without electric-blue chrome. */
.graph-course-identity h2{color:#35563c}.graph-course-identity h2>span{color:#728261;border-color:#d6ddc9}.graph-course-kicker,.graph-course-identity p{color:#75856a}.graph-course-tools>span{color:#77896d}.graph-course-tools .button{background:var(--paper)}
.graph-suite{border-color:#d8dfcd;box-shadow:0 6px 24px #34472908;--atlas-bg:#14261d;--atlas-panel:#20392b;--atlas-line:#3b5140;--atlas-text:#d4dfc9;--atlas-muted:#a3b599;--atlas-accent:#bda370}
.graph-suite.atlas-light{--atlas-bg:#f5f6ec;--atlas-panel:#e9eedc;--atlas-line:#d2dcc1;--atlas-text:#435f3b;--atlas-muted:#748969}
.graph-kindbar{background:#eff2e6;border-color:#dfe5d3}.graph-kindbar>button{background:var(--paper);border-color:#dce4d0;color:#54734a}.graph-kindbar>button:hover{background:#f4f6eb;border-color:#b7c7a1}.graph-kindbar>button.active{background:#e6edda;color:#3c6340;border-color:#a9bc8d}.graph-kind-copy strong{color:#3f613e}.graph-kind-copy>span{color:#738669}.graph-kindbar>button>small.graph-kind-count{background:#eef2e4;color:#70835f}.graph-kindbar>button.active .graph-kind-count{background:#d5e1c2;color:#456b3f}
.graph-emblem[src$="/knowledge.png"]{filter:hue-rotate(-65deg) saturate(.5)}
.atlas-center image{filter:hue-rotate(-65deg) saturate(.5)}
.graph-context-line,.graph-counts,.graph-modebar{background:var(--paper);border-color:#e0e5d4}.graph-context-line strong,.graph-counts strong{color:#53734a}.graph-context-line .graph-version,.graph-context-code,.graph-counts span{color:#7c8c70}.graph-counts .graph-glyph{color:#93a47c}.graph-display-tools .button{background:#f5f7ed;border-color:#dce4ce;color:#667f56}.graph-mode-tabs button{color:#6d8062}.graph-mode-tabs button.active{background:#e5edda;color:#466e3f}
.atlas-layout{background:var(--paper)}.atlas-layouts .button.active{background:#36513a;border-color:#6d885a;color:#e0e9d1}.atlas-light .atlas-layouts .button.active{background:#dfebcc;color:#426539;border-color:#b2c396}.atlas-objectives{background:#1b3225}.atlas-light .atlas-objectives{background:#edf1e1}.atlas-objectives>button.active{background:#314c33;border-color:#8eaa74;color:#e1ecd2}.atlas-light .atlas-objectives>button.active{background:#dfebcf;color:#466b3c}.atlas-objectives button p{color:#a6b99a}.atlas-light .atlas-objectives button p{color:#718462}
.atlas-light .atlas-zoom .button,.atlas-light .atlas-zoom output{color:#58734c}.atlas-node.selected{filter:drop-shadow(0 0 4px #afc68e33)}.atlas-node:focus-visible{filter:drop-shadow(0 0 5px #cfbb80)}
.enhanced-detail{background:var(--paper);border-color:#dce4d0;scrollbar-color:#d1dcc3 transparent}.enhanced-detail .node-title{color:#3d633e}.enhanced-detail .node-desc,.enhanced-detail .detail-block p{color:#6c7f61}.enhanced-detail .node-tags span{background:#eff3e5;border-color:#e0e6d2;color:#6b835c}.enhanced-detail .detail-block h4{color:#547a46}.enhanced-detail .detail-block small,.enhanced-detail .node-attribute-line{color:#7b8e6d}.enhanced-detail .detail-block .button[data-action="open-resource"]{background:#f4f7e9;border-color:#dce6c9;color:#557b46}.enhanced-detail h4>.graph-glyph{color:#80985f}.enhanced-detail .domain-detail{background:#edf3df!important;border-color:#d8e3c5!important}.enhanced-detail .domain-detail h4,.enhanced-detail .domain-detail p{color:#5a784a!important}
.problem-intro,.learning-map-intro{background:#f0f4e5;border-color:#e0e8cf}.problem-intro h3,.outline-head>h3,.learning-map-intro h3{color:#4b6c3d}.problem-chain{background-color:#fcfcf5;background-image:radial-gradient(#bdc9a955 .8px,transparent .8px)}.problem-chain>section{--question-color:#648759}.problem-chain>section:nth-child(2){--question-color:#a58b4d}.problem-chain>section:nth-child(3){--question-color:#8b7195}.problem-chain-item{background:var(--paper);border-top-color:#dfe6d2;border-right-color:#dfe6d2;border-bottom-color:#dfe6d2}.problem-chain-item strong{color:#45633c}.problem-chain-item p{color:#748667}.problem-chain-item>span{color:#64844d;border-color:#e4ead7}
.learning-route{background:#fbfcf4}.learning-route-content,.outline-root{border-color:#dce5ce;background:#fffef8}.learning-route-content h4,.outline-groups>section>h4{color:#577944}.route-step-line>span{color:#64864d;border-color:#b7c99b;background:#edf3e1}
.course-roadmap{background:#182e22;color:#e1e8d3}.roadmap-station strong{background:#294330;color:#d9e4c8}.roadmap-dot{background:#3c573b;border-color:#182e22;outline-color:#617d53}.roadmap-station.available .roadmap-dot,.roadmap-station.in_progress .roadmap-dot{background:#6b8954;outline-color:#a4ba84}.roadmap-station small{color:#97ad83}.graph-suite.atlas-dark .table-wrap{background:#172b20}.graph-suite.atlas-dark .table-wrap th{background:#2c4431;color:#bed0a9}.graph-suite.atlas-dark .table-wrap td{background:#213827;color:#c6d4b7}.graph-suite.atlas-dark .table-wrap td p{color:#94aa80}.graph-suite.atlas-dark .table-wrap td .button{color:#b2ce91}
.rescue-login .login-story{background:#203e2d}.rescue-login .brand-name{color:#f0efdd}.rescue-login .brand-field{color:#c7d1b8}.rescue-login .brand-sub{color:#a6bb95}.rescue-login .login-intro{color:#c0ceb0}.rescue-login .login-panel{background:#f8f7f0}.rescue-login .login-form h2{color:#34563a}.rescue-login .login-foot{color:#a0b58f}
#toast{background:#2a4934;color:#f7f5e8}#toast.error{background:#984d43}.modal{background:var(--paper)}.modal-head,.modal-foot{border-color:#dce4cf}
@media(max-width:900px){.studio-rail>button.active{box-shadow:inset 0 -2px #a68b52}}
