:root {
    --top-level-font: black;
}

@media(prefers-color-scheme: dark) {
    :root {
        --top-level-font: rgb(218, 218, 218);
    }

    body {
        background-color: rgb(49, 49, 49);
        color: var(--font)
    }

    a {
        color: lightblue
    }

    a:is(:target, :active) {
        color: white;
    }
}

body {
    --font: var(--top-level-font);
}

* {
    --font-05: color-mix(in srgb, var(--font) 5%, transparent);
    --font-07: color-mix(in srgb, var(--font) 7%, transparent);
    --font-10: color-mix(in srgb, var(--font) 10%, transparent);
    --font-15: color-mix(in srgb, var(--font) 15%, transparent);
    --font-20: color-mix(in srgb, var(--font) 20%, transparent);
    --font-30: color-mix(in srgb, var(--font) 30%, transparent);
    --font-60: color-mix(in srgb, var(--font) 60%, transparent);
    --font-90: color-mix(in srgb, var(--font) 90%, transparent);
}

html,
body {
    margin: 0;
    padding: 0;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Oxygen,
        Ubuntu,
        Cantarell,
        "Open Sans",
        "Helvetica Neue",
        sans-serif;
}

input[type="text"],
input[type="number"],
select {
    all: unset;
    padding: 10px;
    border: 1px solid var(--font);
    border-radius: 10px;
}

label:has(input[type="checkbox"])>input[type="checkbox"] {
    width: min-content;
}

button {
    all: unset;
    padding: 10px;
    border: 1px solid var(--font);
    border-radius: 10px;

    background-color: var(--font-15);
    display: flex;
    flex-direction: row;
    align-items: center;
    cursor: pointer;
}

button:hover {
    background-color: var(--font-20);
}

button:disabled {
    background-color: var(--font-30);
    color: var(--font-60);
    cursor: default;
}

button:has(:only-child) {
    padding: 0;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    aspect-ratio: 1;
}


.slim button:has(:only-child) {
    font-size: 0.8em;
    width: 30px;
    height: 30px;
}

ul.ul {
    all: unset;
}

ul.ul>li {
    all: unset;
    display: flex;
    padding: 10px;
    border-radius: 3px;
    background-color: var(--font-07);
}

ul.ul>li:nth-child(2n) {
    background-color: var(--font-10);
}

ul.ul>li:first-child {
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
}

ul.ul>li:last-child {
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
}


table {
    border: 1px solid var(--font);
    border-collapse: collapse;
    margin: 0;
    width: 100%;
}

td,
th {
    padding: 10px;
    border: 1px solid var(--font);
}


@keyframes rotate {
    from {
        rotate: 0turn;
    }

    to {
        rotate: 1turn;
    }
}

nav {
    display: block;
    box-sizing: border-box;
    padding-top: 10px;
}

nav>a {
    background-color: var(--font-15);
    border: 1px solid black;
    padding: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom: none;
    box-sizing: border-box;
    text-decoration: none;
    color: var(--font);
}

nav>a[data-selected="true"] {
    background-color: var(--font-30);
}