UNTANGLE — mutual.black public game preview Copyright (C) 2026 Left Gaming / Douglas Knoll SPDX-License-Identifier: GPL-3.0-or-later Adapted on 2026-09-17 from the mutualBlack Untangle integration (2026-09-05), itself adapted from UntangleLeft commit bac5b4f6186ecd92df959ffdac64424a0110e810. The actual game's planar graph generator, geometric intersection engine, deterministic seed algorithm, canvas renderer, and puzzle controller are used. Preview changes: compact accessible controls and typography; silent audio; keyboard node selection and movement; reduced-motion and offscreen handling; ephemeral game-only memory; public host messaging; no private app imports. This game is free software: you may redistribute and/or modify it under the GNU General Public License, version 3 or (at your option) any later version. It is provided without warranty, including merchantability or fitness for a particular purpose. Full license: untangle-LICENSE.txt (in this same directory). The complete editable source for this preview is shipped alongside this notice: untangle-preview.html untangle-preview.css untangle-game.js untangle-host.js No build step or additional game dependencies are required. Serve these files together over HTTP(S). Embed untangle-preview.html in an iframe with sandbox="allow-scripts". On UNTANGLE_READY, the parent sends {type:'UNTANGLE_INIT',seed:integer,appName:'Elsewhere', progress:{level:1,completed:[],records:{},sound:false}}. The child replies UNTANGLE_STARTED. Only messages from window.parent are accepted. The parent can send UNTANGLE_PREVIEW_VISIBILITY with visible true or false to resume or suspend drawing and the timer. Reload to change seed. No game progress persists beyond the frame's lifetime. Audio is disabled. A puzzle seed is public game data, never an authentication credential.