HTML + CSSOverlays

Safe keypad dialog

A brushed metal panel with keys that sink, indicator lights and a shake when the code is wrong.

Settings

16px
1x

Code

<div class="uvq13-sf"><div class="pg" aria-hidden="true"><i class="h"></i><i></i><i></i><i></i><i></i><i class="s"></i></div><button type="button" class="fire" aria-haspopup="dialog">Open the safe</button><div class="scr"></div><div class="dl" role="dialog" aria-modal="true" aria-labelledby="uvq13-sf-t"><div class="tp"><p id="uvq13-sf-t">Enter the code</p><i class="led" aria-hidden="true"></i></div><div class="dp" aria-hidden="true"><i></i><i></i><i></i><i></i></div><p class="st" aria-live="assertive"><span class="e">Wrong code</span><span class="or">Unlocked</span></p><div class="kp"><button type="button" data-k="1">1</button><button type="button" data-k="2">2</button><button type="button" data-k="3">3</button><button type="button" data-k="4">4</button><button type="button" data-k="5">5</button><button type="button" data-k="6">6</button><button type="button" data-k="7">7</button><button type="button" data-k="8">8</button><button type="button" data-k="9">9</button><button type="button" data-k="del" aria-label="Clear"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 5.5h10.5A1.5 1.5 0 0 1 21 7v10a1.5 1.5 0 0 1-1.5 1.5H9L3 12zM12 9.5l5 5M17 9.5l-5 5"/></svg></button><button type="button" data-k="0">0</button><button type="button" data-k="x" aria-label="Close"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 7l10 10M17 7L7 17"/></svg></button></div><p class="hn">Hint: the middle column</p></div></div>

Prompt for AI

Paste it into ChatGPT, Claude or Cursor and it will adapt the block to your project with these settings, even if you don’t use React.

Markdown version with all the code, for AI assistants

More in Overlays

See all Overlays

Where to use it

PIN dialogs tend to be four empty boxes, and this one feels like the safe in a hotel room. Brushed steel with rivets, round metal keys that sink when pressed, amber dots in a recessed display and a status light that goes red or green. A wrong code shakes the panel and resets it. It works for parental locks, vaults, escape room games and app passcodes.

The main color is the success light and the second one the metal tint. Change the code in the script, and type it with the number keys or Backspace as well as with taps, since the panel listens to the keyboard while it is open.