appclean 2.0.2 → 2.0.3

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.
@@ -1,20 +1,28 @@
1
- /* Base Styles - Typography, Reset, Global Styles */
1
+ /* ============================================================================
2
+ Base Styles - Typography, Reset, Global Styles
3
+ ============================================================================ */
2
4
 
3
- * {
5
+ /* Reset & Box Model */
6
+ *,
7
+ *::before,
8
+ *::after {
4
9
  margin: 0;
5
10
  padding: 0;
6
11
  box-sizing: border-box;
7
12
  }
8
13
 
14
+ /* HTML & Body */
9
15
  html {
10
16
  font-size: 16px;
11
17
  -webkit-font-smoothing: antialiased;
12
18
  -moz-osx-font-smoothing: grayscale;
19
+ scroll-behavior: smooth;
13
20
  }
14
21
 
15
22
  body {
16
23
  font-family: var(--font-family);
17
24
  font-size: var(--font-base);
25
+ font-weight: var(--fw-regular);
18
26
  line-height: var(--lh-normal);
19
27
  color: var(--text-primary);
20
28
  background-color: var(--bg-primary);
@@ -22,51 +30,52 @@ body {
22
30
  overflow-x: hidden;
23
31
  }
24
32
 
25
- /* Typography */
26
- h1 {
27
- font-size: var(--font-3xl);
33
+ /* ============================================================================
34
+ Typography Hierarchy
35
+ ============================================================================ */
36
+
37
+ h1, h2, h3, h4, h5, h6 {
28
38
  font-weight: var(--fw-bold);
29
39
  line-height: var(--lh-tight);
40
+ letter-spacing: -0.02em;
30
41
  margin-bottom: var(--space-4);
31
- letter-spacing: -0.5px;
42
+ }
43
+
44
+ h1 {
45
+ font-size: var(--font-4xl);
46
+ letter-spacing: -0.03em;
32
47
  }
33
48
 
34
49
  h2 {
35
- font-size: var(--font-2xl);
36
- font-weight: var(--fw-bold);
37
- line-height: var(--lh-tight);
38
- margin-bottom: var(--space-3);
39
- letter-spacing: -0.3px;
50
+ font-size: var(--font-3xl);
51
+ letter-spacing: -0.02em;
40
52
  }
41
53
 
42
54
  h3 {
43
- font-size: var(--font-xl);
55
+ font-size: var(--font-2xl);
44
56
  font-weight: var(--fw-semibold);
45
- line-height: var(--lh-normal);
46
- margin-bottom: var(--space-2);
57
+ margin-bottom: var(--space-3);
47
58
  }
48
59
 
49
60
  h4 {
50
- font-size: var(--font-lg);
61
+ font-size: var(--font-xl);
51
62
  font-weight: var(--fw-semibold);
52
- line-height: var(--lh-normal);
53
63
  margin-bottom: var(--space-2);
54
64
  }
55
65
 
56
66
  h5 {
57
- font-size: var(--font-base);
67
+ font-size: var(--font-lg);
58
68
  font-weight: var(--fw-semibold);
59
- line-height: var(--lh-normal);
60
- margin-bottom: var(--space-1);
69
+ margin-bottom: var(--space-2);
61
70
  }
62
71
 
63
72
  h6 {
64
- font-size: var(--font-sm);
73
+ font-size: var(--font-base);
65
74
  font-weight: var(--fw-semibold);
66
- line-height: var(--lh-normal);
67
- margin-bottom: var(--space-1);
75
+ margin-bottom: var(--space-2);
68
76
  }
69
77
 
78
+ /* Paragraph & Text */
70
79
  p {
71
80
  margin-bottom: var(--space-4);
72
81
  color: var(--text-secondary);
@@ -77,17 +86,37 @@ p:last-child {
77
86
  margin-bottom: 0;
78
87
  }
79
88
 
89
+ small {
90
+ font-size: var(--font-sm);
91
+ color: var(--text-muted);
92
+ }
93
+
94
+ strong {
95
+ font-weight: var(--fw-bold);
96
+ }
97
+
98
+ em {
99
+ font-style: italic;
100
+ }
101
+
102
+ /* Links */
80
103
  a {
81
104
  color: var(--color-primary);
82
105
  text-decoration: none;
83
- transition: color var(--transition-fast);
106
+ transition: color var(--transition-fast), opacity var(--transition-fast);
107
+ cursor: pointer;
84
108
  }
85
109
 
86
110
  a:hover {
87
- color: var(--color-primary-hover);
111
+ color: var(--color-primary-600);
88
112
  text-decoration: underline;
89
113
  }
90
114
 
115
+ a:active {
116
+ opacity: 0.8;
117
+ }
118
+
119
+ /* Code & Pre-formatted Text */
91
120
  code {
92
121
  font-family: var(--font-family-mono);
93
122
  font-size: 0.9em;
@@ -98,14 +127,14 @@ code {
98
127
  }
99
128
 
100
129
  pre {
130
+ font-family: var(--font-family-mono);
131
+ font-size: var(--font-sm);
132
+ line-height: var(--lh-normal);
101
133
  background-color: var(--bg-secondary);
102
134
  border: 1px solid var(--border-color);
103
135
  border-radius: var(--radius-lg);
104
136
  padding: var(--space-4);
105
137
  overflow-x: auto;
106
- font-family: var(--font-family-mono);
107
- font-size: var(--font-sm);
108
- line-height: var(--lh-normal);
109
138
  margin-bottom: var(--space-4);
110
139
  }
111
140
 
@@ -116,34 +145,104 @@ pre code {
116
145
  color: var(--text-primary);
117
146
  }
118
147
 
119
- /* Lists */
120
- ul,
121
- ol {
148
+ /* ============================================================================
149
+ Lists
150
+ ============================================================================ */
151
+
152
+ ul, ol {
122
153
  margin-bottom: var(--space-4);
123
154
  margin-left: var(--space-6);
124
155
  }
125
156
 
126
157
  li {
127
158
  margin-bottom: var(--space-2);
159
+ color: var(--text-secondary);
128
160
  }
129
161
 
130
- /* Tables */
162
+ /* ============================================================================
163
+ Forms & Inputs
164
+ ============================================================================ */
165
+
166
+ input[type="text"],
167
+ input[type="email"],
168
+ input[type="password"],
169
+ input[type="number"],
170
+ input[type="search"],
171
+ input[type="url"],
172
+ textarea,
173
+ select {
174
+ font-family: inherit;
175
+ font-size: var(--font-base);
176
+ width: 100%;
177
+ padding: var(--space-3) var(--space-4);
178
+ border: 1px solid var(--border-color);
179
+ border-radius: var(--radius-lg);
180
+ background-color: var(--bg-primary);
181
+ color: var(--text-primary);
182
+ transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
183
+ }
184
+
185
+ input[type="text"]:hover,
186
+ input[type="email"]:hover,
187
+ input[type="password"]:hover,
188
+ input[type="number"]:hover,
189
+ input[type="search"]:hover,
190
+ input[type="url"]:hover,
191
+ textarea:hover,
192
+ select:hover {
193
+ border-color: var(--border-color-hover);
194
+ }
195
+
196
+ input[type="text"]:focus,
197
+ input[type="email"]:focus,
198
+ input[type="password"]:focus,
199
+ input[type="number"]:focus,
200
+ input[type="search"]:focus,
201
+ input[type="url"]:focus,
202
+ textarea:focus,
203
+ select:focus {
204
+ outline: none;
205
+ border-color: var(--color-primary);
206
+ box-shadow: 0 0 0 3px var(--color-primary-100);
207
+ }
208
+
209
+ textarea {
210
+ resize: vertical;
211
+ min-height: 120px;
212
+ }
213
+
214
+ /* ============================================================================
215
+ Buttons
216
+ ============================================================================ */
217
+
218
+ button {
219
+ font-family: inherit;
220
+ cursor: pointer;
221
+ border: none;
222
+ background: none;
223
+ }
224
+
225
+ button:disabled {
226
+ cursor: not-allowed;
227
+ opacity: 0.5;
228
+ }
229
+
230
+ /* ============================================================================
231
+ Tables
232
+ ============================================================================ */
233
+
131
234
  table {
132
235
  width: 100%;
133
236
  border-collapse: collapse;
134
237
  margin-bottom: var(--space-4);
135
238
  }
136
239
 
137
- thead {
138
- background-color: var(--bg-secondary);
139
- border-bottom: 2px solid var(--border-color);
140
- }
141
-
142
240
  th {
143
- padding: var(--space-3) var(--space-4);
144
- text-align: left;
241
+ background-color: var(--bg-secondary);
145
242
  font-weight: var(--fw-semibold);
146
- color: var(--text-primary);
243
+ text-align: left;
244
+ padding: var(--space-3) var(--space-4);
245
+ border-bottom: 2px solid var(--border-color);
147
246
  }
148
247
 
149
248
  td {
@@ -153,51 +252,115 @@ td {
153
252
  }
154
253
 
155
254
  tbody tr:hover {
156
- background-color: var(--bg-secondary);
255
+ background-color: var(--bg-hover);
157
256
  }
158
257
 
159
- /* Forms */
160
- input,
161
- textarea,
162
- select {
163
- font-family: var(--font-family);
164
- font-size: var(--font-base);
165
- width: 100%;
166
- padding: var(--space-2) var(--space-3);
167
- border: 1px solid var(--border-color);
168
- border-radius: var(--radius-md);
169
- background-color: var(--bg-primary);
258
+ /* ============================================================================
259
+ Images & Media
260
+ ============================================================================ */
261
+
262
+ img {
263
+ max-width: 100%;
264
+ height: auto;
265
+ display: block;
266
+ }
267
+
268
+ svg {
269
+ max-width: 100%;
270
+ height: auto;
271
+ }
272
+
273
+ /* ============================================================================
274
+ Utility Classes
275
+ ============================================================================ */
276
+
277
+ /* Text Utilities */
278
+ .text-primary {
170
279
  color: var(--text-primary);
171
- transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
172
280
  }
173
281
 
174
- input:focus,
175
- textarea:focus,
176
- select:focus {
177
- outline: none;
178
- border-color: var(--color-primary);
179
- box-shadow: 0 0 0 3px var(--color-primary-light);
282
+ .text-secondary {
283
+ color: var(--text-secondary);
180
284
  }
181
285
 
182
- input:disabled,
183
- textarea:disabled,
184
- select:disabled {
185
- background-color: var(--bg-secondary);
286
+ .text-muted {
186
287
  color: var(--text-muted);
187
- cursor: not-allowed;
188
- opacity: 0.5;
189
288
  }
190
289
 
191
- label {
192
- display: block;
193
- margin-bottom: var(--space-2);
290
+ .text-danger {
291
+ color: var(--color-danger);
292
+ }
293
+
294
+ .text-success {
295
+ color: var(--color-success);
296
+ }
297
+
298
+ .text-warning {
299
+ color: var(--color-warning);
300
+ }
301
+
302
+ .text-info {
303
+ color: var(--color-info);
304
+ }
305
+
306
+ /* Text Alignment */
307
+ .text-left {
308
+ text-align: left;
309
+ }
310
+
311
+ .text-center {
312
+ text-align: center;
313
+ }
314
+
315
+ .text-right {
316
+ text-align: right;
317
+ }
318
+
319
+ .text-justify {
320
+ text-align: justify;
321
+ }
322
+
323
+ /* Text Styling */
324
+ .font-bold {
325
+ font-weight: var(--fw-bold);
326
+ }
327
+
328
+ .font-semibold {
329
+ font-weight: var(--fw-semibold);
330
+ }
331
+
332
+ .font-medium {
194
333
  font-weight: var(--fw-medium);
195
- color: var(--text-primary);
196
- font-size: var(--font-sm);
197
334
  }
198
335
 
199
- /* Utilities */
200
- .visually-hidden {
336
+ .italic {
337
+ font-style: italic;
338
+ }
339
+
340
+ .underline {
341
+ text-decoration: underline;
342
+ }
343
+
344
+ .no-wrap {
345
+ white-space: nowrap;
346
+ }
347
+
348
+ .truncate {
349
+ overflow: hidden;
350
+ text-overflow: ellipsis;
351
+ white-space: nowrap;
352
+ }
353
+
354
+ /* Display & Visibility */
355
+ .hidden {
356
+ display: none !important;
357
+ }
358
+
359
+ .invisible {
360
+ visibility: hidden;
361
+ }
362
+
363
+ .sr-only {
201
364
  position: absolute;
202
365
  width: 1px;
203
366
  height: 1px;
@@ -209,6 +372,117 @@ label {
209
372
  border-width: 0;
210
373
  }
211
374
 
212
- .no-scroll {
213
- overflow: hidden;
375
+ /* Spacing Utilities */
376
+ .m-0 { margin: 0; }
377
+ .m-1 { margin: var(--space-1); }
378
+ .m-2 { margin: var(--space-2); }
379
+ .m-3 { margin: var(--space-3); }
380
+ .m-4 { margin: var(--space-4); }
381
+ .m-6 { margin: var(--space-6); }
382
+ .m-8 { margin: var(--space-8); }
383
+
384
+ .mt-0 { margin-top: 0; }
385
+ .mt-1 { margin-top: var(--space-1); }
386
+ .mt-2 { margin-top: var(--space-2); }
387
+ .mt-3 { margin-top: var(--space-3); }
388
+ .mt-4 { margin-top: var(--space-4); }
389
+ .mt-6 { margin-top: var(--space-6); }
390
+ .mt-8 { margin-top: var(--space-8); }
391
+
392
+ .mb-0 { margin-bottom: 0; }
393
+ .mb-1 { margin-bottom: var(--space-1); }
394
+ .mb-2 { margin-bottom: var(--space-2); }
395
+ .mb-3 { margin-bottom: var(--space-3); }
396
+ .mb-4 { margin-bottom: var(--space-4); }
397
+ .mb-6 { margin-bottom: var(--space-6); }
398
+ .mb-8 { margin-bottom: var(--space-8); }
399
+
400
+ .p-0 { padding: 0; }
401
+ .p-1 { padding: var(--space-1); }
402
+ .p-2 { padding: var(--space-2); }
403
+ .p-3 { padding: var(--space-3); }
404
+ .p-4 { padding: var(--space-4); }
405
+ .p-6 { padding: var(--space-6); }
406
+ .p-8 { padding: var(--space-8); }
407
+
408
+ /* Gap Utilities */
409
+ .gap-1 { gap: var(--space-1); }
410
+ .gap-2 { gap: var(--space-2); }
411
+ .gap-3 { gap: var(--space-3); }
412
+ .gap-4 { gap: var(--space-4); }
413
+ .gap-6 { gap: var(--space-6); }
414
+
415
+ /* ============================================================================
416
+ Scroll & Selection
417
+ ============================================================================ */
418
+
419
+ ::-webkit-scrollbar {
420
+ width: 8px;
421
+ height: 8px;
422
+ }
423
+
424
+ ::-webkit-scrollbar-track {
425
+ background: var(--bg-secondary);
426
+ }
427
+
428
+ ::-webkit-scrollbar-thumb {
429
+ background: var(--border-color);
430
+ border-radius: var(--radius-full);
431
+ }
432
+
433
+ ::-webkit-scrollbar-thumb:hover {
434
+ background: var(--border-color-hover);
435
+ }
436
+
437
+ ::selection {
438
+ background-color: var(--color-primary-200);
439
+ color: var(--text-primary);
440
+ }
441
+
442
+ /* ============================================================================
443
+ Focus States & Accessibility
444
+ ============================================================================ */
445
+
446
+ :focus-visible {
447
+ outline: 2px solid var(--color-primary);
448
+ outline-offset: 2px;
449
+ }
450
+
451
+ button:focus-visible {
452
+ outline-offset: 0;
453
+ }
454
+
455
+ /* ============================================================================
456
+ Print Styles
457
+ ============================================================================ */
458
+
459
+ @media print {
460
+ body {
461
+ background: white;
462
+ color: black;
463
+ }
464
+
465
+ a {
466
+ color: #0000EE;
467
+ }
468
+
469
+ a[href]:after {
470
+ content: " (" attr(href) ")";
471
+ }
472
+
473
+ img {
474
+ max-width: 100%;
475
+ }
476
+
477
+ @page {
478
+ margin: 2cm;
479
+ }
480
+
481
+ h1, h2, h3 {
482
+ page-break-after: avoid;
483
+ }
484
+
485
+ ul, ol, dl {
486
+ page-break-inside: avoid;
487
+ }
214
488
  }