:root {
    color-scheme: light dark;
    --work-base-primary-color: light-dark(#fcffda, #00081e); /* light-dark(rgb(100, 100, 90), rgb(49, 82, 0)); */
    --work-base-accent-color: #00081e; /* light-dark(rgb(10, 16, 0), rgb(85, 141, 0)); */
    --pause-base-accent-color: light-dark(#fcffda, #00081e);
    --pause-base-primary-color: light-dark(
        #fcffda,
        #00081e
    );
    --stop-base-primary-color: light-dark(
        rgb(40, 40, 40),
        rgb(173, 173, 173, 0.3)
    );
    --stop-base-accent-color: light-dark(
        rgb(60, 60, 60),
        rgba(226, 226, 226, 0.726)
    );

    --background-primary-color: #f13e1b; /* light-dark(blanchedalmond, #222222); */
    --background-second-color: #56aea5; /* light-dark(burlywood, #2f2f2f); */
    --current-primary-color: var(--work-base-primary-color);
    --current-accent-color: var(--work-base-accent-color);
    accent-color: var(--current-accent-color);
}
.raleway-100 {
    font-family: "Raleway", serif;
    font-optical-sizing: auto;
    font-weight: 100;
    font-style: normal;
}
.source-code-pro-200 {
    font-family: "Source Code Pro", serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
}
body {
    text-align: center;
    font-family: Arial;
    font-size: 44px;
    font-weight: bold;
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
    align-items: center;
    height: 100vh;
    width: 100dvw;
    background-color: var(--background-primary-color);
    color: var(--current-accent-color);
    margin: 0;
    overflow: hidden;
    max-width: 100dvw;

    & .output {
        display: inline-block;
        padding: 60px 20px 50px 20px;
        overflow: hidden;
        border-color: var(--current-primary-color);

        & .haultToggle {
            margin-top: 40px;
        }
    }
}

body:has(.pause) {
    --current-primary-color: var(--pause-base-primary-color);
    --current-accent-color: var(--pause-base-accent-color);
}

body:has(.work) {
    --current-primary-color: var(--work-base-primary-color);
    --current-accent-color: var(--work-base-accent-color);
}

body:has(.halt) {
    --current-primary-color: var(--stop-base-primary-color);
    --current-accent-color: var(--stop-base-accent-color);
}

.toolbar {
    position: absolute;
    width: 0;
    height: 100dvh;
    top: 0;
    right: 0;
    border-left: solid 30px var(--current-accent-color);
    background-color: var(--background-second-color);
    transition-property: width, border-width;
    transition-duration: 1.5s;
    transition-delay: 0.3s;
    overflow: scroll;
    
    fieldset {
        width: 50%;
        margin-left: auto;
        margin-right: auto;
        border-radius: 5px;
        border-style: solid;
        border-width: 1px;
        padding: 1rem;
        border-color: var(--current-primary-color);

        p {
            margin: 0;
            padding: 0;
            width: 100%;
            margin-bottom: 2rem;
        }
        
        legend {
            font-size: 1.2rem;
            display: block;
            margin: 0;
            padding: 0;
        }
        
        label {
            font-size: 1.0rem;
            line-height: 1.2rem;
            height: 1.2rem;
            display: flex;
            height: 100%;
            align-items: center;
            text-align: center;
        }
    }

    button {
        all: unset;
        border: solid 1px var(--current-primary-color);
        font-size: 20px;
        text-align: center;
        color: var(--current-primary-color);
        background-color: var(--background-primary-color);
        padding: 10px;
        border-radius: 5px;
    }
    button:active {
        background-color: var(--current-accent-color);
        border-width: 4px;
    }
    button:disabled {
        background-color: var(--background-second-color);
        border: var(--background-second-color);
    }

    &.show {
        width: 95dvw;
        border-width: 1px;
    }

    & input[type="range"] {
        appearance: none;
        cursor: pointer;
        width: 100%;
        margin: 0;
        margin-top: 23px;
        margin-bottom: 23px;
        padding: 0;
        display: block;

        &::-webkit-slider-runnable-track {
            background-color: var(--current-primary-color);
            height: 1px;
        }

        &::-webkit-slider-thumb {
            -webkit-appearance: none; /* Override default look */
            appearance: none;
            margin-top: -22px; /* Centers thumb on the track */
            background-color: var(--current-accent-color);
            height: 44px;
            width: 1rem;
        }

        &:focus {
            outline: none;

            &::-webkit-slider-thumb {
                border: 1px solid var(--current-primary-color);
                outline: 3px solid var(--current-accent-color);
                outline-offset: 0.125rem;
            }
        }
    }
}
