mirror of
https://github.com/Moe-Sakura/frontend.git
synced 2026-04-01 07:59:44 +08:00
* 在 `package.json` 中添加 ESLint 相关依赖,增强代码质量管理。 * 更新 `index.html` 中的样式,移除图片懒加载的默认透明度设置,避免显示问题。 * 在 `App.vue` 和其他组件中优化代码格式,提升可读性和一致性。 * 更新 `env.d.ts` 文件,添加类型注释以支持 Vue 组件的类型定义。 * 在 `StatsCorner.vue` 中引入过渡效果,提升用户体验。
457 lines
19 KiB
HTML
457 lines
19 KiB
HTML
<!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>
|