@beforesemicolon/builder 1.7.0 → 1.8.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 (161) hide show
  1. package/README.md +33 -30
  2. package/dist/cjs/build-modules.js +1 -1
  3. package/dist/cjs/docs/run.js +1 -1
  4. package/dist/cjs/docs/templates/fading-citrus/assets/before-semicolon-logo.png +0 -0
  5. package/dist/cjs/docs/templates/fading-citrus/assets/client-server.svg +4 -0
  6. package/dist/cjs/docs/templates/fading-citrus/assets/facebook.svg +8 -0
  7. package/dist/cjs/docs/templates/fading-citrus/assets/fast.svg +4 -0
  8. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/android-chrome-192x192.png +0 -0
  9. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/android-chrome-512x512.png +0 -0
  10. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/apple-touch-icon.png +0 -0
  11. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/favicon-16x16.png +0 -0
  12. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/favicon-32x32.png +0 -0
  13. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/favicon.ico +0 -0
  14. package/dist/cjs/docs/templates/fading-citrus/assets/favicon/site.webmanifest +19 -0
  15. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Black.otf +0 -0
  16. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BlackItalic.otf +0 -0
  17. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Bold.otf +0 -0
  18. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BoldItalic.otf +0 -0
  19. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBold.otf +0 -0
  20. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBoldItalic.otf +0 -0
  21. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLight.otf +0 -0
  22. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLightItalic.otf +0 -0
  23. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Italic.otf +0 -0
  24. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Light.otf +0 -0
  25. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-LightItalic.otf +0 -0
  26. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Medium.otf +0 -0
  27. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-MediumItalic.otf +0 -0
  28. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Regular.otf +0 -0
  29. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBold.otf +0 -0
  30. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBoldItalic.otf +0 -0
  31. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Thin.otf +0 -0
  32. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ThinItalic.otf +0 -0
  33. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/exo-2/SIL Open Font License.txt +43 -0
  34. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/Apache License.txt +201 -0
  35. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Bold.ttf +0 -0
  36. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-BoldItalic.ttf +0 -0
  37. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBold.ttf +0 -0
  38. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBoldItalic.ttf +0 -0
  39. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Italic.ttf +0 -0
  40. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Light.ttf +0 -0
  41. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-LightItalic.ttf +0 -0
  42. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Regular.ttf +0 -0
  43. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Semibold.ttf +0 -0
  44. package/dist/cjs/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-SemiboldItalic.ttf +0 -0
  45. package/dist/cjs/docs/templates/fading-citrus/assets/independent.svg +23 -0
  46. package/dist/cjs/docs/templates/fading-citrus/assets/instagram.svg +28 -0
  47. package/dist/cjs/docs/templates/fading-citrus/assets/markup-banner.jpg +0 -0
  48. package/dist/cjs/docs/templates/fading-citrus/assets/markup-essentials-training.jpg +0 -0
  49. package/dist/cjs/docs/templates/fading-citrus/assets/markup-favicon.jpg +0 -0
  50. package/dist/cjs/docs/templates/fading-citrus/assets/markup-favicon.png +0 -0
  51. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo-name.svg +10 -0
  52. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo-name@2x.png +0 -0
  53. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo.svg +13 -0
  54. package/dist/cjs/docs/templates/fading-citrus/assets/markup-logo@2x.png +0 -0
  55. package/dist/cjs/docs/templates/fading-citrus/assets/medium2.svg +18 -0
  56. package/dist/cjs/docs/templates/fading-citrus/assets/reactive.svg +3 -0
  57. package/dist/cjs/docs/templates/fading-citrus/assets/reddit.svg +16 -0
  58. package/dist/cjs/docs/templates/fading-citrus/assets/simple.svg +8 -0
  59. package/dist/cjs/docs/templates/fading-citrus/assets/small.svg +8 -0
  60. package/dist/cjs/docs/templates/fading-citrus/assets/twitter.svg +11 -0
  61. package/dist/cjs/docs/templates/fading-citrus/assets/youtube.svg +10 -0
  62. package/dist/cjs/docs/templates/fading-citrus/layouts/_code-snippet.js +75 -0
  63. package/dist/cjs/docs/templates/fading-citrus/layouts/_copy-code.js +50 -0
  64. package/dist/cjs/docs/templates/fading-citrus/layouts/_footer.js +72 -0
  65. package/dist/cjs/docs/templates/fading-citrus/layouts/_head-meta.js +231 -0
  66. package/dist/cjs/docs/templates/fading-citrus/layouts/_header.js +41 -0
  67. package/dist/cjs/docs/templates/fading-citrus/layouts/_logo.js +31 -0
  68. package/dist/cjs/docs/templates/fading-citrus/layouts/document.js +92 -0
  69. package/dist/cjs/docs/templates/fading-citrus/layouts/landing.js +636 -0
  70. package/dist/cjs/docs/templates/fading-citrus/stylesheets/common.css +814 -0
  71. package/dist/cjs/docs/templates/fading-citrus/stylesheets/documentation.css +603 -0
  72. package/dist/cjs/docs/templates/fading-citrus/stylesheets/fonts.css +1 -0
  73. package/dist/cjs/docs/templates/fading-citrus/stylesheets/github-dark.hightlighter.css +107 -0
  74. package/dist/cjs/docs/templates/fading-citrus/stylesheets/github-light.hightlighter.css +107 -0
  75. package/dist/cjs/docs/templates/fading-citrus/stylesheets/hybrid.hightlighter.css +102 -0
  76. package/dist/cjs/docs/templates/fading-citrus/stylesheets/landing.css +1553 -0
  77. package/dist/cjs/docs/templates/fading-citrus/stylesheets/normalize.css +351 -0
  78. package/dist/cjs/docs/templates/fading-citrus/template.config.js +14 -0
  79. package/dist/cjs/docs/types.js +1 -1
  80. package/dist/esm/build-modules.js +1 -1
  81. package/dist/esm/docs/run.js +1 -1
  82. package/dist/esm/docs/templates/fading-citrus/assets/before-semicolon-logo.png +0 -0
  83. package/dist/esm/docs/templates/fading-citrus/assets/client-server.svg +4 -0
  84. package/dist/esm/docs/templates/fading-citrus/assets/facebook.svg +8 -0
  85. package/dist/esm/docs/templates/fading-citrus/assets/fast.svg +4 -0
  86. package/dist/esm/docs/templates/fading-citrus/assets/favicon/android-chrome-192x192.png +0 -0
  87. package/dist/esm/docs/templates/fading-citrus/assets/favicon/android-chrome-512x512.png +0 -0
  88. package/dist/esm/docs/templates/fading-citrus/assets/favicon/apple-touch-icon.png +0 -0
  89. package/dist/esm/docs/templates/fading-citrus/assets/favicon/favicon-16x16.png +0 -0
  90. package/dist/esm/docs/templates/fading-citrus/assets/favicon/favicon-32x32.png +0 -0
  91. package/dist/esm/docs/templates/fading-citrus/assets/favicon/favicon.ico +0 -0
  92. package/dist/esm/docs/templates/fading-citrus/assets/favicon/site.webmanifest +19 -0
  93. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Black.otf +0 -0
  94. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BlackItalic.otf +0 -0
  95. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Bold.otf +0 -0
  96. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-BoldItalic.otf +0 -0
  97. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBold.otf +0 -0
  98. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraBoldItalic.otf +0 -0
  99. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLight.otf +0 -0
  100. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ExtraLightItalic.otf +0 -0
  101. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Italic.otf +0 -0
  102. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Light.otf +0 -0
  103. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-LightItalic.otf +0 -0
  104. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Medium.otf +0 -0
  105. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-MediumItalic.otf +0 -0
  106. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Regular.otf +0 -0
  107. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBold.otf +0 -0
  108. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-SemiBoldItalic.otf +0 -0
  109. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-Thin.otf +0 -0
  110. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/Exo2.0-ThinItalic.otf +0 -0
  111. package/dist/esm/docs/templates/fading-citrus/assets/fonts/exo-2/SIL Open Font License.txt +43 -0
  112. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/Apache License.txt +201 -0
  113. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Bold.ttf +0 -0
  114. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-BoldItalic.ttf +0 -0
  115. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBold.ttf +0 -0
  116. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-ExtraBoldItalic.ttf +0 -0
  117. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Italic.ttf +0 -0
  118. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Light.ttf +0 -0
  119. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-LightItalic.ttf +0 -0
  120. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Regular.ttf +0 -0
  121. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-Semibold.ttf +0 -0
  122. package/dist/esm/docs/templates/fading-citrus/assets/fonts/open-sans/OpenSans-SemiboldItalic.ttf +0 -0
  123. package/dist/esm/docs/templates/fading-citrus/assets/independent.svg +23 -0
  124. package/dist/esm/docs/templates/fading-citrus/assets/instagram.svg +28 -0
  125. package/dist/esm/docs/templates/fading-citrus/assets/markup-banner.jpg +0 -0
  126. package/dist/esm/docs/templates/fading-citrus/assets/markup-essentials-training.jpg +0 -0
  127. package/dist/esm/docs/templates/fading-citrus/assets/markup-favicon.jpg +0 -0
  128. package/dist/esm/docs/templates/fading-citrus/assets/markup-favicon.png +0 -0
  129. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo-name.svg +10 -0
  130. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo-name@2x.png +0 -0
  131. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo.svg +13 -0
  132. package/dist/esm/docs/templates/fading-citrus/assets/markup-logo@2x.png +0 -0
  133. package/dist/esm/docs/templates/fading-citrus/assets/medium2.svg +18 -0
  134. package/dist/esm/docs/templates/fading-citrus/assets/reactive.svg +3 -0
  135. package/dist/esm/docs/templates/fading-citrus/assets/reddit.svg +16 -0
  136. package/dist/esm/docs/templates/fading-citrus/assets/simple.svg +8 -0
  137. package/dist/esm/docs/templates/fading-citrus/assets/small.svg +8 -0
  138. package/dist/esm/docs/templates/fading-citrus/assets/twitter.svg +11 -0
  139. package/dist/esm/docs/templates/fading-citrus/assets/youtube.svg +10 -0
  140. package/dist/esm/docs/templates/fading-citrus/layouts/_code-snippet.js +75 -0
  141. package/dist/esm/docs/templates/fading-citrus/layouts/_copy-code.js +50 -0
  142. package/dist/esm/docs/templates/fading-citrus/layouts/_footer.js +72 -0
  143. package/dist/esm/docs/templates/fading-citrus/layouts/_head-meta.js +231 -0
  144. package/dist/esm/docs/templates/fading-citrus/layouts/_header.js +41 -0
  145. package/dist/esm/docs/templates/fading-citrus/layouts/_logo.js +31 -0
  146. package/dist/esm/docs/templates/fading-citrus/layouts/document.js +92 -0
  147. package/dist/esm/docs/templates/fading-citrus/layouts/landing.js +636 -0
  148. package/dist/esm/docs/templates/fading-citrus/stylesheets/common.css +814 -0
  149. package/dist/esm/docs/templates/fading-citrus/stylesheets/documentation.css +603 -0
  150. package/dist/esm/docs/templates/fading-citrus/stylesheets/fonts.css +1 -0
  151. package/dist/esm/docs/templates/fading-citrus/stylesheets/github-dark.hightlighter.css +107 -0
  152. package/dist/esm/docs/templates/fading-citrus/stylesheets/github-light.hightlighter.css +107 -0
  153. package/dist/esm/docs/templates/fading-citrus/stylesheets/hybrid.hightlighter.css +102 -0
  154. package/dist/esm/docs/templates/fading-citrus/stylesheets/landing.css +1553 -0
  155. package/dist/esm/docs/templates/fading-citrus/stylesheets/normalize.css +351 -0
  156. package/dist/esm/docs/templates/fading-citrus/template.config.js +14 -0
  157. package/dist/types/build-browser.d.ts +1 -1
  158. package/dist/types/build-modules.d.ts +1 -1
  159. package/dist/types/docs/run.d.ts +2 -1
  160. package/dist/types/docs/types.d.ts +28 -6
  161. package/package.json +1 -1
