
/* Shared full-page waiting surface. All selectors are scoped to this surface. */
.tul-loading{--brand:#c51220;--gold:#cda35b;--emblem:#da251d;--ink:#29292e;--muted:#64646c;--soft:#97979e;--ring:rgba(197,18,32,.12);--paper:#faf8f7;--paper-mid:#f4efed;--paper-end:#fbfaf9;--wash:rgba(216,18,26,.045);--sweep:rgba(216,18,26,.014);--font:"PingFang SC","Microsoft YaHei",Arial,sans-serif}
.tul-loading,.tul-loading *{box-sizing:border-box}
.tul-loading{margin:0;width:100%;overflow-x:clip;font-family:var(--font);color:var(--ink)}
.tul-loading{min-height:100vh;min-height:100svh;background:radial-gradient(850px 580px at 5% 5%,var(--wash),transparent 62%),linear-gradient(135deg,var(--paper),var(--paper-mid) 52%,var(--paper-end))}
.tul-loading:after{content:"";position:fixed;width:900px;height:900px;left:-570px;bottom:-650px;border:90px solid var(--sweep);border-radius:50%;pointer-events:none}
.tul-loading__logo{position:fixed;z-index:2;left:6vw;top:6vh;max-width:calc(100vw - 48px)}
.tul-loading__logo img{display:block;width:230px;max-width:100%;height:auto}
.tul-loading__main{position:relative;z-index:1;width:min(820px,calc(100% - 48px));min-height:100vh;min-height:100svh;margin:auto;padding:140px 0 88px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.tul-loading__spinner{position:relative;width:104px;height:104px;flex-shrink:0;margin-bottom:24px}
.tul-loading__spinner:before,.tul-loading__spinner i{position:absolute;inset:0;border:2px solid var(--ring);border-radius:50%}
.tul-loading__spinner:before{content:""}
.tul-loading__spinner i{border-color:transparent;border-top-color:var(--brand);border-right-color:var(--brand);animation:tul-loading-spin 2.8s linear infinite}
.tul-loading__spinner i:nth-child(2){inset:13%;border-width:1.5px;border-color:transparent;border-top-color:var(--gold);animation:tul-loading-spin 3.8s linear infinite reverse}
/* Source: 1076 x 231. The complete emblem occupies its first 316 px. */
.tul-loading__mark{position:absolute;inset:30%;border-radius:50%;overflow:hidden;background:linear-gradient(to bottom,var(--emblem) 0 13.449%,transparent 13.449% 86.551%,var(--emblem) 86.551% 100%)}
.tul-loading__mark img{position:absolute;left:0;top:50%;display:block;width:340.506329%;max-width:none;height:auto;transform:translateY(-50%)}
.tul-loading__kicker{color:var(--brand);font-size:13px;font-weight:500;letter-spacing:.12em;line-height:1.6}
.tul-loading__slogan{width:100%;max-width:100%;min-width:0;margin:24px 0 28px;font-size:clamp(23px,2.8vw,40px);font-weight:600;line-height:1.55;letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance}
.tul-loading__slogan span{display:block}
.tul-loading__status{color:var(--muted);font-size:17px;line-height:1.65;text-wrap:balance}
.tul-loading__foot{position:fixed;left:0;right:0;bottom:5vh;text-align:center;color:var(--soft);font-size:12px;letter-spacing:.12em}
@keyframes tul-loading-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){
 .tul-loading__logo{top:max(24px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left))}
 .tul-loading__logo img{width:180px}
 .tul-loading__main{padding:120px 0 max(64px,env(safe-area-inset-bottom))}
 .tul-loading__spinner{width:88px;height:88px;margin-bottom:24px}
 .tul-loading__kicker{font-size:12px;letter-spacing:.1em}
 .tul-loading__slogan{font-size:clamp(20px,5.8vw,23px);margin:20px 0 24px;line-height:1.6}
 .tul-loading__status{font-size:14px}
 .tul-loading__foot{display:none}
}
@media(max-height:560px){
 .tul-loading__logo{position:relative;left:auto;top:auto;display:table;margin:20px 24px 0}
 .tul-loading__logo img{width:180px}
 .tul-loading__main{min-height:0;padding:28px 0}
 .tul-loading__spinner{width:72px;height:72px;margin-bottom:20px}
 .tul-loading__slogan{font-size:22px;margin:16px 0 20px}
 .tul-loading__foot{position:relative;bottom:auto;margin:0 20px max(24px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.tul-loading__spinner i{animation:none;transform:rotate(35deg)}.tul-loading__spinner i:nth-child(2){transform:rotate(210deg)}}

.tul-loading{position:fixed;inset:0;z-index:1000;height:100%;overflow-y:auto;isolation:isolate;line-height:normal;text-align:left}
.tul-loading__slogan{font-style:normal;color:var(--ink)}
.tul-loading__main{display:flex}
.tul-loading[data-finished] .tul-loading__spinner{visibility:hidden}
.tul-loading[data-finished] .tul-loading__spinner i{animation:none}
.tul-loading__status{overflow-wrap:anywhere}
