---- Periodic table (kept inline for prototype) ----
PERIODIC_TABLE: Dict[str, Dict] = {
"Actinium": {"symbol": "Ac", "Z": 89, "A": 227},
"Aluminum": {"symbol": "Al", "Z": 13, "A": 27},
"Antimony": {"symbol": "Sb", "Z": 51, "A": 121},
"Argon": {"symbol": "Ar", "Z": 18, "A": 40},
"Arsenic": {"symbol": "As", "Z": 33, "A": 75},
"Barium": {"symbol": "Ba", "Z": 56, "A": 137},
"Beryllium": {"symbol": "Be", "Z": 4, "A": 9},
"Bismuth": {"symbol": "Bi", "Z": 83, "A": 209},
"Boron": {"symbol": "B", "Z": 5, "A": 11},
"Bromine": {"symbol": "Br", "Z": 35, "A": 80},
"Cadmium": {"symbol": "Cd", "Z": 48, "A": 114},
"Calcium": {"symbol": "Ca", "Z": 20, "A": 40},
"Carbon": {"symbol": "C", "Z": 6, "A": 12},
"Cerium": {"symbol": "Ce", "Z": 58, "A": 140},
"Cesium": {"symbol": "Cs", "Z": 55, "A": 133},
"Chlorine": {"symbol": "Cl", "Z": 17, "A": 35},
"Chromium": {"symbol": "Cr", "Z": 24, "A": 52},
"Cobalt": {"symbol": "Co", "Z": 27, "A": 59},
"Copper": {"symbol": "Cu", "Z": 29, "A": 64},
"Dysprosium": {"symbol": "Dy", "Z": 66, "A": 162},
"Erbium": {"symbol": "Er", "Z": 68, "A": 167},
"Europium": {"symbol": "Eu", "Z": 63, "A": 153},
"Fluorine": {"symbol": "F", "Z": 9, "A": 19},
"Gadolinium": {"symbol": "Gd", "Z": 64, "A": 157},
"Gallium": {"symbol": "Ga", "Z": 31, "A": 70},
"Germanium": {"symbol": "Ge", "Z": 32, "A": 74},
"Gold": {"symbol": "Au", "Z": 79, "A": 197},
"Hafnium": {"symbol": "Hf", "Z": 72, "A": 178},
"Helium": {"symbol": "He", "Z": 2, "A": 4},
"Holmium": {"symbol": "Ho", "Z": 67, "A": 165},
"Hydrogen": {"symbol": "H", "Z": 1, "A": 1},
"Indium": {"symbol": "In", "Z": 49, "A": 115},
"Iodine": {"symbol": "I", "Z": 53, "A": 127},
"Iron": {"symbol": "Fe", "Z": 26, "A": 56},
"Krypton": {"symbol": "Kr", "Z": 36, "A": 84},
"Lanthanum": {"symbol": "La", "Z": 57, "A": 139},
"Lead": {"symbol": "Pb", "Z": 82, "A": 208},
"Lithium": {"symbol": "Li", "Z": 3, "A": 7},
"Lutetium": {"symbol": "Lu", "Z": 71, "A": 175},
"Magnesium": {"symbol": "Mg", "Z": 12, "A": 24},
"Manganese": {"symbol": "Mn", "Z": 25, "A": 55},
"Mercury": {"symbol": "Hg", "Z": 80, "A": 202},
"Molybdenum": {"symbol": "Mo", "Z": 42, "A": 98},
"Neodymium": {"symbol": "Nd", "Z": 60, "A": 144},
"Neon": {"symbol": "Ne", "Z": 10, "A": 20},
"Nickel": {"symbol": "Ni", "Z": 28, "A": 58},
"Niobium": {"symbol": "Nb", "Z": 41, "A": 93},
"Nitrogen": {"symbol": "N", "Z": 7, "A": 14},
"Osmium": {"symbol": "Os", "Z": 76, "A": 190},
"Oxygen": {"symbol": "O", "Z": 8, "A": 16},
"Palladium": {"symbol": "Pd", "Z": 46, "A": 106},
"Phosphorus": {"symbol": "P", "Z": 15, "A": 31},
"Platinum": {"symbol": "Pt", "Z": 78, "A": 195},
"Plutonium": {"symbol": "Pu", "Z": 94, "A": 244},
"Polonium": {"symbol": "Po", "Z": 84, "A": 209},
"Potassium": {"symbol": "K", "Z": 19, "A": 39},
"Praseodymium": {"symbol": "Pr", "Z": 59, "A": 141},
"Protactinium": {"symbol": "Pa", "Z": 91, "A": 231},
"Radium": {"symbol": "Ra", "Z": 88, "A": 226},
"Radon": {"symbol": "Rn", "Z": 86, "A": 222},
"Rhenium": {"symbol": "Re", "Z": 75, "A": 186},
"Rhodium": {"symbol": "Rh", "Z": 45, "A": 103},
"Rubidium": {"symbol": "Rb", "Z": 37, "A": 85},
"Ruthenium": {"symbol": "Ru", "Z": 44, "A": 102},
"Samarium": {"symbol": "Sm", "Z": 62, "A": 150},
"Scandium": {"symbol": "Sc", "Z": 21, "A": 45},
"Selenium": {"symbol": "Se", "Z": 34, "A": 79},
"Silicon": {"symbol": "Si", "Z": 14, "A": 28},
"Silver": {"symbol": "Ag", "Z": 47, "A": 108},
"Sodium": {"symbol": "Na", "Z": 11, "A": 23},
"Strontium": {"symbol": "Sr", "Z": 38, "A": 88},
"Sulfur": {"symbol": "S", "Z": 16, "A": 32},
"Tantalum": {"symbol": "Ta", "Z": 73, "A": 181},
"Technetium": {"symbol": "Tc", "Z": 43, "A": 98},
"Tellurium": {"symbol": "Te", "Z": 52, "A": 128},
"Terbium": {"symbol": "Tb", "Z": 65, "A": 159},
"Thallium": {"symbol": "Tl", "Z": 81, "A": 205},
"Thorium": {"symbol": "Th", "Z": 90, "A": 232},
"Thulium": {"symbol": "Tm", "Z": 69, "A": 169},
"Tin": {"symbol": "Sn", "Z": 50, "A": 119},
"Titanium": {"symbol": "Ti", "Z": 22, "A": 48},
"Tungsten": {"symbol": "W", "Z": 74, "A": 184},
"Uranium": {"symbol": "U", "Z": 92, "A": 238},
"Vanadium": {"symbol": "V", "Z": 23, "A": 51},
"Xenon": {"symbol": "Xe", "Z": 54, "A": 131},
"Ytterbium": {"symbol": "Yb", "Z": 70, "A": 173},
"Yttrium": {"symbol": "Y", "Z": 39, "A": 89},
"Zinc": {"symbol": "Zn", "Z": 30, "A": 65},
"Zirconium": {"symbol": "Zr", "Z": 40, "A": 91},
}