@@ -0,0 +1,603 @@
1
+ @import 'common.css?v=20260621exact';
2
+
3
+ body {
4
+ background-color: var(--background);
5
+ }
6
+
7
+ #documentation {
8
+ display: grid;
9
+ grid-template-columns: 240px minmax(0, 1fr) 220px;
10
+ gap: 24px;
11
+ position: relative;
12
+ padding-top: 96px;
13
+ padding-bottom: 80px;
14
+ }
15
+
16
+ #documentation.docs-index {
17
+ max-width: 1280px;
18
+ }
19
+
20
+ #documentation.docs-index article {
21
+ max-width: none;
22
+ }
23
+
24
+ /* #mobile-menu-toggle */
25
+ #mobile-menu-toggle {
26
+ height: 48px;
27
+ background: oklch(0.22 0.018 250 / 0.8);
28
+ backdrop-filter: blur(8px);
29
+ -webkit-backdrop-filter: blur(8px);
30
+ padding: 14px 20px;
31
+ position: sticky;
32
+ top: 4rem;
33
+ left: 0;
34
+ z-index: 40;
35
+ display: none;
36
+ border-bottom: 1px solid var(--border);
37
+ }
38
+
39
+ #mobile-menu-toggle a {
40
+ display: inline-block;
41
+ width: 20px;
42
+ height: 14px;
43
+ background: linear-gradient(
44
+ 0deg,
45
+ var(--foreground) 0%,
46
+ var(--foreground) 15%,
47
+ transparent 15%,
48
+ transparent 42.5%,
49
+ var(--foreground) 42.5%,
50
+ var(--foreground) 57.5%,
51
+ transparent 57.5%,
52
+ transparent 85%,
53
+ var(--foreground) 85%
54
+ );
55
+ cursor: pointer;
56
+ border: none;
57
+ }
58
+
59
+ /* nav ------------ */
60
+ #documentation nav {
61
+ grid-column: 1;
62
+ overflow-y: auto;
63
+ position: sticky;
64
+ top: 96px;
65
+ max-height: calc(100vh - 120px);
66
+ }
67
+
68
+ #documentation nav ul {
69
+ padding: 0;
70
+ }
71
+
72
+ #documentation nav a {
73
+ text-decoration: none;
74
+ color: var(--muted-foreground);
75
+ font-size: 0.9rem;
76
+ font-weight: 500;
77
+ transition: all 0.2s ease;
78
+ display: block;
79
+ width: 100%;
80
+ }
81
+
82
+ #documentation nav .close-mobile-menu {
83
+ display: none;
84
+ }
85
+
86
+ #documentation nav li {
87
+ padding: 6px 12px;
88
+ text-transform: capitalize;
89
+ letter-spacing: 0.02rem;
90
+ position: relative;
91
+ border-radius: 6px;
92
+ margin-bottom: 4px;
93
+ display: flex;
94
+ align-items: center;
95
+ }
96
+
97
+ #documentation nav li:hover {
98
+ background: oklch(1 1 1 / 0.03);
99
+ }
100
+
101
+ #documentation nav li:hover a {
102
+ color: var(--foreground);
103
+ }
104
+
105
+ #documentation nav li.active {
106
+ background: oklch(0.74 0.18 45 / 0.08);
107
+ }
108
+
109
+ #documentation nav li.active a {
110
+ color: var(--primary);
111
+ font-weight: 600;
112
+ }
113
+
114
+ #documentation nav li.active::after {
115
+ content: '';
116
+ display: inline-block;
117
+ width: 6px;
118
+ height: 6px;
119
+ border-radius: 50%;
120
+ background: var(--primary);
121
+ position: absolute;
122
+ right: 16px;
123
+ top: 50%;
124
+ transform: translateY(-50%);
125
+ box-shadow: 0 0 8px var(--primary);
126
+ }
127
+
128
+ #documentation nav ol {
129
+ margin: 24px 0 16px 0;
130
+ padding: 0;
131
+ list-style: none;
132
+ }
133
+
134
+ #documentation nav ol > span {
135
+ text-transform: uppercase;
136
+ font-size: 0.75rem;
137
+ font-weight: 700;
138
+ color: var(--muted-foreground);
139
+ letter-spacing: 0.08rem;
140
+ padding-left: 12px;
141
+ margin-bottom: 8px;
142
+ display: inline-block;
143
+ opacity: 0.5;
144
+ }
145
+
146
+ #documentation nav ol li {
147
+ padding-left: 20px;
148
+ }
149
+
150
+ /* article ------------ */
151
+ #documentation article {
152
+ grid-column: 2;
153
+ min-width: 0;
154
+ scrollbar-width: thin;
155
+ }
156
+
157
+ #documentation article h2 {
158
+ font-size: 2.75rem;
159
+ font-weight: 850;
160
+ letter-spacing: -0.03rem;
161
+ margin-bottom: 24px;
162
+ line-height: 1.15;
163
+ }
164
+
165
+ #documentation article h3 {
166
+ font-weight: 700;
167
+ font-size: 1.75rem;
168
+ margin: 48px 0 16px;
169
+ border-bottom: 1px solid var(--border);
170
+ padding-bottom: 8px;
171
+ letter-spacing: -0.01rem;
172
+ }
173
+
174
+ #documentation article h4 {
175
+ font-weight: 600;
176
+ font-size: 1.25rem;
177
+ margin: 32px 0 12px;
178
+ }
179
+
180
+ #documentation article p {
181
+ margin: 16px 0;
182
+ font-size: 1rem;
183
+ line-height: 1.7;
184
+ color: oklch(0.8 0.01 250);
185
+ }
186
+
187
+ #documentation article p a {
188
+ color: var(--primary);
189
+ font-weight: 500;
190
+ border-bottom: 1px dashed oklch(0.74 0.18 45 / 0.4);
191
+ transition: all 0.2s ease;
192
+ }
193
+
194
+ #documentation article p a:hover {
195
+ color: var(--primary-glow);
196
+ border-bottom-style: solid;
197
+ border-bottom-color: var(--primary-glow);
198
+ }
199
+
200
+ #documentation article .heading {
201
+ scroll-margin-top: 6rem;
202
+ }
203
+
204
+ #documentation article ul,
205
+ #documentation article ol {
206
+ margin: 16px 0;
207
+ padding-left: 24px;
208
+ }
209
+
210
+ #documentation article ul {
211
+ list-style-type: disc;
212
+ }
213
+
214
+ #documentation article ol {
215
+ list-style-type: decimal;
216
+ }
217
+
218
+ #documentation article li {
219
+ margin: 8px 0;
220
+ font-size: 0.95rem;
221
+ color: oklch(0.8 0.01 250);
222
+ }
223
+
224
+ #documentation article code:not(.hljs) {
225
+ background: oklch(1 1 1 / 0.06);
226
+ color: var(--primary);
227
+ display: inline-block;
228
+ padding: 2px 6px;
229
+ border-radius: 4px;
230
+ font-family: var(--font-mono);
231
+ font-size: 0.85em;
232
+ border: 1px solid var(--border);
233
+ }
234
+
235
+ #documentation article div.warning,
236
+ #documentation article div.info {
237
+ padding: 16px 20px;
238
+ border-radius: 8px;
239
+ margin: 24px 0;
240
+ border-left: 4px solid;
241
+ font-size: 0.95rem;
242
+ line-height: 1.6;
243
+ }
244
+
245
+ #documentation article div.warning {
246
+ background: oklch(0.78 0.14 90 / 0.1);
247
+ border-color: oklch(0.78 0.14 90 / 0.6);
248
+ color: oklch(0.85 0.1 90);
249
+ }
250
+
251
+ #documentation article div.warning code {
252
+ background: oklch(0.78 0.14 90 / 0.15) !important;
253
+ color: oklch(0.85 0.1 90) !important;
254
+ border-color: oklch(0.78 0.14 90 / 0.2) !important;
255
+ }
256
+
257
+ #documentation article div.info {
258
+ background: oklch(0.7 0.16 200 / 0.1);
259
+ border-color: oklch(0.7 0.16 200 / 0.6);
260
+ color: oklch(0.85 0.12 200);
261
+ }
262
+
263
+ #documentation article div.info code {
264
+ background: oklch(0.7 0.16 200 / 0.15) !important;
265
+ color: oklch(0.85 0.12 200) !important;
266
+ border-color: oklch(0.7 0.16 200 / 0.2) !important;
267
+ }
268
+
269
+ #documentation article details summary {
270
+ font-family: var(--font-title);
271
+ font-weight: 600;
272
+ font-size: 1.5rem;
273
+ margin: 24px 0 12px;
274
+ cursor: pointer;
275
+ color: var(--foreground);
276
+ }
277
+
278
+ #documentation article dl dt {
279
+ font-size: 1.1rem;
280
+ font-family: var(--font-title);
281
+ margin-top: 24px;
282
+ margin-bottom: 6px;
283
+ font-weight: 600;
284
+ color: var(--foreground);
285
+ }
286
+
287
+ #documentation article dl dd {
288
+ margin: 0 0 16px 12px;
289
+ line-height: 1.6;
290
+ color: oklch(0.8 0.01 250);
291
+ }
292
+
293
+ /* #edit-doc */
294
+ #edit-doc {
295
+ margin-top: 40px;
296
+ display: inline-block;
297
+ color: var(--primary);
298
+ font-size: 0.8rem;
299
+ float: right;
300
+ font-weight: 500;
301
+ transition: color 0.2s ease;
302
+ }
303
+
304
+ #edit-doc:hover {
305
+ color: var(--primary-glow);
306
+ }
307
+
308
+ /* #page-navigation */
309
+ #page-navigation {
310
+ border-top: 1px solid var(--border);
311
+ padding: 32px 0 0;
312
+ margin-top: 48px;
313
+ display: flex;
314
+ justify-content: space-between;
315
+ align-items: center;
316
+ gap: 16px;
317
+ }
318
+
319
+ #prev-doc,
320
+ #next-doc {
321
+ display: inline-flex;
322
+ align-items: center;
323
+ padding: 8px 16px;
324
+ border-radius: 8px;
325
+ border: 1px solid var(--border);
326
+ background: oklch(1 1 1 / 0.02);
327
+ font-size: 0.9rem;
328
+ font-weight: 500;
329
+ color: var(--muted-foreground);
330
+ transition: all 0.2s ease;
331
+ }
332
+
333
+ #prev-doc:hover,
334
+ #next-doc:hover {
335
+ border-color: var(--primary);
336
+ background: oklch(0.74 0.18 45 / 0.05);
337
+ color: var(--foreground);
338
+ }
339
+
340
+ /* #table-of-content ------------ */
341
+ #documentation #table-of-content {
342
+ grid-column: 3;
343
+ border-left: 1px solid var(--border);
344
+ overflow-y: auto;
345
+ max-height: calc(100vh - 120px);
346
+ position: sticky;
347
+ top: 96px;
348
+ padding: 0 0 0 24px;
349
+ }
350
+
351
+ #documentation #table-of-content h4 {
352
+ font-size: 0.75rem;
353
+ color: var(--foreground);
354
+ text-transform: uppercase;
355
+ letter-spacing: 0.08rem;
356
+ margin-bottom: 16px;
357
+ }
358
+
359
+ #documentation #table-of-content li {
360
+ font-size: 0.8rem;
361
+ margin-bottom: 8px;
362
+ line-height: 1.4;
363
+ }
364
+
365
+ #documentation #table-of-content li a {
366
+ color: var(--muted-foreground);
367
+ text-decoration: none;
368
+ transition: color 0.2s ease;
369
+ display: block;
370
+ }
371
+
372
+ #documentation #table-of-content li a:hover {
373
+ color: var(--primary);
374
+ }
375
+
376
+ #documentation.docs-index #table-of-content {
377
+ display: none;
378
+ }
379
+
380
+ #documentation.docs-index article h2:first-child::before {
381
+ content: '// documentation';
382
+ display: block;
383
+ font-family: var(--font-mono);
384
+ font-size: 0.85rem;
385
+ font-weight: 500;
386
+ color: var(--primary);
387
+ text-transform: uppercase;
388
+ letter-spacing: 0.15rem;
389
+ margin-bottom: 18px;
390
+ }
391
+
392
+ #documentation.docs-index article h2:first-child {
393
+ font-size: clamp(3.2rem, 5vw, 4.2rem);
394
+ margin-bottom: 22px;
395
+ }
396
+
397
+ #documentation.docs-index article h2:first-child + p {
398
+ font-size: 1.15rem;
399
+ max-width: 900px;
400
+ color: oklch(0.76 0.012 250);
401
+ }
402
+
403
+ #documentation.docs-index article h2:first-child + p + p {
404
+ display: none;
405
+ }
406
+
407
+ #documentation.docs-index article h2:first-child + p + p + ul {
408
+ display: grid;
409
+ grid-template-columns: repeat(3, 1fr);
410
+ gap: 16px;
411
+ padding: 0;
412
+ margin: 34px 0 64px;
413
+ list-style: none;
414
+ }
415
+
416
+ #documentation.docs-index article h2:first-child + p + p + ul li {
417
+ margin: 0;
418
+ padding: 24px;
419
+ min-height: 140px;
420
+ border: 1px solid oklch(0.3 0.02 250 / 0.7);
421
+ border-radius: 12px;
422
+ background: oklch(0.22 0.018 250 / 0.36);
423
+ color: var(--muted-foreground);
424
+ line-height: 1.6;
425
+ }
426
+
427
+ #documentation.docs-index article h2:first-child + p + p + ul code {
428
+ display: block;
429
+ width: fit-content;
430
+ margin-bottom: 14px;
431
+ border: 0;
432
+ background: transparent;
433
+ padding: 0;
434
+ color: var(--primary);
435
+ font-size: 1.05rem;
436
+ }
437
+
438
+ #documentation.docs-index article h3 {
439
+ border-bottom: 0;
440
+ padding-bottom: 0;
441
+ font-size: 1.85rem;
442
+ }
443
+
444
+ #documentation.docs-index article h3:nth-of-type(1)::before,
445
+ #documentation.docs-index article h3:nth-of-type(2)::before {
446
+ display: inline-grid;
447
+ place-items: center;
448
+ width: 24px;
449
+ height: 24px;
450
+ margin-right: 12px;
451
+ border-radius: 6px;
452
+ border: 1px solid oklch(0.74 0.18 45 / 0.25);
453
+ color: var(--primary);
454
+ font-family: var(--font-mono);
455
+ font-size: 0.8rem;
456
+ }
457
+
458
+ #documentation.docs-index article h3:nth-of-type(1)::before {
459
+ content: 'AI';
460
+ color: var(--accent);
461
+ }
462
+
463
+ #documentation .code-snippet,
464
+ #documentation.docs-index article h3:nth-of-type(2) + p + p + p + .code-snippet,
465
+ #documentation.docs-index
466
+ article
467
+ h3:nth-of-type(2)
468
+ + p
469
+ + p
470
+ + p
471
+ + .code-snippet
472
+ + p
473
+ + .code-snippet {
474
+ width: 100%;
475
+ max-width: 100%;
476
+ display: flex;
477
+ }
478
+
479
+ #documentation .code-snippet pre {
480
+ display: block;
481
+ margin: 0;
482
+ height: auto;
483
+ min-height: 0;
484
+ }
485
+
486
+ #documentation .code-snippet pre code {
487
+ display: inline;
488
+ padding: 0;
489
+ line-height: 1.5rem;
490
+ }
491
+
492
+ @media screen and (min-width: 1201px) {
493
+ #documentation.docs-index
494
+ article
495
+ h3:nth-of-type(2)
496
+ + p
497
+ + p
498
+ + p
499
+ + .code-snippet,
500
+ #documentation.docs-index
501
+ article
502
+ h3:nth-of-type(2)
503
+ + p
504
+ + p
505
+ + p
506
+ + .code-snippet
507
+ + p
508
+ + .code-snippet {
509
+ width: calc(50% - 12px);
510
+ display: inline-flex;
511
+ vertical-align: top;
512
+ }
513
+
514
+ #documentation.docs-index
515
+ article
516
+ h3:nth-of-type(2)
517
+ + p
518
+ + p
519
+ + p
520
+ + .code-snippet {
521
+ margin-right: 20px;
522
+ }
523
+ }
524
+
525
+ @media screen and (min-width: 1025px) {
526
+ #mobile-menu-toggle {
527
+ display: none;
528
+ }
529
+ }
530
+
531
+ @media screen and (max-width: 1024px) {
532
+ #mobile-menu-toggle {
533
+ display: block;
534
+ position: sticky;
535
+ top: 64px;
536
+ z-index: 45;
537
+ }
538
+
539
+ #documentation {
540
+ display: block;
541
+ padding-top: 96px;
542
+ }
543
+
544
+ #documentation nav {
545
+ display: none;
546
+ position: fixed;
547
+ inset: 112px auto 0 0;
548
+ z-index: 60;
549
+ width: 100vw;
550
+ max-height: none;
551
+ height: calc(100vh - 112px);
552
+ background: oklch(0.18 0.015 250 / 0.72);
553
+ backdrop-filter: blur(12px);
554
+ -webkit-backdrop-filter: blur(12px);
555
+ }
556
+
557
+ #documentation nav:target {
558
+ display: flex;
559
+ }
560
+
561
+ #documentation nav ul {
562
+ width: min(82vw, 320px);
563
+ max-width: none;
564
+ height: 100%;
565
+ overflow-y: auto;
566
+ padding: 24px;
567
+ background: var(--background);
568
+ border-right: 1px solid var(--border);
569
+ }
570
+
571
+ #documentation nav .close-mobile-menu {
572
+ display: block;
573
+ flex: 1;
574
+ height: 100%;
575
+ }
576
+
577
+ #documentation article {
578
+ width: 100%;
579
+ }
580
+
581
+ #documentation #table-of-content {
582
+ display: none;
583
+ }
584
+ }
585
+
586
+ @media screen and (max-width: 860px) {
587
+ #documentation.docs-index article h2:first-child + p + p + ul {
588
+ grid-template-columns: 1fr;
589
+ }
590
+ }
591
+
592
+ @media screen and (max-width: 640px) {
593
+ #documentation {
594
+ padding-left: 20px;
595
+ padding-right: 20px;
596
+ }
597
+
598
+ #documentation article h2,
599
+ #documentation.docs-index article h2:first-child {
600
+ font-size: 2.25rem;
601
+ line-height: 2.5rem;
602
+ }
603
+ }
@@ -0,0 +1 @@
1
+ @import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@@ -0,0 +1,107 @@
1
+ .hljs {
2
+ display: block;
3
+ overflow-x: auto;
4
+ padding: 0.5em;
5
+ color: var(--foreground);
6
+ background: var(--code-bg);
7
+ }
8
+
9
+ .hljs-comment,
10
+ .hljs-punctuation {
11
+ color: var(--muted-foreground);
12
+ font-style: italic;
13
+ }
14
+
15
+ .hljs-attr,
16
+ .hljs-attribute,
17
+ .hljs-meta,
18
+ .hljs-selector-attr,
19
+ .hljs-selector-class,
20
+ .hljs-selector-id {
21
+ color: oklch(0.82 0.14 90); /* Yellow syntax-attr */
22
+ }
23
+
24
+ .hljs-variable,
25
+ .hljs-literal,
26
+ .hljs-number,
27
+ .hljs-doctag {
28
+ color: var(--primary); /* Orange */
29
+ }
30
+
31
+ .hljs-params {
32
+ color: var(--foreground);
33
+ }
34
+
35
+ .hljs-function {
36
+ color: var(--accent); /* Cyan */
37
+ }
38
+
39
+ .hljs-class,
40
+ .hljs-tag,
41
+ .hljs-title,
42
+ .hljs-built_in {
43
+ color: var(--accent); /* Cyan */
44
+ }
45
+
46
+ .hljs-keyword,
47
+ .hljs-type,
48
+ .hljs-builtin-name,
49
+ .hljs-meta-keyword,
50
+ .hljs-template-tag,
51
+ .hljs-template-variable {
52
+ color: var(--primary); /* Orange keyword */
53
+ }
54
+
55
+ .hljs-string,
56
+ .hljs-undefined {
57
+ color: oklch(0.78 0.15 145); /* Green syntax-string */
58
+ }
59
+
60
+ .hljs-regexp {
61
+ color: oklch(0.78 0.15 145);
62
+ }
63
+
64
+ .hljs-symbol {
65
+ color: var(--accent);
66
+ }
67
+
68
+ .hljs-bullet {
69
+ color: var(--primary);
70
+ }
71
+
72
+ .hljs-section {
73
+ color: var(--accent);
74
+ font-weight: bold;
75
+ }
76
+
77
+ .hljs-quote,
78
+ .hljs-name,
79
+ .hljs-selector-tag,
80
+ .hljs-selector-pseudo {
81
+ color: var(--accent);
82
+ }
83
+
84
+ .hljs-emphasis {
85
+ color: var(--primary);
86
+ font-style: italic;
87
+ }
88
+
89
+ .hljs-strong {
90
+ color: var(--primary);
91
+ font-weight: bold;
92
+ }
93
+
94
+ .hljs-deletion {
95
+ color: oklch(0.62 0.22 25);
96
+ background-color: oklch(0.62 0.22 25 / 0.15);
97
+ }
98
+
99
+ .hljs-addition {
100
+ color: oklch(0.78 0.15 145);
101
+ background-color: oklch(0.78 0.15 145 / 0.15);
102
+ }
103
+
104
+ .hljs-link {
105
+ color: oklch(0.78 0.15 145);
106
+ font-style: underline;
107
+ }