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}