/* Course portal: sapphire / cyan / white. Graph studio: slate / electric blue.
   Original implementation; no vendor branding or third-party course artwork. */
:root{--ink:#26384d;--navy:#123b70;--blue:#267bea;--muted:#687b91;--line:#e1e7ef;--canvas:#f4f7fb;--teal:#218b9c;--gold:#c79337}
body{color:var(--ink);background:var(--canvas);font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif}
.head-inner{height:88px}.site-header{border-bottom:1px solid #edf1f6}.brand-name{color:#1b3658;font-weight:650}.brand-field{color:#38608b}.brand-sub{color:#7188a5}.head-course strong{color:#48617f}.nav-shell{background:#fff;border-bottom:1px solid #e1e8f2}.main-nav button{color:#53657e;font-size:14px;padding-top:17px;padding-bottom:17px}.main-nav button:hover{background:#f4f8ff;color:#267bea}.main-nav button[aria-current=page]{color:#216dd4;background:#f0f6ff;font-weight:600}.main-nav button[aria-current=page]:after{background:#3386f8;height:3px}
.scenario-ribbon{background:#edf5ff;border-color:#dbe9fa}.scenario-ribbon strong{color:#345b84}.ribbon-label{border-color:#bdd9fc;background:#fff;color:#2876d9}.scenario-ribbon .button{color:#2d76cf}.scenario-ribbon>div{color:#6b83a0}.page-title h2{color:#233e62;font-weight:650}.subtitle{color:#687b92;font-size:13px}.breadcrumb{color:#8491a4}.button{border-color:#d9e2ed;color:#426080;border-radius:5px}.button:hover{border-color:#98beef;background:#f3f8ff}.button.primary{background:#267bea;border-color:#267bea;color:#fff}.button.primary:hover{background:#1766cb;border-color:#1766cb}.button.link{color:#2878dc}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #b4d4ff;outline-offset:1px}.section{border-color:#e0e7f0;box-shadow:0 3px 12px #23487b04;border-radius:7px}.section-head h3{color:#294361}.section-head h3:before{background:#3586f5}.section th{color:#5b708a;background:#f6f8fc}.section tbody tr:hover{background:#f5f9ff}.tag{font-size:11px}.metric-value{color:#276abb}.article h2{color:#23436b}.resource-item.active{color:#236ed0;background:#edf5ff;box-shadow:inset 3px 0 #3489f9}
.rescue-hero{border:0;background:#1556a4;border-radius:8px;min-height:410px}.hero-copy{padding-top:35px;padding-bottom:30px}.hero-copy .eyebrow{color:#a9d8ff}.hero-copy h1{font-weight:650;font-size:38px;line-height:1.45}.hero-copy h1>span{font-size:28px;color:#e6f3ff}.hero-copy>p{font-size:14px;color:#c6ddf5;line-height:2}.hero-subject{color:#c5e4ff;font-size:13px}.hero-actions .primary{background:#fff;color:#1b62b3;border-color:#fff}.hero-actions .hero-secondary{color:#fff;border-color:#91bceb}.hero-bottom{color:#c0d9f6;border-color:#8db8ea55;font-size:11px}.hero-scene{background:#103e74;border-left:0}.scene-caption{color:#a9c8e9}.mission-strip-intro{background:#f0f6ff}.mission-strip-intro strong{color:#295486}.mission-stage-list strong{color:#315781}.mission-stage-list small{color:#7196c2}.mission-stage-list span{color:#778ba3}.mission-stage-list button:hover{background:#edf5ff}.chapter-stage{color:#2774ce}.chapter-name{color:#294567}.chapter-evidence{color:#6f8096}.chapter-index{color:#91b8e8}.progress-track i{background:#3a8af4}.course-tabs{background:#fff;border:1px solid #e0e8f4;border-radius:7px;padding:17px 24px}.course-tabs span{color:#70819a;font-size:13px}.course-tabs span.active{color:#246ece;font-weight:600}.course-tabs span.active:after{background:#3489f9}
.incident-panel{background:#13447f}.incident-text h2{color:#fff}.incident-text>p{color:#d0dff1}.incident-facts{color:#b8d6fa}.resource-mission-context{background:#f1f7ff;border-color:#dce9fa;border-left-color:#4995f6}.resource-mission-context strong{color:#37618d}.resource-mission-context p{color:#6d83a0}.dossier-stage-tabs button.active{color:#2373d7;background:#eaf3ff;box-shadow:inset 0 -2px #3888ef}.mission-question{color:#36628e;background:#f2f7ff;border-color:#5098ef}.mission-order>h3{color:#244874}.domain-detail{background:#f1f6ff!important;border-color:#e0eafb!important}.domain-detail h4,.domain-detail p{color:#4c6e96!important}
.rescue-login .login-story{background:#13477f}.rescue-login .brand-name{color:#fff}.rescue-login .brand-field{color:#c5e0ff}.rescue-login .brand-sub{color:#95b9e2}.rescue-login .login-intro{color:#c4d9ef}.rescue-login .login-panel{background:#f8faff}.rescue-login .login-form h2{color:#274569}
/* A distinct graph environment modeled on the supplied dark graph screenshots. */
.graph-suite{border:1px solid #dce6f2;border-radius:9px;box-shadow:0 6px 24px #1e45600a;--atlas-bg:#080f1b;--atlas-panel:#152132;--atlas-line:#2b3a4e;--atlas-text:#c3cfdf;--atlas-muted:#8ea0b9;--atlas-accent:#398bff}
.graph-suite.is-expanded{position:fixed;inset:18px;z-index:200;overflow:auto;box-shadow:0 0 0 30px #071021b8}.graph-kindbar{background:#101b2b;border:0;padding:14px 20px;gap:6px}.graph-kindbar>button{background:#253247;border-radius:28px;font-size:14px;color:#bdc9d9;padding:12px 23px;gap:9px}.graph-kindbar>button.active{background:#398bff;color:#fff}.graph-kindbar>button.active:after{display:none}.graph-kindbar>button>i{display:none}.graph-kindbar>button>small{background:#ffffff1c;color:#dbeaff;border-radius:10px;min-width:20px;text-align:center}.graph-version{color:#8296b3;font-size:11px}.graph-counts{background:#fff;padding:17px 12px}.graph-counts strong{color:#2f79d5;font-size:26px;font-weight:500}.graph-counts span{color:#73859e;font-size:11px}.graph-modebar{padding:12px 20px;background:#fff;border-color:#e1e8f2}.graph-mode-tabs button{font-size:12px;color:#647994;padding:7px 13px}.graph-mode-tabs button.active{background:#eaf3ff;color:#2376dd;border-radius:5px}.graph-filter input,.graph-filter select{font-size:12px;min-height:33px;border-color:#dee6f1}.atlas-layout{grid-template-columns:minmax(0,1fr) 300px;background:#fff}.atlas-toolbar{background:var(--atlas-bg);border-color:var(--atlas-line);padding:12px 17px;gap:12px;color:var(--atlas-text)}.atlas-toolbar .actions{gap:12px}.atlas-layouts .button{color:var(--atlas-muted);border:0;background:var(--atlas-panel);font-size:11px;border-radius:18px;padding:5px 14px}.atlas-layouts .button.active{color:#fff;background:#327fdf}.atlas-toolbar .actions>.button{font-size:10px;min-height:27px;background:var(--atlas-panel);color:var(--atlas-text);border-color:var(--atlas-line)}.compact-check{color:var(--atlas-muted);font-size:11px;white-space:nowrap}.compact-check input{accent-color:#398bff}.atlas-toolbar select{background:var(--atlas-panel);color:var(--atlas-text);border-color:var(--atlas-line);font-size:10px;width:142px;min-height:28px}.atlas-graph-body{display:flex;min-width:0;background:var(--atlas-bg)}.atlas-stage{background:var(--atlas-bg);flex:1;min-width:0}.advanced-canvas{min-height:600px;display:flex;align-items:center;overflow:auto}.advanced-canvas svg{min-width:780px;width:100%;height:auto;flex:none}.atlas-watermark{top:19px;left:23px;color:var(--atlas-muted);font-size:8px;z-index:1;opacity:.75;letter-spacing:1.1px;line-height:1.9}.atlas-zoom{left:20px;bottom:20px;border-radius:30px;background:var(--atlas-panel);padding:4px;gap:4px;align-items:center;box-shadow:0 4px 12px #0002}.atlas-zoom .button{border:0;background:#080f1b88;color:#d5e5fb;border-radius:20px;font-size:12px;min-height:29px;padding:5px 12px}.atlas-zoom output{font-size:11px;min-width:38px;text-align:center;color:#e5eefb;font-family:Consolas,monospace}.atlas-drag-hint{color:var(--atlas-muted);font-size:10px}.atlas-legend{background:var(--atlas-bg);border-color:var(--atlas-line);color:var(--atlas-text);font-size:10px}.atlas-legend .legend-relation{color:var(--atlas-muted);font-size:9px}.atlas-node:focus-visible{outline:none;filter:drop-shadow(0 0 5px #398bff)}.atlas-node:hover{filter:brightness(1.25)}.atlas-node text{font-family:"Microsoft YaHei",sans-serif}.atlas-light{--atlas-bg:#f7faff;--atlas-panel:#eaf1fc;--atlas-line:#dce6f3;--atlas-text:#375475;--atlas-muted:#6a81a0}.atlas-light .atlas-zoom .button{color:#37689d;background:#fff}.atlas-light .atlas-zoom output{color:#375475}
.enhanced-detail{border-left-color:#e0e8f3;background:#fff;max-height:1020px;padding:23px;top:12px}.detail-eyebrow{color:#8293aa;font-size:10px}.enhanced-detail .node-title{font-size:21px;line-height:1.6;color:#29476e}.node-tags span{color:#447ab9;background:#edf5ff;border:0;font-size:10px;padding:3px 7px}.enhanced-detail .node-desc{font-size:12px;color:#5f748e;line-height:2}.node-attribute-line{color:#889ab2;font-size:10px}.enhanced-detail h4{color:#375578;font-size:12px;font-weight:600}.enhanced-detail .detail-block p{color:#6c809a;font-size:12px}.enhanced-detail .detail-block small{font-size:10px;color:#7c8fa7}.enhanced-detail .detail-block .button{font-size:11px;color:#2b7ddd}.enhanced-detail .detail-block{border-color:#e6edf5}.semantic-relation>small{color:#8a9bb0}
.atlas-objectives{width:205px;flex:none;padding:18px 12px;background:var(--atlas-panel);border-right:1px solid var(--atlas-line);max-height:720px;overflow:auto}.atlas-objectives header{padding:2px 9px 14px}.atlas-objectives header>span{font-size:8px;letter-spacing:1px;color:var(--atlas-muted)}.atlas-objectives h3{font-size:16px;color:var(--atlas-text);margin:9px 0}.atlas-objectives header p{font-size:10px;color:var(--atlas-muted)}.atlas-objectives>button{display:block;width:100%;border:1px solid var(--atlas-line);border-radius:7px;background:transparent;padding:13px;text-align:left;margin-bottom:10px;color:var(--atlas-text)}.atlas-objectives>button.active{border-color:#398bff;background:#398bff10}.atlas-objectives small{font-size:9px;color:#78acfa}.atlas-objectives strong{font-size:13px;display:block;margin:8px 0}.atlas-objectives button p{font-size:10px;line-height:1.9;color:var(--atlas-muted)}
.atlas-main:has(.atlas-stage){background:var(--atlas-bg);align-self:stretch}.enhanced-detail{max-height:890px}.graph-display-tools{display:flex;gap:6px;flex:none}.graph-display-tools .button{background:#253247;border-color:#34445c;border-radius:20px;color:#c8daf2;font-size:10px;min-height:29px;padding:5px 11px}
@media(max-width:600px){.graph-kindbar{flex-wrap:wrap}.graph-kindbar>button{flex:1;justify-content:center}.graph-display-tools{width:100%;justify-content:flex-end;padding-top:4px}}
/* The three-stage question view uses the light card/connector language from the export. */
.problem-intro{background:#f5f9ff;border-color:#e3ebf8}.outline-head h3,.learning-map-intro h3{color:#31557d;font-size:17px}.outline-head p,.learning-map-intro p{color:#74869e;font-size:12px}.problem-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:28px 22px;min-height:570px;background-color:#fbfdff;background-image:radial-gradient(#cddcf244 .8px,transparent .8px);background-size:18px 18px}.problem-chain>section{border:0;padding:0;min-width:0;--question-color:#348bff}.problem-chain>section:nth-child(2){--question-color:#26bc9c}.problem-chain>section:nth-child(3){--question-color:#e9aa20}.problem-chain-label{gap:9px;margin:0 0 22px}.problem-chain-label>span{background:var(--question-color);color:#fff;font:600 18px Georgia,serif;border-radius:5px;width:26px;height:26px;text-align:center;line-height:26px}.problem-chain-label h4{color:#334b69;font-size:13px}.problem-chain-label small{font-size:9px;color:#8c9ab0;display:block;margin-top:5px}.problem-chain-item{position:relative;background:#fff;border:1px solid #e9eef7;border-left:3px solid var(--question-color);border-radius:6px;box-shadow:0 3px 7px #2e4f7a0b;padding:17px 15px;min-height:200px;margin-bottom:22px}.problem-chain-item.selected{outline:1px solid var(--question-color)}.problem-chain-item>small{color:#8c9db3}.problem-chain-item strong{font-size:14px;color:#2e445f;font-weight:500;line-height:1.8;margin:7px 0 9px}.problem-chain-item p{font-size:11px;color:#7a8a9e;line-height:1.9}.problem-chain-item>span{font-size:10px;color:#2b83ec;margin-top:13px;line-height:1.8}.problem-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:9px}.problem-tags em{font-style:normal;font-size:9px;color:#a77b17;background:#fff2c7;padding:1px 5px;border-radius:3px}.problem-tags em:nth-child(2){background:#dcf4e9;color:#3c906d}
.learning-map-intro{background:#f3f8ff}.learning-route{background:#fbfdff}.route-step-line{border-color:#a9c9f5}.route-step-line>span{border-color:#80b2f4;background:#eaf3ff;color:#357dd7}.learning-route-content{border-color:#dee9f6;border-radius:7px}.learning-route-content h4{color:#315a89;font-size:15px}.learning-route-content small{color:#5e92cc}.learning-route-content p{font-size:12px;color:#74869c}.route-footer>span{font-size:11px;color:#7c8fa8}.outline-groups>section>h4{color:#3074c4;border-color:#6ca7f2}.outline-root{border-color:#e0e9f4}.outline-child>span{color:#7e93ad}.graph-suite .table-wrap th{background:#f2f7ff;color:#597392}.graph-suite .table-wrap td{font-size:12px}.graph-suite .table-wrap td p{color:#8392a6;font-size:10px}
.course-roadmap{background:#0a1728;padding:26px 23px 36px;color:#e3ecfa;overflow:auto}.roadmap-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:35px;min-width:720px}.roadmap-heading strong{font-size:14px;font-weight:500}.roadmap-heading>span{color:#8296b3;font-size:10px}.roadmap-stations{display:flex;min-width:720px;position:relative;padding:10px 0}.roadmap-stations:before{content:"";position:absolute;left:6%;right:6%;top:30px;border-top:1px dashed #4b688d}.roadmap-station{flex:1;position:relative;min-width:90px;border:0;background:none;display:flex;align-items:center;flex-direction:column;gap:13px;color:#a1b4d0}.roadmap-dot{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:3px solid #0a1728;outline:1px solid #506986;background:#314966;font-size:11px;font-family:Consolas,monospace}.roadmap-station.available .roadmap-dot,.roadmap-station.in_progress .roadmap-dot{background:#2d83ed;outline-color:#4c9cff;color:#fff}.roadmap-station.completed .roadmap-dot{background:#238e74;outline-color:#41bc98;color:#fff}.roadmap-station strong{font-size:12px;font-weight:500;padding:6px 9px;background:#1b2b42;border-radius:4px}.roadmap-station small{font-size:9px;color:#7790b2}.roadmap-station:hover .roadmap-dot{outline:2px solid #6baeff}.graph-suite.atlas-dark .table-wrap{background:#0a1321;padding:8px 15px}.graph-suite.atlas-dark .table-wrap table{border-collapse:separate;border-spacing:0 7px}.graph-suite.atlas-dark .table-wrap th{background:#223148;color:#b3c6e0;border:0;font-weight:400}.graph-suite.atlas-dark .table-wrap td{background:#162337;color:#bdcde3;border:0}.graph-suite.atlas-dark .table-wrap td p{color:#7f99bc}.graph-suite.atlas-dark .table-wrap td .button{color:#65a8ff}.graph-suite.atlas-dark .table-wrap tbody tr:hover td{background:#1c2d45}
/* Keep the rescue console operationally distinct while unifying its course controls. */
.command-header{background:#123b70}.command-title h1{color:#fff}.command-title h1>span{color:#bed8f9}.command-title>.eyebrow{color:#89baf2}.command-title p{color:#bed1e8}.command-progress strong{color:#c8e4ff}.studio-mission{background:#f0f6ff;border-color:#dfeaf8}.studio-mission>strong{color:#3d6796}.studio-mission>span{color:#748eae}.studio-mission .button{color:#337ed3}.studio-rail{background:#f4f8fe;border-color:#e1eaf7}.studio-rail>button.active{background:#e8f2ff;color:#2874d6;box-shadow:inset 3px 0 #3789f9}.studio-rail small{color:#8194ad}.studio-stage-heading h2{color:#2b4e7a}.lab-task-card{background:#f4f8ff;border-color:#e0eafb;border-left-color:#5e9fe9}.lab-task-card h3{color:#406b9e}.lab-task-card dd{color:#6984a6}.lab-task-card dt{color:#8c9db5}.lab-task-card .eyebrow{color:#7795b9}.footer{color:#8291a5}
@media(min-width:1650px){.advanced-canvas{min-height:690px}.atlas-layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1200px){.atlas-layout{grid-template-columns:minmax(0,1fr) 270px}.atlas-toolbar .actions{gap:8px}.atlas-objectives{width:175px}.graph-kindbar>button{padding:11px 17px}.hero-copy h1{font-size:32px}.hero-copy h1>span{font-size:24px}.advanced-canvas svg{min-width:760px}.problem-chain{gap:14px;padding:22px 15px}.problem-chain-item{padding:14px 10px}}
@media(max-width:950px){.atlas-layout{grid-template-columns:1fr}.enhanced-detail{max-height:none;position:static}.advanced-canvas{min-height:540px}.graph-kindbar{gap:4px;padding:12px}.graph-kindbar>button{padding:11px 19px}.atlas-objectives{width:180px}.hero-copy h1{font-size:29px}.hero-copy h1>span{font-size:22px}.hero-copy>p{font-size:12px}}
@media(max-width:600px){.head-inner{height:76px}.main-nav button{font-size:12px;padding:13px 15px}.scenario-ribbon strong{font-size:10px}.brand-name{font-size:18px}.brand-field{font-size:12px}.rescue-hero{min-height:0}.hero-copy h1{font-size:31px}.hero-copy h1>span{font-size:23px}.hero-copy>p{font-size:12px}.hero-copy{padding:25px 23px 0}.hero-subject{font-size:11px}.hero-bottom{font-size:9px;gap:15px}.course-tabs{padding:14px;gap:12px}.course-tabs span{font-size:10px}.graph-kindbar{padding:10px 7px;gap:4px}.graph-kindbar>button{padding:10px 9px;font-size:11px;gap:3px}.graph-kindbar>button>small{font-size:9px;min-width:16px;padding:0 3px}.graph-counts span{font-size:9px}.graph-counts strong{font-size:23px}.graph-modebar{padding:12px 10px}.graph-mode-tabs{gap:2px}.graph-mode-tabs button{padding:6px 7px;font-size:10px}.atlas-toolbar{padding:12px}.atlas-toolbar .actions{flex-wrap:wrap;justify-content:flex-start;gap:10px}.compact-check{font-size:10px}.atlas-toolbar select{font-size:10px;width:145px}.atlas-graph-body{display:block}.atlas-objectives{width:auto;max-height:205px;border-right:0;border-bottom:1px solid var(--atlas-line);display:flex;gap:10px;overflow:auto;padding:14px}.atlas-objectives header{min-width:135px}.atlas-objectives>button{min-width:170px;margin:0}.advanced-canvas{min-height:570px;align-items:flex-start}.advanced-canvas svg{min-width:780px}.atlas-zoom{left:12px;bottom:15px}.atlas-zoom .button{font-size:10px;padding:5px 10px}.atlas-watermark{top:15px;left:17px;font-size:7px}.problem-chain{grid-template-columns:1fr;padding:23px 18px;gap:18px;min-height:0}.problem-chain>section{border-left:2px solid var(--question-color);padding-left:14px}.problem-chain-label{margin-bottom:15px}.problem-chain-item{min-height:0;margin-bottom:15px;padding:16px}.problem-chain-item strong{font-size:14px}.problem-chain-item p{font-size:12px}.graph-suite.is-expanded{inset:5px}.enhanced-detail{padding:21px}.enhanced-detail .node-title{font-size:20px}.learning-route-content h4{font-size:13px}.route-footer>span{font-size:10px}.graph-filter input,.graph-filter select{font-size:11px}}
