.route-root{max-width:1100px;margin:0 auto;color:#2c2a35}.route-root h1,.route-root h2,.route-root h3{font-family:Georgia,'Times New Roman',serif;font-weight:600;line-height:1.22}.route-root p,.route-root li{line-height:1.8}.route-welcome{max-width:800px;margin:15px 0 35px}.route-welcome h1{font-size:clamp(2rem,4vw,3.4rem);max-width:22ch}.route-welcome>p{font-size:1.08rem;color:#625c68}.route-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.route-topic{border:1px solid #d8d0c5;border-radius:22px;overflow:hidden;background:#fffdf8}.route-topic>img{width:100%;aspect-ratio:3/1.65;object-fit:cover;display:block}.route-topic-body{padding:28px}.route-topic-body h2{font-size:1.9rem;margin:12px 0}.route-progress-label{font-size:.85rem;color:#65596e}.route-root progress{width:100%;height:8px;accent-color:#74528e;display:block;margin:14px 0 25px}.route-topic .btn{display:block;text-align:center}.route-roadmap{list-style:none;padding:0 28px;margin:0}.route-roadmap li{display:flex;gap:15px;align-items:flex-start;border-top:1px solid #e5ded5;padding:20px 0;margin:0}.route-roadmap li>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#ede6f2;color:#62477b;font-weight:bold}.route-roadmap li.done>span{background:#dcece3;color:#285c47}.route-lesson-link{font-size:1rem;color:#322b3c;font-weight:650;text-decoration:none}.route-roadmap small{display:block;color:#7c7181;font-size:.75rem;margin-top:5px}.route-end-links{border-top:1px solid #ded6cc;display:flex;justify-content:space-between;padding:20px 28px;gap:16px;flex-wrap:wrap}.route-location{display:flex;gap:15px;align-items:center;justify-content:space-between;color:#73667c;font-size:.85rem}.route-location a{color:#735186}.route-where h1,.route-where h2{font-size:clamp(1.9rem,3.6vw,3rem);margin:22px 0;max-width:28ch}.route-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid #d9cfdf;border-radius:13px;overflow:hidden;margin:28px 0}.route-steps a{padding:14px 9px;text-decoration:none;background:#fffdfa;color:#716978;font-size:.76rem;text-align:center;line-height:1.5;border-right:1px solid #e1d8e5;display:flex;align-items:center;justify-content:center;gap:8px}.route-steps a:last-child{border:0}.route-steps a>span{border-radius:50%;width:23px;height:23px;display:grid;place-items:center;background:#eee8f2;flex-shrink:0}.route-steps a.current{background:#443052;color:#fff}.route-steps a.current span{background:#735c84}.route-steps a.visited{color:#326249}.route-scene{margin:24px 0;border:1px solid #d5cdbf;border-radius:20px;overflow:hidden;background:#fffdf8;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}.route-scene>a{display:block;height:100%;min-height:250px}.route-scene img{display:block;width:100%;height:100%;object-fit:cover}.route-scene figcaption{padding:28px}.route-scene h3{font-size:1.45rem;margin:13px 0}.route-scene p{font-size:.95rem}.route-credit{display:block;color:#7a6e7a;font-size:.75rem;margin-top:15px}.route-goal{background:#ece7f0;border-left:4px solid #8c6aa5;padding:22px 25px;border-radius:8px}.route-goal p{font-size:1.15rem;margin:10px 0 0}.route-content{padding:0}.route-reading-count{font-size:.85rem;color:#75667b;margin:25px 0}.route-content .stage-spread{margin:20px 0;border:1px solid #ddd3c6;border-radius:20px;background:#fffdf8;padding:28px}.route-content .stage-spread>h2{font-size:1.8rem}.route-content .stage-copy{max-width:70ch}.route-content .stage-copy p{font-size:1.03rem;line-height:1.9}.route-content .stage-visual .rich-figure{margin:0}.route-content .stage-visual{max-width:100%}.route-content .takeaway{margin:20px 0 0}.route-next{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;margin:12px 0 25px;border-top:1px solid #ddd2e3}.route-next>.btn{max-width:75%;text-align:center}.route-next>.text-link{font-size:.85rem;color:#76568b}.route-panel{border:1px solid #dad2c6;border-radius:18px;background:#fffdf8;padding:30px;margin:24px 0}.route-panel h2{font-size:1.9rem}.route-essentials{background:#fffdf8;padding:26px;border-radius:18px;border:1px solid #ddd4c8}.route-essentials ul{margin-bottom:0}.route-essentials li{margin:15px 0}.route-tasks{list-style:none;padding:0}.route-tasks li{border-top:1px solid #ded3e4;padding:25px 0}.route-tasks li h3{font-size:1.25rem;margin:12px 0 20px}.route-task-state{font-size:.85rem;color:#5d7162}.route-checklist{list-style:none;padding:0}.route-checklist li{display:flex;gap:14px;margin:13px 0}.route-checklist span{color:#387759;font-size:1.2rem}.route-extras{border-top:1px solid #d8cec1;padding:22px 0;margin-top:25px;color:#726776}.route-extras summary{cursor:pointer;font-size:.9rem;font-weight:650}.route-extras .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.route-review{border-left:4px solid #be9b44;background:#fcf3dd;border-radius:10px;padding:22px;margin:25px 0}.route-review h2{margin-top:0}.route-task-hint{padding:20px;border-top:1px solid #d8cbe1;color:#74617c;font-size:.9rem}.route-root .btn{background:#73538e}.route-root .btn.secondary{background:#eee7f2;color:#63437a;border-color:#d5c4e0}.route-root a:focus-visible,.route-root button:focus-visible{outline:3px solid #745593;outline-offset:4px}.route-root *{box-sizing:border-box}.route-root a{overflow-wrap:anywhere}.route-root .study-chain{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.route-root .study-chain li{box-shadow:none;border-radius:12px;padding:18px;background:#fffdf8}.route-root .study-causal{background:#efeaf3;border:1px solid #d3c5dd}.route-root .study-chain h3{font-family:Georgia,serif;font-size:1.15rem}.route-root .study-takeaway{background:#e8eee7}.study-root h1,.study-root h2,.study-root h3{font-family:Georgia,'Times New Roman',serif}.study-root .study-scene{width:42%;max-width:330px}.study-root .study-scene figcaption{font-size:.86rem;line-height:1.7;color:#514955}.study-root .study-scene img{border-radius:12px}.study-root .page-heading{margin-top:20px}.study-root .study-solution>.actions>a{display:none}.study-root .study-storage{margin-top:25px}.learning-scene.scene-v3{background:#fffdf8;border-color:#d8cdbf}.learning-scene.scene-v3 h3{font-family:Georgia,serif}.gallery-scene-card h3{font-family:Georgia,serif}.gallery-scene-card p{line-height:1.75}.route-content .analysis-v3{font-size:.9rem}.route-content .historical-people{margin:25px 0}
@media(max-width:1000px){.route-topic-grid{grid-template-columns:1fr}.route-topic{display:block}.route-scene{grid-template-columns:1fr}.route-scene>a{min-height:0}.route-scene img{height:auto}.route-scene figcaption{padding:23px}.route-root .study-chain{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.route-steps{grid-template-columns:repeat(5,minmax(0,1fr));border-radius:10px}.route-steps a{font-size:.59rem;padding:9px 3px;display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.route-steps a>span{width:21px;height:21px}.route-next{flex-direction:column-reverse;align-items:stretch;gap:18px}.route-next>.btn{max-width:100%;width:100%;white-space:normal}.route-next>.text-link{text-align:center}.route-topic-body,.route-panel{padding:21px}.route-roadmap{padding:0 21px}.route-topic>img{aspect-ratio:3/2}.route-where h1,.route-where h2{font-size:2rem}.route-welcome h1{font-size:2.1rem}.route-root .study-chain{grid-template-columns:1fr}.route-content .stage-spread{padding:18px}.route-content .stage-copy p{font-size:1rem}.route-location{font-size:.75rem}.study-root .study-scene{width:100%;max-width:100%}.route-scene figcaption{padding:21px}.route-goal{padding:20px}.route-goal p{font-size:1.02rem}.route-root .study-causal{padding:18px}.route-extras .btn{width:100%;white-space:normal}}
@media print{.route-steps,.route-next,.route-extras{display:none}.route-topic-grid{display:block}.route-root .study-chain{grid-template-columns:1fr 1fr}.route-content .stage-spread{border:0;padding:0}}
.route-scene>a{height:auto;min-height:0}.route-scene img{height:auto;object-fit:contain}.route-root .route-scene{align-items:center}.route-task-state{display:block}.study-scene small{display:block;font-size:.72rem;color:#7b6c7c;margin-top:10px}
.route-topic>img{object-position:center bottom}@media(max-width:600px){.route-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.route-steps a{font-size:.75rem;padding:10px 6px}.route-where h1,.route-where h2{font-size:1.75rem}}
