/* ========================================
   BASE - Variables, Reset, Container
   ======================================== */

@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');

:root {
    --bg-color: #f8f8f8;
    --screen-bg: #ffffff;
    --ui-border: #202020;
    --hp-green: #48c050;
    --hp-yellow: #d8b030;
    --hp-red: #c83828;
    --xp-blue: #40a8c0;
    --gs-black: #181818;
    --gs-blue: #283048;
}

body {
    background-color: #111;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    font-family: 'Press Start 2P', cursive;
    user-select: none;
    overflow: hidden;
}

#game-container {
    position: relative;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.8);
}

#game-boy {
    width: 320px;
    height: 288px;
    background-color: var(--screen-bg);
    border: 4px solid #888;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    image-rendering: pixelated;
}

/* --- LCD FILTER --- */
#lcd-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 999;
    background:
        linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.1) 50%),
        linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
    background-size: 100% 2px, 2px 100%;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.5s;
}

#lcd-overlay.active {
    opacity: 1;
}

/* --- LOADING TEXT ANIMATION --- */
.blink-text {
    animation: blinker 0.8s steps(2) infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}