*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f8f7f2;color:#183347;font-family:"Microsoft YaHei",system-ui,sans-serif;font-size:20px;line-height:1.65}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#113c53;color:white;padding:15px max(24px,calc((100vw - 1240px)/2));box-shadow:0 2px 8px #1232}a{color:#174c70;text-underline-offset:4px}header a{color:white;text-decoration:none}.brand{font-weight:750;white-space:nowrap}nav{display:flex;gap:22px;font-size:17px}main{max-width:1280px;margin:auto;padding:0 30px}section{padding:58px 0;border-bottom:1px solid #d8dedc}.hero{padding:85px 0 65px;max-width:1100px}.eyebrow{font-size:16px;color:#956028;letter-spacing:1px}h1{font-size:clamp(38px,5vw,62px);line-height:1.28;margin:12px 0 24px;letter-spacing:-1px}h2{font-size:33px;line-height:1.35;margin:8px 0 22px}h3{font-size:25px;margin:28px 0 14px}.lead{font-size:25px;line-height:1.7}.subtle{font-size:16px;color:#526671}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.button,button{display:inline-block;font:inherit;font-size:18px;cursor:pointer;border:1px solid #b9c8cf;background:white;color:#173d54;padding:10px 19px;border-radius:6px;text-decoration:none}.primary,button.active{background:#173f59;color:white;border-color:#173f59}button:disabled{opacity:.45;cursor:default}button:hover,.button:hover{filter:brightness(.94)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d28b31;outline-offset:3px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading label{max-width:500px}.lecture{background:white;border:1px solid #d4dfe3;border-radius:8px;overflow:hidden}.lecture img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.lecture-nav{display:flex;gap:12px;justify-content:center;align-items:center;padding:15px;flex-wrap:wrap}.lecture:fullscreen{background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.lecture:fullscreen img{height:calc(100vh - 85px);width:auto;max-width:100vw}.lecture:fullscreen .lecture-nav{height:80px}details{margin-top:20px}summary{cursor:pointer;font-weight:650}.outline{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.outline button{text-align:left;font-size:16px;background:transparent;border:0}.filters,.lab-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.lab-tabs [aria-selected=true]{background:#173f59;color:white}.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.case{background:#fff;border:1px solid #d6dedf;padding:25px;border-radius:8px}.case h3{margin-top:0}.case p{margin:12px 0;font-size:18px}.case b{color:#174a66}.lab-panel{padding:20px 30px 30px;background:white;border:1px solid #d3dfe4;border-radius:8px}.lab-panel[hidden]{display:none}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:25px 0}label{display:block}output{font-weight:700;color:#956028;margin-left:8px}input:not([type=range]),select,textarea{font:inherit;color:inherit;background:white;border:1px solid #aebfc7;border-radius:5px;padding:8px 10px;max-width:100%;width:100%}input[type=range]{display:block;width:100%;margin:18px 0;accent-color:#195b78}.chart{height:350px;width:100%;margin:25px 0}.result{border-left:4px solid #b8782c;padding:15px 20px;background:#f7f8f7}.result strong{font-size:37px;color:#174a66;display:block}.result p{margin:5px 0}form{max-width:900px}form label{margin:20px 0}.downloads{display:flex;gap:16px;flex-wrap:wrap;margin:25px 0}.downloads a{background:white;padding:9px 14px;border:1px solid #c7d4db;border-radius:5px}.provenance{font-size:16px}.provenance p{max-width:1000px}footer{padding:30px;text-align:center;background:#143c53;color:white;font-size:15px}@media(max-width:760px){header{position:relative;display:block;padding:18px 20px}nav{margin-top:12px;gap:15px;flex-wrap:wrap;font-size:16px}main{padding:0 18px}.hero{padding-top:42px}.lead{font-size:21px}.section-heading{display:block}.case-list,.outline{grid-template-columns:1fr}h2{font-size:29px}.lab-panel{padding:16px}.chart{height:300px}section{padding:38px 0}.controls{grid-template-columns:1fr}.lecture-nav{gap:8px}.lecture-nav button{font-size:16px;padding:7px 10px}.lecture:fullscreen img{width:100vw;height:auto}}@media print{header,.hero,#course,#cases,#lab,.controls,button,.downloads,.provenance,footer{display:none}body{background:white;color:black;font-size:12pt}main{padding:0}section{padding:0;border:0}input,textarea{border:1px solid #aaa}#project h2{font-size:20pt}}