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 padding: 0;
143 background-color: #fff;
144 border: 1px solid var(--border-color);
145 border-radius: 3rem;
146 text-align: center;
147 box-shadow: 0 1px 4px #0001;
148 cursor: pointer;
149}
150
151.status-option:hover {
152 background-color: var(--primary-100);
153 box-shadow: 0 0 0 1px var(--primary-400);
154}
155
156.status-option.selected {
157 box-shadow: 0 0 0 1px var(--primary-500);
158 background-color: var(--primary-100);
159}
160
161.status-option.selected:hover {
162 background-color: var(--primary-200);
163}
164
165.status-line {
166 display: flex;
167 flex-direction: row;
168 align-items: center;
169 gap: 10px;
170 position: relative;
171 margin-top: 15px;
172}
173
174.status-line:not(.no-line)::before {
175 content: '';
176 position: absolute;
177 width: 2px;
178 background-color: var(--border-color);
179 left: 1.45rem;
180 bottom: calc(100% + 2px);
181 height: 15px;
182}
183
184.status-line .status {
185 font-size: 2rem;
186 background-color: #fff;
187 width: 3rem;
188 height: 3rem;
189 border-radius: 1.5rem;
190 text-align: center;
191 border: 1px solid var(--border-color);
192}
193
194.status-line .desc {
195 color: var(--gray-500);
196}
197
198.status-line .author {
199 color: var(--gray-700);
200 font-weight: 600;
201 text-decoration: none;
202}
203
204.status-line .author:hover {
205 text-decoration: underline;
206}
207
208.signup-cta {
209 text-align: center;
210 text-wrap: balance;
211 margin-top: 1rem;
212}