Widget in one line

This page pretends to be an operator's site. The dock at the edge is added by a single <script> tag — click it and the game opens on top of the page.

Look
Edge
<script src="https://demoscript.dev/lg/w.js"
        data-pos="left"
        data-skin="fortune"
        async></script>

Options

attributevaluesdefault
data-posleft · right · top set in the admin panel
data-skinfortune · marble · marble-light · marble-gold · dice · coin · chip · half · tab · ribbon · neon set in the admin panel
data-games slots, wheel, drop, bubble, race, race2, drill, lucky, live — comma separated, order matters set in the admin panel
Spell out data-pos, data-skin and data-games together and the dock skips the settings request entirely — measured 122 ms to first paint against 204 ms. It still checks in the background whether one of those games has been switched off, and drops that card if so.
data-titletooltip captionGames

How it works

The loader renders the dock inside a Shadow DOM, so the host page styles cannot reach it and it cannot break the host layout. The game itself lives in an <iframe> that is only loaded on the first click — until then the page pays just a few kilobytes for the widget. Closing releases the iframe so no timers, WebSocket or audio context stay alive in the background.

Programmatic control: LightGame.open('wheel') and LightGame.close().

Page content

Filler text below, so you can see that the dock stays put while the page scrolls, and that the overlay locks page scrolling while a game is open.

Try a narrow screen too — there the overlay goes full-screen, which is what you want on a phone.