/* DeepFupan 真实照片立体背景：天空层(慢) + 草地前景层(快) + 照片抠图飞鸟
   视差产生景深；暗纱保证文字对比度；prefers-reduced-motion 时静止。 */
.dfp-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#0a1428}
.dfp-bg-sky{position:absolute;inset:-4%;background:url("bg-sky.webp") center 30%/cover no-repeat;
  will-change:transform;transform:translate3d(calc(var(--px,0px)*.3),calc(var(--py,0px)*.3),0)}
.dfp-bg-grass{position:absolute;left:-6%;width:112%;bottom:0;height:30vh;min-height:190px;
  background:url("bg-grass.webp") bottom center/100% 100% no-repeat;will-change:transform;
  transform:translate3d(calc(var(--px,0px)*.9),calc(var(--py,0px)*.9),0)}
.dfp-bg-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,13,25,.38) 0%,rgba(8,13,25,.18) 50%,rgba(8,13,25,.32) 100%)}
.dfp-bg-bird{position:absolute;width:26px;height:26px;background:center/contain no-repeat;opacity:.9;
  animation:dfp-fly 68s linear infinite;transform:translate3d(-6vw,0,0)}
.dfp-bg-bird.b1{top:9%;background-image:url("bg-bird1.png")}
.dfp-bg-bird.b2{width:18px;height:18px;opacity:.7;animation-duration:95s;animation-delay:-32s;top:17%;background-image:url("bg-bird2.png")}
.dfp-bg-bird.b3{width:12px;height:12px;opacity:.5;animation-duration:125s;animation-delay:-66s;top:27%;background-image:url("bg-bird3.png")}
@keyframes dfp-fly{
  0%{transform:translate3d(-6vw,0,0)}
  25%{transform:translate3d(22vw,-14px,0)}
  50%{transform:translate3d(50vw,4px,0)}
  75%{transform:translate3d(76vw,-10px,0)}
  100%{transform:translate3d(106vw,0,0)}
}
/* 侧栏与右侧卡片一致的半透明深色面板（可读性靠 .92 不透明度 + 毛玻璃兜底） */
.sidebar{z-index:2;background:rgba(17,24,39,.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.workspace{position:relative;z-index:1}
@media (max-width:720px){
  .dfp-bg-grass{height:20vh;min-height:120px}
  .dfp-bg-bird.b2,.dfp-bg-bird.b3{display:none}
}
@media (prefers-reduced-motion:reduce){
  .dfp-bg-bird{animation:none;display:none}
  .dfp-bg-sky,.dfp-bg-grass{transform:none!important}
}
