/* Reborn visual depth: decorative only, with no impact on controls or game logic. */
.ts1-reborn-home .reborn-hero .ts1-depth {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.ts1-depth-glow,
.ts1-depth-dust { position: absolute; inset: 0; pointer-events: none; }
.ts1-depth-glow {
  opacity: .48;
  background:
    radial-gradient(ellipse at 77% 73%, rgba(194, 93, 41, .16), transparent 32%),
    radial-gradient(ellipse at 44% 24%, rgba(224, 180, 106, .07), transparent 38%);
}
.ts1-depth-dust i {
  position: absolute;
  width: var(--spark-size, 3px);
  height: var(--spark-size, 3px);
  border-radius: 50%;
  background: #ffca83;
  opacity: .36;
  box-shadow: 0 0 7px rgba(255, 160, 75, .7), 0 0 15px rgba(231, 108, 46, .3);
}
.ts1-depth-dust i:nth-child(1)  { left:  8%; top: 72%; --spark-size: 2px; --spark-delay: -2s; --spark-duration: 8s; }
.ts1-depth-dust i:nth-child(2)  { left: 18%; top: 38%; --spark-size: 3px; --spark-delay: -6s; --spark-duration: 10s; }
.ts1-depth-dust i:nth-child(3)  { left: 28%; top: 83%; --spark-size: 2px; --spark-delay: -1s; --spark-duration: 9s; }
.ts1-depth-dust i:nth-child(4)  { left: 39%; top: 67%; --spark-size: 2px; --spark-delay: -8s; --spark-duration: 12s; }
.ts1-depth-dust i:nth-child(5)  { left: 48%; top: 89%; --spark-size: 3px; --spark-delay: -4s; --spark-duration: 11s; }
.ts1-depth-dust i:nth-child(6)  { left: 57%; top: 76%; --spark-size: 2px; --spark-delay: -9s; --spark-duration: 9s; }
.ts1-depth-dust i:nth-child(7)  { left: 65%; top: 48%; --spark-size: 3px; --spark-delay: -3s; --spark-duration: 12s; }
.ts1-depth-dust i:nth-child(8)  { left: 72%; top: 90%; --spark-size: 2px; --spark-delay: -7s; --spark-duration: 10s; }
.ts1-depth-dust i:nth-child(9)  { left: 79%; top: 69%; --spark-size: 3px; --spark-delay: -2s; --spark-duration: 11s; }
.ts1-depth-dust i:nth-child(10) { left: 85%; top: 83%; --spark-size: 2px; --spark-delay: -5s; --spark-duration: 8s; }
.ts1-depth-dust i:nth-child(11) { left: 91%; top: 54%; --spark-size: 2px; --spark-delay: -9s; --spark-duration: 12s; }
.ts1-depth-dust i:nth-child(12) { left: 95%; top: 76%; --spark-size: 3px; --spark-delay: -4s; --spark-duration: 10s; }

/* The seal is an existing aria-hidden ornament, not an interactive control. */
.ts1-reborn-home .reborn-seal { isolation: isolate; }
.ts1-reborn-home .reborn-seal::before,
.ts1-reborn-home .reborn-seal::after {
  content: '';
  position: absolute;
  inset: -20%;
  z-index: -1;
  border: 1px solid rgba(231, 192, 127, .34);
  border-left-color: transparent;
  border-right-color: rgba(231, 192, 127, .12);
  border-radius: 50%;
  pointer-events: none;
  transform: perspective(400px) rotateX(65deg) rotateZ(20deg);
  box-shadow: 0 0 12px rgba(203, 143, 71, .08);
}
.ts1-reborn-home .reborn-seal::after {
  inset: -29%;
  opacity: .65;
  transform: perspective(400px) rotateY(65deg) rotateZ(-25deg);
}
@keyframes ts1-depth-embers {
  0%, 100% { opacity: .08; transform: translate3d(0, 5px, 0) scale(.7); }
  30% { opacity: .55; }
  80% { opacity: .22; }
  95% { opacity: 0; transform: translate3d(5px, -32px, 0) scale(1); }
}
@keyframes ts1-depth-ring-one {
  from { transform: perspective(400px) rotateX(65deg) rotateZ(0deg); }
  to   { transform: perspective(400px) rotateX(65deg) rotateZ(360deg); }
}
@keyframes ts1-depth-ring-two {
  from { transform: perspective(400px) rotateY(65deg) rotateZ(0deg); }
  to   { transform: perspective(400px) rotateY(65deg) rotateZ(-360deg); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .ts1-reborn-home .reborn-hero-art {
    translate: var(--ts1-depth-x, 0px) var(--ts1-depth-y, 0px);
    transition: translate 1s cubic-bezier(.2, .7, .2, 1);
  }
  .ts1-depth-glow {
    translate: calc(var(--ts1-depth-x, 0px) * -.5) calc(var(--ts1-depth-y, 0px) * -.5);
    transition: translate 1.2s ease-out;
  }
  .ts1-depth-dust {
    translate: calc(var(--ts1-depth-x, 0px) * 1.2) calc(var(--ts1-depth-y, 0px) * 1.2);
    transition: translate .8s ease-out;
  }
  .ts1-depth-dust i { animation: ts1-depth-embers var(--spark-duration, 10s) var(--spark-delay, 0s) ease-in-out infinite; }
  .ts1-reborn-home .reborn-seal::before { animation: ts1-depth-ring-one 24s linear infinite; }
  .ts1-reborn-home .reborn-seal::after { animation: ts1-depth-ring-two 32s linear infinite; }
}
.ts1-reborn-home .reborn-hero.ts1-depth-paused .ts1-depth-dust i,
.ts1-reborn-home .reborn-hero.ts1-depth-paused .reborn-seal::before,
.ts1-reborn-home .reborn-hero.ts1-depth-paused .reborn-seal::after { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .ts1-reborn-home .reborn-hero-art,
  .ts1-depth-glow,
  .ts1-depth-dust { translate: none; transition: none; }
  .ts1-depth-dust i,
  .ts1-reborn-home .reborn-seal::before,
  .ts1-reborn-home .reborn-seal::after { animation: none; }
}