body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    margin: 0;
    padding: 1rem; /* Added padding for smaller screens */
    box-sizing: border-box; /* Ensures padding doesn't add to width */
    background: white;
    font-family: Arial, sans-serif;
    text-align: center; /* Center align all text */
}
img {
    max-width: 90vw;
    height: auto;
}
h1 {
    margin-top: 2rem;
    margin-bottom: 0.5rem; /* Reduced bottom margin */
    color: #222;
    font-size: 2rem;
    letter-spacing: 1px;
}
.tagline {
    font-size: 1.2rem;
    color: #666;
    margin-top: 0;
    font-style: italic;
    font-weight: normal;
}
.site-description {
    font-size: 1.1rem;
    color: #555;
    max-width: 800px; /* Constrain line width for readability */
    line-height: 1.6;
    margin: 1rem auto 0 auto; /* Auto margins for horizontal centering */
}
.social-media {
    margin-top: 1.5rem;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: clamp(1rem, 1.5vw, 10px);
}

.social-media a {
    color: #333;
    transition: color 0.3s ease;
}

.social-media i {
    font-size: clamp(1.3rem, 5vw, 2rem);
}

.social-media a:hover {
    color: #007bff;
}
.gradient-icon {
    background: linear-gradient(90deg, #ff0101, #0b0bff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}
.fade-in-image {
    animation: eInkFade 15s; /* Adjust time as needed */
}
.color-transition {
    animation: grayToColor 10s infinite alternate; /* Adjust time and iteration as needed */
}

@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes eInkFade {
    0% { 
        opacity: 0; 
        filter: grayscale(100%); 
    }
    100% { 
        opacity: 1; 
        filter: grayscale(0%); 
    }
}

@keyframes grayToColor {
    0% { filter: grayscale(100%); }
    100% { filter: grayscale(40%); }
}

.shine {
    background: #222 -webkit-gradient(linear, left top, right top, from(#222), to(#222), color-stop(0.5, #fff)) 0 0 no-repeat;
    background-image: -webkit-linear-gradient(-40deg, transparent 0%, transparent 40%, #fff 50%, transparent 60%, transparent 100%);
    background-size: 200px;
    -webkit-background-size: 200px;
    color: rgba(255, 255, 255, 0.3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    /* Standard animation properties */
    animation: shine 5s infinite;
    -webkit-animation: shine 5s infinite;
    /* Hardware acceleration for iOS */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    text-shadow: 0 0px 0px rgba(255, 255, 255, 0.5);
    position: absolute;
    font-size: 3rem;
}
.shine a {
    color: inherit;
    text-decoration: none;
}

.shine:hover {
    color: rgba(0, 0, 0, 1); /* Makes the symbol solid black on hover */
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.2)); /* Subtle dark "lift" from the page */
    transition: all 0.3s ease;
}


@keyframes shine {
    0%, 10% {
        background-position: -1000px;
    }
    20% {
        background-position: top left;
    }
    90% {
        background-position: top right;
    }
    100% {
        background-position: 1000px;
    }
}

.corrupt {
    position: relative;
    display: inline-block;
    opacity: 1;
}

.corrupt::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    animation: alternateFade 15s infinite ease-in-out;
}

@keyframes alternateFade {
    0%, 10% { opacity: 0; }  /* Start invisible */
    45%, 55% { opacity: 0.4; } 
    90%, 100% { opacity: 0; } /* End invisible to match the start */
}

a:hover, a:focus, a:active, a:visited, a:link {
    text-decoration: none; /* Remove underline from links */
    color: inherit; /* Inherit color from parent */
}
