:root{--navy:#132f3e;--ink:#173743;--teal:#087e86;--cyan:#c9edf0;--gold:#ecb74d;--paper:#f8fbfc;--line:#ccdde2;--muted:#536e78;--red:#a44327}*{box-sizing:border-box}body{margin:0;background:#eaf1f4;color:var(--ink);font:16px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button{border:1px solid var(--line);border-radius:12px;padding:10px 17px;background:white;color:var(--ink);line-height:1.5}button:hover{border-color:var(--teal);background:#eaf7f7}button.primary{background:var(--teal);border-color:var(--teal);color:white;font-weight:700}button.gold{background:var(--gold);border-color:var(--gold);color:#172e39;font-weight:700}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #df961e;outline-offset:3px}a{color:var(--teal)}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.45}h2{font-size:25px;line-height:1.5}h3{font-size:19px;line-height:1.5}p+p{margin-top:14px}.small{font-size:14px;color:var(--muted)}.meta{font-size:13px;color:var(--muted)}.tag{font-size:14px;color:var(--teal);font-weight:700;letter-spacing:.05em}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row{display:flex;justify-content:space-between;gap:18px;align-items:center}.hide{display:none!important}header{position:sticky;top:0;background:var(--navy);color:white;z-index:20;padding:13px max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 3px 16px #142d3b18}header .brand{font-size:20px;font-weight:800;letter-spacing:.05em;white-space:nowrap}header button{background:transparent;color:white;border-color:#607781;font-size:14px;padding:8px 12px}header button:hover{background:#254e60;color:white}header a{color:#f6d58f;font-size:14px;text-decoration:none}.brand small{font-size:13px;font-weight:400;color:#bfd7dd;letter-spacing:0;margin-left:9px}main{max-width:1180px;margin:auto;padding:30px 24px 60px}.start-panel{display:grid;grid-template-columns:1.1fr 1fr;background:var(--navy);color:white;border-radius:22px;overflow:hidden;min-height:240px;margin-bottom:27px;box-shadow:0 16px 35px #15344413}.start-copy{padding:30px}.start-copy h1{font-size:31px;margin:8px 0 14px}.start-copy p{color:#d2e3e9;margin-bottom:20px}.start-panel img{width:100%;height:100%;max-height:310px;object-fit:cover;object-position:center 48%}.counterline{display:flex;gap:22px;flex-wrap:wrap;margin:22px 0}.counter{display:flex;gap:8px;align-items:baseline}.counter strong{font-size:26px}.counter span{font-size:14px;color:var(--muted)}.section-top{margin:28px 0 18px}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.chapter-tile{text-align:left;padding:20px;border-radius:18px;min-height:172px;position:relative;background:var(--paper);border-top:4px solid #78b4bd}.chapter-tile.complete{border-top-color:var(--gold)}.chapter-tile:hover{transform:translateY(-2px);box-shadow:0 8px 22px #173d4b12}.chapter-tile h3{margin:10px 0 14px;min-height:57px;padding-right:16px}.chapter-tile .number{font-size:14px;font-weight:800;color:var(--teal)}.chapter-tile .stamp{position:absolute;right:15px;top:15px;color:#9e701a;font-size:22px}.mini-bar{height:6px;background:#dfe9ec;border-radius:8px;overflow:hidden;margin:11px 0 8px}.mini-bar span{display:block;height:100%;background:var(--teal);transition:width .3s}.notice{padding:12px 17px;background:#fff0cc;border-radius:12px;margin:15px 0}.footer{margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}details{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-top:18px;padding:16px 20px}summary{cursor:pointer;font-weight:700}details .actions{margin:14px 0}.lesson-head{display:grid;grid-template-columns:1fr auto;gap:20px;margin-bottom:22px}.lesson-head h1{margin:6px 0 8px;font-size:30px}.back{padding:7px 13px;font-size:14px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tabs button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:23px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:27px;box-shadow:0 6px 25px #213f4a06}.scene{padding:19px 22px;background:#e1f0f2;border-left:4px solid var(--teal);border-radius:0 13px 13px 0;line-height:1.95;font-size:17px;margin:19px 0}.scene strong{display:block;font-size:14px;letter-spacing:.1em;color:var(--teal);margin-bottom:5px}.story-content{font-size:19px;line-height:2.15;margin:22px 0;min-height:180px}.story-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:20px}.dots{display:flex;gap:8px}.dot{width:28px;height:28px;padding:0;border-radius:50%;font-size:13px}.dot.active{background:var(--teal);color:white}.side-note{background:var(--navy);color:#d8e9ed;padding:23px;border-radius:18px}.side-note h3{color:#f4ca72;margin-bottom:12px}.side-note p{font-size:15px;line-height:1.9}.side-note .small{color:#bfd7dd;margin-top:16px}.side-note .mini-bar{background:#48616c}.side-note .mini-bar span{background:var(--gold)}.memory{background:#e5f3ed;border:1px solid #bfdccd;border-radius:14px;padding:18px 21px;margin:20px 0}.diagram{background:#e1f0f2;padding:21px;border-radius:17px;margin:20px 0}.diagram h3{margin-bottom:18px}.diagram-nodes{display:grid;grid-template-columns:repeat(var(--columns,3),minmax(0,1fr));gap:13px}.diagram-node{background:white;border:1px solid #bed8dd;border-radius:12px;padding:17px 12px;position:relative;text-align:center}.diagram-node:not(:last-child):after{content:'→';position:absolute;right:-14px;top:41%;color:var(--teal);font-size:18px;z-index:1}.diagram-node strong{font-size:16px;color:var(--teal)}.diagram-node p{font-size:14px;margin-top:8px;line-height:1.7}.diagram-caption{font-size:14px;margin-top:16px;color:var(--muted)}.flash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flash{background:white;border:1px solid var(--line);padding:18px;text-align:left;min-height:106px;border-radius:13px}.flash b{display:block;color:var(--teal);font-size:16px}.flash span{display:block;font-size:15px;margin-top:8px}.flash.closed span{color:var(--muted)}.retell{padding-left:22px}.retell li{margin:12px 0}.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:20px 0}.stage{padding:20px;text-align:left;border-radius:14px;background:white}.stage b{display:block;font-size:19px}.stage .star{color:#a57620;font-size:24px;float:right}.practice-wrap{max-width:880px;margin:auto}.question-text{font-size:21px;line-height:3.05;margin:25px 0;overflow-wrap:anywhere}.blank{display:inline-block;font-size:19px;line-height:1.7;color:var(--ink);background:#eaf5f5;border:0;border-bottom:2px solid var(--teal);border-radius:5px 5px 0 0;text-align:center;padding:3px 8px;margin:0 3px;min-width:80px;max-width:100%}.blank.bad{border-color:var(--red);background:#fff1e7}.blank.good{border-color:#2b8764}.hint{background:#fff0cc;border-left:4px solid var(--gold);padding:15px 18px;border-radius:0 12px 12px 0;margin:18px 0}.feedback{padding:20px;border-radius:13px;margin:20px 0;background:#e1f2e8}.feedback.wrong{background:#fff0dc}.answer-row{display:flex;gap:10px;align-items:baseline;border-bottom:1px solid #bdd8cb;padding:6px 0}.answer-row b{font-size:14px;min-width:30px}.answer-row span{font-weight:700}.feedback p{font-size:15px;margin-top:12px}.round-dots{display:flex;gap:8px;margin:16px 0}.round-dots span{width:23px;height:7px;background:#c6d8de;border-radius:10px}.round-dots span.done{background:var(--teal)}.round-dots span.current{background:var(--gold)}.finish{text-align:center;padding:40px 25px}.medal{width:88px;height:88px;display:grid;place-items:center;border:3px solid #d6a745;background:#f9dfa1;color:#8d6318;border-radius:50%;margin:0 auto 23px;font-size:40px;box-shadow:0 0 0 7px #f1e8ce}.finish h2{font-size:29px;margin-bottom:15px}.finish p{margin:12px auto;max-width:570px}.finish .actions{justify-content:center;margin-top:22px}.review-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.review-list .panel p{margin:14px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--navy);color:white;border-radius:20px;padding:12px 22px;z-index:100;box-shadow:0 5px 20px #122f3e33}.inline-check{display:flex;align-items:center;gap:9px;font-size:15px;margin:15px 0}.inline-check input{width:18px;height:18px}.empty{padding:40px;text-align:center}.error{color:var(--red)}@media(max-width:950px){.lesson-layout{grid-template-columns:1fr}.side-note{display:none}.map-grid{grid-template-columns:1fr 1fr}.start-panel img{max-height:320px}header .brand small{display:none}}@media(max-width:650px){header{position:static;padding:13px 16px;flex-wrap:wrap;gap:10px}header .actions{gap:7px}header a{font-size:13px}main{padding:19px 16px 45px}.start-panel{grid-template-columns:1fr}.start-copy{padding:23px}.start-copy h1{font-size:27px}.start-panel img{height:185px;object-position:center 44%}.map-grid{grid-template-columns:1fr}.chapter-tile{min-height:140px}.chapter-tile h3{min-height:0;margin-bottom:8px}.panel{padding:21px}.lesson-head{grid-template-columns:1fr}.lesson-head h1{font-size:25px}.story-content{font-size:18px;line-height:2}.flash-grid,.review-list{grid-template-columns:1fr}.diagram-nodes{grid-template-columns:1fr 1fr}.diagram-node:after{display:none}.stage-grid{grid-template-columns:1fr}.question-text{font-size:19px}.row{align-items:flex-start}.brand{font-size:18px!important}.story-nav{flex-wrap:wrap}.counterline{gap:14px}.counter strong{font-size:23px}h2{font-size:23px}.scene{font-size:16px}.question-text .blank{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.diagram-nodes.parallel .diagram-node:after{display:none}
