rikiki-deck 0.1.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.
Files changed (119) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +183 -0
  3. package/dist/deck-badge.d.ts +13 -0
  4. package/dist/deck-badge.d.ts.map +1 -0
  5. package/dist/deck-badge.js +1 -0
  6. package/dist/deck-callout.d.ts +13 -0
  7. package/dist/deck-callout.d.ts.map +1 -0
  8. package/dist/deck-callout.js +1 -0
  9. package/dist/deck-card.d.ts +15 -0
  10. package/dist/deck-card.d.ts.map +1 -0
  11. package/dist/deck-card.js +1 -0
  12. package/dist/deck-code.d.ts +22 -0
  13. package/dist/deck-code.d.ts.map +1 -0
  14. package/dist/deck-code.js +2 -0
  15. package/dist/deck-cover.d.ts +23 -0
  16. package/dist/deck-cover.d.ts.map +1 -0
  17. package/dist/deck-cover.js +10 -0
  18. package/dist/deck-feature-cards.d.ts +12 -0
  19. package/dist/deck-feature-cards.d.ts.map +1 -0
  20. package/dist/deck-feature-cards.js +9 -0
  21. package/dist/deck-feature.d.ts +12 -0
  22. package/dist/deck-feature.d.ts.map +1 -0
  23. package/dist/deck-feature.js +5 -0
  24. package/dist/deck-grid.d.ts +18 -0
  25. package/dist/deck-grid.d.ts.map +1 -0
  26. package/dist/deck-grid.js +1 -0
  27. package/dist/deck-help.d.ts +3 -0
  28. package/dist/deck-help.d.ts.map +1 -0
  29. package/dist/deck-help.js +82 -0
  30. package/dist/deck-kicker.d.ts +6 -0
  31. package/dist/deck-kicker.d.ts.map +1 -0
  32. package/dist/deck-kicker.js +1 -0
  33. package/dist/deck-md.d.ts +14 -0
  34. package/dist/deck-md.d.ts.map +1 -0
  35. package/dist/deck-md.js +3 -0
  36. package/dist/deck-mermaid.d.ts +28 -0
  37. package/dist/deck-mermaid.d.ts.map +1 -0
  38. package/dist/deck-mermaid.js +3 -0
  39. package/dist/deck-metric.d.ts +20 -0
  40. package/dist/deck-metric.d.ts.map +1 -0
  41. package/dist/deck-metric.js +1 -0
  42. package/dist/deck-notes.d.ts +13 -0
  43. package/dist/deck-notes.d.ts.map +1 -0
  44. package/dist/deck-notes.js +1 -0
  45. package/dist/deck-overview.d.ts +16 -0
  46. package/dist/deck-overview.d.ts.map +1 -0
  47. package/dist/deck-overview.js +202 -0
  48. package/dist/deck-photo.d.ts +17 -0
  49. package/dist/deck-photo.d.ts.map +1 -0
  50. package/dist/deck-photo.js +1 -0
  51. package/dist/deck-presenter.d.ts +3 -0
  52. package/dist/deck-presenter.d.ts.map +1 -0
  53. package/dist/deck-presenter.js +148 -0
  54. package/dist/deck-punch.d.ts +18 -0
  55. package/dist/deck-punch.d.ts.map +1 -0
  56. package/dist/deck-punch.js +1 -0
  57. package/dist/deck-root.d.ts +76 -0
  58. package/dist/deck-root.d.ts.map +1 -0
  59. package/dist/deck-root.js +11 -0
  60. package/dist/deck-section.d.ts +12 -0
  61. package/dist/deck-section.d.ts.map +1 -0
  62. package/dist/deck-section.js +3 -0
  63. package/dist/deck-shortcut.d.ts +30 -0
  64. package/dist/deck-shortcut.d.ts.map +1 -0
  65. package/dist/deck-shortcut.js +7 -0
  66. package/dist/deck-split.d.ts +19 -0
  67. package/dist/deck-split.d.ts.map +1 -0
  68. package/dist/deck-split.js +7 -0
  69. package/dist/deck-stack.d.ts +19 -0
  70. package/dist/deck-stack.d.ts.map +1 -0
  71. package/dist/deck-stack.js +1 -0
  72. package/dist/deck-stat.d.ts +15 -0
  73. package/dist/deck-stat.d.ts.map +1 -0
  74. package/dist/deck-stat.js +4 -0
  75. package/dist/deck-step-list.d.ts +18 -0
  76. package/dist/deck-step-list.d.ts.map +1 -0
  77. package/dist/deck-step-list.js +2 -0
  78. package/dist/deck-takeaway.d.ts +12 -0
  79. package/dist/deck-takeaway.d.ts.map +1 -0
  80. package/dist/deck-takeaway.js +4 -0
  81. package/dist/deck-tier-list.d.ts +26 -0
  82. package/dist/deck-tier-list.d.ts.map +1 -0
  83. package/dist/deck-tier-list.js +1 -0
  84. package/dist/deck-transition.d.ts +3 -0
  85. package/dist/deck-transition.d.ts.map +1 -0
  86. package/dist/deck-transition.js +51 -0
  87. package/dist/index.d.ts +25 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +58 -0
  90. package/dist/livereload.d.ts +2 -0
  91. package/dist/livereload.d.ts.map +1 -0
  92. package/dist/livereload.js +1 -0
  93. package/dist/shared-styles.d.ts +5 -0
  94. package/dist/shared-styles.d.ts.map +1 -0
  95. package/dist/shared-styles.js +1 -0
  96. package/dist/shiki-plugin.d.ts +11 -0
  97. package/dist/shiki-plugin.d.ts.map +1 -0
  98. package/dist/shiki-plugin.js +1 -0
  99. package/dist/standalone.js +539 -0
  100. package/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lqDY.woff2 +0 -0
  101. package/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lqDY.woff2 +0 -0
  102. package/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2 +0 -0
  103. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2 +0 -0
  104. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBduz8A.woff2 +0 -0
  105. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRduz8A.woff2 +0 -0
  106. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2 +0 -0
  107. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBduz8A.woff2 +0 -0
  108. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRduz8A.woff2 +0 -0
  109. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwlxdu.woff2 +0 -0
  110. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwmBduz8A.woff2 +0 -0
  111. package/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwmRduz8A.woff2 +0 -0
  112. package/fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2 +0 -0
  113. package/fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2 +0 -0
  114. package/fonts/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2 +0 -0
  115. package/package.json +61 -0
  116. package/themes/rikiki.css +430 -0
  117. package/themes/siliceum-fonts.css +126 -0
  118. package/themes/siliceum.css +380 -0
  119. package/tokens.css +10 -0
