* {
    background:      transparent;
    border:          none;
    color:           inherit;
    outline:         none;
    cursor:          default;
    display:         block;
    font-family:     monospace;
    font-size:       inherit;
    font-style:      normal;
    font-weight:     normal;
    margin:          0 auto;
    padding:         0;
    text-decoration: none;
}

head,
style,
script,
.hidden,
[hidden] {
    display: none !important;
}

/* ------------------------------ */

html {
    background: white;
    font-size:  max( 15px, 2.5vmin );
}

    body {
        color:   black;
        padding: 1rem;
    }

        main {
            max-width: max( 600px, 50% );
        }

            h1 {
                font-size:     125%;
                font-weight:   bold;
                margin-bottom: 1rem;
            }

            p {
                margin-bottom: 1rem;
            }
            .error {
                background: deeppink;
                color:      lightpink;
                padding:    0.5rem;
            }
            .error:empty {
                display: none !important;
            }

            .items {
            }

                .item {
                    background:    lavender;
                    margin-bottom: 0.5rem;
                }
                .item ~ .item {
                    padding-left: 3.5rem;
                }
                nav + .item {
                    margin-top: 0.5rem;
                }

                    label {
                        cursor:      pointer;
                        color:       lightsteelblue;
                        line-height: 1.75rem;
                        float:       left;
                        width:       3rem;
                        margin-left: -3rem;
                        padding:     0.5rem 0;
                    }
                    .checked label {
                        color: green;
                    }
                    label:hover,
                    label:active,
                    label:focus {
                        color: dodgerblue;
                    }

                    input[type="checkbox"] {
                        height:   1px;
                        width:    1px;
                        overflow: hidden;
                        clip:     rect(1px, 1px, 1px, 1px);
                        opacity:  0.01;
                        position: fixed;
                        top:      0;
                        left:     -100px;
                    }

                    textarea {
                        line-height: 1.75rem;
                        width:   calc( 100% - 0.5rem - 0.5rem );
                        padding: 0.5rem;
                        resize:  none;
                    }
                    .checked textarea {
                        color: lightsteelblue;
                    }
                    textarea:focus {
                        height: 6rem;
                    }
                    .checked textarea:focus {
                        color: steelblue;
                    }

                nav {
                    text-align: center;
                }

                    nav a,
                    nav button {
                        background:  dodgerblue;
                        color:       lavender;
                        cursor:      pointer;
                        display:     inline-block;
                        margin:      0.5rem 0.25rem;
                        padding:     0.5rem 1rem;
                        white-space: nowrap;
                    }

                    nav [disabled] {
                        background:     silver !important;
                        color:          white !important;
                        cursor:         default !important;
                        pointer-events: none;
                    }

                    nav a:hover,
                    nav a:active,
                    nav a:focus,
                    nav button:hover,
                    nav button:active,
                    nav button:focus {
                        background: royalblue;
                        color:      aliceblue;
                    }
