The 1st decentralized social network for sharing when you're on the toilet. Post a "flush" today! Powered by the AT Protocol.
at main 381 lines 6.1 kB view raw
1.container { 2 max-width: 800px; 3 margin: 0 auto; 4 padding: 2rem 1rem; 5} 6 7.header { 8 display: flex; 9 justify-content: space-between; 10 align-items: center; 11 margin-bottom: 2rem; 12 flex-wrap: wrap; 13 gap: 1rem; 14} 15 16.header h1 { 17 color: var(--primary-color); 18 margin: 0; 19 font-weight: bold; 20} 21 22.userInfo { 23 display: flex; 24 flex-direction: column; 25 align-items: flex-end; 26 gap: 0.5rem; 27} 28 29.actions { 30 display: flex; 31 gap: 0.5rem; 32} 33 34.feedButton { 35 background-color: var(--primary-color); 36 color: white; 37 border: none; 38 padding: 0.3rem 0.8rem; 39 font-size: 0.9rem; 40 border-radius: 4px; 41 cursor: pointer; 42} 43 44.feedButton:hover { 45 background-color: var(--secondary-color); 46} 47 48.logoutButton { 49 background-color: transparent; 50 color: var(--primary-color); 51 border: 1px solid var(--primary-color); 52 padding: 0.3rem 0.8rem; 53 font-size: 0.9rem; 54 border-radius: 4px; 55 cursor: pointer; 56} 57 58.logoutButton:hover { 59 background-color: rgba(91, 173, 240, 0.1); 60} 61 62.card { 63 background: white; 64 border-radius: 8px; 65 padding: 2rem; 66} 67 68.description { 69 color: #666; 70 margin: 1rem 0; 71 line-height: 1.5; 72} 73 74.code { 75 background: #f5f5f5; 76 padding: 0.2rem 0.4rem; 77 border-radius: 3px; 78 font-family: monospace; 79} 80 81.error { 82 background-color: rgba(255, 82, 82, 0.1); 83 color: var(--error-color); 84 padding: 1rem; 85 border-radius: 4px; 86 margin: 1rem 0; 87} 88 89.success { 90 background-color: rgba(76, 175, 80, 0.1); 91 color: #4caf50; 92 padding: 1rem; 93 border-radius: 4px; 94 margin: 1rem 0; 95} 96 97.form { 98 margin-top: 1.5rem; 99} 100 101.formGroup { 102 margin-bottom: 1.5rem; 103} 104 105.statusUpdateContainer { 106 overflow: hidden; 107 transition: max-height 0.5s ease-in-out, opacity 0.3s ease-in-out, transform 0.3s ease; 108 max-height: 0; 109 opacity: 0; 110 transform: translateY(-20px); 111 margin-bottom: 0; 112} 113 114.statusUpdateOpen { 115 max-height: 1000px; /* Large enough to contain all content */ 116 opacity: 1; 117 transform: translateY(0); 118 margin-bottom: 2rem; 119} 120 121.toggleButton { 122 background-color: var(--primary-color); 123 color: white; 124 border: none; 125 border-radius: 4px; 126 padding: 0.5rem 1rem; 127 margin-bottom: 1rem; 128 cursor: pointer; 129 display: flex; 130 align-items: center; 131 gap: 0.5rem; 132 transition: background-color 0.2s, transform 0.2s; 133} 134 135.toggleButton:hover { 136 background-color: var(--secondary-color); 137 transform: translateY(-2px); 138} 139 140.toggleButton svg { 141 width: 16px; 142 height: 16px; 143 transition: transform 0.3s ease; 144} 145 146.toggleButtonActive svg { 147 transform: rotate(180deg); 148} 149 150.formGroup label { 151 display: block; 152 margin-bottom: 0.5rem; 153 font-weight: 500; 154} 155 156.input { 157 width: 100%; 158 padding: 0.8rem; 159 border: 1px solid #ddd; 160 border-radius: 4px; 161 font-size: 1rem; 162} 163 164.input:focus { 165 border-color: var(--primary-color); 166 outline: none; 167} 168 169.charCount { 170 text-align: right; 171 color: #666; 172 font-size: 0.8rem; 173 margin-top: 0.3rem; 174} 175 176.emojiGrid { 177 display: grid; 178 grid-template-columns: repeat(8, 1fr); 179 gap: 0.5rem; 180} 181 182@media (max-width: 600px) { 183 .emojiGrid { 184 grid-template-columns: repeat(6, 1fr); 185 } 186} 187 188.emojiButton { 189 background: #f5f5f5; 190 border: 1px solid #ddd; 191 border-radius: 4px; 192 font-size: 1.5rem; 193 aspect-ratio: 1/1; 194 display: flex; 195 align-items: center; 196 justify-content: center; 197 cursor: pointer; 198 transition: all 0.2s; 199} 200 201.emojiButton:hover { 202 background: #eaeaea; 203 transform: scale(1.05); 204} 205 206.selectedEmoji { 207 background: rgba(91, 173, 240, 0.2); 208 border-color: var(--primary-color); 209} 210 211.preview { 212 background: #f9f9f9; 213 padding: 1rem; 214 border-radius: 4px; 215 margin-bottom: 1.5rem; 216} 217 218.previewTitle { 219 font-weight: 500; 220 margin-bottom: 0.5rem; 221 color: #666; 222} 223 224.previewContent { 225 display: flex; 226 align-items: center; 227 gap: 0.5rem; 228} 229 230.previewEmoji { 231 font-size: 1.5rem; 232} 233 234.submitButton { 235 background-color: var(--primary-color); 236 color: white; 237 border: none; 238 border-radius: 4px; 239 padding: 0.8rem 1.5rem; 240 font-size: 1.1rem; 241 font-weight: 500; 242 cursor: pointer; 243 transition: all 0.2s; 244 width: 100%; 245} 246 247.submitButton:hover:not(:disabled) { 248 background-color: var(--secondary-color); 249 transform: translateY(-2px); 250} 251 252.submitButton:disabled { 253 background-color: #cccccc; 254 cursor: not-allowed; 255} 256 257/* Feed styles */ 258.feedSection { 259 margin-top: 1rem; 260} 261 262.feedTitle { 263 display: flex; 264 justify-content: space-between; 265 align-items: center; 266 margin-bottom: 1rem; 267 padding-bottom: 0.5rem; 268 border-bottom: 1px solid #e1e1e1; 269} 270 271.backButton { 272 display: block; 273 margin-top: 0.5rem; 274 background: transparent; 275 color: var(--primary-color); 276 border: 1px solid #ddd; 277 padding: 0.3rem 0.8rem; 278 border-radius: 4px; 279 font-size: 0.9rem; 280} 281 282.feedList { 283 display: flex; 284 flex-direction: column; 285 gap: 1rem; 286 margin-top: 1rem; 287} 288 289.feedItem { 290 background-color: white; 291 border: 1px solid #e1e1e1; 292 border-radius: 8px; 293 padding: 1rem; 294 transition: transform 0.2s; 295} 296 297.feedItem:hover { 298 transform: translateY(-2px); 299} 300 301.feedHeader { 302 display: none; /* Hide the header since we're moving timestamps to the right */ 303} 304 305.authorLink { 306 color: var(--primary-color); 307 font-weight: 600; 308 text-decoration: none; 309} 310 311.authorLink:hover { 312 text-decoration: underline; 313} 314 315.timestamp { 316 font-size: 0.85rem; 317 color: #888; 318} 319 320.content { 321 display: flex; 322 align-items: center; 323 gap: 0.75rem; 324 justify-content: space-between; 325 width: 100%; 326} 327 328.contentLeft { 329 display: flex; 330 align-items: center; 331 gap: 0.75rem; 332} 333 334.emoji { 335 font-size: 1.5rem; 336} 337 338@keyframes slideIn { 339 from { 340 opacity: 0; 341 transform: translateY(-20px); 342 } 343 to { 344 opacity: 1; 345 transform: translateY(0); 346 } 347} 348 349.newFeedItem { 350 animation: slideIn 0.5s ease-out; 351} 352 353.text { 354 font-size: 1.1rem; 355 line-height: 1.4; 356 color: #333; 357} 358 359.loadingContainer { 360 display: flex; 361 justify-content: center; 362 align-items: center; 363 padding: 2rem; 364 text-align: center; 365} 366 367.loader { 368 border: 4px solid #f3f3f3; 369 border-top: 4px solid var(--primary-color); 370 border-radius: 50%; 371 width: 24px; 372 height: 24px; 373 animation: spin 1s linear infinite; 374 margin-right: 0.75rem; 375 display: inline-block; 376} 377 378@keyframes spin { 379 0% { transform: rotate(0deg); } 380 100% { transform: rotate(360deg); } 381}