html { line-height: 1.5; -webkit-text-size-adjust: 100%; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-feature-settings: normal; font-variation-settings: normal; -webkit-tap-highlight-color: transparent; } .global-loading { position: fixed; top: 0; left: 0; z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; overflow: hidden; background-color: #f4f7f9; /* transition: all 0.8s ease-out; */ } .global-loading.hidden { display: flex; pointer-events: none; visibility: hidden; opacity: 0; transition: all 0.6s ease-out; } .global-loading .title { margin-top: 66px; font-size: 28px; font-weight: 600; color: rgb(0 0 0 / 85%); } .global-loading .loader { position: relative; width: 48px; height: 48px; } .global-loading .loader::before { position: absolute; top: 60px; left: 0; width: 48px; height: 5px; content: ''; background: var(--primary); border-radius: 50%; animation: shadow-ani 0.5s linear infinite; } .global-loading .loader::after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; background: var(--primary); border-radius: 4px; animation: jump-ani 0.5s linear infinite; } @keyframes jump-ani { 15% { border-bottom-right-radius: 3px; } 25% { transform: translateY(9px) rotate(22.5deg); } 50% { border-bottom-right-radius: 40px; transform: translateY(18px) scale(1, 0.9) rotate(45deg); } 75% { transform: translateY(9px) rotate(67.5deg); } 100% { transform: translateY(0) rotate(90deg); } } @keyframes shadow-ani { 0%, 100% { transform: scale(1, 1); } 50% { transform: scale(1.2, 1); } }