.lopm-loader-host{position:relative!important}
.lopm-loader-overlay{
  --lopm-loader-size:100px;
  --lopm-loader-main-color:#27357f;
  --lopm-loader-primary-color:#27357f;
  --lopm-loader-accent-color:#ff1e9a;
  --lopm-loader-muted-color:#626a8c;
  --lopm-loader-message-color:#626a8c;
  --lopm-loader-message-size:16px;
  --lopm-loader-transition:1450ms;
  --lopm-loader-speed:4300ms;
  --lopm-loader-logo-width:150px;
  --lopm-loader-logo-height:100px;
  --lopm-loader-logo-offset-x:0px;
  --lopm-loader-logo-offset-y:0px;
  box-sizing:border-box;position:fixed;inset:0;z-index:999999;display:grid;place-items:center;
  padding:clamp(18px,4vw,40px);opacity:0;visibility:hidden;
  transition:opacity .38s ease,visibility 0s linear .38s;font-family:inherit!important;
  pointer-events:none;isolation:isolate;overflow:hidden
}
.lopm-loader-overlay.is-mounted{opacity:1;visibility:visible;transition:opacity .38s ease,visibility 0s linear 0s;pointer-events:auto}
.lopm-loader-overlay.is-leaving{opacity:0;pointer-events:none}
.lopm-loader-overlay.is-container{position:absolute!important;inset:0!important;z-index:80;min-height:var(--lopm-loader-container-min-height,300px);width:100%;max-width:100%;overflow:hidden}
.lopm-loader-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;width:min(580px,100%);min-height:180px;text-align:center;color:var(--lopm-loader-message-color);transform:translateZ(0)}

/* Soft dissolve: a deliberate overlap between the outgoing and incoming symbol. */
.lopm-loader-icon-stage{position:relative;width:min(var(--lopm-loader-size),30vw);height:min(var(--lopm-loader-size),30vw);max-width:190px;max-height:190px;flex:0 0 auto}
.lopm-loader-icon-layer{position:absolute;inset:0;display:block;background:var(--lopm-loader-main-color);opacity:0;transform:scale(.76);filter:blur(9px) drop-shadow(0 0 20px color-mix(in srgb,var(--lopm-loader-main-color) 34%,transparent));will-change:opacity,transform,filter;transition:opacity var(--lopm-loader-transition) cubic-bezier(.2,.7,.2,1),transform var(--lopm-loader-transition) cubic-bezier(.16,1,.3,1),filter var(--lopm-loader-transition) ease;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.lopm-loader-visual--symbol_bloom .lopm-loader-icon-layer.is-entering{opacity:0;transform:scale(.76);filter:blur(10px) drop-shadow(0 0 24px color-mix(in srgb,var(--lopm-loader-main-color) 40%,transparent))}
.lopm-loader-visual--symbol_bloom .lopm-loader-icon-layer.is-visible{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 0 transparent)}
.lopm-loader-visual--symbol_bloom .lopm-loader-icon-layer.is-leaving{opacity:0;transform:scale(1.28);filter:blur(8px) drop-shadow(0 0 18px color-mix(in srgb,var(--lopm-loader-main-color) 24%,transparent))}

