A fork of Woomarks that saves to pds
at main 7.8 kB view raw
1body { 2 margin: 0; 3 font-family: "Courier", monospace; 4 color: #555; 5 background: #fff; 6} 7p { 8 margin: 0.5rem 0; 9} 10h3 { 11 margin-top: 2rem; 12 margin-bottom: 0px; 13} 14a { 15 color: #555; 16} 17 18.footer { 19 text-align: center; 20 padding: 50px 0 70px; 21} 22 23.containers { 24 display: flex; 25 flex-wrap: wrap; 26 gap: 1vw; 27 padding: 3vw; 28 box-sizing: border-box; 29} 30 31.container { 32 width: 30vw; 33 height: 30vw; 34 background: #fefdfd; 35 border: 0px; 36 box-sizing: border-box; 37 overflow: hidden; 38 padding: 10px; 39 position: relative; 40} 41 42.container a { 43 display: flex; 44 justify-content: center; 45 align-items: center; 46 text-align: center; 47 width: 100%; 48 height: 100%; 49 color: inherit; 50 text-decoration: none; 51 cursor: pointer; 52} 53 54.container span { 55 display: block; 56 width: 100%; 57 word-break: break-word; 58 line-height: 1.2; 59} 60.local-container { 61 box-shadow: 0 0 4px 4px rgba(94, 255, 180, 0.756); /* glowing green */ 62} 63 64.topbar { 65 width: 100%; 66 min-height: 57px; 67 padding: 10px 20px; 68 background-color: #ffffff; 69 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 70 position: sticky; 71 top: 0; 72 z-index: 10; 73 display: flex; 74 box-sizing: border-box; 75 align-items: center; 76 color: #555; 77} 78#headerTitle { 79 color: #555; 80 text-decoration: none; 81 margin-right: 1rem; 82 white-space: nowrap; 83} 84 85#whatsThis { 86 cursor: pointer; 87 text-decoration: underline; 88} 89 90#searchInput { 91 width: 140px; 92 margin-left: 1vw; 93} 94 95hr { 96 border: none; 97 height: 2vw; 98 margin: 0; 99 visibility: hidden; 100} 101 102.modal-overlay { 103 position: fixed; 104 top: 0; 105 left: 0; 106 width: 100%; 107 height: 100%; 108 background: rgba(0, 0, 0, 0.4); 109 display: flex; 110 justify-content: center; 111 align-items: flex-start; /* aligns modal to top */ 112 padding: 40px 20px; /* top/bottom space */ 113 overflow-y: auto; /* scrolls if modal content is too tall */ 114 z-index: 100; 115} 116 117.modal-content { 118 width: 70%; 119 max-width: 1000px; 120 background: white; 121 padding: 30px; 122 border-radius: 10px; 123 box-shadow: 0 0 30px rgba(0, 0, 0, 0.2); 124 box-sizing: border-box; 125 max-height: calc( 126 100vh - 80px 127 ); /* ensures modal never exceeds screen height */ 128 overflow-y: auto; /* scroll inside modal if needed */ 129} 130 131.hidden { 132 display: none; 133} 134 135.param-dialog { 136 padding: 1.5rem; 137 border: none; 138 border-radius: 10px; 139 width: 50%; 140 font-family: "Courier", monospace; 141} 142 143.param-form { 144 display: flex; 145 flex-direction: column; 146 gap: 1rem; 147} 148 149.param-group { 150 display: flex; 151 flex-direction: column; 152} 153 154.param-label { 155 font-weight: bold; 156 margin-bottom: 0.3rem; 157 color: #555; 158} 159 160input { 161 padding: 0.5rem; 162 border: 1px solid #ccc; 163 border-radius: 6px; 164 font-size: 14px; 165 font-family: "Courier", monospace; 166} 167 168.param-menu { 169 display: flex; 170 justify-content: space-between; 171 align-items: center; 172 padding: 0; 173 margin-top: 12px; 174} 175 176.menu-left { 177 flex: 1; 178} 179 180.menu-right { 181 display: flex; 182 gap: 12px; 183} 184 185.export-link { 186 font-size: 0.9rem; 187 color: #0077cc; 188 text-decoration: underline; 189 background: none; 190 border: none; 191 padding: 6px 0; 192 cursor: pointer; 193} 194 195.export-link:hover { 196 text-decoration: none; 197} 198 199.param-btn { 200 border: none; 201 border-radius: 5px; 202 cursor: pointer; 203 margin: 0 0.5vw 0 0; 204 padding: 8px 16px 8px; 205 font-size: 12px; 206 color: #555; 207 white-space: nowrap; 208 font-family: "Courier", monospace; 209} 210 211.param-btn:hover { 212 background: #e0e0e0; 213} 214 215.param-btn.cancel { 216 background: #eee; 217 color: #555; 218} 219 220.param-btn.dark { 221 background: #555; 222 color: white; 223} 224 225.tags-wrapper { 226 display: flex; 227 flex-wrap: wrap; 228 gap: 0.3vw; 229 margin-top: -1vw; 230} 231 232.tag-style { 233 font-family: "Courier", monospace; 234 font-size: 1.3vw; 235 padding: 0 6px; 236 opacity: 0.8; 237 cursor: pointer; 238} 239.tag-style:hover { 240 border: 1px solid currentColor; 241} 242 243.delete-btn { 244 position: absolute; 245 opacity: 0; 246 247 bottom: 8px; 248 right: 8px; 249 z-index: 2; 250 color: inherit; 251 border: 1px solid transparent; 252 background-color: transparent; 253 font-size: 1vw; 254 font-family: "Courier", monospace; 255} 256.container:hover .delete-btn { 257 opacity: 1; 258} 259 260.delete-btn:hover { 261 font-weight: bold; 262 cursor: pointer; 263 border: 1px solid currentColor; 264} 265 266.param-btn:disabled { 267 opacity: 0.6; 268 cursor: not-allowed; 269} 270 271 272.page { 273 padding: 20px 20vw; 274} 275 276pre { 277 overflow-x: auto; 278 padding: 1em; 279 border: 1px solid #ccc; 280 background: #f9f9f9; 281 border-radius: 6px; 282 font-family: monospace; 283 white-space: pre; 284} 285 286pre code { 287 display: block; 288 max-width: 100%; 289 box-sizing: border-box; 290} 291 292textarea { 293 width: 100%; 294 height: 200px; 295 padding: 12px; 296 font-size: 16px; 297 font-family: inherit; /* assumes same font as input */ 298 border: 1px solid #ccc; 299 border-radius: 6px; 300 background-color: white; 301 box-sizing: border-box; 302 resize: vertical; 303 margin: 1em 0; 304} 305 306.anchor-target { 307 scroll-margin-top: 80px; /* adjust based on your sticky topbar height */ 308} 309 310 311 312@media (max-width: 600px) { 313 .container { 314 width: 46vw; 315 height: 46vw; 316 } 317 318 .btn-text { 319 display: none; 320 } 321 322 .page{ 323 padding: 20px 20px; 324 } 325} 326 327/* User avatar styles */ 328.user-avatar { 329 width: 32px; 330 height: 32px; 331 border-radius: 50%; 332 margin-left: 12px; 333 margin-right: 8px; 334 object-fit: cover; 335 border: 2px solid #ddd; 336 vertical-align: middle; 337} 338 339.searched-user-avatar { 340 width: 28px; 341 height: 28px; 342 border-radius: 50%; 343 margin-right: 6px; 344 object-fit: cover; 345 border: 2px solid #bbb; 346 vertical-align: middle; 347} 348 349/* List view styles */ 350.list-view .containers { 351 display: block; 352 padding: 1rem 3vw; 353} 354 355.list-view .bookmark-item { 356 display: flex; 357 align-items: flex-start; 358 padding: 0.5rem; 359 border-bottom: 1px solid #e8e8e8; 360 background: #fefdfd; 361 margin-bottom: 0.25rem; 362 border-radius: 3px; 363 position: relative; 364} 365 366.list-view .bookmark-item:hover { 367 background: #f8f8f8; 368} 369 370.list-view .bookmark-content { 371 flex: 1; 372 min-width: 0; 373} 374 375.list-view .bookmark-link-group { 376 cursor: pointer; 377} 378 379.list-view .bookmark-title { 380 font-family: "Courier", monospace; 381 font-size: 0.9rem; 382 font-weight: bold; 383 color: #333; 384 text-decoration: none; 385 display: block; 386 margin-bottom: 0.1rem; 387 word-break: break-word; 388 line-height: 1.3; 389 transition: color 0.2s ease; 390} 391 392.list-view .bookmark-link-group:hover .bookmark-title { 393 color: #0066cc; 394} 395 396.list-view .bookmark-url-container { 397 margin-bottom: 0.1rem; 398} 399 400.list-view .bookmark-meta-row { 401 display: flex; 402 justify-content: space-between; 403 align-items: center; 404 margin-bottom: 0.25rem; 405 min-height: 1.2em; 406} 407 408.list-view .bookmark-url { 409 font-family: "Courier", monospace; 410 font-size: 0.75rem; 411 color: #666; 412 word-break: break-all; 413 text-decoration: none; 414 transition: color 0.2s ease, text-decoration 0.2s ease; 415 display: block; 416} 417 418.list-view .bookmark-link-group:hover .bookmark-url { 419 color: #0066cc; 420 text-decoration: underline; 421} 422 423.list-view .bookmark-date { 424 font-family: "Courier", monospace; 425 font-size: 0.7rem; 426 color: #888; 427 white-space: nowrap; 428} 429 430.list-view .bookmark-tags { 431 display: flex; 432 flex-wrap: wrap; 433 gap: 0.2rem; 434 flex: 1; 435} 436 437.list-view .bookmark-tag { 438 font-family: "Courier", monospace; 439 font-size: 0.7rem; 440 padding: 1px 4px; 441 background: #f0f0f0; 442 color: #555; 443 border-radius: 2px; 444 cursor: pointer; 445 border: 1px solid transparent; 446} 447 448.list-view .bookmark-tag:hover { 449 border-color: #ccc; 450 background: #e8e8e8; 451} 452 453.list-view .bookmark-actions { 454 display: flex; 455 align-items: center; 456 margin-left: 1rem; 457} 458 459.list-view .delete-btn { 460 position: static; 461 opacity: 1; 462 padding: 2px 6px; 463 font-size: 0.8rem; 464 border: 1px solid transparent; 465 border-radius: 3px; 466 background: transparent; 467 color: #e74c3c; 468 cursor: pointer; 469 font-family: "Courier", monospace; 470 font-weight: bold; 471} 472 473.list-view .delete-btn:hover { 474 border-color: #e74c3c; 475 background: #fdf2f2; 476 color: #c0392b; 477} 478 479/* Hide grid view when in list mode */ 480.list-view .container { 481 display: none; 482} 483 484