/* ==============================
   Base app container
   ============================== */
#app {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #fff; /* text white on dark background */
    background-color: #111; /* full page black */
    min-height: 100vh;
    padding: 20px;
}

/* ==============================
   Grid layout
   ============================== */
#app-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

/* ==============================
   App cards / cubes
   ============================== */
.app-card {
    background-color: #111; /* black cube */
    border: 1px solid #222; /* subtle border for separation */
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.app-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.7);
}

/* ==============================
   App card images
   ============================== */
.app-card img {
    width: 80px;
    height: 250px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 10px;
}

/* ==============================
   App card text
   ============================== */
.app-card span {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}



/* Responsive Topbar */
@media (max-width: 768px) {
    .topbar {
        padding: 0 15px;
    }
    .nav a {
        padding: 4px 8px;
        font-size: 13px;
    }
}

/* ==============================
   Responsive
   ============================== */
@media (max-width: 600px) {
    #app-container {
        grid-template-columns: 1fr;
    }
}