/* Native top layer pauses combat and leaves menus/achievements in their own layers. */
dialog.opening-cinematic{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#111b1d;color:#f7ecd5;box-shadow:none;overscroll-behavior:none}
dialog.opening-cinematic::backdrop{background:#111b1d}
.opening-stage{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;touch-action:manipulation;user-select:none}
#openingCinematic .opening-canvas{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;touch-action:manipulation}
.opening-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(#061113a3,transparent 19%,transparent 64%,#071417ed);box-shadow:inset 0 0 90px #06101377}
.opening-tools{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:16px}
.opening-chapter{font-size:14px;letter-spacing:.35em;color:#ead4a9;text-shadow:0 2px 5px #000}
.opening-tools>div{display:flex;gap:10px}
.opening-cinematic .opening-tools button{min-height:44px;padding:7px 17px;background:#14282dcc;border:1px solid #b9a47a77;color:#efdfbb;box-shadow:none;border-radius:4px;font-size:14px;line-height:1.3}
.opening-cinematic button:focus-visible{outline:2px solid #e8c783;outline-offset:4px}
.opening-tools button span{margin-left:8px;font-size:22px;vertical-align:-1px}
.opening-subtitle{position:absolute;left:8%;right:8%;bottom:max(9%,calc(env(safe-area-inset-bottom) + 32px));text-align:center;pointer-events:none;text-shadow:0 2px 7px #000,0 0 16px #071114}
.opening-subtitle b{display:block;font-size:13px;font-weight:400;letter-spacing:.2em;color:#d6bb86;margin-bottom:10px}
.opening-subtitle p{margin:0;font-size:clamp(20px,2vw,29px);line-height:1.65;letter-spacing:.045em;overflow-wrap:break-word;color:#fff3d9}
.opening-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 60%,#304346,#101a1d 78%)}
.opening-prep-track{width:min(260px,70vw);height:7px;padding:1px;border:1px solid #b49b69;border-radius:6px;background:#10191b}
.opening-prep-track span{display:block;width:0;height:100%;border-radius:4px;background:linear-gradient(90deg,#8b6742,#dfc38d);transition:width .2s ease}
.opening-loading p{font-size:24px;letter-spacing:.15em;margin:22px 0 10px;color:#f5e6c6}
.opening-loading small{font-size:13px;color:#bea982}
.opening-cinematic .opening-loading button{background:#315c59;color:#f4e5c8;border:1px solid #b89b6c;margin-top:22px;min-height:44px;padding:9px 24px}
.opening-loading~.opening-tools{z-index:2}.opening-tools{z-index:5}
.opening-finish{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);text-align:center;min-width:220px}
.opening-finish small{display:block;font-size:12px;color:#cbb488;letter-spacing:.18em;margin-bottom:9px}
.opening-cinematic .opening-finish button{width:100%;min-height:48px;background:linear-gradient(#854735,#602c25);color:#fff0cf;border:1px solid #d4b477;padding:10px 26px;font-size:17px;box-shadow:inset 0 0 0 3px #3b242233,0 4px 15px #0004;border-radius:4px}
.opening-cinematic[data-shot="arrival"] .opening-subtitle{bottom:max(19%,calc(env(safe-area-inset-bottom) + 126px))}
.opening-cinematic.is-paused .opening-chapter:after{content:' · 暂停';letter-spacing:.1em;color:#b5c8c8}
.opening-loading[hidden],.opening-subtitle[hidden],.opening-finish[hidden]{display:none}
@keyframes opening-turn{to{transform:rotate(360deg)}}
@media(min-aspect-ratio:2/1){.opening-stage{max-width:1920px;margin:auto}.opening-subtitle{bottom:10%}}
@media(max-width:600px){.opening-tools{left:16px;right:16px;top:max(12px,env(safe-area-inset-top))}.opening-tools>div{gap:6px}.opening-cinematic .opening-tools button{padding:7px 12px}.opening-chapter{font-size:12px}.opening-subtitle{left:7%;right:7%;bottom:12%}.opening-subtitle p{font-size:21px;line-height:1.65}.opening-finish{bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))}.opening-cinematic[data-shot="arrival"] .opening-subtitle{bottom:25%}.opening-loading p{font-size:21px}}
@media(max-height:450px){.opening-tools{top:8px}.opening-subtitle{bottom:8%}.opening-subtitle p{font-size:18px}.opening-subtitle b{margin-bottom:2px}.opening-cinematic[data-shot="arrival"] .opening-subtitle{bottom:28%}.opening-finish{bottom:12px}.opening-finish small{display:none}.opening-finish button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.opening-loading>i{animation:none}}
html[data-game-motion="reduce"] .opening-loading>i{animation:none}