/* Premium orbit: monochrome particles only. The logo itself remains quiet and centered. */
.lopm-loader-orbit-stage{position:relative;width:min(var(--lopm-loader-orbit-size),72vw);height:min(var(--lopm-loader-orbit-size),72vw);max-width:330px;max-height:330px;min-width:210px;min-height:210px;flex:0 0 auto;display:grid;place-items:center}
.lopm-loader-orbit-ring{--ring-speed:var(--lopm-loader-speed);position:absolute;left:50%;top:50%;border-radius:50%;animation:lopmOrbitRotate var(--ring-speed) linear infinite;will-change:transform}
.lopm-loader-orbit-ring::before{content:"";position:absolute;inset:0;border:1px solid var(--lopm-loader-muted-color);border-radius:50%;opacity:.16}
.lopm-loader-orbit-ring--1{--ring-speed:var(--lopm-loader-speed-fast);width:43%;height:43%;margin:-21.5% 0 0 -21.5%}
.lopm-loader-orbit-ring--2{--ring-speed:var(--lopm-loader-speed-mid);width:68%;height:68%;margin:-34% 0 0 -34%;animation-direction:reverse}
.lopm-loader-orbit-ring--3{--ring-speed:var(--lopm-loader-speed-slow);width:94%;height:94%;margin:-47% 0 0 -47%}
@keyframes lopmOrbitRotate{to{transform:rotate(360deg)}}
.lopm-loader-particle-anchor{position:absolute;inset:0;transform:rotate(var(--lopm-particle-angle,0deg));pointer-events:none}
.lopm-loader-particle{position:absolute;right:0;top:50%;display:block;width:var(--lopm-particle-size,6px);height:var(--lopm-particle-size,6px);margin-right:calc(var(--lopm-particle-size,6px) / -2);margin-top:calc(var(--lopm-particle-size,6px) / -2);border-radius:50%;background:var(--lopm-loader-muted-color);opacity:var(--lopm-particle-opacity,.4);box-shadow:none}
.lopm-loader-logo-core{position:relative;z-index:4;display:grid;place-items:center;width:min(var(--lopm-loader-logo-width),66vw);height:min(var(--lopm-loader-logo-height),40vw);max-width:260px;max-height:200px;transform:translate(var(--lopm-loader-logo-offset-x),var(--lopm-loader-logo-offset-y));overflow:visible}
.lopm-loader-logo-core img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:50% 50%;margin:auto}
.lopm-loader-logo-fallback{display:block;width:68%;height:68%;background:var(--lopm-loader-main-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}

/* Numerology: input values -> sum -> reduced digits -> final value. No counting animation. */
.lopm-loader-numerology-stage{position:relative;width:min(calc(var(--lopm-loader-size) * 2.8),78vw);height:min(calc(var(--lopm-loader-size) * 1.38),170px);max-width:340px;min-width:230px;flex:0 0 auto;color:var(--lopm-loader-main-color);font-family:inherit}
.lopm-loader-numerology-expression,.lopm-loader-numerology-result{position:absolute;left:0;right:0;text-align:center;will-change:transform,opacity,filter;transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .82s cubic-bezier(.16,1,.3,1),filter .72s ease}
.lopm-loader-numerology-expression{top:50%;font-size:clamp(25px,calc(var(--lopm-loader-size) * .32),38px);font-weight:500;line-height:1;letter-spacing:.06em;opacity:0;transform:translateY(-50%) scale(.94);filter:blur(3px)}
.lopm-loader-numerology-result{top:54%;font-size:clamp(44px,calc(var(--lopm-loader-size) * .56),68px);font-weight:600;line-height:1;letter-spacing:-.025em;opacity:0;transform:translateY(-36%) scale(.82);filter:blur(5px)}
.lopm-loader-numerology-rule{position:absolute;left:50%;top:50%;height:1px;width:0;background:var(--lopm-loader-muted-color);opacity:.22;transform:translate(-50%,18px);transition:width .72s cubic-bezier(.16,1,.3,1),opacity .55s ease}
.lopm-loader-numerology-stage.phase-input .lopm-loader-numerology-expression{opacity:.94;transform:translateY(-50%) scale(1);filter:none}
.lopm-loader-numerology-stage.phase-sum .lopm-loader-numerology-expression{opacity:.44;transform:translateY(-48px) scale(.72);filter:none}
.lopm-loader-numerology-stage.phase-sum .lopm-loader-numerology-rule{width:58%;opacity:.22}
.lopm-loader-numerology-stage.phase-sum .lopm-loader-numerology-result{opacity:1;transform:translateY(-18%) scale(1);filter:none}
.lopm-loader-numerology-stage.phase-reduce .lopm-loader-numerology-expression{opacity:.88;transform:translateY(-48px) scale(.78);filter:none}
.lopm-loader-numerology-stage.phase-reduce .lopm-loader-numerology-rule{width:48%;opacity:.18}
.lopm-loader-numerology-stage.phase-reduce .lopm-loader-numerology-result{opacity:.18;transform:translateY(-18%) scale(.90);filter:blur(2px)}
.lopm-loader-numerology-stage.phase-final .lopm-loader-numerology-expression{opacity:.34;transform:translateY(-50px) scale(.70);filter:none}
.lopm-loader-numerology-stage.phase-final .lopm-loader-numerology-rule{width:32%;opacity:.14}
.lopm-loader-numerology-stage.phase-final .lopm-loader-numerology-result{opacity:1;transform:translateY(-18%) scale(1.08);filter:none}

.lopm-loader-message{box-sizing:border-box;max-width:min(480px,86vw);margin:0!important;padding:0!important;border:0!important;background:none!important;color:var(--lopm-loader-message-color)!important;font-family:inherit!important;font-size:var(--lopm-loader-message-size)!important;font-weight:400!important;line-height:1.55!important;letter-spacing:0!important;opacity:0;transform:translateY(5px);filter:blur(2px);transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .84s cubic-bezier(.16,1,.3,1),filter .72s ease}
.lopm-loader-message.is-visible{opacity:.82;transform:none;filter:blur(0)}
.lopm-loader-overlay.no-message .lopm-loader-content{gap:0}
.lopm-loader-overlay.no-message .lopm-loader-message{display:none}

/* Admin preview is hard-clipped so a loader can never cover settings beneath it. */
.lopm-loader-preview-stage{isolation:isolate;contain:layout paint;overflow:hidden!important}
.lopm-loader-preview-stage>.lopm-loader-overlay.is-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;z-index:2!important;clip-path:inset(0 round 16px)}

@media(max-width:640px){
  .lopm-loader-overlay{padding:18px}.lopm-loader-content{gap:20px;min-height:150px}
  .lopm-loader-icon-stage{width:min(var(--lopm-loader-size),38vw);height:min(var(--lopm-loader-size),38vw)}
  .lopm-loader-orbit-stage{width:min(var(--lopm-loader-orbit-size-mobile),80vw);height:min(var(--lopm-loader-orbit-size-mobile),80vw);min-width:185px;min-height:185px}
  .lopm-loader-logo-core{width:min(var(--lopm-loader-logo-width),64vw);height:min(var(--lopm-loader-logo-height),42vw)}
  .lopm-loader-numerology-stage{min-width:210px;width:min(calc(var(--lopm-loader-size) * 2.45),82vw)}
  .lopm-loader-message{max-width:84vw;font-size:min(var(--lopm-loader-message-size),16px)!important}
}
@media(prefers-reduced-motion:reduce){
  .lopm-loader-overlay,.lopm-loader-icon-layer,.lopm-loader-message,.lopm-loader-orbit-ring,.lopm-loader-numerology-expression,.lopm-loader-numerology-result,.lopm-loader-numerology-rule{transition:none!important;animation:none!important;filter:none!important}
  .lopm-loader-icon-layer.is-visible{opacity:1!important;transform:none!important}
}
.lopm-loader-numerology-expression{display:flex;align-items:center;justify-content:center;gap:.42em}
.lopm-loader-numerology-number{display:inline-block;min-width:.72em;text-align:center}
.lopm-loader-numerology-operator{font-style:normal;font-size:.62em;font-weight:400;color:var(--lopm-loader-muted-color);opacity:.58;transform:translateY(-.03em)}
