/* The preserved ASGARD movie title is the only waiting screen. */
.opening-loading{position:absolute;inset:0;z-index:1;background:#050706;pointer-events:none}
.opening-loading[hidden]{display:none}
.opening-stage[data-phase=boot] .opening-loading>img,.opening-stage[data-phase=boot]>.opening-loading-track{visibility:hidden}
.opening-stage[data-phase=boot] video{visibility:hidden}
.opening-stage[data-phase=loading] video{visibility:hidden}
.opening-loading>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.opening-loading-track{position:absolute;left:50%;bottom:max(30px,env(safe-area-inset-bottom));width:min(340px,58vw);transform:translateX(-50%)}
.opening-loading-track progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:7px;overflow:hidden;border:1px solid #7e6d46;border-radius:4px;background:#141810;box-shadow:0 1px 3px #000}
.opening-loading-track progress::-webkit-progress-bar{background:#141810}
.opening-loading-track progress::-webkit-progress-value{background:linear-gradient(#eed5a0,#a9894d);border-radius:3px}
.opening-loading-track progress::-moz-progress-bar{background:linear-gradient(#eed5a0,#a9894d);border-radius:3px}
.opening-stage[data-phase=loading] .opening-controls{visibility:hidden}
.opening-stage.failed .opening-controls{visibility:visible;position:relative;z-index:2}
.opening-stage.failed .opening-loading-track{bottom:max(96px,env(safe-area-inset-bottom))}
@media(orientation:landscape) and (max-height:350px){.opening-loading-track{bottom:max(18px,env(safe-area-inset-bottom))}}
.opening-stage{display:block}
.opening-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.opening-stage>.opening-loading-track{z-index:3;pointer-events:none}
.opening-stage .opening-controls{position:absolute;z-index:4;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:auto;left:auto;border:0;background:transparent;padding:0}
.opening-stage .opening-caption{display:none}
.opening-stage .opening-buttons{gap:7px}
.opening-stage .opening-buttons button{min-height:32px;padding:5px 10px;font-size:11px;background:#151309b3;color:#ead8ad;border-color:#88724799}
.opening-stage.failed .opening-controls{position:absolute}

/* 2026-11-05（使用者：讀取條下面標記「下載資料中⋯ 請稍候」）：更新後要重抓大型資料，讀取條下方加提示。 */
.opening-loading-tip{display:block;margin-top:7px;text-align:center;font-size:13px;line-height:1.3;letter-spacing:.08em;color:#e8d6a6;text-shadow:0 1px 2px #000,0 0 6px #000;white-space:nowrap;pointer-events:none}
.opening-loading-track{bottom:max(22px,env(safe-area-inset-bottom))}
/* 2026-11-05（使用者：頁面載入一開始就要出現開機畫面）：開場影片還沒開始播時就先顯示 ASGARD 開機畫面與讀取條。 */
.opening-stage[data-phase=boot] .opening-loading>img,.opening-stage[data-phase=boot]>.opening-loading-track{visibility:visible}
