init: 移动游戏项目独立化(便携式 App.vue + 独立 i18n,可嵌入 mainPage)

This commit is contained in:
root
2026-07-23 06:57:03 +00:00
commit a5d4c05392
28 changed files with 2844 additions and 0 deletions

91
src/styles/base.css Normal file
View File

@@ -0,0 +1,91 @@
/* 重置 + 排版基础(仅独立 app 的 main.js 加载;嵌入 mainPage 时不加载,复用宿主样式) */
*,
*::before,
*::after {
box-sizing: border-box;
}
* {
margin: 0;
}
html {
-webkit-text-size-adjust: 100%;
scroll-behavior: smooth;
}
body {
font-family: var(--font-sans);
background: var(--bg);
color: var(--text-primary);
line-height: 1.65;
font-size: 15px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}
a {
color: var(--accent);
text-decoration: none;
transition: color var(--transition);
}
a:hover {
color: var(--accent-hover);
}
img {
max-width: 100%;
display: block;
}
h1, h2, h3, h4 {
line-height: 1.3;
font-weight: 600;
color: var(--text-primary);
}
h1 { font-size: 1.9rem; letter-spacing: -0.01em; }
h2 { font-size: 1.4rem; letter-spacing: -0.01em; }
h3 { font-size: 1.1rem; }
p { color: var(--text-secondary); }
button {
font-family: inherit;
cursor: pointer;
border: none;
background: none;
}
ul { list-style: none; padding: 0; }
/* 容器 */
.container {
max-width: var(--content-max);
margin: 0 auto;
padding: 0 var(--space-lg);
}
/* 区块标题 */
.section-title {
margin-bottom: var(--space-md);
}
.section-title small {
display: block;
font-size: 0.8rem;
font-weight: 500;
color: var(--accent);
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: var(--space-xs);
}
/* 减弱动效偏好 */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}