:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#263c33;background:#faf9f5;font-synthesis:none;text-rendering:optimizeLegibility;line-height:1.75;--green: #245c47;--muted: #63716a;--line: #e3e6de}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #bc8437;outline-offset:5px}.main:focus{outline:none}.skip_link{position:fixed;top:-100px;left:20px;background:#fff;padding:12px;z-index:10}.skip_link:focus{top:12px}.site_header{max-width:1160px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:23px;font-weight:750;white-space:nowrap}.brand span{font-weight:400;margin-left:5px}.site_header nav{display:flex;gap:28px;font-size:15px;color:var(--muted)}.site_header nav a{padding:6px 0;border-bottom:2px solid transparent}.site_header nav a.active{color:var(--green);border-color:var(--green)}.main{max-width:1100px;margin:auto;padding:56px 32px 80px;min-height:70vh}h1{font-size:clamp(30px,4.6vw,54px);line-height:1.3;letter-spacing:-.03em;margin:12px 0 22px;max-width:18em}h2{font-size:21px;line-height:1.5;margin:12px 0}p{margin:10px 0}.eyebrow{font-size:13px;color:var(--green);font-weight:600;letter-spacing:.06em}.lead{color:var(--muted);font-size:18px;max-width:36em}.hero{padding:28px 0 56px}.hero h1{font-size:clamp(40px,6vw,68px)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:24px;justify-content:center;padding:12px 22px;border-radius:10px;background:var(--green);color:#fff;font-size:15px;font-weight:600}.button:hover{background:#194a38}.button.secondary{background:#edf3ed;color:var(--green)}.text_link{color:var(--green);font-size:15px}.text_link:hover{text-decoration:underline}.feature_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.card p{color:var(--muted)}.course_card{transition:border-color .15s}.course_card:hover{border-color:var(--green)}.course_card .text_link{display:inline-block;margin-top:12px}.status_note{color:var(--muted);font-size:14px;border-left:3px solid #c8d7c7;padding-left:16px;margin-top:32px;max-width:52em}.page_label{margin-top:30px}.empty_state{padding:40px;margin-top:32px;max-width:760px}.empty_state p{max-width:36em}.empty_state .button{margin-top:18px}.reading_list{display:grid;gap:12px;margin-top:32px}.reading_row{display:grid;grid-template-columns:70px 1fr 20px;gap:12px;align-items:center;padding:20px 24px}.reading_row span{color:var(--muted);font-size:14px}.reading_row:hover{border-color:var(--green)}.site_footer{max-width:1100px;margin:auto;border-top:1px solid var(--line);padding:24px 32px 32px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}@media(max-width:700px){.site_header{padding:20px;flex-direction:column;align-items:flex-start;gap:14px}.site_header nav{gap:22px;flex-wrap:wrap}.main{padding:32px 20px 52px}.hero{padding:12px 0 36px}.feature_grid,.course_grid{grid-template-columns:1fr}.card,.empty_state{padding:24px}.lead{font-size:17px}.reading_row{grid-template-columns:55px 1fr 16px;padding:18px}.site_footer{padding:24px 20px}}.progress_note,.source_note{color:var(--muted);font-size:14px}.classroom_layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:48px;align-items:start}.lesson_sidebar{position:sticky;top:24px}.lesson_sidebar h2{font-size:17px;margin:24px 0 16px}.lesson_sidebar nav{display:grid;gap:6px}.lesson_sidebar nav a{padding:12px;display:flex;gap:10px;font-size:14px;border-radius:8px;color:var(--muted)}.lesson_sidebar nav a[aria-current]{background:#eaf1e9;color:var(--green);font-weight:600}.short_lesson h1{font-size:clamp(28px,3.5vw,40px)}.lesson_goal{color:var(--muted);font-size:16px}.lesson_section{margin:36px 0}.lesson_section p{font-size:18px;line-height:1.95}.lesson_section blockquote{margin:24px 0 0;padding:18px 22px;border-left:3px solid var(--green);background:#edf3ed;font-size:18px}.choice_tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.choice_tabs button,.answer_options button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:#fff;color:var(--green);text-align:left}.choice_tabs button[aria-pressed=true],.answer_options button[aria-pressed=true]{border-color:var(--green);background:#eaf1e9}.flow_nodes{list-style:none;padding:0;display:flex;gap:12px;margin:24px 0}.flow_nodes li{flex:1;padding:18px 12px;border:1px solid #d0dfce;background:#f1f6ef;border-radius:12px;font-size:15px;animation:reveal_node .3s ease-out both}.flow_nodes li:nth-child(2){animation-delay:.08s}.flow_nodes li:nth-child(3){animation-delay:.16s}.node_number{display:block;color:var(--green);font-size:12px;margin-bottom:8px}.interaction .choice_explanation{color:#263c33;font-size:17px;min-height:6em}.interaction small{color:var(--muted)}.answer_options{display:grid;gap:12px;margin-top:20px}.answer_feedback{padding:16px;background:#fff5df;border-radius:10px}.answer_feedback.correct{background:#eaf1e9}.lesson_bottom{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:32px;flex-wrap:wrap}button.button{border:0;cursor:pointer}button.button:disabled{background:#eaf1e9;color:var(--green);cursor:default}.source_note{margin-top:30px}.source_note a{display:inline-block;margin-left:8px}.reading_content{max-width:760px}.table_scroll{overflow-x:auto;margin-top:8px;-webkit-overflow-scrolling:touch}.extract_table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}.extract_table th,.extract_table td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;line-height:1.7}.extract_table thead th{background:#edf3ed;color:var(--green);white-space:nowrap}.extract_table tbody th{background:#f7f9f6;font-weight:600}.review_controls{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin:28px 0}.review_controls select{display:block;font:inherit;color:var(--green);max-width:100%;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px}.review_controls .review_filter{margin:0}.review_filter{display:flex;align-items:center;gap:10px;margin:28px 0}.review_filter input{accent-color:var(--green);width:18px;height:18px}.review_list{display:grid;gap:20px;max-width:760px}.review_list details{margin:18px 0}.review_list summary{color:var(--green);cursor:pointer}@keyframes reveal_node{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.classroom_layout{grid-template-columns:1fr;gap:28px}.lesson_sidebar{position:static}.lesson_sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.lesson_sidebar nav{grid-template-columns:1fr}.flow_nodes{flex-direction:column}.flow_nodes li{display:flex;align-items:center;gap:12px}.node_number{margin:0}.lesson_section p{font-size:17px}}.short_lesson{min-width:0;max-width:720px}.block{margin:34px 0}.block h2{font-size:20px}.block_intro{color:var(--muted);font-size:15px}.block_note{color:var(--muted);font-size:13px;margin-top:14px}.block_scene{border-left:3px solid #cbd8cd;padding-left:20px}.block_scene p{font-size:18px;line-height:1.95}.chapter_map{margin:24px 0 34px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.chapter_map>button{width:100%;border:0;background:#f1f6ef;padding:16px 20px;display:flex;justify-content:space-between;cursor:pointer;color:var(--green);font-weight:600}.chapter_map ul{margin:0;padding:18px 20px 18px 40px;display:grid;gap:8px;font-size:15px}.compare_table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}.compare_table th,.compare_table td{border:1px solid var(--line);padding:13px 15px;text-align:left;vertical-align:top;line-height:1.7;transition:background .18s}.compare_table thead th{background:#eef3ed;color:var(--green)}.compare_table tbody th{background:#f8faf7;font-weight:600;white-space:nowrap}.compare_table tbody tr.is_active td,.compare_table tbody tr.is_active th{background:#e7f0e8}.flow_chain{list-style:none;margin:0;padding:0;position:relative}.flow_chain:before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:#d5e2d6}.flow_chain li{position:relative;padding-left:48px;margin-bottom:8px}.flow_chain li>button{width:100%;text-align:left;border:0;background:none;cursor:pointer;padding:12px 0;display:flex;align-items:center;gap:12px;font-size:16px;color:var(--ink, #263c33)}.step_mark{position:absolute;left:0;width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #cfe0d0;display:grid;place-items:center;font-size:14px;color:var(--green)}.flow_chain li.is_open .step_mark{background:var(--green);color:#fff;border-color:var(--green)}.step_title{font-weight:600}.step_detail{margin:0 0 12px;padding:16px 20px;background:#f4f8f3;border-radius:10px;font-size:16px;animation:reveal_node .28s ease-out both}.taxonomy_groups{display:grid;gap:10px}.taxonomy_group{border:1px solid var(--line);border-radius:12px;overflow:hidden}.taxonomy_group>button{width:100%;border:0;background:#fff;padding:15px 20px;display:flex;justify-content:space-between;cursor:pointer;font-size:16px;font-weight:600;color:var(--green)}.taxonomy_group.is_open>button{background:#eef3ed}.taxonomy_count{color:var(--muted);font-weight:400}.taxonomy_items{padding:6px 20px 18px;animation:reveal_node .28s ease-out both}.taxonomy_items ul{margin:8px 0 0;padding-left:20px;display:grid;gap:7px;font-size:15px}.taxonomy_note{color:#796338;font-size:14px;background:#fff8e9;padding:12px 14px;border-radius:8px}.calc_body{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:20px}.calc_inputs label{display:block;margin-bottom:22px;font-size:15px}.calc_inputs label span{display:flex;justify-content:space-between;margin-bottom:8px}.calc_inputs label b{color:var(--green)}.calc_inputs input[type=range]{width:100%;accent-color:var(--green)}.calc_inputs input[type=number]{margin-top:8px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.calc_results{display:grid;gap:12px;align-content:start}.calc_result{background:#f2f7f2;border-radius:12px;padding:16px 18px}.calc_result span{display:block;font-size:13px;color:var(--muted)}.calc_result b{font-size:26px;color:var(--green);font-variant-numeric:tabular-nums}.calc_result small{display:block;color:var(--muted);font-size:13px;line-height:1.6}.rule_group{margin-top:22px}.rule_group h3{font-size:16px;color:var(--muted);margin:0 0 12px}.rule_cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.rule_card{border:1px solid var(--line);border-left:4px solid #8eb79d;border-radius:10px;padding:15px 17px;background:#fff}.rule_card span{display:block;font-size:14px;color:var(--muted)}.rule_card b{display:block;font-size:21px;color:var(--green);margin:6px 0;font-variant-numeric:tabular-nums}.rule_card small{color:var(--muted);font-size:13px;line-height:1.6}.choice_outcome{margin-top:22px}.outcome_chain{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.outcome_chain li{padding:14px 18px;background:#f1f6ef;border-radius:10px;font-size:15px;animation:reveal_node .3s ease-out both}.outcome_chain li:nth-child(2){animation-delay:.08s}.outcome_chain li:nth-child(3){animation-delay:.16s}.outcome_detail{font-size:17px}.outcome_caution{color:#796338;background:#fff8e9;padding:14px 16px;border-radius:10px;font-size:15px}.check_source{color:var(--muted);font-size:13px}@media(max-width:640px){.calc_body,.rule_cards{grid-template-columns:1fr}.compare_table{min-width:480px;font-size:14px}}.graph_controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:26px 0 16px}.graph_legend{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}.graph_legend label{display:flex;align-items:center;gap:8px;cursor:pointer}.graph_legend input{accent-color:var(--green);width:16px;height:16px}.legend_belongs{color:#8d9a91}.legend_contrast{color:var(--green)}.legend_relate{color:#6b5aa8}.graph_status{color:var(--muted);font-size:13px}.graph_controls .button.secondary{padding:8px 16px;border:1px solid var(--line);cursor:pointer}.graph_stage{position:relative;border:1px solid var(--line);border-radius:16px;background:radial-gradient(circle at 50% 45%,#fbfdfa,#f4f7f2);overflow:hidden}.graph_canvas{display:block;width:100%;height:auto;cursor:grab;touch-action:none}.graph_canvas:active{cursor:grabbing}.graph_canvas .edge_belongs path{stroke:#cbd8ce;stroke-width:1;fill:none;opacity:.8}.graph_canvas .edge_contrast path{stroke:var(--green);stroke-width:1.5;stroke-dasharray:5 4;fill:none;opacity:.5}.graph_canvas .edge_relate path{stroke:#8a7bc0;stroke-width:1.4;fill:none;opacity:.38}.graph_canvas .is_active path{opacity:1;stroke-width:2.4}.graph_canvas .is_dim path{opacity:.07}.graph_canvas .edge_label{fill:#47503f;font-size:11px;paint-order:stroke;stroke:#fbfdfa;stroke-width:4;stroke-linejoin:round}.graph_node{cursor:pointer}.graph_node circle{transition:r .15s}.graph_node text{fill:#26342c;pointer-events:none;-webkit-user-select:none;user-select:none}.graph_node.is_dim{opacity:.14}.graph_node.is_focus circle:last-of-type{stroke-width:3}.graph_node.is_focus text{font-weight:700}.graph_node.is_pinned circle:last-of-type{stroke:#bc8437;stroke-width:3;stroke-dasharray:3 2}.graph_node.is_focus text{text-decoration:underline;text-decoration-color:#bc8437;text-underline-offset:3px}.graph_zoom{position:absolute;right:14px;top:14px;display:grid;gap:8px}.graph_zoom button{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:16px;color:var(--green)}.graph_zoom button:hover{border-color:var(--green)}.graph_frame_note{position:absolute;left:16px;bottom:12px;color:var(--muted);font-size:12px}.graph_detail{margin:26px 0;max-width:780px}.graph_detail h2{margin-top:8px}.graph_hint{background:#f7f9f6}.graph_source{color:var(--muted);font-size:14px}.graph_actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:18px 0 6px}.graph_pinned_tag{color:#8a6b2a;background:#f7f0dd;border-radius:8px;padding:6px 12px;font-size:13px}.graph_unpin{background:none;border:0;padding:0;cursor:pointer;font:inherit}.graph_relations_wrap h3{font-size:16px;color:var(--muted);margin:22px 0 12px}.graph_relations{list-style:none;margin:0;padding:0;display:grid;gap:8px}.graph_relations li{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(0,1.3fr) 54px;gap:12px;align-items:center;padding:11px 14px;background:#f7f9f6;border-radius:10px;font-size:14px}.relation_kind{border:0;border-radius:6px;padding:4px 8px;font-size:12px;cursor:pointer;color:#fff}.relation_kind.belongs{background:#93a89b}.relation_kind.contrast{background:var(--green)}.relation_kind.relate{background:#7a6bb5}.relation_target{font-weight:600}.relation_label{color:var(--muted)}.relation_jump{color:var(--green);font-size:13px}@media(max-width:640px){.graph_relations li{grid-template-columns:46px 1fr 54px;row-gap:6px}.relation_label{grid-column:2 / 4}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
