@misterzik/create-kiss 1.0.0 → 1.0.1

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 (184) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +53 -53
  3. package/bin/create-kiss.js +90 -90
  4. package/package.json +47 -47
  5. package/template/dist/assets/fonts/.gitkeep +0 -0
  6. package/template/dist/assets/images/iphone-screen.png +0 -0
  7. package/template/dist/assets/images/logo.png +0 -0
  8. package/template/dist/assets/images/simon-lee-earth.jpg +0 -0
  9. package/template/dist/assets/images/wavy.svg +7 -0
  10. package/template/dist/bundle.js +2 -0
  11. package/template/dist/bundle.js.map +1 -0
  12. package/template/dist/css/app.css +3 -0
  13. package/template/dist/css/app.css.map +1 -0
  14. package/template/dist/index.html +4 -0
  15. package/template/node_modules/.package-lock.json +6800 -6779
  16. package/template/node_modules/@babel/parser/bin/babel-parser.js +0 -0
  17. package/template/node_modules/@parcel/watcher-linux-x64-glibc/README.md +1 -0
  18. package/template/node_modules/@parcel/watcher-linux-x64-glibc/package.json +33 -0
  19. package/template/node_modules/@parcel/watcher-linux-x64-glibc/watcher.node +0 -0
  20. package/template/node_modules/@parcel/watcher-linux-x64-musl/LICENSE +21 -0
  21. package/template/node_modules/@parcel/watcher-linux-x64-musl/README.md +1 -0
  22. package/template/node_modules/@parcel/{watcher-win32-x64 → watcher-linux-x64-musl}/package.json +5 -2
  23. package/template/node_modules/@parcel/watcher-linux-x64-musl/watcher.node +0 -0
  24. package/template/node_modules/@types/html-minifier-terser/LICENSE +0 -0
  25. package/template/node_modules/@types/html-minifier-terser/README.md +0 -0
  26. package/template/node_modules/@types/html-minifier-terser/index.d.ts +0 -0
  27. package/template/node_modules/@types/html-minifier-terser/package.json +0 -0
  28. package/template/node_modules/@types/retry/LICENSE +0 -0
  29. package/template/node_modules/@types/retry/README.md +0 -0
  30. package/template/node_modules/@types/retry/index.d.ts +0 -0
  31. package/template/node_modules/@types/retry/package.json +0 -0
  32. package/template/node_modules/acorn/bin/acorn +0 -0
  33. package/template/node_modules/animate.css/animate.min.css +0 -0
  34. package/template/node_modules/ansi-html-community/bin/ansi-html +0 -0
  35. package/template/node_modules/baseline-browser-mapping/dist/cli.js +0 -0
  36. package/template/node_modules/browserslist/cli.js +0 -0
  37. package/template/node_modules/core-js-compat/data.json +0 -0
  38. package/template/node_modules/core-js-compat/entries.json +0 -0
  39. package/template/node_modules/core-js-compat/external.json +0 -0
  40. package/template/node_modules/core-js-compat/modules-by-versions.json +0 -0
  41. package/template/node_modules/core-js-compat/modules.json +0 -0
  42. package/template/node_modules/css-loader/node_modules/semver/bin/semver.js +0 -0
  43. package/template/node_modules/cssesc/bin/cssesc +0 -0
  44. package/template/node_modules/detect-libc/bin/detect-libc.js +0 -0
  45. package/template/node_modules/envinfo/dist/cli.js +0 -0
  46. package/template/node_modules/esrecurse/package.json +0 -0
  47. package/template/node_modules/flat/cli.js +0 -0
  48. package/template/node_modules/he/bin/he +0 -0
  49. package/template/node_modules/hpack.js/bin/benchmark +0 -0
  50. package/template/node_modules/html-minifier-terser/cli.js +0 -0
  51. package/template/node_modules/import-local/fixtures/cli.js +0 -0
  52. package/template/node_modules/is-docker/cli.js +0 -0
  53. package/template/node_modules/is-inside-container/cli.js +0 -0
  54. package/template/node_modules/jsesc/bin/jsesc +0 -0
  55. package/template/node_modules/json5/lib/cli.js +0 -0
  56. package/template/node_modules/micromatch/LICENSE +0 -0
  57. package/template/node_modules/mime/cli.js +0 -0
  58. package/template/node_modules/mime/src/build.js +0 -0
  59. package/template/node_modules/multicast-dns/cli.js +0 -0
  60. package/template/node_modules/nanoid/bin/nanoid.cjs +0 -0
  61. package/template/node_modules/node-addon-api/tools/conversion.js +0 -0
  62. package/template/node_modules/open/xdg-open +0 -0
  63. package/template/node_modules/regenerate-unicode-properties/index.js +0 -0
  64. package/template/node_modules/regjsparser/bin/parser +0 -0
  65. package/template/node_modules/resolve/bin/resolve +0 -0
  66. package/template/node_modules/sass/sass.js +0 -0
  67. package/template/node_modules/semver/bin/semver.js +0 -0
  68. package/template/node_modules/shell-quote/print.py +0 -0
  69. package/template/node_modules/terser/bin/terser +0 -0
  70. package/template/node_modules/terser/bin/uglifyjs +0 -0
  71. package/template/node_modules/unicode-canonical-property-names-ecmascript/index.js +0 -0
  72. package/template/node_modules/unicode-match-property-ecmascript/index.js +0 -0
  73. package/template/node_modules/unicode-match-property-value-ecmascript/index.js +0 -0
  74. package/template/node_modules/unicode-property-aliases-ecmascript/index.js +0 -0
  75. package/template/node_modules/update-browserslist-db/cli.js +0 -0
  76. package/template/node_modules/uuid/dist/bin/uuid +0 -0
  77. package/template/node_modules/webpack/bin/webpack.js +0 -0
  78. package/template/node_modules/webpack-cli/bin/cli.js +0 -0
  79. package/template/node_modules/webpack-dev-server/bin/webpack-dev-server.js +0 -0
  80. package/template/node_modules/which/bin/node-which +0 -0
  81. package/template/package-lock.json +7069 -7069
  82. package/template/package.json +37 -37
  83. package/template/src/assets/images/wavy.svg +6 -6
  84. package/template/src/index.html +287 -287
  85. package/template/src/js/app.js +62 -62
  86. package/template/src/scss/app.scss +583 -583
  87. package/template/webpack.config.js +116 -116
  88. package/template/node_modules/.bin/acorn +0 -16
  89. package/template/node_modules/.bin/acorn.cmd +0 -17
  90. package/template/node_modules/.bin/acorn.ps1 +0 -28
  91. package/template/node_modules/.bin/ansi-html +0 -16
  92. package/template/node_modules/.bin/ansi-html.cmd +0 -17
  93. package/template/node_modules/.bin/ansi-html.ps1 +0 -28
  94. package/template/node_modules/.bin/baseline-browser-mapping +0 -16
  95. package/template/node_modules/.bin/baseline-browser-mapping.cmd +0 -17
  96. package/template/node_modules/.bin/baseline-browser-mapping.ps1 +0 -28
  97. package/template/node_modules/.bin/browserslist +0 -16
  98. package/template/node_modules/.bin/browserslist.cmd +0 -17
  99. package/template/node_modules/.bin/browserslist.ps1 +0 -28
  100. package/template/node_modules/.bin/cssesc +0 -16
  101. package/template/node_modules/.bin/cssesc.cmd +0 -17
  102. package/template/node_modules/.bin/cssesc.ps1 +0 -28
  103. package/template/node_modules/.bin/detect-libc +0 -16
  104. package/template/node_modules/.bin/detect-libc.cmd +0 -17
  105. package/template/node_modules/.bin/detect-libc.ps1 +0 -28
  106. package/template/node_modules/.bin/envinfo +0 -16
  107. package/template/node_modules/.bin/envinfo.cmd +0 -17
  108. package/template/node_modules/.bin/envinfo.ps1 +0 -28
  109. package/template/node_modules/.bin/flat +0 -16
  110. package/template/node_modules/.bin/flat.cmd +0 -17
  111. package/template/node_modules/.bin/flat.ps1 +0 -28
  112. package/template/node_modules/.bin/he +0 -16
  113. package/template/node_modules/.bin/he.cmd +0 -17
  114. package/template/node_modules/.bin/he.ps1 +0 -28
  115. package/template/node_modules/.bin/html-minifier-terser +0 -16
  116. package/template/node_modules/.bin/html-minifier-terser.cmd +0 -17
  117. package/template/node_modules/.bin/html-minifier-terser.ps1 +0 -28
  118. package/template/node_modules/.bin/import-local-fixture +0 -16
  119. package/template/node_modules/.bin/import-local-fixture.cmd +0 -17
  120. package/template/node_modules/.bin/import-local-fixture.ps1 +0 -28
  121. package/template/node_modules/.bin/is-docker +0 -16
  122. package/template/node_modules/.bin/is-docker.cmd +0 -17
  123. package/template/node_modules/.bin/is-docker.ps1 +0 -28
  124. package/template/node_modules/.bin/is-inside-container +0 -16
  125. package/template/node_modules/.bin/is-inside-container.cmd +0 -17
  126. package/template/node_modules/.bin/is-inside-container.ps1 +0 -28
  127. package/template/node_modules/.bin/jsesc +0 -16
  128. package/template/node_modules/.bin/jsesc.cmd +0 -17
  129. package/template/node_modules/.bin/jsesc.ps1 +0 -28
  130. package/template/node_modules/.bin/json5 +0 -16
  131. package/template/node_modules/.bin/json5.cmd +0 -17
  132. package/template/node_modules/.bin/json5.ps1 +0 -28
  133. package/template/node_modules/.bin/mime +0 -16
  134. package/template/node_modules/.bin/mime.cmd +0 -17
  135. package/template/node_modules/.bin/mime.ps1 +0 -28
  136. package/template/node_modules/.bin/multicast-dns +0 -16
  137. package/template/node_modules/.bin/multicast-dns.cmd +0 -17
  138. package/template/node_modules/.bin/multicast-dns.ps1 +0 -28
  139. package/template/node_modules/.bin/nanoid +0 -16
  140. package/template/node_modules/.bin/nanoid.cmd +0 -17
  141. package/template/node_modules/.bin/nanoid.ps1 +0 -28
  142. package/template/node_modules/.bin/node-which +0 -16
  143. package/template/node_modules/.bin/node-which.cmd +0 -17
  144. package/template/node_modules/.bin/node-which.ps1 +0 -28
  145. package/template/node_modules/.bin/parser +0 -16
  146. package/template/node_modules/.bin/parser.cmd +0 -17
  147. package/template/node_modules/.bin/parser.ps1 +0 -28
  148. package/template/node_modules/.bin/regjsparser +0 -16
  149. package/template/node_modules/.bin/regjsparser.cmd +0 -17
  150. package/template/node_modules/.bin/regjsparser.ps1 +0 -28
  151. package/template/node_modules/.bin/resolve +0 -16
  152. package/template/node_modules/.bin/resolve.cmd +0 -17
  153. package/template/node_modules/.bin/resolve.ps1 +0 -28
  154. package/template/node_modules/.bin/sass +0 -16
  155. package/template/node_modules/.bin/sass.cmd +0 -17
  156. package/template/node_modules/.bin/sass.ps1 +0 -28
  157. package/template/node_modules/.bin/semver +0 -16
  158. package/template/node_modules/.bin/semver.cmd +0 -17
  159. package/template/node_modules/.bin/semver.ps1 +0 -28
  160. package/template/node_modules/.bin/terser +0 -16
  161. package/template/node_modules/.bin/terser.cmd +0 -17
  162. package/template/node_modules/.bin/terser.ps1 +0 -28
  163. package/template/node_modules/.bin/update-browserslist-db +0 -16
  164. package/template/node_modules/.bin/update-browserslist-db.cmd +0 -17
  165. package/template/node_modules/.bin/update-browserslist-db.ps1 +0 -28
  166. package/template/node_modules/.bin/uuid +0 -16
  167. package/template/node_modules/.bin/uuid.cmd +0 -17
  168. package/template/node_modules/.bin/uuid.ps1 +0 -28
  169. package/template/node_modules/.bin/webpack +0 -16
  170. package/template/node_modules/.bin/webpack-cli +0 -16
  171. package/template/node_modules/.bin/webpack-cli.cmd +0 -17
  172. package/template/node_modules/.bin/webpack-cli.ps1 +0 -28
  173. package/template/node_modules/.bin/webpack-dev-server +0 -16
  174. package/template/node_modules/.bin/webpack-dev-server.cmd +0 -17
  175. package/template/node_modules/.bin/webpack-dev-server.ps1 +0 -28
  176. package/template/node_modules/.bin/webpack.cmd +0 -17
  177. package/template/node_modules/.bin/webpack.ps1 +0 -28
  178. package/template/node_modules/@parcel/watcher-win32-x64/README.md +0 -1
  179. package/template/node_modules/@parcel/watcher-win32-x64/watcher.node +0 -0
  180. package/template/node_modules/css-loader/node_modules/.bin/semver +0 -16
  181. package/template/node_modules/css-loader/node_modules/.bin/semver.cmd +0 -17
  182. package/template/node_modules/css-loader/node_modules/.bin/semver.ps1 +0 -28
  183. package/template/src/assets/images/Thumbs.db +0 -0
  184. /package/template/node_modules/@parcel/{watcher-win32-x64 → watcher-linux-x64-glibc}/LICENSE +0 -0
