home to your local SPACEGIRL 馃挮 arimelody.space
at dev 482 lines 9.1 kB view raw
1@import url("/style/prideflag.css"); 2@import url("/font/inter/inter.css"); 3 4:root { 5 --bg-0: #101010; 6 --bg-1: #181818; 7 --bg-2: #282828; 8 --bg-3: #404040; 9 10 --fg-0: #b0b0b0; 11 --fg-1: #c0c0c0; 12 --fg-2: #d0d0d0; 13 --fg-3: #e0e0e0; 14 15 --col-shadow-0: #0002; 16 --col-shadow-1: #0004; 17 --col-shadow-2: #0006; 18 --col-highlight-0: #ffffff08; 19 --col-highlight-1: #fff1; 20 --col-highlight-2: #fff2; 21 22 --col-new: #b3ee5b; 23 --col-on-new: #1b2013; 24 --col-save: #6fd7ff; 25 --col-on-save: #283f48; 26 --col-delete: #ff7171; 27 --col-on-delete: #371919; 28 29 --col-warn: #ffe86a; 30 --col-on-warn: var(--bg-0); 31 --col-warn-hover: #ffec81; 32 33 --shadow-sm: 34 0 1px 2px var(--col-shadow-2), 35 inset 0 1px 1px var(--col-highlight-2); 36 --shadow-md: 37 0 2px 4px var(--col-shadow-1), 38 inset 0 2px 2px var(--col-highlight-1); 39 --shadow-lg: 40 0 4px 8px var(--col-shadow-0), 41 inset 0 4px 4px var(--col-highlight-0); 42} 43 44@media (prefers-color-scheme: light) { 45 :root { 46 --bg-0: #e8e8e8; 47 --bg-1: #f0f0f0; 48 --bg-2: #f8f8f8; 49 --bg-3: #ffffff; 50 51 --fg-0: #606060; 52 --fg-1: #404040; 53 --fg-2: #303030; 54 --fg-3: #202020; 55 56 --col-shadow-0: #0002; 57 --col-shadow-1: #0004; 58 --col-shadow-2: #0008; 59 --col-highlight-0: #fff2; 60 --col-highlight-1: #fff4; 61 --col-highlight-2: #fff8; 62 63 --col-warn: #ffe86a; 64 --col-on-warn: var(--fg-3); 65 --col-warn-hover: #ffec81; 66 } 67} 68 69@media (prefers-color-scheme: green) { 70 :root { 71 --bg-0: #d0d9c7; 72 --bg-1: #e2e5de; 73 --bg-2: #f1f1f1; 74 --bg-3: #ffffff; 75 --fg-0: #626f54; 76 --fg-1: #505c43; 77 --fg-2: #49523e; 78 --fg-3: #2c3522; 79 } 80} 81 82@media (prefers-color-scheme: purple) { 83 :root { 84 --bg-0: #15121c; 85 --bg-1: #1e1a27; 86 --bg-2: #302a3d; 87 --bg-3: #4a4358; 88 --fg-0: #9e8fbf; 89 --fg-1: #a29bb3; 90 --fg-2: #b9b0cd; 91 --fg-3: #dcd5ec; 92 } 93} 94 95@media (prefers-color-scheme: dark) { 96 img.icon { 97 -webkit-filter: invert(.9); 98 filter: invert(.9); 99 } 100} 101 102body { 103 width: calc(100% - 180px); 104 height: calc(100vh - 1em); 105 106 margin: 0 0 0 180px; 107 padding: 0; 108 display: flex; 109 flex-direction: row; 110 111 font-family: "Inter", sans-serif; 112 font-size: 16px; 113 color: var(--fg-0); 114 background-color: var(--bg-0); 115 116 transition: background .1s ease-out, color .1s ease-out; 117} 118 119h1, h2, h3, h4, h5, h6 { 120 color: var(--fg-3); 121} 122 123header { 124 display: flex; 125 justify-content: space-between; 126 align-items: center; 127} 128nav { 129 position: fixed; 130 top: 0; 131 left: 0; 132 width: 180px; 133 height: calc(100vh - 2em); 134 margin: 0; 135 padding: 1em 0; 136 display: flex; 137 flex-direction: column; 138 justify-content: left; 139 140 background-color: var(--bg-1); 141 box-shadow: var(--shadow-md); 142 transition: background .1s ease-out, color .1s ease-out; 143 144 user-select: none; 145} 146nav .icon { 147 width: fit-content; 148 height: fit-content; 149 padding: 0; 150 margin: 0 auto 1em auto; 151 display: flex; 152 153 border-radius: 100%; 154 box-shadow: var(--shadow-sm); 155 overflow: clip; 156} 157nav .icon img { 158 width: 3em; 159 height: 3em; 160} 161.nav-item { 162 display: flex; 163 color: var(--fg-2); 164 line-height: 2em; 165 font-weight: 500; 166 transition: color .1s ease-out, background-color .1s ease-out; 167} 168.nav-item:hover { 169 color: var(--bg-2); 170 background-color: var(--fg-2); 171 text-decoration: none; 172} 173.nav-item.active { 174 border-left: 4px solid var(--fg-2); 175} 176.nav-item.active a { 177 padding-left: calc(1em - 3.5px); 178} 179nav a { 180 padding: .2em 1em; 181 text-decoration: none; 182 color: inherit; 183 width: 100%; 184} 185nav a.active { 186 border-left: 5px solid var(--fg-0); 187 padding-left: calc(1em - 5px); 188} 189nav hr { 190 width: calc(100% - 2em); 191 margin: .5em auto; 192 border: none; 193 border-bottom: 1px solid var(--fg-0); 194} 195nav .section-label { 196 margin: .6em 0 .1em 1.6em; 197 font-size: .6em; 198 text-transform: uppercase; 199 font-weight: 600; 200} 201#toggle-nav { 202 position: fixed; 203 top: 16px; 204 left: 16px; 205 padding: 8px; 206 width: 48px; 207 height: 48px; 208 display: none; 209 justify-content: center; 210 align-items: center; 211 z-index: 1; 212} 213#toggle-nav img { 214 width: 100%; 215 height: 100%; 216 object-fit: cover; 217 transform: translate(1px, 1px); 218} 219#toggle-nav img:hover { 220 -webkit-filter: invert(.9); 221 filter: invert(.9); 222} 223@media (prefers-color-scheme: dark) { 224 #toggle-nav img { 225 -webkit-filter: invert(.9); 226 filter: invert(.9); 227 } 228 #toggle-nav img:hover { 229 -webkit-filter: none; 230 filter: none; 231 } 232} 233 234main { 235 width: 720px; 236 max-width: calc(100% - 2em); 237 height: fit-content; 238 min-height: calc(100vh - 2em); 239 margin: 0 auto; 240 padding: 1em; 241} 242main.dashboard { 243 width: 100%; 244} 245 246a { 247 color: inherit; 248 text-decoration: none; 249 overflow: hidden; 250 text-overflow: ellipsis; 251 white-space: nowrap; 252 transition: color .1s ease-out, background-color .1s ease-out; 253} 254 255img.icon { 256 height: .8em; 257 transition: filter .1s ease-out; 258} 259 260code { 261 background: #303030; 262 color: #f0f0f0; 263 padding: .23em .3em; 264 border-radius: 4px; 265} 266 267 268 269.cards { 270 width: 100%; 271 height: fit-content; 272 display: flex; 273 gap: 2em; 274 flex-wrap: wrap; 275} 276 277.card { 278 flex-basis: 40em; 279 padding: 1em; 280 background-color: var(--bg-1); 281 border-radius: 16px; 282 box-shadow: var(--shadow-lg); 283 284 transition: background .1s ease-out, color .1s ease-out; 285} 286main:not(.dashboard) .card { 287 margin-bottom: 1em; 288} 289 290.card h2 { 291 margin: 0 0 .5em 0; 292} 293 294.card-header { 295 margin-bottom: 1em; 296 display: flex; 297 gap: 1em; 298 flex-direction: row; 299 align-items: center; 300 justify-content: space-between; 301} 302.card-header h1, 303.card-header h2, 304.card-header h3 { 305 margin: 0; 306} 307.card-header a:hover { 308 text-decoration: underline; 309} 310 311header :is(h1, h2, h3) small, 312.card-header :is(h1, h2, h3) small { 313 display: inline-block; 314 font-size: .6em; 315 transform: translateY(-0.1em); 316 color: var(--fg-0); 317} 318 319.flex-fill { 320 flex-grow: 1; 321} 322 323.artists-group { 324 display: grid; 325 grid-template-columns: repeat(5, 1fr); 326 gap: 1em; 327} 328 329 330 331#message, 332#error { 333 margin: 0 0 1em 0; 334 padding: 1em; 335 border-radius: 8px; 336 color: #101010; 337 background: #ffffff; 338} 339#message { 340 background: #a9dfff; 341} 342#error { 343 background: #ffa9b8; 344} 345 346 347 348a.delete:not(.button) { 349 color: #d22828; 350} 351 352.button, button { 353 padding: .5em .8em; 354 font-family: inherit; 355 font-size: inherit; 356 357 color: inherit; 358 background-color: var(--bg-2); 359 border: none; 360 border-radius: 10em; 361 box-shadow: var(--shadow-sm); 362 font-weight: 500; 363 transition: background .1s ease-out, color .1s ease-out; 364 365 cursor: pointer; 366 user-select: none; 367} 368button:hover, .button:hover { 369 background: #fff; 370} 371button:active, .button:active { 372 background: #d0d0d0; 373} 374 375.button.new, button.new { 376 color: var(--col-on-new); 377 background-color: var(--col-new); 378} 379.button.save, button.save { 380 color: var(--col-on-save); 381 background-color: var(--col-save); 382} 383.button.delete, button.delete { 384 color: var(--col-on-delete); 385 background-color: var(--col-delete); 386} 387.button:hover, button:hover { 388 color: var(--bg-3); 389 background-color: var(--fg-3); 390} 391.button:active, button:active { 392 color: var(--bg-2); 393 background-color: var(--fg-0); 394} 395.button[disabled], button[disabled] { 396 color: var(--fg-0) !important; 397 background-color: var(--bg-3) !important; 398 opacity: .5; 399 cursor: default !important; 400} 401 402 403 404form { 405 width: 100%; 406 display: block; 407 color: var(--fg-0); 408} 409form label { 410 width: 100%; 411 margin: 1rem 0 .5rem 0; 412 display: block; 413} 414form input[type="text"], 415form input[type="password"] { 416 width: 16em; 417 max-width: 100%; 418 margin: .5em 0; 419 padding: .3em .5em; 420 display: block; 421 border-radius: 4px; 422 border: 1px solid #808080; 423 font-size: inherit; 424 font-family: inherit; 425 color: inherit; 426 background-color: var(--bg-0); 427} 428input[disabled] { 429 opacity: .5; 430 cursor: not-allowed; 431} 432 433@media screen and (max-width: 720px) { 434 main { 435 padding-top: 0; 436 } 437 438 body { 439 width: 100%; 440 margin: 0; 441 font-size: 16px; 442 } 443 444 nav { 445 width: 100%; 446 left: -100%; 447 font-size: 24px; 448 z-index: 1; 449 transition: transform .2s cubic-bezier(.2,0,.5,1); 450 } 451 nav.open { 452 transform: translateX(100%); 453 } 454 455 #toggle-nav { 456 display: flex; 457 } 458 459 main > h1:first-of-type { 460 margin-left: 68px; 461 overflow: hidden; 462 white-space: nowrap; 463 text-overflow: ellipsis; 464 } 465 main > header { 466 margin-left: 68px; 467 } 468 main > header h1 { 469 display: flex; 470 flex-direction: column; 471 font-size: 1.5em; 472 } 473 474 .card { 475 flex-basis: 100%; 476 max-width: calc(100vw - 4em); 477 } 478 479 .artists-group { 480 grid-template-columns: repeat(3, 1fr); 481 } 482}