/* Reuses PRISM website intro prism / rays / pulse animation. */
.prism-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px;vertical-align:middle}
.prism-loading__icon{display:inline-block;flex:none;width:64px;height:28px;position:relative;overflow:visible}
.prism-loading__scene{display:block;width:210px;height:92px;position:absolute;left:0;top:0;transform:scale(.3);transform-origin:0 0}
.prism-loading__prism{position:absolute;left:84px;top:17px;font-size:54px;line-height:1;font-weight:400;color:currentColor;animation:prism-loading-pulse 1.1s ease-in-out infinite}
.prism-loading__line,.prism-loading__beam{position:absolute;height:1px;transform-origin:left center}
.prism-loading__line{width:78px;left:4px;background:#777}
.prism-loading__line--a{top:39px;transform:rotate(7deg)}.prism-loading__line--b{top:55px;transform:rotate(-7deg)}
.prism-loading__beam{width:90px;left:126px;background:#c41230;box-shadow:0 0 10px rgba(196,18,48,.45);animation:prism-loading-beam 1s ease-in-out infinite}
.prism-loading__beam--a{top:30px;transform:rotate(-11deg)}.prism-loading__beam--b{top:46px;animation-delay:.18s}.prism-loading__beam--c{top:62px;transform:rotate(11deg);animation-delay:.36s}
.prism-loading__label{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.5}
.prism-loading__dots{display:inline-block;width:2ch;overflow:hidden;vertical-align:bottom;animation:prism-loading-dots 1.1s steps(4,end) infinite}
.prism-loading-page{min-height:100dvh;display:grid;place-items:center;margin:0;background:#111;color:#fff}
.prism-loading--large{flex-direction:column;gap:18px;padding:24px}
.prism-loading--large .prism-loading__icon{width:210px;height:92px}
.prism-loading--large .prism-loading__scene{transform:none}
.prism-loading--large .prism-loading__label{font-size:16px}
@keyframes prism-loading-pulse{50%{color:#c41230;transform:scale(1.05)}}
@keyframes prism-loading-beam{50%{opacity:.25;transform:translateX(5px)}}
@keyframes prism-loading-dots{to{width:4ch}}
@media(prefers-reduced-motion:reduce){.prism-loading__prism,.prism-loading__beam,.prism-loading__dots{animation:none}}