@@ -1,583 +1,583 @@
1
- @use "sass:color";
2
-
3
- $font-display: "Space Grotesk", "Sora", system-ui, -apple-system,
4
- BlinkMacSystemFont, sans-serif;
5
- $font-mono: "JetBrains Mono", "Space Grotesk", monospace;
6
- $bg-body: #04060c;
7
- $bg-panel: #0f1423;
8
- $bg-card: #121a2e;
9
- $bg-card-alt: #1c2644;
10
- $bg-light: #f5f8ff;
11
- $text-base: #e7ecff;
12
- $text-muted: #97a2c5;
13
- $text-dark: #0f1423;
14
- $primary: #6f7dff;
15
- $accent: #ff7b5f;
16
- $accent-secondary: #41f2b8;
17
- $border: rgba(255, 255, 255, 0.12);
18
- $radius: 20px;
19
- $transition: 220ms ease;
20
-
21
- *,
22
- *::before,
23
- *::after {
24
- box-sizing: border-box;
25
- }
26
-
27
- html,
28
- body {
29
- margin: 0;
30
- padding: 0;
31
- }
32
-
33
- body {
34
- font-family: $font-display;
35
- line-height: 1.65;
36
- color: $text-base;
37
- background: $bg-body;
38
- -webkit-font-smoothing: antialiased;
39
- }
40
-
41
- img {
42
- display: block;
43
- max-width: 100%;
44
- }
45
-
46
- p {
47
- margin: 0 0 1rem;
48
- }
49
-
50
- code,
51
- pre {
52
- font-family: $font-mono;
53
- }
54
-
55
- .kiss-site {
56
- min-height: 100vh;
57
- background: radial-gradient(
58
- circle at top,
59
- rgba(110, 125, 255, 0.15),
60
- transparent 55%
61
- )
62
- $bg-body;
63
- }
64
-
65
- .container {
66
- width: min(1120px, calc(100% - 3rem));
67
- margin: 0 auto;
68
- }
69
-
70
- a {
71
- color: inherit;
72
- text-decoration: none;
73
- }
74
-
75
- button {
76
- font-family: inherit;
77
- }
78
-
79
- .sr-only {
80
- position: absolute;
81
- width: 1px;
82
- height: 1px;
83
- padding: 0;
84
- margin: -1px;
85
- overflow: hidden;
86
- clip: rect(0, 0, 0, 0);
87
- border: 0;
88
- }
89
-
90
- .btn {
91
- display: inline-flex;
92
- align-items: center;
93
- justify-content: center;
94
- gap: 0.35rem;
95
- padding: 0.65rem 1.5rem;
96
- border-radius: 999px;
97
- border: 1px solid transparent;
98
- font-weight: 600;
99
- cursor: pointer;
100
- transition: background $transition, color $transition,
101
- border-color $transition, transform $transition;
102
- }
103
-
104
- .btn-primary {
105
- background: linear-gradient(120deg, $primary, $accent);
106
- color: #fff;
107
- box-shadow: 0 15px 35px rgba(13, 18, 43, 0.45);
108
-
109
- &:hover {
110
- transform: translateY(-2px);
111
- }
112
- }
113
-
114
- .btn-outline-light {
115
- color: #fff;
116
- border-color: rgba(255, 255, 255, 0.5);
117
-
118
- &:hover {
119
- border-color: #fff;
120
- background: rgba(255, 255, 255, 0.08);
121
- }
122
- }
123
-
124
- .btn-outline-dark {
125
- color: $text-dark;
126
- border-color: rgba(15, 20, 35, 0.2);
127
-
128
- &:hover {
129
- background: $text-dark;
130
- color: #fff;
131
- }
132
- }
133
-
134
- code {
135
- display: inline-flex;
136
- align-items: center;
137
- border-radius: 12px;
138
- padding: 0.35rem 0.75rem;
139
- background: rgba(255, 255, 255, 0.06);
140
- color: $accent-secondary;
141
- font-size: 0.95rem;
142
- }
143
-
144
- .hero {
145
- padding: 2.5rem 0 4rem;
146
- }
147
-
148
- .navbar {
149
- position: sticky;
150
- top: 0;
151
- z-index: 20;
152
- background: transparent;
153
- transition: background $transition, box-shadow $transition;
154
- }
155
-
156
- .navbar-inner {
157
- display: flex;
158
- align-items: center;
159
- justify-content: space-between;
160
- gap: 1rem;
161
- padding: 0.75rem 0;
162
- }
163
-
164
- .navbar-brand {
165
- display: inline-flex;
166
- align-items: center;
167
- gap: 0.75rem;
168
- color: #fff;
169
- font-weight: 600;
170
- letter-spacing: 0.05em;
171
- }
172
-
173
- .nav-links {
174
- display: flex;
175
- list-style: none;
176
- gap: 1rem;
177
- align-items: center;
178
- margin: 0;
179
- padding: 0;
180
- }
181
-
182
- .nav-links li {
183
- display: flex;
184
- }
185
-
186
- .nav-links a {
187
- color: rgba(255, 255, 255, 0.8);
188
- font-weight: 500;
189
- padding: 0.35rem 0.6rem;
190
- transition: color $transition;
191
-
192
- &:hover {
193
- color: #fff;
194
- }
195
- }
196
-
197
- .nav-links .btn {
198
- font-size: 0.85rem;
199
- padding-inline: 1rem;
200
- }
201
-
202
- .nav-toggle {
203
- display: none;
204
- flex-direction: column;
205
- justify-content: center;
206
- gap: 4px;
207
- border: none;
208
- border-radius: 12px;
209
- padding: 0.6rem;
210
- background: rgba(255, 255, 255, 0.1);
211
- color: #fff;
212
- cursor: pointer;
213
- }
214
-
215
- .nav-toggle span {
216
- display: block;
217
- width: 22px;
218
- height: 2px;
219
- background: currentColor;
220
- }
221
-
222
- .nav-scroll {
223
- background: rgba(4, 6, 12, 0.9);
224
- box-shadow: 0 15px 35px rgba(4, 6, 12, 0.6);
225
- backdrop-filter: blur(12px);
226
- }
227
-
228
- .hero-grid {
229
- margin-top: 2.5rem;
230
- display: grid;
231
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
232
- gap: 2.5rem;
233
- align-items: center;
234
- }
235
-
236
- .hero-copy h1 {
237
- font-size: clamp(2.5rem, 5vw, 3.8rem);
238
- line-height: 1.1;
239
- margin-bottom: 1rem;
240
- }
241
-
242
- .eyebrow {
243
- text-transform: uppercase;
244
- letter-spacing: 0.3em;
245
- font-size: 0.75rem;
246
- color: $accent-secondary;
247
- }
248
-
249
- .hero-cta {
250
- margin-top: 1.5rem;
251
- display: flex;
252
- flex-direction: column;
253
- gap: 0.75rem;
254
- }
255
-
256
- .hero-meta {
257
- list-style: none;
258
- display: flex;
259
- gap: 1.25rem;
260
- padding: 0;
261
- margin: 1.5rem 0 0;
262
- color: rgba(255, 255, 255, 0.8);
263
- font-weight: 600;
264
- }
265
-
266
- .hero-visual {
267
- position: relative;
268
- padding: 2rem;
269
- }
270
-
271
- .hero-visual::after {
272
- content: "";
273
- position: absolute;
274
- inset: 8% 6% 0;
275
- background: radial-gradient(
276
- circle,
277
- rgba(255, 255, 255, 0.13),
278
- transparent 65%
279
- );
280
- filter: blur(18px);
281
- z-index: -1;
282
- }
283
-
284
- .hero-wave {
285
- position: absolute;
286
- inset: auto 0 -40px;
287
- width: 88%;
288
- opacity: 0.6;
289
- margin-bottom: 4rem;
290
- margin-left: 2rem;
291
- border-bottom-right-radius: 20px;
292
- border-bottom-left-radius: 20px;
293
- }
294
-
295
- .hero-card {
296
- background: linear-gradient(145deg, $bg-card, $bg-card-alt);
297
- border-radius: $radius;
298
- padding: 1.2rem;
299
- box-shadow: 0 25px 60px rgba(3, 5, 12, 0.85);
300
- position: relative;
301
- }
302
-
303
- .hero-card__badge {
304
- position: absolute;
305
- top: 1.25rem;
306
- right: 1.25rem;
307
- border-radius: 999px;
308
- border: 1px solid rgba(255, 255, 255, 0.18);
309
- padding: 0.35rem 0.75rem;
310
- background: rgba(255, 255, 255, 0.07);
311
- }
312
-
313
- .badge-pill {
314
- font-size: 0.8rem;
315
- letter-spacing: 0.08em;
316
- }
317
-
318
- .section-light {
319
- background: $bg-light;
320
- color: $text-dark;
321
- padding: 5rem 0;
322
- }
323
-
324
- .section-dark {
325
- background: $bg-panel;
326
- padding: 5rem 0;
327
- }
328
-
329
- .section-header {
330
- text-align: center;
331
- max-width: 620px;
332
- margin: 0 auto 3rem;
333
- }
334
-
335
- .section-header p {
336
- color: $text-muted;
337
- }
338
-
339
- .feature-grid {
340
- display: grid;
341
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
342
- gap: 1.5rem;
343
- }
344
-
345
- .feature-card {
346
- border-radius: 18px;
347
- padding: 1.75rem;
348
- background: #fff;
349
- color: $text-dark;
350
- box-shadow: 0 25px 45px rgba(15, 20, 35, 0.08);
351
- }
352
-
353
- .section-dark .feature-card {
354
- background: rgba(255, 255, 255, 0.06);
355
- color: $text-base;
356
- box-shadow: none;
357
- }
358
-
359
- .template-layout {
360
- display: grid;
361
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
362
- gap: 2.5rem;
363
- align-items: center;
364
- }
365
-
366
- .template-visual {
367
- border-radius: 26px;
368
- padding: 1.5rem;
369
- background: linear-gradient(
370
- 140deg,
371
- rgba(255, 255, 255, 0.04),
372
- rgba(255, 255, 255, 0.01)
373
- );
374
- box-shadow: 0 25px 50px rgba(7, 10, 22, 0.65);
375
- }
376
-
377
- .template-list {
378
- list-style: none;
379
- padding: 0;
380
- margin: 1.5rem 0 0;
381
- }
382
-
383
- .template-list li {
384
- position: relative;
385
- padding-left: 1.5rem;
386
- margin-bottom: 0.85rem;
387
- }
388
-
389
- .template-list li::before {
390
- content: "";
391
- position: absolute;
392
- left: 0;
393
- top: 0.65rem;
394
- width: 10px;
395
- height: 10px;
396
- border-radius: 50%;
397
- background: $accent-secondary;
398
- }
399
-
400
- .workflow-steps {
401
- display: grid;
402
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
403
- gap: 1.5rem;
404
- }
405
-
406
- .workflow-step {
407
- background: #fff;
408
- border-radius: 20px;
409
- padding: 2rem;
410
- box-shadow: 0 30px 60px rgba(15, 20, 35, 0.08);
411
- color: $text-dark;
412
- position: relative;
413
- }
414
-
415
- .workflow-step .step-number {
416
- font-size: 0.85rem;
417
- letter-spacing: 0.25em;
418
- text-transform: uppercase;
419
- color: $accent;
420
- }
421
-
422
- .testimonial {
423
- color: #fff;
424
- background: linear-gradient(135deg, #6f7dff, #aa66ff);
425
- }
426
-
427
- .testimonial-grid {
428
- display: grid;
429
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
430
- gap: 2rem;
431
- align-items: center;
432
- }
433
-
434
- blockquote {
435
- margin: 0;
436
- font-size: 1.35rem;
437
- line-height: 1.45;
438
- }
439
-
440
- .terminal-card {
441
- background: rgba(4, 6, 12, 0.85);
442
- border-radius: 20px;
443
- padding: 1.75rem;
444
- box-shadow: 0 20px 35px rgba(4, 6, 12, 0.6);
445
- }
446
-
447
- .terminal-dots {
448
- display: flex;
449
- gap: 0.35rem;
450
- margin-bottom: 1rem;
451
- }
452
-
453
- .terminal-dots span {
454
- width: 10px;
455
- height: 10px;
456
- border-radius: 50%;
457
- background: rgba(255, 255, 255, 0.35);
458
- }
459
-
460
- .terminal-card pre {
461
- margin: 0;
462
- padding: 1rem;
463
- background: rgba(255, 255, 255, 0.05);
464
- border-radius: 14px;
465
- overflow-x: auto;
466
- }
467
-
468
- .final-cta {
469
- text-align: center;
470
- }
471
-
472
- .cta-command {
473
- margin: 1.5rem 0;
474
- background: rgba(16, 20, 35, 0.08);
475
- color: $primary;
476
- }
477
-
478
- .cta-buttons {
479
- display: flex;
480
- flex-wrap: wrap;
481
- justify-content: center;
482
- gap: 1rem;
483
- }
484
-
485
- .kiss-footer {
486
- background: #05070d;
487
- padding: 1.5rem 0;
488
- border-top: 1px solid rgba(255, 255, 255, 0.08);
489
- font-size: 0.95rem;
490
- }
491
-
492
- .footer-layout {
493
- display: flex;
494
- flex-wrap: wrap;
495
- align-items: center;
496
- justify-content: space-between;
497
- gap: 1rem;
498
- }
499
-
500
- .divider {
501
- color: rgba(255, 255, 255, 0.3);
502
- margin: 0 0.5rem;
503
- }
504
-
505
- #primary-nav {
506
- position: relative;
507
- }
508
-
509
- #primary-nav.is-open {
510
- position: absolute;
511
- top: 70px;
512
- right: 1.5rem;
513
- left: 1.5rem;
514
- flex-direction: column;
515
- background: rgba(4, 6, 12, 0.95);
516
- padding: 1.5rem;
517
- border-radius: 20px;
518
- box-shadow: 0 25px 60px rgba(4, 6, 12, 0.65);
519
- }
520
-
521
- .hero .btn {
522
- min-width: 180px;
523
- }
524
-
525
- @media (max-width: 960px) {
526
- .nav-links {
527
- display: none;
528
- }
529
-
530
- #primary-nav.is-open {
531
- display: flex;
532
- }
533
-
534
- .nav-toggle {
535
- display: inline-flex;
536
- }
537
-
538
- .hero-cta {
539
- width: 100%;
540
- }
541
- }
542
-
543
- @media (max-width: 720px) {
544
- .container {
545
- width: min(100%, calc(100% - 2rem));
546
- }
547
-
548
- .hero-grid {
549
- gap: 2rem;
550
- }
551
-
552
- .hero-visual {
553
- padding: 1.25rem;
554
- }
555
-
556
- .feature-card,
557
- .workflow-step,
558
- .terminal-card {
559
- padding: 1.5rem;
560
- }
561
-
562
- .footer-layout {
563
- flex-direction: column;
564
- text-align: center;
565
- }
566
- }
567
-
568
- @media (max-width: 520px) {
569
- code {
570
- width: 100%;
571
- justify-content: center;
572
- }
573
-
574
- .hero-meta {
575
- flex-direction: column;
576
- gap: 0.5rem;
577
- }
578
-
579
- #primary-nav.is-open {
580
- left: 1rem;
581
- right: 1rem;
582
- }
583
- }
1
+ @use "sass:color";
2
+
3
+ $font-display: "Space Grotesk", "Sora", system-ui, -apple-system,
4
+ BlinkMacSystemFont, sans-serif;
5
+ $font-mono: "JetBrains Mono", "Space Grotesk", monospace;
6
+ $bg-body: #04060c;
7
+ $bg-panel: #0f1423;
8
+ $bg-card: #121a2e;
9
+ $bg-card-alt: #1c2644;
10
+ $bg-light: #f5f8ff;
11
+ $text-base: #e7ecff;
12
+ $text-muted: #97a2c5;
13
+ $text-dark: #0f1423;
14
+ $primary: #6f7dff;
15
+ $accent: #ff7b5f;
16
+ $accent-secondary: #41f2b8;
17
+ $border: rgba(255, 255, 255, 0.12);
18
+ $radius: 20px;
19
+ $transition: 220ms ease;
20
+
21
+ *,
22
+ *::before,
23
+ *::after {
24
+ box-sizing: border-box;
25
+ }
26
+
27
+ html,
28
+ body {
29
+ margin: 0;
30
+ padding: 0;
31
+ }
32
+
33
+ body {
34
+ font-family: $font-display;
35
+ line-height: 1.65;
36
+ color: $text-base;
37
+ background: $bg-body;
38
+ -webkit-font-smoothing: antialiased;
39
+ }
40
+
41
+ img {
42
+ display: block;
43
+ max-width: 100%;
44
+ }
45
+
46
+ p {
47
+ margin: 0 0 1rem;
48
+ }
49
+
50
+ code,
51
+ pre {
52
+ font-family: $font-mono;
53
+ }
54
+
55
+ .kiss-site {
56
+ min-height: 100vh;
57
+ background: radial-gradient(
58
+ circle at top,
59
+ rgba(110, 125, 255, 0.15),
60
+ transparent 55%
61
+ )
62
+ $bg-body;
63
+ }
64
+
65
+ .container {
66
+ width: min(1120px, calc(100% - 3rem));
67
+ margin: 0 auto;
68
+ }
69
+
70
+ a {
71
+ color: inherit;
72
+ text-decoration: none;
73
+ }
74
+
75
+ button {
76
+ font-family: inherit;
77
+ }
78
+
79
+ .sr-only {
80
+ position: absolute;
81
+ width: 1px;
82
+ height: 1px;
83
+ padding: 0;
84
+ margin: -1px;
85
+ overflow: hidden;
86
+ clip: rect(0, 0, 0, 0);
87
+ border: 0;
88
+ }
89
+
90
+ .btn {
91
+ display: inline-flex;
92
+ align-items: center;
93
+ justify-content: center;
94
+ gap: 0.35rem;
95
+ padding: 0.65rem 1.5rem;
96
+ border-radius: 999px;
97
+ border: 1px solid transparent;
98
+ font-weight: 600;
99
+ cursor: pointer;
100
+ transition: background $transition, color $transition,
101
+ border-color $transition, transform $transition;
102
+ }
103
+
104
+ .btn-primary {
105
+ background: linear-gradient(120deg, $primary, $accent);
106
+ color: #fff;
107
+ box-shadow: 0 15px 35px rgba(13, 18, 43, 0.45);
108
+
109
+ &:hover {
110
+ transform: translateY(-2px);
111
+ }
112
+ }
113
+
114
+ .btn-outline-light {
115
+ color: #fff;
116
+ border-color: rgba(255, 255, 255, 0.5);
117
+
118
+ &:hover {
119
+ border-color: #fff;
120
+ background: rgba(255, 255, 255, 0.08);
121
+ }
122
+ }
123
+
124
+ .btn-outline-dark {
125
+ color: $text-dark;
126
+ border-color: rgba(15, 20, 35, 0.2);
127
+
128
+ &:hover {
129
+ background: $text-dark;
130
+ color: #fff;
131
+ }
132
+ }
133
+
134
+ code {
135
+ display: inline-flex;
136
+ align-items: center;
137
+ border-radius: 12px;
138
+ padding: 0.35rem 0.75rem;
139
+ background: rgba(255, 255, 255, 0.06);
140
+ color: $accent-secondary;
141
+ font-size: 0.95rem;
142
+ }
143
+
144
+ .hero {
145
+ padding: 2.5rem 0 4rem;
146
+ }
147
+
148
+ .navbar {
149
+ position: sticky;
150
+ top: 0;
151
+ z-index: 20;
152
+ background: transparent;
153
+ transition: background $transition, box-shadow $transition;
154
+ }
155
+
156
+ .navbar-inner {
157
+ display: flex;
158
+ align-items: center;
159
+ justify-content: space-between;
160
+ gap: 1rem;
161
+ padding: 0.75rem 0;
162
+ }
163
+
164
+ .navbar-brand {
165
+ display: inline-flex;
166
+ align-items: center;
167
+ gap: 0.75rem;
168
+ color: #fff;
169
+ font-weight: 600;
170
+ letter-spacing: 0.05em;
171
+ }
172
+
173
+ .nav-links {
174
+ display: flex;
175
+ list-style: none;
176
+ gap: 1rem;
177
+ align-items: center;
178
+ margin: 0;
179
+ padding: 0;
180
+ }
181
+
182
+ .nav-links li {
183
+ display: flex;
184
+ }
185
+
186
+ .nav-links a {
187
+ color: rgba(255, 255, 255, 0.8);
188
+ font-weight: 500;
189
+ padding: 0.35rem 0.6rem;
190
+ transition: color $transition;
191
+
192
+ &:hover {
193
+ color: #fff;
194
+ }
195
+ }
196
+
197
+ .nav-links .btn {
198
+ font-size: 0.85rem;
199
+ padding-inline: 1rem;
200
+ }
201
+
202
+ .nav-toggle {
203
+ display: none;
204
+ flex-direction: column;
205
+ justify-content: center;
206
+ gap: 4px;
207
+ border: none;
208
+ border-radius: 12px;
209
+ padding: 0.6rem;
210
+ background: rgba(255, 255, 255, 0.1);
211
+ color: #fff;
212
+ cursor: pointer;
213
+ }
214
+
215
+ .nav-toggle span {
216
+ display: block;
217
+ width: 22px;
218
+ height: 2px;
219
+ background: currentColor;
220
+ }
221
+
222
+ .nav-scroll {
223
+ background: rgba(4, 6, 12, 0.9);
224
+ box-shadow: 0 15px 35px rgba(4, 6, 12, 0.6);
225
+ backdrop-filter: blur(12px);
226
+ }
227
+
228
+ .hero-grid {
229
+ margin-top: 2.5rem;
230
+ display: grid;
231
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
232
+ gap: 2.5rem;
233
+ align-items: center;
234
+ }
235
+
236
+ .hero-copy h1 {
237
+ font-size: clamp(2.5rem, 5vw, 3.8rem);
238
+ line-height: 1.1;
239
+ margin-bottom: 1rem;
240
+ }
241
+
242
+ .eyebrow {
243
+ text-transform: uppercase;
244
+ letter-spacing: 0.3em;
245
+ font-size: 0.75rem;
246
+ color: $accent-secondary;
247
+ }
248
+
249
+ .hero-cta {
250
+ margin-top: 1.5rem;
251
+ display: flex;
252
+ flex-direction: column;
253
+ gap: 0.75rem;
254
+ }
255
+
256
+ .hero-meta {
257
+ list-style: none;
258
+ display: flex;
259
+ gap: 1.25rem;
260
+ padding: 0;
261
+ margin: 1.5rem 0 0;
262
+ color: rgba(255, 255, 255, 0.8);
263
+ font-weight: 600;
264
+ }
265
+
266
+ .hero-visual {
267
+ position: relative;
268
+ padding: 2rem;
269
+ }
270
+
271
+ .hero-visual::after {
272
+ content: "";
273
+ position: absolute;
274
+ inset: 8% 6% 0;
275
+ background: radial-gradient(
276
+ circle,
277
+ rgba(255, 255, 255, 0.13),
278
+ transparent 65%
279
+ );
280
+ filter: blur(18px);
281
+ z-index: -1;
282
+ }
283
+
284
+ .hero-wave {
285
+ position: absolute;
286
+ inset: auto 0 -40px;
287
+ width: 88%;
288
+ opacity: 0.6;
289
+ margin-bottom: 4rem;
290
+ margin-left: 2rem;
291
+ border-bottom-right-radius: 20px;
292
+ border-bottom-left-radius: 20px;
293
+ }
294
+
295
+ .hero-card {
296
+ background: linear-gradient(145deg, $bg-card, $bg-card-alt);
297
+ border-radius: $radius;
298
+ padding: 1.2rem;
299
+ box-shadow: 0 25px 60px rgba(3, 5, 12, 0.85);
300
+ position: relative;
301
+ }
302
+
303
+ .hero-card__badge {
304
+ position: absolute;
305
+ top: 1.25rem;
306
+ right: 1.25rem;
307
+ border-radius: 999px;
308
+ border: 1px solid rgba(255, 255, 255, 0.18);
309
+ padding: 0.35rem 0.75rem;
310
+ background: rgba(255, 255, 255, 0.07);
311
+ }
312
+
313
+ .badge-pill {
314
+ font-size: 0.8rem;
315
+ letter-spacing: 0.08em;
316
+ }
317
+
318
+ .section-light {
319
+ background: $bg-light;
320
+ color: $text-dark;
321
+ padding: 5rem 0;
322
+ }
323
+
324
+ .section-dark {
325
+ background: $bg-panel;
326
+ padding: 5rem 0;
327
+ }
328
+
329
+ .section-header {
330
+ text-align: center;
331
+ max-width: 620px;
332
+ margin: 0 auto 3rem;
333
+ }
334
+
335
+ .section-header p {
336
+ color: $text-muted;
337
+ }
338
+
339
+ .feature-grid {
340
+ display: grid;
341
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
342
+ gap: 1.5rem;
343
+ }
344
+
345
+ .feature-card {
346
+ border-radius: 18px;
347
+ padding: 1.75rem;
348
+ background: #fff;
349
+ color: $text-dark;
350
+ box-shadow: 0 25px 45px rgba(15, 20, 35, 0.08);
351
+ }
352
+
353
+ .section-dark .feature-card {
354
+ background: rgba(255, 255, 255, 0.06);
355
+ color: $text-base;
356
+ box-shadow: none;
357
+ }
358
+
359
+ .template-layout {
360
+ display: grid;
361
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
362
+ gap: 2.5rem;
363
+ align-items: center;
364
+ }
365
+
366
+ .template-visual {
367
+ border-radius: 26px;
368
+ padding: 1.5rem;
369
+ background: linear-gradient(
370
+ 140deg,
371
+ rgba(255, 255, 255, 0.04),
372
+ rgba(255, 255, 255, 0.01)
373
+ );
374
+ box-shadow: 0 25px 50px rgba(7, 10, 22, 0.65);
375
+ }
376
+
377
+ .template-list {
378
+ list-style: none;
379
+ padding: 0;
380
+ margin: 1.5rem 0 0;
381
+ }
382
+
383
+ .template-list li {
384
+ position: relative;
385
+ padding-left: 1.5rem;
386
+ margin-bottom: 0.85rem;
387
+ }
388
+
389
+ .template-list li::before {
390
+ content: "";
391
+ position: absolute;
392
+ left: 0;
393
+ top: 0.65rem;
394
+ width: 10px;
395
+ height: 10px;
396
+ border-radius: 50%;
397
+ background: $accent-secondary;
398
+ }
399
+
400
+ .workflow-steps {
401
+ display: grid;
402
+ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
403
+ gap: 1.5rem;
404
+ }
405
+
406
+ .workflow-step {
407
+ background: #fff;
408
+ border-radius: 20px;
409
+ padding: 2rem;
410
+ box-shadow: 0 30px 60px rgba(15, 20, 35, 0.08);
411
+ color: $text-dark;
412
+ position: relative;
413
+ }
414
+
415
+ .workflow-step .step-number {
416
+ font-size: 0.85rem;
417
+ letter-spacing: 0.25em;
418
+ text-transform: uppercase;
419
+ color: $accent;
420
+ }
421
+
422
+ .testimonial {
423
+ color: #fff;
424
+ background: linear-gradient(135deg, #6f7dff, #aa66ff);
425
+ }
426
+
427
+ .testimonial-grid {
428
+ display: grid;
429
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
430
+ gap: 2rem;
431
+ align-items: center;
432
+ }
433
+
434
+ blockquote {
435
+ margin: 0;
436
+ font-size: 1.35rem;
437
+ line-height: 1.45;
438
+ }
439
+
440
+ .terminal-card {
441
+ background: rgba(4, 6, 12, 0.85);
442
+ border-radius: 20px;
443
+ padding: 1.75rem;
444
+ box-shadow: 0 20px 35px rgba(4, 6, 12, 0.6);
445
+ }
446
+
447
+ .terminal-dots {
448
+ display: flex;
449
+ gap: 0.35rem;
450
+ margin-bottom: 1rem;
451
+ }
452
+
453
+ .terminal-dots span {
454
+ width: 10px;
455
+ height: 10px;
456
+ border-radius: 50%;
457
+ background: rgba(255, 255, 255, 0.35);
458
+ }
459
+
460
+ .terminal-card pre {
461
+ margin: 0;
462
+ padding: 1rem;
463
+ background: rgba(255, 255, 255, 0.05);
464
+ border-radius: 14px;
465
+ overflow-x: auto;
466
+ }
467
+
468
+ .final-cta {
469
+ text-align: center;
470
+ }
471
+
472
+ .cta-command {
473
+ margin: 1.5rem 0;
474
+ background: rgba(16, 20, 35, 0.08);
475
+ color: $primary;
476
+ }
477
+
478
+ .cta-buttons {
479
+ display: flex;
480
+ flex-wrap: wrap;
481
+ justify-content: center;
482
+ gap: 1rem;
483
+ }
484
+
485
+ .kiss-footer {
486
+ background: #05070d;
487
+ padding: 1.5rem 0;
488
+ border-top: 1px solid rgba(255, 255, 255, 0.08);
489
+ font-size: 0.95rem;
490
+ }
491
+
492
+ .footer-layout {
493
+ display: flex;
494
+ flex-wrap: wrap;
495
+ align-items: center;
496
+ justify-content: space-between;
497
+ gap: 1rem;
498
+ }
499
+
500
+ .divider {
501
+ color: rgba(255, 255, 255, 0.3);
502
+ margin: 0 0.5rem;
503
+ }
504
+
505
+ #primary-nav {
506
+ position: relative;
507
+ }
508
+
509
+ #primary-nav.is-open {
510
+ position: absolute;
511
+ top: 70px;
512
+ right: 1.5rem;
513
+ left: 1.5rem;
514
+ flex-direction: column;
515
+ background: rgba(4, 6, 12, 0.95);
516
+ padding: 1.5rem;
517
+ border-radius: 20px;
518
+ box-shadow: 0 25px 60px rgba(4, 6, 12, 0.65);
519
+ }
520
+
521
+ .hero .btn {
522
+ min-width: 180px;
523
+ }
524
+
525
+ @media (max-width: 960px) {
526
+ .nav-links {
527
+ display: none;
528
+ }
529
+
530
+ #primary-nav.is-open {
531
+ display: flex;
532
+ }
533
+
534
+ .nav-toggle {
535
+ display: inline-flex;
536
+ }
537
+
538
+ .hero-cta {
539
+ width: 100%;
540
+ }
541
+ }
542
+
543
+ @media (max-width: 720px) {
544
+ .container {
545
+ width: min(100%, calc(100% - 2rem));
546
+ }
547
+
548
+ .hero-grid {
549
+ gap: 2rem;
550
+ }
551
+
552
+ .hero-visual {
553
+ padding: 1.25rem;
554
+ }
555
+
556
+ .feature-card,
557
+ .workflow-step,
558
+ .terminal-card {
559
+ padding: 1.5rem;
560
+ }
561
+
562
+ .footer-layout {
563
+ flex-direction: column;
564
+ text-align: center;
565
+ }
566
+ }
567
+
568
+ @media (max-width: 520px) {
569
+ code {
570
+ width: 100%;
571
+ justify-content: center;
572
+ }
573
+
574
+ .hero-meta {
575
+ flex-direction: column;
576
+ gap: 0.5rem;
577
+ }
578
+
579
+ #primary-nav.is-open {
580
+ left: 1rem;
581
+ right: 1rem;
582
+ }
583
+ }