body {
    width: 80%;
    max-width: 800px;
    margin: 0 auto;
    /* copied from Hell Gate's styles */
    color: #262626;
    background-color: #f9f5f4;
    /* League Spartan is a free clone of Futura, it's a bit different than Passata but closest free thing */
    font-family: "Futura Passata", "League Spartan", sans-serif;
}

h1 {
    font-size: 2.75rem;
    line-height: 1.1;
}

a {
    color: #a8281e;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 4px;
}

.intro,
.entry {
    font-family: "Outfit", sans-serif;
}

p {
    font-size: 1rem;
}

.entry {
    transition: opacity 1s ease;
}

.entry .date a {
    color: #a8281e;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;

    &:hover {
        color: #824d9b;
        transition: color 2s ease;
        text-decoration: underline;
    }
}

blockquote + p {
    text-align: right;
}

body:has(#filter-adams:checked) .entry:not(.person-Adams) {
    display: none;
}
body:has(#filter-cuomo:checked) .entry:not(.person-Cuomo) {
    display: none;
}
body:has(#filter-hochul:checked) .entry:not(.person-Hochul) {
    display: none;
}

body:has(#filter-mamdani:checked) .entry:not(.person-Mamdani) {
    display: none;
}

input[type="radio"] {
    display: none;
}

.form {
    /* copied from Hell Gate's styles */
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    line-height: 1;
    font-size: 2.125rem;
    font-weight: 700;

    > * {
        display: flex;
        padding: 0.65rem 1rem 0.45rem;
    }
}

label[for^="filter-"] {
    cursor: pointer;
    /* copied from Hell Gate's styles */
    border-radius: 38px;
    border: 1px solid;

    &:has(input:checked),
    &:hover {
        background-color: #ff4206;
        color: #f9f5f4;
    }
}

.header {
    padding-bottom: 1rem;
}
