**Framework auto-detection** | ESX, QBCore, Qbox, ox_core, ND_Core, or fully standalone. Detected once at boot, adapters live in `bridge/`. Nothing else in the resource touches a framework.
**Drop-in takeover** | `esx:showNotification`, `esx:showAdvancedNotification`, `QBCore:Notify`, `QBCore.Functions.Notify`, `qbx_core:notify`, `ox_lib:notify`, `ox:notify`, `ND_Core:Notify`, mythic_notify (including persistent alerts), okokNotify, t-notify, codem-notification and brutal_notify. Every hook is installed **only** if that resource is actually running. You change nothing in your other scripts.
**Six styles** | `toast` (card), `minimal` (pill), `banner` (wide bar), `announce` (centred headline), `media` (image card), `subtle` (bare text, no panel). Any call can override the style for one notification.
**Nine anchors** | Every corner, edge and the centre. The player picks a default from a 3×3 grid that mirrors the screen; a call can send to any anchor regardless.
**Queue & priorities** | `maxVisible` per anchor with a "+3 more" chip, `low / normal / high / critical` priorities. High jumps the queue, critical clears space for itself and ignores Do Not Disturb.
**Duplicate collapsing** | The same message twice in four seconds becomes one card with a `×2` badge instead of a wall of identical toasts.
**Updatable notifications** | Fire a sticky `loading` toast, drive its progress bar, then resolve it into a success — one id, one card, no flicker.
**Reading time** | Long messages automatically earn extra seconds on screen, capped so nothing sticks.
**Pause-aware** | Countdowns freeze while the pause menu is open, and notifications sent during a cutscene are held and replayed afterwards.
**Player settings** | Position, style, animation, theme, accent, size, opacity, sounds, volume, timer bar, timestamps, Do Not Disturb and per-type muting. Persisted per player in a KVP. `Config.Locked` pins any of them server-side.
**History** | The last 40 notifications in a panel, so "what did that say?" has an answer.
**Targeted server API** | Notify one player, a list, everyone, a whole job (with a minimum grade), or everyone inside a radius. Client relay is off by default and rate limited when on.
**Locale-aware** | English and Hungarian included. Any text starting with `@` is resolved as a locale key, arguments included.
**Zero dependencies** | No ox_lib, no MySQL, no NUI focus except for the two panels.