/* V3: the diagrams occupy their own space; prose never rides on a canvas. */
.spatial-view{position:relative;overflow:hidden;isolation:isolate;color:#b9d6d6;background:#0a293c}
.spatial-view canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene-kicker{position:absolute;top:20px;left:24px;z-index:1;font-size:13px;letter-spacing:.14em;color:#acd1cd}
.spatial-view figcaption{position:absolute;bottom:18px;left:24px;right:24px;z-index:1;font-size:11px;letter-spacing:.08em;color:#96b8bf}
.spatial-fallback{position:absolute;inset:18% 20%;border:1px solid #75c7ba66;border-radius:50%;transform:rotate(-18deg)}
.spatial-fallback span{position:absolute;inset:0 25%;border:1px solid #75c7ba55;border-radius:50%}
.spatial-fallback span:nth-child(2){inset:25% 0}.spatial-fallback span:nth-child(3){inset:44% -10%;transform:rotate(30deg);border-color:#d6c39b}
.spatial-fallback i{position:absolute;right:15%;top:20%;width:7px;height:7px;border-radius:50%;background:#b9f0df}
.spatial-view.is-rendered .spatial-fallback{visibility:hidden}
.connections .knowledge-map{grid-template-columns:1fr 430px 1fr;gap:26px;margin-top:28px}
.connections .knowledge-group{padding-right:0}.connections .knowledge-group h3{font-size:36px}
.connections .node-tags{gap:28px}.spatial-network{height:302px;background:transparent}
.spatial-network .scene-kicker{left:0;right:0;text-align:center;top:8px;font-size:12px}
.spatial-network figcaption{left:0;right:0;text-align:center;bottom:4px;font-size:10px}
.connections .frontier-strip{margin-top:21px}
.research-visual .spatial-satellite{height:240px;margin-bottom:16px;background:#0a293c}
.research-visual .spatial-satellite figcaption{padding:0;color:#b7d5d6}
.research-visual figure:not(.spatial-view) img{height:220px;object-fit:contain}
.research-visual figure:not(.spatial-view) figcaption{font-size:11px;padding:7px 12px}
.research-date{margin-top:12px;padding-top:12px}
.global-layout{grid-template-columns:1fr 1fr;gap:70px}
.global-number{padding-top:0}.global-number:after{display:none}
.global-number strong{font-size:110px;line-height:1}.global-number strong .number-suffix{font-size:58px}
.global-number p{font-size:18px;line-height:1.65;margin-top:12px}
.global-number>.micro-label{position:absolute;right:0;top:5px;max-width:140px;line-height:1.7;margin:0;text-align:right}
.spatial-globe{height:235px;margin-top:14px;background:transparent}
.spatial-globe .scene-kicker{top:7px;left:0;font-size:11px}.spatial-globe figcaption{left:0;bottom:2px;font-size:10px}
#spatial-toggle{font-family:Georgia,serif;font-size:14px;letter-spacing:-.02em;border:1px solid var(--line);width:34px;height:30px}
#spatial-toggle[aria-pressed=true]{color:var(--mint)}.light #spatial-toggle[aria-pressed=true]{color:#397b73}
#spatial-toggle[aria-pressed=false]{opacity:.55}
.control-actions button{transition:background 180ms var(--ease),color 180ms var(--ease),transform 120ms var(--ease)}
.control-actions button:active:not(:disabled){transform:scale(.94)}
.masthead,.controls{transition:color 220ms,border-color 220ms}.brand img{transition:filter 220ms}
.signal-rail span{transition:transform 480ms var(--ease)}
.page-track button:after{transition:opacity 180ms,transform 220ms var(--ease)}
@media (hover:none){.page-track button:hover:after{transform:none}}
@media (max-width:700px) and (orientation:portrait){
  .connections .knowledge-map{display:flex;flex-direction:column;gap:12px;margin-top:22px;align-items:stretch}
  .connections .knowledge-group h3{font-size:28px}.connections .knowledge-group{padding:18px 0}
  .connections h2 .accent{white-space:nowrap}
  .history-watermark{left:auto;right:0;font-size:105px}
  .spatial-network{height:220px;width:100%}.connections .frontier-strip{margin-top:25px}
  .research-visual .spatial-satellite{height:240px;margin-bottom:14px}
  .research-visual figure:not(.spatial-view) img{height:auto;aspect-ratio:16 / 9}
  .global-layout{display:block}.global-number strong{font-size:105px}
  .global-number p{font-size:16px}.global-number>.micro-label{display:none}
  .spatial-globe{height:260px;margin-bottom:26px}
  .scene-kicker{font-size:11px;left:16px;top:16px}.spatial-view figcaption{font-size:10px;left:16px;right:12px;bottom:12px}
  .page-track{top:0;width:100%;gap:6px;height:22px}.page-track button{flex:1;width:auto;height:22px}.page-track button:after{top:7px}
  .control-actions{position:absolute;left:0;right:0;bottom:6px;height:44px;gap:7px;padding:0;justify-content:flex-end}.control-actions button,.control-actions #replay{width:40px;height:44px}
  #spatial-toggle{width:36px;min-width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){.control-actions button:active:not(:disabled){transform:none}}
@media print{.spatial-view canvas{display:none}.spatial-view .spatial-fallback,.spatial-view.is-rendered .spatial-fallback{visibility:visible}}

.bupt-video-link{border-radius:2px;text-decoration:none}
.bupt-video-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media (hover:hover) and (pointer:fine){.bupt-video-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}}

/* Two physical cards share the same stage. Their order is a presentation beat. */
.research-stack{position:relative;height:462px;isolation:isolate}
.research-visual .research-stack .research-card{position:absolute;left:0;top:0;width:calc(100% - 28px);height:424px;margin:0;overflow:hidden;transform:translate(0,28px) scale(.975);transform-origin:center;z-index:1;border:1px solid rgba(23,52,71,.14);border-radius:3px;box-shadow:0 7px 14px -6px #09243840,0 20px 34px -20px #09243860;backface-visibility:hidden}
.research-visual .research-stack .research-card.is-front{transform:translate(28px,0) scale(1);z-index:2;box-shadow:0 4px 8px -3px #09243830,0 22px 36px -16px #09243866}
.research-visual .research-stack .research-news{display:grid;grid-template-rows:minmax(0,1fr) 38px;background:#e5e4dc}
.research-visual .research-stack .research-news img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:contain}
.research-visual .research-stack .research-news figcaption{position:static;padding:10px 14px;font-size:11px;line-height:17px;background:var(--paper);color:#64716f}
.research-card-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#537466}
.research-card-controls button{padding:8px 0 8px 14px;color:#245b55;font-size:13px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.research-card-controls button:focus-visible{outline-color:#397b73}
.research-card-controls button:active{opacity:.65}
.research-date{margin-top:8px;padding-top:10px}
@media (max-width:700px) and (orientation:portrait){
  .research-stack{height:auto;aspect-ratio:1.18}
  .research-visual .research-stack .research-card{width:calc(100% - 20px);height:calc(100% - 32px);transform:translate(0,20px) scale(.975)}
  .research-visual .research-stack .research-card.is-front{transform:translate(20px,0) scale(1)}
  .research-visual .research-stack .research-news{grid-template-rows:minmax(0,1fr) 38px}
  .research-visual .research-stack .research-news figcaption{font-size:9px;line-height:14px;padding:6px 8px}
  .research-card-controls{font-size:10px}.research-card-controls button{font-size:11px;min-height:44px}
}
@media print{
  .research-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:310px}
  .research-visual .research-stack .research-card,.research-visual .research-stack .research-card.is-front{position:relative;width:100%;height:280px;transform:none!important;box-shadow:none}
  .research-card-controls{display:none}
}
