diff --git a/index.html b/index.html
index f93472a..3d62ac7 100644
--- a/index.html
+++ b/index.html
@@ -55,6 +55,23 @@
function sleep(ms){ return new Promise(r => setTimeout(r, ms)); }
function bodyGlitch(){ document.body.classList.add('glitch'); setTimeout(()=> document.body.classList.remove('glitch'), 180); }
+ // --- Typing click sound (minimal) ---
+ const AudioCtx = window.AudioContext || window.webkitAudioContext;
+ let ctx = null;
+ function ensureAudio(){ if (!ctx) ctx = new AudioCtx(); if (ctx.state === 'suspended') ctx.resume(); }
+ function typeClick(){
+ if (!ctx) return; // only after first click enables audio
+ const osc = ctx.createOscillator();
+ const gain = ctx.createGain();
+ osc.type = 'square';
+ osc.frequency.value = 800 + Math.random()*200;
+ gain.gain.setValueAtTime(0.05, ctx.currentTime);
+ gain.gain.exponentialRampToValueAtTime(0.0001, ctx.currentTime + 0.04);
+ osc.connect(gain).connect(ctx.destination);
+ osc.start();
+ osc.stop(ctx.currentTime + 0.05);
+ }
+
const bootLines = [
'Phoenix BIOS v4.0 Release 6.0',
'Copyright (C) 1985-2025 Phoenix Technologies Ltd.',
@@ -93,6 +110,7 @@
for (let i=0; i1 ? 3 : 12 + Math.random()*30);
}
@@ -100,7 +118,8 @@
if (line.startsWith('[WARN]')) bodyGlitch();
}
- document.addEventListener('click', () => { speed = 3; });
+ // Click once to enable audio & optionally speed up
+ document.addEventListener('click', () => { ensureAudio(); speed = 3; }, { once: false });
(async function run(){
await sleep(200);
@@ -112,11 +131,12 @@
}
await sleep(300);
- const final = 'Incoming message... Andy is a cock.';
+ const final = 'Incoming message... Andy is a cock!';
const span = document.createElement('span');
screen.append(span);
for (let i=0; i