/* First-screen art direction: blue-hour campus, warm windows, rounded cartoon. */
#journey:is([data-phase=portal],[data-phase=future]),#travel-opening[data-phase=portal]{background:#162e51;color:#fff}
#journey:is([data-phase=portal],[data-phase=future]) #journey-bg,
#journey:is([data-phase=portal],[data-phase=future]) .journey-shade,
#travel-opening[data-phase=portal] [data-original-id=journey-bg],#travel-opening[data-phase=portal] .journey-shade{display:none}
.game-backdrop{position:absolute;inset:-30px;pointer-events:none;transform-origin:73% 65%;z-index:0}
.scene-far{position:absolute;inset:0;background:url('../finish-audit-20261026/web/campus.webp') center/cover no-repeat}
.game-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081b35e6 0%,#0c2346a6 40%,#10284b0d 64%),linear-gradient(0deg,#08182a9c,transparent 24%)}
#journey:is([data-phase=portal],[data-phase=future]) #journey-progress,
#travel-opening[data-phase=portal] [data-original-id=journey-progress]{font-size:16px;gap:18px;color:#b9cbe3;z-index:5}
#journey:is([data-phase=portal],[data-phase=future]) #journey-progress b{color:#a8c0df}
#journey:is([data-phase=portal],[data-phase=future]) #journey-progress .past{color:#b9cbe3}
#journey:is([data-phase=portal],[data-phase=future]) #journey-progress i{background:#bcd5f24a}
#journey:is([data-phase=portal],[data-phase=future]) #journey-progress .current{color:#fff;font-weight:700}
#journey:is([data-phase=portal],[data-phase=future]) #journey-progress .current b{background:#fff;color:#203b60}
.hero-scene{position:absolute;left:875px;top:106px;width:600px;height:758px;pointer-events:none;z-index:2}
.character-parallax,.character-reveal{position:absolute;inset:0;transform-origin:50% 96%}
.character-art{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 96%;filter:drop-shadow(7px 12px 7px #07142744)}
.character-ground{position:absolute;left:31%;right:19%;height:24px;bottom:14px;background:radial-gradient(ellipse,#041327bd,transparent 69%)}
.scene-foreground{position:absolute;right:-120px;bottom:19px;width:390px;height:290px;pointer-events:none;z-index:3}
.foreground-reveal{width:100%;height:100%}.scene-foreground img{width:100%;height:100%;object-fit:contain}
.character-error{position:absolute;left:0;right:0;top:40%;text-align:center;font-size:21px;color:#fff;background:#152c4bda;padding:20px}
.hero-scene:not([data-ready]):not([data-error]):before{content:'正在准备人物';position:absolute;inset:40% 0;text-align:center;font-size:20px;color:#dce8f5}
.portal-copy.game-prep{position:absolute;top:201px;left:80px;right:auto;width:660px;text-align:left;text-shadow:0 2px 14px #07172c55;z-index:4}
.game-prep .journey-kicker,.future-copy .journey-kicker{font-size:19px;letter-spacing:3px;color:#c1d6f0;margin:0 0 23px;font-weight:400}
.portal-copy.game-prep h1{font-size:68px;line-height:1.25;letter-spacing:0;margin:0 0 23px;font-weight:700}
.game-prep h1 em{font-style:normal;display:block;color:#fff}
.game-prep .prep-caption{font-size:25px;line-height:1.7;color:#fff;margin:0 0 21px}
.prep-caption>span{font-size:21px;color:#c4d4e8}
.prep-resources{width:610px;border-top:1px solid #c5d8f14a}
.prep-resources>div{display:flex;align-items:center;gap:17px;min-height:61px;border-bottom:1px solid #c5d8f13b}
.prep-resources i{font-style:normal;font-size:14px;color:#b3cae8;letter-spacing:1px}
.prep-resources strong{font-size:23px;font-weight:700;white-space:nowrap}
.prep-resources span{margin-left:auto;font-size:18px;color:#c6d7ea}
.game-prep-bottom{position:absolute;left:80px;bottom:116px;z-index:4}
:is(#journey,#travel-opening)[data-phase=portal] .journey-primary{height:66px;min-width:318px;background:#fff;color:#15263f;border-radius:40px;padding:0 31px;font-size:23px;gap:42px;box-shadow:0 0 22px #d6e7ff1f}
:is(#journey,#travel-opening)[data-phase=portal] .journey-primary:hover{box-shadow:0 0 0 5px #ffffff26,0 0 35px #ffffff30;transform:scale(1.025)}
.character-caption{position:absolute;right:79px;top:217px;width:122px;color:#fff;border-top:1px solid #c3dcff69;padding-top:12px;z-index:4;text-shadow:0 2px 8px #10213b}
.character-caption>span{font-size:15px;letter-spacing:2px;color:#c4d8ef}
.character-caption strong{display:block;font-size:20px;line-height:1.55;margin-top:8px;font-weight:400;text-wrap:balance}
.game-smallprint{position:absolute;left:80px;bottom:79px;color:#b5c6dc;font-size:14px;letter-spacing:.5px;z-index:4}
#journey[data-phase=future] .hero-scene{left:810px;top:80px;width:730px;height:804px}
#journey[data-phase=future] .future-copy{left:80px;top:250px;width:690px;text-align:left;z-index:4}
#journey[data-phase=future] .future-copy .journey-kicker{font-size:19px;letter-spacing:3px;color:#d9c6a1;margin:0 0 24px}
#journey[data-phase=future] .future-copy h1{font-size:74px;line-height:1.2;letter-spacing:-1px;color:#fff;margin:0;font-weight:700;text-wrap:balance;text-shadow:0 3px 16px #06162a66}
#journey[data-phase=future] .future-english{font-size:16px;letter-spacing:3px;color:#c3d6ed;margin-top:18px}
#journey[data-phase=future] .future-promise{font-size:26px;line-height:1.65;color:#d8e4f3;max-width:580px;margin:33px 0 0;text-wrap:pretty}
#journey[data-phase=future] .future-tags{display:flex;gap:0;margin-top:36px;width:610px;border-top:1px solid #c5d8f14a;border-bottom:1px solid #c5d8f14a;padding:22px 0}
#journey[data-phase=future] .future-tags>span{flex:1;padding:0 20px;border:0;border-right:1px solid #c5d8f14a;border-radius:0;background:none;color:#fff;font-size:23px;white-space:nowrap}
#journey[data-phase=future] .future-tags>span:first-child{padding-left:0}
#journey[data-phase=future] .future-tags>span:last-child{border-right:0}
.future-tags small{font-size:12px;letter-spacing:2px;display:block;color:#aec6e4;margin-bottom:7px}
#journey[data-phase=future] .future-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:35px;width:660px}
#journey[data-phase=future] .future-actions .journey-primary{height:59px;border-radius:32px;background:#fff;color:#15263f;padding:0 23px;font-size:21px;box-shadow:0 0 22px #d6e7ff1f}
#journey[data-phase=future] .future-actions .outline{height:57px;font-size:20px;color:#fff;border:1px solid #c6daef85;background:#122b4a88;border-radius:32px;padding:0 22px}
#journey[data-phase=future] .future-actions .outline:last-child{font-size:17px;background:none;border-color:transparent;padding:0 3px}
#journey[data-phase=future] .future-actions button:hover{box-shadow:0 0 0 4px #ffffff22;transform:translateY(-2px)}
#journey[data-phase=future] .future-boundary{font-size:14px;color:#b5c6dc;margin-top:20px}
#journey[data-phase=future] .future-signature{left:auto;right:92px;bottom:101px;color:#fff;text-align:right;font-size:22px;text-shadow:0 2px 8px #10213b;z-index:4}
#journey[data-phase=future] .future-signature span{font-size:15px;color:#d4e3f5;margin-top:7px}
.is-travelling .character-reveal,.is-travelling .game-backdrop,.is-travelling .foreground-reveal{will-change:transform,opacity}
.home-depth{position:absolute;inset:0;z-index:-2;pointer-events:none;background:#162e51}
#stage:not([data-level=home]) .home-depth{display:none}
.home-depth .hero-scene{left:933px;top:65px;width:620px;height:840px}
.home-depth .game-backdrop:after{background:linear-gradient(90deg,#081b355c,transparent 59%)}
.home-depth .scene-foreground{right:-150px;bottom:0;width:390px;height:290px}
/* Product founder: identity stays, outfit and professional setting advance. */
[data-setting=launch] .scene-far{background-image:url('assets/founder-hall.png')}
[data-setting=launch] .game-backdrop:after{background:linear-gradient(90deg,#07172db3 0%,#0c213775 39%,transparent 65%),linear-gradient(0deg,#08182a8a,transparent 25%)}
#journey[data-phase=future] [data-setting=launch] .hero-scene{left:780px;top:78px;width:690px;height:806px}
[data-setting=launch] .scene-foreground{right:12px;bottom:80px;width:298px;height:395px}
[data-setting=launch] .character-caption,[data-setting=launch] .future-signature{display:none}
/* Other futures share the character identity, but have their own wardrobe and place. */
[data-setting]:not([data-setting=campus]) .game-backdrop:after{background:linear-gradient(90deg,#07172db3 0%,#0c213775 39%,transparent 65%),linear-gradient(0deg,#08182a8a,transparent 25%)}
#journey[data-phase=future] [data-setting]:not([data-setting=campus]) .hero-scene{left:780px;top:78px;width:690px;height:806px}
[data-setting]:not([data-setting=campus]) .character-caption,[data-setting]:not([data-setting=campus]) .future-signature{display:none}
[data-setting=studio] .scene-foreground{right:12px;bottom:71px;width:260px;height:350px}
[data-setting=industry] .scene-foreground{right:-4px;bottom:75px;width:350px;height:360px}
[data-setting=asean] .scene-foreground{right:1px;bottom:78px;width:285px;height:350px}
@media(prefers-reduced-motion:reduce){.character-parallax,.character-reveal,.game-backdrop,.scene-far,.scene-foreground,.foreground-reveal{animation:none!important;transition:none!important;transform:none!important}}
