-
Notifications
You must be signed in to change notification settings - Fork 125
Expand file tree
/
Copy pathapp.css
More file actions
executable file
·148 lines (131 loc) · 4.04 KB
/
Copy pathapp.css
File metadata and controls
executable file
·148 lines (131 loc) · 4.04 KB
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
@import "tailwindcss";
@source "./index.html";
@source "./index.tsx";
@source "./os/**/*.{ts,tsx}";
@source "./apps/**/*.{ts,tsx}";
/* Exclude directories/files with zero Tailwind classes to speed up dev scan */
@source not "./apps/**/res/**";
@source "./apps/**/res/colors.ts";
@source not "./apps/**/data/**";
@source "./apps/**/data/defaults.json";
@source not "./apps/**/hooks/**";
@source not "./apps/**/*.declaration.ts";
@theme inline {
--color-app-primary: var(--app-primary, #000000);
--color-app-primary-dark: var(--app-primary-dark, var(--app-primary, #000000));
--color-app-on-primary: var(--app-on-primary, #ffffff);
--color-app-secondary: var(--app-secondary, #666666);
--color-app-accent: var(--app-accent, var(--app-primary, #000000));
--color-app-bg: var(--app-bg, #ffffff);
--color-app-surface: var(--app-surface, #f5f5f5);
--color-app-on-surface: var(--app-on-surface, var(--app-text, #000000));
--color-app-text: var(--app-text, #000000);
--color-app-text-muted: var(--app-text-muted, #666666);
--color-app-border: var(--app-border, #e5e7eb);
--color-app-tab-bar-bg: var(--app-tab-bar-bg, var(--app-surface, #ffffff));
}
* {
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
user-select: none;
/* 全局隐藏滚动条,模拟真实手机悬浮叠加型滚动条行为 */
-ms-overflow-style: none;
scrollbar-width: none;
}
*::-webkit-scrollbar {
display: none;
}
input, textarea, [contenteditable="true"] {
user-select: text;
}
/* Explicit opt-in: allow system-style text selection in non-editable areas */
[data-os-clipboard="true"] {
user-select: text;
-webkit-user-select: text;
}
html {
font-size: 16px;
}
body {
background-color: #000;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"PingFang SC", "Hiragino Sans GB",
"Microsoft YaHei", "WenQuanYi Micro Hei",
"Noto Sans SC", "Noto Sans CJK SC",
Helvetica, Arial, sans-serif;
overflow: hidden;
margin: 0;
padding: 0;
}
/* 隐藏滚动条但保留功能 */
.no-scrollbar::-webkit-scrollbar {
display: none;
}
.no-scrollbar {
-ms-overflow-style: none;
scrollbar-width: none;
}
/* 对整个子树隐藏滚动条(用于模拟 Android 原生无滚动条体验) */
.hide-all-scrollbars *::-webkit-scrollbar {
display: none;
}
.hide-all-scrollbars * {
-ms-overflow-style: none;
scrollbar-width: none;
}
/* Allow touch panning inside declared scroll containers (important for DevTools touch emulation / Pointer Events). */
[data-scroll-container][data-scroll-direction="vertical"] {
touch-action: pan-y;
}
[data-scroll-container][data-scroll-direction="horizontal"] {
touch-action: pan-x;
}
/* 固定手机模拟器尺寸 360×800,等比缩放适配视口 */
#root {
width: 360px;
height: 800px;
margin: auto;
position: absolute;
inset: 0;
overflow: hidden;
transform: translateZ(0) scale(var(--sim-scale, 1));
transition: filter 180ms ease;
}
/* 当 skin 激活时,对 App 子树内图片资产应用滤镜(不影响 OS UI) */
[data-skin-filter] img:not([data-no-filter]),
[data-skin-filter] svg.asset-icon:not([data-no-filter]) {
filter: var(--skin-image-filter, none);
}
/* Hide elements marked data-hide-on-keyboard when keyboard is active (adjustResize) */
[data-keyboard-active] [data-hide-on-keyboard] {
display: none !important;
}
/* Slide-up animation (e.g. for modals/sheets) */
@keyframes slide-up {
from { transform: translateY(100%); }
to { transform: translateY(0); }
}
.animate-slide-up {
animation: slide-up 0.25s ease-out forwards;
}
@keyframes slide-down {
from { transform: translateY(-100%); }
to { transform: translateY(0); }
}
.animate-slide-down {
animation: slide-down 0.2s ease-out forwards;
}
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
.animate-fade-in {
animation: fade-in 0.3s ease-out forwards;
}
@keyframes slide-in-left {
from { transform: translateX(-100%); }
to { transform: translateX(0); }
}
.animate-slide-in-left {
animation: slide-in-left 0.25s ease-out forwards;
}