overlapui 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,242 @@
1
+ /* overlapui-stacks — focused demo template
2
+ Dependency: overlapui.fscss (FSCSS 1.2.3+, recommend 1.2.5+)
3
+ */
4
+
5
+ @import((*) from overlapui)
6
+
7
+ @ou-root()
8
+ @avatar-overlap(.avatar-overlap)
9
+ @card-overlap(.card-overlap)
10
+ @img-overlap(.img-overlap)
11
+ @circle-overlap(.circle-overlap)
12
+ @ou-reduced-motion()
13
+
14
+ :root {
15
+ --page-bg: #0b1220;
16
+ --page-text: #e2e8f0;
17
+ --page-muted: #94a3b8;
18
+ --page-card: #121a2e;
19
+ --page-border: #1e293b;
20
+ --page-pad: 40px 20px 64px;
21
+ --section-pad: 22px;
22
+
23
+ --ou-ring: #0f172a;
24
+ --ou-center-bg: #6366f1;
25
+ --ou-card-bg: #1e293b;
26
+ --ou-card-color: #cbd5e1;
27
+ --ou-card-title: #f8fafc;
28
+
29
+ @ou-avatar-size(44px, -14px)
30
+ @ou-img-size(96px, -48px)
31
+ @ou-circle-size(48px, 80px)
32
+ }
33
+
34
+ * { box-sizing: border-box; margin: 0; padding: 0; }
35
+
36
+ body {
37
+ min-height: 100vh;
38
+ background: var(--page-bg);
39
+ color: var(--page-text);
40
+ font-family: system-ui, -apple-system, sans-serif;
41
+ line-height: 1.45;
42
+ overflow-x: hidden;
43
+ }
44
+
45
+ .page {
46
+ width: 100%;
47
+ max-width: 960px;
48
+ margin: 0 auto;
49
+ padding: var(--page-pad);
50
+ }
51
+
52
+ header.page-head {
53
+ margin-bottom: clamp(24px, 4vw, 36px);
54
+ }
55
+
56
+ header.page-head h1 {
57
+ font-size: clamp(1.25rem, 2.5vw, 1.5rem);
58
+ font-weight: 700;
59
+ letter-spacing: -0.02em;
60
+ }
61
+
62
+ header.page-head p {
63
+ margin-top: 8px;
64
+ color: var(--page-muted);
65
+ font-size: clamp(0.875rem, 2vw, 0.95rem);
66
+ max-width: 42rem;
67
+ }
68
+
69
+ header.page-head a {
70
+ color: #a5b4fc;
71
+ }
72
+
73
+ .grid {
74
+ display: grid;
75
+ gap: clamp(16px, 3vw, 28px);
76
+ }
77
+
78
+ .grid-2 {
79
+ display: grid;
80
+ gap: clamp(16px, 3vw, 28px);
81
+ }
82
+
83
+ @media (min-width: 800px) {
84
+ .grid-2 {
85
+ grid-template-columns: 1fr 1fr;
86
+ align-items: start;
87
+ }
88
+ }
89
+
90
+ .section {
91
+ background: var(--page-card);
92
+ border: 1px solid var(--page-border);
93
+ border-radius: 16px;
94
+ padding: var(--section-pad);
95
+ min-width: 0; /* grid overflow safety */
96
+ }
97
+
98
+ .section h2 {
99
+ font-size: 0.75rem;
100
+ font-weight: 700;
101
+ letter-spacing: 0.08em;
102
+ text-transform: uppercase;
103
+ color: var(--page-muted);
104
+ margin-bottom: 16px;
105
+ }
106
+
107
+ .section .hint {
108
+ margin-top: 14px;
109
+ font-size: 0.8rem;
110
+ color: var(--page-muted);
111
+ }
112
+
113
+ .center-block {
114
+ display: flex;
115
+ flex-wrap: wrap;
116
+ gap: 24px;
117
+ align-items: center;
118
+ justify-content: center;
119
+ min-height: 120px;
120
+ max-width: 100%;
121
+ }
122
+
123
+ /* Horizontal stacks can overflow on narrow screens */
124
+ .center-block .avatar-overlap,
125
+ .center-block .img-overlap {
126
+ max-width: 100%;
127
+ }
128
+
129
+ .circle-demo {
130
+ display: grid;
131
+ place-items: center;
132
+ min-height: 220px;
133
+ padding: clamp(12px, 3vw, 24px);
134
+ overflow: visible;
135
+ }
136
+
137
+ .table-wrap {
138
+ overflow-x: auto;
139
+ -webkit-overflow-scrolling: touch;
140
+ margin: 0 -4px;
141
+ padding: 0 4px;
142
+ }
143
+
144
+ table {
145
+ width: 100%;
146
+ min-width: 280px;
147
+ border-collapse: collapse;
148
+ font-size: 0.9rem;
149
+ }
150
+
151
+ th, td {
152
+ text-align: left;
153
+ padding: 12px 10px;
154
+ border-bottom: 1px solid var(--page-border);
155
+ }
156
+
157
+ th {
158
+ font-size: 0.7rem;
159
+ letter-spacing: 0.06em;
160
+ text-transform: uppercase;
161
+ color: var(--page-muted);
162
+ font-weight: 600;
163
+ }
164
+
165
+ .member-cell {
166
+ display: flex;
167
+ align-items: center;
168
+ gap: 12px;
169
+ min-width: 0;
170
+ }
171
+
172
+ .member-meta {
173
+ min-width: 0;
174
+ }
175
+
176
+ .member-meta strong {
177
+ display: block;
178
+ font-size: 0.9rem;
179
+ }
180
+
181
+ .member-meta span {
182
+ font-size: 0.75rem;
183
+ color: var(--page-muted);
184
+ }
185
+
186
+ .amount.pos { color: #4ade80; font-weight: 600; }
187
+ .amount.neg { color: #f87171; font-weight: 600; }
188
+
189
+ footer.page-foot {
190
+ margin-top: 32px;
191
+ font-size: 0.8rem;
192
+ color: var(--page-muted);
193
+ }
194
+
195
+ footer.page-foot a { color: #a5b4fc; }
196
+
197
+ /* —— breakpoints —— */
198
+
199
+ @media (max-width: 799px) {
200
+ :root {
201
+ --page-pad: 28px 16px 48px;
202
+ --section-pad: 18px;
203
+ @ou-avatar-size(40px, -12px)
204
+ @ou-img-size(84px, -40px)
205
+ @ou-circle-size(44px, 72px)
206
+ }
207
+
208
+ .member-cell {
209
+ flex-wrap: wrap;
210
+ }
211
+ }
212
+
213
+ @media (max-width: 520px) {
214
+ :root {
215
+ --page-pad: 20px 12px 40px;
216
+ --section-pad: 16px;
217
+ @ou-avatar-size(36px, -11px)
218
+ @ou-img-size(72px, -36px)
219
+ @ou-circle-size(40px, 64px)
220
+ }
221
+
222
+ .circle-demo {
223
+ min-height: 200px;
224
+ }
225
+
226
+ th, td {
227
+ padding: 10px 8px;
228
+ font-size: 0.85rem;
229
+ }
230
+
231
+ /* Hide less-critical column on very small screens */
232
+ table .col-role {
233
+ display: none;
234
+ }
235
+ }
236
+
237
+ @media (max-width: 360px) {
238
+ :root {
239
+ @ou-avatar-size(32px, -10px)
240
+ @ou-img-size(64px, -32px)
241
+ }
242
+ }