Scratch space for learning atproto app development
1body {
2 font-family: Arial, Helvetica, sans-serif;
3
4 --border-color: #ddd;
5 --gray-100: #fafafa;
6 --gray-500: #666;
7 --gray-700: #333;
8 --primary-100: #d2e7ff;
9 --primary-200: #b1d3fa;
10 --primary-400: #2e8fff;
11 --primary-500: #0078ff;
12 --primary-600: #0066db;
13 --error-500: #f00;
14 --error-100: #fee;
15}
16
17/*
18 Josh's Custom CSS Reset
19 https://www.joshwcomeau.com/css/custom-css-reset/
20*/
21*, *::before, *::after {
22 box-sizing: border-box;
23}
24* {
25 margin: 0;
26}
27body {
28 line-height: 1.5;
29 -webkit-font-smoothing: antialiased;
30}
31img, picture, video, canvas, svg {
32 display: block;
33 max-width: 100%;
34}
35input, button, textarea, select {
36 font: inherit;
37}
38p, h1, h2, h3, h4, h5, h6 {
39 overflow-wrap: break-word;
40}
41#root, #__next {
42 isolation: isolate;
43}
44
45/*
46 Common components
47*/
48button, .button {
49 display: inline-block;
50 border: 0;
51 background-color: var(--primary-500);
52 border-radius: 50px;
53 color: #fff;
54 padding: 2px 10px;
55 cursor: pointer;
56 text-decoration: none;
57}
58button:hover, .button:hover {
59 background: var(--primary-400);
60}
61
62/*
63 Custom components
64*/
65.error {
66 background-color: var(--error-100);
67 color: var(--error-500);
68 text-align: center;
69 padding: 1rem;
70}
71#header {
72 background-color: #fff;
73 text-align: center;
74 padding: 0.5rem 0 1.5rem;
75}
76
77#header h1 {
78 font-size: 5rem;
79}
80
81.container {
82 display: flex;
83 flex-direction: column;
84 gap: 4px;
85 margin: 0 auto;
86 max-width: 600px;
87 padding: 20px;
88}
89
90.card {
91 /* border: 1px solid var(--border-color); */
92 border-radius: 6px;
93 padding: 10px 16px;
94 background-color: #fff;
95}
96.card > :first-child {
97 margin-top: 0;
98}
99.card > :last-child {
100 margin-bottom: 0;
101}
102
103.session-form {
104 display: flex;
105 flex-direction: row;
106 align-items: center;
107 justify-content: space-between;
108}
109
110.login-form {
111 display: flex;
112 flex-direction: row;
113 gap: 6px;
114 border: 1px solid var(--border-color);
115 border-radius: 6px;
116 padding: 10px 16px;
117 background-color: #fff;
118}
119
120.login-form input {
121 flex: 1;
122 border: 0;
123}
124
125.status-options {
126 display: flex;
127 flex-direction: row;
128 flex-wrap: wrap;
129 gap: 8px;
130 margin: 10px 0;
131}
132
133.status-option {
134 font-size: 2rem;
135 width: 3rem;
136 height: 3rem;
137 padding: 0;
138 background-color: #fff;
139 border: 1px solid var(--border-color);
140 border-radius: 3rem;
141 text-align: center;
142 box-shadow: 0 1px 4px #0001;
143 cursor: pointer;
144}
145
146.status-option:hover {
147 background-color: var(--primary-100);
148 box-shadow: 0 0 0 1px var(--primary-400);
149}
150
151.status-option.selected {
152 box-shadow: 0 0 0 1px var(--primary-500);
153 background-color: var(--primary-100);
154}
155
156.status-option.selected:hover {
157 background-color: var(--primary-200);
158}
159
160.status-line {
161 display: flex;
162 flex-direction: row;
163 align-items: center;
164 gap: 10px;
165 position: relative;
166 margin-top: 15px;
167}
168
169.status-line:not(.no-line)::before {
170 content: '';
171 position: absolute;
172 width: 2px;
173 background-color: var(--border-color);
174 left: 1.45rem;
175 bottom: calc(100% + 2px);
176 height: 15px;
177}
178
179.status-line .status {
180 font-size: 2rem;
181 background-color: #fff;
182 width: 3rem;
183 height: 3rem;
184 border-radius: 1.5rem;
185 text-align: center;
186 border: 1px solid var(--border-color);
187}
188
189.status-line .desc {
190 color: var(--gray-500);
191}
192
193.status-line .author {
194 color: var(--gray-700);
195 font-weight: 600;
196 text-decoration: none;
197}
198
199.status-line .author:hover {
200 text-decoration: underline;
201}
202
203.signup-cta {
204 text-align: center;
205 width: 100%;
206 display: block;
207 margin-top: 1rem;
208}