@krudi/styles 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 (73) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/assets/icons/arrow-up-right-from-square-solid-full.svg +1 -0
  4. package/assets/icons/download-solid-full.svg +1 -0
  5. package/assets/icons/envelope-regular-full.svg +1 -0
  6. package/assets/icons/square-phone-solid-full.svg +1 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +0 -0
  10. package/dist/styles/base/_base.css +1 -0
  11. package/dist/styles/base/_focus.css +1 -0
  12. package/dist/styles/base/_reset.css +1 -0
  13. package/dist/styles/base/_typography.css +1 -0
  14. package/dist/styles/base/index.css +1 -0
  15. package/dist/styles/components/_badge.css +1 -0
  16. package/dist/styles/components/_skeleton.css +1 -0
  17. package/dist/styles/components/index.css +1 -0
  18. package/dist/styles/elements/_github-activity.css +1 -0
  19. package/dist/styles/elements/_github-projects.css +1 -0
  20. package/dist/styles/elements/_header.css +1 -0
  21. package/dist/styles/elements/_section-contact.css +1 -0
  22. package/dist/styles/elements/index.css +1 -0
  23. package/dist/styles/html/_img.css +1 -0
  24. package/dist/styles/html/_svg.css +1 -0
  25. package/dist/styles/html/index.css +1 -0
  26. package/dist/styles/layout/_container.css +1 -0
  27. package/dist/styles/layout/_gird.css +1 -0
  28. package/dist/styles/layout/index.css +1 -0
  29. package/dist/styles/styles.css +1 -0
  30. package/dist/styles/theme.css +1 -0
  31. package/dist/styles/utilities/_background-colors.css +1 -0
  32. package/dist/styles/utilities/_color.css +1 -0
  33. package/dist/styles/utilities/_font-size.css +1 -0
  34. package/dist/styles/utilities/_font-weight.css +1 -0
  35. package/dist/styles/utilities/_margin.css +1 -0
  36. package/dist/styles/utilities/_padding.css +1 -0
  37. package/dist/styles/utilities/_text-decoration.css +1 -0
  38. package/dist/styles/utilities/_text.css +1 -0
  39. package/dist/styles/utilities/index.css +1 -0
  40. package/dist/styles/variables.css +1 -0
  41. package/package.json +84 -0
  42. package/src/scripts/index.ts +3 -0
  43. package/src/styles/base/_base.css +15 -0
  44. package/src/styles/base/_focus.css +19 -0
  45. package/src/styles/base/_reset.css +50 -0
  46. package/src/styles/base/_typography.css +121 -0
  47. package/src/styles/base/index.css +5 -0
  48. package/src/styles/components/_badge.css +69 -0
  49. package/src/styles/components/_skeleton.css +6 -0
  50. package/src/styles/components/index.css +3 -0
  51. package/src/styles/elements/_github-activity.css +77 -0
  52. package/src/styles/elements/_github-projects.css +65 -0
  53. package/src/styles/elements/_header.css +31 -0
  54. package/src/styles/elements/_section-contact.css +11 -0
  55. package/src/styles/elements/index.css +5 -0
  56. package/src/styles/html/_img.css +9 -0
  57. package/src/styles/html/_svg.css +5 -0
  58. package/src/styles/html/index.css +3 -0
  59. package/src/styles/layout/_container.css +8 -0
  60. package/src/styles/layout/_gird.css +70 -0
  61. package/src/styles/layout/index.css +3 -0
  62. package/src/styles/styles.css +10 -0
  63. package/src/styles/theme.css +98 -0
  64. package/src/styles/utilities/_background-colors.css +59 -0
  65. package/src/styles/utilities/_color.css +47 -0
  66. package/src/styles/utilities/_font-size.css +19 -0
  67. package/src/styles/utilities/_font-weight.css +35 -0
  68. package/src/styles/utilities/_margin.css +235 -0
  69. package/src/styles/utilities/_padding.css +230 -0
  70. package/src/styles/utilities/_text-decoration.css +35 -0
  71. package/src/styles/utilities/_text.css +55 -0
  72. package/src/styles/utilities/index.css +9 -0
  73. package/src/styles/variables.css +93 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 @krudi/stylelint-config
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,74 @@
1
+ # @krudi/styles
2
+
3
+ Reusable CSS design tokens, reset styles, layout primitives, and early components/utilities. Built for personal
4
+ projects.
5
+
6
+ ## Scripts
7
+
8
+ | Command | Description |
9
+ | ---------------------------- | ---------------------------- |
10
+ | `npm run build` | Build CSS + types to `dist/` |
11
+ | `npm run dev` | TypeScript watch |
12
+ | `npm run lint:eslint` | Lint TS |
13
+ | `npm run lint:eslint:fix` | Fix TS lint issues |
14
+ | `npm run lint:stylelint` | Lint CSS |
15
+ | `npm run lint:stylelint:fix` | Fix CSS lint issues |
16
+ | `npm run lint:prettier` | Check formatting |
17
+ | `npm run lint:prettier:fix` | Format write |
18
+ | `npm run typecheck` | TypeScript type checks |
19
+ | `npm run clean` | Remove caches/node_modules |
20
+
21
+ ## Using `@krudi/styles`
22
+
23
+ Install:
24
+
25
+ ```sh
26
+ npm install @krudi/styles
27
+ ```
28
+
29
+ Import everything:
30
+
31
+ ```css
32
+ @import '@krudi/styles/all';
33
+ ```
34
+
35
+ Or compose layers with CSS cascade layers:
36
+
37
+ ```css
38
+ /* Required core */
39
+ @import '@krudi/styles/variables' layer(variables);
40
+ @import '@krudi/styles/theme' layer(theme);
41
+
42
+ /* Recommended reset + layout */
43
+ @import '@krudi/styles/base' layer(base);
44
+ @import '@krudi/styles/layout' layer(layout);
45
+
46
+ /* Optional pieces */
47
+ @import '@krudi/styles/components' layer(components);
48
+ @import '@krudi/styles/utilities' layer(utilities);
49
+
50
+ /* Additional layers if needed */
51
+ @import '@krudi/styles/html' layer(html);
52
+ @import '@krudi/styles/elements' layer(elements);
53
+ ```
54
+
55
+ ### Overriding tokens or theme values
56
+
57
+ Import the layers first, then override inside the matching layer so specificity stays low and the cascade stays intact:
58
+
59
+ ```css
60
+ @import '@krudi/styles/variables' layer(variables);
61
+ @import '@krudi/styles/theme' layer(theme);
62
+
63
+ @layer variables {
64
+ :root {
65
+ --spacer: 1.25rem;
66
+ }
67
+ }
68
+
69
+ @layer theme {
70
+ :root {
71
+ --c-primary: #6b5bff;
72
+ }
73
+ }
74
+ ```
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true" focusable="false"><path d="M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true" focusable="false"><path d="M352 96C352 78.3 337.7 64 320 64C302.3 64 288 78.3 288 96L288 306.7L246.6 265.3C234.1 252.8 213.8 252.8 201.3 265.3C188.8 277.8 188.8 298.1 201.3 310.6L297.3 406.6C309.8 419.1 330.1 419.1 342.6 406.6L438.6 310.6C451.1 298.1 451.1 277.8 438.6 265.3C426.1 252.8 405.8 252.8 393.3 265.3L352 306.7L352 96zM160 384C124.7 384 96 412.7 96 448L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 448C544 412.7 515.3 384 480 384L433.1 384L376.5 440.6C345.3 471.8 294.6 471.8 263.4 440.6L206.9 384L160 384zM464 440C477.3 440 488 450.7 488 464C488 477.3 477.3 488 464 488C450.7 488 440 477.3 440 464C440 450.7 450.7 440 464 440z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true" focusable="false"><path d="M125.4 128C91.5 128 64 155.5 64 189.4C64 190.3 64 191.1 64.1 192L64 192L64 448C64 483.3 92.7 512 128 512L512 512C547.3 512 576 483.3 576 448L576 192L575.9 192C575.9 191.1 576 190.3 576 189.4C576 155.5 548.5 128 514.6 128L125.4 128zM528 256.3L528 448C528 456.8 520.8 464 512 464L128 464C119.2 464 112 456.8 112 448L112 256.3L266.8 373.7C298.2 397.6 341.7 397.6 373.2 373.7L528 256.3zM112 189.4C112 182 118 176 125.4 176L514.6 176C522 176 528 182 528 189.4C528 193.6 526 197.6 522.7 200.1L344.2 335.5C329.9 346.3 310.1 346.3 295.8 335.5L117.3 200.1C114 197.6 112 193.6 112 189.4z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" aria-hidden="true" focusable="false"><path d="M160 96C124.7 96 96 124.7 96 160L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 160C544 124.7 515.3 96 480 96L160 96zM248 192.7C257.8 190 268.1 195.1 272 204.5L292.3 253.2C295.7 261.5 293.4 271 286.4 276.7L264.3 294.7C280.5 330.5 308.8 359.7 343.9 377.1L363.2 353.5C368.9 346.6 378.4 344.2 386.7 347.6L435.4 367.9C444.8 371.8 449.8 382.1 447.2 391.9L446.4 394.7C437.6 427 406.3 454.6 368.2 446.5C280.7 428 211.9 359.1 193.3 271.6C185.2 233.5 212.8 202.2 245.1 193.4L247.9 192.6z"/></svg>
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/scripts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC"}
package/dist/index.js ADDED
File without changes
@@ -0,0 +1 @@
1
+ html{scroll-behavior:smooth}body{background-color:var(--body-background-color);line-height:var(--body-line-height);margin:0;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--body-color);font-family:var(--body-font-family);font-size:var(--body-font-size);overflow-x:hidden;text-rendering:optimizelegibility}
@@ -0,0 +1 @@
1
+ :is(a,button,input,textarea,summary){--outline-size:max(2px,0.08em);--outline-style:solid;--outline-color:currentcolor}:is(a,button,input,textarea,summary):focus{outline:var(--outline-size) var(--outline-style) var(--outline-color);outline-offset:var(--outline-offset,var(--outline-size))}:is(a,button,input,textarea,summary):focus-visible{outline:var(--outline-size) var(--outline-style) var(--outline-color);outline-offset:var(--outline-offset,var(--outline-size))}:is(a,button,input,textarea,summary):focus:not(:focus-visible){outline:none}
@@ -0,0 +1 @@
1
+ *,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;text-rendering:optimizespeed}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{display:block;max-width:100%}button,input,select,textarea{font:inherit}
@@ -0,0 +1 @@
1
+ .h1,h1{font-size:var(--heading-1);line-height:1.1}.h1,.h2,h1,h2{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h2,h2{font-size:var(--heading-2);line-height:1.15}.h3,h3{font-size:var(--heading-3);line-height:1.2}.h3,.h4,h3,h4{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h4,h4{font-size:var(--heading-4);line-height:1.25}.h5,h5{font-size:var(--heading-5);line-height:1.3}.h5,.h6,h5,h6{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h6,h6{font-size:var(--heading-6);line-height:1.4}.p,p{color:var(--p-color);font-size:var(--p-font-size);line-height:var(--p-line-height);margin-block-end:var(--p-margin-block-start)}.p,p:last-child{margin-block-end:0}.a,a{color:var(--a-color);font-size:var(--a-font-size);text-decoration-style:var(--a-text-decoration-style);text-decoration-thickness:var(--a-text-decoration-thickness);text-underline-offset:var(--a-text-underline-offset)}a:is(:hover,:focus){color:var(--c-black);text-decoration-style:var(--a-text-decoration-style-hover)}:is(a[href^="tel:"]:not([class]),a[href^="mailto:"]:not([class]),a[download]:not([class]),a[href^="http://"]:not([class]),a[href^="https://"]:not([class])):not(:has(img)):after{background-repeat:no-repeat;background-size:contain;color:var(--a-color);content:" ";display:inline-block;height:1em;margin-inline:.25rem;vertical-align:middle;width:1em}a[href^="tel:"]:after{background-image:url(../../assets/icons/square-phone-solid-full.svg)}a[href^="mailto:"]:after{background-image:url(../../assets/icons/envelope-regular-full.svg)}a[download]:after{background-image:url(../../assets/icons/download-solid-full.svg)}a[href^="http://"]:after,a[href^="https://"]:after{background-image:url(../../assets/icons/arrow-up-right-from-square-solid-full.svg)}
@@ -0,0 +1 @@
1
+ @layer base{*,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;text-rendering:optimizespeed}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{display:block;max-width:100%}button,input,select,textarea{font:inherit}html{scroll-behavior:smooth}body{background-color:var(--body-background-color);line-height:var(--body-line-height);margin:0;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--body-color);font-family:var(--body-font-family);font-size:var(--body-font-size);overflow-x:hidden;text-rendering:optimizelegibility}}@layer base{}@layer base{:is(a,button,input,textarea,summary){--outline-size:max(2px,0.08em);--outline-style:solid;--outline-color:currentcolor}:is(a,button,input,textarea,summary):focus{outline:var(--outline-size) var(--outline-style) var(--outline-color);outline-offset:var(--outline-offset,var(--outline-size))}:is(a,button,input,textarea,summary):focus-visible{outline:var(--outline-size) var(--outline-style) var(--outline-color);outline-offset:var(--outline-offset,var(--outline-size))}:is(a,button,input,textarea,summary):focus:not(:focus-visible){outline:none}}@layer base{.h1,h1{font-size:var(--heading-1);line-height:1.1}.h1,.h2,h1,h2{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h2,h2{font-size:var(--heading-2);line-height:1.15}.h3,h3{font-size:var(--heading-3);line-height:1.2}.h3,.h4,h3,h4{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h4,h4{font-size:var(--heading-4);line-height:1.25}.h5,h5{font-size:var(--heading-5);line-height:1.3}.h5,.h6,h5,h6{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h6,h6{font-size:var(--heading-6);line-height:1.4}.p,p{color:var(--p-color);font-size:var(--p-font-size);line-height:var(--p-line-height);margin-block-end:var(--p-margin-block-start)}.p,p:last-child{margin-block-end:0}.a,a{color:var(--a-color);font-size:var(--a-font-size);text-decoration-style:var(--a-text-decoration-style);text-decoration-thickness:var(--a-text-decoration-thickness);text-underline-offset:var(--a-text-underline-offset)}a:is(:hover,:focus){color:var(--c-black);text-decoration-style:var(--a-text-decoration-style-hover)}:is(a[href^="tel:"]:not([class]),a[href^="mailto:"]:not([class]),a[download]:not([class]),a[href^="http://"]:not([class]),a[href^="https://"]:not([class])):not(:has(img)):after{background-repeat:no-repeat;background-size:contain;color:var(--a-color);content:" ";display:inline-block;height:1em;margin-inline:.25rem;vertical-align:middle;width:1em}a[href^="tel:"]:after{background-image:url(../../assets/icons/square-phone-solid-full.svg)}a[href^="mailto:"]:after{background-image:url(../../assets/icons/envelope-regular-full.svg)}a[download]:after{background-image:url(../../assets/icons/download-solid-full.svg)}a[href^="http://"]:after,a[href^="https://"]:after{background-image:url(../../assets/icons/arrow-up-right-from-square-solid-full.svg)}}
@@ -0,0 +1 @@
1
+ .badge{background-color:var(--badge-background-color);border-color:var(--badge-border-color);border-radius:var(--badge-border-radius);border-style:var(--badge-border-style);border-width:var(--badge-border-width);color:var(--badge-color);display:inline-flex;font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding-block:var(--badge-padding-block);padding-inline:var(--badge-padding-inline)}.badge-white{--badge-background-color:var(--c-white);--badge-color:var(--c-white-background-color-emphasis);--badge-border-width:1px;--badge-border-style:solid;--badge-border-color:var(--c-white-300)}.badge-primary{--badge-background-color:var(--c-primary);--badge-color:var(--c-primary-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-secondary{--badge-background-color:var(--c-secondary);--badge-color:var(--c-secondary-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-success{--badge-background-color:var(--c-success);--badge-color:var(--c-success-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-info{--badge-background-color:var(--c-info);--badge-color:var(--c-info-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-warning{--badge-background-color:var(--c-warning);--badge-color:var(--c-warning-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-danger{--badge-background-color:var(--c-danger);--badge-color:var(--c-danger-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}
@@ -0,0 +1 @@
1
+ .skeleton-line{background-color:var(--c-white-200);border-radius:var(--border-radius-md);display:block;height:.75rem}
@@ -0,0 +1 @@
1
+ @layer components{.badge{background-color:var(--badge-background-color);border-color:var(--badge-border-color);border-radius:var(--badge-border-radius);border-style:var(--badge-border-style);border-width:var(--badge-border-width);color:var(--badge-color);display:inline-flex;font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding-block:var(--badge-padding-block);padding-inline:var(--badge-padding-inline)}.badge-white{--badge-background-color:var(--c-white);--badge-color:var(--c-white-background-color-emphasis);--badge-border-width:1px;--badge-border-style:solid;--badge-border-color:var(--c-white-300)}.badge-primary{--badge-background-color:var(--c-primary);--badge-color:var(--c-primary-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-secondary{--badge-background-color:var(--c-secondary);--badge-color:var(--c-secondary-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-success{--badge-background-color:var(--c-success);--badge-color:var(--c-success-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-info{--badge-background-color:var(--c-info);--badge-color:var(--c-info-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-warning{--badge-background-color:var(--c-warning);--badge-color:var(--c-warning-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-danger{--badge-background-color:var(--c-danger);--badge-color:var(--c-danger-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.skeleton-line{background-color:var(--c-white-200);border-radius:var(--border-radius-md);display:block;height:.75rem}}@layer components{}
@@ -0,0 +1 @@
1
+ .activity{gap:var(--spacer-n2);justify-content:space-between}.activity,.activity-list{display:flex;flex-direction:column;height:100%}.activity-list{gap:var(--spacer-3);list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.activity-list-item{width:100%}.activity-list-item-link{border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;display:flex;flex-direction:column;gap:var(--spacer);min-height:10rem;padding-block:1.5rem;padding-inline:1.5rem;text-decoration:none;transition:border-color var(--transition-duration)}.activity-list-item-link:focus-visible,.activity-list-item-link:hover{border-color:var(--c-primary-hover)}.activity-list-item-link-title{font-weight:700}.activity-list-item-link-language{align-items:center;display:flex;gap:var(--spacer-n2)}.activity-list-item-link-language-dot{background-color:var(--c-white-200);border-radius:var(--border-radius-full);display:inline-block;height:.75rem;width:.75rem}.activity-list-item-link-language.state-closed .activity-list-item-link-language-dot{background-color:var(--c-danger)}.activity-list-item-link-language.state-open .activity-list-item-link-language-dot{background-color:var(--c-success)}.activity-section-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--spacer);justify-content:space-between;margin-bottom:var(--spacer-n1)}
@@ -0,0 +1 @@
1
+ .github-projects-list{list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.github-projects-list-item{width:100%}.github-projects-list-item-link{border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;display:flex;flex-direction:column;gap:var(--spacer);height:100%;justify-content:space-between;overflow:hidden;padding-block:1.5rem;padding-inline:1.5rem;position:relative;text-decoration:none;transition:border-color var(--transition-duration)}.github-projects-list-item-link:focus-visible,.github-projects-list-item-link:hover{border-color:var(--c-primary-hover)}.github-projects-list-item-link-star{align-items:center;background-color:var(--c-white-200);border-radius:0 0 0 var(--border-radius-md);display:flex;gap:.25rem;padding-block:.25rem;padding-inline:1rem;position:absolute;right:0;top:0}.github-projects-list-item-link-title{font-weight:700}.github-projects-list-item-link-language{align-items:center;display:flex;gap:var(--spacer-n2)}.github-projects-list-item-link-language-dot{background-color:var(--c-white-200);border-radius:var(--border-radius-full);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--c-black) 12%,transparent);display:inline-block;height:.75rem;width:.75rem}
@@ -0,0 +1 @@
1
+ .header{display:grid;gap:var(--spacer);max-width:48rem}.header-subtitle{position:relative;width:-moz-fit-content;width:fit-content}.header-subtitle:before{background:var(--c-white-200);background:linear-gradient(90deg,var(--c-white-200) 0,var(--c-white) 90%);border-radius:var(--border-radius-md);content:"";height:100%;left:0;position:absolute;rotate:3deg;top:0;width:100%;z-index:-1}.header-social-links{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--spacer-2)}
@@ -0,0 +1 @@
1
+ .section-contact{background:var(--c-white-200);background:linear-gradient(90deg,var(--c-white-200) 0,var(--c-white) 90%);border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;color:var(--c-white-200-background-color-emphasis);padding-block:3.5rem;padding-inline:1.5rem}
@@ -0,0 +1 @@
1
+ @layer elements{.github-projects-list{list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.github-projects-list-item{width:100%}.github-projects-list-item-link{border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;display:flex;flex-direction:column;gap:var(--spacer);height:100%;justify-content:space-between;overflow:hidden;padding-block:1.5rem;padding-inline:1.5rem;position:relative;text-decoration:none;transition:border-color var(--transition-duration)}.github-projects-list-item-link:focus-visible,.github-projects-list-item-link:hover{border-color:var(--c-primary-hover)}.github-projects-list-item-link-star{align-items:center;background-color:var(--c-white-200);border-radius:0 0 0 var(--border-radius-md);display:flex;gap:.25rem;padding-block:.25rem;padding-inline:1rem;position:absolute;right:0;top:0}.github-projects-list-item-link-title{font-weight:700}.github-projects-list-item-link-language{align-items:center;display:flex;gap:var(--spacer-n2)}.github-projects-list-item-link-language-dot{background-color:var(--c-white-200);border-radius:var(--border-radius-full);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--c-black) 12%,transparent);display:inline-block;height:.75rem;width:.75rem}.activity{gap:var(--spacer-n2);justify-content:space-between}.activity,.activity-list{display:flex;flex-direction:column;height:100%}.activity-list{gap:var(--spacer-3);list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.activity-list-item{width:100%}.activity-list-item-link{border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;display:flex;flex-direction:column;gap:var(--spacer);min-height:10rem;padding-block:1.5rem;padding-inline:1.5rem;text-decoration:none;transition:border-color var(--transition-duration)}}@layer elements{.activity-list-item-link:focus-visible,.activity-list-item-link:hover{border-color:var(--c-primary-hover)}.activity-list-item-link-title{font-weight:700}.activity-list-item-link-language{align-items:center;display:flex;gap:var(--spacer-n2)}.activity-list-item-link-language-dot{background-color:var(--c-white-200);border-radius:var(--border-radius-full);display:inline-block;height:.75rem;width:.75rem}.activity-list-item-link-language.state-closed .activity-list-item-link-language-dot{background-color:var(--c-danger)}.activity-list-item-link-language.state-open .activity-list-item-link-language-dot{background-color:var(--c-success)}.activity-section-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--spacer);justify-content:space-between;margin-bottom:var(--spacer-n1)}.section-contact{background:var(--c-white-200);background:linear-gradient(90deg,var(--c-white-200) 0,var(--c-white) 90%);border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;color:var(--c-white-200-background-color-emphasis);padding-block:3.5rem;padding-inline:1.5rem}.header{display:grid;gap:var(--spacer);max-width:48rem}.header-subtitle{position:relative;width:-moz-fit-content;width:fit-content}.header-subtitle:before{background:var(--c-white-200);background:linear-gradient(90deg,var(--c-white-200) 0,var(--c-white) 90%);border-radius:var(--border-radius-md);content:"";height:100%;left:0;position:absolute;rotate:3deg;top:0;width:100%;z-index:-1}.header-social-links{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--spacer-2)}}@layer elements{}@layer elements{}
@@ -0,0 +1 @@
1
+ picture{position:relative}img{border-radius:var(--border-radius-sm);height:auto;max-width:100%}
@@ -0,0 +1 @@
1
+ svg{fill:currentcolor;height:var(--svg-height);width:var(--svg-width)}
@@ -0,0 +1 @@
1
+ @layer html{svg{fill:currentcolor;height:var(--svg-height);width:var(--svg-width)}picture{position:relative}img{border-radius:var(--border-radius-sm);height:auto;max-width:100%}}@layer html{}
@@ -0,0 +1 @@
1
+ .container{margin-inline:auto}.container,.container-fluid{width:min(1080px,100% - var(--spacer-3))}
@@ -0,0 +1 @@
1
+ .row{display:grid;gap:var(--spacer);grid-template-columns:repeat(12,1fr)}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}@media screen and (max-width:992px){.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{grid-column:span 12}}
@@ -0,0 +1 @@
1
+ @layer layout{.container{margin-inline:auto}.container,.container-fluid{width:min(1080px,100% - var(--spacer-3))}.row{display:grid;gap:var(--spacer);grid-template-columns:repeat(12,1fr)}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}}@layer layout{@media screen and (max-width:992px){.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{grid-column:span 12}}}
@@ -0,0 +1 @@
1
+ @layer variables, theme, base, layout, html, elements, components, utilities;@layer theme{@layer theme{:root{--c-white:#fff;--c-black:#1c222e;--c-gray:#4e596a;--c-primary:#216e7d;--c-secondary:#353b48;--c-success:#27ae60;--c-info:#0dccf2;--c-warning:#ffc105;--c-danger:#dc3848;--c-white-100:#f6f7fb;--c-white-100-hover:color-mix(in oklab,var(--c-white-100) 70%,var(--c-white-100));--c-white-100-background-color-emphasis:var(--c-black);--c-white-200:#efefef;--c-white-200-hover:color-mix(in oklab,var(--c-white-200) 70%,var(--c-white-200));--c-white-200-background-color-emphasis:var(--c-black);--c-white-hover:color-mix(in oklab,var(--c-white) 70%,var(--c-white));--c-white-background-color-emphasis:var(--c-black);--c-black-hover:color-mix(in oklab,var(--c-black) 70%,var(--c-black));--c-black-background-color-emphasis:var(--c-white);--c-gray-hover:color-mix(in oklab,var(--c-black) 70%,var(--c-black));--c-gray-background-color-emphasis:var(--c-white);--c-primary-hover:color-mix(in oklab,var(--c-primary) 70%,var(--c-white));--c-primary-background-color-emphasis:var(--c-white);--c-secondary-hover:color-mix(in oklab,var(--c-secondary) 70%,var(--c-white));--c-secondary-background-color-emphasis:var(--c-white);--c-success-hover:color-mix(in oklab,var(--c-success) 70%,var(--c-white));--c-success-background-color-emphasis:var(--c-white);--c-info-hover:color-mix(in oklab,var(--c-info) 70%,var(--c-white));--c-info-background-color-emphasis:var(--c-white);--c-warning-hover:color-mix(in oklab,var(--c-warning) 70%,var(--c-white));--c-warning-background-color-emphasis:var(--c-white);--c-danger-hover:color-mix(in oklab,var(--c-danger) 70%,var(--c-white));--c-danger-background-color-emphasis:var(--c-white)}.dark{--c-white:#1c222e;--c-black:#fff;--c-primary:#474f58;--c-secondary:#d2e0fb;--c-success:#27ae60;--c-info:#0dccf2;--c-warning:#ffc105;--c-danger:#dc3848;--c-white-100:#151515;--c-white-200:#2c2c2d;--c-black-100:#302c40;--c-black-300:#4a455a;--c-white-400:#423e4e;--c-primary-background-color-emphasis:var(--c-black);--c-secondary-background-color-emphasis:var(--c-black);--c-success-background-color-emphasis:var(--c-white);--c-info-background-color-emphasis:var(--c-white);--c-warning-background-color-emphasis:var(--c-white);--c-danger-background-color-emphasis:var(--c-white)}}}@layer variables{@layer variables{:root{--spacer-n3:0.5rem;--spacer-n2:0.5rem;--spacer-n1:0.875rem;--spacer:1rem;--spacer-1:calc(var(--spacer)*1.25);--spacer-2:calc(var(--spacer)*1.5);--spacer-3:calc(var(--spacer)*2);--spacer-4:calc(var(--spacer)*6);--grid-spacing:var(--spacer-4);--container-spacer:var(--spacer);--heading-1:clamp(1.75rem,2.8vw,2rem);--heading-2:clamp(1.5rem,2.6vw,1.75rem);--heading-3:clamp(1.375rem,2.4vw,1.625rem);--heading-4:clamp(1.25rem,2.2vw,1.5rem);--heading-5:clamp(1.125rem,2vw,1.375rem);--heading-6:var(--fs-md);--heading-font-family:"Lora",system-ui,-apple-system,"Segoe UI",roboto,helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--fs-xs:0.875rem;--fs-sm:1rem;--fs-md:1.375rem;--fs-lg:clamp(1.125rem,2.2vw,1.5rem);--fs-xl:clamp(1.25rem,2.2vw,1765rem);--a-color:var(--c-black);--a-color-hover:var(--c-black);--a-text-decoration-style:dashed;--a-text-decoration-style-hover:solid;--a-text-decoration-thickness:0.125rem;--a-text-underline-offset:0.5rem;--a-font-size:var(--fs-md);--p-margin-block-start:var(--spacer-n2);--p-line-height:var(--large-line-height);--p-font-size:var(--fs-md);--p-color:var(--c-gray);--svg-width:1em;--svg-height:1em;--base-line-height:1.5;--large-line-height:1.8125;--transition-duration:0.3s;--transition-decorative-duration:0.1s;--focus-default:0 0 0 0.125em var(--c-white),0 0 0 0.25em var(--c-primary);--border-radius-sm:0.5rem;--border-radius-md:1rem;--border-radius-lg:1.5rem;--border-radius-xl:2rem;--border-radius-full:50%;--box-shadow-default:0 0.375rem 1rem -0.5rem rgba(0,0,0,.1);--body-background-color:var(--c-white);--body-line-height:var(--base-line-height);--body-color:var(--c-black);--body-font-size:var(--fs-md);--body-font-family:system-ui,-apple-system,"Segoe UI",roboto,helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--badge-padding-block:0.5rem;--badge-padding-inline:1rem;--badge-border-radius:var(--border-radius-sm);--badge-font-size:var(--fs-xs);--badge-font-weight:600}}}@layer base{}@layer base{@layer base{*,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;text-rendering:optimizespeed}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{display:block;max-width:100%}button,input,select,textarea{font:inherit}html{scroll-behavior:smooth}body{background-color:var(--body-background-color);line-height:var(--body-line-height);margin:0;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--body-color);font-family:var(--body-font-family);font-size:var(--body-font-size);overflow-x:hidden;text-rendering:optimizelegibility}}}@layer base{@layer base{}}@layer base{@layer base{:is(a,button,input,textarea,summary){--outline-size:max(2px,0.08em);--outline-style:solid;--outline-color:currentcolor}:is(a,button,input,textarea,summary):focus{outline:var(--outline-size) var(--outline-style) var(--outline-color);outline-offset:var(--outline-offset,var(--outline-size))}:is(a,button,input,textarea,summary):focus-visible{outline:var(--outline-size) var(--outline-style) var(--outline-color);outline-offset:var(--outline-offset,var(--outline-size))}:is(a,button,input,textarea,summary):focus:not(:focus-visible){outline:none}}}@layer base{@layer base{.h1,h1{font-size:var(--heading-1);line-height:1.1}.h1,.h2,h1,h2{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h2,h2{font-size:var(--heading-2);line-height:1.15}.h3,h3{font-size:var(--heading-3);line-height:1.2}.h3,.h4,h3,h4{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h4,h4{font-size:var(--heading-4);line-height:1.25}.h5,h5{font-size:var(--heading-5);line-height:1.3}.h5,.h6,h5,h6{display:block;font-family:var(--heading-font-family);font-weight:700;margin-block-end:var(--spacer)}.h6,h6{font-size:var(--heading-6);line-height:1.4}.p,p{color:var(--p-color);font-size:var(--p-font-size);line-height:var(--p-line-height);margin-block-end:var(--p-margin-block-start)}.p,p:last-child{margin-block-end:0}.a,a{color:var(--a-color);font-size:var(--a-font-size);text-decoration-style:var(--a-text-decoration-style);text-decoration-thickness:var(--a-text-decoration-thickness);text-underline-offset:var(--a-text-underline-offset)}a:is(:hover,:focus){color:var(--c-black);text-decoration-style:var(--a-text-decoration-style-hover)}:is(a[href^="tel:"]:not([class]),a[href^="mailto:"]:not([class]),a[download]:not([class]),a[href^="http://"]:not([class]),a[href^="https://"]:not([class])):not(:has(img)):after{background-repeat:no-repeat;background-size:contain;color:var(--a-color);content:" ";display:inline-block;height:1em;margin-inline:.25rem;vertical-align:middle;width:1em}a[href^="tel:"]:after{background-image:url(../../assets/icons/square-phone-solid-full.svg)}a[href^="mailto:"]:after{background-image:url(../../assets/icons/envelope-regular-full.svg)}a[download]:after{background-image:url(../../assets/icons/download-solid-full.svg)}a[href^="http://"]:after,a[href^="https://"]:after{background-image:url(../../assets/icons/arrow-up-right-from-square-solid-full.svg)}}}@layer layout{}@layer layout{@layer layout{.container{margin-inline:auto}.container,.container-fluid{width:min(1080px,100% - var(--spacer-3))}.row{display:grid;gap:var(--spacer);grid-template-columns:repeat(12,1fr)}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}}}@layer layout{@layer layout{@media screen and (max-width:992px){.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{grid-column:span 12}}}}@layer html{}@layer html{@layer html{svg{fill:currentcolor;height:var(--svg-height);width:var(--svg-width)}picture{position:relative}img{border-radius:var(--border-radius-sm);height:auto;max-width:100%}}}@layer html{@layer html{}}@layer elements{}@layer elements{@layer elements{.github-projects-list{list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.github-projects-list-item{width:100%}.github-projects-list-item-link{border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;display:flex;flex-direction:column;gap:var(--spacer);height:100%;justify-content:space-between;overflow:hidden;padding-block:1.5rem;padding-inline:1.5rem;position:relative;text-decoration:none;transition:border-color var(--transition-duration)}.github-projects-list-item-link:focus-visible,.github-projects-list-item-link:hover{border-color:var(--c-primary-hover)}.github-projects-list-item-link-star{align-items:center;background-color:var(--c-white-200);border-radius:0 0 0 var(--border-radius-md);display:flex;gap:.25rem;padding-block:.25rem;padding-inline:1rem;position:absolute;right:0;top:0}.github-projects-list-item-link-title{font-weight:700}.github-projects-list-item-link-language{align-items:center;display:flex;gap:var(--spacer-n2)}.github-projects-list-item-link-language-dot{background-color:var(--c-white-200);border-radius:var(--border-radius-full);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--c-black) 12%,transparent);display:inline-block;height:.75rem;width:.75rem}.activity{gap:var(--spacer-n2);justify-content:space-between}.activity,.activity-list{display:flex;flex-direction:column;height:100%}.activity-list{gap:var(--spacer-3);list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.activity-list-item{width:100%}.activity-list-item-link{border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;display:flex;flex-direction:column;gap:var(--spacer);min-height:10rem;padding-block:1.5rem;padding-inline:1.5rem;text-decoration:none;transition:border-color var(--transition-duration)}}}@layer elements{@layer elements{.activity-list-item-link:focus-visible,.activity-list-item-link:hover{border-color:var(--c-primary-hover)}.activity-list-item-link-title{font-weight:700}.activity-list-item-link-language{align-items:center;display:flex;gap:var(--spacer-n2)}.activity-list-item-link-language-dot{background-color:var(--c-white-200);border-radius:var(--border-radius-full);display:inline-block;height:.75rem;width:.75rem}.activity-list-item-link-language.state-closed .activity-list-item-link-language-dot{background-color:var(--c-danger)}.activity-list-item-link-language.state-open .activity-list-item-link-language-dot{background-color:var(--c-success)}.activity-section-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--spacer);justify-content:space-between;margin-bottom:var(--spacer-n1)}.section-contact{background:var(--c-white-200);background:linear-gradient(90deg,var(--c-white-200) 0,var(--c-white) 90%);border-color:var(--c-white-200);border-radius:var(--border-radius-md);border-style:solid;border-width:1px;color:var(--c-white-200-background-color-emphasis);padding-block:3.5rem;padding-inline:1.5rem}.header{display:grid;gap:var(--spacer);max-width:48rem}.header-subtitle{position:relative;width:-moz-fit-content;width:fit-content}.header-subtitle:before{background:var(--c-white-200);background:linear-gradient(90deg,var(--c-white-200) 0,var(--c-white) 90%);border-radius:var(--border-radius-md);content:"";height:100%;left:0;position:absolute;rotate:3deg;top:0;width:100%;z-index:-1}.header-social-links{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--spacer-2)}}}@layer elements{@layer elements{}}@layer elements{@layer elements{}}@layer components{}@layer components{@layer components{.badge{background-color:var(--badge-background-color);border-color:var(--badge-border-color);border-radius:var(--badge-border-radius);border-style:var(--badge-border-style);border-width:var(--badge-border-width);color:var(--badge-color);display:inline-flex;font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);padding-block:var(--badge-padding-block);padding-inline:var(--badge-padding-inline)}.badge-white{--badge-background-color:var(--c-white);--badge-color:var(--c-white-background-color-emphasis);--badge-border-width:1px;--badge-border-style:solid;--badge-border-color:var(--c-white-300)}.badge-primary{--badge-background-color:var(--c-primary);--badge-color:var(--c-primary-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-secondary{--badge-background-color:var(--c-secondary);--badge-color:var(--c-secondary-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-success{--badge-background-color:var(--c-success);--badge-color:var(--c-success-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-info{--badge-background-color:var(--c-info);--badge-color:var(--c-info-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-warning{--badge-background-color:var(--c-warning);--badge-color:var(--c-warning-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.badge-danger{--badge-background-color:var(--c-danger);--badge-color:var(--c-danger-background-color-emphasis);--badge-border-width:0;--badge-border-style:initial;--badge-border-color:none}.skeleton-line{background-color:var(--c-white-200);border-radius:var(--border-radius-md);display:block;height:.75rem}}}@layer components{@layer components{}}@layer utilities{}@layer utilities{@layer utilities{.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-4{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-5{-webkit-line-clamp:5}.line-clamp-5,.line-clamp-6{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6}.line-clamp-7{-webkit-line-clamp:7}.line-clamp-7,.line-clamp-8{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-8{-webkit-line-clamp:8}.bg-white{background-color:var(--c-white);color:var(--c-white-background-color-emphasis)}.bg-white-100{background-color:var(--c-white-100);color:var(--c-white-100-background-color-emphasis)}.bg-white-200{background-color:var(--c-white-200);color:var(--c-white-200-background-color-emphasis)}.bg-black{background-color:var(--c-black);color:var(--c-black-background-color-emphasis)}.bg-gray{background-color:var(--c-gray);color:var(--c-gray-background-color-emphasis)}.bg-beige{background-color:var(--c-beige);color:var(--c-beige-background-color-emphasis)}.bg-primary{background-color:var(--c-primary);color:var(--c-primary-background-color-emphasis)}.bg-secondary{background-color:var(--c-secondary);color:var(--c-secondary-background-color-emphasis)}.bg-success{background-color:var(--c-success);color:var(--c-success-background-color-emphasis)}.bg-info{background-color:var(--c-info);color:var(--c-info-background-color-emphasis)}.bg-warning{background-color:var(--c-warning);color:var(--c-warning-background-color-emphasis)}.bg-danger{background-color:var(--c-danger);color:var(--c-danger-background-color-emphasis)}.text-white{color:var(--c-white)}.text-white-100{color:var(--c-white-100)}.text-white-200{color:var(--c-white-200)}.text-black{color:var(--c-black)}.text-gray{color:var(--c-gray)}.text-beige{color:var(--c-beige)}.text-primary{color:var(--c-primary)}.text-secondary{color:var(--c-secondary)}.text-success{color:var(--c-success)}.text-info{color:var(--c-info)}.text-warning{color:var(--c-warning)}.text-danger{color:var(--c-danger)}.mx-auto{margin:0 auto}.m-0{margin:0}.m-n1{margin:var(--spacer-n1)}.m-n2{margin:var(--spacer-n2)}.m-1{margin:var(--spacer-1)}.m-2{margin:var(--spacer-2)}.m-3{margin:var(--spacer-3)}.m-4{margin:var(--spacer-4)}.m-default{margin:var(--spacer)}.mt-0{margin-block-start:0}.mt-n1{margin-block-start:var(--spacer-n1)}.mt-n2{margin-block-start:var(--spacer-n2)}.mt-1{margin-block-start:var(--spacer-1)}.mt-2{margin-block-start:var(--spacer-2)}.mt-3{margin-block-start:var(--spacer-3)}.mt-4{margin-block-start:var(--spacer-4)}.mt-default{margin-block-start:var(--spacer)}.mb-0{margin-block-end:0}.mb-n1{margin-block-end:var(--spacer-n1)}.mb-n2{margin-block-end:var(--spacer-n2)}.mb-1{margin-block-end:var(--spacer-1)}.mb-2{margin-block-end:var(--spacer-2)}.mb-3{margin-block-end:var(--spacer-3)}.mb-4{margin-block-end:var(--spacer-4)}.mb-default{margin-block-end:var(--spacer)}.ml-0{margin-inline-start:0}.ml-n1{margin-inline-start:var(--spacer-n1)}.ml-n2{margin-inline-start:var(--spacer-n2)}.ml-1{margin-inline-start:var(--spacer-1)}.ml-2{margin-inline-start:var(--spacer-2)}.ml-3{margin-inline-start:var(--spacer-3)}.ml-4{margin-inline-start:var(--spacer-4)}.ml-default{margin-inline-start:var(--spacer)}.mr-0{margin-inline-end:0}.mr-n1{margin-inline-end:var(--spacer-n1)}.mr-n2{margin-inline-end:var(--spacer-n2)}.mr-1{margin-inline-end:var(--spacer-1)}.mr-2{margin-inline-end:var(--spacer-2)}.mr-3{margin-inline-end:var(--spacer-3)}.mr-4{margin-inline-end:var(--spacer-4)}.mr-default{margin-inline-end:var(--spacer)}.mx-0{margin-inline:0}.mx-n1{margin-inline:var(--spacer-n1)}.mx-n2{margin-inline:var(--spacer-n2)}.mx-1{margin-inline:var(--spacer-1)}.mx-2{margin-inline:var(--spacer-2)}.mx-3{margin-inline:var(--spacer-3)}.mx-4{margin-inline:var(--spacer-4)}.mx-default{margin-inline:var(--spacer)}.my-0{margin-block:0}.my-n1{margin-block:var(--spacer-n1)}.my-n2{margin-block:var(--spacer-n2)}.my-1{margin-block:var(--spacer-1)}.my-2{margin-block:var(--spacer-2)}.my-3{margin-block:var(--spacer-3)}.my-4{margin-block:var(--spacer-4)}.my-default{margin-block:var(--spacer)}.p-0{padding:0}.p-n1{padding:var(--spacer-n1)}.p-n2{padding:var(--spacer-n2)}.p-1{padding:var(--spacer-1)}.p-2{padding:var(--spacer-2)}.p-3{padding:var(--spacer-3)}.p-4{padding:var(--spacer-4)}.p-default{padding:var(--spacer)}.pt-0{padding-block-start:0}.pt-n1{padding-block-start:var(--spacer-n1)}.pt-n2{padding-block-start:var(--spacer-n2)}.pt-1{padding-block-start:var(--spacer-1)}.pt-2{padding-block-start:var(--spacer-2)}.pt-3{padding-block-start:var(--spacer-3)}.pt-4{padding-block-start:var(--spacer-4)}.pt-default{padding-block-start:var(--spacer)}.pb-0{padding-block-end:0}.pb-n1{padding-block-end:var(--spacer-n1)}.pb-n2{padding-block-end:var(--spacer-n2)}.pb-1{padding-block-end:var(--spacer-1)}.pb-2{padding-block-end:var(--spacer-2)}.pb-3{padding-block-end:var(--spacer-3)}.pb-4{padding-block-end:var(--spacer-4)}.pb-default{padding-block-end:var(--spacer)}.pl-0{padding-inline-start:0}.pl-n1{padding-inline-start:var(--spacer-n1)}.pl-n2{padding-inline-start:var(--spacer-n2)}.pl-1{padding-inline-start:var(--spacer-1)}.pl-2{padding-inline-start:var(--spacer-2)}.pl-3{padding-inline-start:var(--spacer-3)}.pl-4{padding-inline-start:var(--spacer-4)}.pl-default{padding-inline-start:var(--spacer)}.pr-0{padding-inline-end:0}.pr-n1{padding-inline-end:var(--spacer-n1)}.pr-n2{padding-inline-end:var(--spacer-n2)}.pr-1{padding-inline-end:var(--spacer-1)}.pr-2{padding-inline-end:var(--spacer-2)}.pr-3{padding-inline-end:var(--spacer-3)}.pr-4{padding-inline-end:var(--spacer-4)}.pr-default{padding-inline-end:var(--spacer)}.px-0{padding-inline:0}.px-n1{padding-inline:var(--spacer-n1)}.px-n2{padding-inline:var(--spacer-n2)}.px-1{padding-inline:var(--spacer-1)}.px-2{padding-inline:var(--spacer-2)}.px-3{padding-inline:var(--spacer-3)}.px-4{padding-inline:var(--spacer-4)}.px-default{padding-inline:var(--spacer)}.py-0{padding-block:0}.py-n1{padding-block:var(--spacer-n1)}.py-n2{padding-block:var(--spacer-n2)}.py-1{padding-block:var(--spacer-1)}.py-2{padding-block:var(--spacer-2)}.py-3{padding-block:var(--spacer-3)}.py-4{padding-block:var(--spacer-4)}.py-default{padding-block:var(--spacer)}.fw-100{font-weight:100}.fw-200{font-weight:200}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration-line:underline}.text-decoration-overline{text-decoration-line:overline}.text-decoration-line-through{text-decoration-line:line-through}.text-decoration-solid{text-decoration-style:solid}.text-decoration-dashed{text-decoration-style:dashed}.text-decoration-dotted{text-decoration-style:dotted}.text-decoration-double{text-decoration-style:double}.text-decoration-wavy{text-decoration-style:wavy}}}@layer utilities{@layer utilities{}}@layer utilities{@layer utilities{}}@layer utilities{@layer utilities{}}@layer utilities{@layer utilities{}}@layer utilities{@layer utilities{}}@layer utilities{@layer utilities{}}@layer utilities{@layer utilities{}}
@@ -0,0 +1 @@
1
+ @layer theme{:root{--c-white:#fff;--c-black:#1c222e;--c-gray:#4e596a;--c-primary:#216e7d;--c-secondary:#353b48;--c-success:#27ae60;--c-info:#0dccf2;--c-warning:#ffc105;--c-danger:#dc3848;--c-white-100:#f6f7fb;--c-white-100-hover:color-mix(in oklab,var(--c-white-100) 70%,var(--c-white-100));--c-white-100-background-color-emphasis:var(--c-black);--c-white-200:#efefef;--c-white-200-hover:color-mix(in oklab,var(--c-white-200) 70%,var(--c-white-200));--c-white-200-background-color-emphasis:var(--c-black);--c-white-hover:color-mix(in oklab,var(--c-white) 70%,var(--c-white));--c-white-background-color-emphasis:var(--c-black);--c-black-hover:color-mix(in oklab,var(--c-black) 70%,var(--c-black));--c-black-background-color-emphasis:var(--c-white);--c-gray-hover:color-mix(in oklab,var(--c-black) 70%,var(--c-black));--c-gray-background-color-emphasis:var(--c-white);--c-primary-hover:color-mix(in oklab,var(--c-primary) 70%,var(--c-white));--c-primary-background-color-emphasis:var(--c-white);--c-secondary-hover:color-mix(in oklab,var(--c-secondary) 70%,var(--c-white));--c-secondary-background-color-emphasis:var(--c-white);--c-success-hover:color-mix(in oklab,var(--c-success) 70%,var(--c-white));--c-success-background-color-emphasis:var(--c-white);--c-info-hover:color-mix(in oklab,var(--c-info) 70%,var(--c-white));--c-info-background-color-emphasis:var(--c-white);--c-warning-hover:color-mix(in oklab,var(--c-warning) 70%,var(--c-white));--c-warning-background-color-emphasis:var(--c-white);--c-danger-hover:color-mix(in oklab,var(--c-danger) 70%,var(--c-white));--c-danger-background-color-emphasis:var(--c-white)}.dark{--c-white:#1c222e;--c-black:#fff;--c-primary:#474f58;--c-secondary:#d2e0fb;--c-success:#27ae60;--c-info:#0dccf2;--c-warning:#ffc105;--c-danger:#dc3848;--c-white-100:#151515;--c-white-200:#2c2c2d;--c-black-100:#302c40;--c-black-300:#4a455a;--c-white-400:#423e4e;--c-primary-background-color-emphasis:var(--c-black);--c-secondary-background-color-emphasis:var(--c-black);--c-success-background-color-emphasis:var(--c-white);--c-info-background-color-emphasis:var(--c-white);--c-warning-background-color-emphasis:var(--c-white);--c-danger-background-color-emphasis:var(--c-white)}}
@@ -0,0 +1 @@
1
+ .bg-white{background-color:var(--c-white);color:var(--c-white-background-color-emphasis)}.bg-white-100{background-color:var(--c-white-100);color:var(--c-white-100-background-color-emphasis)}.bg-white-200{background-color:var(--c-white-200);color:var(--c-white-200-background-color-emphasis)}.bg-black{background-color:var(--c-black);color:var(--c-black-background-color-emphasis)}.bg-gray{background-color:var(--c-gray);color:var(--c-gray-background-color-emphasis)}.bg-beige{background-color:var(--c-beige);color:var(--c-beige-background-color-emphasis)}.bg-primary{background-color:var(--c-primary);color:var(--c-primary-background-color-emphasis)}.bg-secondary{background-color:var(--c-secondary);color:var(--c-secondary-background-color-emphasis)}.bg-success{background-color:var(--c-success);color:var(--c-success-background-color-emphasis)}.bg-info{background-color:var(--c-info);color:var(--c-info-background-color-emphasis)}.bg-warning{background-color:var(--c-warning);color:var(--c-warning-background-color-emphasis)}.bg-danger{background-color:var(--c-danger);color:var(--c-danger-background-color-emphasis)}
@@ -0,0 +1 @@
1
+ .text-white{color:var(--c-white)}.text-white-100{color:var(--c-white-100)}.text-white-200{color:var(--c-white-200)}.text-black{color:var(--c-black)}.text-gray{color:var(--c-gray)}.text-beige{color:var(--c-beige)}.text-primary{color:var(--c-primary)}.text-secondary{color:var(--c-secondary)}.text-success{color:var(--c-success)}.text-info{color:var(--c-info)}.text-warning{color:var(--c-warning)}.text-danger{color:var(--c-danger)}
@@ -0,0 +1 @@
1
+ .text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}
@@ -0,0 +1 @@
1
+ .fw-100{font-weight:100}.fw-200{font-weight:200}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}
@@ -0,0 +1 @@
1
+ .mx-auto{margin:0 auto}.m-0{margin:0}.m-n1{margin:var(--spacer-n1)}.m-n2{margin:var(--spacer-n2)}.m-1{margin:var(--spacer-1)}.m-2{margin:var(--spacer-2)}.m-3{margin:var(--spacer-3)}.m-4{margin:var(--spacer-4)}.m-default{margin:var(--spacer)}.mt-0{margin-block-start:0}.mt-n1{margin-block-start:var(--spacer-n1)}.mt-n2{margin-block-start:var(--spacer-n2)}.mt-1{margin-block-start:var(--spacer-1)}.mt-2{margin-block-start:var(--spacer-2)}.mt-3{margin-block-start:var(--spacer-3)}.mt-4{margin-block-start:var(--spacer-4)}.mt-default{margin-block-start:var(--spacer)}.mb-0{margin-block-end:0}.mb-n1{margin-block-end:var(--spacer-n1)}.mb-n2{margin-block-end:var(--spacer-n2)}.mb-1{margin-block-end:var(--spacer-1)}.mb-2{margin-block-end:var(--spacer-2)}.mb-3{margin-block-end:var(--spacer-3)}.mb-4{margin-block-end:var(--spacer-4)}.mb-default{margin-block-end:var(--spacer)}.ml-0{margin-inline-start:0}.ml-n1{margin-inline-start:var(--spacer-n1)}.ml-n2{margin-inline-start:var(--spacer-n2)}.ml-1{margin-inline-start:var(--spacer-1)}.ml-2{margin-inline-start:var(--spacer-2)}.ml-3{margin-inline-start:var(--spacer-3)}.ml-4{margin-inline-start:var(--spacer-4)}.ml-default{margin-inline-start:var(--spacer)}.mr-0{margin-inline-end:0}.mr-n1{margin-inline-end:var(--spacer-n1)}.mr-n2{margin-inline-end:var(--spacer-n2)}.mr-1{margin-inline-end:var(--spacer-1)}.mr-2{margin-inline-end:var(--spacer-2)}.mr-3{margin-inline-end:var(--spacer-3)}.mr-4{margin-inline-end:var(--spacer-4)}.mr-default{margin-inline-end:var(--spacer)}.mx-0{margin-inline:0}.mx-n1{margin-inline:var(--spacer-n1)}.mx-n2{margin-inline:var(--spacer-n2)}.mx-1{margin-inline:var(--spacer-1)}.mx-2{margin-inline:var(--spacer-2)}.mx-3{margin-inline:var(--spacer-3)}.mx-4{margin-inline:var(--spacer-4)}.mx-default{margin-inline:var(--spacer)}.my-0{margin-block:0}.my-n1{margin-block:var(--spacer-n1)}.my-n2{margin-block:var(--spacer-n2)}.my-1{margin-block:var(--spacer-1)}.my-2{margin-block:var(--spacer-2)}.my-3{margin-block:var(--spacer-3)}.my-4{margin-block:var(--spacer-4)}.my-default{margin-block:var(--spacer)}
@@ -0,0 +1 @@
1
+ .p-0{padding:0}.p-n1{padding:var(--spacer-n1)}.p-n2{padding:var(--spacer-n2)}.p-1{padding:var(--spacer-1)}.p-2{padding:var(--spacer-2)}.p-3{padding:var(--spacer-3)}.p-4{padding:var(--spacer-4)}.p-default{padding:var(--spacer)}.pt-0{padding-block-start:0}.pt-n1{padding-block-start:var(--spacer-n1)}.pt-n2{padding-block-start:var(--spacer-n2)}.pt-1{padding-block-start:var(--spacer-1)}.pt-2{padding-block-start:var(--spacer-2)}.pt-3{padding-block-start:var(--spacer-3)}.pt-4{padding-block-start:var(--spacer-4)}.pt-default{padding-block-start:var(--spacer)}.pb-0{padding-block-end:0}.pb-n1{padding-block-end:var(--spacer-n1)}.pb-n2{padding-block-end:var(--spacer-n2)}.pb-1{padding-block-end:var(--spacer-1)}.pb-2{padding-block-end:var(--spacer-2)}.pb-3{padding-block-end:var(--spacer-3)}.pb-4{padding-block-end:var(--spacer-4)}.pb-default{padding-block-end:var(--spacer)}.pl-0{padding-inline-start:0}.pl-n1{padding-inline-start:var(--spacer-n1)}.pl-n2{padding-inline-start:var(--spacer-n2)}.pl-1{padding-inline-start:var(--spacer-1)}.pl-2{padding-inline-start:var(--spacer-2)}.pl-3{padding-inline-start:var(--spacer-3)}.pl-4{padding-inline-start:var(--spacer-4)}.pl-default{padding-inline-start:var(--spacer)}.pr-0{padding-inline-end:0}.pr-n1{padding-inline-end:var(--spacer-n1)}.pr-n2{padding-inline-end:var(--spacer-n2)}.pr-1{padding-inline-end:var(--spacer-1)}.pr-2{padding-inline-end:var(--spacer-2)}.pr-3{padding-inline-end:var(--spacer-3)}.pr-4{padding-inline-end:var(--spacer-4)}.pr-default{padding-inline-end:var(--spacer)}.px-0{padding-inline:0}.px-n1{padding-inline:var(--spacer-n1)}.px-n2{padding-inline:var(--spacer-n2)}.px-1{padding-inline:var(--spacer-1)}.px-2{padding-inline:var(--spacer-2)}.px-3{padding-inline:var(--spacer-3)}.px-4{padding-inline:var(--spacer-4)}.px-default{padding-inline:var(--spacer)}.py-0{padding-block:0}.py-n1{padding-block:var(--spacer-n1)}.py-n2{padding-block:var(--spacer-n2)}.py-1{padding-block:var(--spacer-1)}.py-2{padding-block:var(--spacer-2)}.py-3{padding-block:var(--spacer-3)}.py-4{padding-block:var(--spacer-4)}.py-default{padding-block:var(--spacer)}
@@ -0,0 +1 @@
1
+ .text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration-line:underline}.text-decoration-overline{text-decoration-line:overline}.text-decoration-line-through{text-decoration-line:line-through}.text-decoration-solid{text-decoration-style:solid}.text-decoration-dashed{text-decoration-style:dashed}.text-decoration-dotted{text-decoration-style:dotted}.text-decoration-double{text-decoration-style:double}.text-decoration-wavy{text-decoration-style:wavy}
@@ -0,0 +1 @@
1
+ .line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-4{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-5{-webkit-line-clamp:5}.line-clamp-5,.line-clamp-6{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6}.line-clamp-7{-webkit-line-clamp:7}.line-clamp-7,.line-clamp-8{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-8{-webkit-line-clamp:8}
@@ -0,0 +1 @@
1
+ @layer utilities{.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-4{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-5{-webkit-line-clamp:5}.line-clamp-5,.line-clamp-6{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6}.line-clamp-7{-webkit-line-clamp:7}.line-clamp-7,.line-clamp-8{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-8{-webkit-line-clamp:8}.bg-white{background-color:var(--c-white);color:var(--c-white-background-color-emphasis)}.bg-white-100{background-color:var(--c-white-100);color:var(--c-white-100-background-color-emphasis)}.bg-white-200{background-color:var(--c-white-200);color:var(--c-white-200-background-color-emphasis)}.bg-black{background-color:var(--c-black);color:var(--c-black-background-color-emphasis)}.bg-gray{background-color:var(--c-gray);color:var(--c-gray-background-color-emphasis)}.bg-beige{background-color:var(--c-beige);color:var(--c-beige-background-color-emphasis)}.bg-primary{background-color:var(--c-primary);color:var(--c-primary-background-color-emphasis)}.bg-secondary{background-color:var(--c-secondary);color:var(--c-secondary-background-color-emphasis)}.bg-success{background-color:var(--c-success);color:var(--c-success-background-color-emphasis)}.bg-info{background-color:var(--c-info);color:var(--c-info-background-color-emphasis)}.bg-warning{background-color:var(--c-warning);color:var(--c-warning-background-color-emphasis)}.bg-danger{background-color:var(--c-danger);color:var(--c-danger-background-color-emphasis)}.text-white{color:var(--c-white)}.text-white-100{color:var(--c-white-100)}.text-white-200{color:var(--c-white-200)}.text-black{color:var(--c-black)}.text-gray{color:var(--c-gray)}.text-beige{color:var(--c-beige)}.text-primary{color:var(--c-primary)}.text-secondary{color:var(--c-secondary)}.text-success{color:var(--c-success)}.text-info{color:var(--c-info)}.text-warning{color:var(--c-warning)}.text-danger{color:var(--c-danger)}.mx-auto{margin:0 auto}.m-0{margin:0}.m-n1{margin:var(--spacer-n1)}.m-n2{margin:var(--spacer-n2)}.m-1{margin:var(--spacer-1)}.m-2{margin:var(--spacer-2)}.m-3{margin:var(--spacer-3)}.m-4{margin:var(--spacer-4)}.m-default{margin:var(--spacer)}.mt-0{margin-block-start:0}.mt-n1{margin-block-start:var(--spacer-n1)}.mt-n2{margin-block-start:var(--spacer-n2)}.mt-1{margin-block-start:var(--spacer-1)}.mt-2{margin-block-start:var(--spacer-2)}.mt-3{margin-block-start:var(--spacer-3)}.mt-4{margin-block-start:var(--spacer-4)}.mt-default{margin-block-start:var(--spacer)}.mb-0{margin-block-end:0}.mb-n1{margin-block-end:var(--spacer-n1)}.mb-n2{margin-block-end:var(--spacer-n2)}.mb-1{margin-block-end:var(--spacer-1)}.mb-2{margin-block-end:var(--spacer-2)}.mb-3{margin-block-end:var(--spacer-3)}.mb-4{margin-block-end:var(--spacer-4)}.mb-default{margin-block-end:var(--spacer)}.ml-0{margin-inline-start:0}.ml-n1{margin-inline-start:var(--spacer-n1)}.ml-n2{margin-inline-start:var(--spacer-n2)}.ml-1{margin-inline-start:var(--spacer-1)}.ml-2{margin-inline-start:var(--spacer-2)}.ml-3{margin-inline-start:var(--spacer-3)}.ml-4{margin-inline-start:var(--spacer-4)}.ml-default{margin-inline-start:var(--spacer)}.mr-0{margin-inline-end:0}.mr-n1{margin-inline-end:var(--spacer-n1)}.mr-n2{margin-inline-end:var(--spacer-n2)}.mr-1{margin-inline-end:var(--spacer-1)}.mr-2{margin-inline-end:var(--spacer-2)}.mr-3{margin-inline-end:var(--spacer-3)}.mr-4{margin-inline-end:var(--spacer-4)}.mr-default{margin-inline-end:var(--spacer)}.mx-0{margin-inline:0}.mx-n1{margin-inline:var(--spacer-n1)}.mx-n2{margin-inline:var(--spacer-n2)}.mx-1{margin-inline:var(--spacer-1)}.mx-2{margin-inline:var(--spacer-2)}.mx-3{margin-inline:var(--spacer-3)}.mx-4{margin-inline:var(--spacer-4)}.mx-default{margin-inline:var(--spacer)}.my-0{margin-block:0}.my-n1{margin-block:var(--spacer-n1)}.my-n2{margin-block:var(--spacer-n2)}.my-1{margin-block:var(--spacer-1)}.my-2{margin-block:var(--spacer-2)}.my-3{margin-block:var(--spacer-3)}.my-4{margin-block:var(--spacer-4)}.my-default{margin-block:var(--spacer)}.p-0{padding:0}.p-n1{padding:var(--spacer-n1)}.p-n2{padding:var(--spacer-n2)}.p-1{padding:var(--spacer-1)}.p-2{padding:var(--spacer-2)}.p-3{padding:var(--spacer-3)}.p-4{padding:var(--spacer-4)}.p-default{padding:var(--spacer)}.pt-0{padding-block-start:0}.pt-n1{padding-block-start:var(--spacer-n1)}.pt-n2{padding-block-start:var(--spacer-n2)}.pt-1{padding-block-start:var(--spacer-1)}.pt-2{padding-block-start:var(--spacer-2)}.pt-3{padding-block-start:var(--spacer-3)}.pt-4{padding-block-start:var(--spacer-4)}.pt-default{padding-block-start:var(--spacer)}.pb-0{padding-block-end:0}.pb-n1{padding-block-end:var(--spacer-n1)}.pb-n2{padding-block-end:var(--spacer-n2)}.pb-1{padding-block-end:var(--spacer-1)}.pb-2{padding-block-end:var(--spacer-2)}.pb-3{padding-block-end:var(--spacer-3)}.pb-4{padding-block-end:var(--spacer-4)}.pb-default{padding-block-end:var(--spacer)}.pl-0{padding-inline-start:0}.pl-n1{padding-inline-start:var(--spacer-n1)}.pl-n2{padding-inline-start:var(--spacer-n2)}.pl-1{padding-inline-start:var(--spacer-1)}.pl-2{padding-inline-start:var(--spacer-2)}.pl-3{padding-inline-start:var(--spacer-3)}.pl-4{padding-inline-start:var(--spacer-4)}.pl-default{padding-inline-start:var(--spacer)}.pr-0{padding-inline-end:0}.pr-n1{padding-inline-end:var(--spacer-n1)}.pr-n2{padding-inline-end:var(--spacer-n2)}.pr-1{padding-inline-end:var(--spacer-1)}.pr-2{padding-inline-end:var(--spacer-2)}.pr-3{padding-inline-end:var(--spacer-3)}.pr-4{padding-inline-end:var(--spacer-4)}.pr-default{padding-inline-end:var(--spacer)}.px-0{padding-inline:0}.px-n1{padding-inline:var(--spacer-n1)}.px-n2{padding-inline:var(--spacer-n2)}.px-1{padding-inline:var(--spacer-1)}.px-2{padding-inline:var(--spacer-2)}.px-3{padding-inline:var(--spacer-3)}.px-4{padding-inline:var(--spacer-4)}.px-default{padding-inline:var(--spacer)}.py-0{padding-block:0}.py-n1{padding-block:var(--spacer-n1)}.py-n2{padding-block:var(--spacer-n2)}.py-1{padding-block:var(--spacer-1)}.py-2{padding-block:var(--spacer-2)}.py-3{padding-block:var(--spacer-3)}.py-4{padding-block:var(--spacer-4)}.py-default{padding-block:var(--spacer)}.fw-100{font-weight:100}.fw-200{font-weight:200}.fw-300{font-weight:300}.fw-400{font-weight:400}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.fw-900{font-weight:900}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration-line:underline}.text-decoration-overline{text-decoration-line:overline}.text-decoration-line-through{text-decoration-line:line-through}.text-decoration-solid{text-decoration-style:solid}.text-decoration-dashed{text-decoration-style:dashed}.text-decoration-dotted{text-decoration-style:dotted}.text-decoration-double{text-decoration-style:double}.text-decoration-wavy{text-decoration-style:wavy}}@layer utilities{}@layer utilities{}@layer utilities{}@layer utilities{}@layer utilities{}@layer utilities{}@layer utilities{}
@@ -0,0 +1 @@
1
+ @layer variables{:root{--spacer-n3:0.5rem;--spacer-n2:0.5rem;--spacer-n1:0.875rem;--spacer:1rem;--spacer-1:calc(var(--spacer)*1.25);--spacer-2:calc(var(--spacer)*1.5);--spacer-3:calc(var(--spacer)*2);--spacer-4:calc(var(--spacer)*6);--grid-spacing:var(--spacer-4);--container-spacer:var(--spacer);--heading-1:clamp(1.75rem,2.8vw,2rem);--heading-2:clamp(1.5rem,2.6vw,1.75rem);--heading-3:clamp(1.375rem,2.4vw,1.625rem);--heading-4:clamp(1.25rem,2.2vw,1.5rem);--heading-5:clamp(1.125rem,2vw,1.375rem);--heading-6:var(--fs-md);--heading-font-family:"Lora",system-ui,-apple-system,"Segoe UI",roboto,helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--fs-xs:0.875rem;--fs-sm:1rem;--fs-md:1.375rem;--fs-lg:clamp(1.125rem,2.2vw,1.5rem);--fs-xl:clamp(1.25rem,2.2vw,1765rem);--a-color:var(--c-black);--a-color-hover:var(--c-black);--a-text-decoration-style:dashed;--a-text-decoration-style-hover:solid;--a-text-decoration-thickness:0.125rem;--a-text-underline-offset:0.5rem;--a-font-size:var(--fs-md);--p-margin-block-start:var(--spacer-n2);--p-line-height:var(--large-line-height);--p-font-size:var(--fs-md);--p-color:var(--c-gray);--svg-width:1em;--svg-height:1em;--base-line-height:1.5;--large-line-height:1.8125;--transition-duration:0.3s;--transition-decorative-duration:0.1s;--focus-default:0 0 0 0.125em var(--c-white),0 0 0 0.25em var(--c-primary);--border-radius-sm:0.5rem;--border-radius-md:1rem;--border-radius-lg:1.5rem;--border-radius-xl:2rem;--border-radius-full:50%;--box-shadow-default:0 0.375rem 1rem -0.5rem rgba(0,0,0,.1);--body-background-color:var(--c-white);--body-line-height:var(--base-line-height);--body-color:var(--c-black);--body-font-size:var(--fs-md);--body-font-family:system-ui,-apple-system,"Segoe UI",roboto,helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--badge-padding-block:0.5rem;--badge-padding-inline:1rem;--badge-border-radius:var(--border-radius-sm);--badge-font-size:var(--fs-xs);--badge-font-weight:600}}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/package.json",
3
+ "name": "@krudi/styles",
4
+ "version": "0.1.0",
5
+ "private": false,
6
+ "description": "Reusable CSS foundations, components, and utilities extracted from krudi-io for sharing across projects.",
7
+ "keywords": [
8
+ "css",
9
+ "styles",
10
+ "utilities",
11
+ "components",
12
+ "theme",
13
+ "variables"
14
+ ],
15
+ "homepage": "https://github.com/krudi/shared-styles#readme",
16
+ "bugs": {
17
+ "url": "https://github.com/krudi/shared-styles/issues"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/krudi/shared-styles.git"
22
+ },
23
+ "license": "MIT",
24
+ "author": {
25
+ "name": "krudi",
26
+ "email": "patryk.kudlik@gmail.com",
27
+ "url": "https://github.com/krudi"
28
+ },
29
+ "sideEffects": [
30
+ "./**/*.css",
31
+ "./**/*.svg"
32
+ ],
33
+ "type": "module",
34
+ "exports": {
35
+ ".": "./dist/styles/styles.css",
36
+ "./all": "./dist/styles/styles.css",
37
+ "./core": "./dist/styles/styles.css",
38
+ "./theme": "./dist/styles/theme.css",
39
+ "./variables": "./dist/styles/variables.css",
40
+ "./base": "./dist/styles/base/index.css",
41
+ "./layout": "./dist/styles/layout/index.css",
42
+ "./components": "./dist/styles/components/index.css",
43
+ "./utilities": "./dist/styles/utilities/index.css",
44
+ "./html": "./dist/styles/html/index.css",
45
+ "./elements": "./dist/styles/elements/index.css"
46
+ },
47
+ "main": "./dist/styles/styles.css",
48
+ "style": "./dist/styles/styles.css",
49
+ "files": [
50
+ "src",
51
+ "assets",
52
+ "dist",
53
+ "README.md",
54
+ "LICENSE"
55
+ ],
56
+ "scripts": {
57
+ "build": "tsc -b tsconfig.build.json && postcss \"src/styles/**/*.css\" --base src/styles --dir dist/styles --map",
58
+ "clean": "rm -rf .turbo .cache node_modules",
59
+ "dev": "tsc -p tsconfig.json --watch",
60
+ "lint:eslint": "eslint . --cache --cache-location .cache/.eslintcache",
61
+ "lint:eslint:fix": "eslint . --fix --cache --cache-location .cache/.eslintcache",
62
+ "lint:prettier": "prettier --check . --cache --cache-strategy metadata --cache-location .cache/.prettiercache",
63
+ "lint:prettier:fix": "prettier --write . --cache --cache-strategy metadata --cache-location .cache/.prettiercache",
64
+ "lint:stylelint": "stylelint --cache --cache-location .cache/.stylelintcache -c ./stylelint.config.mjs \"**/*.css\"",
65
+ "lint:stylelint:fix": "stylelint --cache --cache-location .cache/.stylelintcache -c ./stylelint.config.mjs --fix \"**/*.css\"",
66
+ "typecheck": "tsc -p tsconfig.json --noEmit"
67
+ },
68
+ "devDependencies": {
69
+ "@krudi/eslint-config": "^0.1.8",
70
+ "@krudi/prettier-config": "^0.1.8",
71
+ "@krudi/stylelint-config": "^0.1.1",
72
+ "@types/node": "^22.18.0",
73
+ "autoprefixer": "^10.4.20",
74
+ "cssnano": "^7.0.6",
75
+ "postcss": "^8.4.49",
76
+ "postcss-cli": "^11.0.0",
77
+ "postcss-import": "^16.1.0",
78
+ "postcss-nesting": "^13.0.1",
79
+ "typescript": "^5.9.2"
80
+ },
81
+ "engines": {
82
+ "node": ">= 22.18.0"
83
+ }
84
+ }
@@ -0,0 +1,3 @@
1
+ // Placeholder entry to keep the TypeScript build pipeline active.
2
+ // Replace or extend with real utilities when TypeScript helpers are added.
3
+ export {};
@@ -0,0 +1,15 @@
1
+ html {
2
+ scroll-behavior: smooth;
3
+ }
4
+
5
+ body {
6
+ margin: 0;
7
+ background-color: var(--body-background-color);
8
+ line-height: var(--body-line-height);
9
+ text-size-adjust: 100%;
10
+ text-rendering: optimizelegibility;
11
+ color: var(--body-color);
12
+ font-family: var(--body-font-family);
13
+ font-size: var(--body-font-size);
14
+ overflow-x: hidden;
15
+ }
@@ -0,0 +1,19 @@
1
+ :is(a, button, input, textarea, summary) {
2
+ --outline-size: max(2px, 0.08em);
3
+ --outline-style: solid;
4
+ --outline-color: currentcolor;
5
+ }
6
+
7
+ :is(a, button, input, textarea, summary):focus {
8
+ outline: var(--outline-size) var(--outline-style) var(--outline-color);
9
+ outline-offset: var(--outline-offset, var(--outline-size));
10
+ }
11
+
12
+ :is(a, button, input, textarea, summary):focus-visible {
13
+ outline: var(--outline-size) var(--outline-style) var(--outline-color);
14
+ outline-offset: var(--outline-offset, var(--outline-size));
15
+ }
16
+
17
+ :is(a, button, input, textarea, summary):focus:not(:focus-visible) {
18
+ outline: none;
19
+ }
@@ -0,0 +1,50 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ body,
8
+ h1,
9
+ h2,
10
+ h3,
11
+ h4,
12
+ p,
13
+ figure,
14
+ blockquote,
15
+ dl,
16
+ dd {
17
+ margin: 0;
18
+ }
19
+
20
+ ul[role='list'],
21
+ ol[role='list'] {
22
+ list-style: none;
23
+ }
24
+
25
+ html:focus-within {
26
+ scroll-behavior: smooth;
27
+ }
28
+
29
+ body {
30
+ min-height: 100vh;
31
+ text-rendering: optimizespeed;
32
+ line-height: 1.5;
33
+ }
34
+
35
+ a:not([class]) {
36
+ text-decoration-skip-ink: auto;
37
+ }
38
+
39
+ img,
40
+ picture {
41
+ max-width: 100%;
42
+ display: block;
43
+ }
44
+
45
+ input,
46
+ button,
47
+ textarea,
48
+ select {
49
+ font: inherit;
50
+ }