/* B · 设定集道具 / 非对称编辑版式。仅预告和人物区使用人物组合。 */
html[data-sourcebook="true"] .theatre-longform{
  background:#0d1820 url('../assets/eden-props/midnight-patina.webp') repeat;
  background-size:640px;
}
.evidence-story,.trial-section,.archive-scenes{isolation:isolate;overflow:hidden}
.chapter-tick{font:italic 19px Georgia,serif;letter-spacing:0;color:#ad6a58;display:inline-block;margin-right:12px;vertical-align:-2px}
.evidence-year{position:absolute;top:36px;right:4%;font:italic clamp(120px,20vw,290px)/1 Georgia,serif;letter-spacing:-12px;color:#b8b39a09;pointer-events:none}
.evidence-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,6vw,100px);align-items:center;max-width:1220px;margin:0 auto}
.evidence-narrative h2,.trial-heading h2,.archive-heading h2{font:400 clamp(31px,3.4vw,53px)/1.5 var(--serif);letter-spacing:2px;color:#dcded0;margin:22px 0}
.evidence-narrative h2 span,.trial-heading h2 span,.archive-heading h2 span{color:#c0a17a}
.evidence-lead{font:18px/1.9 var(--serif);color:#bbae98;letter-spacing:2px;margin:30px 0 25px}
.evidence-story .stage-copy>p{font-size:13px;color:#9dabaa;line-height:2.15;letter-spacing:.4px;max-width:440px}
.evidence-story .stage-button{margin-top:20px}
.evidence-visual{position:relative;margin:55px 0 20px;padding:0 0 20px}
.memory-scene{position:relative;transform:rotate(1.5deg);border:1px solid #9a94775e;padding:8px;background:#0a1217;box-shadow:12px 18px 40px #0008;overflow:hidden}
.memory-scene>img{width:100%;height:420px;object-fit:cover;opacity:.85;transition:opacity .5s}
.memory-scene:hover>img{opacity:1}
.memory-scene-mark{position:absolute;bottom:23px;right:20px;font:9px Georgia,serif;letter-spacing:3px;color:#f1e3c2bd;text-shadow:0 2px 8px #000}
.memory-light{position:absolute;inset:0;background:linear-gradient(110deg,transparent 28%,#d6c5a91c 45%,transparent 62%);animation:eden-memory-light 14s ease-in-out infinite alternate;pointer-events:none}
.evidence-photo{position:absolute;width:144px;left:-40px;top:-36px;padding:6px 6px 13px;background:#b7b397;box-shadow:6px 12px 20px #0009;transform:rotate(-12deg)}
.evidence-photo>img{width:100%;height:176px;object-fit:cover;object-position:left}
.evidence-photo>span:not(.evidence-pin){display:block;font:11px var(--serif);text-align:center;color:#41443d;margin-top:10px}
.evidence-pin{position:absolute;width:7px;height:7px;border-radius:50%;top:4px;left:50%;background:#6e302d;border:1px solid #ad6c5c;box-shadow:1px 3px 3px #0009}
.evidence-visual>figcaption{display:flex;justify-content:space-between;gap:15px;font:11px var(--serif);color:#8d9d94;letter-spacing:2px;margin:24px 3px 0 55px}
.evidence-visual>figcaption small{font:8px Georgia,serif;letter-spacing:2px;color:#a49a7c}
.evidence-quote{display:flex;gap:25px;align-items:center;position:relative;max-width:1220px;margin:62px auto 0;border-top:1px solid #9e9c772b;padding:30px 0 0}
.evidence-quote>span{font:80px/1 Georgia,serif;color:#9e655548;height:55px}
.evidence-quote p{font:22px/1.7 var(--serif);letter-spacing:2px;color:#c0b49b;margin:0}
.evidence-quote small{display:block;font:10px var(--sans);color:#7e928a;letter-spacing:1px;margin-top:10px}
.evidence-quote>i{margin-left:auto;font:italic 10px Georgia,serif;letter-spacing:2px;color:#8d6b596b;writing-mode:vertical-rl}
/* 玩法是一张大场景与一列可切换的规则，沙漏单独占据上方。 */
.trial-section{padding-top:100px}
.trial-canopy{position:absolute;inset:0 0 auto;height:420px;z-index:-1;opacity:.2;background:linear-gradient(0deg,#0c171f,transparent 60%,#0c171f55),url('../assets/theatre-door.webp') center 47%/cover;mask-image:linear-gradient(transparent,#000 20%,#000 65%,transparent);pointer-events:none}
.trial-heading{position:relative;max-width:1220px;margin:0 auto 52px;padding-right:35%}
.trial-heading h2{margin:21px 0 20px;line-height:1.35}
.trial-heading>p{font-size:13px;line-height:2;color:#9eada4;letter-spacing:1px}
.trial-hourglass{position:absolute;top:56px;right:12%;width:190px;margin:0;text-align:center}
.trial-hourglass>img{width:100%;height:285px;object-fit:contain;filter:drop-shadow(0 16px 20px #0009)}
.trial-hourglass>figcaption{font:10px var(--serif);color:#b5a07d;letter-spacing:2px;margin-top:12px}
.trial-console{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;border-top:1px solid #a3977055;border-bottom:1px solid #a3977033;background:#07121b44}
.trial-visual{position:relative;min-height:440px;overflow:hidden;isolation:isolate;background:#070e15}
.trial-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s,transform .7s;opacity:.88}
.trial-visual.is-loading>img{opacity:.35}
.trial-image-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#030b13e6,transparent 58%),linear-gradient(90deg,transparent 70%,#07121b55)}
.trial-visual-count{position:absolute;top:24px;left:26px;font:10px Georgia,serif;letter-spacing:3px;color:#e4d2ac;text-shadow:0 2px 8px #000}
.trial-visual-caption{position:absolute;bottom:28px;left:29px;right:65px;display:flex;flex-direction:column;gap:10px;font:25px var(--serif);letter-spacing:3px;color:#dbdbce}
.trial-visual-caption small{font:9px Georgia,serif;letter-spacing:3px;color:#a7997b}
.trial-zoom{position:absolute;right:22px;bottom:27px;width:35px;height:35px;border:1px solid #b3a78477;font-size:23px;color:#d1c6a5;background:#101e2688}
.trial-zoom:hover{background:#8a6a4a99}
.trial-options{display:flex;flex-direction:column;justify-content:center;padding:12px 30px}
.trial-options>button{display:flex;align-items:start;gap:17px;text-align:left;padding:27px 0;border-bottom:1px solid #8f98732b;color:#718b87;transition:color .3s}
.trial-options>button:last-child{border:0}
.trial-number{font:italic 16px Georgia,serif;color:#8b7961;margin-top:4px}
.trial-option-copy{flex:1;min-width:0}
.trial-option-copy>strong{display:block;font:23px/1.6 var(--serif);letter-spacing:1px;color:#9dafa4;font-weight:400}
.trial-option-copy>span{display:none;font-size:12px;line-height:2.1;letter-spacing:.4px;margin-top:14px;color:#9aaca1}
.trial-options>button>i{font-size:18px;font-style:normal;margin:4px 0 0 auto;opacity:.35;transition:opacity .3s}
.trial-options>button[aria-selected="true"] .trial-number{color:#c38762}
.trial-options>button[aria-selected="true"] strong{color:#dcc49d}
.trial-options>button[aria-selected="true"] .trial-option-copy>span{display:block}
.trial-options>button[aria-selected="true"]>i,.trial-options>button:hover>i{opacity:1;color:#d3ad78}
.trial-options>button:hover strong{color:#d9ccb3}
.trial-bottom{display:flex;align-items:center;justify-content:flex-end;gap:35px;max-width:1220px;margin:30px auto 0}
.trial-bottom p{color:#b2b6a4;font-size:12px;line-height:2;letter-spacing:.5px;margin:0}
.trial-bottom p span{color:#7f958e}
.trial-bottom .stage-button{font-size:11px;min-height:43px;white-space:nowrap}
/* 只使用设定集中的远古巨兽，整屏不再加入人物。 */
.threat-interlude{position:relative;min-height:590px;overflow:hidden;isolation:isolate;display:flex;align-items:center;padding:75px var(--stage-pad);background:#030c15;border-top:1px solid #577d8a33;border-bottom:1px solid #577d8a33}
.threat-water{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 70% 45%,#19445a66,transparent 65%),linear-gradient(180deg,#091b27,transparent 65%,#01080e);z-index:-1}
.threat-water:after{content:"";position:absolute;left:25%;top:-35%;width:90%;height:150%;background:conic-gradient(from 158deg at 54% 0,transparent,#98c3d518 10deg,transparent 20deg);transform-origin:54% 0;animation:eden-underwater-light 17s ease-in-out infinite alternate}
.threat-beast{position:absolute;width:76%;max-width:1100px;right:-6%;top:50%;transform:translateY(-50%);opacity:.82;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 90%,transparent);pointer-events:none}
.threat-beast img{width:100%;height:auto;animation:eden-beast-presence 10s ease-in-out infinite alternate}
.threat-copy{position:relative;z-index:2;width:36%;max-width:370px}
.threat-copy>span{display:block;font:9px Georgia,serif;letter-spacing:3px;color:#7e9fac;margin-bottom:26px}
.threat-copy h2{font:400 clamp(32px,3.7vw,57px)/1.5 var(--serif);letter-spacing:4px;color:#c3d2d0;margin-bottom:22px}
.threat-copy p{font-size:12px;line-height:2;color:#87a4a7;letter-spacing:1px;max-width:245px}
.threat-copy .stage-button{font-size:11px;border-color:#6e9aa366;color:#abc5c5;background:#0b1a2580;margin-top:22px;min-height:43px;padding:12px 17px}
.threat-credit{position:absolute;bottom:25px;right:5%;font:9px Georgia,serif;letter-spacing:2px;color:#5e7e89}
/* 场景用一大、两小、一张宽幅剧场，取代重复的对称人物背景。 */
.archive-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:1220px;margin:0 auto 48px}
.archive-heading>div{position:relative;z-index:1}
.archive-heading h2{margin:20px 0 22px}
.archive-heading p{font-size:13px;line-height:2;letter-spacing:1px;color:#92a69d}
.archive-prop{width:200px;margin:0 25px 0 0;flex-shrink:0;transform:rotate(-6deg)}
.archive-prop img{width:100%;height:250px;object-fit:contain;filter:drop-shadow(0 12px 18px #0009)}
.archive-prop figcaption{font:10px/1.9 var(--serif);text-align:center;letter-spacing:1px;color:#b2a086;margin-top:15px;transform:rotate(6deg)}
.archive-wall{max-width:1220px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:260px 260px 300px;gap:18px}
.archive-print{position:relative;display:block;overflow:hidden;padding:0;text-align:left;border:1px solid #8d9a813d;background:#06121c;min-width:0}
.archive-print>img{width:100%;height:100%;object-fit:cover;transition:transform .8s,opacity .5s;opacity:.87}
.archive-print:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020b13e6,transparent 55%);pointer-events:none}
.archive-major{grid-row:span 2}.archive-wide{grid-column:1/-1}
.archive-major>img{object-position:60% center}
.archive-wide>img{object-position:center 58%}
.archive-print:hover>img,.archive-print:focus-visible>img{transform:scale(1.045);opacity:1}
.archive-index{position:absolute;z-index:2;top:22px;left:24px;font:italic 14px Georgia,serif;letter-spacing:2px;color:#ede2ca;text-shadow:0 2px 7px #000}
.archive-caption{position:absolute;z-index:2;bottom:25px;left:25px;right:24px;display:flex;align-items:center;justify-content:space-between;color:#e1dfce}
.archive-caption>span{font:24px var(--serif);letter-spacing:2px}
.archive-caption small{display:block;font:8px Georgia,serif;letter-spacing:3px;margin-top:11px;color:#b2a587}
.archive-caption>i{font:24px Georgia,serif;font-style:normal;border:1px solid #b4ad8f70;width:35px;height:35px;display:grid;place-items:center}
.archive-scenes>.archive-footnote{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1px;max-width:1220px;margin:26px auto 0;color:#8a9e91;text-align:left}
.archive-footnote>span{font:8px Georgia,serif;letter-spacing:2px;color:#6d827b}
html[data-sourcebook="true"] .video-cover-control small:empty{display:none}
/* 所有装饰均不拦截点击；只在可见区运行局部动画。 */
.editorial-motion,.editorial-motion:after,.threat-beast img{animation-play-state:paused}
.is-in-view .editorial-motion,.is-in-view .editorial-motion:after,.is-in-view .threat-beast img{animation-play-state:running}
html.editorial-ready .editorial-reveal{transition:opacity .8s ease,transform .8s ease}
html.editorial-ready .editorial-reveal:not(.is-revealed){opacity:0;transform:translateY(22px)}
html[data-suspended="true"] .editorial-motion,html[data-suspended="true"] .editorial-motion:after,html[data-suspended="true"] .threat-beast img{animation-play-state:paused!important}
html[data-overlay="true"] .editorial-motion,html[data-overlay="true"] .editorial-motion:after,html[data-overlay="true"] .threat-beast img{animation-play-state:paused!important}
@keyframes eden-memory-light{from{opacity:.18;transform:translate3d(-35%,0,0)}to{opacity:.6;transform:translate3d(35%,0,0)}}
@keyframes eden-underwater-light{from{transform:rotate(-12deg);opacity:.35}to{transform:rotate(15deg);opacity:.85}}
@keyframes eden-beast-presence{from{transform:translate3d(1%,1%,0) scale(.99)}to{transform:translate3d(-1%,-1%,0) scale(1.025)}}
@media(min-width:1600px){.evidence-visual .memory-scene>img{height:490px}.trial-hourglass{right:16%}}
@media(max-width:1000px){
  .evidence-grid{gap:45px;grid-template-columns:1fr 1fr}.evidence-photo{width:115px;left:-22px;top:-26px}.evidence-photo>img{height:142px}.memory-scene>img{height:370px}
  .evidence-narrative h2{font-size:32px}.evidence-lead{font-size:16px}.evidence-story .stage-copy>p{font-size:12px}
  .trial-console{grid-template-columns:1.05fr 1fr}.trial-options{padding:10px 22px}.trial-option-copy>strong{font-size:20px}.trial-options>button{gap:12px;padding:24px 0}.trial-hourglass{width:165px;right:10%}.trial-hourglass>img{height:250px}
  .archive-wall{grid-template-rows:225px 225px 260px}.archive-prop{width:165px;margin-right:0}.archive-prop img{height:210px}
  .threat-interlude{min-height:510px}.threat-beast{width:80%;right:-10%}
}
@media(max-width:700px){
  .evidence-grid{grid-template-columns:1fr;gap:45px}.evidence-narrative h2{font-size:35px}.evidence-narrative .stage-copy>p{max-width:none;font-size:13px}.evidence-lead{font-size:18px;margin:22px 0}.evidence-year{top:40px;right:10%;font-size:125px;letter-spacing:-7px}
  .evidence-visual{margin:10px 4px 0 20px}.memory-scene>img{height:330px}.evidence-photo{width:112px;top:-24px;left:-27px}.evidence-photo>img{height:134px}.evidence-photo>span:not(.evidence-pin){font-size:10px}.evidence-visual>figcaption{margin-left:12px;letter-spacing:1px;font-size:10px}.evidence-visual>figcaption small{font-size:7px;letter-spacing:1px}
  .evidence-quote{margin-top:33px;padding-top:25px;gap:10px}.evidence-quote>span{font-size:60px}.evidence-quote p{font-size:18px;letter-spacing:1px}.evidence-quote>i{font-size:7px;letter-spacing:1px}
  .trial-section{padding-top:65px}.trial-heading{padding-right:35%;margin-bottom:35px}.trial-heading h2{font-size:33px;letter-spacing:1px}.trial-heading>p{font-size:11px;letter-spacing:0}.trial-hourglass{width:95px;right:7%;top:84px}.trial-hourglass>img{height:155px}.trial-hourglass>figcaption{font-size:8px;letter-spacing:0;line-height:1.8;margin-top:6px}
  .trial-console{grid-template-columns:1fr}.trial-visual{min-height:285px}.trial-visual-caption{font-size:22px;left:20px;bottom:23px}.trial-visual-caption small{font-size:8px;letter-spacing:2px}.trial-visual-count{left:20px;top:20px}.trial-zoom{right:18px;bottom:22px}
  .trial-options{padding:3px 18px}.trial-options>button{padding:22px 0;gap:13px}.trial-option-copy>strong{font-size:21px}.trial-option-copy>span{font-size:12px}.trial-bottom{display:block;margin-top:24px}.trial-bottom p{font-size:11px}.trial-bottom .stage-button{margin-top:20px}
  .threat-interlude{min-height:650px;padding:48px var(--stage-pad) 360px;align-items:start}.threat-copy{width:100%;max-width:none}.threat-copy h2{font-size:36px;line-height:1.5;letter-spacing:2px}.threat-copy h2 br{display:none}.threat-copy>span{font-size:8px;margin-bottom:19px}.threat-copy p{font-size:11px;max-width:220px}.threat-copy .stage-button{font-size:10px;margin-top:12px}.threat-beast{top:auto;bottom:25px;transform:none;width:115%;right:-14%;opacity:.85}.threat-credit{bottom:19px;font-size:7px;letter-spacing:1px}
  .archive-heading{display:block;margin-bottom:30px}.archive-heading h2{font-size:32px;letter-spacing:1px;position:relative;z-index:1}.archive-heading p{font-size:12px;max-width:210px}.archive-prop{position:absolute;right:0;top:-6px;width:78px;opacity:.95}.archive-prop img{height:110px}.archive-prop figcaption{display:none}
  .archive-wall{grid-template-columns:1fr;grid-template-rows:none;gap:16px}.archive-print{height:245px}.archive-major{grid-row:auto;height:360px}.archive-wide{grid-column:auto;height:230px}.archive-index{top:17px;left:18px;font-size:12px}.archive-caption{left:18px;right:18px;bottom:20px}.archive-caption>span{font-size:23px}.archive-caption small{font-size:8px;letter-spacing:2px}.archive-caption>i{width:30px;height:30px;font-size:20px}
  .archive-scenes>.archive-footnote{font-size:10px;margin-top:23px}.archive-footnote>span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .editorial-motion,.editorial-motion:after,.threat-beast img{animation:none!important}
  html.editorial-ready .editorial-reveal:not(.is-revealed){opacity:1;transform:none}
  .archive-print>img,.trial-visual>img{transition:none}
}

/* Company details close the poster with a quiet, readable credit block. */
.quality-controls{flex-wrap:wrap;align-items:center;gap:8px}
.video-select-label{display:inline-flex;align-items:center;gap:7px;font:10px/1.6 var(--sans);color:#9caf9e;white-space:nowrap}
.video-select-label select{max-width:150px;min-height:31px;padding:5px 8px;background:#0c1b22;border:1px solid #7d95714d;border-radius:0;color:#c2cdbb;font:11px/1.6 var(--sans);cursor:pointer}
.video-select-label select:focus{outline:none;box-shadow:none}
.video-select-label select:focus-visible{outline:1px solid #66808a;outline-offset:2px}
.haunted-site .quality-controls button:focus-visible{outline:1px solid #66808a;outline-offset:2px}
.video-select-label select:disabled{opacity:.5;cursor:wait}
.video-buffer{padding:0 3px 6px;margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;color:#9caf9e}
.video-buffer>span{grid-column:2;font:10px/1.6 var(--sans);white-space:nowrap}
.video-buffer>progress{grid-column:1;grid-row:1;width:100%;height:3px;appearance:none;border:0;background:#8c9d7b2e;accent-color:#b6a079}
.video-buffer>progress::-webkit-progress-bar{background:#8c9d7b2e}
.video-buffer>progress::-webkit-progress-value{background:#b6a079}
.video-buffer>progress::-moz-progress-bar{background:#b6a079}
.video-frame.is-replay .video-cover-control{display:flex;z-index:9;background:#07121b80}
@media(max-width:700px){.quality-controls{gap:8px}.video-select-label{font-size:9px;gap:5px}.video-select-label select{max-width:140px;font-size:10px}.video-buffer{gap:9px}.video-buffer>span{font-size:9px}}
.haunted-site .site-footer{display:block;height:auto;min-height:0;padding:52px var(--stage-pad) 25px;background:#091219;border:0;color:#a2b0a5;scroll-margin-top:100px}
.contact-main{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;align-items:start;padding-bottom:38px}
.contact-kicker{display:block;font:700 9px/1.5 var(--sans);letter-spacing:0;color:#a79773;margin-bottom:13px}
.contact-intro h2{font:700 28px/1.4 var(--sans);letter-spacing:0;color:#ddd9c6;margin:0 0 15px}
.contact-intro>p{font-size:12px;line-height:1.9;letter-spacing:.5px;color:#95a59a;margin:0}
.contact-details{display:grid;grid-template-columns:1fr 1.5fr;gap:25px 30px;font-family:var(--sans);font-style:normal;letter-spacing:0;padding-top:4px}
.contact-company{grid-column:1/-1;font:700 19px/1.6 var(--sans);letter-spacing:0;color:#d0d4c6;margin:0}
.contact-item>span{display:block;color:#7f9487;font-size:10px;font-weight:700;letter-spacing:0;margin-bottom:12px}
.contact-item>p{font-size:13px;font-weight:700;line-height:1.8;color:#bdc7b8;margin:0}
.haunted-site .site-footer .contact-phone{display:inline-flex;align-items:baseline;gap:10px;font:700 18px/1.6 var(--sans);letter-spacing:0;color:#dfd4b8;white-space:nowrap;border:0;padding-bottom:0;text-decoration:none}
.contact-phone small{font:700 12px/1.6 var(--sans);color:#bdc7b8;letter-spacing:0}
.haunted-site .site-footer .contact-email{font:700 13px/1.8 var(--sans);color:#bdc7b8;letter-spacing:0;border:0;padding:0;overflow-wrap:anywhere}
.contact-address{grid-column:1/-1}
.site-footer a:focus-visible{outline:1px solid #b7a578;outline-offset:5px}
.footer-fineprint{border:0;padding-top:20px;font-size:10px;line-height:1.9;letter-spacing:.4px;color:#84968b}
.footer-fineprint p{margin:0 0 4px}
.footer-fineprint p:last-child{margin-bottom:0;color:#7d8d83}
.footer-fineprint p>span{margin-left:20px;font-size:9px;letter-spacing:.8px}
.site-policy-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:18px}
.haunted-site .site-footer .site-policy-links a{font:700 12px/1.8 var(--sans);color:#b9c5b7;border:0;padding:0;letter-spacing:0}
.site-policy-links a:hover{color:#e5d5ad}
@media(max-width:1000px){.contact-main{grid-template-columns:1fr 1.8fr;gap:35px}.contact-details{column-gap:24px;grid-template-columns:1fr}.contact-company{grid-column:auto}.contact-item>span{margin-bottom:6px}}
@media(max-width:900px){.main-nav{flex-wrap:wrap;row-gap:15px}.main-nav a{white-space:nowrap}}
@media(max-width:700px){
  .haunted-site .site-footer{padding:38px var(--stage-pad) 23px;scroll-margin-top:80px}
  .contact-main{grid-template-columns:1fr;gap:28px;padding-bottom:30px}.contact-intro h2{font-size:26px;margin-bottom:12px}.contact-intro>p br{display:none}
  .contact-details{gap:20px;padding-top:0}.contact-company{font-size:18px}.contact-item>p{font-size:12px}
  .footer-fineprint{font-size:10px;letter-spacing:0;padding-top:19px}.footer-fineprint p>span{display:block;margin:5px 0;font-size:8px;letter-spacing:.8px}
}
