/* 独立页面的视觉令牌不依赖商城样式包，升级时也能使用。 */
.site-waiting{--wait-bg:#fff;--wait-ink:#111b21;--wait-muted:#68727e;--wait-line:#dce1e5;--wait-orange:#ea5218;--wait-soft:#fff0e8;--wait-radius:16px;--wait-gap:24px;position:fixed;inset:0;z-index:20000;overflow:auto;background:var(--wait-bg);color:var(--wait-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;text-align:center;box-sizing:border-box;line-height:1.5}
.site-waiting[hidden]{display:none!important}.site-waiting *{box-sizing:border-box}.site-waiting button{font:inherit;cursor:pointer}.site-waiting .wait-header{display:flex;align-items:center;justify-content:space-between;padding:28px 40px}.site-waiting .wait-logo{width:130px;height:24px;object-fit:contain}.site-waiting .wait-language{border:0;background:transparent;color:var(--wait-muted);padding:8px 12px;border-radius:8px}.site-waiting .wait-language:focus-visible,.site-waiting .wait-helper:focus-visible,.site-waiting .wait-check:focus-visible{outline:3px solid var(--wait-orange);outline-offset:5px}.site-waiting .wait-main{width:min(100% - 48px,680px);margin:0 auto;padding:4px 0 32px}.site-waiting .wait-helper{display:block;position:relative;border:0;background:transparent;width:420px;max-width:100%;margin:0 auto 24px;padding:0;outline-offset:0}.site-waiting h1{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;line-height:1.25;font-weight:700;margin:0 0 12px;color:var(--wait-ink)}.site-waiting .wait-subtitle{font-size:18px;line-height:1.6;margin:0;color:var(--wait-muted)}.site-waiting .wait-timing{border:1px solid var(--wait-line);border-radius:var(--wait-radius);padding:24px 28px;margin:28px 0 24px}.site-waiting .wait-time-label{display:flex;justify-content:space-between;align-items:baseline;gap:16px;color:var(--wait-muted);font-size:14px;text-align:left;border-bottom:1px solid var(--wait-line);padding-bottom:18px}.site-waiting .wait-time-label time{text-align:right;font-weight:500}.site-waiting .wait-clock{display:flex;align-items:flex-start;justify-content:center;gap:20px;margin-top:18px}.site-waiting .wait-clock>span{display:grid;gap:0;min-width:62px}.site-waiting .wait-clock b{font-variant-numeric:tabular-nums;font-size:48px;line-height:1.2;font-weight:650;letter-spacing:.02em}.site-waiting .wait-clock i{font-style:normal;font-size:36px;line-height:1.3;color:var(--wait-muted)}.site-waiting .wait-clock small{font-size:12px;color:var(--wait-muted);margin-top:6px}.site-waiting .wait-notice{font-size:14px;color:var(--wait-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 auto 24px;max-width:620px;line-height:1.8}.site-waiting .wait-check{border:0;border-radius:999px;min-width:230px;background:var(--wait-orange);color:#fff!important;padding:14px 28px;font-size:15px;font-weight:600;transition:transform .2s,background .2s}.site-waiting .wait-check:hover{background:#d74711;transform:translateY(-2px)}.site-waiting .wait-check:disabled{opacity:.7;cursor:wait}.site-waiting .wait-auto{font-size:12px;color:var(--wait-muted);margin:12px 0 0}.site-waiting .wait-feedback{min-height:24px;margin:10px 0 0;font-size:13px;color:var(--wait-muted)}.site-waiting .wait-footer{font-size:12px;color:var(--wait-muted);padding:4px 24px 24px;display:flex;align-items:center;justify-content:center;gap:16px}.site-waiting .wait-footer:before,.site-waiting .wait-footer:after{content:"";height:1px;width:26px;background:var(--wait-line)}.site-waiting .wait-loader{display:flex;justify-content:center;gap:7px;margin:28px auto}.site-waiting .wait-loader span{width:7px;height:7px;background:var(--wait-orange);border-radius:50%;animation:wait-dot 1.4s ease-in-out infinite}.site-waiting .wait-loader span:nth-child(2){animation-delay:.15s}.site-waiting .wait-loader span:nth-child(3){animation-delay:.3s}.site-waiting [hidden]{display:none!important}.site-waiting[data-mode="loading"] .wait-main{padding-top:max(0px,calc(50vh - 290px))}.site-waiting[data-mode="loading"] .wait-footer{position:absolute;bottom:0;left:0;right:0}.site-waiting[data-mode="loading"] .wait-helper{width:320px;margin-bottom:20px}.site-waiting[data-mode="loading"] h1{font-size:28px}.site-waiting[data-mode="loading"] .wait-subtitle{font-size:15px}
@keyframes wait-greet{0%,100%{transform:translateY(0)}25%,65%{transform:translateY(-15px) rotate(3deg)}45%{transform:translateY(0) rotate(-3deg)}}@keyframes wait-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
@media(max-width:600px){.site-waiting .wait-header{padding:20px 24px}.site-waiting .wait-logo{width:116px}.site-waiting .wait-main{width:calc(100% - 40px);padding-top:8px}.site-waiting .wait-helper{width:300px;margin-bottom:20px}.site-waiting .wait-subtitle{font-size:15px}.site-waiting .wait-timing{padding:20px;margin:24px 0 20px}.site-waiting .wait-time-label{display:grid;gap:8px;font-size:12px}.site-waiting .wait-time-label time{text-align:left}.site-waiting .wait-clock{gap:12px}.site-waiting .wait-clock b{font-size:36px}.site-waiting .wait-clock>span{min-width:50px}.site-waiting .wait-clock i{font-size:30px}.site-waiting .wait-notice{font-size:13px}.site-waiting .wait-check{padding:13px 24px}.site-waiting[data-mode="loading"] .wait-main{padding-top:max(0px,calc(50vh - 270px))}}
.site-waiting[data-animation-only="true"] .wait-footer,.site-waiting[data-animation-only="true"] .wait-main>:not(.wait-helper):not(.wait-animation-caption){display:none!important}.site-waiting[data-animation-only="true"] .wait-main{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;margin:0 auto}.site-waiting[data-animation-only="true"] .wait-helper{width:360px;margin:0;max-width:100%}
/* 八个独立迈步姿势逐帧播放，手臂与箱子随角色动作变化。 */
.site-waiting .wait-helper{height:300px;display:flex;align-items:center;justify-content:center}.site-waiting .wait-character{display:block;width:225px;aspect-ratio:3/4;background-image:url('/maintenance/carry-sprite.webp');background-repeat:no-repeat;background-size:400% 200%;animation:wait-carry 1s steps(1,end) infinite}.site-waiting .wait-helper.delight .wait-character{animation-duration:.65s}.site-waiting[data-mode="loading"] .wait-helper,.site-waiting[data-animation-only="true"] .wait-helper{height:300px}.site-waiting h1{font-size:clamp(28px,3.3vw,48px)}.site-waiting .wait-subtitle{font-size:20px}.site-waiting .wait-main{max-width:720px}.site-waiting .wait-time-label{font-size:16px}.site-waiting .wait-notice{font-size:16px}.site-waiting .wait-footer{font-size:14px}
@keyframes wait-carry{0%,100%{background-position:0% 0%}12.5%{background-position:33.333333% 0%}25%{background-position:66.666667% 0%}37.5%{background-position:100% 0%}50%{background-position:0% 100%}62.5%{background-position:33.333333% 100%}75%{background-position:66.666667% 100%}87.5%{background-position:100% 100%}}
@media(max-width:600px){.site-waiting .wait-helper{height:240px}.site-waiting .wait-character{width:180px}.site-waiting .wait-subtitle{font-size:15px}.site-waiting .wait-notice{font-size:13px}.site-waiting .wait-time-label{font-size:12px}.site-waiting .wait-footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){.site-waiting .wait-character,.site-waiting .wait-helper,.site-waiting .wait-loader span{animation:none;will-change:auto}.site-waiting .wait-check{transition:none}}

.site-waiting .wait-animation-caption{margin:20px 0 0;color:var(--wait-orange);font-family:"Waiting Friendly","Arial Rounded MT Bold","Trebuchet MS","Microsoft YaHei",sans-serif;font-size:23px;font-weight:400;letter-spacing:.04em;line-height:1.7;max-width:520px;text-wrap:balance}.site-waiting[data-animation-only="true"] .wait-helper{flex-shrink:0}@media(max-width:600px){.site-waiting .wait-animation-caption{font-size:18px;max-width:300px}}
@font-face{font-family:"Waiting Friendly";src:url('/maintenance/wait-friendly.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
.site-waiting .wait-caption-part{display:block}.site-waiting .wait-inline-brand{display:inline-block;width:auto;height:.8em;vertical-align:baseline;object-fit:contain;margin-inline:.08em}@media(max-width:600px){.site-waiting .wait-animation-caption{font-size:17px;max-width:330px}}

/* 场景分层：地面箱子与星星固定，角色单独逐帧搬运。 */
.site-waiting .wait-helper,.site-waiting[data-mode="loading"] .wait-helper,.site-waiting[data-animation-only="true"] .wait-helper{position:relative;display:block;width:480px;aspect-ratio:3/2;height:auto}.site-waiting .wait-floor{position:absolute;inset:0;display:block;background:url(/maintenance/floor.webp) center/100% 100% no-repeat;pointer-events:none}.site-waiting .wait-character{position:absolute;top:4%;left:28.5%;width:43%;height:auto;aspect-ratio:3/4}@media(max-width:600px){.site-waiting .wait-helper,.site-waiting[data-mode="loading"] .wait-helper,.site-waiting[data-animation-only="true"] .wait-helper{width:330px;height:auto}}

/* 纯动画模式仍可切换语言，悬浮入口不挤占居中场景。 */
.site-waiting[data-animation-only="true"] .wait-header{position:absolute;inset:0 0 auto;justify-content:flex-end;z-index:1}.site-waiting[data-animation-only="true"] .wait-header .wait-logo{display:none}.site-waiting .wait-language{border:1px solid var(--wait-line);background:#fff;min-height:40px;min-width:64px}.site-waiting .wait-language:hover{color:var(--wait-orange);border-color:var(--wait-orange)}
