/* The boot screen's assembly, scaled to the work taking place here. */
.fl-host{position:relative}
.fl-host-block{min-height:100px}
.factory-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100px;width:100%;padding:16px 10px;box-sizing:border-box;color:var(--txt,#fff);pointer-events:none}
.factory-loading[hidden]{display:none!important}
.fl-assembly{display:flex;align-items:center;gap:1px;width:60px;height:20px;flex-shrink:0}
.fl-assembly i{display:block;flex:1;height:1.5px;background:currentColor;animation:fl-assemble 3.6s cubic-bezier(.45,0,.2,1) infinite;animation-delay:calc(var(--i)*45ms);transform-origin:center}
@keyframes fl-assemble{0%,12%,100%{transform:translateY(var(--y)) scaleX(.45);opacity:.2}42%,65%{transform:translateY(0) scaleX(1);opacity:1}85%{transform:translateY(calc(var(--y)*-.65)) scaleX(.6);opacity:.35}}
.fl-label{font:400 12px/1.5 system-ui,-apple-system,sans-serif;color:var(--txt2,#aaa);text-align:center;max-width:100%}
.factory-loading.fl-inline{position:absolute;top:4px;right:8px;width:44px;min-height:24px;height:24px;padding:2px 4px;border-radius:6px;background:var(--bg1,#141518);z-index:2}
.fl-inline .fl-assembly{width:36px;height:16px}
.fl-inline .fl-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fl-inline.fl-slow{width:min(230px,100%);height:auto;min-height:24px;padding:5px 8px}.fl-inline.fl-slow .fl-assembly{display:none}.fl-inline.fl-slow .fl-label{position:static;width:auto;height:auto;clip-path:none;white-space:normal;font-size:11px}
.fl-paused .fl-assembly i{animation-play-state:paused}
.fl-slow .fl-assembly i{animation:none;transform:none;opacity:.4}
@media(prefers-reduced-motion:reduce){.fl-assembly i{animation:none;transform:none;opacity:.8}}

.factory-loading.fl-line{flex-direction:row;justify-content:flex-start;gap:10px;min-height:28px;padding:0;width:auto}.fl-line .fl-assembly{width:42px;height:22px}.fl-line .fl-label{text-align:left}

button.fl-visible{color:transparent!important}button.fl-visible>svg{visibility:hidden}button.fl-host>.fl-inline{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:44px;background:transparent;color:var(--txt,#fff)}button.fl-host>.fl-inline .fl-label{position:absolute;width:1px;height:1px;clip-path:inset(50%)}button.fl-host>.fl-inline.fl-slow .fl-assembly{display:flex}
