@lottecode/lottecss 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,174 @@
1
+ body {
2
+ /* Form container */
3
+
4
+ & form {
5
+ margin-bottom: 1rem;
6
+ }
7
+
8
+ /* Fieldset and Legend */
9
+
10
+ & fieldset {
11
+ /*margin: 0 0 1.5rem 0;*/
12
+ /*padding: 1rem;*/
13
+ /*border: 1px solid var(--color-border);*/
14
+ /*border-radius: 4px;*/
15
+ /*background-color: var(--color-surface);*/
16
+ }
17
+
18
+ & legend {
19
+ width: auto;
20
+ padding: 0 0.5rem;
21
+ font-weight: 600;
22
+ color: var(--color-foreground);
23
+ }
24
+
25
+ /* Form groups */
26
+
27
+ & form div {
28
+ margin-bottom: 1rem;
29
+ }
30
+
31
+ /* Labels */
32
+
33
+ & label {
34
+ display: inline-block;
35
+ margin-bottom: 0.5rem;
36
+ font-weight: 500;
37
+ color: var(--color-foreground);
38
+ }
39
+
40
+ /* Basic inputs */
41
+
42
+ & input[type="text"],
43
+ & input[type="email"],
44
+ & input[type="password"],
45
+ & input[type="number"],
46
+ & input[type="tel"],
47
+ & input[type="url"],
48
+ & input[type="search"] {
49
+ display: block;
50
+ width: 100%;
51
+ padding: 0.25rem 0.5rem;
52
+ line-height: 1.5;
53
+ color: var(--color-foreground);
54
+ background-color: var(--color-background);
55
+ background-clip: padding-box;
56
+ border: 1px solid var(--color-border);
57
+ border-radius: 0;
58
+ transition: border-color 0.15s ease-in-out;
59
+ }
60
+
61
+ & input:focus {
62
+ border-color: var(--color-accent);
63
+ outline: 0;
64
+ box-shadow: 0 0 0 0.2rem var(--color-accent);
65
+ }
66
+
67
+ /* Form controls with validation states */
68
+
69
+ .is-valid {
70
+ border-color: var(--color-success);
71
+ }
72
+
73
+ .is-valid:focus {
74
+ border-color: var(--color-success);
75
+ box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
76
+ }
77
+
78
+ .is-invalid {
79
+ border-color: var(--color-error);
80
+ }
81
+
82
+ .is-invalid:focus {
83
+ border-color: var(--color-error);
84
+ box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
85
+ }
86
+
87
+ /* Other input types */
88
+
89
+ & input[type="date"],
90
+ & input[type="time"],
91
+ & input[type="datetime-local"] {
92
+ display: block;
93
+ width: 100%;
94
+ padding: 0.375rem 0.75rem;
95
+ line-height: 1.5;
96
+ color: var(--color-foreground);
97
+ background-color: var(--color-background);
98
+ background-clip: padding-box;
99
+ border: 1px solid var(--color-border);
100
+ border-radius: 0.25rem;
101
+ }
102
+
103
+ & input[type="radio"],
104
+ & input[type="checkbox"] {
105
+ margin-right: 0.5rem;
106
+ }
107
+
108
+ & input[type="color"] {
109
+ height: 2rem;
110
+ width: 4rem;
111
+ padding: 0.2rem;
112
+ background-color: var(--color-background);
113
+ border: 1px solid var(--color-border);
114
+ }
115
+
116
+ & input[type="range"] {
117
+ width: 100%;
118
+ }
119
+
120
+ /* Select elements */
121
+
122
+ & select {
123
+ display: block;
124
+ width: 100%;
125
+ padding: 0.375rem 0.75rem;
126
+ line-height: 1.5;
127
+ color: var(--color-foreground);
128
+ background-color: var(--color-background);
129
+ background-clip: padding-box;
130
+ border: 1px solid var(--color-border);
131
+ border-radius: 0.25rem;
132
+ }
133
+
134
+ & select[multiple] {
135
+ height: auto;
136
+ }
137
+
138
+ /* Textarea */
139
+
140
+ & textarea {
141
+ display: block;
142
+ width: 100%;
143
+ padding: 0.375rem 0.75rem;
144
+ line-height: 1.5;
145
+ color: var(--color-foreground);
146
+ background-color: var(--color-background);
147
+ background-clip: padding-box;
148
+ border: 1px solid var(--color-border);
149
+ border-radius: 0.25rem;
150
+ resize: vertical;
151
+ }
152
+
153
+ /* Form layout using Grid */
154
+ @media (min-width: 768px) {
155
+ .form-grid {
156
+ display: grid;
157
+ grid-template-columns: 30% 70%;
158
+ gap: 0.5rem;
159
+ align-items: center;
160
+ }
161
+
162
+ .form-grid label {
163
+ grid-column: 1;
164
+ text-align: right;
165
+ margin-bottom: 0;
166
+ }
167
+
168
+ .form-grid input,
169
+ .form-grid select,
170
+ .form-grid textarea {
171
+ grid-column: 2;
172
+ }
173
+ }
174
+ }
@@ -0,0 +1,144 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ body {
8
+ font-family: "Berkeley Mono", monospace;
9
+ font-size: 16px;
10
+ background-color: var(--color-background);
11
+ margin: 0;
12
+ padding: 0;
13
+ -webkit-text-size-adjust: 100%;
14
+ -webkit-tap-highlight-color: var(--color-accent);
15
+ }
16
+
17
+ * {
18
+ border-color: var(--color-border);
19
+ }
20
+
21
+ p + p {
22
+ margin-top: 1rem;
23
+ }
24
+
25
+ h1 {
26
+ font-size: 1.5rem;
27
+ text-transform: uppercase;
28
+ }
29
+
30
+ .card-bevel {
31
+ position: relative;
32
+ }
33
+
34
+ .card-bevel::after {
35
+ content: "";
36
+ position: absolute;
37
+ bottom: -3px;
38
+ right: -3px;
39
+ width: calc(100% - 2px);
40
+ height: calc(100% - 2px);
41
+ border-bottom: 3px solid black;
42
+ border-right: 3px solid black;
43
+ opacity: 1;
44
+ }
45
+
46
+ /* Carousel animation */
47
+ @keyframes scroll {
48
+ 0% {
49
+ transform: translateX(0);
50
+ }
51
+ 100% {
52
+ transform: translateX(-50%);
53
+ }
54
+ }
55
+
56
+ .ticker-content {
57
+ animation: scroll 60s linear infinite;
58
+ will-change: transform;
59
+ }
60
+
61
+ .ticker-item {
62
+ padding: 0 1rem;
63
+ }
64
+
65
+ /* Tarot card flip */
66
+ .tarot-card-flip {
67
+ perspective: 800px;
68
+ }
69
+
70
+ .tarot-card-inner {
71
+ position: relative;
72
+ width: 100%;
73
+ height: 100%;
74
+ transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
75
+ transform-style: preserve-3d;
76
+ }
77
+
78
+ .tarot-card-inner.flipped {
79
+ transform: rotateY(180deg);
80
+ }
81
+
82
+ .tarot-card-front,
83
+ .tarot-card-back {
84
+ position: absolute;
85
+ inset: 0;
86
+ backface-visibility: hidden;
87
+ }
88
+
89
+ .tarot-card-back {
90
+ transform: rotateY(180deg);
91
+ }
92
+
93
+ /* Thin scrollbar */
94
+ .thin-scrollbar {
95
+ scrollbar-width: thin;
96
+ scrollbar-color: black transparent;
97
+ }
98
+
99
+ p,
100
+ span,
101
+ a,
102
+ cite,
103
+ q,
104
+ em,
105
+ strong,
106
+ abbr,
107
+ time,
108
+ mark,
109
+ address,
110
+ ul,
111
+ ol,
112
+ li,
113
+ dl,
114
+ dd,
115
+ dt,
116
+ div,
117
+ article,
118
+ section,
119
+ aside,
120
+ blockquote,
121
+ figure,
122
+ figcaption,
123
+ main,
124
+ header,
125
+ footer,
126
+ nav,
127
+ details,
128
+ summary,
129
+ label,
130
+ legend,
131
+ fieldset,
132
+ input,
133
+ select,
134
+ option,
135
+ button,
136
+ textarea,
137
+ caption,
138
+ th,
139
+ td,
140
+ samp,
141
+ kbd,
142
+ var {
143
+ font-size: 0.75rem;
144
+ }
@@ -0,0 +1,26 @@
1
+ header {
2
+ max-width: 1024px;
3
+ margin: 2rem auto 0 auto;
4
+ /*padding: 0 0.5rem;*/
5
+ background-color: var(--color-background);
6
+ width: 100%;
7
+ position: sticky;
8
+ z-index: 1035;
9
+ top: 0;
10
+ border-bottom: 1px solid var(--color-border);
11
+ left: 0;
12
+ right: 0;
13
+ }
14
+
15
+ .header-top {
16
+ display: flex;
17
+ justify-content: space-between;
18
+ align-items: center;
19
+ margin-bottom: 1rem;
20
+ }
21
+
22
+ .theme-switcher {
23
+ display: flex;
24
+ align-items: center;
25
+ gap: 0.5rem;
26
+ }
@@ -0,0 +1,20 @@
1
+ @import "tailwindcss";
2
+
3
+ @import "./layout.css";
4
+ @import "./column.css";
5
+ @import "./card.css";
6
+ @import "./colors.css";
7
+ @import "./fonts.css";
8
+ @import "./typography.css";
9
+ @import "./navigation.css";
10
+ @import "./header.css";
11
+ @import "./lists.css";
12
+ @import "./tables.css";
13
+ @import "./forms.css";
14
+ @import "./links.css";
15
+ @import "./media.css";
16
+ @import "./tabs.css";
17
+ @import "./accordion.css";
18
+ @import "./button.css";
19
+ @import "./utility.css";
20
+ @import "./globals.css";
@@ -0,0 +1,115 @@
1
+ html {
2
+ main {
3
+ max-width: 1024px;
4
+ margin: 0 auto;
5
+ }
6
+
7
+ main.sage-bg-page {
8
+ background-color: var(--color-sage);
9
+ }
10
+
11
+ main.dark-bg-page {
12
+ background-color: black;
13
+ color: white;
14
+ }
15
+
16
+ main.dark-bg-page h1,
17
+ main.dark-bg-page p,
18
+ main.dark-bg-page label,
19
+ main.dark-bg-page h4 {
20
+ color: var(--color-background);
21
+ }
22
+
23
+ main.dark-bg-page button {
24
+ background-color: var(--color-highlight);
25
+ color: black;
26
+ }
27
+
28
+ main.dark-bg-page table {
29
+ border-color: var(--color-background);
30
+ }
31
+
32
+ main.dark-bg-page th,
33
+ main.dark-bg-page td {
34
+ color: var(--color-background);
35
+ border-color: var(--color-background);
36
+ }
37
+
38
+ main.dark-bg-page thead th {
39
+ background-color: var(--color-background);
40
+ color: var(--color-foreground);
41
+ }
42
+
43
+ main.container {
44
+ max-width: 1024px;
45
+ margin: 0 auto;
46
+ /*padding: 1.5rem 1rem;*/
47
+ min-height: 80vh;
48
+ }
49
+
50
+ main.full-width-page .container {
51
+ max-width: 1480px;
52
+ margin-left: auto;
53
+ margin-right: auto;
54
+ padding: 1.5rem 2rem;
55
+ min-height: 80vh;
56
+ }
57
+
58
+ nav {
59
+ max-width: 72rem;
60
+ }
61
+
62
+ footer {
63
+ max-width: 800px;
64
+ margin: 0 auto;
65
+ text-align: center;
66
+ font-size: 9px;
67
+ padding: 1.5rem 2rem;
68
+ }
69
+
70
+ section {
71
+ margin: 1rem 0;
72
+ }
73
+
74
+ article {
75
+ margin: 1rem 0;
76
+ }
77
+
78
+ aside {
79
+ padding: 1rem;
80
+ margin: 1rem 0;
81
+ background-color: var(--color-surface);
82
+ border-left: 3px solid var(--color-highlight);
83
+ /*border-radius: 0.25rem;*/
84
+ }
85
+
86
+ figure {
87
+ margin-bottom: 1rem;
88
+ }
89
+
90
+ details {
91
+ border: 1px solid var(--color-border);
92
+ border-radius: 0.25rem;
93
+ padding: 0.5rem;
94
+ margin-bottom: 1rem;
95
+ background-color: var(--color-surface);
96
+ }
97
+
98
+ summary {
99
+ cursor: pointer;
100
+ font-weight: 600;
101
+ padding: 0.5rem;
102
+ margin: -0.5rem;
103
+ border-radius: 0.25rem;
104
+ }
105
+
106
+ summary:hover {
107
+ background-color: var(--color-background);
108
+ }
109
+
110
+ details[open] summary {
111
+ margin-bottom: 0.5rem;
112
+ border-bottom: 1px solid var(--color-border);
113
+ }
114
+
115
+ }
@@ -0,0 +1,18 @@
1
+ /* Links Styles */
2
+
3
+ a {
4
+ color: var(--color-foreground);
5
+ }
6
+
7
+ a:hover {
8
+ /*text-decoration: underline;*/
9
+ }
10
+
11
+ /* Anchor links and scrolling */
12
+ html {
13
+ scroll-behavior: smooth;
14
+ }
15
+
16
+ [id] {
17
+ scroll-margin-top: 2rem;
18
+ }
@@ -0,0 +1,85 @@
1
+ /* Lists Styles */
2
+
3
+ /* Unordered Lists */
4
+ ul {
5
+ margin-top: 0;
6
+ margin-bottom: 1rem;
7
+ }
8
+
9
+ ul li {
10
+ margin-bottom: 0.5rem;
11
+ }
12
+
13
+ ul ul {
14
+ margin-top: 0.5rem;
15
+ margin-bottom: 0;
16
+ }
17
+
18
+ /* Ordered Lists */
19
+ ol {
20
+ margin-top: 0;
21
+ margin-bottom: 1rem;
22
+ }
23
+
24
+ ol li {
25
+ margin-bottom: 0.5rem;
26
+ }
27
+
28
+ ol ol {
29
+ margin-top: 0.5rem;
30
+ margin-bottom: 0;
31
+ }
32
+
33
+ /* Definition Lists */
34
+ dl {
35
+ margin-top: 0;
36
+ margin-bottom: 1rem;
37
+ }
38
+
39
+ dt {
40
+ margin-bottom: 0.25rem;
41
+ }
42
+
43
+ dd {
44
+ margin-bottom: 0.75rem;
45
+ }
46
+
47
+ /* Nested Lists */
48
+ li > ul,
49
+ li > ol {
50
+ margin-bottom: 0;
51
+ }
52
+
53
+ /* List Variations */
54
+ ul.no-bullets {
55
+ list-style-type: none;
56
+ padding-left: 0;
57
+ }
58
+
59
+ ol.roman {
60
+ list-style-type: upper-roman;
61
+ }
62
+
63
+ ol.alpha {
64
+ list-style-type: lower-alpha;
65
+ }
66
+
67
+ /* Description Lists with Grid Layout */
68
+ @media (min-width: 768px) {
69
+ dl.horizontal {
70
+ display: grid;
71
+ grid-template-columns: 30% 70%;
72
+ gap: 0.5rem;
73
+ }
74
+
75
+ dl.horizontal dt {
76
+ grid-column: 1;
77
+ text-align: right;
78
+ margin-bottom: 0;
79
+ }
80
+
81
+ dl.horizontal dd {
82
+ grid-column: 2;
83
+ margin-left: 0;
84
+ }
85
+ }