@font-face{font-family:MBA-YaHei;src:url('../assets/msyh.ttc');font-weight:400;font-display:block}
@font-face{font-family:MBA-YaHei;src:url('../assets/msyhbd.ttc');font-weight:700;font-display:block}
:root{--blue:#003f98;--ink:#002060;--red:#c00000;--aux:#0070c0;--scale:1}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#e7e9ed;color:var(--ink);font-family:MBA-YaHei,'Microsoft YaHei','微软雅黑',Arial,'PingFang SC',sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--aux);outline-offset:3px}
#viewport{position:fixed;inset:0;display:grid;place-items:center}#mount{position:absolute;left:50%;top:50%;width:1600px;height:900px;transform:translate(-50%,-50%) scale(var(--scale));transform-origin:center}
.slide{position:relative;width:1600px;height:900px;background:white;overflow:hidden;font-size:34px;line-height:1.4;font-weight:600}.slide-header{height:112px;position:relative}.header-img{position:absolute;top:16px;left:0;width:1600px;height:auto;pointer-events:none}.slide-title{position:absolute;left:34px;top:22px;max-width:1250px;font-size:56px;font-weight:700;line-height:1.16;margin:0;color:var(--blue);z-index:1}.body{position:absolute;top:140px;left:48px;width:1504px;height:718px}
.at{position:absolute;box-sizing:border-box}.txt{font-size:34px;line-height:1.4}.label{font-size:30px;line-height:1.4}.small{font-size:28px;line-height:1.4}.caption{font-size:27px;line-height:1.35;font-weight:400}.h2{font-size:40px;line-height:1.3;font-weight:700}.red{color:var(--red)}.ink{color:var(--ink)}.black{color:#000}.blue{color:var(--blue)}.center{text-align:center}.strong{font-weight:700}.future{visibility:hidden!important}.figure{position:relative}.slide p{margin:0}.slide svg{display:block}.slide img{object-fit:contain}.slide a{color:var(--blue)}
.controls-zone{position:fixed;bottom:0;left:0;width:100%;height:68px;display:flex;justify-content:center;align-items:center;z-index:30;pointer-events:auto}#controls{pointer-events:auto;display:flex;gap:4px;align-items:center;padding:7px 9px;border:1px solid #b9c6d9;border-radius:6px;background:#fffffff7;color:var(--ink);font:15px/1.3 Arial,MBA-YaHei,sans-serif;opacity:0;transition:opacity .15s;box-shadow:0 2px 12px #00206012}.controls-zone:hover #controls,#controls:focus-within,body.controls-visible #controls{opacity:1}.controls-zone.locked{height:12px;min-height:12px;padding:0;pointer-events:auto}.controls-zone.locked #controls{opacity:0;pointer-events:none}#controls button{border:0;border-radius:3px;padding:8px 10px;background:transparent;color:inherit}#controls button:hover{background:#edf2fa}#controls button:disabled{opacity:.35;cursor:default}#page-input{width:68px;padding:5px;border:1px solid #a7b7cc;color:inherit;border-radius:2px}#jump-form{display:flex;align-items:center;gap:4px}#step-label{font-size:13px;padding:0 9px;min-width:76px}
.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}dialog{width:min(1140px,94vw);max-height:90vh;padding:0;border:1px solid #9badc9;border-radius:5px;color:var(--ink);background:#fff;font-weight:400}dialog::backdrop{background:#06122b88}.dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:18px 25px;border-bottom:2px solid var(--blue);z-index:1}.dialog-head h2{font-size:25px;margin:0}.dialog-head button{border:1px solid #a3b3cc;background:white;color:var(--ink);padding:7px 12px}.dialog-content{padding:25px 28px 30px;font-size:20px;line-height:1.65}dialog:not(.zoom-dialog) .dialog-content p{margin:0 0 18px}dialog:not(.zoom-dialog) .dialog-content h3{font-size:23px;margin:20px 0 10px}dialog:not(.zoom-dialog) .dialog-content a{color:var(--blue);overflow-wrap:anywhere}dialog:not(.zoom-dialog) .dialog-content pre{font:20px/1.6 MBA-YaHei,Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;border-left:3px solid #9badc9;padding-left:18px}.toc{list-style:none;padding:0;margin:0}.toc button{width:100%;display:flex;gap:20px;text-align:left;border:0;padding:9px 12px;background:#fff;color:var(--ink)}.toc button:hover,.toc button.current{background:#edf2fa}.toc-number{min-width:40px;color:var(--blue)}.zoom-dialog{width:min(1600px,98vw);max-width:98vw}.zoom-pane{position:relative;overflow:hidden;background:white}.zoom-pane .zoom-content{transform-origin:top left;position:absolute}.zoom-trigger{position:fixed;width:1px;height:1px;opacity:0}kbd{font:17px monospace;padding:2px 6px;background:#f3f6fa;border:1px solid #b9c5d8;border-radius:3px}.key-help{display:grid;grid-template-columns:210px 1fr;gap:12px}.help-hint{color:#415478;font-size:16px;margin-top:22px!important}
@media(hover:none){#controls{opacity:1;max-width:98vw;overflow:auto;white-space:nowrap}.controls-zone{height:58px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{body{overflow:visible;background:white}#viewport,.controls-zone,dialog{display:none}#print-deck{display:block!important}.slide{page-break-after:always;break-after:page;zoom:.96}.slide:last-child{page-break-after:auto}}@page{size:16in 9in;margin:0}#print-deck{display:none}
.zoom-pane{height:65vh;overflow:auto;border:1px solid #d2dbe8}.zoom-area{position:relative}.zoom-content{color:var(--ink);font-weight:600;line-height:1.4}.zoom-tools{display:flex;align-items:center;gap:14px;margin-bottom:15px;font-size:17px}.zoom-tools button{border:1px solid #9badc9;background:white;color:var(--blue);padding:4px 16px;font-size:22px}.zoom-tools span:last-child{margin-left:12px;color:#415478}

/* Keep visible playback controls outside the fitted slide. */
.controls-zone{height:auto;min-height:68px;padding:6px 0}#controls{max-width:calc(100vw - 12px);flex-wrap:wrap;justify-content:center}#controls button,#step-label,#jump-form{flex-shrink:0;white-space:nowrap}#controls button{line-height:1.3}
.trace-scroll-list{position:relative;display:flex;flex-direction:column;gap:9px;flex:1;min-height:0;overflow-y:scroll;overscroll-behavior:contain;scrollbar-gutter:stable;background:#f6f7f9;border:1px solid #b8c8d9;padding:8px;box-sizing:border-box}
.trace-scroll-list:focus-visible{outline:2px solid #0070c0;outline-offset:2px}
.trace-scroll-list::-webkit-scrollbar{width:12px}
.trace-scroll-list::-webkit-scrollbar-track{background:#e9edf2}
.trace-scroll-list::-webkit-scrollbar-thumb{background:#9baebf;border:3px solid #e9edf2;border-radius:8px}
