:root{--paper:#eef0e7;--ink:#132823;--forest:#173b35;--green:#2c6a55;--lime:#c9dc78;--orange:#ef8b51;--blue:#8fc8c2;--line:#b7c0b2;--muted:#60716b;--white:#fbfcf6;--content:1190px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:28px 28px}button,input{font:inherit}.progress-track{position:fixed;z-index:30;inset:0 0 auto;height:3px}.progress-track span{display:block;height:100%;width:0;background:var(--orange)}.topbar{height:52px;padding:0 max(22px,calc((100vw - var(--content))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.topbar a{text-decoration:none}.hero{max-width:var(--content);min-height:560px;margin:auto;padding:72px 42px 54px;display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:80px;background:var(--forest);color:var(--white);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 7% 18%,rgba(201,220,120,.12) 0 2px,transparent 3px),radial-gradient(circle at 73% 76%,rgba(143,200,194,.15) 0 3px,transparent 4px);background-size:52px 52px,81px 81px}.hero-copy{position:relative;z-index:1}.eyebrow{margin:0 0 18px;color:var(--lime);font:800 11px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:.16em}.hero h1,.recall-intro h2,.diagnosis-head h2{margin:0;font-family:"Noto Serif SC","Songti SC",serif;font-size:clamp(54px,7vw,96px);line-height:.97;letter-spacing:-.055em}.hero h1 em,.recall-intro h2 em{color:var(--lime);font-style:normal}.lead{max-width:690px;margin:29px 0 0;color:#d3dfd9;font-size:17px;line-height:1.9}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.hero-tags span{padding:8px 12px;border:1px solid rgba(255,255,255,.25);font-size:11px}.specimen{position:relative;width:285px;height:285px;border:1px solid rgba(201,220,120,.7);border-radius:50%;display:grid;place-content:center;text-align:center}.specimen:after,.specimen:before{content:"";position:absolute;background:var(--lime)}.specimen:after{width:1px;height:330px;left:50%;top:-23px}.specimen:before{height:1px;width:330px;top:50%;left:-23px}.specimen b{font:italic 92px/1 Georgia;color:var(--lime)}.specimen small{font:700 13px/1.7 "Noto Serif SC",serif;letter-spacing:.16em}.orbit{position:absolute;border:1px dashed rgba(143,200,194,.6);border-radius:50%}.orbit.one{inset:27px}.orbit.two{inset:-20px}.source-note{max-width:calc(var(--content) - 80px);margin:34px auto;padding:22px 25px;display:grid;grid-template-columns:115px 1fr;gap:24px;background:rgba(255,255,255,.53);border-left:5px solid var(--orange)}.source-note b{font-size:13px}.source-note p{margin:0;font-size:14px;line-height:1.8}.source-note strong{color:var(--green)}.view-tabs{max-width:var(--content);margin:0 auto 32px;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.view-tabs button{padding:18px 22px;display:grid;grid-template-columns:42px 1fr;text-align:left;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.view-tabs button:last-child{border-right:0}.view-tabs button span{grid-row:1/3;color:var(--green);font:italic 24px Georgia}.view-tabs button small{margin-top:4px}.view-tabs button.active{background:var(--forest);color:white}.view-tabs button.active span{color:var(--lime)}.view-panel{max-width:var(--content);margin:0 auto 100px}.map-toolbar{padding:22px 0 26px;border-bottom:1px solid var(--line)}.map-toolbar label{display:grid;grid-template-columns:120px minmax(220px,560px);align-items:center;gap:16px;font-size:12px;font-weight:700}.map-toolbar input{padding:12px 14px;border:1px solid var(--line);background:var(--white);outline:0}.map-toolbar input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(44,106,85,.12)}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.filters button{min-width:55px;padding:8px 11px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.filters button.active{background:var(--green);border-color:var(--green);color:white}.map-toolbar>p{margin:13px 0 0;color:var(--muted);font-size:11px}.map-layout{display:grid;grid-template-columns:210px 1fr;gap:52px;margin-top:45px}.map-layout aside{position:sticky;top:22px;align-self:start;max-height:90vh;overflow:auto}.map-layout aside>p{margin:0 0 12px;color:var(--green);font:800 10px ui-monospace,monospace;letter-spacing:.15em}.map-layout aside nav{display:grid}.map-layout aside a{padding:10px 0;display:grid;grid-template-columns:52px 1fr;gap:6px;border-bottom:1px dotted var(--line);text-decoration:none;font-size:12px}.map-layout aside b{color:var(--green)}.knowledge-section{scroll-margin-top:20px;margin-bottom:72px}.knowledge-section>header{display:grid;grid-template-columns:68px 1fr auto;gap:18px;align-items:start;padding:0 0 22px;border-bottom:3px solid var(--forest)}.knowledge-section>header>span{font:italic 25px Georgia;color:var(--green)}.knowledge-section h2{margin:0;font:700 clamp(28px,4vw,43px) "Noto Serif SC",serif}.knowledge-section header p{margin:8px 0 0;color:var(--muted);font-size:14px}.knowledge-section header small{color:var(--muted);font-size:11px}.knowledge-card{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:26px 12px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.25)}.card-index{padding-top:4px;color:var(--orange);font:italic 22px Georgia}.point-key{margin:0 0 5px;color:var(--green);font-size:12px;font-weight:800}.knowledge-card h3{margin:0 0 14px;font:700 21px "Noto Serif SC",serif}.knowledge-card ul{margin:0;padding-left:20px}.knowledge-card li{margin:8px 0;line-height:1.75;font-size:15px}.recall-intro,.diagnosis-head{min-height:330px;padding:52px 58px;display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:65px;background:var(--forest);color:white}.recall-intro h2,.diagnosis-head h2{font-size:clamp(44px,6vw,75px)}.recall-intro>p,.diagnosis-head>p{margin:0;color:#cddbd5;line-height:2}.recall-tools{padding:20px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.recall-tools .filters{margin:0}.recall-tools>button,.reset-quiz{padding:10px 15px;border:1px solid var(--line);background:transparent;cursor:pointer}.recall-tools>button.active{background:var(--orange);border-color:var(--orange);color:white}.recall-status{padding:18px 0;display:flex;gap:9px;overflow:auto}.recall-status span{flex:none;padding:7px 11px;border:1px solid var(--line);color:var(--muted);font-size:12px}.recall-status b{color:var(--ink);font-size:16px}.recall-status .bad{color:#a33e36;border-color:#ce8881}.recall-status .fuzzy{color:#8c691e;border-color:#c9aa66}.recall-status .good{color:#2c6a55;border-color:#79a893}#recall-card-wrap{min-height:530px;display:grid;place-items:start center}.recall-card{width:min(850px,100%);min-height:490px;padding:36px 43px 28px;background:var(--white);border:1px solid var(--line);box-shadow:13px 16px 0 rgba(23,59,53,.08);position:relative}.recall-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(44,106,85,.13);pointer-events:none}.recall-meta{position:relative;display:flex;justify-content:space-between;color:var(--green);font:800 10px ui-monospace,monospace;letter-spacing:.1em}.recall-page{margin:27px 0 8px;color:var(--muted);font-size:11px}.recall-card h3{margin:0;padding-bottom:20px;border-bottom:1px solid var(--line);font:700 clamp(23px,3vw,31px)/1.55 "Noto Serif SC",serif}.answer-sheet{min-height:150px;padding:24px 3px;font-size:19px;line-height:1.9}.answer-sheet p{margin:0;padding:17px 20px;background:#e8eedc;border-left:4px solid var(--green);animation:answer .25s ease both}@keyframes answer{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}.answer-lines{display:grid;gap:26px;padding-top:15px}.answer-lines i{border-bottom:1px dashed var(--line)}.reveal{width:100%;padding:15px;border:0;background:var(--green);color:white;font-weight:800;cursor:pointer}.reveal kbd{margin-left:13px;padding:3px 7px;border:1px solid rgba(255,255,255,.35);font-size:10px}.rating{padding:15px;background:#e5ead7;text-align:center}.rating p{margin:0 0 10px;font-size:12px}.rating button{margin:3px;padding:9px 13px;border:1px solid var(--line);background:var(--white);cursor:pointer}.last-score{text-align:center;color:var(--muted);font-size:11px}.recall-nav{margin-top:20px;display:flex;justify-content:space-between}.recall-nav button{border:0;background:transparent;color:var(--muted);cursor:pointer}.diagnosis-head .eyebrow{color:var(--orange)}.quiz-summary{padding:20px 0;display:flex;gap:10px;align-items:center}.quiz-summary span,.quiz-summary strong{padding:9px 13px;border:1px solid var(--line);font-size:12px}.quiz-summary b{font-size:18px}.quiz-summary strong{margin-left:auto;background:var(--forest);color:white}.quiz-item{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:30px 20px;border-top:1px solid var(--line);background:rgba(255,255,255,.25)}.quiz-number{color:var(--orange);font:italic 25px Georgia}.quiz-item h3{margin:0 0 18px;font:700 20px/1.6 "Noto Serif SC",serif}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quiz-options button{padding:12px;text-align:left;border:1px solid var(--line);background:var(--white);cursor:pointer}.quiz-options button span{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:8px;border-radius:50%;background:#e5eadf;color:var(--green);font-size:11px;font-weight:800}.quiz-options button:not(:disabled):hover{border-color:var(--green)}.quiz-options button.answer{border-color:var(--green);background:#dcebdd}.quiz-item.wrong{border-left:4px solid var(--orange)}.quiz-item.correct{border-left:4px solid var(--green)}.quiz-why{margin:15px 0 0;padding:14px 17px;background:#e5eadf;line-height:1.75;font-size:14px}.quiz-why b{display:block;color:var(--green)}.wrong .quiz-why b{color:#a34a2d}.reset-quiz{display:block;margin:25px auto}.empty{padding:50px;text-align:center;color:var(--muted)}footer{padding:23px max(22px,calc((100vw - var(--content))/2));display:flex;justify-content:space-between;background:var(--forest);color:#cddbd5;font-size:11px}
@media(max-width:800px){.topbar span{display:none}.hero{min-height:auto;padding:55px 24px;grid-template-columns:1fr}.specimen{display:none}.source-note{margin:22px 16px;grid-template-columns:1fr}.view-tabs{margin-inline:16px}.view-tabs button{padding:13px 8px;grid-template-columns:1fr;text-align:center}.view-tabs button span{display:none}.view-tabs button small{font-size:9px}.view-panel{margin-inline:16px}.map-toolbar label{grid-template-columns:1fr}.map-layout{grid-template-columns:1fr}.map-layout aside{display:none}.knowledge-section>header{grid-template-columns:53px 1fr}.knowledge-section header small{grid-column:2}.knowledge-card{grid-template-columns:38px 1fr;padding-inline:5px}.recall-intro,.diagnosis-head{padding:38px 24px;grid-template-columns:1fr;gap:30px}.recall-tools{flex-direction:column}.recall-card{padding:31px 22px}.quiz-options{grid-template-columns:1fr}.quiz-item{grid-template-columns:38px 1fr;padding-inline:5px}footer{flex-direction:column;gap:11px}}
@media(min-width:801px) and (max-width:1240px){.hero,.view-tabs,.view-panel{margin-inline:28px}.source-note{margin-inline:48px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.chapter-switch{max-width:var(--content);margin:18px auto;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.chapter-switch::-webkit-scrollbar{display:none}.chapter-switch a{flex:0 0 auto;padding:10px 14px;border:1px solid var(--line);color:var(--muted);text-decoration:none;font-size:12px}.chapter-switch a span{margin-right:8px;color:var(--green);font:italic 17px Georgia}.chapter-switch a.active{background:var(--forest);border-color:var(--forest);color:white}.chapter-switch a.active span{color:var(--lime)}.hero.chapter-two:before{background:radial-gradient(circle at 10% 20%,rgba(201,220,120,.13) 0 7px,transparent 8px),radial-gradient(circle at 75% 65%,rgba(143,200,194,.12) 0 15px,transparent 16px);background-size:87px 87px,131px 131px}.specimen.cell .orbit.one{inset:45px;border-style:solid}.specimen.cell .orbit.two{inset:-28px;border-style:dotted}@media(max-width:800px){.chapter-switch{margin-inline:16px}}@media(min-width:801px) and (max-width:1240px){.chapter-switch{margin-inline:28px}}
