* {
    box-sizing: border-box;
}

html {
    background: #ffccff;
}

body {
    margin: 8px;
    background: #ffccff;
    color: #000;
    font: 12px Verdana, Arial, Helvetica, sans-serif;
}

a,
a:visited {
    color: #003399;
    text-decoration: underline;
}

a:hover {
    color: #cc0000;
    text-decoration: none;
}

.legacy-gallery {
    width: 100%;
    text-align: center;
}

.legacy-gallery h1 {
    margin: 0;
    color: #663300;
    font-size: 50px;
    line-height: 1.2;
}

.legacy-subtitle {
    margin: 0 0 10px;
    color: #663300;
    font-size: 24px;
}

.legacy-block {
    width: 86%;
    margin: 10px auto;
    padding: 3px;
    border: 3px solid #fff;
    background: #ccc;
    font-size: 16px;
}

.legacy-intro,
.legacy-update {
    margin: 3px;
    padding: 3px;
    font-size: 20px;
}

.legacy-intro {
    font-family: Geneva, Arial, Helvetica, sans-serif;
}

.legacy-promo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 3px;
    padding: 6px 3px;
    background: #ffcccc;
    color: #003399;
    font-size: 28px;
    text-decoration: underline;
}

.legacy-promo img {
    display: block;
    width: min(468px, 100%);
    height: auto;
}

.legacy-recip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    gap: 9px;
    align-items: stretch;
    margin: 8px 3px;
}

.legacy-recip {
    display: grid;
    min-height: 88px;
    place-content: center;
    gap: 4px;
    border: 2px solid #111;
    padding: 5px;
    font: 13px Arial, Helvetica, sans-serif;
}

.legacy-recip strong,
.legacy-recip b {
    font-size: 16px;
}

.legacy-recip--green { border-color: #ffff00; background: #008000; color: #ffff00; }
.legacy-recip--blue { border-color: #113b78; background: #e4eefc; color: #003399; }
.legacy-recip--pink { border: 3px dotted #000; background: #fff; color: #ff0066; }
.legacy-recip--white { background: #fff; color: #993333; }
.legacy-recip--purple { border-color: #30116b; background: #eee; color: #30116b; }
.legacy-recip--image { border-color: #555; background: #fff; color: #151551; }
.legacy-recip--orange { border-color: #000; background: #ff7f50; color: #000; }
.legacy-recip--red { border-color: #d20000; background: #fff4f4; color: #d20000; }
.legacy-recip--cream { border-color: #ff6000; background: #ffe7d7; color: #ff6000; }
.legacy-recip--black { border: 3px double #ffa500; background: #000; color: #ffde00; }
.legacy-recip--lime { border-color: #00ff00; background: #000; color: #00ff00; }
.legacy-recip--aqua { border: 2px dotted #00ccff; background: #000; color: #00ff99; }
.legacy-recip--brown { border: 3px double #660000; background: #f1d18c; color: #660000; }
.legacy-recip--navy { border-color: #000035; background: #000080; color: #fff; }
.legacy-recip--gold { border-color: #ff9900; background: #fff; color: #ff9900; }

.legacy-warning {
    margin: 10px;
    padding: 6px;
    border: 3px solid #ffff00;
    background: #cc0000;
    color: #ffff00;
    font-size: 14px;
}

.legacy-warning > strong {
    display: block;
    margin-bottom: 4px;
    font-size: 16px;
}

.legacy-terms {
    width: min(620px, 100%);
    max-height: 88px;
    margin: 0 auto;
    overflow: auto;
    border: 2px inset #ddd;
    padding: 3px;
    background: #fff;
    color: #000;
    text-align: left;
    font: 13px monospace;
}

.legacy-enter {
    margin: 8px 3px;
}

.legacy-enter a {
    font-size: 50px;
}

.legacy-choices {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 8px;
    margin: 3px;
    padding: 3px;
    font-size: 20px;
}

.legacy-choices a {
    font-size: 35px;
}

.legacy-photo-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(100px, 1fr));
    gap: 6px;
    margin: 8px 3px;
}

.legacy-photo-placeholder {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #888;
    background: #e6e6e6;
    color: #555;
    font-size: 12px;
}

.legacy-photo-placeholder small {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: 10px;
}

.legacy-back {
    margin: 12px 0;
}

.legacy-back a {
    font-size: 28px;
}

.legacy-footer {
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .legacy-gallery h1 {
        font-size: 34px;
    }

    .legacy-subtitle {
        font-size: 18px;
    }

    .legacy-block {
        width: 96%;
    }

    .legacy-intro,
    .legacy-update {
        font-size: 16px;
    }

    .legacy-recip-grid {
        grid-template-columns: repeat(2, minmax(125px, 1fr));
    }

    .legacy-photo-grid {
        grid-template-columns: repeat(2, minmax(100px, 1fr));
    }

    .legacy-promo {
        font-size: 20px;
    }

    .legacy-enter a {
        font-size: 34px;
    }
}

@media (max-width: 360px) {
    .legacy-recip-grid {
        grid-template-columns: 1fr;
    }
}
