/* ===== MUJINA Cinematic Splash Intro — shared by /about, /buyer, /seller ===== */
.splash{
  position:fixed;inset:0;z-index:9999;
  background:#000;color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .9s ease, visibility .9s;
  overflow:hidden;
}
.splash.hide{opacity:0;visibility:hidden;pointer-events:none}
.splash.playing .splash-bg-circle{
  animation:splash-bg-pulse 3.8s ease-out forwards;
}

/* === Cinema lights coming up === */
.splash-light{
  position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse at center, transparent 0%, transparent 100%);
  pointer-events:none;opacity:0;
}
.splash.playing .splash-light{
  animation:cinema-lights 3.8s ease-in-out forwards;
}
@keyframes cinema-lights{
  0%   {background:radial-gradient(ellipse at center, transparent 0%, #000 100%);opacity:0}
  10%  {background:radial-gradient(ellipse at center, rgba(70,8,20,.15) 0%, #000 80%);opacity:1}
  30%  {background:radial-gradient(ellipse at center, rgba(140,15,40,.35) 0%, rgba(40,5,12,.85) 60%, #000 100%);opacity:1}
  45%  {background:radial-gradient(ellipse at center, rgba(220,80,100,.6) 0%, rgba(120,15,30,.6) 50%, #000 100%);opacity:1}
  50%  {background:radial-gradient(ellipse at center, rgba(255,240,240,.95) 0%, rgba(255,100,120,.7) 25%, rgba(120,15,30,.5) 60%, #000 100%);opacity:1}
  55%  {background:radial-gradient(ellipse at center, #fff 0%, rgba(255,200,200,.9) 18%, rgba(240,68,82,.7) 45%, #14080C 100%);opacity:1}
  62%  {background:radial-gradient(ellipse at center, rgba(255,200,200,.6) 0%, rgba(240,68,82,.5) 35%, rgba(40,5,12,.85) 80%, #000 100%);opacity:1}
  80%  {background:radial-gradient(ellipse at center, rgba(140,15,40,.3) 0%, rgba(20,5,8,.9) 60%, #000 100%);opacity:1}
  100% {background:radial-gradient(ellipse at center, transparent 0%, transparent 100%);opacity:0}
}

.splash-vignette{
  position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,.6) 100%);
  pointer-events:none;
}
.splash-bg-circle{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) scale(.3);
  width:80vmax;height:80vmax;border-radius:50%;
  background:radial-gradient(circle, rgba(240,68,82,.45) 0%, rgba(240,68,82,.15) 35%, transparent 60%);
  opacity:0;pointer-events:none;
}
@keyframes splash-bg-pulse{
  0%{transform:translate(-50%,-50%) scale(.3);opacity:0}
  60%{transform:translate(-50%,-50%) scale(1.4);opacity:1}
  100%{transform:translate(-50%,-50%) scale(2);opacity:0}
}
.splash-inner{
  text-align:center;position:relative;z-index:2;padding:0 24px;
}
.splash-kanji{
  font-family:var(--jp-serif,serif);
  font-size:240px;font-weight:900;line-height:1;
  color:#fff;letter-spacing:-8px;
  margin-bottom:20px;
  text-shadow:0 0 0 transparent;transition:text-shadow .3s;
}
.splash.playing .splash-kanji{
  animation:cinematic-kanji 3.8s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes cinematic-kanji{
  0%   {transform:scale(.7);opacity:0;filter:blur(40px);color:#fff;text-shadow:0 0 0 transparent}
  20%  {transform:scale(.85);opacity:.4;filter:blur(20px);text-shadow:0 0 10px rgba(255,200,200,.3)}
  45%  {transform:scale(1.05);opacity:.85;filter:blur(4px);color:#fff;text-shadow:0 0 60px rgba(255,255,255,.7),0 0 120px rgba(240,68,82,.5)}
  55%  {transform:scale(1.25);opacity:1;filter:blur(0);color:#fff;text-shadow:0 0 100px #fff,0 0 180px rgba(255,200,200,.9),0 0 250px var(--red,#F04452)}
  70%  {transform:scale(1.05);color:#fff;text-shadow:0 0 50px var(--red,#F04452),0 0 100px rgba(240,68,82,.6)}
  100% {transform:scale(1);opacity:1;color:#fff;text-shadow:0 0 30px rgba(240,68,82,.5)}
}
.splash-brand{
  font-family:var(--jp-serif,serif);
  font-size:48px;font-weight:900;letter-spacing:6px;
  color:#fff;margin-bottom:12px;opacity:0;
}
.splash.playing .splash-brand{
  animation:fade-up 1.2s ease-out 1.6s forwards;
}
.splash-sub{
  font-family:var(--jp-serif,serif);
  font-size:13px;letter-spacing:8px;color:rgba(255,255,255,.6);
  border-left:2px solid var(--red,#F04452);padding-left:14px;
  display:block;width:max-content;max-width:100%;margin:0 auto 40px;opacity:0;
}
.splash.playing .splash-sub{
  animation:fade-up 1s ease-out 2.0s forwards;
}
@keyframes fade-up{
  0%{opacity:0;transform:translateY(15px)}
  100%{opacity:1;transform:translateY(0)}
}
.enter-btn{
  display:inline-flex;flex-direction:column;align-items:center;gap:4px;
  padding:18px 48px;
  background:transparent;color:#fff;
  border:2px solid var(--red,#F04452);border-radius:6px;
  font-family:var(--jp-serif,serif);
  cursor:pointer;transition:all .3s;
  position:relative;overflow:hidden;
}
.enter-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--red,#F04452),#D92D40);
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
  z-index:-1;
}
.enter-btn:hover{box-shadow:0 0 30px rgba(240,68,82,.5);transform:translateY(-2px)}
.enter-btn:hover::before{transform:scaleX(1)}
.enter-btn .enter-icon{font-size:22px;line-height:1}
.enter-btn .enter-main{font-size:22px;font-weight:900;letter-spacing:6px;line-height:1}
.enter-btn .enter-sub{font-size:9.5px;letter-spacing:2px;color:rgba(255,255,255,.55);font-weight:400;font-family:var(--th,sans-serif)}
.splash.playing .enter-btn{
  animation:fade-out .5s ease forwards;pointer-events:none;
}
@keyframes fade-out{to{opacity:0;transform:translateY(-10px)}}
.skip-btn{
  display:block;margin-top:24px;
  color:rgba(255,255,255,.4);text-decoration:none;
  font-size:11px;letter-spacing:2px;
  transition:color .15s;font-family:var(--th,sans-serif);
}
.skip-btn:hover{color:rgba(255,255,255,.8)}
.splash.playing .skip-btn{opacity:0;transition:opacity .3s}
@media (max-width:720px){
  .splash-kanji{font-size:160px}
  .splash-brand{font-size:34px;letter-spacing:4px}
  .splash-sub{font-size:10px;letter-spacing:5px;margin-bottom:30px}
  .enter-btn{padding:14px 36px}
  .enter-btn .enter-main{font-size:18px;letter-spacing:5px}
}

