1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| body.splash-active { overflow: hidden; }
body.splash-active .index-container { opacity: 0; transition: opacity 0.8s ease-in-out; }
.splash-screen { display: flex; justify-content: center; align-items: center; height: 100vh; width: 100vw; position: fixed; top: 0; left: 0; z-index: 9999; background-color: #121212; transition: background-color 1.5s cubic-bezier(0.7, 0, 0.3, 1); will-change: background-color; transform: translateZ(0); backface-visibility: hidden; }
.splash-screen.invert-colors { background-color: #ffffff; }
.logo-text { font-family: "Times New Roman", "Songti SC", "SimSun", "serif", "STSong", "华文宋体", "宋体", serif; font-weight: 500; display: flex; align-items: center; font-size: clamp(40px, 12vw, 110px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.logo-text.hidden { opacity: 0; transform: translateY(-60px); }
.logo-word { display: flex; }
.logo-word + .logo-word { margin-left: clamp(15px, 4vw, 40px); }
.char-container { display: inline-block; overflow: hidden; vertical-align: bottom; }
.logo-text span { display: block; transform: translateY(110%); animation: reveal 1.2s cubic-bezier(0.23, 1, 0.32, 1) forwards; color: #f0f0f0; transition: color 1.5s cubic-bezier(0.7, 0, 0.3, 1); will-change: transform, color; transform: translateY(110%) translateZ(0); }
.splash-screen.invert-colors .logo-text span { color: #1a1a1a; }
@keyframes reveal { to { transform: translateY(0); } }
.logo-text .char1 { animation-delay: 0.2s; } .logo-text .char2 { animation-delay: 0.3s; } .logo-text .char3 { animation-delay: 0.4s; } .logo-text .char4 { animation-delay: 0.5s; } .logo-text .char5 { animation-delay: 0.6s; } .logo-text .char6 { animation-delay: 0.7s; } .logo-text .char7 { animation-delay: 0.8s; } .logo-text .char8 { animation-delay: 0.9s; } .logo-text .char9 { animation-delay: 1.0s; } .logo-text .char10 { animation-delay: 1.1s; } .logo-text .char11 { animation-delay: 1.2s; }
@media (max-width: 768px) { .logo-text { font-size: clamp(32px, 10vw, 80px); }
.logo-text span { animation-duration: 1.0s; } }
@media (prefers-reduced-motion: reduce) { .logo-text span { animation: none; transform: translateY(0); }
.splash-screen { transition: none; }
.logo-text { transition: none; } }
|