/* ===== 首页片头（Logo 开场动画）===== */
.lc-intro { position: fixed; inset: 0; z-index: 9999; background: #050403; display: flex;
  align-items: center; justify-content: center; cursor: pointer;
  opacity: 1; transition: opacity .7s ease; }
.lc-intro.lc-out { opacity: 0; pointer-events: none; }
body.lc-intro-on { overflow: hidden; }

.lc-intro-stage { position: relative; width: 100%; height: 100%; overflow: hidden;
  background: radial-gradient(120% 90% at 50% 44%, #1a120a 0%, #0d0906 55%, #050403 100%); }

/* ---------- 科技感背景层 ---------- */
/* 透视地平线网格（底部延伸，缓慢向前流动） */
.lc-grid { position: absolute; left: -20%; right: -20%; bottom: 0; height: 52%;
  pointer-events: none; opacity: 0;
  background-image:
    linear-gradient(rgba(255,138,30,.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,138,30,.11) 1px, transparent 1px);
  background-size: 56px 56px;
  transform: perspective(560px) rotateX(64deg) translateY(10%);
  transform-origin: center bottom;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 30%);
  mask-image: linear-gradient(to bottom, transparent, #000 30%);
  animation: lcGridIn 1.4s .15s forwards, lcGridMove 4s linear infinite; }
@keyframes lcGridIn { to { opacity: 1; } }
@keyframes lcGridMove { from { background-position: 0 0; } to { background-position: 0 56px; } }

/* 水平扫描光带（与风车聚合同步，从上往下扫一次） */
.lc-scan { position: absolute; left: 0; right: 0; top: -2%; height: 2px;
  pointer-events: none; opacity: 0;
  background: linear-gradient(90deg, transparent 10%, rgba(255,190,100,.6) 50%, transparent 90%);
  box-shadow: 0 0 20px rgba(255,138,30,.5);
  animation: lcScanGo 1.7s .4s cubic-bezier(.45,.05,.35,1) forwards; }
@keyframes lcScanGo { 0% { top: -2%; opacity: 1; } 100% { top: 102%; opacity: 1; } }

/* 微弱星点 */
.lc-stars { position: absolute; inset: 0; pointer-events: none; opacity: 0;
  animation: lcStarsIn 1.5s .3s forwards; }
.lc-stars i { position: absolute; width: 3px; height: 3px; border-radius: 50%;
  background: rgba(255,195,120,.7); box-shadow: 0 0 10px rgba(255,138,30,.55);
  animation: lcStarTw 3s ease-in-out infinite alternate; }
@keyframes lcStarsIn { to { opacity: 1; } }
@keyframes lcStarTw { from { opacity: .2; transform: scale(.6); } to { opacity: 1; transform: scale(1.2); } }

/* 虚线装饰环 */
.lc-ring { position: absolute; left: 50%; top: 44%; width: min(62vmin, 62%); aspect-ratio: 1;
  transform: translate(-50%, -50%); border: 1.5px dashed rgba(255,138,30,.22); border-radius: 50%;
  animation: lcRingSpin 40s linear infinite; }
.lc-ring.r2 { width: min(78vmin, 78%); border-color: rgba(255,138,30,.10);
  animation-duration: 60s; animation-direction: reverse; }
@keyframes lcRingSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }

/* 顶部氛围光 */
.lc-amb { position: absolute; inset: 0; background: radial-gradient(50% 32% at 50% 30%, rgba(255,138,30,.14), transparent 70%);
  opacity: 0; animation: lcAmbIn 1.6s .2s cubic-bezier(.22,.8,.28,1) forwards; }
@keyframes lcAmbIn { to { opacity: 1; } }

/* 中央组合 */
.lc-core { position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%); text-align: center; }

.lc-emblem { position: relative; width: clamp(130px, 22vmin, 280px); aspect-ratio: 1;
  margin: 0 auto 4.5%; opacity: 0; filter: blur(14px) brightness(2.2); transform: scale(.72);
  animation: lcEmblemIn 1.25s .35s cubic-bezier(.19,.9,.24,1.02) forwards; }
@keyframes lcEmblemIn {
  0%   { opacity: 0; filter: blur(14px) brightness(2.2); transform: scale(.72); }
  60%  { opacity: 1; filter: blur(0) brightness(1.15); }
  100% { opacity: 1; filter: blur(0) brightness(1); transform: scale(1); }
}
.lc-emblem img { width: 100%; height: 100%; object-fit: contain;
  animation: lcEmblemSpin 18s linear infinite;
  filter: drop-shadow(0 14px 42px rgba(255,138,30,.35)); }
@keyframes lcEmblemSpin { to { transform: rotate(360deg); } }

