:root{color-scheme:light;--bg:#f5f4f0;--panel:#fffefa;--panel2:#eeede7;--line:#d9d9cf;--text:#252a27;--muted:#657069;--accent:#bd501b;--accent-soft:#f9eee5;--blue:#59736a;--amber:#8b632b;--chart-base:#a9b5ae;--shadow:0 12px 35px #252a2712}
:root[data-theme=dark]{color-scheme:dark;--bg:#1b1e1c;--panel:#232724;--panel2:#2d332e;--line:#414a42;--text:#eeefe8;--muted:#b0b8ae;--accent:#f09a63;--accent-soft:#382c23;--blue:#94b0a0;--amber:#dfb775;--chart-base:#7e9184;--shadow:0 12px 35px #0004}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 system-ui,"Microsoft YaHei",sans-serif;font-variant-numeric:tabular-nums}button,input,select{font:inherit}button,select,input[type=number]{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:7px 10px;min-height:36px}button{cursor:pointer;white-space:nowrap}button:hover{border-color:var(--accent)}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.45;cursor:wait}a{color:var(--accent);text-underline-offset:3px}h1,h2,h3,p{margin:0}h2{font-size:18px}h3{font-size:15px}header{min-height:82px;display:flex;align-items:center;gap:13px;padding:16px 28px;border-bottom:1px solid var(--line);background:var(--panel)}header strong{font-size:17px;font-weight:650}.mark{width:32px;height:38px;color:var(--accent);flex:none}.mark svg{width:100%;height:100%}.small{display:block;font-size:13px;color:var(--muted)}.header-right{margin-left:auto;display:flex;align-items:center;gap:12px}.theme-control{font-size:13px}.badge{font-size:13px;color:var(--muted);white-space:nowrap}.badge:before{content:"";display:inline-block;background:var(--blue);width:6px;height:6px;border-radius:50%;margin-right:7px}.header-right button{font-size:13px}.workspace{display:grid;grid-template-columns:286px minmax(0,1fr);max-width:1700px;margin:auto}aside{padding:25px 21px;border-right:1px solid var(--line);background:var(--panel)}.section-label{font-size:13px;color:var(--muted)}.engine-picker{display:grid;gap:0;margin:13px 0 22px;border:1px solid var(--line);border-radius:4px;overflow:hidden}.engine-card{text-align:left;background:transparent;display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:11px 13px;position:relative;white-space:normal}.engine-card:last-child{border-bottom:0}.engine-card.active{background:var(--accent-soft)}.engine-card.active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent)}.engine-card strong{font-size:16px;font-weight:600}.engine-card span{font-size:12px;color:var(--muted);display:block}.engine-card .tag{font-size:12px;color:var(--muted)}.parameter-drawer>summary{display:none}.input-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px}.input-title h2{font-size:16px}.quiet{background:none;border:0;padding:4px;color:var(--muted);font-size:13px;min-height:28px}.quiet:hover{color:var(--accent)}.control{margin-bottom:17px;position:relative}.control.changed:before{content:"";position:absolute;left:-12px;top:15px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.control-row{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:13px}.control-row label{flex:1}.symbol{color:var(--muted);margin-left:4px}.control-value{display:flex;align-items:center;gap:5px}.control input[type=number]{width:75px;text-align:right;padding:3px 6px;min-height:32px;font-size:14px}.control input[type=range]{width:100%;margin:9px 0 0;accent-color:var(--accent);height:4px;cursor:pointer}.range-ends{display:none}.control small{font-size:12px;color:var(--muted)}.control>small{display:block;line-height:1.7;margin-top:5px}summary{cursor:pointer;font-size:14px}.constants{border-top:1px solid var(--line);padding-top:15px}.constant{font-size:13px;padding:5px 0;display:flex;justify-content:space-between;gap:8px;color:var(--muted)}.side-foot{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:15px;margin-top:20px}main{padding:28px 34px;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-heading .section-label{margin-bottom:4px}h1{font-size:36px;line-height:1.35;font-weight:650;letter-spacing:-1px}h1 span{font:400 16px system-ui;color:var(--muted);letter-spacing:0;margin-left:12px}.page-heading p{font-size:14px;color:var(--muted);margin-top:7px}.current-state{color:var(--text);font-size:14px;text-align:right}.state-item{background:var(--panel2);padding:3px 9px;border-radius:3px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;background:var(--bg)}.metric{padding:0 19px;border-right:1px solid var(--line);min-width:0}.metric:first-child{padding-left:0}.metric:last-child{border-right:0;padding-right:0}.metric-label{font-size:13px;color:var(--muted)}.metric-number{font:500 32px/1.6 system-ui;letter-spacing:-1px;white-space:nowrap}.metric:first-child .metric-number{color:var(--accent)}.metric-number small{font:13px system-ui;color:var(--muted);letter-spacing:0;margin-left:6px}.metric-foot{font-size:12px;color:var(--muted);min-height:20px}.metric-foot:empty{display:none}.metric-foot.changed{color:var(--accent)}.basis{font-size:13px;color:var(--muted);margin:13px 0 24px;line-height:1.8}.basis strong{color:var(--text);font-weight:500}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:11px 0;color:var(--muted);font-size:14px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.panel{display:none}.panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:17px}.panel-heading p{font-size:13px;color:var(--muted);margin-top:4px}.panel-heading button{font-size:13px}.plot-controls{display:flex;flex-wrap:wrap;align-items:end;gap:13px;background:var(--panel);padding:14px 16px;border:1px solid var(--line);border-radius:4px}.plot-controls label,.panel-heading label{display:grid;gap:5px;font-size:13px;color:var(--muted);min-width:0}.plot-controls input{width:80px}.plot-controls select{max-width:240px;font-size:14px}.chart-head{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin:22px 0 6px;font-size:14px}.chart-head>span:first-child{font-weight:600}.legend{display:flex;align-items:center;gap:7px;margin-left:auto;color:var(--muted);font-size:13px}.legend i{width:18px;height:2px;background:var(--accent);display:inline-block}.legend i.base{background:none;border-top:2px dashed var(--chart-base)}.canvas-wrap{position:relative}canvas{display:block;width:100%;height:340px;touch-action:pan-y}.tooltip{position:absolute;pointer-events:none;border:1px solid var(--line);border-radius:4px;background:var(--panel);box-shadow:var(--shadow);padding:10px 13px;font:13px/1.8 system-ui}.plot-note{color:var(--muted);font-size:13px;margin-top:8px}.mini-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:27px;border-top:1px solid var(--line);padding-top:20px}.mini-panel{min-width:0}.mini-panel+div{border-left:1px solid var(--line);padding-left:25px}.mini-panel canvas{height:210px}.mini-panel p{font-size:13px;color:var(--muted)}.flow-row{display:grid;grid-template-columns:85px 1fr 89px;gap:10px;align-items:center;margin:16px 0;font-size:13px}.flow-row>span:last-child{text-align:right}.bar-track{height:6px;background:var(--panel2);overflow:hidden}.bar-fill{height:100%;background:var(--blue)}.flow-row:nth-child(2) .bar-fill{background:var(--chart-base)}.flow-row:nth-child(3) .bar-fill{background:var(--accent)}.flow-divider{border-top:1px solid var(--line);padding-top:14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-weight:500;background:var(--panel2);padding:9px 12px}td{padding:7px 12px;border-bottom:1px solid var(--line)}#data td:not(:first-child),#data th:not(:first-child){text-align:right;font-size:14px}#data th:nth-child(2),#data td:nth-child(2){text-align:left;color:var(--muted);font-size:13px}#data tbody tr:hover{background:var(--panel)}.table-group th{background:transparent;padding-top:22px;color:var(--text);font-weight:600;border-bottom:1px solid var(--line)}.delta{color:var(--muted)}.delta.changed{color:var(--accent)}#surfacePlot{height:460px;touch-action:none;cursor:grab;background:transparent}.surface-caption{font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--muted)}.surface-legend{display:flex;justify-content:center;gap:10px;font-size:13px;color:var(--muted);margin:6px 0}.surface-ramp{width:130px;height:7px;align-self:center;background:linear-gradient(90deg,#dce2d8,#587563)}.method-flow{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;padding-bottom:21px;border-bottom:1px solid var(--line)}.method-flow div{font-size:13px;color:var(--muted)}.method-flow div:not(:last-child):after{content:"→";margin-left:10px;color:var(--chart-base)}.method-flow b{display:none}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.method-grid article{padding:0;background:none}.method-grid h3{margin-bottom:9px}.method-grid p{font-size:14px;color:var(--muted);margin-bottom:9px}.method-grid small{color:var(--muted);font-size:13px}.method-article{border-top:1px solid var(--line);padding-top:15px}.method-article summary h3{display:inline;font-size:16px;color:var(--text)}.method-article>p:first-of-type{margin-top:14px}.flow-details{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.flow-details figure{margin:20px 0;display:inline-block;vertical-align:top;width:48%;background:white;padding:10px}.flow-details img{width:100%;height:auto}.flow-details figcaption{color:#26374d}.error{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text);padding:12px;margin:10px 0}.error[hidden]{display:none}input[aria-invalid=true]{border-color:#c94335}footer{border-top:1px solid var(--line);margin-top:30px;padding-top:16px;display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted)}
/* Native mathematical notation retains its own metrics and inherits the theme. */
.constant>span:first-child,.result-symbol{color:var(--muted)}.constant-group{color:var(--text)}.control-group-title{font-size:12px;margin-bottom:14px}.symbol math{font-size:16px}.data-name{flex-wrap:nowrap}.data-name math{font-size:15px}.current-state{justify-content:flex-end}.method-grid .method-derivation{grid-column:1/-1;padding:0}.method-derivation h3{font-size:21px}.method-derivation p{font-size:15px;color:var(--muted)}.derivation-tag{border:0;background:none;color:var(--muted);padding:0;font-size:12px}.model-assumption{background:var(--panel2);border-left:2px solid var(--blue);color:var(--muted);padding:12px 16px;margin:16px 0 20px}.derivation-steps{display:block}.derivation-step{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:0;min-width:0}.step-heading{display:flex;align-items:center;gap:9px;margin:0;padding:14px 0;list-style:none}.step-heading:after{content:"＋";margin-left:auto;color:var(--muted)}details[open]>.step-heading:after{content:"−"}.step-heading>span{font:14px system-ui;color:var(--muted)}.method-derivation h4{font-size:16px}.method-derivation h5{color:var(--text);font-size:14px}.derivation-step>p,.derivation-step>.cycle-grid{margin-top:8px}.derivation-step>p:last-child,.derivation-step>.cycle-grid{margin-bottom:20px}.cycle-grid{gap:24px}.cycle-grid>div+div{border-color:var(--line)}.equation{background:var(--panel);color:var(--text);border-radius:0;padding:15px 5px;border-left:2px solid var(--line)}.equation math{font-size:18px}.substitution{background:var(--panel2);border:0;border-radius:4px;margin-top:22px;padding:20px}.substitution-title>span{color:var(--muted)}.method-derivation .substitution>p{color:var(--muted)}.substitution-grid{gap:18px}.substitution-grid>div{background:none;padding:0;border-radius:0}.substitution-grid span{color:var(--muted)}.substitution-grid output{color:var(--text)}.symbol-details summary,.symbol-table td:first-child{color:var(--text)}.mobile-results{display:none}
@media(min-width:1450px){main{padding:32px 44px}.workspace{grid-template-columns:300px minmax(0,1fr)}.metric-number{font-size:36px}}
@media(max-width:1180px){main{padding:25px}.metric{padding:0 12px}.metric-number{font-size:26px}.mini-grid{grid-template-columns:1fr}.mini-panel+div{border-left:0;padding:20px 0 0;border-top:1px solid var(--line)}.plot-controls{gap:10px}.plot-controls select{max-width:210px}}
@media(max-width:900px){.workspace{grid-template-columns:258px minmax(0,1fr)}aside{padding:20px 16px}.metrics{grid-template-columns:repeat(2,1fr);gap:17px 0}.metric:nth-child(3){padding-left:0}.metric:nth-child(2){border:0}.page-heading{flex-wrap:wrap;gap:12px}h1{font-size:30px}.current-state{text-align:left}.method-grid{grid-template-columns:1fr}}
@media(max-width:760px){header{padding:13px 17px;gap:10px;flex-wrap:wrap}header strong{font-size:16px}.mark{width:25px;height:31px}.header-right{width:100%;margin-left:35px;gap:8px;justify-content:space-between}.header-right .badge{font-size:12px}.header-right select,.header-right button{min-height:36px;font-size:12px}.workspace{display:block}aside{padding:16px 18px 0;border-right:0;border-bottom:1px solid var(--line)}aside>.section-label{display:none}.engine-picker{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 12px}.engine-card{padding:10px 7px;border-bottom:0;border-right:1px solid var(--line);min-height:61px;min-width:0}.engine-card:last-child{border-right:0}.engine-card.active:before{inset:auto 0 0;width:auto;height:2px}.engine-card strong{font-size:14px}.engine-card span{font-size:11px;line-height:1.5;overflow-wrap:anywhere}.engine-card .tag{display:none}.parameter-drawer>summary{display:flex;justify-content:space-between;align-items:center;padding:4px 0 13px;min-height:44px;font-size:14px;color:var(--text)}.parameter-drawer>summary:after{content:"调节 ＋";color:var(--accent);font-size:13px}.parameter-drawer[open]>summary:after{content:"收起 −"}.input-title{margin:8px 0 15px}#controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.control-row{flex-wrap:wrap}.control-value{width:100%;margin-top:4px}.control input[type=number]{width:100%;min-height:38px}.control small{font-size:12px}.control input[type=range]{height:16px;margin-top:8px}.side-foot{margin-bottom:16px}.constants{margin-bottom:15px}main{padding:22px 18px}.page-heading{margin-bottom:19px;gap:12px}h1{font-size:29px}h1 span{font-size:15px;margin-left:9px}.page-heading p{font-size:13px}.current-state{font-size:13px;justify-content:flex-start}.metrics{position:sticky;top:0;z-index:5;padding:14px 0;gap:12px 0}.metric{padding:0 14px}.metric-label{font-size:12px;line-height:1.5!important}.metric-number{font-size:25px;line-height:1.55}.metric-number small{font-size:12px}.metric-foot{font-size:11px;min-height:0}.basis{font-size:12px;margin:12px 0 18px}.tabs{gap:24px;margin-bottom:22px}.tabs button{min-height:44px;font-size:13px}.panel-heading{align-items:start;gap:10px}.panel-heading h2{font-size:17px}.panel-heading p{font-size:13px}.panel-heading button{font-size:12px;min-height:38px}.plot-controls{padding:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.plot-controls select,.plot-controls input{max-width:100%;width:100%;min-height:40px;font-size:13px}.plot-controls label{font-size:12px}.plot-controls label:nth-child(5){grid-column:1/-1}.chart-head{gap:8px;font-size:13px}.legend{font-size:12px;margin-left:0}.chart-head .quiet{margin-left:auto;min-height:36px}canvas{height:300px}.mini-grid{gap:20px}.mini-panel canvas{height:230px}.flow-row{grid-template-columns:80px 1fr 88px;font-size:12px}#surface .plot-controls{grid-template-columns:1fr 1fr}#surface .plot-controls label:nth-child(3){grid-column:1/-1}#surface .plot-controls button{grid-column:1/-1;min-height:40px}#surfacePlot{height:350px}.surface-caption{font-size:12px}.method-grid{grid-template-columns:1fr}.method-grid .method-derivation{padding:0}.derivation-heading{gap:7px}.derivation-step{padding:0}.substitution{padding:16px}.substitution-grid{grid-template-columns:1fr}.flow-details figure{width:100%}footer{flex-direction:column;gap:6px;font-size:12px}.table-scroll table{min-width:580px}.method-flow{gap:7px}.method-flow div{font-size:12px}.equation math{font-size:17px}}
@media(max-width:360px){header{padding:12px}.header-right{margin-left:0}.header-right .badge{font-size:11px}main{padding:19px 12px}aside{padding-inline:12px}.metric-number{font-size:23px}.metric{padding-inline:9px}.tabs{gap:20px}.engine-card strong{font-size:13px}#controls{gap:0 14px}.panel-heading p{max-width:190px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:color .15s,border-color .15s,background .15s}}
/* Keep the analytical view close to the summary on shorter screens. */
header{min-height:72px;padding-block:12px}.page-heading{margin-bottom:19px}.metrics{padding-block:16px}.basis{margin-bottom:17px}.tabs{margin-bottom:19px}.panel-heading{margin-bottom:14px}.chart-head{margin-top:17px}.plot-controls{padding-block:11px}
:root[data-theme=dark] .surface-ramp{background:linear-gradient(90deg,#405847,#809b8a)}
@media(max-width:760px){.metrics{padding-block:13px}.plot-controls{grid-template-columns:repeat(6,minmax(0,1fr))}.plot-controls label:nth-child(1),.plot-controls label:nth-child(2){grid-column:span 3}.plot-controls label:nth-child(n+3){grid-column:span 2}#surface .plot-controls{grid-template-columns:1fr 1fr}#surface .plot-controls label:nth-child(n),#surface .plot-controls button{grid-column:auto}.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}}
@media(max-width:360px){.tabs{gap:16px}}
