@font-face {
    font-family: ComputoMonospace-web;
    src: url(/_static/fonts/ComputoMonospace.otf);
}

body {
    margin: 0;
    display: flex;
    height: 100vh;
    align-items: center;
    justify-content: center;
    color: white;
    font-family: "Computo Monospace", ComputoMonospace-web, monospace;
    user-select: none;
}

body a {
    /* Remove underline and color from links */
    color: inherit;
    text-decoration: none;
}

body a:hover {
    color: yellow;
    scale: 110%;
    display: inline-block;
}

body a:active {
    scale: 100%;
}

#back-btn {
    position: absolute;
    top: clamp(16px, 4vw, 32px);
    left: clamp(16px, 4vw, 32px);
    font-size: clamp(1rem, 3vw, 2rem);
}

#container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#date {
    font-size: clamp(2rem, 7vw, 6rem);
    margin-bottom: 0.2em; /* Space between date and clock */
    white-space: nowrap;
}

#clock {
    color: white;
    font-size: clamp(4rem, 14vw, 16rem);
    line-height: 1;
    white-space: nowrap;
}

/* --- Effects --- */

/* Scanlines */
body::before {
    z-index: 1;
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    
    background:
        linear-gradient(
            transparent 50%, 
            rgba(0, 0, 0, 0.1) 50%),
        linear-gradient(
            90deg,
            transparent 50%,
            rgba(0, 0, 0, 0.02) 50%
    );
    background-size:
        100% clamp(2px, 0.5vh, 8px),
        clamp(2px, 0.3vw, 6px) 100%;
}

/* Glow */
body {
    background: radial-gradient(
        circle at center, 
        darkslateblue 0%, 
        #181818 100%
    );
}

/* Glitch effect */
@keyframes glitch-shake {
    0% {
        transform: translate(0);
        text-shadow: none;
    }
    20% {
        transform: translate(-0.02em, 0.01em);
        text-shadow: 4px 0 rgba(255, 0, 0, 0.6), -4px 0 rgba(0, 255, 255, 0.6);
    }
    40% {
        transform: translate(-0.02em, -0.01em);
        text-shadow: -4px 0 rgba(255, 0, 0, 0.6), 4px 0 rgba(0, 255, 255, 0.6);
    }
    60% {
        transform: translate(0.02em, 0.01em);
        text-shadow: 4px 0 rgba(0, 255, 0, 0.6), -4px 0 rgba(255, 0, 255, 0.6);
    }
    80% {
        transform: translate(0.02em, -0.01em);
        text-shadow: -4px 0 rgba(0, 255, 0, 0.6), 4px 0 rgba(255, 0, 255, 0.6);
    }
    100% {
        transform: translate(0);
        text-shadow: none;
    }
}

/* Glitch effect timing */
.glitch-active {
    animation: glitch-shake 0.25s cubic-bezier(0.3, 0.2, 0.05, 0.99);
}