body {
    font-family: "Courier New", monospace;
    background: #0a0014;
    color: #fff;
    overflow-x: hidden;
}

.title {
    text-align: center;
    margin-top: 50px;
    font-size: 40px;
    text-shadow: 0 0 10px #f0f;
}

.grid {
    margin: 50px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 40px;
}

.card {
    padding: 20px;
    background: rgba(255, 255, 255, 0.08);
    border: 2px solid #f0f;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 0 20px #f0f;
    transform: rotate(calc(-3deg + 6deg * random()));
    animation: vhs 0.2s infinite;
}

.card:hover {
    transform: scale(1.08);
    filter: brightness(1.5) contrast(1.2);
}

@keyframes vhs {
    0% { filter: blur(0px) contrast(1.1); }
    50% { filter: blur(1px) hue-rotate(10deg); }
    100% { filter: blur(0px) contrast(1.1); }
}

/* boot screen */

.boot {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: black;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
}

.boot-text {
    color: #0f0;
    font-size: 25px;
    animation: flicker 0.2s infinite;
}

@keyframes flicker {
    0% { opacity: 0.5; }
    100% { opacity: 1; }
}
.crt::before {
    content:"";
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    pointer-events:none;
    background:
        repeating-linear-gradient(
            rgba(0,0,0,0.1) 0px,
            rgba(0,0,0,0.12) 2px
        );
    mix-blend-mode:overlay;
}
.vhs-glitch {
    animation: glitch 1.8s infinite;
}

@keyframes glitch {
  0% { filter: hue-rotate(0deg) contrast(1); }
  20% { filter: hue-rotate(20deg) contrast(1.3); }
  40% { filter: hue-rotate(-20deg) contrast(0.8); }
  60% { filter: hue-rotate(10deg) contrast(1.2); }
  80% { filter: hue-rotate(-10deg) contrast(1.4); }
  100% { filter: hue-rotate(0deg) contrast(1); }
}
#bg-tiles {
    position: fixed;
    top:0; left:0;
    width:100%; height:100%;
    z-index:-1;
}
.nav-bar {
    display:flex;
    gap:20px;
    padding:20px;
    position:fixed;
    top:0; left:0;
    z-index:500;
}

.nav-btn {
    color:#fff;
    padding:10px 18px;
    border:2px solid magenta;
    background:rgba(0,0,0,0.4);
    text-decoration:none;
    font-weight:bold;
    transition:0.2s;
}

.nav-btn:hover {
    background:magenta;
    color:black;
}
