Zoom: node.offset/client (zoomed) ===
node.boundingClientRect (zoomed) !==
event.client/client
(not zoomed)
Scale: node.offset/client (scaled) !==
node.boundingClientRect (not scaled) ===
event.client/client
(not scaled)
Viewport: node.offset/client ===
node.boundingClientRect ===
event.client/client
window.innerWidth, window.innerHeight
element.scrollWidth, element.scrollHeight
CSS vw, vh
element.caretPositionFromPoint,
element.caretRangeFromPoint,
element.elementFromPoint