rosé pine soft colors and readability tweaks for the anarchist library
1/* ==UserStyle== 2@name rosé pine anarchism 3@namespace veryroundbird.house 4@version 1.0.0 5@description Tweaks theanarchistlibrary.org to be more readable (larger text, fonts for legbility) and also more cute 6@author Carly Smallbird 7@var select font "Font" { 8 "system:System*": "font-family: system-ui, sans-serif", 9 "atkinson:Atkinson Hyperlegible": "'Atkinson Hyperlegible', sans-serif", 10 "geometria:Geometria": "'Geometria', sans-serif", 11 "lexend:Lexend": "'Lexend', sans-serif", 12 "sourceserif:Source Serif Pro": "'Source Serif Pro', serif", 13 "ibmplexserif:IBM Plex Serif": "'IBM Plex Serif', serif", 14 "spacemono:Space Mono": "'Space Mono', monospace", 15 "sligoil:Sligoil": "'Sligoil', monospace", 16 "custom:Custom": "var(--customfont)" 17} 18@var text customfont "Custom Font" "" 19==/UserStyle== */ 20 21@-moz-document domain("theanarchistlibrary.org") { 22 :root { 23 --background: #faf4ed; 24 --surface: #fffaf3; 25 --overlay: #f2e9e1; 26 --muted: #9893a5; 27 --subtle: #797593; 28 --text: #575279; 29 --love: #b4637a; 30 --gold: #ea9d34; 31 --rose: #d7827e; 32 --pine: #286983; 33 --foam: #56949f; 34 --iris: #907aa9; 35 --highlightlow: #f4ede8; 36 --highlightmed: #dfdad9; 37 --highlighthi: #cecacd; 38 --darkencolor: #000000; 39 40 @media (prefers-color-scheme: dark) { 41 --background: #232136; 42 --surface: #2a273f; 43 --overlay: #393552; 44 --muted: #6e6a86; 45 --subtle: #908caa; 46 --text: #e0def4; 47 --love: #eb6f92; 48 --gold: #f6c177; 49 --rose: #ea9a97; 50 --pine: #3e8fb0; 51 --foam: #9ccfd8; 52 --iris: #c4a7e7; 53 --highlightlow: #2a283e; 54 --highlightmed: #44415a; 55 --highlighthi: #56526e; 56 --darkencolor: #FFFFFF; 57 } 58 } 59 60 /* GENERAL COMPONENTS */ 61 62 body { 63 font-family: var(--font); 64 font-size: 16px; 65 background-color: var(--background); 66 color: var(--text); 67 } 68 69 a { 70 color: var(--love); 71 } 72 73 a:hover { 74 color: color-mix(in srgb-linear, var(--love), var(--darkencolor) 50%); 75 } 76 77 blockquote { 78 font-size: 20px; 79 font-style: italic; 80 border-left: 8px var(--rose) solid; 81 } 82 83 blockquote blockquote { 84 border-color: var(--gold); 85 } 86 87 hr { 88 border-color: var(--highlighthi); 89 } 90 91 h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { 92 color: var(--text); 93 font-family: var(--font); 94 } 95 96 h1, .h1 { 97 font-size: 2.5em; 98 } 99 100 h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { 101 color: var(--subtle); 102 } 103 104 .well, 105 .jumbotron { 106 background-image: none; 107 background-color: var(--surface); 108 border-color: var(--highlighthi); 109 } 110 111 .text-primary, .text-primary:hover { 112 color: var(--foam); 113 } 114 115 .fa-border { 116 border-width: 1px; 117 border-color: var(--highlighthi); 118 background-color: var(--surface); 119 } 120 121 .label-default { 122 background-color: var(--iris); 123 color: var(--background); 124 } 125 126 .badge { 127 background-color: var(--foam); 128 } 129 130 /* BUTTONS */ 131 132 .btn-primary { 133 background-image: none; 134 background-color: var(--pine); 135 color: var(--background); 136 border-color: color-mix(in srgb-linear, var(--pine), var(--darkencolor) 20%); 137 } 138 139 .btn-primary:hover, 140 .btn-primary:focus { 141 background-color: color-mix(in srgb-linear, var(--pine), var(--darkencolor) 20%); 142 border-color: color-mix(in srgb-linear, var(--pine), var(--darkencolor) 40%); 143 } 144 145 .btn-default { 146 background-color: var(--rose); 147 color: var(--background); 148 border-color: color-mix(in srgb-linear, var(--rose), var(--darkencolor) 20%); 149 background-image: none; 150 text-shadow: none; 151 } 152 153 .btn-default:hover, 154 .btn-default:focus { 155 background-color: color-mix(in srgb-linear, var(--rose), var(--darkencolor) 20%); 156 border-color: color-mix(in srgb-linear, var(--rose), var(--darkencolor) 40%); 157 color: var(--background); 158 } 159 160 .btn-sm, .btn-group-sm > .btn { 161 font-size: 14px; 162 } 163 164 /* FORM CONTROLS */ 165 166 legend { 167 border-color: var(--highlighthi); 168 color: var(--subtle); 169 } 170 171 .form-control { 172 border-color: var(--highlighthi); 173 color: var(--text); 174 } 175 176 .form-control::placeholder { 177 color: var(--muted); 178 } 179 180 .form-control::-moz-placeholder { 181 color: var(--muted); 182 } 183 184 .form-control::-webkit-placeholder { 185 color: var(--muted); 186 } 187 188 .form-control:focus { 189 border-color: var(--pine); 190 box-shadow: inset 0 1px 1px color-mix(in srgb-linear, var(--muted), transparent 25%), 0 0 8px color-mix(in srgb-linear, var(--pine), transparent 40%); 191 } 192 193 /* PAGE STRUCTURE */ 194 195 .navbar-default { 196 background-image: none; 197 color: var(--text); 198 background-color: var(--surface); 199 border-color: var(--highlighthi); 200 } 201 202 b.caret { 203 border-top-color: var(--subtle); 204 } 205 206 .dropdown-toggle:hover b.caret { 207 border-top-color: var(--rose); 208 } 209 210 .navbar-default .navbar-nav > .open > a b.caret, 211 .navbar-default .navbar-nav > .active > a b.caret { 212 border-top-color: var(--text); 213 } 214 215 .amw-navlogo b.caret { 216 border-top-color: var(--foam); 217 } 218 219 .navbar-header .amw-navlogo { 220 position: relative; 221 display: block; 222 background-color: white; 223 224 @media (prefers-color-scheme: dark) { 225 background-color: black; 226 } 227 } 228 229 .navbar-header .amw-navlogo img { 230 @media (prefers-color-scheme: dark) { 231 filter: contrast(1.5) invert(1); 232 } 233 } 234 235 .navbar-header .amw-navlogo:before, 236 .navbar-header .amw-navlogo:after { 237 content: ""; 238 display: block; 239 width: 100%; 240 height: 100%; 241 top: 0; 242 left: 0; 243 position: absolute; 244 } 245 246 .navbar-header .amw-navlogo:before { 247 background-color: var(--surface); 248 mix-blend-mode: multiply; 249 z-index: 5; 250 251 @media (prefers-color-scheme: dark) { 252 mix-blend-mode: screen; 253 z-index: 3; 254 } 255 } 256 257 .navbar-header .amw-navlogo:after { 258 background-color: var(--text); 259 mix-blend-mode: screen; 260 z-index: 3; 261 262 @media (prefers-color-scheme: dark) { 263 mix-blend-mode: multiply; 264 z-index: 5; 265 } 266 } 267 268 .navbar-default .navbar-nav > li > a { 269 color: var(--subtle); 270 } 271 272 .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .active > a { 273 color: var(--text); 274 background-image: none; 275 background-color: var(--overlay); 276 box-shadow: none; 277 } 278 279 .navbar-default .navbar-nav > .open > a, 280 .navbar-default .navbar-nav > .open > a:hover, 281 .navbar-default .navbar-nav > .open > a:focus { 282 color: var(--rose); 283 } 284 285 .navbar-default .navbar-nav > .open > a .caret, 286 .navbar-default .navbar-nav > .open > a:hover .caret, 287 .navbar-default .navbar-nav > .open > a:focus .caret { 288 border-top-color: var(--rose); 289 } 290 291 .dropdown-menu { 292 background-color: var(--surface); 293 border-color: var(--highlighthi); 294 font-size: 16px; 295 } 296 297 .dropdown-menu li.divider { 298 background-color: var(--highlighthi); 299 margin: 0; 300 } 301 302 .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { 303 background-image: none; 304 background-color: var(--love); 305 color: var(--background); 306 } 307 308 .dropdown-menu > li > a { 309 color: var(--text); 310 padding: 6px 20px; 311 } 312 313 .dropdown-menu > li > a:hover, 314 .dropdown-menu > li > a:focus { 315 background-image: none; 316 background-color: var(--highlightmed); 317 color: var(--text); 318 } 319 320 .dropdown-header { 321 color: var(--subtle); 322 text-transform: uppercase; 323 font-size: 14px; 324 } 325 326 .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { 327 color: var(--rose); 328 } 329 330 .ui-autocomplete { 331 background-color: var(--surface); 332 } 333 334 .ui-menu-item-wrapper { 335 padding: 5px 10px; 336 } 337 338 .breadcrumb { 339 background-color: var(--surface); 340 color: var(--muted); 341 } 342 343 .nav-tabs a, 344 .nav-pills a, 345 .breadcrumb a, 346 .pager a { 347 color: var(--muted); 348 } 349 350 .breadcrumb > .active { 351 color: var(--subtle); 352 } 353 354 .breadcrumb > li + li::before { 355 color: var(--muted); 356 } 357 358 .page-header { 359 border-color: var(--highlighthi); 360 } 361 362 p.tableofcontentline a { 363 color: var(--subtle); 364 } 365 366 #downloadformats a { 367 color: var(--foam); 368 } 369 370 .list-group-item { 371 background-color: var(--surface); 372 color: var(--subtle); 373 border-color: var(--highlighthi); 374 } 375 376 a.list-group-item, button.list-group-item { 377 color: var(--subtle); 378 } 379 380 a.list-group-item:hover, 381 button.list-group-item:hover, 382 a.list-group-item:focus, 383 button.list-group-item:focus { 384 background-color: var(--highlightlow); 385 color: var(--text); 386 } 387 388 .pagination > li > a, .pagination > li > span { 389 background-color: var(--highlightmed); 390 color: var(--text); 391 border-color: var(--highlighthi); 392 } 393 394 .pagination > li > a:hover, 395 .pagination > li > span:hover, 396 .pagination > li > a:focus, 397 .pagination > li > span:focus { 398 background-color: var(--foam); 399 color: var(--background); 400 } 401 402 .pagination > .active > a, 403 .pagination > .active > span, 404 .pagination > .active > a:hover, 405 .pagination > .active > span:hover, 406 .pagination > .active > a:focus, 407 .pagination > .active > span:focus { 408 background-color: var(--pine); 409 color: var(--background); 410 } 411 412 .footer { 413 background-color: var(--surface); 414 color: var(--text); 415 padding-bottom: 20px; 416 } 417 418 .footer a { 419 color: var(--subtle); 420 } 421}