/* 底盘光晕 */
.lc-halo { position: absolute; left: 50%; top: 50%; width: 165%; aspect-ratio: 1;
  transform: translate(-50%, -50%); border-radius: 50%;
  background: radial-gradient(circle, rgba(255,138,30,.28) 0%, rgba(255,138,30,.07) 45%, transparent 68%);
  animation: lcHaloPulse 3.4s ease-in-out infinite alternate; }
@keyframes lcHaloPulse {
  from { opacity: .55; transform: translate(-50%, -50%) scale(.94); }
  to   { opacity: 1;   transform: translate(-50%, -50%) scale(1.06); }
}

/* 文字（见上） */

/* 文字（逐字浮现 + 依次扫光） */
.lc-name { display: flex; justify-content: center; gap: .18em; font-weight: 700;
  font-size: clamp(30px, 6.4vmin, 66px); }
.lc-name span { opacity: 0; transform: translateY(14px); filter: blur(6px);
  color: transparent; text-shadow: none;
  background-image: linear-gradient(100deg, #f5ede2 40%, #fff8ea 50%, #f5ede2 60%);
  background-size: 300% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text;
  animation: lcCharIn .55s cubic-bezier(.2,.8,.3,1) forwards,
             lcShine .95s cubic-bezier(.45,.15,.25,1) forwards; }
.lc-name span:nth-child(1) { animation-delay: 2.05s, 2.22s; }
.lc-name span:nth-child(2) { animation-delay: 2.18s, 2.35s; }
.lc-name span:nth-child(3) { animation-delay: 2.31s, 2.48s; }
.lc-name span:nth-child(4) { animation-delay: 2.44s, 2.61s; }
@keyframes lcCharIn { to { opacity: 1; transform: none; filter: blur(0) drop-shadow(0 0 22px rgba(255,138,30,.30)); } }
@keyframes lcShine { to { background-position: 0% 0; } }
.lc-name .o { background-image: linear-gradient(100deg, #ff8a1e 40%, #ffe0b0 50%, #ff8a1e 60%); }

.lc-sub { margin-top: 3%; font-size: clamp(11px, 1.7vmin, 16px); letter-spacing: .55em; text-indent: .55em;
  color: rgba(245,222,190,.62); white-space: nowrap; opacity: 0;
  animation: lcSubIn 1s 2.9s cubic-bezier(.22,.8,.28,1) forwards; }
@keyframes lcSubIn { from { opacity: 0; letter-spacing: 1.1em; } to { opacity: 1; letter-spacing: .55em; } }

/* 四角取景框 */
.lc-corners span { position: absolute; width: 26px; height: 26px;
  border: 2px solid rgba(255,138,30,0); animation: lcCornerIn .6s 3.4s forwards; }
.lc-corners span:nth-child(1) { left: 6%; top: 9%;    border-right: 0; border-bottom: 0; }
.lc-corners span:nth-child(2) { right: 6%; top: 9%;    border-left: 0;  border-bottom: 0; }
.lc-corners span:nth-child(3) { left: 6%; bottom: 9%; border-right: 0; border-top: 0; }
.lc-corners span:nth-child(4) { right: 6%; bottom: 9%; border-left: 0;  border-top: 0; }
@keyframes lcCornerIn { to { border-color: rgba(255,138,30,.45); } }

/* 底部进度细线 */
.lc-bar { position: absolute; left: 18%; right: 18%; bottom: 6.5%; height: 2px;
  background: rgba(255,255,255,.07); border-radius: 2px; overflow: hidden; }
.lc-bar i { display: block; height: 100%; width: 0; border-radius: 2px;
  background: linear-gradient(90deg, #ff8a1e, #ffb64d); box-shadow: 0 0 12px rgba(255,138,30,.8);
  animation: lcBarGo 4.6s .3s linear forwards; }
@keyframes lcBarGo { to { width: 100%; } }

/* 跳过提示 */
.lc-skip { position: absolute; right: 26px; bottom: 22px; font-size: 12px; letter-spacing: .16em;
  color: rgba(245,222,190,.42); animation: lcSkipIn .6s 1.4s forwards; opacity: 0; }
@keyframes lcSkipIn { to { opacity: 1; } }

@media (max-width: 480px) {
  .lc-sub { letter-spacing: .32em; text-indent: .32em; font-size: 10px; }
  .lc-corners span { width: 20px; height: 20px; }
  .lc-skip { right: 16px; bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .lc-grid, .lc-scan, .lc-stars, .lc-stars i,
  .lc-ring, .lc-emblem, .lc-emblem img, .lc-halo, .lc-name span,
  .lc-sub, .lc-corners span, .lc-bar i, .lc-amb, .lc-skip { animation: none !important; opacity: 1 !important; }
}
