:root{--paper:#f6f5ef;--card:#fffefa;--ink:#203c38;--muted:#6c7c74;--green:#17675e;--deep:#164c44;--line:#e1e5da;--accent:#eaf0e7;--orange:#c18345;--purple:#7974aa;--red:#a55747;--shadow:0 10px 28px #203c3807}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);background:var(--paper);font:14px/1.7 Inter,"Segoe UI","Microsoft YaHei",sans-serif}body{height:100dvh;overflow:hidden}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{height:84px;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);background:var(--card);padding:0 26px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:210px;font-size:20px;font-weight:700;letter-spacing:.5px;line-height:1.3;color:var(--ink)}.brand-mark{display:grid;place-items:center;height:38px;width:38px;border-radius:11px;background:var(--deep);color:#fff;font-size:32px;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:400;color:var(--muted);margin-top:4px}.primary-nav{display:flex;align-self:stretch;gap:8px;flex:1}.primary-nav a{display:flex;justify-content:center;flex-direction:column;text-decoration:none;font-size:13px;padding:10px 19px;color:var(--muted);border-bottom:3px solid transparent;line-height:1.5}.primary-nav a span{font-size:11px}.primary-nav a[aria-current]{border-color:var(--green);color:var(--green);font-weight:650}.button{padding:8px 13px;border-radius:8px;border:1px solid var(--line);font-size:12px;font-weight:600;white-space:nowrap;line-height:1.5}.button.quiet{color:var(--green);background:var(--card)}.button.quiet:hover{background:var(--accent)}.button.primary{color:#fff;background:var(--green);border-color:var(--green)}.button.primary:hover{background:var(--deep)}.icon-button{border:0;background:transparent;color:var(--muted);font-size:24px;padding:3px 6px;line-height:1.2}.text-button{border:0;background:transparent;color:var(--muted);padding:3px 0;font-size:11px}.workspace{height:calc(100dvh - 84px);display:grid;grid-template-columns:224px minmax(0,1fr) 325px}.workspace.ai-closed{grid-template-columns:224px minmax(0,1fr)}.workspace.ai-closed .assistant-panel{display:none}.chapter-panel{background:#edf0e7;border-right:1px solid var(--line);padding:28px 16px;overflow-y:auto;min-width:0}.eyebrow{font-size:9px;letter-spacing:1.55px;font-weight:700;color:var(--green);display:block}.chapter-panel>.eyebrow{padding-left:10px}.chapter-panel h1{font-size:21px;font-weight:650;letter-spacing:-.5px;margin:9px 10px}.sidebar-intro{font-size:11px;line-height:1.85;color:var(--muted);margin:0 10px 25px}.chapter-tree{display:flex;flex-direction:column;gap:7px}.chapter-button{display:flex;width:100%;gap:10px;text-align:left;align-items:flex-start;border:1px solid transparent;background:transparent;border-radius:9px;color:var(--ink);padding:11px 10px;line-height:1.5}.chapter-button:hover{background:#ffffff70}.chapter-button[aria-current]{background:var(--card);border-color:#d1dfce;box-shadow:0 3px 9px #203c3805}.chapter-number{font:10px/1.8 Consolas,monospace;color:#8a978d;padding-top:1px}.chapter-label{min-width:0;font-size:12px;font-weight:600}.chapter-label small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:4px}.chapter-button[aria-current] .chapter-number,.chapter-button[aria-current] .chapter-label{color:var(--green)}.sidebar-foot{padding:24px 10px 0;margin-top:28px;border-top:1px solid #dbe1d4;font-size:10px;color:var(--muted)}.sidebar-foot strong{font-weight:500;display:block;margin-top:7px}.sidebar-foot p{line-height:1.9}.progress-dots{display:flex;gap:5px}.progress-dots i{height:4px;width:16px;background:var(--green);border-radius:3px}.progress-dots i.empty{background:#d4dccc}.learning{overflow-y:auto;overflow-x:hidden;padding:32px clamp(20px,3vw,48px) 16px;scroll-behavior:smooth;min-width:0;scrollbar-gutter:stable}.chapter-content{max-width:1100px;margin:auto}.breadcrumb{color:var(--muted);font-size:10px;letter-spacing:.3px;display:flex;gap:8px;align-items:center;margin-bottom:18px}.breadcrumb .slash{color:#b8c2b7}.title-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.title-line h2{font-size:28px;line-height:1.4;letter-spacing:-.5px;margin:0;font-weight:650}.simulation-badge{color:var(--green);border:1px solid #ccdcc8;background:var(--accent);font-size:10px;padding:3px 8px;border-radius:20px;white-space:nowrap}.chapter-deck{color:var(--muted);font-size:13px;line-height:1.9;margin:11px 0 22px;max-width:790px}.learning-tabs{display:flex;gap:15px;align-items:center;padding:0 0 16px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted);margin-bottom:22px}.learning-tabs span{display:inline-flex;align-items:center;gap:5px}.learning-tabs i{height:5px;width:5px;border-radius:50%;background:#91a58a}.learning-tabs span:first-child{color:var(--green)}.learning-tabs span:first-child i{background:var(--green)}.lab-card,.note-card,.formula-card{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);margin-bottom:17px;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 21px 10px}.card-head h3{font-size:14px;margin:0;font-weight:650}.card-sub{font-size:10px;color:var(--muted)}.card-head .card-sub{text-align:right}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px 24px;padding:11px 21px 20px}.control{min-width:0}.control-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.control label{font-size:11px}.control output{font:12px/1.5 Consolas,monospace;color:var(--green);white-space:nowrap}.control input{display:block;width:100%;margin:0;accent-color:var(--green);height:18px}.control-hint{display:flex;justify-content:space-between;font-size:9px;color:#8b978c;margin-top:4px}.controls.two{grid-template-columns:repeat(2,minmax(0,1fr))}.controls.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px}.chart-panel{padding:0 15px 16px;min-width:0}.chart{display:block;width:100%;min-height:190px;aspect-ratio:2.6/1;overflow:visible}.chart text{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;fill:#7a887d;font-size:10px}.chart .axis-label{font-size:10px;fill:#65776a}.chart .grid{stroke:#e7eae2;stroke-width:1}.chart .axis{stroke:#cfd9cb;stroke-width:1}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:var(--muted);padding:4px 7px 0 44px}.legend span{display:flex;align-items:center;gap:6px}.legend i{height:2px;width:15px;display:inline-block}.chart-note{font-size:10px;line-height:1.8;color:var(--muted);padding:8px 21px 15px;margin:0}.toggle-row{border-top:1px solid var(--line);padding:11px 21px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.toggle-row label{display:flex;align-items:center;gap:7px}.toggle-row input{accent-color:var(--green)}.component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:4px 16px 18px}.component-small{background:#f7f8f1;border-radius:8px;padding:9px 5px 1px;min-width:0}.component-small h4{margin:0 9px;font-size:10px;font-weight:500}.component-small .chart{min-height:115px;aspect-ratio:1.5}.formula-card{padding:17px 21px;background:#f0f4eb;border-color:#dce5d5}.formula-card h3{margin:0 0 8px;font-size:12px}.formula{max-width:100%;overflow:auto hidden;padding:3px 0;line-height:1.5}.formula .katex-display{margin:.5em 0}.formula .katex{font-size:1.03em}.formula-caption{font-size:11px;line-height:1.85;color:var(--muted);margin:8px 0 0}.note-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.note-card{padding:19px 21px;box-shadow:none}.note-card h3{font-size:13px;margin:0 0 8px}.note-card p{font-size:11px;line-height:1.9;margin:0;color:var(--muted)}.ask-chapter{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:19px 0 25px;padding:16px 19px;border:1px solid #d6e1d0;background:#eaf0e4;border-radius:11px}.ask-chapter p{font-size:12px;margin:0}.ask-chapter small{color:var(--muted);font-size:10px}.paired-plots{display:grid;grid-template-columns:1fr 1fr;gap:0 13px;padding:0 13px}.plot-block{min-width:0}.plot-block h4{font-size:11px;font-weight:500;margin:8px 5px 0 29px}.paired-plots .chart{min-height:175px;aspect-ratio:1.65}.filter-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 20px;background:#f5f6ee;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filter-info small{display:block;font-size:9px;color:var(--muted)}.filter-info strong{font-size:11px;font-weight:500}.warning{background:#fbf2df;border:1px solid #e9dbbd;border-radius:8px;padding:11px 14px;margin:0 20px 15px;font-size:11px;line-height:1.8;color:#896839}.method-details{margin:15px 0 20px;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:15px 20px}.method-details summary{font-size:12px;font-weight:600;cursor:pointer}.method-details p,.method-details li{font-size:11px;line-height:1.9;color:var(--muted)}.method-details ul{padding-left:19px}.method-details a{font-size:11px}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px 20px 17px;border-top:1px solid var(--line)}.stat-block{background:#f2f5ec;border-radius:8px;padding:10px 12px}.stat-block small{display:block;font-size:9px;color:var(--muted)}.stat-block strong{font:20px/1.7 Consolas,monospace;color:var(--green)}.stat-block span{font-size:10px;color:var(--muted)}.pearson-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:12px;padding:0 17px 13px}.pearson-layout .chart{min-height:275px;aspect-ratio:1.45}.sample-summary{font-size:11px;margin:0;padding:12px 14px;border-radius:9px;background:#f5f5ee}.sample-summary div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.sample-summary div:last-child{border:0}.sample-summary dt{color:var(--muted)}.sample-summary dd{margin:0;font-family:Consolas,monospace}.derivation-step{margin:18px 0;border-top:1px solid var(--line);padding-top:16px}.derivation-step h4{font-size:12px;margin:0 0 5px}.math-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}.math-table{width:100%;border-collapse:collapse;font-size:10px;text-align:right;white-space:nowrap}.math-table th,.math-table td{padding:7px 10px;border-bottom:1px solid var(--line)}.math-table th{background:var(--accent);font-weight:500}.math-table tr:last-child td{border:0}.placeholder{padding:45px 30px;margin:20px 0 25px;background:var(--card);border:1px dashed #cbd8c6;border-radius:15px;text-align:center}.placeholder-mark{display:block;font-size:37px;color:#91a78c;line-height:1.3}.placeholder h3{font-size:19px;font-weight:500;margin:15px 0 10px}.placeholder p{font-size:12px;line-height:1.9;color:var(--muted);max-width:440px;margin:0 auto}.placeholder-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:23px}.learning-footer{font-size:9px;color:#8a9688;text-align:center;margin:27px 0 8px}.assistant-panel{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;min-width:0;background:#fffefa}.assistant-header{padding:24px 20px 16px;display:flex;justify-content:space-between;gap:5px;align-items:flex-start}.assistant-header .eyebrow{font-size:8px;letter-spacing:1.2px}.assistant-header h2{font-size:15px;margin:7px 0 0;font-weight:600}.assistant-context{display:flex;gap:9px;margin:0 17px;padding:12px;background:#eef3e8;border:1px solid #dde6d7;border-radius:9px}.context-dot{width:6px;height:6px;border-radius:50%;background:#7c9b6c;flex:none;margin-top:7px}.assistant-context small{font-size:9px;color:var(--muted);display:block}.assistant-context strong{font-size:11px;font-weight:500;display:block;margin:2px 0}.assistant-context #contextParameters{display:block;font-size:9px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}.assistant-intro{margin:13px 20px 8px;font-size:10px;color:var(--muted);line-height:1.9}.assistant-messages{flex:1;min-height:100px;overflow-y:auto;overscroll-behavior:contain;padding:14px 18px}.assistant-welcome{padding-top:22px}.welcome-symbol{display:inline-grid;width:31px;height:31px;place-items:center;background:var(--accent);border-radius:10px;color:var(--green);font-size:20px}.assistant-welcome>p{font-size:15px;line-height:1.8;margin:13px 0 20px;color:#56715e}.suggested-questions{display:flex;flex-direction:column;gap:7px}.suggested-question{text-align:left;border:1px solid var(--line);padding:9px 11px;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;line-height:1.8}.suggested-question:hover{border-color:#bfd0b7;color:var(--green);background:var(--paper)}.assistant-composer{padding:12px 16px 13px;flex:none;border-top:1px solid var(--line);background:var(--card)}.assistant-composer textarea{display:block;width:100%;resize:vertical;min-height:73px;max-height:180px;border:1px solid #d4dfcd;border-radius:9px;background:#fdfef9;padding:10px 12px;font-size:12px;line-height:1.8;color:var(--ink)}.composer-actions{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.privacy-note{font-size:9px;line-height:1.8;color:#8a978a;margin:8px 0 0}.ai-status{font-size:10px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.ai-status.error{color:var(--red)}.ai-message{margin-bottom:22px;overflow-wrap:anywhere;min-width:0}.ai-message-head{font-size:10px;color:var(--muted);margin-bottom:6px}.ai-message.user .ai-message-content{background:var(--accent);padding:10px 12px;border-radius:11px 11px 3px 11px;font-size:12px;white-space:pre-wrap}.ai-message.assistant .ai-message-content{font-size:12px;line-height:1.95}.ai-message-content p{margin:0 0 10px}.ai-message-content h3{font-size:13px;margin:17px 0 7px}.ai-message-content ul,.ai-message-content ol{padding-left:20px}.ai-message-content li{margin:5px 0}.ai-message-content code{font-size:11px;background:#f0f2e9;padding:2px 4px;border-radius:4px}.ai-message-content pre{overflow:auto;padding:10px;background:#f0f2e9;font:11px/1.7 Consolas,monospace;white-space:pre-wrap}.ai-message-content.streaming{white-space:pre-wrap}.ai-message-content .math-inline{display:inline-block;max-width:100%;overflow:auto hidden;vertical-align:middle}.ai-message-content .math-block{overflow:auto hidden;max-width:100%;padding:4px 0;margin:9px 0}.ai-message-content .katex{font-size:1em}.answer-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:7px;margin:12px 0}.answer-table{border-collapse:collapse;min-width:400px;font-size:11px}.answer-table th,.answer-table td{padding:8px;vertical-align:top;border-bottom:1px solid var(--line);min-width:100px}.answer-table th{background:var(--accent)}.source-list{border-top:1px solid var(--line);margin-top:13px;padding-top:10px;font-size:10px;color:var(--muted)}.source-list>summary{cursor:pointer}.source-card{padding:11px 0;border-bottom:1px solid var(--line)}.source-card:last-child{border:0}.source-card strong{display:block;font-size:11px;color:var(--ink);font-weight:500}.source-card p{margin:6px 0}.source-card a{margin-right:10px;font-size:10px}.source-id{font-size:10px;color:var(--green)}.citation-link{font-size:10px;color:var(--green);border:0;background:var(--accent);border-radius:3px;padding:0 4px;cursor:pointer}.notice{background:var(--accent);padding:15px 18px;border:1px solid var(--line);border-radius:9px;font-size:12px}.notice.error{background:#fff0e8;color:var(--red)}.mobile-tree{display:none}
@media(min-width:1750px){.workspace{grid-template-columns:248px minmax(0,1fr) 355px}.workspace.ai-closed{grid-template-columns:248px minmax(0,1fr)}.chapter-panel{padding:32px 23px}.learning{padding-top:40px}.assistant-header{padding:29px 23px 17px}.assistant-context{margin:0 20px}.assistant-intro{margin-left:23px;margin-right:23px}.assistant-messages{padding:20px 23px}.assistant-composer{padding-left:20px;padding-right:20px}.chapter-label{font-size:13px}}
@media(max-width:1250px){.workspace{grid-template-columns:205px minmax(0,1fr)}.workspace.ai-closed{grid-template-columns:205px minmax(0,1fr)}.assistant-panel{position:fixed;z-index:12;right:12px;top:96px;bottom:12px;width:350px;border:1px solid #d0ddc9;border-radius:13px;box-shadow:0 14px 65px #203c3833}.learning{padding:27px 26px 16px}.topbar{padding:0 20px}.brand{min-width:185px}.chapter-panel{padding:25px 12px}.title-line h2{font-size:27px}}
@media(max-width:850px){.topbar{height:76px;gap:9px;padding:0 16px}.brand{min-width:0;font-size:17px}.brand-mark{height:34px;width:34px;font-size:29px}.brand small{font-size:8px}.primary-nav{justify-content:center;gap:0}.primary-nav a{font-size:10px;padding:9px 10px}.primary-nav a span{font-size:10px}.workspace,.workspace.ai-closed{height:calc(100dvh - 76px);grid-template-columns:minmax(0,1fr)}.chapter-panel{display:none}.chapter-panel.mobile-open{display:block;position:fixed;z-index:20;left:12px;top:88px;bottom:12px;width:245px;border:1px solid #d2decb;border-radius:12px;box-shadow:0 12px 35px #203c3833}.mobile-tree{display:inline-block}.learning{padding:26px 25px 16px}.assistant-panel{top:88px}.title-line h2{font-size:28px}.component-small .chart{min-height:120px}}
@media(max-width:570px){.topbar{height:103px;flex-wrap:wrap;align-content:center;gap:4px 10px;padding:9px 13px}.brand{font-size:17px;flex:1}.brand-mark{height:31px;width:31px}.brand small{font-size:8px}.topbar>.button{font-size:10px;padding:5px 9px}.primary-nav{order:4;flex-basis:100%;height:40px;gap:19px;justify-content:flex-start;padding-left:0}.primary-nav a{display:block;padding:7px 0 5px;font-size:11px}.primary-nav a span{display:inline;margin-left:7px;font-size:9px}.workspace,.workspace.ai-closed{height:calc(100dvh - 103px)}.learning{padding:23px 14px 13px}.title-line{gap:8px}.title-line h2{font-size:24px}.simulation-badge{font-size:9px}.chapter-deck{font-size:12px;margin:10px 0 17px}.breadcrumb{font-size:9px;margin-bottom:13px}.learning-tabs{gap:12px;font-size:9px;margin-bottom:16px}.card-head{padding:15px 14px 9px}.card-head h3{font-size:13px}.card-sub{font-size:9px}.controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px 15px 17px;gap:17px 19px}.controls.two,.controls.compact{grid-template-columns:1fr 1fr}.control label{font-size:10px}.control output{font-size:11px}.chart-panel{padding:0 6px 12px}.chart{min-height:180px;aspect-ratio:1.7}.legend{font-size:9px;gap:10px;padding-left:35px}.toggle-row{padding:10px 14px;font-size:10px}.component-grid{grid-template-columns:1fr;padding:4px 12px 14px}.component-small .chart{min-height:110px;aspect-ratio:3.1}.formula-card,.note-card{padding:15px}.formula .katex{font-size:.91em}.note-grid{grid-template-columns:1fr;gap:0}.ask-chapter{gap:12px;padding:14px}.ask-chapter p{font-size:11px}.ask-chapter small{font-size:9px}.ask-chapter .button{font-size:10px;padding:7px 9px}.paired-plots{grid-template-columns:1fr;padding:0 9px}.paired-plots .chart{min-height:185px;aspect-ratio:1.7}.filter-info{grid-template-columns:1fr 1fr;padding:12px 15px;gap:11px}.filter-info small{font-size:9px}.warning{margin:0 14px 12px;padding:10px 11px;font-size:10px}.chart-note{padding:7px 15px 13px;font-size:10px}.method-details{padding:14px 15px}.pearson-layout{grid-template-columns:1fr;padding:0 10px 13px;gap:1px}.pearson-layout .chart{min-height:270px;aspect-ratio:1.2}.sample-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 17px;margin:0 4px;font-size:10px}.sample-summary div:nth-last-child(-n+2){border:0}.stats-row{padding:13px 14px;gap:6px}.stat-block{padding:8px}.stat-block strong{font-size:19px}.stat-block small{font-size:8px}.stat-block span{font-size:9px}.placeholder{padding:32px 18px}.placeholder h3{font-size:17px}.placeholder p{font-size:11px}.assistant-panel{left:9px;right:9px;top:113px;bottom:9px;width:auto}.chapter-panel.mobile-open{top:113px}.assistant-header{padding:18px 17px 12px}.assistant-intro{font-size:10px;margin-top:10px}.assistant-messages{padding-top:10px}.assistant-composer textarea{font-size:16px;min-height:67px}.privacy-note{font-size:8px}.learning-footer{font-size:8px;margin-top:21px}}
.callout-actions{display:flex;flex-direction:column;align-items:center;gap:5px;flex:none}.callout-actions .text-button{font-size:9px}
