This is a local place, for local people.
There's nothing for you here!

--:--:--

--------- ---

/* ========================================================= LANCASHIRE DISPLAY — JS (Option C) - Keeps fullscreen toggle and cursor auto-hide - Adjusts #top_message and #message using fixed rem steps based on total character count (NOT viewport size) ========================================================= */ /* Fullscreen toggle (unchanged) */ function toggleFullScreen() { if (!document.fullscreenElement) { const el = document.documentElement; if (el.requestFullscreen) el.requestFullscreen(); else if (el.mozRequestFullScreen) el.mozRequestFullScreen(); // Firefox else if (el.webkitRequestFullscreen) el.webkitRequestFullscreen(); // Chrome, Safari, Opera else if (el.msRequestFullscreen) el.msRequestFullscreen(); // IE/Edge (legacy) } else { if (document.exitFullscreen) document.exitFullscreen(); } } /* Auto-hide cursor after inactivity (unchanged) */ (function () { let cursorTimer; const hideDelay = 3000; // 3 seconds function hideCursor() { document.body.style.cursor = 'none'; } function resetTimer() { document.body.style.cursor = 'default'; clearTimeout(cursorTimer); cursorTimer = setTimeout(hideCursor, hideDelay); } document.addEventListener('mousemove', resetTimer); document.addEventListener('mousedown', resetTimer); resetTimer(); })(); /* System info dialog (unchanged) */ function showSecretInfo() { const version = "2.1"; const copyright = "© 2023-2026 GM Publicity. All rights reserved."; alert("System Information\n----------------------\nVersion: " + version + "\n" + copyright); } /* Bind events */ window.addEventListener('load', adjustLayout); window.addEventListener('resize', adjustLayout); /* Optional: if your app dynamically changes the message text, you can re-run adjustLayout when content updates. Uncomment below. const observer = new MutationObserver(() => adjustLayout()); ['top_message', 'message'].forEach(id => { const el = document.getElementById(id); if (el) observer.observe(el, { childList: true, characterData: true, subtree: true }); }); */