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}