/* One stationary outline; the line travels around its perimeter. */
.jys-loading::before{content:"";display:block;width:104px;height:130px;margin:0 auto 16px;background:url('/web/loading.svg') center/contain no-repeat}
.jys-loading-inline::before{display:inline-block;width:20px;height:25px;margin:0 8px 0 0;vertical-align:middle}
[hidden]{display:none!important}
.site-loading,.game-loading,.film-boot{display:grid;place-content:center;min-height:100svh;padding:24px;box-sizing:border-box;background:#20382f;color:#f5f2ec;text-align:center;font:14px/1.8 'Noto Sans TC','PingFang TC',sans-serif}
.site-loading{position:fixed;inset:0;z-index:2000}
.game-loading{position:absolute;inset:0;z-index:1;background:#f5f2ec;color:#20382f}
.site-loading .jys-loading::before,.film-boot::before{filter:brightness(0) invert(1)}
.site-loading a,.game-loading a{display:inline-flex;align-items:center;min-height:44px;margin:8px;color:inherit;text-decoration:underline;text-underline-offset:3px}
.site-loading a:focus-visible,.game-loading a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.loading-image{display:block;position:relative;width:100%;height:100%}
.loading-image>img{width:100%;height:100%;object-fit:inherit}
.loading-image-status{position:absolute;inset:0;display:grid;place-content:center;gap:4px;padding:12px;color:#20382f;text-align:center;font:12px/1.8 'Noto Sans TC','PingFang TC',sans-serif}
.loading-image-status::before{width:48px;height:60px;margin-bottom:4px}
.loading-image[data-image-state=ready]>.loading-image-status{display:none}
.loading-image:not([data-image-state=ready])>img{opacity:0}
.loading-image[data-image-state=error]>.loading-image-status::before{display:none}
.image-loading{background:url('/web/loading.svg') center/32px 40px no-repeat!important}
