/* Stable ink lettering with continuous olive/lime drift; only decorative bands scramble. */
.ym-loading{--load-ink:#25291e;--load-olive:#778b25;--load-lime:#c7dc35;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;max-width:100%;padding:26px 12px;text-align:center}
.ym-glitch{position:relative;display:inline-block;isolation:isolate;flex:none;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:30px;font-weight:800;line-height:1.2;letter-spacing:.12em;white-space:nowrap;color:var(--load-ink)}
.ym-glitch-measure{visibility:hidden}
.ym-glitch-copy{position:absolute;inset:0;pointer-events:none}
.ym-glitch-copy::before{content:"LOADING"}
.ym-glitch-olive::before,.ym-glitch-lime::before{animation:ym-loading-letters 2.4s step-end infinite}
.ym-glitch-ink{z-index:1}
.ym-glitch-olive{z-index:2;color:var(--load-olive);clip-path:inset(48% 0 22% 0);transform:translate(-1px,0);animation:ym-loading-olive 2.4s cubic-bezier(.45,0,.55,1) infinite}
.ym-glitch-lime{z-index:3;color:var(--load-lime);clip-path:inset(70% 0 0 0);transform:translate(1px,0);animation:ym-loading-lime 2.4s cubic-bezier(.45,0,.55,1) infinite}
.ym-glitch-scan{position:absolute;inset:-3px -4px;z-index:4;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#25291e09 3px 4px);overflow:hidden}
.ym-glitch-scan::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 44%,#c7dc3500 46%,#c7dc3566 50%,#c7dc3500 54%,transparent 56%);animation:ym-loading-scan 2.4s linear infinite}
.ym-glitch-olive,.ym-glitch-lime,.ym-glitch-olive::before,.ym-glitch-lime::before,.ym-glitch-scan::after{animation-delay:var(--load-phase,0ms)}
.ym-loading-label{max-width:100%;color:#6b7656;font-size:12px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.ym-loading--hero{gap:20px;padding:42px 8px 30px}
.ym-loading--hero .ym-glitch{font-size:clamp(32px,4.4vw,54px)}
.ym-loading--hero .ym-loading-label{font-size:14px;max-width:440px}
.ym-loading--compact{padding:8px 2px;gap:10px}
.ym-loading--compact .ym-glitch{font-size:21px}
.ym-loading--compact .ym-loading-label{font-size:11px}
.ym-loading--inline{flex-direction:row;justify-content:flex-start;gap:14px;padding:0;text-align:left}
.ym-loading--inline .ym-glitch{font-size:15px}
.ym-loading--inline .ym-loading-label{font-size:11px}
.ym-loading--inline .ym-glitch-scan{inset:0}
.ym-workspace-loading{justify-content:center}
.ym-waiting>h1{font-size:22px;line-height:1.4;text-align:center;overflow-wrap:anywhere;margin:12px 0 0}
.ym-waiting>h2{font-size:17px;text-align:center}
.ym-waiting>progress{max-width:520px;height:6px;border:0;border-radius:4px;appearance:none;background:#e4e9d7;overflow:hidden;flex-shrink:0}
.ym-waiting>progress::-webkit-progress-bar{background:#e4e9d7;border-radius:4px}
.ym-waiting>progress::-webkit-progress-value{background:#a7bb2b;border-radius:4px}
.ym-waiting>progress::-moz-progress-bar{background:#a7bb2b;border-radius:4px}
.ym-waiting>p{font-size:12px;line-height:1.7;text-align:center;overflow-wrap:anywhere;max-width:560px}
.ym-waiting>.ym-btn{margin-top:8px}
.ym-image-state:has(.ym-loading){background:#fffffff2;border:1px solid #e2e7d5;min-width:190px;pointer-events:none;animation:ym-loading-reveal 180ms cubic-bezier(.22,1,.36,1) 100ms both}
.ym-edit-loading:has(.ym-loading){inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:90%}
.ym-dialog .ym-loading-label{line-height:1.6}
@keyframes ym-loading-letters{0%,12%,24%,38%,50%,64%,76%,90%,100%{content:"LOADING"}16%,20%{content:"LO<DING"}42%,46%{content:"LOAD[NG"}68%,72%{content:"L/ADING"}94%,98%{content:"LOA>ING"}}
@keyframes ym-loading-olive{0%,100%{transform:translate(-1px,0);opacity:.82}25%{transform:translate(1.5px,.5px);opacity:.94}50%{transform:translate(.5px,-.5px);opacity:.78}75%{transform:translate(-1.5px,.5px);opacity:.92}}
@keyframes ym-loading-lime{0%,100%{transform:translate(1px,0);opacity:.94}25%{transform:translate(-1.5px,-.5px);opacity:.8}50%{transform:translate(-.5px,.5px);opacity:1}75%{transform:translate(1.5px,-.5px);opacity:.84}}
@keyframes ym-loading-scan{0%{transform:translateY(-65%);opacity:0}15%,85%{opacity:.65}100%{transform:translateY(65%);opacity:0}}
@keyframes ym-loading-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:599px){.ym-loading--hero{padding:36px 0 26px}.ym-loading--hero .ym-loading-label{font-size:12px}.ym-loading--inline{gap:8px;flex-wrap:wrap}.ym-waiting>h1{font-size:19px}.ym-glitch{font-size:26px}}
@media(prefers-reduced-motion:reduce){.ym-glitch-copy,.ym-glitch-copy::before,.ym-glitch-scan::after,.ym-image-state:has(.ym-loading){animation:none!important}.ym-glitch-copy::before{content:"LOADING"!important}.ym-glitch-olive,.ym-glitch-lime{transform:none}.ym-glitch-scan::after{display:none}}
