/* 首页进场加载：首页主视觉无人机由远及近，机体大小即为加载进度 */
html.yd-active body{overflow:hidden}
/* 灰蓝毛玻璃：取首页天空与水面的低饱和蓝灰，磨砂轻盈但不发白 */
.yd-loader{display:none;position:fixed;inset:0;z-index:10000;flex-direction:column;align-items:center;
  justify-content:center;background:rgba(75,94,112,.62);overflow:hidden;opacity:1;visibility:visible;
  -webkit-backdrop-filter:blur(36px) saturate(.72) brightness(.94);
  backdrop-filter:blur(36px) saturate(.72) brightness(.94);
  transition:opacity .55s ease,visibility .55s ease}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .yd-loader{background:#526779}
}
html.yd-active .yd-loader{display:flex}
.yd-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}

/* 玻璃受光：斜向反光 + 上下柔光，营造磨砂质感 */
.yd-loader::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,.05) 72%,rgba(255,255,255,.1) 100%)}
.yd-sky{position:absolute;inset:0;
  background:
    radial-gradient(120% 70% at 50% 108%, rgba(255,255,255,.13) 0%, rgba(255,255,255,0) 62%),
    radial-gradient(72% 46% at 50% 4%, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg,rgba(167,190,207,.2) 0%,rgba(100,127,149,.16) 46%,rgba(45,67,85,.28) 100%)}
.yd-stars{position:absolute;inset:0}
.yd-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.2;
  box-shadow:0 0 6px rgba(255,255,255,.55);filter:blur(.3px);
  animation:ydTwinkle 3s ease-in-out infinite}
.yd-stars i:nth-child(1){left:12%;top:18%;animation-delay:.2s}
.yd-stars i:nth-child(2){left:26%;top:32%;animation-delay:1.1s}
.yd-stars i:nth-child(3){left:41%;top:14%;animation-delay:.6s}
.yd-stars i:nth-child(4){left:58%;top:24%;animation-delay:1.7s}
.yd-stars i:nth-child(5){left:73%;top:12%;animation-delay:.9s}
.yd-stars i:nth-child(6){left:86%;top:30%;animation-delay:2.1s}
.yd-stars i:nth-child(7){left:18%;top:64%;animation-delay:1.4s}
.yd-stars i:nth-child(8){left:34%;top:78%;animation-delay:.4s}
.yd-stars i:nth-child(9){left:66%;top:70%;animation-delay:1.9s}
.yd-stars i:nth-child(10){left:82%;top:58%;animation-delay:.8s}
.yd-stars i:nth-child(11){left:49%;top:44%;animation-delay:2.4s}
.yd-stars i:nth-child(12){left:8%;top:46%;animation-delay:1.2s}
@keyframes ydTwinkle{0%,100%{opacity:.08;transform:scale(.7)}50%{opacity:.5;transform:scale(1.2)}}

.yd-hud{position:absolute;top:26px;left:32px;right:32px;max-width:calc(100vw - 64px);display:flex;justify-content:space-between;
  font-size:10.5px;letter-spacing:.22em;color:rgba(255,255,255,.58);font-family:ui-monospace,Consolas,monospace}
.yd-hud-r b{display:inline-block;width:5px;height:5px;border-radius:50%;background:#fff;margin-right:7px;
  box-shadow:0 0 8px rgba(255,255,255,.8);animation:ydBlink 1.6s ease-in-out infinite}
@keyframes ydBlink{0%,100%{opacity:1}50%{opacity:.22}}

/* 舞台：负责悬停呼吸；机体缩放由脚本驱动，缩放值=加载进度 */
.yd-stage{position:relative;width:min(84vw,860px);aspect-ratio:1060/442;display:grid;place-items:center;
  margin-bottom:10px;animation:ydHover 3.6s ease-in-out 1.2s infinite}
@keyframes ydHover{0%,100%{transform:translateY(-6px)}50%{transform:translateY(6px)}}
.yd-airframe{position:relative;width:100%;height:100%;transform:scale(.16);transform-origin:50% 50%;
  will-change:transform}
.yd-photo{width:100%;height:100%;object-fit:contain;display:block;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.55)) drop-shadow(0 0 30px rgba(255,255,255,.06)) grayscale(1) brightness(1.02) contrast(1.05)}

.yd-copy{position:relative;text-align:center;margin:34px 0 0;opacity:.4;animation:ydFadeUp .9s ease .7s forwards}
.yd-copy>p{position:relative;z-index:1}
.yd-brand{margin:0 0 9px;font-size:15px;letter-spacing:.34em;color:rgba(248,249,251,.96);font-weight:600}
.yd-slogan{margin:0;font-size:13px;letter-spacing:.22em;font-weight:300;
  font-family:"PingFang SC","Microsoft YaHei Light","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  color:rgba(255,255,255,.9);-webkit-font-smoothing:antialiased}
@keyframes ydFadeUp{to{opacity:1;transform:translateY(-6px)}}
.yd-foot{position:absolute;bottom:22px;left:32px;right:32px;max-width:calc(100vw - 64px);display:flex;justify-content:space-between;
  font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.42);font-family:ui-monospace,Consolas,monospace}

/* 加载完成：无人机加速穿屏，画面收起 */
.yd-loader.is-done .yd-stage{animation:none}
.yd-loader.is-done .yd-airframe{animation:ydFlyThrough .64s cubic-bezier(.55,0,.85,.5) forwards}
@keyframes ydFlyThrough{
  0%{transform:scale(1);opacity:1}
  55%{transform:scale(2.3);opacity:.9}
  100%{transform:scale(6.2);opacity:0;filter:blur(7px)}
}
.yd-loader.is-done .yd-copy,.yd-loader.is-done .yd-foot,.yd-loader.is-done .yd-hud{opacity:0;transition:opacity .3s ease}

@media (max-width:640px){
  .yd-stage{width:min(96vw,520px)}
  .yd-brand{font-size:13.5px;letter-spacing:.26em}
  .yd-slogan{font-size:11.5px;letter-spacing:.18em}
  .yd-hud,.yd-foot{left:18px;right:18px;font-size:9px;letter-spacing:.12em;max-width:calc(100vw - 36px)}
  .yd-hud{top:18px}.yd-foot{bottom:16px}
}
@media (prefers-reduced-motion:reduce){
  .yd-stage{animation:none}
  .yd-stars i{animation:none}
  .yd-loader.is-done .yd-airframe{animation:none;opacity:0}
}
