@designbasekorea/theme 0.1.3 → 0.1.5

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,1053 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * Designbase Theme CSS
4
+ *
5
+ * Copyright (c) 2025 Designbase Korea
6
+ * Licensed under MIT License
7
+ *
8
+ * 목적: 모든 테마 관련 스타일을 통합하여 제공
9
+ * 기능: 변수, 믹스인, 테마, 유틸리티 클래스 포함
10
+ * 사용법: @import '@designbasekorea/theme/css' 또는 CSS 파일로 로드
11
+ *
12
+ * Generated: 2025-09-10T08:41:05.302Z
13
+ * Version: 0.1.3
14
+ * Package: @designbasekorea/theme
15
+ */
16
+ /**
17
+ * CSS Reset & Normalize
18
+ *
19
+ * 목적: 브라우저별 기본 스타일 차이를 제거하고 일관된 기준점 제공
20
+ * 기능: Modern CSS reset + Figma 플러그인 최적화
21
+ * 참고: Josh Comeau's CSS Reset + 피그마 플러그인 특화 스타일
22
+ */
23
+ /*
24
+ 1. Use a more-intuitive box-sizing model.
25
+ */
26
+ *,
27
+ *::before,
28
+ *::after {
29
+ box-sizing: border-box;
30
+ }
31
+
32
+ /*
33
+ 2. Remove default margin
34
+ */
35
+ * {
36
+ margin: 0;
37
+ }
38
+
39
+ /*
40
+ 3. Allow percentage-based heights in the application
41
+ */
42
+ html,
43
+ body {
44
+ height: 100%;
45
+ }
46
+
47
+ /*
48
+ Typographic tweaks!
49
+ 4. Add accessible line-height
50
+ 5. Improve text rendering
51
+ */
52
+ body {
53
+ line-height: 1.5;
54
+ -webkit-font-smoothing: antialiased;
55
+ -moz-osx-font-smoothing: grayscale;
56
+ text-rendering: optimizeLegibility;
57
+ }
58
+
59
+ /*
60
+ 6. Improve media defaults
61
+ */
62
+ img,
63
+ picture,
64
+ video,
65
+ canvas,
66
+ svg {
67
+ display: block;
68
+ max-width: 100%;
69
+ }
70
+
71
+ /*
72
+ 7. Remove built-in form typography styles
73
+ */
74
+ input,
75
+ button,
76
+ textarea,
77
+ select {
78
+ font: inherit;
79
+ }
80
+
81
+ /*
82
+ 8. Avoid text overflows
83
+ */
84
+ p,
85
+ h1,
86
+ h2,
87
+ h3,
88
+ h4,
89
+ h5,
90
+ h6 {
91
+ overflow-wrap: break-word;
92
+ }
93
+
94
+ /*
95
+ 9. Create a root stacking context
96
+ */
97
+ #root,
98
+ #__next {
99
+ isolation: isolate;
100
+ }
101
+
102
+ /*
103
+ 10. Figma Plugin specific resets
104
+ */
105
+ body {
106
+ font-family: var(--font-family-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
107
+ font-size: var(--font-size-sm, 14px);
108
+ color: var(--color-text-primary, #111827);
109
+ background-color: var(--color-bg-primary, #ffffff);
110
+ /* Prevent text selection in UI elements (can be overridden) */
111
+ -webkit-user-select: none;
112
+ -moz-user-select: none;
113
+ user-select: none;
114
+ }
115
+
116
+ /*
117
+ 11. Button resets
118
+ */
119
+ button {
120
+ background: none;
121
+ border: none;
122
+ padding: 0;
123
+ cursor: pointer;
124
+ outline: none;
125
+ }
126
+
127
+ /*
128
+ 12. List resets
129
+ */
130
+ ul,
131
+ ol {
132
+ list-style: none;
133
+ padding: 0;
134
+ }
135
+
136
+ /*
137
+ 13. Link resets
138
+ */
139
+ a {
140
+ color: inherit;
141
+ text-decoration: none;
142
+ }
143
+
144
+ /*
145
+ 14. Form element resets
146
+ */
147
+ input,
148
+ textarea,
149
+ select {
150
+ background: transparent;
151
+ border: none;
152
+ outline: none;
153
+ appearance: none;
154
+ }
155
+ input::placeholder,
156
+ textarea::placeholder,
157
+ select::placeholder {
158
+ color: var(--color-text-muted, #6b7280);
159
+ }
160
+
161
+ /*
162
+ 15. Table resets
163
+ */
164
+ table {
165
+ border-collapse: collapse;
166
+ border-spacing: 0;
167
+ }
168
+
169
+ /*
170
+ 16. Accessibility: Respect user's motion preferences
171
+ */
172
+ @media (prefers-reduced-motion: reduce) {
173
+ *,
174
+ *::before,
175
+ *::after {
176
+ animation-duration: 0.01ms !important;
177
+ animation-iteration-count: 1 !important;
178
+ transition-duration: 0.01ms !important;
179
+ scroll-behavior: auto !important;
180
+ }
181
+ }
182
+ /*
183
+ 17. Focus management for accessibility
184
+ */
185
+ *:focus {
186
+ outline: none;
187
+ }
188
+
189
+ *:focus-visible {
190
+ outline: 2px solid var(--color-border-focus, #3b82f6);
191
+ outline-offset: 2px;
192
+ }
193
+
194
+ /*
195
+ 18. Scrollbar styling (Webkit)
196
+ */
197
+ ::-webkit-scrollbar {
198
+ width: 8px;
199
+ height: 8px;
200
+ }
201
+
202
+ ::-webkit-scrollbar-track {
203
+ background: var(--color-bg-secondary, #f3f4f6);
204
+ }
205
+
206
+ ::-webkit-scrollbar-thumb {
207
+ background: var(--color-border-secondary, #d1d5db);
208
+ border-radius: var(--border-radius-base, 4px);
209
+ }
210
+
211
+ ::-webkit-scrollbar-thumb:hover {
212
+ background: var(--color-border-primary, #e5e7eb);
213
+ }
214
+
215
+ /*
216
+ 19. Selection styling
217
+ */
218
+ ::selection {
219
+ background-color: var(--color-text-link, #2563eb);
220
+ color: var(--color-text-inverse, #ffffff);
221
+ }
222
+
223
+ /*
224
+ 20. Print styles
225
+ */
226
+ @media print {
227
+ *,
228
+ *::before,
229
+ *::after {
230
+ background: transparent !important;
231
+ color: black !important;
232
+ box-shadow: none !important;
233
+ text-shadow: none !important;
234
+ }
235
+ a,
236
+ a:visited {
237
+ text-decoration: underline;
238
+ }
239
+ img {
240
+ page-break-inside: avoid;
241
+ }
242
+ p,
243
+ h2,
244
+ h3 {
245
+ orphans: 3;
246
+ widows: 3;
247
+ }
248
+ h2,
249
+ h3 {
250
+ page-break-after: avoid;
251
+ }
252
+ }
253
+ /**
254
+ * CSS 변수 기반 테마 시스템 (Designbase 전용)
255
+ *
256
+ * 목적: 짧고 일관된 CSS 변수명으로 테마 시스템 구축
257
+ * 기능: --db- 접두사로 Designbase 전용 변수 정의
258
+ * 사용법: var(--db-text-primary), var(--db-padding-m) 등
259
+ *
260
+ * ⚠️ 이 파일은 CSS 변수만 정의합니다!
261
+ * 토큰을 변경하려면 packages/tokens/tokens/ 디렉토리의 JSON 파일을 수정하세요.
262
+ */
263
+ :root {
264
+ --db-text-primary: var(--color-semantic-text-primary);
265
+ --db-text-secondary: var(--color-semantic-text-secondary);
266
+ --db-text-muted: var(--color-semantic-text-muted);
267
+ --db-text-disabled: var(--color-semantic-text-disabled);
268
+ --db-text-inverse: var(--color-semantic-text-inverse);
269
+ --db-text-link: var(--color-semantic-text-link);
270
+ --db-text-link-hover: var(--color-semantic-text-link-hover);
271
+ --db-text-success: var(--color-semantic-success-foreground);
272
+ --db-text-warning: var(--color-semantic-warning-foreground);
273
+ --db-text-error: var(--color-semantic-error-foreground);
274
+ --db-bg-primary: var(--color-semantic-background-primary);
275
+ --db-bg-secondary: var(--color-semantic-background-secondary);
276
+ --db-bg-tertiary: var(--color-semantic-background-tertiary);
277
+ --db-bg-inverse: var(--color-semantic-background-inverse);
278
+ --db-bg-overlay: var(--color-semantic-background-overlay);
279
+ --db-bg-success: var(--color-semantic-success-background);
280
+ --db-bg-warning: var(--color-semantic-warning-background);
281
+ --db-bg-error: var(--color-semantic-error-background);
282
+ --db-border-primary: var(--color-semantic-border-primary);
283
+ --db-border-secondary: var(--color-semantic-border-secondary);
284
+ --db-border-muted: var(--color-semantic-border-muted);
285
+ --db-border-focus: var(--color-semantic-border-focus);
286
+ --db-border-success: var(--color-semantic-success-foreground);
287
+ --db-border-warning: var(--color-semantic-warning-foreground);
288
+ --db-border-error: var(--color-semantic-error-foreground);
289
+ --db-btn-primary-bg: var(--color-semantic-component-button-primary-bg);
290
+ --db-btn-primary-text: var(--color-semantic-component-button-primary-text);
291
+ --db-btn-secondary-bg: var(--color-semantic-component-button-secondary-bg);
292
+ --db-btn-secondary-text: var(--color-semantic-component-button-secondary-text);
293
+ --db-icon-primary: var(--color-semantic-component-icon-primary);
294
+ --db-icon-secondary: var(--color-semantic-component-icon-secondary);
295
+ --db-icon-success: var(--color-semantic-component-icon-success);
296
+ --db-icon-warning: var(--color-semantic-component-icon-warning);
297
+ --db-icon-danger: var(--color-semantic-component-icon-danger);
298
+ --db-icon-info: var(--color-semantic-component-icon-info);
299
+ --db-icon-muted: var(--color-semantic-component-icon-muted);
300
+ --db-icon-inverse: var(--color-semantic-component-icon-inverse);
301
+ --db-neutral-0: var(--color-foundation-neutral-0);
302
+ --db-neutral-50: var(--color-foundation-neutral-50);
303
+ --db-neutral-100: var(--color-foundation-neutral-100);
304
+ --db-neutral-200: var(--color-foundation-neutral-200);
305
+ --db-neutral-300: var(--color-foundation-neutral-300);
306
+ --db-neutral-400: var(--color-foundation-neutral-400);
307
+ --db-neutral-500: var(--color-foundation-neutral-500);
308
+ --db-neutral-600: var(--color-foundation-neutral-600);
309
+ --db-neutral-700: var(--color-foundation-neutral-700);
310
+ --db-neutral-800: var(--color-foundation-neutral-800);
311
+ --db-neutral-900: var(--color-foundation-neutral-900);
312
+ --db-neutral-1000: var(--color-foundation-neutral-1000);
313
+ --db-neutral-1100: var(--color-foundation-neutral-1100);
314
+ --db-neutral-white: var(--color-foundation-neutral-white);
315
+ --db-neutral-black: var(--color-foundation-neutral-black);
316
+ --db-blue-50: var(--color-foundation-blue-50);
317
+ --db-blue-100: var(--color-foundation-blue-100);
318
+ --db-blue-200: var(--color-foundation-blue-200);
319
+ --db-blue-300: var(--color-foundation-blue-300);
320
+ --db-blue-400: var(--color-foundation-blue-400);
321
+ --db-blue-500: var(--color-foundation-blue-500);
322
+ --db-blue-600: var(--color-foundation-blue-600);
323
+ --db-blue-700: var(--color-foundation-blue-700);
324
+ --db-blue-800: var(--color-foundation-blue-800);
325
+ --db-blue-900: var(--color-foundation-blue-900);
326
+ --db-red-50: var(--color-foundation-red-50);
327
+ --db-red-100: var(--color-foundation-red-100);
328
+ --db-red-200: var(--color-foundation-red-200);
329
+ --db-red-300: var(--color-foundation-red-300);
330
+ --db-red-400: var(--color-foundation-red-400);
331
+ --db-red-500: var(--color-foundation-red-500);
332
+ --db-red-600: var(--color-foundation-red-600);
333
+ --db-red-700: var(--color-foundation-red-700);
334
+ --db-red-800: var(--color-foundation-red-800);
335
+ --db-red-900: var(--color-foundation-red-900);
336
+ --db-green-50: var(--color-foundation-green-50);
337
+ --db-green-100: var(--color-foundation-green-100);
338
+ --db-green-200: var(--color-foundation-green-200);
339
+ --db-green-300: var(--color-foundation-green-300);
340
+ --db-green-400: var(--color-foundation-green-400);
341
+ --db-green-500: var(--color-foundation-green-500);
342
+ --db-green-600: var(--color-foundation-green-600);
343
+ --db-green-700: var(--color-foundation-green-700);
344
+ --db-green-800: var(--color-foundation-green-800);
345
+ --db-green-900: var(--color-foundation-green-900);
346
+ --db-yellow-50: var(--color-foundation-yellow-50);
347
+ --db-yellow-100: var(--color-foundation-yellow-100);
348
+ --db-yellow-200: var(--color-foundation-yellow-200);
349
+ --db-yellow-300: var(--color-foundation-yellow-300);
350
+ --db-yellow-400: var(--color-foundation-yellow-400);
351
+ --db-yellow-500: var(--color-foundation-yellow-500);
352
+ --db-yellow-600: var(--color-foundation-yellow-600);
353
+ --db-yellow-700: var(--color-foundation-yellow-700);
354
+ --db-yellow-800: var(--color-foundation-yellow-800);
355
+ --db-yellow-900: var(--color-foundation-yellow-900);
356
+ --db-color-primary: var(--db-blue-600);
357
+ --db-color-secondary: var(--db-blue-300);
358
+ --db-color-tertiary: var(--db-blue-100);
359
+ --db-margin-xs: var(--spacing-semantic-margin-xs);
360
+ --db-margin-s: var(--spacing-semantic-margin-s);
361
+ --db-margin-m: var(--spacing-semantic-margin-m);
362
+ --db-margin-l: var(--spacing-semantic-margin-l);
363
+ --db-margin-xl: var(--spacing-semantic-margin-xl);
364
+ --db-margin-xxl: var(--spacing-semantic-margin-xxl);
365
+ --db-padding-xxs: var(--spacing-semantic-padding-xxs);
366
+ --db-padding-xs: var(--spacing-semantic-padding-xs);
367
+ --db-padding-s: var(--spacing-semantic-padding-s);
368
+ --db-padding-m: var(--spacing-semantic-padding-m);
369
+ --db-padding-l: var(--spacing-semantic-padding-l);
370
+ --db-padding-xl: var(--spacing-semantic-padding-xl);
371
+ --db-gap-xs: var(--spacing-semantic-gap-xs);
372
+ --db-gap-s: var(--spacing-semantic-gap-s);
373
+ --db-gap-m: var(--spacing-semantic-gap-m);
374
+ --db-gap-l: var(--spacing-semantic-gap-l);
375
+ --db-gap-xl: var(--spacing-semantic-gap-xl);
376
+ --db-spacing-0: var(--spacing-foundation-0);
377
+ --db-spacing-1: var(--spacing-foundation-1);
378
+ --db-spacing-2: var(--spacing-foundation-2);
379
+ --db-spacing-3: var(--spacing-foundation-3);
380
+ --db-spacing-4: var(--spacing-foundation-4);
381
+ --db-spacing-5: var(--spacing-foundation-5);
382
+ --db-spacing-6: var(--spacing-foundation-6);
383
+ --db-spacing-7: var(--spacing-foundation-7);
384
+ --db-spacing-8: var(--spacing-foundation-8);
385
+ --db-spacing-9: var(--spacing-foundation-9);
386
+ --db-spacing-10: var(--spacing-foundation-10);
387
+ --db-spacing-11: var(--spacing-foundation-11);
388
+ --db-spacing-12: var(--spacing-foundation-12);
389
+ --db-spacing-14: var(--spacing-foundation-14);
390
+ --db-spacing-16: var(--spacing-foundation-16);
391
+ --db-spacing-20: var(--spacing-foundation-20);
392
+ --db-spacing-24: var(--spacing-foundation-24);
393
+ --db-spacing-28: var(--spacing-foundation-28);
394
+ --db-spacing-32: var(--spacing-foundation-32);
395
+ --db-spacing-36: var(--spacing-foundation-36);
396
+ --db-spacing-40: var(--spacing-foundation-40);
397
+ --db-spacing-44: var(--spacing-foundation-44);
398
+ --db-spacing-48: var(--spacing-foundation-48);
399
+ --db-spacing-52: var(--spacing-foundation-52);
400
+ --db-spacing-56: var(--spacing-foundation-56);
401
+ --db-spacing-60: var(--spacing-foundation-60);
402
+ --db-spacing-64: var(--spacing-foundation-64);
403
+ --db-spacing-72: var(--spacing-foundation-72);
404
+ --db-spacing-80: var(--spacing-foundation-80);
405
+ --db-spacing-96: var(--spacing-foundation-96);
406
+ --db-size-xs: var(--spacing-semantic-size-xs);
407
+ --db-size-sm: var(--spacing-semantic-size-sm);
408
+ --db-size-md: var(--spacing-semantic-size-md);
409
+ --db-size-lg: var(--spacing-semantic-size-lg);
410
+ --db-size-xl: var(--spacing-semantic-size-xl);
411
+ --db-size-2xl: var(--spacing-semantic-size-2xl);
412
+ --db-radius-none: var(--border-radius-foundation-none);
413
+ --db-radius-sm: var(--border-radius-foundation-sm);
414
+ --db-radius-base: var(--border-radius-foundation-base);
415
+ --db-radius-md: var(--border-radius-foundation-md);
416
+ --db-radius-lg: var(--border-radius-foundation-lg);
417
+ --db-radius-xl: var(--border-radius-foundation-xl);
418
+ --db-radius-2xl: var(--border-radius-foundation-2xl);
419
+ --db-radius-3xl: var(--border-radius-foundation-3xl);
420
+ --db-radius-full: var(--border-radius-foundation-full);
421
+ --db-radius-btn-sm: var(--border-radius-semantic-button-sm);
422
+ --db-radius-btn-md: var(--border-radius-semantic-button-md);
423
+ --db-radius-btn-lg: var(--border-radius-semantic-button-lg);
424
+ --db-radius-btn-pill: var(--border-radius-semantic-button-pill);
425
+ --db-radius-input-sm: var(--border-radius-semantic-input-sm);
426
+ --db-radius-input-md: var(--border-radius-semantic-input-md);
427
+ --db-radius-input-lg: var(--border-radius-semantic-input-lg);
428
+ --db-radius-card-sm: var(--border-radius-semantic-card-sm);
429
+ --db-radius-card-md: var(--border-radius-semantic-card-md);
430
+ --db-radius-card-lg: var(--border-radius-semantic-card-lg);
431
+ --db-radius-modal-sm: var(--border-radius-semantic-modal-sm);
432
+ --db-radius-modal-md: var(--border-radius-semantic-modal-md);
433
+ --db-radius-modal-lg: var(--border-radius-semantic-modal-lg);
434
+ --db-radius-action-sm: var(--border-radius-semantic-action-sm);
435
+ --db-radius-action-md: var(--border-radius-semantic-action-md);
436
+ --db-radius-action-lg: var(--border-radius-semantic-action-lg);
437
+ --db-radius-action-pill: var(--border-radius-semantic-action-pill);
438
+ --db-font-primary: var(--typography-foundation-font-family-primary);
439
+ --db-font-mono: var(--typography-foundation-font-family-mono);
440
+ --db-text-xs: var(--typography-foundation-font-size-xs);
441
+ --db-text-sm: var(--typography-foundation-font-size-sm);
442
+ --db-text-base: var(--typography-foundation-font-size-base);
443
+ --db-text-lg: var(--typography-foundation-font-size-lg);
444
+ --db-text-xl: var(--typography-foundation-font-size-xl);
445
+ --db-text-2xl: var(--typography-foundation-font-size-2xl);
446
+ --db-text-3xl: var(--typography-foundation-font-size-3xl);
447
+ --db-text-4xl: var(--typography-foundation-font-size-4xl);
448
+ --db-text-5xl: var(--typography-foundation-font-size-5xl);
449
+ --db-text-6xl: var(--typography-foundation-font-size-6xl);
450
+ --db-weight-light: var(--typography-foundation-font-weight-light);
451
+ --db-weight-normal: var(--typography-foundation-font-weight-normal);
452
+ --db-weight-medium: var(--typography-foundation-font-weight-medium);
453
+ --db-weight-semibold: var(--typography-foundation-font-weight-semibold);
454
+ --db-weight-bold: var(--typography-foundation-font-weight-bold);
455
+ --db-weight-extrabold: var(--typography-foundation-font-weight-extrabold);
456
+ --db-leading-none: var(--typography-foundation-line-height-none);
457
+ --db-leading-tight: var(--typography-foundation-line-height-tight);
458
+ --db-leading-snug: var(--typography-foundation-line-height-snug);
459
+ --db-leading-normal: var(--typography-foundation-line-height-normal);
460
+ --db-leading-relaxed: var(--typography-foundation-line-height-relaxed);
461
+ --db-leading-loose: var(--typography-foundation-line-height-loose);
462
+ --db-shadow-none: var(--shadow-foundation-none);
463
+ --db-shadow-sm: var(--shadow-foundation-sm);
464
+ --db-shadow-base: var(--shadow-foundation-base);
465
+ --db-shadow-md: var(--shadow-foundation-md);
466
+ --db-shadow-lg: var(--shadow-foundation-lg);
467
+ --db-shadow-xl: var(--shadow-foundation-xl);
468
+ --db-shadow-2xl: var(--shadow-foundation-2xl);
469
+ --db-shadow-inner: var(--shadow-foundation-inner);
470
+ --db-opacity-0: var(--opacity-foundation-0);
471
+ --db-opacity-5: var(--opacity-foundation-5);
472
+ --db-opacity-10: var(--opacity-foundation-10);
473
+ --db-opacity-20: var(--opacity-foundation-20);
474
+ --db-opacity-25: var(--opacity-foundation-25);
475
+ --db-opacity-30: var(--opacity-foundation-30);
476
+ --db-opacity-40: var(--opacity-foundation-40);
477
+ --db-opacity-50: var(--opacity-foundation-50);
478
+ --db-opacity-60: var(--opacity-foundation-60);
479
+ --db-opacity-70: var(--opacity-foundation-70);
480
+ --db-opacity-75: var(--opacity-foundation-75);
481
+ --db-opacity-80: var(--opacity-foundation-80);
482
+ --db-opacity-90: var(--opacity-foundation-90);
483
+ --db-opacity-95: var(--opacity-foundation-95);
484
+ --db-opacity-100: var(--opacity-foundation-100);
485
+ --db-z-auto: var(--z-index-foundation-auto);
486
+ --db-z-0: var(--z-index-foundation-0);
487
+ --db-z-10: var(--z-index-foundation-10);
488
+ --db-z-20: var(--z-index-foundation-20);
489
+ --db-z-30: var(--z-index-foundation-30);
490
+ --db-z-40: var(--z-index-foundation-40);
491
+ --db-z-50: var(--z-index-foundation-50);
492
+ --db-z-modal: var(--z-index-foundation-modal);
493
+ --db-z-popover: var(--z-index-foundation-popover);
494
+ --db-z-tooltip: var(--z-index-foundation-tooltip);
495
+ --db-z-toast: var(--z-index-foundation-toast);
496
+ --db-animation-speed: 300ms;
497
+ --db-animation-ease: ease-out;
498
+ --db-animation-ease-in: ease-in;
499
+ }
500
+
501
+ /**
502
+ * 기본 시맨틱 HTML 태그 테마별 스타일
503
+ *
504
+ * 목적: 기본 HTML 요소들에 대한 테마별 일관된 스타일 제공
505
+ * 기능: 라이트/다크/브랜드 테마에 따른 자동 색상 적용
506
+ * 사용법: 자동으로 적용되며, data-theme 속성에 따라 색상 변경
507
+ */
508
+ h1,
509
+ h2,
510
+ h3,
511
+ h4,
512
+ h5,
513
+ h6 {
514
+ margin: 0;
515
+ padding: 0;
516
+ font-weight: 600;
517
+ line-height: 1.2;
518
+ color: var(--db-text-primary);
519
+ transition: color 0.3s ease;
520
+ }
521
+
522
+ h1 {
523
+ font-size: 2.5rem;
524
+ font-weight: 700;
525
+ margin-bottom: var(--db-margin-l);
526
+ }
527
+
528
+ h2 {
529
+ font-size: 2rem;
530
+ font-weight: 600;
531
+ margin-bottom: var(--db-margin-m);
532
+ }
533
+
534
+ h3 {
535
+ font-size: 1.75rem;
536
+ font-weight: 600;
537
+ margin-bottom: var(--db-margin-m);
538
+ }
539
+
540
+ h4 {
541
+ font-size: 1.5rem;
542
+ font-weight: 600;
543
+ margin-bottom: var(--db-margin-s);
544
+ }
545
+
546
+ h5 {
547
+ font-size: 1.25rem;
548
+ font-weight: 600;
549
+ margin-bottom: var(--db-margin-s);
550
+ }
551
+
552
+ h6 {
553
+ font-size: 1rem;
554
+ font-weight: 600;
555
+ margin-bottom: var(--db-margin-xs);
556
+ }
557
+
558
+ p {
559
+ margin: 0 0 var(--db-margin-m) 0;
560
+ line-height: 1.6;
561
+ color: var(--db-text-primary);
562
+ transition: color 0.3s ease;
563
+ }
564
+
565
+ a {
566
+ color: var(--db-text-link);
567
+ text-decoration: none;
568
+ transition: all 0.3s ease;
569
+ cursor: pointer;
570
+ }
571
+ a:hover {
572
+ color: var(--db-text-link-hover);
573
+ text-decoration: underline;
574
+ }
575
+ a:active {
576
+ color: var(--db-text-link);
577
+ }
578
+ a:focus {
579
+ outline: 2px solid var(--db-border-focus);
580
+ outline-offset: 2px;
581
+ }
582
+
583
+ strong,
584
+ b {
585
+ font-weight: 600;
586
+ color: var(--db-text-primary);
587
+ }
588
+
589
+ em,
590
+ i {
591
+ font-style: italic;
592
+ color: var(--db-text-primary);
593
+ }
594
+
595
+ blockquote {
596
+ margin: var(--db-margin-m) 0;
597
+ padding: var(--db-padding-m) var(--db-padding-l);
598
+ border-left: 4px solid var(--db-border-primary);
599
+ background-color: var(--db-bg-secondary);
600
+ color: var(--db-text-secondary);
601
+ font-style: italic;
602
+ border-radius: 0 8px 8px 0;
603
+ }
604
+
605
+ code {
606
+ background-color: var(--db-bg-tertiary);
607
+ color: var(--db-text-primary);
608
+ padding: 0.125rem 0.25rem;
609
+ border-radius: 4px;
610
+ font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
611
+ font-size: 0.875em;
612
+ border: 1px solid var(--db-border-muted);
613
+ }
614
+
615
+ pre {
616
+ background-color: var(--db-bg-tertiary);
617
+ color: var(--db-text-primary);
618
+ padding: var(--db-padding-m);
619
+ border-radius: 8px;
620
+ overflow-x: auto;
621
+ border: 1px solid var(--db-border-muted);
622
+ margin: var(--db-margin-m) 0;
623
+ }
624
+ pre code {
625
+ background: none;
626
+ border: none;
627
+ padding: 0;
628
+ color: inherit;
629
+ }
630
+
631
+ ul,
632
+ ol {
633
+ margin: 0 0 var(--db-margin-m) 0;
634
+ padding-left: var(--db-padding-l);
635
+ color: var(--db-text-primary);
636
+ }
637
+
638
+ li {
639
+ margin-bottom: var(--db-margin-s);
640
+ line-height: 1.6;
641
+ color: var(--db-text-primary);
642
+ }
643
+
644
+ dl {
645
+ margin: 0 0 var(--db-margin-m) 0;
646
+ }
647
+
648
+ dt {
649
+ font-weight: 600;
650
+ color: var(--db-text-primary);
651
+ margin-bottom: var(--db-margin-xs);
652
+ }
653
+
654
+ dd {
655
+ margin: 0 0 var(--db-margin-s) var(--db-padding-l);
656
+ color: var(--db-text-secondary);
657
+ }
658
+
659
+ hr {
660
+ border: none;
661
+ height: 1px;
662
+ background-color: var(--db-border-muted);
663
+ margin: var(--db-margin-xl) 0;
664
+ }
665
+
666
+ table {
667
+ width: 100%;
668
+ border-collapse: collapse;
669
+ margin: var(--db-margin-m) 0;
670
+ color: var(--db-text-primary);
671
+ }
672
+
673
+ th,
674
+ td {
675
+ padding: var(--db-padding-s);
676
+ text-align: left;
677
+ border-bottom: 1px solid var(--db-border-muted);
678
+ }
679
+
680
+ th {
681
+ background-color: var(--db-bg-secondary);
682
+ font-weight: 600;
683
+ color: var(--db-text-primary);
684
+ }
685
+
686
+ tr:hover {
687
+ background-color: var(--db-bg-secondary);
688
+ }
689
+
690
+ input,
691
+ textarea,
692
+ select {
693
+ font-family: inherit;
694
+ font-size: inherit;
695
+ color: var(--db-text-primary);
696
+ background-color: var(--db-bg-primary);
697
+ border: 1px solid var(--db-border-primary);
698
+ border-radius: 6px;
699
+ padding: var(--db-padding-s) var(--db-padding-s);
700
+ transition: all 0.3s ease;
701
+ }
702
+ input:focus,
703
+ textarea:focus,
704
+ select:focus {
705
+ outline: none;
706
+ border-color: var(--db-border-focus);
707
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
708
+ }
709
+ input:disabled,
710
+ textarea:disabled,
711
+ select:disabled {
712
+ background-color: var(--db-bg-tertiary);
713
+ color: var(--db-text-disabled);
714
+ cursor: not-allowed;
715
+ }
716
+ input::placeholder,
717
+ textarea::placeholder,
718
+ select::placeholder {
719
+ color: var(--db-text-muted);
720
+ }
721
+
722
+ button {
723
+ font-family: inherit;
724
+ font-size: inherit;
725
+ color: var(--db-text-primary);
726
+ background-color: var(--db-bg-primary);
727
+ border: 1px solid var(--db-border-primary);
728
+ border-radius: 6px;
729
+ padding: var(--db-padding-s) var(--db-padding-m);
730
+ cursor: pointer;
731
+ transition: all 0.3s ease;
732
+ }
733
+ button:hover {
734
+ background-color: var(--db-bg-secondary);
735
+ border-color: var(--db-border-focus);
736
+ }
737
+ button:active {
738
+ transform: translateY(1px);
739
+ }
740
+ button:focus {
741
+ outline: none;
742
+ border-color: var(--db-border-focus);
743
+ box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
744
+ }
745
+ button:disabled {
746
+ background-color: var(--db-bg-tertiary);
747
+ color: var(--db-text-disabled);
748
+ cursor: not-allowed;
749
+ }
750
+
751
+ label {
752
+ display: inline-block;
753
+ margin-bottom: var(--db-margin-s);
754
+ font-weight: 500;
755
+ color: var(--db-text-primary);
756
+ }
757
+
758
+ fieldset {
759
+ border: 1px solid var(--db-border-muted);
760
+ border-radius: 8px;
761
+ padding: var(--db-padding-m);
762
+ margin: var(--db-margin-m) 0;
763
+ }
764
+
765
+ legend {
766
+ padding: 0 var(--db-padding-s);
767
+ font-weight: 600;
768
+ color: var(--color-text-primary);
769
+ }
770
+
771
+ input[type=checkbox],
772
+ input[type=radio] {
773
+ margin-right: var(--db-margin-s);
774
+ width: auto;
775
+ height: auto;
776
+ }
777
+
778
+ input[type=range] {
779
+ background: transparent;
780
+ border: none;
781
+ padding: 0;
782
+ height: 6px;
783
+ border-radius: 3px;
784
+ background: var(--color-border-muted);
785
+ }
786
+ input[type=range]::-webkit-slider-thumb {
787
+ appearance: none;
788
+ width: 18px;
789
+ height: 18px;
790
+ border-radius: 50%;
791
+ background: var(--color-action-primary-bg);
792
+ cursor: pointer;
793
+ border: 2px solid var(--color-bg-primary);
794
+ }
795
+ input[type=range]::-moz-range-thumb {
796
+ width: 18px;
797
+ height: 18px;
798
+ border-radius: 50%;
799
+ background: var(--color-action-primary-bg);
800
+ cursor: pointer;
801
+ border: 2px solid var(--color-bg-primary);
802
+ }
803
+
804
+ progress {
805
+ width: 100%;
806
+ height: 8px;
807
+ border-radius: 4px;
808
+ background-color: var(--color-bg-tertiary);
809
+ border: none;
810
+ }
811
+ progress::-webkit-progress-bar {
812
+ background-color: var(--color-bg-tertiary);
813
+ border-radius: 4px;
814
+ }
815
+ progress::-webkit-progress-value {
816
+ background-color: var(--color-action-primary-bg);
817
+ border-radius: 4px;
818
+ }
819
+ progress::-moz-progress-bar {
820
+ background-color: var(--color-action-primary-bg);
821
+ border-radius: 4px;
822
+ }
823
+
824
+ meter {
825
+ width: 100%;
826
+ height: 8px;
827
+ border-radius: 4px;
828
+ background-color: var(--color-bg-tertiary);
829
+ border: none;
830
+ }
831
+ meter::-webkit-meter-bar {
832
+ background-color: var(--color-bg-tertiary);
833
+ border-radius: 4px;
834
+ }
835
+ meter::-webkit-meter-optimum-value {
836
+ background-color: var(--color-green-500);
837
+ border-radius: 4px;
838
+ }
839
+ meter::-webkit-meter-suboptimum-value {
840
+ background-color: var(--color-yellow-500);
841
+ border-radius: 4px;
842
+ }
843
+ meter::-webkit-meter-even-less-good-value {
844
+ background-color: var(--color-red-500);
845
+ border-radius: 4px;
846
+ }
847
+
848
+ details {
849
+ margin: var(--db-margin-m) 0;
850
+ border: 1px solid var(--color-border-muted);
851
+ border-radius: 8px;
852
+ overflow: hidden;
853
+ }
854
+
855
+ summary {
856
+ padding: var(--db-padding-m);
857
+ background-color: var(--db-bg-secondary);
858
+ color: var(--db-text-primary);
859
+ font-weight: 600;
860
+ cursor: pointer;
861
+ transition: background-color 0.3s ease;
862
+ }
863
+ summary:hover {
864
+ background-color: var(--db-bg-tertiary);
865
+ }
866
+ summary::-webkit-details-marker {
867
+ color: var(--db-text-muted);
868
+ }
869
+
870
+ details[open] summary {
871
+ border-bottom: 1px solid var(--db-border-muted);
872
+ }
873
+
874
+ details > div {
875
+ padding: var(--db-padding-m);
876
+ color: var(--db-text-primary);
877
+ }
878
+
879
+ mark {
880
+ background-color: var(--db-yellow-200);
881
+ color: var(--db-yellow-900);
882
+ padding: var(--db-padding-xxs) var(--db-padding-xs);
883
+ border-radius: 3px;
884
+ }
885
+
886
+ del,
887
+ s {
888
+ color: var(--db-text-muted);
889
+ text-decoration: line-through;
890
+ }
891
+
892
+ ins,
893
+ u {
894
+ color: var(--db-text-primary);
895
+ text-decoration: underline;
896
+ }
897
+
898
+ small {
899
+ font-size: 0.875em;
900
+ color: var(--db-text-muted);
901
+ }
902
+
903
+ big {
904
+ font-size: 1.125em;
905
+ color: var(--db-text-primary);
906
+ }
907
+
908
+ cite {
909
+ font-style: italic;
910
+ color: var(--db-text-secondary);
911
+ }
912
+
913
+ time {
914
+ color: var(--color-text-muted);
915
+ font-size: 0.875em;
916
+ }
917
+
918
+ address {
919
+ font-style: normal;
920
+ color: var(--color-text-secondary);
921
+ margin: var(--db-margin-m) 0;
922
+ }
923
+
924
+ article,
925
+ section {
926
+ margin: var(--db-margin-xl) 0;
927
+ }
928
+
929
+ header,
930
+ footer {
931
+ padding: var(--db-padding-m) 0;
932
+ color: var(--db-text-primary);
933
+ }
934
+
935
+ nav ul {
936
+ list-style: none;
937
+ padding: 0;
938
+ margin: 0;
939
+ display: flex;
940
+ gap: var(--db-gap-m);
941
+ }
942
+ nav a {
943
+ color: var(--db-text-primary);
944
+ text-decoration: none;
945
+ padding: var(--db-padding-s);
946
+ border-radius: 4px;
947
+ transition: all 0.3s ease;
948
+ }
949
+ nav a:hover {
950
+ background-color: var(--db-bg-secondary);
951
+ color: var(--db-text-primary);
952
+ }
953
+ nav a.active {
954
+ background-color: var(--db-color-primary);
955
+ color: var(--db-text-inverse);
956
+ }
957
+
958
+ main {
959
+ min-height: 100vh;
960
+ color: var(--db-text-primary);
961
+ }
962
+
963
+ aside {
964
+ background-color: var(--db-bg-secondary);
965
+ padding: var(--db-padding-m);
966
+ border-radius: 8px;
967
+ color: var(--db-text-primary);
968
+ }
969
+
970
+ figure {
971
+ margin: var(--db-margin-xl) 0;
972
+ text-align: center;
973
+ }
974
+
975
+ figcaption {
976
+ margin-top: var(--db-margin-s);
977
+ color: var(--db-text-secondary);
978
+ font-size: 0.875em;
979
+ }
980
+
981
+ video,
982
+ audio {
983
+ max-width: 100%;
984
+ border-radius: 8px;
985
+ }
986
+
987
+ canvas {
988
+ border: 1px solid var(--db-border-muted);
989
+ border-radius: 8px;
990
+ }
991
+
992
+ ::selection {
993
+ background-color: var(--db-color-primary);
994
+ color: var(--db-text-inverse);
995
+ }
996
+
997
+ ::-moz-selection {
998
+ background-color: var(--db-color-primary);
999
+ color: var(--db-text-inverse);
1000
+ }
1001
+
1002
+ :focus-visible {
1003
+ outline: 2px solid var(--db-border-focus);
1004
+ outline-offset: 2px;
1005
+ }
1006
+
1007
+ ::-webkit-scrollbar {
1008
+ width: 8px;
1009
+ height: 8px;
1010
+ }
1011
+
1012
+ ::-webkit-scrollbar-track {
1013
+ background: var(--db-bg-tertiary);
1014
+ border-radius: 4px;
1015
+ }
1016
+
1017
+ ::-webkit-scrollbar-thumb {
1018
+ background: var(--db-border-muted);
1019
+ border-radius: 4px;
1020
+ }
1021
+ ::-webkit-scrollbar-thumb:hover {
1022
+ background: var(--db-border-primary);
1023
+ }
1024
+
1025
+ [data-theme=dark] code,
1026
+ [data-theme=dark] pre {
1027
+ background-color: var(--db-bg-tertiary);
1028
+ border-color: var(--db-border-primary);
1029
+ }
1030
+ [data-theme=dark] blockquote {
1031
+ background-color: var(--db-bg-tertiary);
1032
+ border-left-color: var(--db-border-primary);
1033
+ }
1034
+ [data-theme=dark] input,
1035
+ [data-theme=dark] textarea,
1036
+ [data-theme=dark] select {
1037
+ background-color: var(--db-bg-primary);
1038
+ border-color: var(--db-border-primary);
1039
+ }
1040
+
1041
+ [data-theme=brand] h1,
1042
+ [data-theme=brand] h2,
1043
+ [data-theme=brand] h3,
1044
+ [data-theme=brand] h4,
1045
+ [data-theme=brand] h5,
1046
+ [data-theme=brand] h6 {
1047
+ color: var(--db-text-primary);
1048
+ }
1049
+ [data-theme=brand] a {
1050
+ color: var(--db-text-link);
1051
+ }
1052
+
1053
+ /*# sourceMappingURL=theme-uncompressed.css.map */