The 1st decentralized social network for sharing when you're on the toilet. Post a "flush" today! Powered by the AT Protocol.
at main 344 lines 6.1 kB view raw
1.modalBackdrop { 2 position: fixed; 3 top: 0; 4 left: 0; 5 right: 0; 6 bottom: 0; 7 background: rgba(135, 206, 250, 0.74); 8 backdrop-filter: blur(4px); 9 display: flex; 10 align-items: center; 11 justify-content: center; 12 z-index: 1000; 13 padding: 20px; 14} 15 16.modalContent { 17 background: var(--card-background); 18 background-color: var(--card-background); 19 border: 1px solid var(--tile-border); 20 border-radius: 8px; 21 padding: 2rem; 22 max-width: 600px; 23 width: 100%; 24 max-height: 90vh; 25 overflow-y: auto; 26 box-shadow: 0 10px 40px rgba(135, 206, 250, 0.2); 27} 28 29.modalHeader { 30 display: flex; 31 justify-content: space-between; 32 align-items: center; 33 margin-bottom: 20px; 34} 35 36.modalHeader h2 { 37 margin: 0; 38 font-size: 1.5rem; 39 color: var(--title-color); 40} 41 42.closeButton { 43 background: none; 44 border: none; 45 font-size: 1.5rem; 46 cursor: pointer; 47 color: var(--text-color); 48 padding: 5px 10px; 49 line-height: 1; 50 transition: color 0.2s; 51} 52 53.closeButton:hover { 54 color: var(--primary-color); 55} 56 57.closeButton:disabled { 58 opacity: 0.5; 59 cursor: not-allowed; 60} 61 62.error { 63 background: var(--error-background); 64 border: 1px solid var(--error-color); 65 border-radius: 4px; 66 color: var(--error-color); 67 padding: 1rem; 68 margin-bottom: 20px; 69 font-size: 0.9rem; 70} 71 72.formGroup { 73 margin-bottom: 24px; 74} 75 76.formGroup label { 77 display: block; 78 margin-bottom: 8px; 79 font-weight: 500; 80 color: var(--text-color); 81 font-size: 0.95rem; 82} 83 84.textInput { 85 width: 100%; 86 padding: 0.8rem; 87 font-size: 1rem; 88 border: 1px solid var(--input-border); 89 border-radius: 4px; 90 background: var(--input-background); 91 background-color: var(--input-background); 92 color: var(--text-color); 93 font-family: inherit; 94 transition: border-color 0.2s; 95} 96 97.textInput:focus { 98 outline: none; 99 border-color: var(--primary-color); 100} 101 102.inputWrapper { 103 display: flex; 104 align-items: center; 105 width: 100%; 106 position: relative; 107 border: 1px solid var(--input-border); 108 border-radius: 4px; 109 background-color: var(--input-background); 110} 111 112.inputWrapper:focus-within { 113 border-color: var(--primary-color); 114} 115 116.inputPrefix { 117 padding: 0.8rem 0.8rem 0.8rem 0.8rem; 118 font-size: 1rem; 119 color: var(--text-color); 120 font-weight: 500; 121 background-color: var(--input-prefix-background); 122 border-right: 1px solid var(--input-border); 123 border-radius: 4px 0 0 4px; 124} 125 126.inputWithPrefix { 127 flex: 1; 128 border: none; 129 padding: 0.8rem; 130 font-size: 1rem; 131 background: transparent; 132 border-radius: 0 4px 4px 0; 133 color: var(--text-color); 134 font-family: inherit; 135} 136 137.inputWithPrefix:focus { 138 outline: none; 139 box-shadow: none; 140} 141 142.textInput:focus { 143 outline: none; 144 border-color: var(--primary); 145} 146 147.textInput:disabled { 148 opacity: 0.6; 149 cursor: not-allowed; 150} 151 152.charCount { 153 text-align: right; 154 font-size: 0.8rem; 155 color: var(--timestamp-color); 156 margin-top: 0.3rem; 157} 158 159.emojiGrid { 160 display: grid; 161 grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); 162 gap: 0.5rem; 163 margin-top: 8px; 164 padding: 0.8rem; 165 border: 1px solid var(--input-border); 166 border-radius: 8px; 167 background-color: var(--emoji-grid-bg); 168} 169 170.emojiButton { 171 background: var(--emoji-button-bg); 172 background-color: var(--emoji-button-bg); 173 border: 1px solid var(--emoji-button-border); 174 border-radius: 4px; 175 padding: 0.5rem; 176 font-size: 1.3rem; 177 cursor: pointer; 178 transition: all 0.2s; 179 display: flex; 180 align-items: center; 181 justify-content: center; 182 aspect-ratio: 1/1; 183 min-width: 2rem; 184 min-height: 2rem; 185} 186 187.emojiButton:hover { 188 background: var(--button-hover); 189 transform: scale(1.05); 190} 191 192.emojiButton.selected { 193 background: rgba(91, 173, 240, 0.2); 194 border-color: var(--primary-color); 195 transform: scale(1.1); 196} 197 198.emojiButton:disabled { 199 opacity: 0.5; 200 cursor: not-allowed; 201} 202 203.modalActions { 204 display: flex; 205 justify-content: space-between; 206 align-items: center; 207 gap: 12px; 208 margin-top: 24px; 209 padding-top: 24px; 210 border-top: 1px solid var(--border); 211} 212 213.rightActions { 214 display: flex; 215 gap: 12px; 216} 217 218.deleteButton { 219 background: transparent; 220 color: #c62828; 221 border: 1px solid #c62828; 222 border-radius: 4px; 223 padding: 0.8rem 1.5rem; 224 font-size: 1rem; 225 font-weight: 500; 226 cursor: pointer; 227 transition: all 0.2s; 228} 229 230.deleteButton:hover { 231 background: #c62828; 232 color: white; 233} 234 235.deleteButton:disabled { 236 opacity: 0.5; 237 cursor: not-allowed; 238} 239 240.cancelButton { 241 background-color: var(--button-background); 242 color: var(--button-text); 243 border: 1px solid var(--input-border); 244 border-radius: 4px; 245 padding: 0.8rem 1.5rem; 246 font-size: 1rem; 247 font-weight: 500; 248 cursor: pointer; 249 transition: all 0.2s; 250} 251 252.cancelButton:hover { 253 background: var(--button-hover); 254} 255 256.cancelButton:disabled { 257 opacity: 0.5; 258 cursor: not-allowed; 259} 260 261.saveButton { 262 background-color: var(--primary-color); 263 color: white; 264 border: none; 265 border-radius: 4px; 266 padding: 0.8rem 1.5rem; 267 font-size: 1rem; 268 font-weight: 500; 269 cursor: pointer; 270 transition: all 0.2s; 271} 272 273.saveButton:hover:not(:disabled) { 274 background-color: var(--secondary-color); 275 transform: translateY(-2px); 276} 277 278.saveButton:disabled { 279 background-color: var(--button-disabled); 280 color: var(--button-disabled-text); 281 cursor: not-allowed; 282 transform: none; 283} 284 285.deleteConfirmation { 286 width: 100%; 287} 288 289.deleteConfirmation p { 290 margin: 0 0 16px 0; 291 color: var(--text-color); 292 font-size: 0.95rem; 293} 294 295.confirmButtons { 296 display: flex; 297 gap: 12px; 298 justify-content: flex-end; 299} 300 301.confirmDeleteButton { 302 background: #c62828; 303 color: white; 304 border: none; 305 border-radius: 4px; 306 padding: 0.8rem 1.5rem; 307 font-size: 1rem; 308 font-weight: 500; 309 cursor: pointer; 310 transition: all 0.2s; 311} 312 313.confirmDeleteButton:hover { 314 background: #a02020; 315} 316 317.confirmDeleteButton:disabled { 318 opacity: 0.5; 319 cursor: not-allowed; 320} 321 322@media (max-width: 640px) { 323 .modalContent { 324 padding: 20px; 325 max-height: 95vh; 326 } 327 328 .modalActions { 329 flex-direction: column; 330 align-items: stretch; 331 } 332 333 .rightActions { 334 flex-direction: column; 335 } 336 337 .deleteButton, 338 .cancelButton, 339 .saveButton, 340 .confirmDeleteButton { 341 width: 100%; 342 } 343} 344