:root { --color-primary: #087e8b; --color-on-primary: white; } body { background-color: #222; color: white; font-family: Arial, Helvetica, sans-serif; } form > * { margin-bottom: 16px; } fieldset { border-radius: 8px; } input, select { display: block; width: 300px; background-color: #222; color: white; border: 1px solid white; border-radius: 8px; padding: 8px; box-sizing: border-box; } input:focus, select:focus { outline: none; border-color: var(--color-primary); } button { border: none; inset: none; border-radius: 8px; background-color: var(--color-primary); color: var(--color-on-primary); padding: 8px 16px; } :is(div:has(:is(input, select)), input, select, label) + :is(div:has(:is(input, select)), input, select, label) { margin-top: 8px; } .hidden { display: none; } label.switch { display: inline-flex; flex-direction: row; align-items: center; gap: 8px; -webkit-user-select: none; user-select: none; } label.switch input { display: none; } label.switch .slider { display: inline-block; position: relative; height: 1em; width: 2em; background-color: #444; border-radius: 1em; border: 4px solid #444; } label.switch .slider::before { content: ""; position: absolute; height: 100%; aspect-ratio: 1 / 1; border-radius: 50%; top: 50%; background-color: white; transition: all 0.1s linear; } label.switch:active .slider::before { transform: scale(1.3); transform-origin: 50% 50%; } label.switch input:not(:checked) + .slider::before { left: 0%; translate: 0 -50%; } label.switch input:checked + .slider::before { left: 100%; translate: -100% -50%; }