An age confirmation gate that covers the page until answered, then remembers the answer.
It never covers your canvas. While you are designing, it renders as an inline card instead of a full-screen overlay — so it stays out of the way while you work, and thumbnails come out clean. Only a real visitor gets the real gate.
It remembers. Set how many days the answer lasts. Set it to 0 and it asks on every visit. Change the storage key to ask everyone again after a policy change.
16 properties, all on the canvas: Min age · Heading · Body · Confirm · Deny · Denied message · Remember (days) · Storage key · Card width · Radius · Backdrop · Card · Text · Muted · Button · Button text
Built to behave: marked up as a dialog for screen readers. Nothing renders until the saved answer is known, so it never flashes at someone who already confirmed. Private browsing cannot break it — if the browser refuses to save, the gate still works for that visit.
Any layout width and height.
An age confirmation gate that covers the page until answered, then remembers the answer.
It never covers your canvas. While you are designing, it renders as an inline card instead of a full-screen overlay — so it stays out of the way while you work, and thumbnails come out clean. Only a real visitor gets the real gate.
It remembers. Set how many days the answer lasts. Set it to 0 and it asks on every visit. Change the storage key to ask everyone again after a policy change.
16 properties, all on the canvas: Min age · Heading · Body · Confirm · Deny · Denied message · Remember (days) · Storage key · Card width · Radius · Backdrop · Card · Text · Muted · Button · Button text
Built to behave: marked up as a dialog for screen readers. Nothing renders until the saved answer is known, so it never flashes at someone who already confirmed. Private browsing cannot break it — if the browser refuses to save, the gate still works for that visit.
Any layout width and height.