So I've got two keys: public for receiving btc and private for spending them.
How can I see the balance of my wallet/private key?
The balance of the private key is the same as the balance of the public key (which is also the same as the balance of the bitcoin address).
Are there any ways to do that offline, without using 3rd party software?
You need to know all the transactions that sent you bitcoins, and all the transactions that spent any of those bitcoins. Typically this is handled by scanning through the blockchain to find all the transaction outputs that can be spent with your keys, and all the inputs that spend any of those outputs. However, if you have reliably stored the information about those transactions somewhere else, you could just refer to your stored list. The sum of those transaction outputs minus the sum of the transaction inputs is the balance. Generally, acquiring a copy of the blockchain is accomplished with software, and scanning it is also handled with software. Since Bitcoin is a virtual digital currency, it doesn't really exist outside of software. I'm not sure what you are trying to ask here.
Also, how do I spend/send my btc using that private key? What's the most basic way?
You create a bitcoin transaction with the appropriate inputs and outputs. Then you connect to Bitcoin peers on the internet and send that transaction to them. This is typically handled for you by wallet software. The software allows you to enter someone's bitcoin address and the amount you are sending. Then it handles the creation and broadcasting of the transaction.
(no software if possible also)
While it is possible to just give someone your private key (which would then allow them access to ALL of the bitcoins that you ever have received or ever will receive with the associated bitcoin address), that is not a good idea and is not typically acceptable to the person to whom you are sending the bitcoins.
If you are going to send them with an actual bitcoin transaction, then you'll need to learn how to calculate ECDSA signatures by hand. That's a complicated process. You can start learning a bit about it here:
https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm#Signature_generation_algorithmI'm not 100% certain, but if I recall correctly, the ECDSA signature algorithm in bitcoin uses SHA256 for its hash. If that's true, then you are going to need to learn to calculate SHA256 hashes by hand as well. That is another complicated process. You can start learning a bit about it here:
https://en.wikipedia.org/wiki/SHA-2#Hash_standardYou'll also need to know the details of the transactions that sent you the bitcoins that you want to spend. At a minimum, you'll need to know their transactionID, the index of the output that you want to spend, the script in that output, and the value of that output.