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 display: none;
71}
72.error.visible {
73 display: block;
74}
75
76#header {
77 background-color: #fff;
78 text-align: center;
79 padding: 0.5rem 0 1.5rem;
80}
81
82#header h1 {
83 font-size: 5rem;
84}
85
86.container {
87 display: flex;
88 flex-direction: column;
89 gap: 4px;
90 margin: 0 auto;
91 max-width: 600px;
92 padding: 20px;
93}
94
95.card {
96 /* border: 1px solid var(--border-color); */
97 border-radius: 6px;
98 padding: 10px 16px;
99 background-color: #fff;
100}
101.card > :first-child {
102 margin-top: 0;
103}
104.card > :last-child {
105 margin-bottom: 0;
106}
107
108.session-form {
109 display: flex;
110 flex-direction: row;
111 align-items: center;
112 justify-content: space-between;
113}
114
115.login-form {
116 display: flex;
117 flex-direction: row;
118 gap: 6px;
119 border: 1px solid var(--border-color);
120 border-radius: 6px;
121 padding: 10px 16px;
122 background-color: #fff;
123}
124
125.login-form input {
126 flex: 1;
127 border: 0;
128}
129
130.status-options {
131 display: flex;
132 flex-direction: row;
133 flex-wrap: wrap;
134 gap: 8px;
135 margin: 10px 0;
136}
137
138.status-option {
139 font-size: 2rem;
140 width: 3rem;
141 height: 3rem;
142 background-color: #fff;
143 border: 1px solid var(--border-color);
144 border-radius: 3rem;
145 text-align: center;
146 box-shadow: 0 1px 4px #0001;
147 cursor: pointer;
148}
149
150.status-option:hover {
151 background-color: var(--primary-100);
152 box-shadow: 0 0 0 1px var(--primary-400);
153}
154
155.status-option.selected {
156 box-shadow: 0 0 0 1px var(--primary-500);
157 background-color: var(--primary-100);
158}
159
160.status-option.selected:hover {
161 background-color: var(--primary-200);
162}
163
164.status-line {
165 display: flex;
166 flex-direction: row;
167 align-items: center;
168 gap: 10px;
169 position: relative;
170 margin-top: 15px;
171}
172
173.status-line:not(.no-line)::before {
174 content: '';
175 position: absolute;
176 width: 2px;
177 background-color: var(--border-color);
178 left: 1.45rem;
179 bottom: calc(100% + 2px);
180 height: 15px;
181}
182
183.status-line .status {
184 font-size: 2rem;
185 background-color: #fff;
186 width: 3rem;
187 height: 3rem;
188 border-radius: 1.5rem;
189 text-align: center;
190 border: 1px solid var(--border-color);
191}
192
193.status-line .desc {
194 color: var(--gray-500);
195}
196
197.status-line .author {
198 color: var(--gray-700);
199 font-weight: 600;
200 text-decoration: none;
201}
202
203.status-line .author:hover {
204 text-decoration: underline;
205}
206
207.signup-cta {
208 text-align: center;
209 text-wrap: balance;
210 margin-top: 1rem;
211}