/* ===== Preloader 本体 ===== */
#preloader{
  position:fixed; inset:0; z-index:99999;
  background:#FCF5EB;
  display:flex; align-items:center; justify-content:center;
}
.preloader__inner{ text-align:center; }
.preloader__logo{
  width:clamp(140px, 22vw, 220px);
  height:auto;
  opacity:0;
  transform:translateY(20px);
}
.preloader__counter{
  margin-top:24px;
  font-family:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight:300;
  font-size:clamp(0.875rem, 2.4vw, 1.0rem);
  letter-spacing:.08em;
  color:#5E554F;
  opacity:0;
  font-variant-numeric:tabular-nums; /* 数字幅を完全に均一化 */
}

/* ローダー中はbody.overflow停止 */
body.is-loading{ overflow:hidden; }

/* ===== 既存 anim-fade-* をローダー中は強制ロック ===== */
body.is-loading .anim-fade-left,
body.is-loading .anim-fade-right{
  transition:none !important;
}
body.is-loading .anim-fade-left.is-visible{
  opacity:0 !important;
  transform:translateX(60px) !important;
}
body.is-loading .anim-fade-right.is-visible{
  opacity:0 !important;
  transform:translateX(-60px) !important;
}

/* prefers-reduced-motion 対応 */
@media (prefers-reduced-motion: reduce){
  .preloader__logo,
  .preloader__counter{ opacity:1 !important; transform:none !important; }
}