:root{--ink:#173440;--muted:#516772;--teal:#096b70;--line:#d9e5e9;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f2f6f9;color:var(--ink);font:16px/1.75 system-ui,'Microsoft YaHei',sans-serif}a{color:var(--teal)}header{background:#092e3c;color:white;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px max(22px,calc((100% - 1200px)/2))}header a{color:inherit;text-decoration:none}nav{display:flex;gap:10px;flex-wrap:wrap}header nav a{padding:8px 14px}header a[aria-current]{background:#ffffff20;border-radius:8px}main{max-width:1200px;margin:auto;padding:28px 24px}h1{font-size:32px;line-height:1.35}h2{font-size:22px;line-height:1.5}h3{font-size:18px}h1,h2,h3{margin:8px 0 12px}p{margin:8px 0 16px}small,.badge,.source,footer{font-size:14px;color:var(--muted)}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.hero p{color:var(--muted)}button,.button{display:inline-block;font:inherit;border:1px solid var(--line);background:#fff;color:var(--teal);border-radius:10px;padding:10px 16px;text-decoration:none;cursor:pointer;text-align:left}button:disabled{cursor:default;opacity:.65}.primary,button[aria-pressed=true]{background:var(--teal);color:#fff;border-color:var(--teal)}a:focus-visible,button:focus-visible{outline:3px solid #d69a24;outline-offset:3px}.progressPanel{background:white;padding:18px 22px;border:1px solid var(--line);border-radius:16px;margin:20px 0}.progressPanel>div{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.progressPanel b{font-size:24px}.progressPanel span,#sync{font-size:14px;color:var(--muted)}progress{width:100%;height:12px;accent-color:var(--teal)}#sync{margin:4px 0}#map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.region{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;min-width:0}.regionHead{display:flex;gap:16px;align-items:center}.regionHead>div{flex:1}.regionHead p{font-size:14px;margin:0;color:var(--muted)}.regionNumber{font-size:28px;font-weight:800;color:var(--teal);border-bottom:3px solid #dfa950}.skills{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.skills span{font-size:14px;padding:3px 9px;background:#edf4f7;border-radius:6px}.nodes{list-style:none;padding:0;margin:0;display:grid;gap:16px}.nodes li{position:relative}.nodes li+li:before{content:'';position:absolute;top:-17px;left:31px;height:18px;border-left:3px solid #bdd4dc}.nodes a{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:inherit;min-width:0}.nodes a>div{flex:1;min-width:0}.nodes a:hover{border-color:var(--teal);background:#f2fafa}.nodes h3{margin:4px 0}.nodes small,.nodes a>div>span{font-size:14px;color:var(--muted)}.nodeIcon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#123e50;color:white;font-weight:700}.done .nodeIcon{background:var(--teal)}.locked .nodeIcon{background:#dfe8ec;color:#536a74}.done a{border-color:#8fbbba;background:#f5fbfa}#lesson{background:#fff;border:1px solid var(--line);padding:28px;border-radius:20px}.lessonTitle{max-width:850px;margin:20px 0}.tabs{border-bottom:1px solid var(--line);padding-bottom:14px;margin:20px 0}.flow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.flow span{padding:7px 12px;background:#e8f2f6;border-radius:8px;font-size:14px}.theoryGrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.theoryGrid section{padding:20px;background:#f4f7fa;border-radius:12px}.theoryGrid p{margin:0}.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare section{padding:24px;border-top:4px solid #c28b53;background:#f6f8fa}.compare section+section{border-color:var(--teal)}blockquote{margin:16px 0;padding:12px 18px;border-left:3px solid #78a8ad;background:#edf5f6}.fieldTask{padding:20px;background:#eef5f8;border-radius:12px;margin:20px 0}.challenge{max-width:800px;margin:24px auto}.choices{display:grid;gap:14px}.choices button:hover{border-color:var(--teal)}#answer:not(:empty){padding:20px;background:#edf4f7;margin-top:18px;border-radius:12px}.passed{max-width:800px;margin:30px auto;padding:25px;background:#edf6f4;border-radius:18px}.seal{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--teal);color:white;font-size:28px}.passed .button{margin:8px 8px 8px 0}.source{margin-top:30px;border-top:1px solid var(--line);padding-top:14px}#nextPane{margin-top:22px}footer{margin:32px 0}button,a{overflow-wrap:anywhere}@media(max-width:800px){#map,.theoryGrid,.compare{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.region{padding:18px}main{padding:20px 14px}#lesson{padding:18px}h1{font-size:27px}.regionHead{gap:12px}header{padding:16px}header nav{gap:3px}}@media(prefers-reduced-motion:no-preference){.nodes a{transition:background .15s,border-color .15s}}

/* Learning journey visual refinement */
body{background:radial-gradient(ellipse at 95% 0,#dfeefa 0,transparent 40%),#f5f7fb}
header{background:white;color:#183248;border-bottom:1px solid #e0e7ee}header a[aria-current]{background:#e4f2ef;color:#076b66;font-weight:700}header nav a:hover{background:#edf3f8;border-radius:8px}
main{max-width:1240px;padding-top:30px}.hero{background:linear-gradient(115deg,#10344a,#155b64);border-radius:24px;padding:28px 30px;color:white;gap:28px}.hero>div{min-width:0;flex:1}.hero h1{font-size:clamp(26px,2.8vw,35px);letter-spacing:-.02em}.hero small{color:#a8dcd9;letter-spacing:.08em}.hero p{color:#d4e7ee;margin-bottom:0}#continue{background:#fff;color:#10575c;border:0;max-width:280px;box-shadow:0 6px 20px #001e2825;flex-shrink:0;font-weight:650;padding:14px 18px}
.progressPanel{padding:18px 24px;border-radius:16px;box-shadow:0 4px 18px #17364b05}.progressPanel b{color:#087b75}.progressPanel>div{justify-content:space-between}.progressPanel progress{height:10px;border:0;border-radius:10px;overflow:hidden;appearance:none}.progressPanel progress::-webkit-progress-bar{background:#e8eef3}.progressPanel progress::-webkit-progress-value{background:linear-gradient(90deg,#0b8b81,#3b9bad);border-radius:10px}
#groups{background:#e9eff5;padding:6px;border-radius:13px;width:fit-content}#groups button{background:transparent;border-color:transparent;border-radius:9px;color:#435e71;padding:8px 13px;font-size:14px}#groups button[aria-pressed=true]{background:#fff;color:#075f5c;box-shadow:0 2px 8px #17364b12;font-weight:700}
#status{font-size:14px;color:#526b7d;margin:16px 0}#map{gap:24px}.region{--region:#3d6bb2;border-radius:22px;border-color:#e0e7ef;box-shadow:0 6px 22px #17364b06;padding:26px;border-top:4px solid var(--region)}
.region:nth-child(2){--region:#177f7a}.region:nth-child(3){--region:#8762a8}.region:nth-child(4){--region:#a66a24}.region:nth-child(5){--region:#356f93}.region:nth-child(6){--region:#727d3b}
.regionNumber{border:0;background:color-mix(in srgb,var(--region) 10%,white);border-radius:15px;display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;font-size:24px;color:var(--region)}.regionHead> b{font-size:14px;color:#526b7d;border:1px solid #e1e8ef;padding:4px 10px;border-radius:20px;white-space:nowrap}
.regionHead h2{margin:0 0 4px;font-size:23px}.skills{gap:6px;margin:18px 0}.skills span{font-size:13px;border:1px solid #e4eaf0;background:#f8fafc;color:#4f6574}
.nodes a{background:#fbfcfe;border:1px solid #dfe7ef;padding:17px 15px;border-radius:14px}.nodes .ready a{background:#f4f8fc;border-color:#c8d9e8}.nodeIcon{width:40px;height:40px;flex-basis:40px;background:var(--region);box-shadow:0 0 0 5px #eef3f8}.nodes li+li:before{left:35px;border-left:2px dashed #b6cbd9}.nodes h3{font-size:18px;line-height:1.5}.nodes a>div>span{font-size:13px}.nodes .done a{background:#f0f8f5;border-color:#a9cfc1}.nodes .done .nodeIcon{background:#087e70;box-shadow:0 0 0 5px #e0f1eb}.nodes .locked .nodeIcon{box-shadow:none}
#lesson{padding:30px;border-radius:22px;box-shadow:0 10px 30px #17364b07}.lessonTitle{max-width:950px}.lessonTitle>p{color:#526b7d}.badge{display:inline-block;padding:5px 12px;border-radius:20px;background:#e9f3f4;color:#176770}.tabs{gap:10px;padding-bottom:18px}.tabs button{border-radius:10px}
.theoryGrid section{background:#f7f9fc;border:1px solid #e4eaf2;border-radius:16px;padding:24px}.theoryGrid section small{color:#3e718a}.theoryGrid p{line-height:1.95}.theoryGrid h2{font-size:21px}.compare section{border-radius:14px}.choices button{padding:17px 20px;line-height:1.8;border-radius:13px;background:#f9fbfd}.choices button:hover{background:#edf5f5}.challenge>small{display:inline-block;padding:5px 12px;border-radius:20px;background:#eaf2f8}.challenge h2{margin:20px 0}.passed{border:1px solid #b7d8ce;background:linear-gradient(140deg,#edf8f3,#f5fafc);padding:30px}.seal{box-shadow:0 0 0 8px #dcefe7;margin:8px 0 24px}footer{line-height:1.8}
@media(prefers-reduced-motion:no-preference){.nodes a{transition:transform .16s,box-shadow .16s,background .16s}.nodes a:hover{transform:translateX(3px);box-shadow:0 6px 16px #17364b0b}}
@media(max-width:800px){.hero{padding:24px;gap:20px}#continue{max-width:100%;width:100%}.region{padding:20px}.theoryGrid section{padding:20px}#lesson{padding:20px}#groups{width:100%}#groups button{flex:1 0 auto}.progressPanel>div{justify-content:flex-start}.regionHead h2{font-size:21px}.regionNumber{width:46px;height:46px}.nodes a{gap:12px}}
