/* The academic index lives alongside a real, continuously rendered 3D world. */
:root { --world-blue: #315bba; --page: #f5f7fc; }
body,.site-header { background: var(--page); }
.site-header { background: #f5f7fcdd; border-color: #dce3f080; backdrop-filter: blur(18px); }
.scene-enhanced .guide-viewport { background: transparent; }
.scene-enhanced .guide-viewport::after { display: block; background: linear-gradient(90deg,#f5f7fc 0%,#f5f7fcf5 23%,#f5f7fcd9 34%,#f5f7fc35 48%,transparent 59%); }
.scene-enhanced.content-open .guide-viewport::after { background: linear-gradient(90deg,#f5f7fc 0%,#f5f7fcfc 47%,#f5f7fce8 57%,#f5f7fc44 67%,transparent 77%); }
.scene-enhanced .guide-stage { transition: none; }
.scene-enhanced:not(.content-open) .profile { width: 470px; }
.profile-vision em { color: #4265af; }
.primary-action { border-radius: 24px; padding-left: 20px; padding-right: 20px; }
.guide-play { right: 5%; bottom: 22px; background: #ffffffcb; backdrop-filter: blur(14px); border-color: #ffffffdb; box-shadow: 0 8px 30px #314d7010; }
.guide-play button { font-size: 12px; }
.world-tip { position: absolute; right: 5%; top: 27px; z-index: 5; display: flex; align-items: center; gap: 9px; font-size: 11px; letter-spacing: .2px; color: #566b8a; }
.world-tip svg { width: 17px; height: 17px; }
.world-drag-hint { display: inline-flex; align-items: center; gap: 9px; }
.world-reset { padding: 7px 12px; border: 1px solid #d5deeb; border-radius: 18px; background: #ffffffd9; color: #3c5f88; font-size: 12px; }
.world-reset:hover { background: #fff; border-color: #9db6d5; }
.journey-signpost { top: 60px; right: 5%; }
.world-labels { position: absolute; inset: 0; pointer-events: none; z-index: 3; overflow: hidden; }
.world-marker { position: absolute; left: 0; top: 0; display: flex; gap: 7px; align-items: center; padding: 8px 12px; background: #fffffff0; color: #315275; border: 1px solid #ffffff; border-radius: 20px; font: 500 12px/1.2 var(--sans); pointer-events: auto; box-shadow: 0 5px 20px #25486c13; transform: translate(-50%,-50%); transition: background .2s,box-shadow .2s; white-space: nowrap; }
.world-marker > span { color: #7491b5; font-size: 9px; }
.world-marker:hover,.world-marker[aria-current] { background: #365fab; color: #fff; box-shadow: 0 5px 24px #365fab30; }
.world-marker[aria-current] > span { color: #d7e4ff; }
.world-marker[hidden] { display: none!important; }
.guide-backdrop { background: radial-gradient(ellipse at 80% 55%,#deebe9 0%,#e5edf7 40%,#f5f7fc 80%); }
.guide-backdrop::before,.guide-backdrop::after { display: none; }
.scene-enhanced .journey-route { background: #f9fbff; border-color: #dce4f2; }
.route-track a { color: #4b607e; }
.research-direction { background: #ffffffdf; }
.route-traveler { width: 54px; height: 54px; top: -29px; opacity: 0; filter: none; pointer-events: none; }
.route-traveler.robot-ready { opacity: 1; }
.route-robot { display: block; width: 100%; height: 100%; }
.scene-enhanced .journey-route { padding-top: 4px; }
.route-header { height: 27px; }
.route-header > span { align-self: flex-start; padding-top: 1px; }
@media (max-width: 960px) {
 .scene-enhanced:not(.content-open) .profile { width: 100%; }
 .world-tip { font-size: 10px; right: 16px; top: 15px; }
 .content-open .world-tip { display: none; }
 .world-marker { font-size: 10px; padding: 6px 9px; gap: 5px; }
 .scene-enhanced .guide-viewport::after,.scene-enhanced.content-open .guide-viewport::after { display: none; }
 .scene-enhanced:not(.content-open) .guide-viewport { border: 1px solid #e0e7f1; background: #e7eef8; }
 .scene-enhanced:not(.content-open) .world-tip,.scene-enhanced:not(.content-open) .world-labels { display: none; }
 .content-open .world-marker { padding: 5px 8px; }
 .route-traveler { width: 46px; height: 46px; top: -25px; }
}
@media (min-width: 600px) and (max-width: 960px) and (max-height: 450px) { .content-open .world-labels { display: none; } }
@media (prefers-reduced-motion: reduce) { .world-tip { display: none; } }
@media(max-width:600px){
 .scene-enhanced .site-header{height:56px;min-height:56px;padding:8px 22px;display:flex;align-items:center;flex-wrap:nowrap;}
 .scene-enhanced .site-header .main-nav{display:none;}
 .scene-enhanced .site-header .wordmark{margin-right:auto;}
 .scene-enhanced:not(.content-open) .journey-layout{display:flex;flex-direction:column;gap:0;padding-top:18px;}
 .scene-enhanced:not(.content-open) .profile{display:contents;}
 .scene-enhanced:not(.content-open) .profile>*{margin-left:22px;margin-right:22px;width:auto;}
 .scene-enhanced:not(.content-open) .profile-kicker{order:0;margin-bottom:12px;}
 .scene-enhanced:not(.content-open) .profile-identity{order:1;max-width:none;min-height:0;padding:0;}
 .scene-enhanced:not(.content-open) h1{font-size:32px;}
 .scene-enhanced:not(.content-open) .chinese-name{margin-top:5px;}
 .scene-enhanced:not(.content-open) .profile-vision{order:2;margin-top:13px;margin-bottom:9px;line-height:1.45;}
 .scene-enhanced:not(.content-open) .profile-vision em{font-size:25px;}
 .scene-enhanced:not(.content-open) .bio{order:3;font-size:16px;line-height:1.6;}
 .scene-enhanced:not(.content-open) .journey-layout>.guide-stage{order:4;position:relative;inset:auto;width:100%;height:220px;z-index:1;margin:12px 0 0;}
 .scene-enhanced:not(.content-open) .guide-viewport{border:0;border-radius:0;background:transparent;}
 .scene-enhanced:not(.content-open) .guide-viewport::after{display:block;background:linear-gradient(180deg,#f5f7fc 0%,#f5f7fc00 15%,#f5f7fc00 90%,#f5f7fc 100%);}
 .scene-enhanced:not(.content-open) .research-interests{order:5;margin-top:8px;}
 .scene-enhanced:not(.content-open) .profile-actions{order:6;margin-top:14px;margin-bottom:5px;}
 .scene-enhanced:not(.content-open) .social-links{order:7;}
 .scene-enhanced:not(.content-open) .profile-updates{order:8;margin-top:12px;margin-bottom:24px;}
 .scene-enhanced:not(.content-open) .section-nav{order:9;}
 .scene-enhanced:not(.content-open) .journey-main{order:10;}
}
@media(max-width:360px){
 .scene-enhanced:not(.content-open) .profile>*{margin-left:18px;margin-right:18px;}
 .scene-enhanced:not(.content-open) h1{font-size:29px;}
 .scene-enhanced:not(.content-open) .profile-vision em{font-size:23px;}
 .scene-enhanced:not(.content-open) .journey-layout>.guide-stage{height:190px;}
}
