.creator-transition {
  position:fixed;inset:0;z-index:1000;overflow:hidden;cursor:progress;
  background:linear-gradient(180deg,#04140f 0%,#061811eb 55%,#061811b3 100%);
  animation:creator-veil 2.4s ease both;
}
.creator-rain {
  position:absolute;inset:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 0%,#000e 45%,transparent 100%);
  mask-image:linear-gradient(#000 0%,#000e 45%,transparent 100%);
}
.creator-rain-stream {
  position:absolute;top:0;white-space:pre;text-align:center;
  font:500 19px/1.45 var(--jp);color:#8ff5b4;
  text-shadow:0 0 9px #4cfa9980;opacity:.85;
  animation:creator-rain-fall var(--rain-duration) linear var(--rain-delay) infinite both;
}
.creator-transition-status {
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;color:#e3ffec;text-align:center;padding:24px;
  text-shadow:0 2px 20px #000;animation:creator-status 2.4s ease both;
}
.creator-transition-status [lang=ja] { font:500 32px var(--jp);letter-spacing:.28em; }
.creator-transition-status strong { font:12px/1.6 var(--mono);letter-spacing:1px; }
.creator-emblem { position:relative;display:grid;place-items:center;width:190px;height:190px;margin-bottom:12px; }
.creator-emblem img { display:block;width:110px;height:145px;object-fit:contain;filter:drop-shadow(0 0 14px #40f79955);animation:creator-logo-breathe 1.6s ease-in-out infinite; }
.creator-emblem::before { content:'';position:absolute;inset:0;border:1px solid #8ff5b42b;border-top:2px solid #8ff5b4;border-right:2px solid #8ff5b480;border-radius:50%;animation:creator-loader-spin 1.8s linear infinite; }
@keyframes creator-loader-spin { to { transform:rotate(360deg); } }
@keyframes creator-logo-breathe { 50% { transform:scale(1.045);filter:drop-shadow(0 0 23px #40f79999); } }
@keyframes creator-rain-fall { from { transform:translate(-50%,-100%); } to { transform:translate(-50%,100vh); } }
@keyframes creator-veil { 0% { opacity:0; } 20% { opacity:.75; } 65%,100% { opacity:1; } }
@keyframes creator-status { 0%,20% { opacity:0;transform:translateY(6px); } 45%,100% { opacity:1;transform:none; } }
@media(prefers-reduced-motion:reduce) { .creator-transition { display:none; } }
