html { --background: #060f1a; --foreground: #0d294a; --accent: #3584e4; --text: #fff; --text-alternative: #bbb; --link: var(--accent); --info: var(--accent); --success: green; --warning: darkorange; --error: orangered; } * { font-family: system-ui; color: var(--text); } body { background-color: var(--background); } button { background: var(--accent); color: var(--text); border: none; border-radius: 5px; padding: 8px; cursor: pointer; font-weight: bold; } button:has(img) { display: flex; flex-direction: row; align-items: center; gap: 5px; } button:disabled { opacity: 0.5; cursor: not-allowed; } input, select { background: #2c3444; border: none; color: var(--text); border-radius: 5px; padding: 8px; } select { cursor: pointer; } input:focus, button:focus, a:focus, select:focus { outline: 2px solid var(--accent); } a { background: unset; color: var(--link); text-decoration: none; padding: 0; font-weight: normal; font-size: 1em; border-radius: 0; } a:hover { text-decoration: underline; } #loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: var(--accent); padding: 5px; border-radius: 5px; } #error { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; background-color: var(--error); padding: 5px; border-radius: 5px; min-width: 200px; min-height: 100px; } .error { display: flex; flex-direction: column; justify-content: space-between; } .error>button { align-self: flex-end; }