/* Boot screen of the frozen browser build (qy.xuebi8.com/index.html, style#qiyu-web-shell): only the
 * #qiyu-boot-screen rules; the page/GameDiv layout and the mobile guard belong to the web shell. */
#qiyu-boot-screen { position: fixed; inset: 0; z-index: 2147483647; overflow: hidden; color: #f5e7c8; background: #160f0a; opacity: 1; transition: opacity .42s ease, visibility .42s ease; isolation: isolate; }
#qiyu-boot-screen.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.qiyu-boot-map { position: absolute; inset: 0; z-index: -3; background: url('./qiyu-boot-map.jpg') 65% 46% / cover no-repeat; }
.qiyu-boot-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(17, 11, 7, .97) 0%, rgba(22, 14, 8, .9) 24%, rgba(21, 13, 7, .58) 49%, rgba(16, 10, 6, .12) 75%), linear-gradient(0deg, rgba(13, 9, 6, .8), transparent 35%, rgba(18, 12, 7, .12) 75%, rgba(13, 9, 6, .45)); }
.qiyu-boot-lamplight { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 12% 6%, rgba(242, 171, 67, .16), transparent 48%); animation: qiyu-candle 5s ease-in-out infinite alternate; }
.qiyu-boot-masthead { position: absolute; top: clamp(26px, 6vh, 60px); left: 7.5vw; right: 7.5vw; display: flex; justify-content: space-between; align-items: center; color: #c3aa80; font: 500 11px/1.5 'Segoe UI', 'Microsoft YaHei', sans-serif; letter-spacing: .25em; }
.qiyu-boot-brand { display: flex; align-items: center; gap: 13px; }
.qiyu-boot-brand::before { content: ''; width: 7px; height: 7px; border: 1px solid #d6b478; transform: rotate(45deg); box-shadow: 0 0 14px #c7954938; }
.qiyu-boot-edition { letter-spacing: .2em; color: #e6d3aa; text-shadow: 0 1px 4px #000; }
.qiyu-boot-content { position: absolute; top: 50%; left: 10vw; width: min(440px, 78vw); transform: translateY(-47%); }
.qiyu-boot-eyebrow { margin: 0 0 26px; color: #c8a879; font: 400 12px/1.5 'Microsoft YaHei', sans-serif; letter-spacing: .5em; }
.qiyu-boot-title { margin: 0 0 22px -5px; font: 500 clamp(72px, 8.5vw, 118px)/1.05 'KaiTi', 'STKaiti', 'FangSong', 'SimSun', serif; letter-spacing: .14em; color: #f2ddab; text-shadow: 0 2px 0 #6a492a, 0 0 38px #e3ad421c; }
.qiyu-boot-subtitle { margin: 0; color: #d7c4a3; font: 400 clamp(15px, 1.5vw, 18px)/1.8 'Microsoft YaHei', sans-serif; letter-spacing: .22em; }
.qiyu-boot-divider { width: 40px; height: 1px; margin: 30px 0 36px; background: #b98d52; }
.qiyu-boot-loading { display: flex; gap: 18px; align-items: center; }
.qiyu-boot-compass { width: 48px; height: 48px; flex: 0 0 48px; overflow: visible; color: #bc995f; }
.qiyu-boot-needle { transform-origin: 24px 24px; animation: qiyu-needle 4.8s ease-in-out infinite; }
.qiyu-boot-copy { min-width: 0; flex: 1; max-width: 272px; }
#qiyu-boot-status { display: block; color: #d7c5a5; font: 400 12px/1.6 'Microsoft YaHei', sans-serif; letter-spacing: .09em; overflow-wrap: anywhere; }
.qiyu-boot-track { position: relative; height: 2px; overflow: hidden; margin-top: 12px; background: #d3b37b20; }
.qiyu-boot-track i { position: absolute; top: 0; bottom: 0; left: 0; width: 42%; background: linear-gradient(90deg, transparent, #cfaa65 55%, #f5dfab 80%, transparent); animation: qiyu-trail 2.6s ease-in-out infinite; }
.qiyu-boot-footer { position: absolute; bottom: clamp(24px, 5vh, 48px); left: 7.5vw; right: 7.5vw; display: flex; align-items: center; gap: 20px; color: #b4a083; font: 400 10px/1.6 'Microsoft YaHei', sans-serif; letter-spacing: .15em; }
.qiyu-boot-footer::before { content: ''; width: 32px; height: 1px; background: #b7986c66; }
.qiyu-boot-footer span:last-child { margin-left: auto; font-family: Georgia, serif; letter-spacing: .24em; color: #cbb899; }
.qiyu-boot-motes { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.qiyu-boot-motes i { position: absolute; left: var(--x); top: var(--y); width: 2px; height: 2px; background: #f4d899; border-radius: 50%; box-shadow: 0 0 8px #dca754; opacity: 0; animation: qiyu-mote 7s ease-in-out infinite; animation-delay: var(--delay); }
#qiyu-boot-retry { display: none; margin: 24px 0 0 66px; padding: 9px 20px; border: 1px solid #b99359; border-radius: 2px; background: #bc8d3d1a; color: #f2ddab; font: 400 13px/1.5 'Microsoft YaHei', sans-serif; cursor: pointer; }
#qiyu-boot-retry:hover { background: #bc8d3d33; }
#qiyu-boot-retry:focus-visible { outline: 2px solid #f2ddab; outline-offset: 4px; }
#qiyu-boot-screen.is-error { overflow-y: auto; }
#qiyu-boot-screen.is-error .qiyu-boot-content { position: relative; top: auto; left: auto; transform: none; margin: clamp(88px, 18vh, 160px) 10vw 54px; }
#qiyu-boot-screen.is-error .qiyu-boot-footer { display: none; }
#qiyu-boot-screen.is-error #qiyu-boot-retry { display: inline-block; }
#qiyu-boot-screen.is-error #qiyu-boot-status { color: #e6b6a0; }
#qiyu-boot-screen.is-error .qiyu-boot-track i { animation: none; width: 100%; opacity: .3; }
#qiyu-boot-screen.is-error .qiyu-boot-needle, #qiyu-boot-screen.is-error .qiyu-boot-motes i, #qiyu-boot-screen.is-done .qiyu-boot-needle, #qiyu-boot-screen.is-done .qiyu-boot-motes i, #qiyu-boot-screen.is-done .qiyu-boot-track i, #qiyu-boot-screen.is-done .qiyu-boot-lamplight { animation-play-state: paused; }
@keyframes qiyu-candle { from { opacity: .45; } to { opacity: 1; } }
@keyframes qiyu-needle { 0%, 100% { transform: rotate(-22deg); } 48% { transform: rotate(32deg); } 70% { transform: rotate(17deg); } }
@keyframes qiyu-trail { from { transform: translateX(-110%); } to { transform: translateX(340%); } }
@keyframes qiyu-mote { 0%, 100% { opacity: 0; transform: translate3d(0, 14px, 0); } 35% { opacity: .55; } 80% { opacity: 0; transform: translate3d(10px, -45px, 0); } }
@media (prefers-reduced-motion: reduce) { .qiyu-boot-lamplight, .qiyu-boot-needle, .qiyu-boot-track i, .qiyu-boot-motes i { animation: none !important; } #qiyu-boot-screen { transition-duration: .01ms; } .qiyu-boot-track i { transform: translateX(65%); } }
@media (max-width: 720px) { .qiyu-boot-map { background-position: 60% center; } .qiyu-boot-shade { background: linear-gradient(90deg, #160f0af0, #160f0abb 70%, #160f0a77); } .qiyu-boot-content { left: 9vw; width: 82vw; } .qiyu-boot-footer span:last-child { display: none; } }
@media (max-height: 520px) { .qiyu-boot-masthead { top: 20px; } .qiyu-boot-content { transform: translateY(-43%); } .qiyu-boot-eyebrow { margin-bottom: 10px; font-size: 10px; } .qiyu-boot-title { font-size: 66px; margin-bottom: 10px; } .qiyu-boot-subtitle { font-size: 13px; } .qiyu-boot-divider { margin: 15px 0 18px; } .qiyu-boot-footer { bottom: 16px; } }
