diff options
Diffstat (limited to 'Blog/wwwroot/app.css')
| -rw-r--r-- | Blog/wwwroot/app.css | 280 |
1 files changed, 280 insertions, 0 deletions
diff --git a/Blog/wwwroot/app.css b/Blog/wwwroot/app.css new file mode 100644 index 0000000..0065fd6 --- /dev/null +++ b/Blog/wwwroot/app.css | |||
| @@ -0,0 +1,280 @@ | |||
| 1 | h1:focus { | ||
| 2 | outline: none; | ||
| 3 | } | ||
| 4 | |||
| 5 | .valid.modified:not([type=checkbox]) { | ||
| 6 | outline: 1px solid #26b050; | ||
| 7 | } | ||
| 8 | |||
| 9 | .invalid { | ||
| 10 | outline: 1px solid #e50000; | ||
| 11 | } | ||
| 12 | |||
| 13 | .validation-message { | ||
| 14 | color: #e50000; | ||
| 15 | } | ||
| 16 | |||
| 17 | .blazor-error-boundary { | ||
| 18 | background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121; | ||
| 19 | padding: 1rem 1rem 1rem 3.7rem; | ||
| 20 | color: white; | ||
| 21 | } | ||
| 22 | |||
| 23 | .blazor-error-boundary::after { | ||
| 24 | content: "An error has occurred." | ||
| 25 | } | ||
| 26 | |||
| 27 | .darker-border-checkbox.form-check-input { | ||
| 28 | border-color: #929292; | ||
| 29 | } | ||
| 30 | |||
| 31 | .form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder { | ||
| 32 | color: var(--bs-secondary-color); | ||
| 33 | text-align: end; | ||
| 34 | } | ||
| 35 | |||
| 36 | .form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder { | ||
| 37 | text-align: start; | ||
| 38 | } | ||
| 39 | |||
| 40 | * { | ||
| 41 | box-sizing: border-box; | ||
| 42 | font-size: calc(1rem + 0.5vw); | ||
| 43 | font-family: monospace; | ||
| 44 | } | ||
| 45 | |||
| 46 | :root { | ||
| 47 | --black: #050505; | ||
| 48 | --white: #fafafa; | ||
| 49 | --error: #da0000; | ||
| 50 | --info: #669aba; | ||
| 51 | |||
| 52 | --ratio: 1.5; | ||
| 53 | --s0: 1rem; | ||
| 54 | --s1: calc(var(--s0) * var(--ratio)); | ||
| 55 | } | ||
| 56 | |||
| 57 | @media (prefers-color-scheme: dark) { | ||
| 58 | :root { | ||
| 59 | --background: var(--black); | ||
| 60 | --color: var(--white); | ||
| 61 | } | ||
| 62 | } | ||
| 63 | |||
| 64 | @media (prefers-color-scheme: light) { | ||
| 65 | :root { | ||
| 66 | --background: var(--white); | ||
| 67 | --color: var(--black); | ||
| 68 | } | ||
| 69 | } | ||
| 70 | |||
| 71 | body { | ||
| 72 | background-color: var(--background); | ||
| 73 | color: var(--color); | ||
| 74 | } | ||
| 75 | |||
| 76 | .center { | ||
| 77 | box-sizing: content-box; | ||
| 78 | max-inline-size: 60ch; | ||
| 79 | margin-inline: auto; | ||
| 80 | padding-inline-start: var(--s1); | ||
| 81 | padding-inline-end: var(--s1); | ||
| 82 | } | ||
| 83 | |||
| 84 | #logo { | ||
| 85 | height: 5em; | ||
| 86 | display: inline-block; | ||
| 87 | } | ||
| 88 | |||
| 89 | header > h1 { | ||
| 90 | color: var(--header); | ||
| 91 | display: inline-block; | ||
| 92 | } | ||
| 93 | |||
| 94 | li:has(a:focus)::marker { | ||
| 95 | content: "==> "; | ||
| 96 | } | ||
| 97 | |||
| 98 | li:has(a:hover)::marker { | ||
| 99 | content: " >"; | ||
| 100 | } | ||
| 101 | |||
| 102 | li:has(a:hover:focus)::marker { | ||
| 103 | content: "==>"; | ||
| 104 | } | ||
| 105 | |||
| 106 | li::marker { | ||
| 107 | content: "> "; | ||
| 108 | } | ||
| 109 | |||
| 110 | a { | ||
| 111 | color: var(--color); | ||
| 112 | } | ||
| 113 | |||
| 114 | a:empty::before { | ||
| 115 | content: attr(href); | ||
| 116 | } | ||
| 117 | |||
| 118 | input[type="text"] { | ||
| 119 | width: 80%; | ||
| 120 | display: inline-block; | ||
| 121 | background-color: var(--background); | ||
| 122 | color: var(--color); | ||
| 123 | border-color: var(--color); | ||
| 124 | border-radius: 0.5em; | ||
| 125 | } | ||
| 126 | |||
| 127 | input[type="text"] { | ||
| 128 | width: 100%; | ||
| 129 | display: inline-block; | ||
| 130 | margin-inline: 0 1em; | ||
| 131 | font-family: monospace; | ||
| 132 | white-space: pre-wrap; | ||
| 133 | background-color: var(--background); | ||
| 134 | color: var(--color); | ||
| 135 | border-color: var(--border); | ||
| 136 | border-radius: 0.5em; | ||
| 137 | } | ||
| 138 | |||
| 139 | label + input { | ||
| 140 | margin-block-end: 1em; | ||
| 141 | } | ||
| 142 | |||
| 143 | label { | ||
| 144 | display: block; | ||
| 145 | } | ||
| 146 | |||
| 147 | textarea { | ||
| 148 | width: 100%; | ||
| 149 | display: block; | ||
| 150 | margin-inline: 0 1em; | ||
| 151 | font-family: monospace; | ||
| 152 | white-space: pre-wrap; | ||
| 153 | background-color: var(--background); | ||
| 154 | color: var(--color); | ||
| 155 | border-color: var(--border); | ||
| 156 | border-radius: 0.5em; | ||
| 157 | } | ||
| 158 | |||
| 159 | pre { | ||
| 160 | font-family: monospace; | ||
| 161 | white-space: pre-line; | ||
| 162 | } | ||
| 163 | |||
| 164 | button, | ||
| 165 | input[type="button"], | ||
| 166 | input[type="submit"], | ||
| 167 | input[type="file"]::file-selector-button { | ||
| 168 | min-width: 20%; | ||
| 169 | display: inline-block; | ||
| 170 | color: var(--color); | ||
| 171 | background-color: var(--background); | ||
| 172 | border: 1px solid var(--color); | ||
| 173 | border-radius: 0.5em; | ||
| 174 | padding: 0.1em 1em; | ||
| 175 | cursor: pointer; | ||
| 176 | font-family: monospace; | ||
| 177 | } | ||
| 178 | |||
| 179 | |||
| 180 | .flex-row { | ||
| 181 | display: flex; | ||
| 182 | gap: 1em; | ||
| 183 | } | ||
| 184 | |||
| 185 | .flex-spread { | ||
| 186 | display: flex; | ||
| 187 | gap: 1em; | ||
| 188 | justify-content: space-between; | ||
| 189 | } | ||
| 190 | |||
| 191 | .history { | ||
| 192 | filter: opacity(30%); | ||
| 193 | } | ||
| 194 | |||
| 195 | div + .history { | ||
| 196 | margin-block-start: 2em; | ||
| 197 | } | ||
| 198 | |||
| 199 | main { | ||
| 200 | border-block-start: 2px dotted var(--color); | ||
| 201 | border-block-end: 2px dotted var(--color); | ||
| 202 | padding-block: 1em; | ||
| 203 | } | ||
| 204 | |||
| 205 | .docs { | ||
| 206 | margin: 2em 0; | ||
| 207 | border: 2px dashed var(--color); | ||
| 208 | padding: 0.5em 1em; | ||
| 209 | border-radius: 0.5em; | ||
| 210 | } | ||
| 211 | |||
| 212 | .error::before { | ||
| 213 | content: "ERR: "; | ||
| 214 | color: var(--error); | ||
| 215 | } | ||
| 216 | |||
| 217 | .info::before { | ||
| 218 | content: "INF: "; | ||
| 219 | color: var(--info); | ||
| 220 | } | ||
| 221 | |||
| 222 | label:has(> #debug:not(:checked)) + #log .debug { | ||
| 223 | display: none; | ||
| 224 | } | ||
| 225 | |||
| 226 | .debug::before { | ||
| 227 | content: "DBG: "; | ||
| 228 | color: var(--info); | ||
| 229 | } | ||
| 230 | |||
| 231 | .row + .row { | ||
| 232 | margin-block-start: 1em; | ||
| 233 | } | ||
| 234 | |||
| 235 | .noselect { | ||
| 236 | user-select: none; | ||
| 237 | -moz-user-select: -moz-none; | ||
| 238 | -webkit-user-select: none; | ||
| 239 | -ms-user-select: none; | ||
| 240 | } | ||
| 241 | |||
| 242 | img { | ||
| 243 | margin-inline: auto; | ||
| 244 | margin-block: 1em; | ||
| 245 | } | ||
| 246 | |||
| 247 | footer > ul { | ||
| 248 | columns: 2; | ||
| 249 | } | ||
| 250 | |||
| 251 | legend::before { | ||
| 252 | content: "( "; | ||
| 253 | } | ||
| 254 | |||
| 255 | legend::after { | ||
| 256 | content: " )"; | ||
| 257 | } | ||
| 258 | |||
| 259 | summary { | ||
| 260 | cursor: help; | ||
| 261 | } | ||
| 262 | |||
| 263 | summary::marker { | ||
| 264 | content: "> "; | ||
| 265 | } | ||
| 266 | |||
| 267 | details[open] summary::marker { | ||
| 268 | content: "x "; | ||
| 269 | } | ||
| 270 | |||
| 271 | input[type="checkbox"] { | ||
| 272 | appearance: none; | ||
| 273 | } | ||
| 274 | input[type="checkbox"]:checked::after { | ||
| 275 | content: "[x]" | ||
| 276 | } | ||
| 277 | |||
| 278 | input[type="checkbox"]::after { | ||
| 279 | content: "[ ]" | ||
| 280 | } \ No newline at end of file | ||