::selection {
    background: #f7ba84;
    color: black;
}

@media (prefers-color-scheme: dark) {
    ::selection {
        color: white;
    }
}

.text-center  { text-align: center; }
.text-right   { text-align: right; }

header h1 {
    position: sticky;
    top: 0;
}

.fallback-banner {
    background: #a9a6ad;
    border: 0 none;
    margin: -8px -8px 0px -8px;
}

.page-title a {
    text-decoration: none;
}


/* Undo margin hack for non-Netscape Navigator 4 */
html .fallback-banner {
    margin: 0;
}

body {
    background: #1a1c28 -webkit-linear-gradient(#2d2b36, #2d2b36, #1a1c28);
    background: #1a1c28 linear-gradient(to bottom, #2d2b36, #2d2b36, #1a1c28);
}

header {
    background-image: -webkit-linear-gradient(#a9a6ad, #f7ba84 99%, #2d2b36);
    background-image: linear-gradient(to bottom, #a9a6ad, #f7ba84 99%, #2d2b36);
}

/* Hacks for iOS Safari with Liquid Glass not extending the header into the safe area at the top */
@supports (animation-timeline: scroll()) {
    @keyframes headerhack {
        0% {
            background: #a9a6ad;
        }

        2%,
        100% {
            background: transparent;
        }
    }

    header::before {
        content: '';
        display: block;
        position: fixed;
        height: 5vw;
        width: 100vw;
        top: 0;
        background: #a9a6ad;
        z-index: -1;
        animation: headerhack linear;
        animation-timeline: scroll();
    }
}

pre, code, kbd, tt {
    font-family: system-ui-mono, 'Roboto Mono', 'Droid Sans Mono', 'Consolas', 'Menlo', 'Lucida Console', 'Monaco', monospace;
}

pre {
    padding: 5px;
    border: 0.5px solid #474658;
    overflow-x: auto;
    max-width: 100%;
}

code, tt {
    white-space: nowrap;
}

pre code {
    white-space: pre;
}

h3,
strong {
    font-weight: 500;
}

ul {
    margin: 0;
    padding-left: 40px;
    padding-inline: 40px 0;
}

.article-list p span {
    font-style: italic;
}

.iearticle.floating, .iesection.floating,
article.floating, section.floating {
    border-radius: 0.25rem;
}

article > h2:first-child, section > h2:first-child {
    margin-top: 0;
}


figure {
    background: rgba(71, 70, 88, 0.15);
    text-align: center;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 1em;
    padding: 1rem;
}

figcaption {
    font-size: 80%;
    padding-top: 0.5em;
    padding-top: 0.5rem;
    font-weight: 400;
}

img {
    max-width: 100%;
}

.img-center {
    text-align: center;
    margin: 0 auto;
    display: block;
}

.img-lightbg {
    background: rgba(255, 255, 255, 0.5);
}

abbr {
    font-variant-caps: all-small-caps;
    font-variant-numeric: oldstyle-nums;
}


blockquote {
    margin: 0;
    padding-left: 1em;
    padding-left: 1rem;
    font-weight: 300;
    border-left: 0.5em solid #474658;
    border-left-width: 0.5rem;
}

@media (min-width: 500px) {
    blockquote {
        margin-left: 2em;
        margin-left: 2rem;
    }
}

hr {
    height: 1px;
    border: 0 none;
    border-top: 1px dashed #474658;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.5);
}

div.profile {
    margin: 1em 0;
    margin: 1rem 0;
}


div.profile p.photo {
    float: right;
    order: 2;
    padding: 0;
    margin: 0;
    width: 316px;
    max-width: 33%;
    flex-shrink: 0;
    display: block;
    background: none;
    margin-left: 2%;
    margin-left: 1rem;
}

@media (min-width: 600px) {
    div.profile {
        display: flex;
    }
}

div.profile p.photo img {
    display: block;
    border-radius: 0.25rem;
}

div.profile .iesection,
div.profile section {
    flex: 1 1 auto;
    display: inline-block;
    width: 65%;
    padding: 0;
}

div.profile .iesection > *,
div.profile section > * {
    margin: 1em;
    margin: 1rem;
}

@media (max-width: 600px) {
    div.profile section {
        width: auto;
        display: block;
    }
}

.iefooter,
footer {
    clear: both;
}

a.profile-icon {
    text-decoration: none;
    color: inherit;
}

a.profile-icon + a.profile-icon {
    margin-left: 1em;
    margin-left: 1rem;
}

a.profile-icon svg {
    height: 2em;
    height: 2rem;
    width: 2em;
    width: 2rem;
    fill: currentColor;
}

@view-transition {
  navigation: auto;
}

/* Header for the month of June */
body[class*="date-"][class*="-06-"] header {
    background-image:
        linear-gradient(
            105deg,
            rgba(228, 3, 3, 0) 69.8vw,
            rgba(228, 3, 3, 0.05) 70.2vw,
            rgba(228, 3, 3, 0.025) 71vw,
            rgba(228, 3, 3, 0.05) 71.8vw,
            rgba(255, 140, 0, 0.05) 72.2vw,
            rgba(255, 140, 0, 0.025) 73vw,
            rgba(255, 140, 0, 0.05) 73.8vw,
            rgba(255, 255, 0, 0.05) 74.2vw,
            rgba(255, 255, 0, 0.025) 75vw,
            rgba(255, 255, 0, 0.05) 75.8vw,
            rgba(0, 128, 38, 0.05) 76.2vw,
            rgba(0, 128, 38, 0.025) 77vw,
            rgba(0, 128, 38, 0.05) 77.8vw,
            rgba(36, 64, 142, 0.05) 78.2vw,
            rgba(36, 64, 142, 0.025) 79vw,
            rgba(36, 64, 142, 0.05) 79.8vw,
            rgba(115, 41, 130, 0.05) 80.2vw,
            rgba(115, 41, 130, 0.025) 81vw,
            rgba(115, 41, 130, 0.05) 81.8vw,
            rgba(115, 41, 130, 0) 82.2vw
        ),
        linear-gradient(to bottom, #a9a6ad, #f7ba84 99%, #2d2b36);
}
