#contrast-root{display:none}
.is-contrast #contrast-root{display:block;position:fixed;inset:0;background:#14262a;overflow:hidden}
.is-contrast #contrast-root[hidden]{display:none}
.is-contrast #hall-root,.is-contrast .world-copy,.is-contrast .cinema-shade,.is-contrast .world-footer,.is-contrast .object-controls,.is-contrast .insight-note{display:none}
.is-contrast .site-header{height:80px;padding:0 3%;background:linear-gradient(180deg,#f3f2ebe8,#f3f2eb00);transition:background .5s;color:#1a333a;align-items:center}
.is-contrast .brand{font-size:20px;letter-spacing:3px;color:#173741}
.is-contrast .brand-mark{color:#25474b}.is-contrast .brand small{font-size:7px;letter-spacing:1.7px}
.is-contrast .main-nav{gap:20px;font-family:inherit}
.is-contrast .main-nav button{color:#244047;font-size:12px;letter-spacing:0}
.is-contrast #header-count{color:inherit;border-color:#29454c29;background:#2848540c}
.is-contrast .main-nav button[data-action=sound]{display:none}
.is-contrast .main-nav button:first-child{display:none}
#contrast-switch{display:none}
.is-contrast #contrast-switch{display:flex;position:absolute;left:50%;transform:translateX(-50%);gap:12px;align-items:center;padding:5px;background:#ffffff5e;border:1px solid #2443491f;border-radius:32px;color:#28434a;backdrop-filter:blur(18px);font-size:12px}
#contrast-switch button{padding:8px 15px;background:transparent;border:0;color:inherit;border-radius:22px;white-space:nowrap;font-size:12px;transition:background .3s,color .3s}
#contrast-switch button.selected{background:#28484d;color:#f9f4e8;box-shadow:0 2px 8px #14313d14}
#contrast-switch i{font-family:Georgia,serif;font-size:12px;font-style:normal;margin-right:7px;opacity:.6}
#contrast-switch>span{font-size:12px;opacity:.4}
.ordinary-zoom{position:absolute;inset:0;transform-origin:0 0;will-change:transform}
.ordinary-space{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.ordinary-photo{width:100%;height:100%;display:block;object-fit:cover}
.ordinary-slide{position:absolute;left:35.35%;top:14.85%;width:29.2%;height:30.56%;overflow:hidden;background:#fafbfe;color:#214b71;padding:calc(30px * var(--photo-scale));box-shadow:inset 0 0 18px #37486812;font-family:'Microsoft YaHei','PingFang SC',sans-serif;text-align:left}
.slide-rule{position:absolute;left:0;top:0;height:calc(9px * var(--photo-scale));right:0;background:#174e76}
.slide-subject{font-size:calc(9px * var(--photo-scale));letter-spacing:calc(2px * var(--photo-scale));color:#728699}
.ordinary-slide h2{font-size:calc(35px * var(--photo-scale));font-weight:600;line-height:1.35;letter-spacing:calc(3px * var(--photo-scale));margin:calc(10px * var(--photo-scale)) 0 calc(5px * var(--photo-scale))}
.ordinary-slide .slide-caption{font-size:calc(10px * var(--photo-scale));margin:0;color:#7690a1}
.ordinary-slide ol{margin:calc(24px * var(--photo-scale)) 0 0 calc(15px * var(--photo-scale));padding:0;font-size:calc(12px * var(--photo-scale));line-height:2.45;color:#456378}
.ordinary-slide>img{position:absolute;right:calc(24px * var(--photo-scale));top:calc(36px * var(--photo-scale));width:calc(125px * var(--photo-scale));height:calc(201px * var(--photo-scale));object-fit:contain;border:1px solid #dae0e9;opacity:.95}
.slide-page{position:absolute;right:calc(27px * var(--photo-scale));bottom:calc(16px * var(--photo-scale));font-size:calc(9px * var(--photo-scale));color:#8293a3;letter-spacing:1px}
.entrance-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0c202bec 0%,#122c36a3 22%,transparent 58%);pointer-events:none;transition:opacity .6s}
.before-story{position:absolute;left:25px;right:25px;bottom:11.5%;color:#fff9eb;text-align:center;transition:opacity .32s,transform .7s;z-index:3}
.contrast-eyebrow{font-size:11px;letter-spacing:3px;color:#e9e5dbbd;margin:0 0 17px;font-weight:400}
.before-story h1{font-family:'Songti SC','STSong','SimSun',serif;font-size:clamp(30px,3.4vw,55px);font-weight:400;line-height:1.4;letter-spacing:3px;margin:0;text-shadow:0 3px 35px #0d233b30}
.before-description{font-size:13px;letter-spacing:1.2px;color:#e5e7e2bb;margin:16px 0 25px}
.before-description span{margin-left:12px}
.cross-button{display:inline-flex;align-items:center;gap:45px;border:1px solid #fff3cf99;border-radius:50px;background:#f6edd9;color:#203e4c;padding:15px 17px 15px 28px;min-height:58px;box-shadow:0 10px 40px #081e3450,0 0 30px #f6edd917;transition:transform .3s,box-shadow .3s;font-family:'Songti SC','STSong',serif;font-size:17px;letter-spacing:2px}
.cross-button:hover{transform:translateY(-3px);box-shadow:0 15px 50px #081e3490,0 0 40px #f6edd939}
.cross-arrow{width:28px;height:28px;border-radius:50%;background:#234757;color:#f8edcf;font:21px Arial,sans-serif;line-height:28px}
.cancel-cross,.continue-class{display:block;border:0;background:none;color:#f5ebd7c2;font-size:11px;padding:10px 16px;margin:5px auto 0;letter-spacing:1px}
.cancel-cross[hidden],.continue-class[hidden]{display:none}
.cross-status{font-size:12px;line-height:1.7;color:#ffe4a8;max-width:480px;margin:10px auto 0}
.cross-status:empty{display:none}
.before-caption{position:absolute;bottom:26px;left:3%;right:3%;display:flex;justify-content:space-between;color:#eeefdf92;font-size:10px;letter-spacing:1.4px;transition:opacity .3s;pointer-events:none}
.before-caption>span:first-child{display:flex;align-items:center;gap:10px}.before-caption i{display:block;width:5px;height:5px;border-radius:50%;background:#d2ddda}
.case-window{position:absolute;inset:0;visibility:hidden;pointer-events:none;background:#122832;overflow:hidden;z-index:1}
.case-window iframe{width:100%;height:100%;border:0;display:block}
.threshold-frame{position:absolute;z-index:2;pointer-events:none;border:1px solid #fff3bd;opacity:0;box-shadow:0 0 25px 10px #f8e5b13b,inset 0 0 25px #ffebba21}
.crossing-line{position:absolute;bottom:14%;left:0;right:0;z-index:2;text-align:center;color:#fffcf0;pointer-events:none;opacity:0;font-family:'Songti SC','STSong',serif;font-size:24px;letter-spacing:7px;text-shadow:0 2px 30px #091e32}
[data-mode=crossing] .before-story{opacity:0;transform:translateY(15px);pointer-events:none}
[data-mode=crossing] .entrance-shade,[data-mode=crossing] .before-caption{opacity:0}
[data-mode=crossing] .case-window{visibility:visible}
[data-mode=crossing] .threshold-frame{animation:thresholdFlash 1.2s ease-out both}
[data-mode=crossing] .crossing-line{animation:crossingWords 2.6s ease both}
body[data-contrast=crossing] .site-header{opacity:0;pointer-events:none;transition:opacity .3s}
@keyframes thresholdFlash{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
@keyframes crossingWords{0%,25%{opacity:0;transform:translateY(10px)}50%,75%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px)}}
[data-mode=after] .ordinary-zoom,[data-mode=after] .before-story,[data-mode=after] .before-caption,[data-mode=after] .entrance-shade{visibility:hidden;pointer-events:none}
[data-mode=after] .case-window{visibility:visible;pointer-events:auto;inset:72px 0 92px}
[data-mode=after].is-paused .case-window{pointer-events:none}
body.is-contrast[data-contrast=after] .site-header{height:72px;background:#f1ede4;color:#213e4c}
.arrival-copy{display:none;position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);z-index:2;text-align:center;color:#fff6e4;padding:26px 40px 30px;white-space:nowrap;background:radial-gradient(ellipse,#193843cc,#152f4377 55%,transparent 72%);pointer-events:none;text-shadow:0 2px 14px #0b1e37;transition:opacity .8s}
[data-mode=after] .arrival-copy{display:block;animation:arrivalWords 1.1s ease-out both}
.arrival-copy p{font-size:12px;letter-spacing:3px;color:#e5ddc8;margin-bottom:12px}
.arrival-copy h2{font-family:'Songti SC','STSong',serif;font-size:clamp(25px,3.1vw,45px);font-weight:400;letter-spacing:3px;margin:0 0 15px}
.arrival-copy>span{font-size:11px;letter-spacing:1px;color:#f8eccec9}
.arrival-copy button{pointer-events:auto;border:0;background:#15334980;color:#fcf1da;border-radius:50%;width:22px;height:22px;font-size:16px;position:absolute;right:15px;top:16px}
[data-mode=after] .arrival-copy.dismissed{opacity:0;visibility:hidden;animation:none}
@keyframes arrivalWords{from{opacity:0;transform:translate(-50%,-42%)}to{opacity:1;transform:translate(-50%,-50%)}}
.after-dock{display:none;position:absolute;bottom:0;left:0;right:0;height:92px;align-items:center;justify-content:space-between;gap:24px;padding:0 3%;background:#f1ede4;color:#28434d;z-index:3;border-top:1px solid #dee1d7}
[data-mode=after] .after-dock{display:flex}
.after-intro>span{display:block;font-size:9px;letter-spacing:1.4px;color:#7c8c8e;margin-bottom:7px}
.after-intro strong{font-family:'Songti SC','STSong',serif;font-size:16px;font-weight:400;letter-spacing:1px}
.lesson-path{display:flex;gap:24px;align-items:center}
.lesson-path button{display:flex;align-items:center;gap:11px;padding:7px 0;background:none;border:0;color:#335363;text-align:left;white-space:nowrap}
.lesson-path button.active{color:#1c353f}.lesson-path button:hover>span{text-decoration:underline;text-underline-offset:4px}
.lesson-path b{font:italic 24px Georgia,serif;color:#9aa7a8;font-weight:400}
.lesson-path span{font-size:12px;letter-spacing:.5px}
.lesson-path small{display:block;font-size:9px;letter-spacing:0;color:#819094;margin-top:5px}
.want-class{background:#234752;color:#fff2d6;border:1px solid #234752;border-radius:40px;font-family:'Songti SC','STSong',serif;font-size:15px;letter-spacing:1px;padding:13px 20px;display:flex;gap:24px;align-items:center;white-space:nowrap}
.want-class:hover{background:#163641}.want-class span{font-family:Arial;font-size:18px}
.replay-cross{position:absolute;top:84px;right:19px;z-index:3;border:1px solid #eaddbe30;background:#162e3bbf;backdrop-filter:blur(8px);color:#f1e8d4;border-radius:25px;padding:7px 13px;font-size:10px;letter-spacing:1px}
.replay-cross[hidden]{display:none}
.is-contrast .consult{z-index:15;top:84px;bottom:15px}
.is-contrast button:focus-visible{outline:2px solid #f2c663;outline-offset:4px}
@media(max-width:1150px){.after-intro{display:none}.after-dock{gap:15px}.lesson-path{gap:22px}.is-contrast #contrast-switch{gap:5px}#contrast-switch button{padding:8px 11px}.is-contrast .site-header{padding:0 24px}.is-contrast .brand{font-size:18px}.is-contrast .main-nav{gap:13px}.is-contrast .brand small{font-size:6px}.before-story h1{font-size:38px}.before-story{bottom:12%}}
@media(max-width:800px){.is-contrast #contrast-switch{top:86px;background:#f7f5ecdc;box-shadow:0 3px 12px #1637440c}body.is-contrast[data-contrast=after] .site-header{height:108px;align-items:flex-start;padding-top:16px}.is-contrast[data-contrast=after] #contrast-switch{top:60px;padding:3px}.is-contrast[data-contrast=after] #contrast-switch button{padding:6px 18px}.is-contrast[data-contrast=after] #contrast-switch>span{display:none}.is-contrast[data-contrast=after] .main-nav{margin-top:0}[data-mode=after] .case-window{inset:108px 0 92px}.replay-cross{top:115px;right:10px;font-size:9px}.before-story h1{font-size:34px}.is-contrast .consult{top:80px}}
@media(max-width:600px){.is-contrast .site-header{height:72px;padding:20px 18px 0;align-items:flex-start}.is-contrast .brand{font-size:17px;gap:7px;letter-spacing:2px}.is-contrast .brand small{font-size:6px;letter-spacing:1px}.is-contrast .main-nav{gap:14px}.is-contrast .main-nav button{font-size:11px}.is-contrast #contrast-switch{top:80px;padding:4px;gap:6px;font-size:10px}#contrast-switch button{padding:7px 16px;font-size:11px}#contrast-switch i{font-size:10px;margin-right:5px}.ordinary-space{left:49.9%;top:48%}.ordinary-slide>img{opacity:.94}.before-story{bottom:15%;left:16px;right:16px}.contrast-eyebrow{font-size:9px;letter-spacing:1.9px;margin-bottom:15px}.before-story h1{font-size:29px;letter-spacing:1px;line-height:1.55;white-space:nowrap}.before-description{font-size:11px;margin:16px 0 25px;line-height:2;letter-spacing:1px}.before-description span{display:block;margin:0}.cross-button{min-height:54px;padding:12px 15px 12px 24px;font-size:16px;gap:31px}.before-caption{left:20px;right:20px;bottom:23px;font-size:8px;letter-spacing:1px}.entrance-shade{background:linear-gradient(0deg,#0b2132fa,#122c39b5 35%,transparent 70%)}.after-dock{height:126px;padding:10px 15px 12px;gap:9px;flex-wrap:wrap;justify-content:center}.lesson-path{width:100%;justify-content:space-between;gap:10px}.lesson-path button{gap:8px;padding:5px 0}.lesson-path b{font-size:21px}.lesson-path span{font-size:11px}.lesson-path small{display:none}.want-class{width:100%;justify-content:space-between;font-size:14px;padding:11px 22px}.replay-cross{top:117px;padding:6px 10px}.arrival-copy{padding:24px 15px;top:43%;max-width:96vw;white-space:normal;width:100%}.arrival-copy h2{font-size:26px;letter-spacing:1px;line-height:1.6}.arrival-copy p{font-size:10px;letter-spacing:1px}.arrival-copy>span{font-size:10px}.crossing-line{font-size:21px;letter-spacing:3px;bottom:20%}[data-mode=after] .case-window{inset:108px 0 126px}}
@media(max-height:600px) and (min-width:601px){.before-story{bottom:9%}.before-story h1{font-size:32px}.contrast-eyebrow{margin-bottom:10px;font-size:9px}.before-description{margin:10px 0 15px;font-size:11px}.cross-button{min-height:47px;padding:10px 16px 10px 24px;font-size:15px}.before-caption{bottom:13px}.after-dock{height:72px}[data-mode=after] .case-window{bottom:72px}.arrival-copy h2{font-size:29px}.arrival-copy{top:46%}}
@media(prefers-reduced-motion:reduce){.ordinary-zoom,.case-window{will-change:auto}.crossing-line{display:none}}
.screen-enter{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer}.screen-enter:hover{background:#f4ead31c}.replay-cross{right:76px;top:90px}
@media(max-width:800px){.replay-cross{top:123px;right:60px}}
@media(max-width:600px){.replay-cross{top:124px;right:60px}}
.is-wujie:not(.is-contrast) .main-nav button:first-child{display:block}
@media(max-width:600px) and (orientation:portrait){.is-contrast #contrast-root[data-mode=before],.is-contrast #contrast-root[data-mode=loading]{background:#e6e5de}}
@media(max-width:600px) and (orientation:portrait){.is-contrast #contrast-root[data-mode=before],.is-contrast #contrast-root[data-mode=loading]{background:#14262a}.ordinary-zoom{background:linear-gradient(#e6e5de 0 12%,#14262a 38%)}.ordinary-photo{mask-image:linear-gradient(#000 0 82%,transparent 100%)}}
.is-contrast .main-nav{height:auto}