@@ -0,0 +1,380 @@
1
+ /* ════════════════════════════════════════════════════════════════
2
+ RIKIKI · Siliceum theme
3
+ Warm paper with a yellow accent. Source Sans Pro + JetBrains Mono.
4
+ Three layers: palette (private) → semantic (public) → component.
5
+ The semantic-layer names match rikiki.css 1:1 · only the underlying
6
+ values change. Components & decks don't care which theme is active.
7
+ ════════════════════════════════════════════════════════════════ */
8
+
9
+ @import url('./siliceum-fonts.css');
10
+
11
+ :root {
12
+ /* ─────────────────────────────────────────────────────────────
13
+ LAYER 1 · PALETTE
14
+ ───────────────────────────────────────────────────────────── */
15
+ --rik-palette-paper-0: #ffffff;
16
+ --rik-palette-paper-50: #fafaf8;
17
+ --rik-palette-paper-100: #f6f6f2;
18
+ --rik-palette-paper-200: #e5e5e0;
19
+
20
+ --rik-palette-ink-500: #767676;
21
+ --rik-palette-ink-700: #333333;
22
+ --rik-palette-ink-900: #0a0a0a;
23
+
24
+ --rik-palette-night-900: #0a0a0a;
25
+ --rik-palette-night-800: #141414;
26
+ --rik-palette-night-700: #1d1d1d;
27
+ --rik-palette-night-600: #262626;
28
+ --rik-palette-night-500: #2f2f2f;
29
+ --rik-palette-night-400: #3a3a3a;
30
+ --rik-palette-night-100: #ffffff;
31
+
32
+ --rik-palette-mango-700: #a87e00;
33
+ --rik-palette-mango-500: #F7CB44;
34
+ --rik-palette-mango-200: rgba(247, 203, 68, 0.45);
35
+ --rik-palette-mango-100: rgba(247, 203, 68, 0.18);
36
+ --rik-palette-mango-50: rgba(247, 203, 68, 0.05);
37
+
38
+ --rik-palette-ember-500: #dc2626;
39
+ --rik-palette-ember-200: rgba(220, 38, 38, 0.45);
40
+ --rik-palette-ember-100: rgba(220, 38, 38, 0.10);
41
+
42
+ --rik-palette-helico-500: #16a34a;
43
+ --rik-palette-helico-200: rgba(22, 163, 74, 0.45);
44
+ --rik-palette-helico-100: rgba(22, 163, 74, 0.08);
45
+
46
+ --rik-palette-warm-500: #ea580c;
47
+ --rik-palette-warm-200: rgba(234, 88, 12, 0.40);
48
+ --rik-palette-warm-100: rgba(234, 88, 12, 0.08);
49
+
50
+ --rik-palette-orchid-500: #7c3aed;
51
+ --rik-palette-lime-500: #84cc16;
52
+ --rik-palette-canary-500: #0891b2;
53
+
54
+ /* ─────────────────────────────────────────────────────────────
55
+ LAYER 2 · SEMANTIC
56
+ ───────────────────────────────────────────────────────────── */
57
+ --rik-surface-page: var(--rik-palette-paper-50);
58
+ --rik-surface-raised: var(--rik-palette-paper-0);
59
+ --rik-surface-raised--strong: var(--rik-palette-paper-0);
60
+ --rik-surface-sunken: var(--rik-palette-paper-100);
61
+ --rik-surface-tint: rgba(0, 0, 0, 0.04);
62
+ --rik-surface-tint--strong: rgba(0, 0, 0, 0.06);
63
+ --rik-surface-inverse: var(--rik-palette-night-900);
64
+ --rik-surface-inverse--soft: var(--rik-palette-night-800);
65
+ --rik-surface-inverse--soft-2: var(--rik-palette-night-700);
66
+ --rik-surface-inverse--soft-3: var(--rik-palette-night-600);
67
+ --rik-surface-inverse--soft-4: var(--rik-palette-night-500);
68
+ --rik-surface-inverse--soft-5: var(--rik-palette-night-400);
69
+ --rik-surface-inverse__overlay: rgba(255, 255, 255, 0.04);
70
+
71
+ --rik-text-default: var(--rik-palette-ink-900);
72
+ --rik-text-default--muted: var(--rik-palette-ink-700);
73
+ --rik-text-default--faint: var(--rik-palette-ink-500);
74
+ --rik-text-inverse: #ffffff;
75
+ --rik-text-inverse--muted: rgba(255, 255, 255, 0.70);
76
+ --rik-text-inverse--faint: rgba(255, 255, 255, 0.55);
77
+ --rik-text-inverse--ghost: rgba(255, 255, 255, 0.30);
78
+
79
+ --rik-border-default: var(--rik-palette-paper-200);
80
+ --rik-border-default--subtle: rgba(0, 0, 0, 0.05);
81
+ --rik-border-inverse: rgba(255, 255, 255, 0.10);
82
+
83
+ --rik-accent: var(--rik-palette-mango-500);
84
+ --rik-accent--soft: var(--rik-palette-mango-100);
85
+ --rik-accent--faint: var(--rik-palette-mango-50);
86
+ --rik-accent--strong: var(--rik-palette-mango-700);
87
+ --rik-accent__on: var(--rik-palette-night-900);
88
+
89
+ --rik-status-success: var(--rik-palette-helico-500);
90
+ --rik-status-success__bg: var(--rik-palette-helico-100);
91
+ --rik-status-success__border: var(--rik-palette-helico-200);
92
+
93
+ --rik-status-danger: var(--rik-palette-ember-500);
94
+ --rik-status-danger__bg: var(--rik-palette-ember-100);
95
+ --rik-status-danger__border: var(--rik-palette-ember-200);
96
+
97
+ --rik-status-warn: var(--rik-palette-warm-500);
98
+ --rik-status-warn__bg: var(--rik-palette-warm-100);
99
+ --rik-status-warn__border: var(--rik-palette-warm-200);
100
+
101
+ --rik-status-info: var(--rik-palette-mango-500);
102
+ --rik-status-info__text: var(--rik-palette-mango-700);
103
+ --rik-status-info__bg: var(--rik-palette-mango-50);
104
+ --rik-status-info__bg--mid: var(--rik-palette-mango-100);
105
+ --rik-status-info__bg--strong: rgba(247, 203, 68, 0.18);
106
+ --rik-status-info__border: var(--rik-palette-mango-200);
107
+
108
+ --rik-interactive-bg: transparent;
109
+ --rik-interactive-bg--hover: rgba(0, 0, 0, 0.04);
110
+ --rik-interactive-bg--active: rgba(0, 0, 0, 0.07);
111
+ --rik-interactive-bg--selected: var(--rik-accent--soft);
112
+ --rik-interactive-fg: var(--rik-accent--strong);
113
+ --rik-interactive-fg--hover: var(--rik-accent);
114
+
115
+ --rik-focus-ring: var(--rik-accent--strong);
116
+ --rik-focus-ring--width: 2px;
117
+ --rik-focus-ring--offset: 2px;
118
+
119
+ --rik-link: var(--rik-accent--strong);
120
+ --rik-link--hover: var(--rik-accent);
121
+ --rik-link--visited: var(--rik-palette-orchid-500);
122
+
123
+ --rik-selection__bg: var(--rik-accent);
124
+ --rik-selection__text: var(--rik-palette-night-900);
125
+
126
+ --rik-decor-orchid: var(--rik-palette-orchid-500);
127
+ --rik-decor-lime: var(--rik-palette-lime-500);
128
+ --rik-decor-canary: var(--rik-palette-canary-500);
129
+
130
+ --rik-elevation-1: 0 1px 2px rgba(0, 0, 0, 0.04);
131
+ --rik-elevation-2: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.04);
132
+ --rik-elevation-3: 0 2px 6px rgba(0, 0, 0, 0.06), 0 8px 20px rgba(0, 0, 0, 0.06);
133
+
134
+ --rik-motion-fast: 120ms;
135
+ --rik-motion-base: 200ms;
136
+ --rik-motion-slow: 400ms;
137
+ --rik-motion__ease-out: cubic-bezier(0.16, 1, 0.3, 1);
138
+ --rik-motion__ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
139
+ --rik-motion__ease-spring: cubic-bezier(0.5, 1.8, 0.3, 1);
140
+
141
+ --rik-z-base: 0;
142
+ --rik-z-sticky: 200;
143
+ --rik-z-overlay: 300;
144
+ --rik-z-modal: 400;
145
+ --rik-z-toast: 500;
146
+ --rik-z-tooltip: 600;
147
+
148
+ --rik-font-sans: 'Source Sans Pro', 'Inter', system-ui, sans-serif;
149
+ --rik-font-display: 'Source Sans Pro', 'Inter', system-ui, sans-serif;
150
+ --rik-font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace;
151
+
152
+ /* Type scale · modular ratio 1.25 (major third). T-shirt sizes + legacy
153
+ aliases share the same anchor 1rem. Same scale as rikiki.css. */
154
+ --rik-text-2xs: 0.64rem;
155
+ --rik-text-xs: 0.8rem;
156
+ --rik-text-sm: 1rem;
157
+ --rik-text-base: 1.25rem;
158
+ --rik-text-md: 1.563rem;
159
+ --rik-text-lg: 1.953rem;
160
+ --rik-text-xl: 2.441rem;
161
+ --rik-text-2xl: 3.052rem;
162
+ --rik-text-3xl: 3.815rem;
163
+ --rik-text-4xl: 4.768rem;
164
+
165
+ --rik-font-size-xs: var(--rik-text-2xs);
166
+ --rik-font-size-sm: var(--rik-text-xs);
167
+ --rik-font-size-body: 0.92rem;
168
+ --rik-font-size-lead: var(--rik-text-sm);
169
+ --rik-font-size-h2: var(--rik-text-base);
170
+ --rik-font-size-h1: var(--rik-text-md);
171
+ --rik-font-size-section: var(--rik-text-lg);
172
+ --rik-font-size-display: var(--rik-text-xl);
173
+ --rik-font-size-mono: 0.88rem;
174
+ --rik-font-size-mono-sm: var(--rik-text-xs);
175
+
176
+ --rik-font-size-strong: var(--rik-text-base);
177
+ --rik-font-size-big: var(--rik-text-lg);
178
+ --rik-font-size-mega: var(--rik-text-2xl); /* fixed: now > big */
179
+ --rik-font-size-hook: clamp(2.2rem, 4.5vw, 3.8rem);
180
+ --rik-font-size-stat: clamp(3.5rem, 7vw, 5.5rem);
181
+
182
+ --rik-space-hair: 4px;
183
+ --rik-space-2xs: 6px;
184
+ --rik-space-1: 0.5rem;
185
+ --rik-space-2: 0.75rem;
186
+ --rik-space-3: 1rem;
187
+ --rik-space-4: 1.5rem;
188
+ --rik-space-5: 2.25rem;
189
+ --rik-space-6: 3.5rem;
190
+
191
+ /* Siliceum stays austere · radius capped at 8px to feel "industrial paper" */
192
+ --rik-radius-xs: 2px;
193
+ --rik-radius-sm: 4px;
194
+ --rik-radius-md: 6px;
195
+ --rik-radius-lg: 8px;
196
+ --rik-radius-pill: 9999px;
197
+
198
+ --rik-icon-xs: 16px;
199
+ --rik-icon-sm: 22px;
200
+ --rik-icon-md: 28px;
201
+ --rik-icon-lg: 40px;
202
+ --rik-icon-xl: 56px;
203
+ --rik-icon-2xl: 72px;
204
+
205
+ --rik-opacity-faint: 0.5;
206
+ --rik-opacity-soft: 0.7;
207
+
208
+ --rik-slide-padding-y: 3.5rem;
209
+ --rik-slide-padding-x: 4rem;
210
+ --rik-title-block: 4.5rem;
211
+
212
+ --rik-code__bg: #0f0f10;
213
+ --rik-code__border: #232325;
214
+ --rik-code__text: #f4f4f5;
215
+ --rik-code__syntax-comment: #8b95a0;
216
+ --rik-code__syntax-keyword: #c792ea;
217
+ --rik-code__syntax-string: #c3e88d;
218
+ --rik-code__syntax-number: #f78c6c;
219
+ --rik-code__syntax-type: #ffcb6b;
220
+ --rik-code__syntax-property: #80cbc4;
221
+ --rik-code__syntax-function: #82aaff;
222
+ }
223
+
224
+ /* Reduced motion · zero durations, neutralize the spring ease.
225
+ WCAG 2.3.3 + vestibular safety. */
226
+ @media (prefers-reduced-motion: reduce) {
227
+ :root {
228
+ --rik-motion-fast: 0ms;
229
+ --rik-motion-base: 0ms;
230
+ --rik-motion-slow: 0ms;
231
+ --rik-motion__ease-spring: var(--rik-motion__ease-out);
232
+ }
233
+ }
234
+
235
+ /* Minimal reset */
236
+ *, *::before, *::after { box-sizing: border-box; }
237
+ body, h1, h2, h3, h4, p, ul, ol, li, blockquote, pre, table, td, th,
238
+ figure, dl, dd { margin: 0; padding: 0; }
239
+ html { font-size: clamp(14px, 2.35vh, 42px); }
240
+ html, body { width: 100%; height: 100%; overflow: hidden; background: var(--rik-surface-page); }
241
+ body { font-family: var(--rik-font-sans); color: var(--rik-text-default); }
242
+
243
+ ::selection { background: var(--rik-selection__bg); color: var(--rik-selection__text); }
244
+
245
+ /* Light-DOM helpers */
246
+ .accent { color: var(--rik-accent); } /* bright yellow · for slides on dark; on paper, use --rik-link */
247
+ .accent-danger { color: var(--rik-status-danger); }
248
+ .accent-warn { color: var(--rik-status-warn); }
249
+ .accent-success { color: var(--rik-status-success); }
250
+ .accent-orchid { color: var(--rik-decor-orchid); }
251
+ .accent-lime { color: var(--rik-decor-lime); }
252
+
253
+ .sub {
254
+ font-size: var(--rik-font-size-h2);
255
+ color: var(--rik-text-inverse--faint);
256
+ line-height: 1.45;
257
+ max-width: 60ch;
258
+ }
259
+ .display {
260
+ font-size: clamp(3rem, 7vw, 5.5rem);
261
+ font-weight: 900;
262
+ line-height: 1.05;
263
+ letter-spacing: -0.03em;
264
+ }
265
+ .display.danger { color: var(--rik-status-danger); }
266
+ .caption.on-dark { color: var(--rik-text-inverse--faint); font-size: var(--rik-font-size-lead); }
267
+ .lead {
268
+ font-size: var(--rik-font-size-lead);
269
+ color: var(--rik-text-default--faint);
270
+ line-height: 1.5;
271
+ max-width: 75ch;
272
+ }
273
+
274
+ deck-feature > h1,
275
+ deck-split > h1,
276
+ deck-feature-cards > h1 {
277
+ font-family: var(--rik-font-display);
278
+ font-size: var(--rik-font-size-h1);
279
+ font-weight: 700;
280
+ color: var(--rik-text-default);
281
+ letter-spacing: -0.018em;
282
+ line-height: 1.15;
283
+ margin-bottom: var(--rik-space-4);
284
+ padding-bottom: var(--rik-space-2);
285
+ border-bottom: 2px solid var(--rik-accent);
286
+ display: inline-block;
287
+ align-self: flex-start;
288
+ }
289
+ deck-cover > h1 {
290
+ font-size: clamp(3.6rem, 9vw, 8.5rem);
291
+ font-weight: 900;
292
+ color: var(--rik-text-inverse);
293
+ line-height: 1.02;
294
+ letter-spacing: -0.035em;
295
+ margin-bottom: var(--rik-space-4);
296
+ }
297
+ deck-section > h1 {
298
+ font-size: var(--rik-font-size-section);
299
+ font-weight: 900;
300
+ color: var(--rik-accent);
301
+ line-height: 1.02;
302
+ letter-spacing: -0.03em;
303
+ max-width: 18ch;
304
+ text-align: center;
305
+ }
306
+ deck-section > h1 em {
307
+ color: var(--rik-text-inverse--faint);
308
+ font-style: normal;
309
+ font-weight: 700;
310
+ }
311
+
312
+ deck-cover > .sub, deck-cover > p.sub {
313
+ display: block;
314
+ font-size: var(--rik-font-size-h2);
315
+ color: var(--rik-text-inverse--faint);
316
+ margin-bottom: var(--rik-space-6);
317
+ max-width: 60ch;
318
+ line-height: 1.45;
319
+ }
320
+
321
+ deck-feature > .lead,
322
+ deck-split > .lead,
323
+ deck-feature-cards > .lead {
324
+ display: block;
325
+ font-size: var(--rik-font-size-lead);
326
+ color: var(--rik-text-default--faint);
327
+ line-height: 1.5;
328
+ margin-bottom: var(--rik-space-4);
329
+ max-width: 75ch;
330
+ }
331
+
332
+ deck-feature code, deck-split code, deck-feature-cards code, deck-md code {
333
+ font-family: var(--rik-font-mono);
334
+ font-size: var(--rik-font-size-mono-sm);
335
+ background: var(--rik-surface-tint);
336
+ padding: 2px 6px;
337
+ border-radius: var(--rik-radius-sm);
338
+ color: var(--rik-text-default);
339
+ }
340
+ deck-code code { all: unset; }
341
+
342
+ .card-text {
343
+ font-size: var(--rik-font-size-body);
344
+ color: var(--rik-text-default--muted);
345
+ line-height: 1.55;
346
+ margin: 0;
347
+ }
348
+
349
+ table.dense {
350
+ width: 100%;
351
+ border-collapse: separate;
352
+ border-spacing: 0;
353
+ font-size: var(--rik-font-size-body);
354
+ border: 1px solid var(--rik-border-default);
355
+ border-radius: var(--rik-radius-md);
356
+ overflow: hidden;
357
+ background: var(--rik-surface-raised--strong);
358
+ box-shadow: var(--rik-elevation-2);
359
+ }
360
+ table.dense th {
361
+ text-align: left;
362
+ padding: 10px var(--rik-space-3);
363
+ color: var(--rik-text-default--faint);
364
+ font-size: var(--rik-font-size-xs);
365
+ font-weight: 700;
366
+ text-transform: uppercase;
367
+ letter-spacing: 0.08em;
368
+ border-bottom: 1px solid var(--rik-border-default);
369
+ background: var(--rik-surface-sunken);
370
+ }
371
+ table.dense td {
372
+ padding: 10px var(--rik-space-3);
373
+ border-bottom: 1px solid var(--rik-border-default);
374
+ color: var(--rik-text-default--muted);
375
+ line-height: 1.4;
376
+ }
377
+ table.dense tr:last-child td { border-bottom: none; }
378
+ table.dense td.ok { color: var(--rik-status-success); font-weight: 700; }
379
+ table.dense td.no { color: var(--rik-status-danger); }
380
+ table.dense td.meh { color: var(--rik-status-warn); }
package/tokens.css ADDED
@@ -0,0 +1,10 @@
1
+ /* ════════════════════════════════════════════════════════════════
2
+ RIKIKI · tokens entry point
3
+ Importing this file gives you the default Rikiki theme (tropical
4
+ greens & mango on paper, Unbounded + Inter + Space Mono via Google
5
+ Fonts). To pick a different look, import a theme directly:
6
+ <link rel="stylesheet" href="rikiki/themes/siliceum.css">
7
+ instead of this file.
8
+ ════════════════════════════════════════════════════════════════ */
9
+
10
+ @import url('./themes/rikiki.css');