
    /******************************************************************
    / GAME CENTER
    *******************************************************************/
    @keyframes fadeSlideDown {
        from {
            opacity: 0;
            transform: translateY(-30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    @keyframes fadeSlideUp {
        from {
            opacity: 1;
            transform: translateY(0);
        }
        to {
            opacity: 0;
            transform: translateY(-30px);
        }
    }

    #header div#gamecenterContainer {
        position: absolute;
        max-width: 400px;
        right: 10px;
        margin-left: 10px;
        background-color: rgb(255, 255, 255);
        color: #444444;
        text-align: center;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        z-index: 2;
        border-radius: 20px;
        border:1px solid #065c1b;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: auto;
        overflow:hidden;
        opacity: 0;
        transform: translateY(-30px);
    }
    #header div#gamecenterContainer.fade-down-container {
        animation: fadeSlideDown 0.8s ease-out 0.2s forwards;
    }
    #header div#gamecenterContainer.fade-up-container {
        opacity: 1;
        transform: translateY(0);
        animation: fadeSlideUp 0.8s ease-out forwards;
    }
    #header div#gamecenterContainer div#gamecenterHeader {
        text-align: center;
        font-weight: bold;
        color: #fff;
        padding: 1vh 2vh;
        background-color: #00AD67;
        width: 100%;
        font-size: 120%;
        text-shadow: 1px 1px #303030a6;
        text-transform: uppercase;
    }
    #header div#gamecenterContainer button#gamecenterCloseButton {
        font-size: 10px;
        position: absolute; 
        top: 1.25vh;
        right: 2vh;
        width: 10px;
        height: 10px;
        z-index: 3;
        cursor: pointer;
        color: #fff;
        background-color: transparent;
        border: none;
    }    
    #header div#gamecenterQuestion {
        font-size: 16px; 
        font-weight: bold;
        padding: 1vh 2vh 3vh 2vh;
    }
    #header div#gamecenterContainer #gamecenterAnswer {
        width: 100%;
    }
    #header div#gamecenterContainer ul {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
        padding: 0 2vh;
        margin: 0 0 4vh 0;
    }
    #header div#gamecenterContainer ul li {
        width: 100%;
        background-color: #00AD67;
        color: #FFFFFF;
        border: 1px solid #065c1b;
        padding: 10px 20px; 
        font-size: 14px;
        cursor: pointer;
        border-radius: 5px;
        transition: background-color 0.3s ease;
        flex-grow: 1;
        margin-bottom: 1vh; 
        font-weight:bold;
    }
    #header div#gamecenterContainer ul li:hover {
        background-color: #FFFFFF;
        color: #444;
    }
    #header div#gamecenterContainer span {
        padding: 0 2vh;
    }
    #header div#gamecenterDismiss {
        margin-bottom: 2vh;
    }
    #header div#gamecenterDismiss ul li#dismissCancel {
        background-color: #FFFFFF;
        color: #444;
    }
    #header div#gamecenterDismissButton {
        text-transform: uppercase;
        font-size:80%;
        font-weight: bold;
        padding: 1vh;
        width: 100%;
        border-top: 1px solid #065c1b;
        color: #444;
        cursor: pointer;
        transition: all 0.1s ease;
    }
    #header div#gamecenterDismissButton:hover {
        position: relative;
        background-color: #00AD67;
        color: #FFFFFF;
        width: 100%;
    }
    #header div#gamecenterIncorrect {
        padding: 0 2vh 2vh 2vh;
    }
    #header div#gamecenterIncorrect p {
        font-size: 16px;
    }
    #header div#gamecenterSuccess {
        position: fixed;
        top: 50%;
        left: 50%; /* Changed from right: 50% to left: 50% */
        transform: translate(-50%, -50%);
        color: rgb(255, 255, 255);
        font-size: 40px;
        font-weight: bold;
        opacity: 0;
        pointer-events: none;
        z-index: 9999;
        /* Thicker text border using multiple text-shadows */
        text-shadow: 
            -1px -1px 0 #00AD67,
            1px -1px 0 #00AD67,
            -1px 1px 0 #00AD67,
            1px 1px 0 #00AD67,
            -2px -2px 0 #00AD67,
            2px -2px 0 #00AD67,
            -2px 2px 0 #00AD67,
            2px 2px 0 #00AD67;
    }
    #header div#gamecenterContainer div#gamecenterIncorrect a#learnURL { 
        width: 100%;
        background-color: #00AD67;
        color: #FFFFFF;
        border: 1px solid #065c1b;
        padding: 10px 20px; 
        font-size: 14px;
        cursor: pointer;
        border-radius: 5px;
        transition: background-color 0.3s ease;
        flex-grow: 1;
        margin: 2vh 0 1vh 0; 
        font-weight:bold; 
        display: block;
    }
    #header div#gamecenterContainer div#gamecenterIncorrect a#learnURL:hover { 
        background-color: #FFFFFF;
        color: #444; 
    }

    canvas { z-index: 9998;}
    body div.popup-animation {
        position: fixed;
        top: 50%;
        left: 50%; /* Changed from right: 50% to left: 50% */
        transform: translate(-50%, -50%);
        color: #00AD67;
        animation: scorePopup 2.5s ease-out;
        opacity:0;
        font-size: 80px;
        text-align: center;
        z-index:9999;
        font-weight:bold;
        -webkit-text-stroke: 2px #FFFFFF;
        -webkit-text-stroke-width: 2px;
        -webkit-text-stroke-color: #FFFFFF;
    }

    @keyframes scorePopup {
        0% {
            opacity: 0;
            transform: translate(-50%, -50%) translateY(0);
        }
        15% {
            opacity: 1;
            transform: translate(-50%, -50%) translateY(-10%);
        }
        70% {
            opacity: 0.5;
            transform: translate(-50%, -50%) translateY(-25%);
        }
        85% {
            opacity: 0.25;
            transform: translate(-50%, -50%) translateY(-35%);
        }
        100% {
            opacity: 0;
            transform: translate(-50%, -50%) translateY(-45%);
        }
    }

    /******************************************************************
    / LEADERBOARD WIDGET
    *******************************************************************/
    div#gamecenterLeaderboard {
        width: 190px;
        margin: 0 auto;
        margin-top: 20px;
    }
    div#gamecenterLeaderboard li.leaderboardHeader {
        display: flex;
        font-size: 80%;
        text-transform: uppercase;
        color: #818181;
        font-weight: bold;
        padding: 0 1vh;
    }
    div#gamecenterLeaderboard ul {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
        margin: 0.25vh;
        border-radius: 10px;
        border: 3px solid #00AD67;
        overflow: hidden;
    }
    div#gamecenterLeaderboard ul li.leaderboardTitle {
        text-align: center;
        font-weight:bold;
        color: #fff;
        background-color: #00AD67;
        padding: 0.5vh 0;
        width: 100%;
        justify-content: center;
        text-transform:  uppercase;
        display: flex;
        flex-direction: column;
    }
    div#gamecenterLeaderboard ul li.leaderboardTitle span:first-child {
        font-size: 20px;
        line-height: 0.85em;
        color: #fff;
        text-shadow: 2px 2px rgba(0, 0, 0, 0.5);
    }
    div#gamecenterLeaderboard ul li.leaderboardTitle span:last-child {
        font-weight: bold;
        font-size: 12px;
        color: #fff;
        letter-spacing: 1px;
    }

    div#gamecenterLeaderboard ul li {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        padding: 0.5vh 0;
        border-bottom: 1px solid #e6e6e6;
        padding: 0.5vh 1vh;
    }
    div#gamecenterLeaderboard ul a li div.leaderboardName{
        color: #333;
        transition: all 0.5s ease;
    }
    div#gamecenterLeaderboard ul a li div.leaderboardName:hover {
        color: #000;
    }
    div#gamecenterLeaderboard ul li:last-child {
        border-bottom: 0;
    }
    div#gamecenterLeaderboard ul li div.leaderboardPlace {
        text-align: center; 
        font-size: 2rem; 
        color: #00AD67; 
        opacity: 0.5; 
        font-weight: bold; 
        width: 20%;
        margin-left: auto;
        
    }
    div#gamecenterLeaderboard ul li.self div.leaderboardPlace {
        width: 25px;
    }
    div#gamecenterLeaderboard ul li.self div.leaderboardPlace.small {
        font-size: 1.5rem;
    }
    div#gamecenterLeaderboard ul li div.leaderboardPlace.circle {
        background-color: #00AD67;
        width: 25px;
        height: 25px;
        border-radius: 50%;
        font-size: 16px;
        opacity: 1;
        color: #fff;
        line-height: 1.5em;
        transform: all 0.5s ease;
    }
    div#gamecenterLeaderboard ul li div.leaderboardPlace.circle.small {
        font-size: 13px;
        line-height: 1.95em;
    }
    
    div#gamecenterLeaderboard ul li div.leaderboardPhoto {
        font-size: 1rem; 
        width: 35px; 
        height: 35px; 
        border-radius: 50%; 
        overflow: hidden; 
        display: flex; 
        justify-content: center; 
        align-items: center; 
        position: relative;
        margin: 0 0.5vh 0 0;
        border:1px solid #00AD67;
    }
    div#gamecenterLeaderboard ul li div.leaderboardPhoto img {
        border: 2px solid #888;
        width: 100%; 
        height: 100%; 
        object-fit: cover;
    }
    div#gamecenterLeaderboard ul li div.leaderboardUser {
        width: 60%;
        word-wrap: break-word;
        flex-grow: 2;
    }
    div#gamecenterLeaderboard ul li div.leaderboardName {
        text-align: left; 
        font-weight: bold; 
    }
    div#gamecenterLeaderboard ul li div.leaderboardPosition {
        font-size: 90%; 
        color: #888; 
        font-weight: normal;
    }
    div#gamecenterLeaderboard ul li.self {
        background-color: #00AD67
    }
    div#gamecenterLeaderboard ul li.self {
        background-color: #00AD67
    }
    div#gamecenterLeaderboard ul li.self div.leaderboardPlace {
        color: #fff; 
    }
    div#gamecenterLeaderboard ul a li.self div.leaderboardName {
        color: #fff;
    }
    div#gamecenterLeaderboard ul a li.self div.leaderboardName:hover {
        color: #fff;
    }
    div#gamecenterLeaderboard ul li.self div.leaderboardPosition {
        color: #fff;
        
    }
    div.leaderboardPosition  {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        align-items: left;
        justify-items: left;
    }
    
    div.leaderboardPosition .fade-span {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        align-items: left;
        justify-content: left;
        transition: opacity 1s ease-in-out;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
    }

    div.leaderboardPosition .fade-out {
        opacity: 0;
    }

    div.leaderboardPosition .fade-in {
        opacity: 1;
    }

    /******************************************************************
    / LEADERBOARD.PHP
    *******************************************************************/
    div#gamecenterLeaderboardProfile div.photo--rank {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        position: relative;
        margin-bottom: 1vh;
    }
    div#gamecenterLeaderboardProfile ul.snooze--optout li {
        display: flex;
        align-items: center;
    }
    div#gamecenterLeaderboardProfile ul.snooze--optout li label {
        margin-left: auto;
        margin-bottom: 0;
    }
    div#gamecenterLeaderboardProfile div.photo--rank #photo {
        width: 150px;
        height: 150px;
        border-radius: 50%;
        overflow: hidden;
        position: relative;
        border: 2px solid #00AD67;
    }
    div#gamecenterLeaderboardProfile div.photo--rank #photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;      /* Fills the container while maintaining aspect ratio */
        object-position: center;
    }
    div#gamecenterLeaderboardProfile div.photo--rank #photo img.missing {
        width: 200%;
        height: 200%;
        position: absolute;
        left: -50%;
        bottom: -50%;
    }
    div#gamecenterLeaderboardProfile div.photo--rank #rank {
        font-size: 18px;
        color: #00AD67;
        font-weight: bold;

        background-color: #00AD67;
        color: #fff;
        padding: 0.1vh 2vh;
        border-radius: 25px;
        position: absolute;
        bottom: -10px;
    }
    div#gamecenterLeaderboardProfile div.name--campus {
        text-align: center;
        padding: 2vh 4vh;
        line-height: 1;
    }
    div#gamecenterLeaderboardProfile div.name--campus #name {
        font-size: 30px;
        font-weight: bold;
    }
    div#gamecenterLeaderboardProfile div.name--campus #campus {
        
    }
    div#gamecenterLeaderboardProfile ul.list-group li.list-group-item span.badge.badge-success {
        background-color: #00AD67;
    }
     /* The slider container */
    div#gamecenterLeaderboardProfile .leaderboard--slider {
        position: relative;
        display: inline-block;
        width: 50px;
        height: 25px;
    }

    /* Hide the default checkbox */
    div#gamecenterLeaderboardProfile .leaderboard--slider input {
        opacity: 0;
        width: 0;
        height: 0;
    }

    /* The slider track */
    div#gamecenterLeaderboardProfile .slider-track {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        border-radius: 25px;
        transition: 0.3s;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 6px;
        font-size: 8px;
        font-weight: bold;
        color: white;
        text-shadow: 0 1px 1px rgba(0,0,0,0.3);
    }

    /* Add YES and NO text */
    div#gamecenterLeaderboardProfile .slider-track:after {
        content: "NO";
        position: absolute;
        right: 6px;
        font-size: 8px;
        font-weight: bold;
        color: white;
        text-shadow: 0 1px 1px rgba(0,0,0,0.3);
    }

    /* The slider button/knob */
    div#gamecenterLeaderboardProfile .slider-track:before {
        position: absolute;
        content: "";
        height: 19px;
        width: 19px;
        left: 3px;
        bottom: 3px;
        background-color: white;
        border-radius: 50%;
        transition: 0.3s;
    }

    /* When checked, change background to green and show YES */
    div#gamecenterLeaderboardProfile input:checked + .slider-track {
        background-color: #00AD67 !important;
    }

    div#gamecenterLeaderboardProfile input:checked + .slider-track:after {
        content: "YES";
        left: 6px;
        right: auto;
    }

    /* Move the knob when checked */
    div#gamecenterLeaderboardProfile input:checked + .slider-track:before {
        transform: translateX(25px) !important;
    }

    div#gamecenterLeaderboardProfile h4.listItemHeader {
        font-size: 12px;
        font-weight: bold;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: end;
    }
    div#gamecenterLeaderboardProfile h4.listItemHeader,
    div#gamecenterLeaderboardProfile ul#seasonStats,
    div#gamecenterLeaderboardProfile ul.snooze--optout {
        padding: 0 2vh;
    }
    div#gamecenterLeaderboardProfile h4.listItemHeader .select2-container.select2 {
        width: 40% !important;
        margin-bottom: 10px;
    }
 

    /******************************************************************
    / TEXT REWARDS
    *******************************************************************/
    .shimmerText {
        background: linear-gradient(90deg, #00f, rgb(81, 234, 234), #00f) -100%/ 200%;
        /* being excessively careful with compat, 
        * though this has been supported unprefixed and 
        * in the shorthand across major browsers for a while */
        -webkit-background-clip: text;
                background-clip: text;
        /* use color, don't use -webkit-text-fill-color anymore, 
        * was meant to solve a problem we haven't had in years */
        color: transparent !important;
        font: 900 clamp(.5em, 13px, 2.5em) exo, sans-serif;
        animation: shimmer 10s linear infinite
    }

    @keyframes shimmer { to { background-position: 100% } }