241 lines
4.5 KiB
CSS
241 lines
4.5 KiB
CSS
/* 引入字体文件 */
|
|
@font-face {
|
|
font-family: 'NotoSansHans';
|
|
font-weight: 900;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Black.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'NotoSansHansBold';
|
|
font-weight: bold;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Bold.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'NotoSansHans';
|
|
font-weight: normal;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Regular.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'NotoSansHansLight';
|
|
font-weight: 300;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Light.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'DDIN';
|
|
font-weight: normal;
|
|
src: url('/font/D-Din/D-DIN.ttf') format('truetype');
|
|
unicode-range: U+0030-0039;
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'DDINBold';
|
|
font-weight: bold;
|
|
src: url('/font/D-Din/D-DIN-Bold.ttf') format('truetype');
|
|
unicode-range: U+0030-0039;
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Douyu';
|
|
src: url('/font/DouyuFont/douyuFont-2.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Noto Sans S Chinese';
|
|
font-weight: 100;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Thin-Windows.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Noto Sans S Chinese';
|
|
font-weight: 300;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Light.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Noto Sans S Chinese';
|
|
font-weight: 400;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Regular.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Noto Sans S Chinese';
|
|
font-weight: 500;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Medium.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Noto Sans S Chinese';
|
|
font-weight: 700;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Bold.otf') format('opentype');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Noto Sans S Chinese';
|
|
font-weight: 900;
|
|
src: url('/font/NotoSansHans/NotoSansHans-Black.otf') format('opentype');
|
|
}
|
|
|
|
div,span,p {
|
|
font-family: 'Noto Sans S Chinese';
|
|
}
|
|
|
|
#root {
|
|
margin: 0 auto;
|
|
}
|
|
|
|
@keyframes qa-stop-breathing {
|
|
0%, 100% {
|
|
transform: scale(1);
|
|
box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.45);
|
|
}
|
|
|
|
50% {
|
|
transform: scale(1.04);
|
|
box-shadow: 0 0 0 8px rgba(239, 68, 68, 0);
|
|
}
|
|
}
|
|
|
|
@keyframes qa-avatar-orbit {
|
|
0% {
|
|
transform: rotate(0deg) scale(1);
|
|
}
|
|
|
|
50% {
|
|
transform: rotate(4deg) scale(1.06);
|
|
}
|
|
|
|
100% {
|
|
transform: rotate(0deg) scale(1);
|
|
}
|
|
}
|
|
|
|
@keyframes qa-avatar-icon-pulse {
|
|
0%, 100% {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
|
|
50% {
|
|
transform: scale(1.12);
|
|
opacity: 0.82;
|
|
}
|
|
}
|
|
|
|
@keyframes qa-avatar-shine {
|
|
0% {
|
|
transform: translateX(-120%) skewX(-18deg);
|
|
opacity: 0;
|
|
}
|
|
|
|
45% {
|
|
opacity: 0.5;
|
|
}
|
|
|
|
100% {
|
|
transform: translateX(120%) skewX(-18deg);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@keyframes qa-spark-twinkle {
|
|
0%, 100% {
|
|
transform: scale(0.85) rotate(0deg);
|
|
opacity: 0.65;
|
|
}
|
|
|
|
50% {
|
|
transform: scale(1.15) rotate(18deg);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.qa-stop-breathing {
|
|
animation: qa-stop-breathing 1.25s ease-in-out infinite;
|
|
}
|
|
|
|
.qa-avatar-active {
|
|
animation: qa-avatar-orbit 1.8s ease-in-out infinite;
|
|
}
|
|
|
|
.qa-avatar-icon-active {
|
|
animation: qa-avatar-icon-pulse 1.1s ease-in-out infinite;
|
|
}
|
|
|
|
.qa-avatar-active .qa-avatar-shine {
|
|
animation: qa-avatar-shine 1.6s ease-in-out infinite;
|
|
}
|
|
|
|
.qa-avatar-spark {
|
|
animation: qa-spark-twinkle 1s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes qa-generating-marquee {
|
|
0% {
|
|
background-position: 180% 50%;
|
|
}
|
|
|
|
100% {
|
|
background-position: -80% 50%;
|
|
}
|
|
}
|
|
|
|
.qa-generating-marquee {
|
|
display: inline-block;
|
|
background-size: 220% 100%;
|
|
background-clip: text;
|
|
-webkit-background-clip: text;
|
|
color: transparent;
|
|
-webkit-text-fill-color: transparent;
|
|
animation: qa-generating-marquee 1.45s linear infinite;
|
|
}
|
|
|
|
.qa-generating-marquee-light {
|
|
background-image: linear-gradient(90deg, #4b5563 0%, #4b5563 34%, #ef4444 48%, #fb923c 55%, #4b5563 68%, #4b5563 100%);
|
|
}
|
|
|
|
.qa-generating-marquee-dark {
|
|
background-image: linear-gradient(90deg, #cbd5e1 0%, #cbd5e1 34%, #67e8f9 48%, #a78bfa 55%, #cbd5e1 68%, #cbd5e1 100%);
|
|
}
|
|
|
|
.logo {
|
|
height: 6em;
|
|
padding: 1.5em;
|
|
will-change: filter;
|
|
transition: filter 300ms;
|
|
}
|
|
|
|
.logo:hover {
|
|
filter: drop-shadow(0 0 2em #646cffaa);
|
|
}
|
|
|
|
.logo.react:hover {
|
|
filter: drop-shadow(0 0 2em #61dafbaa);
|
|
}
|
|
|
|
@keyframes logo-spin {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
a:nth-of-type(2) .logo {
|
|
animation: logo-spin infinite 20s linear;
|
|
}
|
|
}
|
|
|
|
.card {
|
|
padding: 2em;
|
|
}
|
|
|
|
.read-the-docs {
|
|
color: #888;
|
|
}
|