Fredrik JohanssonandClaude Sonnet 5 c23bd369f1 Actually fix click-outside-to-close (previous fix only worked by luck)
Root cause: #app carries a CSS filter for the dread color effect, and
a filter on an ancestor creates a new containing block for any
position:fixed descendant. Every modal (and the overlay) lived inside
#app, so they were clipping to #app's own box — max-width: 1200px,
centered — instead of the real viewport. On screens wider than that,
clicking in the resulting side margins did nothing, because the click
never actually landed inside the fixed element's clipped box.

The earlier "fix" only added Escape support; click-outside code was
already correct and simply never got exercised at the actual edges of
a wide window, which is exactly where a real "click outside" gesture
lands.

Real fix: overlay, help-modal, characters-modal, event-modal, and the
lightbox are now appended directly to <body>, as siblings of #app,
so they're never affected by #app's filter regardless of viewport
width. Everything else (game grid, danger-vignette) stays inside
#app as before.

Verified via headless browser at the exact point that failed before
the fix (top-left corner of a 1300px-wide viewport, well outside
#app's 1200px content area): help, characters, and the lightbox all
now close correctly. Also confirmed no regression — normal gameplay
screen and the game-over overlay both render identically, and the
overlay now correctly covers the full viewport instead of leaving a
gap on wide screens.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 18:57:21 +02:00
2026-07-07 23:06:00 +02:00
2026-07-19 19:49:28 +02:00
2026-07-07 23:06:00 +02:00
2026-07-07 23:06:00 +02:00

Djupet

Lovecraftian idle cult management game set in Malmö, Sweden.

You run a small cult in a basement in Rosengård. The goal is to complete the ritual before the investigators close in. The Turning Torso is involved. The ducks at Ribersborg know more than they let on.

Inspired by Anders Fager, Kult, and Call of Cthulhu.

Play: djupet.games.goonk.se

Stack

Vanilla TypeScript + Vite. No framework. Leaflet for the map.

Dev

npm install
npm run dev       # localhost:5681
npm run typecheck
npm run build

Mechanics

  • Andakt — passive income, spend on upgrades
  • Dread — builds as the ritual deepens, unlocks areas and events
  • Hemlighet — your exposure level; reaches zero and you lose
  • Kaos — triggers chaotic events at 100, resets, repeat
  • Ritual — reach 100 to win; unlocked via the Manuscript

Click locations on the Malmö map to visit them. There is a cooldown.

Docker

docker compose up -d

Serves on port 5684 by default. Override via HOST_PORT in .env.

S
Description
En kult-simulator i Malmö. Because varför inte. Änderna vid Ribban stirrar mot Turning Torso av en anledning.
Readme
38 MiB
Languages
TypeScript 91.1%
CSS 8.5%
HTML 0.3%
Dockerfile 0.1%