:root {
    --text: #ffffff;
    --accent: #5e3682;
    --bg: #1e1e1e;
}

html {
    height: 100%;
}

body {
    font-family: 'Lexend', sans-serif;
    background: repeating-linear-gradient(rgba(0, 0, 0, 0) 0px, var(--bg) 4px, rgba(0, 0, 0, 0) 8px), radial-gradient(ellipse at top, var(--accent), transparent), radial-gradient(ellipse at bottom, var(--accent), var(--bg));
    transition: background 0.2s ease 0s;
    color: var(--text);
}

a {
    color: var(--text);
    transition: text-decoration-color 0.15s ease 0s;
}

a:hover {
    text-decoration: var(--accent) underline;
}

.center {
    position: absolute;
    width: 95%;
    max-width: 730px;
    top: 2em;
    left: 50%;
    transform: translate(-50%, 0);
    display: grid;
    gap: 10px;
    grid-template-areas: "profile" "links";
    transition: top 0.2s ease 0s;
}

.card {
    height: min-content;
    border-radius: 10px;
    background-color: var(--bg);
    padding: 1em;
}

#profile {
    grid-area: profile;
    display: grid;
    gap: 10px 1em;
    grid-template-areas: "pfp" "name" "info" "bio";
}

#name {grid-area: name;}
#info {grid-area: info;}
#bio {grid-area: bio;}

#pfp {
    grid-area: pfp;
    height: 10em;
}

#pfp img {
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
    width: 10em;
    border-radius: 100%;
    /*box-shadow: var(--text) 0 0 5px;*/
    transition: left 0.2s ease 0s, transform 0.2s ease 0s;
}

#profile h1, #profile p {
    margin: 0;
    text-align: center;
}

#links {
    grid-area: links;
    display: grid;
    gap: 10px;
    grid-auto-flow: row;
    grid-template-columns: auto auto;
}

#links a {
    list-style: none;
    padding: 1em;
    border-radius: 10px;
    background-color: var(--bg);
    transition: background-color 0.4s ease 0s, color 0.4s ease 0s;
    text-decoration: none;
    text-shadow: none;
    color: var(--text);
    text-align: center;
}

#links a:hover {
    background-color: var(--text);
    color: var(--bg);
}

#links a br {
    display: none;
}

#email {grid-area: email;}
#telegram {grid-area: telegram;}
#bluesky {grid-area: bluesky;}

@media screen and (min-width: 500px) {
    #links {
        grid-template-columns: auto auto auto;
    }
    #profile {
        grid-template-columns: min-content auto;
        grid-template-rows: min-content min-content min-content auto;
        grid-template-areas: "pfp name" "pfp info" "pfp bio" "pfp .";
    }
    #profile h1, #profile p {
        text-align: left;
    }
    #pfp img {
        left: 0;
        transform: translate(0, 0);
    }
}

#e404 {
    text-align: center;
}

@media screen and (max-width: 700px) and (min-width: 500px) {
    #links a br {
        display: inline;
    }
}

@media screen and (max-width: 410px) {
    #links a br {
        display: inline;
    }
    #links a#email br {
        display: none;
    }
}

@media only screen and (max-width: 259px) {
    body {
        visibility: hidden;
    }
    body::before {
        visibility: visible;
        color: black;
        content: 'Please rotate your device into landscape mode, or use a different device.';
    }
}

@media only screen and (min-height: 700px) and (min-width: 1000px) {
    .center {
        top: 10em;
    }
    body {
        background: repeating-linear-gradient(rgba(0, 0, 0, 0) 0px, var(--bg) 4px, rgba(0, 0, 0, 0) 8px), radial-gradient(var(--accent), var(--bg));
    }
}
/*
@media (prefers-color-scheme: light) {
    :root {
        --bg: #e1e1e1;
        --text: #2f252e;
    }
}
*/