/* ===== Candle Loading Overlay ===== */
.ps-candle-overlay{
  position:fixed; inset:0;
  display:flex; align-items:center; justify-content:center;
  
  backdrop-filter: blur(4px);
  z-index: 99999;
  opacity: 0.95;
  transition: opacity .35s ease;
  
  
  background:
  radial-gradient(circle at 18% 78%, rgba(216,187,201,.95) 0%, rgba(216,187,201,0) 55%),
  radial-gradient(circle at 18% 18%, rgba(188,213,223,.95) 0%, rgba(188,213,223,0) 58%),
  radial-gradient(circle at 92% 12%, rgba(253,233,205,.98) 0%, rgba(253,233,205,0) 55%),
  radial-gradient(circle at 86% 82%, rgba(227,226,215,.95) 0%, rgba(227,226,215,0) 60%),
  linear-gradient(135deg, #bcd5df 0%, #fde9cd 48%, #d8bbc9 72%, #e3e2d7 100%);
  
  
}



.ps-candle-overlay::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.18;              /* 濃さ調整 */
  mix-blend-mode:multiply;  /* ざらつき感 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}



.ps-candle-overlay.is-hide{
  opacity: 0;
  pointer-events:none;
}
.ps-candle-loading{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px;
  padding:24px;
}

.ps-candle-loading .candle{ position:relative; width:92px; height:140px; }
.ps-candle-loading .flame{
  position:absolute; left:50%; top:6px;
  width:13px; height:38px;
  transform:translateX(-50%);
  border-radius: 60% 40% 65% 35% / 65% 35% 60% 40%;
  background: radial-gradient(circle at 45% 65%, #ffd36a 0 35%, #ff9f3d 36% 65%, #ff5a2a 66% 100%);
  filter: drop-shadow(0 6px 10px rgba(255,140,60,.45));
  transform-origin: 50% 85%;
}
.ps-candle-loading .wick{
  position:absolute; left:50%; top:38px;
  width:4px; height:10px; transform:translateX(-50%);
  background:#2b2b2b; border-radius:2px; opacity:.9;
}
.ps-candle-loading .wax{
  position: absolute;
  left: 50%;
  top: 46px;
  width: 23px;
  height: 92px;
  transform: translateX(-50%);
  background: linear-gradient(#fff7e6, #f2e7d3);
  border-radius: 5px;
  box-shadow: inset 0 -10px 18px rgba(0, 0, 0, .06);
}
.ps-candle-loading .wax::before{
  content:"";
  position:absolute; left:0; top:-10px;
  width:100%; height:24px;
  background: linear-gradient(#fff7e6, #f5ead7);
  border-radius: 18px 18px 14px 14px;
  clip-path: polygon(0 65%, 8% 55%, 15% 70%, 26% 52%, 36% 74%, 48% 50%, 58% 72%, 70% 54%, 82% 70%, 92% 55%, 100% 65%, 100% 100%, 0 100%);
  box-shadow: inset 0 10px 10px rgba(0,0,0,.04);
}
.ps-candle-loading .drip{
  position:absolute; top:72px;
  width:10px;
  background: linear-gradient(#fff7e6, #f2e7d3);
  border-radius: 10px;
  box-shadow: inset 0 -10px 10px rgba(0,0,0,.08);
  transform-origin: top center;
  opacity:.95;
}
.ps-candle-loading .d1{ left:31px; height:34px; }
.ps-candle-loading .d2{ left:40px; height:46px; width:10px; top:66px; }
.ps-candle-loading .d3{ left:53px; height:28px; width:8px; top:76px; }

.ps-candle-loading .loading-text{
  font: 600 12px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  letter-spacing:.04em;
  opacity:.8;
  color: #222;
}
.ps-candle-loading .dots{ display:inline-block; min-width:18px; }

@media (prefers-reduced-motion: reduce){
  .ps-candle-loading .flame,
  .ps-candle-loading .drip{ transition:none !important; }
}
