Files
SearcjGal-frontend/index.html
AdingApkgg a62ca55519 feat: 更新依赖项与优化组件样式
* 在 `package.json` 中添加 ESLint 相关依赖,增强代码质量管理。
* 更新 `index.html` 中的样式,移除图片懒加载的默认透明度设置,避免显示问题。
* 在 `App.vue` 和其他组件中优化代码格式,提升可读性和一致性。
* 更新 `env.d.ts` 文件,添加类型注释以支持 Vue 组件的类型定义。
* 在 `StatsCorner.vue` 中引入过渡效果,提升用户体验。
2025-11-20 15:57:39 +08:00

457 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Primary Meta Tags -->
<title>SearchGal - Galgame 聚合搜索</title>
<meta name="title" content="SearchGal - Galgame 聚合搜索" />
<meta
name="description"
content="Galgame 资源聚合搜索引擎,支持多站点搜索、游戏信息查询、补丁下载。一站式搜索体验,快速找到你想要的 Galgame 资源。"
/>
<meta
name="keywords"
content="Galgame,美少女游戏,游戏搜索,补丁下载,VNDB,聚合搜索,SearchGal"
/>
<meta name="author" content="SearchGal Team" />
<meta name="robots" content="index, follow" />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://searchgal.homes/" />
<meta property="og:title" content="SearchGal - Galgame 聚合搜索" />
<meta
property="og:description"
content="Galgame 资源聚合搜索引擎,支持多站点搜索、游戏信息查询、补丁下载。一站式搜索体验,快速找到你想要的 Galgame 资源。"
/>
<meta property="og:image" content="https://searchgal.homes/og-image.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:locale" content="zh_CN" />
<meta property="og:site_name" content="SearchGal" />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content="https://searchgal.homes/" />
<meta property="twitter:title" content="SearchGal - Galgame 聚合搜索" />
<meta
property="twitter:description"
content="Galgame 资源聚合搜索引擎,支持多站点搜索、游戏信息查询、补丁下载。"
/>
<meta
property="twitter:image"
content="https://searchgal.homes/og-image.png"
/>
<!-- Favicon -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="alternate icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="alternate icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<!-- Canonical URL -->
<link rel="canonical" href="https://searchgal.homes/" />
<!-- Priority Hints - 预加载关键资源 -->
<link rel="preconnect" href="https://api.illlights.com" fetchpriority="high" />
<link rel="preconnect" href="https://api.vndb.org" fetchpriority="high" />
<link rel="preconnect" href="https://registry.npmmirror.com" fetchpriority="low" />
<link rel="dns-prefetch" href="https://artalk.saop.cc" />
<link rel="dns-prefetch" href="https://status.searchgal.homes" />
<style>
/* 主题颜色变量 */
:root {
/* 白天模式 */
--bg-light: rgb(255, 251, 254);
--text-light: rgb(29, 27, 30);
--card-light: rgba(255, 255, 255, 0.9);
--border-light: rgba(236, 72, 153, 0.2);
/* 黑夜模式 - 柔和的深色调 */
--bg-dark: rgb(15, 23, 42);
--text-dark: rgb(226, 232, 240);
--card-dark: rgba(30, 41, 59, 0.9);
--border-dark: rgba(139, 92, 246, 0.3);
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
"Microsoft YaHei", "微软雅黑", "PingFang SC", "Hiragino Sans GB",
"Noto Sans CJK SC", "Source Han Sans SC", "WenQuanYi Micro Hei",
"Roboto", Helvetica, Arial, sans-serif;
line-height: 1.6;
min-height: 100vh;
overflow-wrap: break-word;
margin: 0;
padding: 0;
background: var(--bg-light);
color: var(--text-light);
scroll-behavior: smooth;
transition: background-color 0.3s ease, color 0.3s ease;
}
/* 暗色主题 */
.dark body {
background: var(--bg-dark);
color: var(--text-dark);
}
/* 图片懒加载淡入动画 - 移除默认 opacity: 0避免显示问题 */
img[loading="lazy"] {
transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Pace.js 自定义样式 */
.pace {
pointer-events: none;
user-select: none;
}
.pace-inactive {
display: none;
}
.pace .pace-progress {
background: linear-gradient(90deg, #ec4899, #8b5cf6);
position: fixed;
z-index: 9999;
top: 0;
right: 100%;
width: 100%;
height: 3px;
box-shadow: 0 0 10px rgba(236, 72, 153, 0.5);
}
/* Fancybox 自定义样式 */
.fancybox-custom .fancybox__backdrop {
background: rgba(0, 0, 0, 0.85);
backdrop-filter: blur(10px);
}
.fancybox-custom .fancybox__container {
--fancybox-accent-color: #ec4899;
}
#app {
min-height: 100vh;
position: relative;
}
/* 全局滚动条样式 */
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 10px;
}
.dark ::-webkit-scrollbar-track {
background: rgba(30, 41, 59, 0.3);
}
::-webkit-scrollbar-thumb {
background: linear-gradient(
180deg,
rgb(236, 72, 153),
rgb(139, 92, 246)
);
border-radius: 10px;
transition: background 0.3s ease;
}
.dark ::-webkit-scrollbar-thumb {
background: linear-gradient(
180deg,
rgb(139, 92, 246),
rgb(99, 102, 241)
);
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(
180deg,
rgb(219, 39, 119),
rgb(124, 58, 237)
);
}
.dark ::-webkit-scrollbar-thumb:hover {
background: linear-gradient(
180deg,
rgb(124, 58, 237),
rgb(79, 70, 229)
);
}
/* 选中文本样式 */
::selection {
background: rgba(236, 72, 153, 0.3);
color: inherit;
}
.dark ::selection {
background: rgba(139, 92, 246, 0.4);
color: inherit;
}
/* 背景图层样式 */
#background-layer {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: -2;
/* 默认淡入淡出过渡 */
transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1);
/* 持续的慢慢放大动画 */
animation: slowZoom 10s ease-out forwards;
}
/* 持续慢慢放大动画 */
@keyframes slowZoom {
0% {
transform: scale(1);
}
100% {
transform: scale(1.1);
}
}
/* 转场动画类 */
#background-layer.transition-fade {
animation: fadeTransition 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}
#background-layer.transition-zoom {
animation: zoomTransition 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
#background-layer.transition-slide-left {
animation: slideLeftTransition 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}
#background-layer.transition-slide-right {
animation: slideRightTransition 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}
#background-layer.transition-blur {
animation: blurTransition 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
#background-layer.transition-rotate {
animation: rotateTransition 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}
/* 淡入淡出动画 */
@keyframes fadeTransition {
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* 缩放动画 */
@keyframes zoomTransition {
0% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0;
transform: scale(1.1);
}
100% {
opacity: 1;
transform: scale(1);
}
}
/* 左滑动画 */
@keyframes slideLeftTransition {
0% {
opacity: 1;
transform: translateX(0);
}
50% {
opacity: 0;
transform: translateX(-30px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
/* 右滑动画 */
@keyframes slideRightTransition {
0% {
opacity: 1;
transform: translateX(0);
}
50% {
opacity: 0;
transform: translateX(30px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
/* 模糊动画 */
@keyframes blurTransition {
0% {
opacity: 1;
filter: blur(0px);
}
50% {
opacity: 0.3;
filter: blur(10px);
}
100% {
opacity: 1;
filter: blur(0px);
}
}
/* 旋转动画 */
@keyframes rotateTransition {
0% {
opacity: 1;
transform: scale(1) rotate(0deg);
}
50% {
opacity: 0;
transform: scale(0.95) rotate(5deg);
}
100% {
opacity: 1;
transform: scale(1) rotate(0deg);
}
}
/* 默认背景纹理 - 白天模式 */
#background-layer::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #f0bbbb
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' viewBox='0 0 192 192'%3E%3Cpath fill='%23000000' fill-opacity='0.05' d='M192 15v2a11 11 0 0 0-11 11c0 1.94 1.16 4.75 2.53 6.11l2.36 2.36a6.93 6.93 0 0 1 1.22 7.56l-.43.84a8.08 8.08 0 0 1-6.66 4.13H145v35.02a6.1 6.1 0 0 0 3.03 4.87l.84.43c1.58.79 4 .4 5.24-.85l2.36-2.36a12.04 12.04 0 0 1 7.51-3.11 13 13 0 1 1 .02 26 12 12 0 0 1-7.53-3.11l-2.36-2.36a4.93 4.93 0 0 0-5.24-.85l-.84.43a6.1 6.1 0 0 0-3.03 4.87V143h35.02a8.08 8.08 0 0 1 6.66 4.13l.43.84a6.91 6.91 0 0 1-1.22 7.56l-2.36 2.36A10.06 10.06 0 0 0 181 164a11 11 0 0 0 11 11v2a13 13 0 0 1-13-13 12 12 0 0 1 3.11-7.53l-2.36-2.36a4.93 4.93 0 0 0 .85-5.24l-.43-.84a6.1 6.1 0 0 0-4.87-3.03H145v35.02a8.08 8.08 0 0 1-4.13 6.66l-.84.43a6.91 6.91 0 0 1-7.56-1.22l-2.36-2.36A10.06 10.06 0 0 0 124 181a11 11 0 0 0-11 11h-2a13 13 0 0 1 13-13c2.47 0 5.79 1.37 7.53 3.11l2.36 2.36a4.94 4.94 0 0 0 5.24.85l.84-.43a6.1 6.1 0 0 0 3.03-4.87V145h-35.02a8.08 8.08 0 0 1-6.66-4.13l-.43-.84a6.91 6.91 0 0 1 1.22-7.56l2.36-2.36A10.06 10.06 0 0 0 107 124a11 11 0 0 0-22 0c0 1.94 1.16 4.75 2.53 6.11l2.36 2.36a6.93 6.93 0 0 1 1.22 7.56l-.43.84a8.08 8.08 0 0 1-6.66 4.13H49v35.02a6.1 6.1 0 0 0 3.03 4.87l.84.43c1.58.79 4 .4 5.24-.85l2.36-2.36a12.04 12.04 0 0 1 7.51-3.11A13 13 0 0 1 81 192h-2a11 11 0 0 0-11-11c-1.94 0-4.75 1.16-6.11 2.53l-2.36 2.36a6.93 6.93 0 0 1-7.56 1.22l-.84-.43a8.08 8.08 0 0 1-4.13-6.66V145H11.98a6.1 6.1 0 0 0-4.87 3.03l-.43.84c-.79 1.58-.4 4 .85 5.24l2.36 2.36a12.04 12.04 0 0 1 3.11 7.51A13 13 0 0 1 0 177v-2a11 11 0 0 0 11-11c0-1.94-1.16-4.75-2.53-6.11l-2.36-2.36a6.93 6.93 0 0 1-1.22-7.56l.43-.84a8.08 8.08 0 0 1 6.66-4.13H47v-35.02a6.1 6.1 0 0 0-3.03-4.87l-.84-.43c-1.59-.8-4-.4-5.24.85l-2.36 2.36A12 12 0 0 1 28 109a13 13 0 1 1 0-26c2.47 0 5.79 1.37 7.53 3.11l2.36 2.36a4.94 4.94 0 0 0 5.24.85l.84-.43A6.1 6.1 0 0 0 47 84.02V49H11.98a8.08 8.08 0 0 1-6.66-4.13l-.43-.84a6.91 6.91 0 0 1 1.22-7.56l2.36-2.36A10.06 10.06 0 0 0 11 28 11 11 0 0 0 0 17v-2a13 13 0 0 1 13 13c0 2.47-1.37 5.79-3.11 7.53l-2.36 2.36a4.94 4.94 0 0 0-.85 5.24l.43.84A6.1 6.1 0 0 0 11.98 47H47V11.98a8.08 8.08 0 0 1 4.13-6.66l.84-.43a6.91 6.91 0 0 1 7.56 1.22l2.36 2.36A10.06 10.06 0 0 0 68 11 11 11 0 0 0 79 0h2a13 13 0 0 1-13 13 12 12 0 0 1-7.53-3.11l-2.36-2.36a4.93 4.93 0 0 0-5.24-.85l-.84.43A6.1 6.1 0 0 0 49 11.98V47h35.02a8.08 8.08 0 0 1 6.66 4.13l.43.84a6.91 6.91 0 0 1-1.22 7.56l-2.36 2.36A10.06 10.06 0 0 0 85 68a11 11 0 0 0 22 0c0-1.94-1.16-4.75-2.53-6.11l-2.36-2.36a6.93 6.93 0 0 1-1.22-7.56l.43-.84a8.08 8.08 0 0 1 6.66-4.13H143V11.98a6.1 6.1 0 0 0-3.03-4.87l-.84-.43c-1.59-.8-4-.4-5.24.85l-2.36 2.36A12 12 0 0 1 124 13a13 13 0 0 1-13-13h2a11 11 0 0 0 11 11c1.94 0 4.75-1.16 6.11-2.53l2.36-2.36a6.93 6.93 0 0 1 7.56-1.22l.84.43a8.08 8.08 0 0 1 4.13 6.66V47h35.02a6.1 6.1 0 0 0 4.87-3.03l.43-.84c.8-1.59.4-4-.85-5.24l-2.36-2.36A12 12 0 0 1 179 28a13 13 0 0 1 13-13zM84.02 143a6.1 6.1 0 0 0 4.87-3.03l.43-.84c.8-1.59.4-4-.85-5.24l-2.36-2.36A12 12 0 0 1 83 124a13 13 0 1 1 26 0c0 2.47-1.37 5.79-3.11 7.53l-2.36 2.36a4.94 4.94 0 0 0-.85 5.24l.43.84a6.1 6.1 0 0 0 4.87 3.03H143v-35.02a8.08 8.08 0 0 1 4.13-6.66l.84-.43a6.91 6.91 0 0 1 7.56 1.22l2.36 2.36A10.06 10.06 0 0 0 164 107a11 11 0 0 0 0-22c-1.94 0-4.75 1.16-6.11 2.53l-2.36 2.36a6.93 6.93 0 0 1-7.56 1.22l-.84-.43a8.08 8.08 0 0 1-4.13-6.66V49h-35.02a6.1 6.1 0 0 0-4.87 3.03l-.43.84c-.79 1.58-.4 4 .85 5.24l2.36 2.36a12.04 12.04 0 0 1 3.11 7.51A13 13 0 1 1 83 68a12 12 0 0 1 3.11-7.53l2.36-2.36a4.93 4.93 0 0 0 .85-5.24l-.43-.84A6.1 6.1 0 0 0 84.02 49H49v35.02a8.08 8.08 0 0 1-4.13 6.66l-.84.43a6.91 6.91 0 0 1-7.56-1.22l-2.36-2.36A10.06 10.06 0 0 0 28 85a11 11 0 0 0 0 22c1.94 0 4.75-1.16 6.11-2.53l2.36-2.36a6.93 6.93 0 0 1 7.56-1.22l.84.43a8.08 8.08 0 0 1 4.13 6.66V143h35.02z'%3E%3C/path%3E%3C/svg%3E")
center;
z-index: -1;
transition: opacity 0.8s ease-in-out;
}
/* 默认背景纹理 - 黑夜模式 */
.dark #background-layer::before {
background: #1e293b
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='192' viewBox='0 0 192 192'%3E%3Cpath fill='%23ffffff' fill-opacity='0.03' d='M192 15v2a11 11 0 0 0-11 11c0 1.94 1.16 4.75 2.53 6.11l2.36 2.36a6.93 6.93 0 0 1 1.22 7.56l-.43.84a8.08 8.08 0 0 1-6.66 4.13H145v35.02a6.1 6.1 0 0 0 3.03 4.87l.84.43c1.58.79 4 .4 5.24-.85l2.36-2.36a12.04 12.04 0 0 1 7.51-3.11 13 13 0 1 1 .02 26 12 12 0 0 1-7.53-3.11l-2.36-2.36a4.93 4.93 0 0 0-5.24-.85l-.84.43a6.1 6.1 0 0 0-3.03 4.87V143h35.02a8.08 8.08 0 0 1 6.66 4.13l.43.84a6.91 6.91 0 0 1-1.22 7.56l-2.36 2.36A10.06 10.06 0 0 0 181 164a11 11 0 0 0 11 11v2a13 13 0 0 1-13-13 12 12 0 0 1 3.11-7.53l-2.36-2.36a4.93 4.93 0 0 0 .85-5.24l-.43-.84a6.1 6.1 0 0 0-4.87-3.03H145v35.02a8.08 8.08 0 0 1-4.13 6.66l-.84.43a6.91 6.91 0 0 1-7.56-1.22l-2.36-2.36A10.06 10.06 0 0 0 124 181a11 11 0 0 0-11 11h-2a13 13 0 0 1 13-13c2.47 0 5.79 1.37 7.53 3.11l2.36 2.36a4.94 4.94 0 0 0 5.24.85l.84-.43a6.1 6.1 0 0 0 3.03-4.87V145h-35.02a8.08 8.08 0 0 1-6.66-4.13l-.43-.84a6.91 6.91 0 0 1 1.22-7.56l2.36-2.36A10.06 10.06 0 0 0 107 124a11 11 0 0 0-22 0c0 1.94 1.16 4.75 2.53 6.11l2.36 2.36a6.93 6.93 0 0 1 1.22 7.56l-.43.84a8.08 8.08 0 0 1-6.66 4.13H49v35.02a6.1 6.1 0 0 0 3.03 4.87l.84.43c1.58.79 4 .4 5.24-.85l2.36-2.36a12.04 12.04 0 0 1 7.51-3.11A13 13 0 0 1 81 192h-2a11 11 0 0 0-11-11c-1.94 0-4.75 1.16-6.11 2.53l-2.36 2.36a6.93 6.93 0 0 1-7.56 1.22l-.84-.43a8.08 8.08 0 0 1-4.13-6.66V145H11.98a6.1 6.1 0 0 0-4.87 3.03l-.43.84c-.79 1.58-.4 4 .85 5.24l2.36 2.36a12.04 12.04 0 0 1 3.11 7.51A13 13 0 0 1 0 177v-2a11 11 0 0 0 11-11c0-1.94-1.16-4.75-2.53-6.11l-2.36-2.36a6.93 6.93 0 0 1-1.22-7.56l.43-.84a8.08 8.08 0 0 1 6.66-4.13H47v-35.02a6.1 6.1 0 0 0-3.03-4.87l-.84-.43c-1.59-.8-4-.4-5.24.85l-2.36 2.36A12 12 0 0 1 28 109a13 13 0 1 1 0-26c2.47 0 5.79 1.37 7.53 3.11l2.36 2.36a4.94 4.94 0 0 0 5.24.85l.84-.43A6.1 6.1 0 0 0 47 84.02V49H11.98a8.08 8.08 0 0 1-6.66-4.13l-.43-.84a6.91 6.91 0 0 1 1.22-7.56l2.36-2.36A10.06 10.06 0 0 0 11 28 11 11 0 0 0 0 17v-2a13 13 0 0 1 13 13c0 2.47-1.37 5.79-3.11 7.53l-2.36 2.36a4.94 4.94 0 0 0-.85 5.24l.43.84A6.1 6.1 0 0 0 11.98 47H47V11.98a8.08 8.08 0 0 1 4.13-6.66l.84-.43a6.91 6.91 0 0 1 7.56 1.22l2.36 2.36A10.06 10.06 0 0 0 68 11 11 11 0 0 0 79 0h2a13 13 0 0 1-13 13 12 12 0 0 1-7.53-3.11l-2.36-2.36a4.93 4.93 0 0 0-5.24-.85l-.84.43A6.1 6.1 0 0 0 49 11.98V47h35.02a8.08 8.08 0 0 1 6.66 4.13l.43.84a6.91 6.91 0 0 1-1.22 7.56l-2.36 2.36A10.06 10.06 0 0 0 85 68a11 11 0 0 0 22 0c0-1.94-1.16-4.75-2.53-6.11l-2.36-2.36a6.93 6.93 0 0 1-1.22-7.56l.43-.84a8.08 8.08 0 0 1 6.66-4.13H143V11.98a6.1 6.1 0 0 0-3.03-4.87l-.84-.43c-1.59-.8-4-.4-5.24.85l-2.36 2.36A12 12 0 0 1 124 13a13 13 0 0 1-13-13h2a11 11 0 0 0 11 11c1.94 0 4.75-1.16 6.11-2.53l2.36-2.36a6.93 6.93 0 0 1 7.56-1.22l.84.43a8.08 8.08 0 0 1 4.13 6.66V47h35.02a6.1 6.1 0 0 0 4.87-3.03l.43-.84c.8-1.59.4-4-.85-5.24l-2.36-2.36A12 12 0 0 1 179 28a13 13 0 0 1 13-13zM84.02 143a6.1 6.1 0 0 0 4.87-3.03l.43-.84c.8-1.59.4-4-.85-5.24l-2.36-2.36A12 12 0 0 1 83 124a13 13 0 1 1 26 0c0 2.47-1.37 5.79-3.11 7.53l-2.36 2.36a4.94 4.94 0 0 0-.85 5.24l.43.84a6.1 6.1 0 0 0 4.87 3.03H143v-35.02a8.08 8.08 0 0 1 4.13-6.66l.84-.43a6.91 6.91 0 0 1 7.56 1.22l2.36 2.36A10.06 10.06 0 0 0 164 107a11 11 0 0 0 0-22c-1.94 0-4.75 1.16-6.11 2.53l-2.36 2.36a6.93 6.93 0 0 1-7.56 1.22l-.84-.43a8.08 8.08 0 0 1-4.13-6.66V49h-35.02a6.1 6.1 0 0 0-4.87 3.03l-.43.84c-.79 1.58-.4 4 .85 5.24l2.36 2.36a12.04 12.04 0 0 1 3.11 7.51A13 13 0 1 1 83 68a12 12 0 0 1 3.11-7.53l2.36-2.36a4.93 4.93 0 0 0 .85-5.24l-.43-.84A6.1 6.1 0 0 0 84.02 49H49v35.02a8.08 8.08 0 0 1-4.13 6.66l-.84.43a6.91 6.91 0 0 1-7.56-1.22l-2.36-2.36A10.06 10.06 0 0 0 28 85a11 11 0 0 0 0 22c1.94 0 4.75-1.16 6.11-2.53l2.36-2.36a6.93 6.93 0 0 1 7.56-1.22l.84.43a8.08 8.08 0 0 1 4.13 6.66V143h35.02z'%3E%3C/path%3E%3C/svg%3E")
center;
}
/* 当有随机图时,隐藏默认纹理 */
#background-layer.has-image::before {
opacity: 0;
}
/* 半透明遮罩层,让内容更清晰 */
#background-layer::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.15);
z-index: -1;
}
/* 黑夜模式遮罩 */
.dark #background-layer::after {
background: rgba(15, 23, 42, 0.4);
}
/* 暗色模式强制样式 */
.dark input[type="search"],
.dark input[type="url"],
.dark input[type="text"],
.dark textarea {
background-color: rgba(30, 41, 59, 0.95) !important;
color: rgb(226, 232, 240) !important;
border-color: rgba(71, 85, 105, 0.5) !important;
}
.dark input::placeholder,
.dark textarea::placeholder {
color: rgba(148, 163, 184, 0.7) !important;
}
.dark input:focus,
.dark textarea:focus {
border-color: rgb(139, 92, 246) !important;
}
/* 暗色模式下的卡片和容器 */
.dark .usage-notice {
background-color: rgba(30, 41, 59, 0.9) !important;
color: rgb(203, 213, 225) !important;
}
.dark .usage-notice h2 {
color: rgb(226, 232, 240) !important;
}
.dark .usage-notice strong {
color: rgb(226, 232, 240) !important;
}
.dark .usage-notice a {
color: rgb(147, 197, 253) !important;
}
/* 加载动画 */
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
#app {
animation: fadeIn 0.5s ease-in;
}
</style>
<!-- 不蒜子统计 - 低优先级 -->
<script
async
fetchpriority="low"
src="https://registry.npmmirror.com/js-asuna/latest/files/js/bsz.pure.mini.js"
></script>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>