.site-loader{--loader-bottom:max(clamp(104px,14vh,160px),env(safe-area-inset-bottom));--loader-meta-space:98px;position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:#eeeeec;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s;isolation:isolate;font:400 14px/1.5 Arial,"Microsoft YaHei",sans-serif;color:#384231}.site-loader::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 35% 55%,#b78c6920,transparent 45%),radial-gradient(ellipse at 65% 45%,#72746a14,transparent 45%)}.site-loader.is-visible{opacity:1;visibility:visible;pointer-events:auto}.site-loader-inner{position:absolute;left:max(clamp(24px,5vw,80px),env(safe-area-inset-left));right:max(clamp(24px,5vw,80px),env(safe-area-inset-right));bottom:var(--loader-bottom);z-index:1}.site-loader-art{position:absolute;inset:0;pointer-events:none}.site-loader canvas{display:block;width:100%;height:100%;opacity:0}.has-particles canvas{opacity:1}.site-loader-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 12px}.site-loader-caption{display:flex;align-items:center;gap:12px}.site-loader-brand{position:relative;display:grid;place-items:center;width:180px;height:80px;margin-left:-24px}.site-loader-brand canvas{position:absolute;left:-50%;top:-50%;width:200%;height:200%;pointer-events:none}.site-loader-brand strong{position:relative;color:#10100f;font:700 36px/.72 Arial,"Helvetica Neue",sans-serif;letter-spacing:-.025em}.site-loader-step{color:#292d26;font-size:clamp(22px,2.2vw,30px);font-weight:700;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:4ch;text-align:right}.site-loader-progress{height:6px;border-radius:3px;overflow:hidden;background:#38423124}.site-loader-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:#645546}.site-loader-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* 六像素进度条使用圆角收尾，不再添加末端螺旋粒子，百分比加粗放大；粒子画布覆盖全屏；进度区保留两侧安全边距并下移，字标环绕粒子与百分比保持前景可读。 */
@media(max-width:600px){body[data-loader-preview] .site-loader{--loader-bottom:calc(136px + env(safe-area-inset-bottom))}}
/* 正式加载避开底部安全区；预览独立预留控件空间，避免按钮换行挤压进度条。 */
@media(max-width:600px){.site-loader{--loader-meta-space:76px}.site-loader-meta{font-size:13px}.site-loader-brand{margin-left:-14px;width:128px;height:58px}.site-loader-brand strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}}
/* 手机保持全宽进度区并避开底部预览控件，减少动态模式直接同步实际进度。 */

.site-loader-wait{white-space:nowrap}.site-loader-dots{display:inline-block;width:1.5ch;text-align:left}
/* 预留三个点的固定宽度，循环过程中不挤动字标或百分比。 */

/* 字标环绕画布宽高均扩大两倍，字标本身和相邻文字位置保持稳定。 */

.site-loader-seal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(56vw,54vh,500px);aspect-ratio:1;padding:0;border:0;border-radius:50%;background:none;cursor:crosshair;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.site-loader-seal img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.site-loader-seal-mist{filter:blur(18px);opacity:.22}.site-loader-seal-clear{opacity:.94;mask-image:radial-gradient(ellipse var(--seal-rx,.01px) var(--seal-ry,.01px) at var(--seal-x,50%) var(--seal-y,50%),#000 36%,#000c 58%,transparent 100%)}.site-loader-seal:focus-visible{outline:2px solid #64554666;outline-offset:8px}.site-loader-seal:focus-visible .site-loader-seal-clear{mask-image:none}.site-loader-seal:focus-visible .site-loader-seal-mist{opacity:0}
/* 原透明印章居中，底层保留淡雾，清晰层仅在鼠标泡泡内显露；图片不参与加载完成判定。 */
@media(max-width:600px){.site-loader-seal{top:calc((100% - var(--loader-bottom) - var(--loader-meta-space))/2);width:min(86vw,calc((100dvh - var(--loader-bottom) - var(--loader-meta-space) - 32px)*.85))}}

@media(max-height:500px) and (min-width:601px){body[data-loader-preview] .site-loader{--loader-bottom:calc(88px + env(safe-area-inset-bottom))}.site-loader{--loader-meta-space:76px}.site-loader-brand{height:58px}.site-loader-brand strong{font-size:28px}.site-loader-seal{top:calc((100% - var(--loader-bottom) - var(--loader-meta-space))/2);width:min(40vw,calc((100dvh - var(--loader-bottom) - var(--loader-meta-space) - 24px)*.85))}}
/* 横屏按进度区上方的剩余高度容纳印章，不与字标重叠。 */
