From d70c3c7b23f78df6760453e0720a5b5291f52bf9 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 24 Sep 2025 11:18:42 +0000
Subject: [PATCH 1/3] Initial plan
From deeedc64ed26cfb63d621bbd2d10ef8a4219bd2c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 24 Sep 2025 11:21:35 +0000
Subject: [PATCH 2/3] Initial exploration of current redirect system
Co-authored-by: thisiscoding1234 <106704354+thisiscoding1234@users.noreply.github.com>
---
test_current.html | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 test_current.html
diff --git a/test_current.html b/test_current.html
new file mode 100644
index 0000000..65f197c
--- /dev/null
+++ b/test_current.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+ If you are not biniredirected, click this link .
+
+
+
+
\ No newline at end of file
From 3d1c959e850c596093b19f3290de08a9134141ef Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 24 Sep 2025 11:26:07 +0000
Subject: [PATCH 3/3] Implement legendary redirect delay system with 10 stages
Co-authored-by: thisiscoding1234 <106704354+thisiscoding1234@users.noreply.github.com>
---
index.html | 39 ++-
legendary-delay.js | 779 +++++++++++++++++++++++++++++++++++++++++++++
styles.css | 318 +++++++++++++++++-
3 files changed, 1126 insertions(+), 10 deletions(-)
create mode 100644 legendary-delay.js
diff --git a/index.html b/index.html
index d5d3df7..fa9da89 100644
--- a/index.html
+++ b/index.html
@@ -1,17 +1,40 @@
+
+
+ Capable Tech Team - Redirect In Progress
-
+
-
- If you are not biniredirected, click this link .
-
-
+
+
+
+
+
+
diff --git a/legendary-delay.js b/legendary-delay.js
new file mode 100644
index 0000000..4c6a997
--- /dev/null
+++ b/legendary-delay.js
@@ -0,0 +1,779 @@
+/**
+ * The Legendary Redirect Delay System
+ * A masterpiece of user-hostile design and temporal frustration
+ *
+ * This script implements an excruciatingly extended delay before redirecting
+ * users to binimum.org, featuring 10+ distinct stages of inconvenience.
+ */
+
+class LegendaryDelaySystem {
+ constructor() {
+ this.currentStage = 0;
+ this.totalStages = 10;
+ this.stageStartTime = null;
+ this.isPaused = false;
+ this.tabSwitchCount = 0;
+ this.retryClicks = 0;
+ this.committeeVotes = 0;
+ this.easterEggResets = 0;
+
+ // Track if user is focused on tab (for stage 9)
+ this.isTabFocused = true;
+
+ // Philosophical quotes about waiting
+ this.quotes = [
+ "\"Time is the most valuable thing we have and we waste it in extraordinary ways.\" - Steve Jobs (but not today!)",
+ "\"Patience is not simply the ability to wait - it's how we behave while we're waiting.\" - Joyce Meyer",
+ "\"The two most powerful warriors are patience and time.\" - Leo Tolstoy",
+ "\"Good things come to those who wait... and wait... and wait...\" - Anonymous",
+ "\"In the end, we will remember not the words of our enemies, but the silence of our redirects.\" - MLK (probably)",
+ "\"The journey of a thousand miles begins with a single click... and then a very long wait.\" - Lao Tzu (modified)",
+ "\"Time you enjoy wasting is not wasted time... right?\" - Bertrand Russell (hopeful)",
+ "\"All good things are worth waiting for. Apparently, so are redirects.\" - Ancient Proverb",
+ "\"Patience is bitter, but its fruit is sweet. This redirect better be worth it.\" - Aristotle (frustrated)",
+ "\"The trouble is, you think you have time... you don't, but you'll spend it here anyway.\" - Buddha (realistic)"
+ ];
+
+ this.initializeSystem();
+ }
+
+ initializeSystem() {
+ console.log("🐌 Initializing the Legendary Redirect Delay System...");
+ console.log("🎯 Target: binimum.org");
+ console.log("⏰ Expected completion time: When the heat death of the universe becomes a concern");
+
+ // Track tab focus for stage 9
+ document.addEventListener('visibilitychange', () => {
+ this.isTabFocused = !document.hidden;
+ if (!this.isTabFocused) {
+ this.tabSwitchCount++;
+ console.log(`👀 Tab switch detected! Count: ${this.tabSwitchCount}`);
+ }
+ });
+
+ // Prevent right-click and keyboard shortcuts (for maximum frustration)
+ document.addEventListener('contextmenu', e => e.preventDefault());
+ document.addEventListener('keydown', e => {
+ if (e.key === 'F5' || (e.ctrlKey && e.key === 'r')) {
+ e.preventDefault();
+ this.showFakeSpeedupTip();
+ }
+ });
+
+ this.startStage(1);
+ }
+
+ startStage(stageNumber) {
+ this.currentStage = stageNumber;
+ this.stageStartTime = Date.now();
+ this.updateProgressIndicator();
+
+ console.log(`🎭 Starting Stage ${stageNumber} of ${this.totalStages}`);
+
+ const container = document.getElementById('stage-container');
+ container.className = 'fade-in';
+
+ switch(stageNumber) {
+ case 1: this.stage1_InitializingProtocol(); break;
+ case 2: this.stage2_BufferingPatience(); break;
+ case 3: this.stage3_ConfirmationModal(); break;
+ case 4: this.stage4_ResettingProgress(); break;
+ case 5: this.stage5_FakeSystemError(); break;
+ case 6: this.stage6_SnailAnimation(); break;
+ case 7: this.stage7_CommitteeVoting(); break;
+ case 8: this.stage8_QuantumOscillators(); break;
+ case 9: this.stage9_CountdownTimer(); break;
+ case 10: this.stage10_FeedbackForm(); break;
+ default: this.finalRedirect(); break;
+ }
+ }
+
+ stage1_InitializingProtocol() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ Initializing Redirect Protocol...
+
+ Please wait while we establish a secure connection to the legendary binimum.org portal.
+ This process involves complex quantum entanglement procedures.
+
+
+ 05:00
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("🚀 Click me for turbo speed!", 10, 20);
+
+ let timeLeft = 300; // 5 minutes
+ let progress = 0;
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 1) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+ progress += (Math.random() * 0.5); // Very slow progress
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage1-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ document.getElementById('stage1-progress').style.width = `${Math.min(progress, 100)}%`;
+
+ if (timeLeft <= 0) {
+ clearInterval(timer);
+ this.startStage(2);
+ }
+ }, 1000);
+ }
+
+ stage2_BufferingPatience() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ Buffering Patience...
+
+
+ Loading your capacity for extended waiting periods...
+
+ 04:00
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("⚡ Boost loading speed!", 80, 30);
+
+ let timeLeft = 240; // 4 minutes
+ let freezeCount = 0;
+ const messages = [
+ "Buffering patience...",
+ "Calibrating your waiting tolerance...",
+ "Downloading additional patience modules...",
+ "Optimizing your frustration threshold...",
+ "Synchronizing with global waiting standards...",
+ "Installing patience drivers...",
+ "Configuring delay preferences..."
+ ];
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 2) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+
+ // Randomly freeze the spinner and show different messages
+ if (Math.random() < 0.1) {
+ const spinner = document.getElementById('patience-spinner');
+ spinner.classList.add('frozen-spinner');
+ document.getElementById('buffer-message').textContent =
+ messages[Math.floor(Math.random() * messages.length)];
+
+ setTimeout(() => {
+ if (spinner) {
+ spinner.classList.remove('frozen-spinner');
+ }
+ }, 2000);
+ }
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage2-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0) {
+ clearInterval(timer);
+ this.startStage(3);
+ }
+ }, 1000);
+ }
+
+ stage3_ConfirmationModal() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ Confirmation Required
+
+ Are you absolutely certain you wish to continue this legendary journey to binimum.org?
+ This decision cannot be undone, and the path ahead is fraught with additional delays.
+
+ 03:00
+ Yes, I Commit to the Journey
+ No, I Prefer Instant Gratification
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("🔓 Unlock button!", 60, 40);
+
+ let timeLeft = 180; // 3 minutes
+
+ document.getElementById('no-button').addEventListener('click', () => {
+ alert("Wise choice! But you're staying anyway. The journey continues...");
+ });
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 3) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage3-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0) {
+ const yesButton = document.getElementById('yes-button');
+ yesButton.disabled = false;
+ yesButton.textContent = "Yes, I'm Ready for More Delays!";
+ yesButton.addEventListener('click', () => {
+ clearInterval(timer);
+ this.startStage(4);
+ });
+ }
+ }, 1000);
+ }
+
+ stage4_ResettingProgress() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ Progress Loading...
+
+ Watch this progress bar carefully. It definitely won't reset randomly.
+ We promise. Trust us.
+
+
+ 06:00
+
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("🎲 Reset counter!", 20, 60);
+
+ let timeLeft = 360; // 6 minutes
+ let progress = 0;
+ let resetCount = 0;
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 4) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+ progress += (Math.random() * 2);
+
+ // Random reset when progress gets significant
+ if (progress > 30 && Math.random() < 0.15) {
+ progress = 0;
+ resetCount++;
+ document.getElementById('reset-message').textContent =
+ `Oops! Progress reset #${resetCount}. These things happen! 🤷♂️`;
+
+ setTimeout(() => {
+ document.getElementById('reset-message').textContent = '';
+ }, 3000);
+ }
+
+ document.getElementById('stage4-progress').style.width = `${Math.min(progress, 100)}%`;
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage4-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0) {
+ clearInterval(timer);
+ this.startStage(5);
+ }
+ }, 1000);
+ }
+
+ stage5_FakeSystemError() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ ⚠️ SYSTEM ERROR ⚠️
+
+ ERROR CODE: 418 - I'm a teapot (and also confused)
+ The redirect service has encountered an unexpected error.
+ Please click "Retry" to continue. Multiple attempts may be required.
+
+ 05:00
+
+ Retry (${this.retryClicks}/7)
+
+
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("🔧 Fix error!", 70, 25);
+
+ let timeLeft = 300; // 5 minutes
+ const retryButton = document.getElementById('retry-button');
+ const errorMessages = [
+ "Still broken! Try again!",
+ "Nope, didn't work that time either.",
+ "Third time's NOT the charm apparently.",
+ "Have you tried turning it off and on again?",
+ "Error Error: Cannot display error message.",
+ "System is having an existential crisis.",
+ "Almost there! (Just kidding, it's still broken)"
+ ];
+
+ retryButton.addEventListener('click', () => {
+ this.retryClicks++;
+ retryButton.textContent = `Retry (${this.retryClicks}/7)`;
+
+ if (this.retryClicks < 7) {
+ document.getElementById('error-messages').textContent =
+ errorMessages[this.retryClicks - 1];
+ } else {
+ document.getElementById('error-messages').innerHTML =
+ '✅ Error resolved! (It was never really broken)
';
+ retryButton.textContent = "Continue to Next Stage";
+ retryButton.style.background = 'linear-gradient(45deg, #72d7b6, #4CAF50)';
+ retryButton.onclick = () => {
+ clearInterval(timer);
+ this.startStage(6);
+ };
+ }
+ });
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 5) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage5-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0 && this.retryClicks >= 7) {
+ clearInterval(timer);
+ this.startStage(6);
+ }
+ }, 1000);
+ }
+
+ stage6_SnailAnimation() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ 🐌 Snail-Powered Progress
+
+ Our high-speed snail is now carrying your request to binimum.org.
+ Please be patient as Gary makes his way across the information superhighway.
+
+
+ 08:00
+ Gary is feeling motivated today!
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("🥬 Feed Gary!", 50, 70);
+
+ let timeLeft = 480; // 8 minutes
+ let snailPosition = -60;
+ const statusMessages = [
+ "Gary is making steady progress!",
+ "Gary stopped for a snack break.",
+ "Gary is admiring the scenery.",
+ "Gary is questioning his life choices.",
+ "Gary found a new friend (another snail).",
+ "Gary is having an existential moment.",
+ "Gary is almost there! (He's not)",
+ "Gary is rethinking the meaning of speed.",
+ "Gary wonders why everyone is in such a hurry.",
+ "Gary has achieved inner peace."
+ ];
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 6) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+ snailPosition += 0.2; // Very slow progress
+
+ // Random status updates
+ if (timeLeft % 30 === 0) {
+ document.getElementById('snail-status').textContent =
+ statusMessages[Math.floor(Math.random() * statusMessages.length)];
+ }
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage6-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0) {
+ clearInterval(timer);
+ this.startStage(7);
+ }
+ }, 1000);
+ }
+
+ stage7_CommitteeVoting() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ 🗳️ Redirect Committee Session
+
+ The International Committee for Redirect Approval is now voting on your request.
+ Each member must carefully consider the implications of your redirect.
+
+
+ 11:15
+ Waiting for committee members to arrive...
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("🗳️ Influence vote!", 30, 50);
+
+ // Create 15 committee members
+ const committeeContainer = document.getElementById('committee-members');
+ for (let i = 0; i < 15; i++) {
+ const member = document.createElement('div');
+ member.className = 'committee-member';
+ member.id = `member-${i}`;
+ committeeContainer.appendChild(member);
+ }
+
+ let timeLeft = 675; // 11 minutes 15 seconds (15 votes × 45 seconds)
+ let currentVoter = 0;
+ let voteStartTime = Date.now();
+
+ const memberNames = [
+ "Dr. Procrastination", "Prof. Delay", "Chief Slowdown", "Director Pause",
+ "Manager Wait", "Executive Stall", "Supervisor Lag", "Administrator Crawl",
+ "Chairman Snail", "President Turtle", "CEO Molasses", "VP Glacial",
+ "Secretary Lethargic", "Treasurer Sluggish", "Member Dawdle"
+ ];
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 7) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+
+ // Each vote takes 45 seconds
+ if ((Date.now() - voteStartTime) >= 45000 && currentVoter < 15) {
+ const member = document.getElementById(`member-${currentVoter}`);
+ member.classList.add('voted');
+ currentVoter++;
+ voteStartTime = Date.now();
+
+ document.getElementById('voting-status').textContent =
+ `${memberNames[Math.min(currentVoter, 14)]} voted YES! (${currentVoter}/15 votes complete)`;
+
+ // Animate the voting
+ if (currentVoter < 15) {
+ const nextMember = document.getElementById(`member-${currentVoter}`);
+ nextMember.classList.add('voting');
+ }
+ }
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage7-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0 && currentVoter >= 15) {
+ document.getElementById('voting-status').textContent =
+ "🎉 Unanimous approval! Your redirect has been authorized!";
+ clearInterval(timer);
+ setTimeout(() => this.startStage(8), 2000);
+ }
+ }, 1000);
+ }
+
+ stage8_QuantumOscillators() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ ⚛️ Quantum Redirect Oscillators
+
+ Calibrating quantum redirect oscillators for maximum efficiency...
+ Synchronizing with interdimensional routing protocols...
+ Adjusting temporal displacement parameters...
+
+
+ 07:00
+ Initializing quantum field generators...
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("🔬 Quantum boost!", 40, 80);
+
+ let timeLeft = 420; // 7 minutes
+ let progress = 0;
+ const quantumMessages = [
+ "Quantum particles are cooperating nicely.",
+ "Schrödinger's redirect is both complete and incomplete.",
+ "Quantum entanglement with binimum.org established.",
+ "Heisenberg uncertainty principle is being uncertain.",
+ "Quantum field fluctuations detected.",
+ "Parallel universe redirect routes discovered.",
+ "Quantum foam is particularly foamy today.",
+ "String theory suggests your redirect is actually 11-dimensional.",
+ "Quantum tunneling through the internet tubes.",
+ "Reality is questioning its own existence."
+ ];
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 8) {
+ clearInterval(timer);
+ return;
+ }
+
+ timeLeft--;
+ progress += (Math.random() * 1.5);
+
+ // Random quantum status updates
+ if (timeLeft % 25 === 0) {
+ document.getElementById('quantum-status').textContent =
+ quantumMessages[Math.floor(Math.random() * quantumMessages.length)];
+ }
+
+ document.getElementById('quantum-progress').style.width = `${Math.min(progress, 100)}%`;
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('stage8-timer').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0) {
+ clearInterval(timer);
+ this.startStage(9);
+ }
+ }, 1000);
+ }
+
+ stage9_CountdownTimer() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ ⏰ Final Countdown
+
+ You've made it to the final stage! Only 30 minutes remain!
+ WARNING: Timer pauses when you switch tabs.
+ We're watching. 👁️
+
+ 30:00
+
+ Tab switches detected: ${this.tabSwitchCount}
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("⏱️ Time warp!", 65, 15);
+
+ let timeLeft = 1800; // 30 minutes
+ let lastUpdateTime = Date.now();
+
+ const timer = setInterval(() => {
+ if (this.currentStage !== 9) {
+ clearInterval(timer);
+ return;
+ }
+
+ const now = Date.now();
+
+ // Only countdown if tab is focused
+ if (this.isTabFocused) {
+ const elapsed = Math.floor((now - lastUpdateTime) / 1000);
+ timeLeft -= elapsed;
+ document.getElementById('tab-warning').textContent = '';
+ } else {
+ document.getElementById('tab-warning').innerHTML =
+ '⚠️ TIMER PAUSED - Please keep this tab active! ⚠️';
+ }
+
+ lastUpdateTime = now;
+
+ document.getElementById('tab-switch-count').textContent =
+ `Tab switches detected: ${this.tabSwitchCount}`;
+
+ const minutes = Math.floor(timeLeft / 60);
+ const seconds = timeLeft % 60;
+ document.getElementById('countdown-display').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (timeLeft <= 0) {
+ clearInterval(timer);
+ this.startStage(10);
+ }
+ }, 1000);
+ }
+
+ stage10_FeedbackForm() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ 📝 Experience Feedback
+
+ Congratulations! You've nearly completed the legendary delay experience!
+ Please rate your journey before we redirect you to binimum.org.
+
+
+ ${this.getRandomQuote()}
+ `;
+
+ this.addEasterEgg("✍️ Auto-fill!", 25, 90);
+
+ let inputTimeLeft = 120; // 2 minutes until input is enabled
+
+ const inputTimer = setInterval(() => {
+ if (this.currentStage !== 10) {
+ clearInterval(inputTimer);
+ return;
+ }
+
+ inputTimeLeft--;
+
+ const minutes = Math.floor(inputTimeLeft / 60);
+ const seconds = inputTimeLeft % 60;
+ document.getElementById('input-countdown').textContent =
+ `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
+
+ if (inputTimeLeft <= 0) {
+ clearInterval(inputTimer);
+
+ const textarea = document.getElementById('feedback-text');
+ const submitButton = document.getElementById('submit-feedback');
+
+ textarea.disabled = false;
+ textarea.focus();
+ document.getElementById('feedback-timer').textContent =
+ "✅ Text input now enabled! Please provide your feedback.";
+
+ textarea.addEventListener('input', () => {
+ if (textarea.value.length >= 50) {
+ submitButton.disabled = false;
+ submitButton.textContent = "Submit & Continue to binimum.org";
+ submitButton.addEventListener('click', () => {
+ this.finalRedirect();
+ });
+ } else {
+ submitButton.disabled = true;
+ submitButton.textContent = `Need ${50 - textarea.value.length} more characters`;
+ }
+ });
+ }
+ }, 1000);
+ }
+
+ finalRedirect() {
+ const container = document.getElementById('stage-container');
+ container.innerHTML = `
+ 🎉 Legendary Journey Complete!
+
+ Congratulations! You have successfully completed the legendary redirect delay experience!
+ You are now being redirected to binimum.org...
+ Final Statistics:
+ Tab switches: ${this.tabSwitchCount}
+ Easter egg resets: ${this.easterEggResets}
+ Retry button clicks: ${this.retryClicks}
+ Time spent waiting: A legendary amount
+ You have earned the title: Master of Patience
+
+ 05
+ "Your patience has been rewarded... sort of." - The Management
+ `;
+
+ let countdown = 5;
+ const finalTimer = setInterval(() => {
+ countdown--;
+ document.getElementById('final-timer').textContent = countdown.toString();
+
+ if (countdown <= 0) {
+ clearInterval(finalTimer);
+ // Finally redirect!
+ window.location.href = "https://binimum.org/";
+ }
+ }, 1000);
+ }
+
+ updateProgressIndicator() {
+ document.getElementById('current-stage').textContent = this.currentStage;
+ document.getElementById('total-stages').textContent = this.totalStages;
+ const progressPercentage = (this.currentStage - 1) / this.totalStages * 100;
+ document.getElementById('overall-progress-fill').style.width = `${progressPercentage}%`;
+ }
+
+ getRandomQuote() {
+ return this.quotes[Math.floor(Math.random() * this.quotes.length)];
+ }
+
+ addEasterEgg(text, leftPercent, topPercent) {
+ const easterEgg = document.createElement('div');
+ easterEgg.className = 'easter-egg';
+ easterEgg.textContent = text;
+ easterEgg.style.left = `${leftPercent}%`;
+ easterEgg.style.top = `${topPercent}%`;
+
+ easterEgg.addEventListener('click', () => {
+ this.easterEggResets++;
+ alert(`🎉 Easter Egg Found!\n\nCongrats! You found a secret button!\nHowever, as promised, this resets your delay timer.\n\nEaster egg resets: ${this.easterEggResets}\n\nRestarting from Stage 1... 😈`);
+ this.startStage(1);
+ });
+
+ document.getElementById('stage-container').appendChild(easterEgg);
+ }
+
+ showFakeSpeedupTip() {
+ alert("💡 Pro Tip: Try pressing F5 repeatedly to turbocharge the redirect!\n\n(Just kidding, this does absolutely nothing. Nice try though! 😄)");
+ }
+}
+
+// Initialize the legendary delay system when the page loads
+document.addEventListener('DOMContentLoaded', () => {
+ new LegendaryDelaySystem();
+});
+
+// Console ASCII art for the developers who peek
+console.log(`
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⡿⠟⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠻⢿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
+⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⣿⣿⣿⣿⣿⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⠀⣼⣿⠟⠋⠉⠀⠀⠀⠀⠀⠉⠙⠻⣿⣧⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⢸⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡆⠀⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⠀⠀⠀⠀⠀⢰⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠈⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠃⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡆⠹⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠟⠀⠀⠀⠀⢰⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡄⠙⢿⣷⣄⡀⠀⠀⠀⠀⢀⣠⣿⠋⠀⠀⠀⠀⢠⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣄⠀⠉⠛⠿⠿⠿⠿⠿⠛⠉⠀⠀⠀⠀⢀⣴⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣷⣶⣤⣤⣤⣤⣶⣾⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠿⠿⠿⠿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+
+🐌 THE LEGENDARY REDIRECT DELAY SYSTEM 🐌
+Congratulations! You've found the developer console!
+Unfortunately, even knowing the secrets won't help you skip the wait.
+Enjoy your journey through the 10 stages of redirect enlightenment!
+`);
\ No newline at end of file
diff --git a/styles.css b/styles.css
index 2a1bf0f..1623393 100644
--- a/styles.css
+++ b/styles.css
@@ -1,8 +1,322 @@
+/* Base styles */
body {
- margin: 0px;
- font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+ margin: 0;
+ padding: 0;
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+ background: linear-gradient(45deg, #1a1a1a, #2d2d2d);
+ color: #ffffff;
+ min-height: 100vh;
+ overflow-x: hidden;
+}
+
+/* Main container for the redirect experience */
+#redirect-experience {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ min-height: 100vh;
+ padding: 20px;
+ box-sizing: border-box;
+}
+
+#stage-container {
+ width: 100%;
+ max-width: 800px;
+ min-height: 400px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ text-align: center;
+ background: rgba(0, 0, 0, 0.3);
+ border-radius: 15px;
+ padding: 40px;
+ margin: 20px 0;
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
+}
+
+/* Progress indicator */
+#progress-indicator {
+ position: fixed;
+ bottom: 20px;
+ left: 20px;
+ right: 20px;
+ background: rgba(0, 0, 0, 0.8);
+ padding: 15px;
+ border-radius: 10px;
+ border: 2px solid #72d7b6;
+}
+
+.stage-counter {
+ color: #72d7b6;
+ font-weight: bold;
+ margin-bottom: 10px;
+ text-align: center;
+}
+
+.progress-bar {
+ width: 100%;
+ height: 20px;
+ background: #333;
+ border-radius: 10px;
+ overflow: hidden;
+}
+
+.progress-fill {
+ height: 100%;
+ background: linear-gradient(90deg, #72d7b6, #4CAF50);
+ transition: width 0.5s ease;
+ width: 0%;
+}
+
+/* Stage-specific styles */
+.stage-title {
+ font-size: 2.5em;
+ color: #72d7b6;
+ margin-bottom: 20px;
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
+}
+
+.stage-message {
+ font-size: 1.2em;
+ margin: 20px 0;
+ line-height: 1.6;
+}
+
+.stage-timer {
+ font-size: 3em;
+ color: #ff6b6b;
+ font-weight: bold;
+ margin: 30px 0;
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
+}
+
+/* Progress bars for individual stages */
+.stage-progress {
+ width: 100%;
+ max-width: 500px;
+ height: 30px;
+ background: #333;
+ border-radius: 15px;
+ overflow: hidden;
+ margin: 20px 0;
+ border: 2px solid #72d7b6;
+}
+
+.stage-progress-fill {
+ height: 100%;
+ background: linear-gradient(90deg, #ff6b6b, #ff8e53, #72d7b6);
+ transition: width 0.3s ease;
+ width: 0%;
+}
+
+/* Buttons and interactive elements */
+.delay-button {
+ background: linear-gradient(45deg, #72d7b6, #4CAF50);
+ border: none;
+ color: white;
+ padding: 15px 30px;
+ font-size: 1.1em;
+ border-radius: 25px;
+ cursor: pointer;
+ margin: 10px;
+ transition: all 0.3s ease;
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
+}
+
+.delay-button:hover:not(:disabled) {
+ transform: translateY(-2px);
+ box-shadow: 0 7px 20px rgba(0, 0, 0, 0.4);
+}
+
+.delay-button:disabled {
+ background: #666;
+ cursor: not-allowed;
+ opacity: 0.5;
+}
+
+/* Spinner animations */
+.spinner {
+ width: 60px;
+ height: 60px;
+ border: 6px solid #333;
+ border-top: 6px solid #72d7b6;
+ border-radius: 50%;
+ animation: spin 2s linear infinite;
+ margin: 20px 0;
+}
+
+.frozen-spinner {
+ animation-play-state: paused;
+}
+
+@keyframes spin {
+ 0% { transform: rotate(0deg); }
+ 100% { transform: rotate(360deg); }
+}
+
+/* Snail animation */
+.snail-track {
+ width: 100%;
+ height: 100px;
+ background: #333;
+ border-radius: 50px;
+ position: relative;
+ overflow: hidden;
+ margin: 20px 0;
+}
+
+.snail {
+ position: absolute;
+ left: -60px;
+ top: 50%;
+ transform: translateY(-50%);
+ font-size: 3em;
+ animation: crawl 480s linear forwards;
+}
+
+@keyframes crawl {
+ from { left: -60px; }
+ to { left: calc(100% + 60px); }
+}
+
+/* Modal styles */
+.modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.8);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 1000;
+}
+
+.modal-content {
+ background: #2d2d2d;
+ padding: 40px;
+ border-radius: 15px;
+ max-width: 500px;
+ text-align: center;
+ border: 2px solid #72d7b6;
+}
+
+/* Committee voting animation */
+.committee-member {
+ display: inline-block;
+ width: 60px;
+ height: 60px;
+ background: #72d7b6;
+ border-radius: 50%;
+ margin: 10px;
+ position: relative;
+ transition: all 0.5s ease;
+}
+
+.committee-member.voting {
+ animation: pulse 1s ease-in-out;
+}
+
+.committee-member.voted {
+ background: #4CAF50;
+}
+
+@keyframes pulse {
+ 0% { transform: scale(1); }
+ 50% { transform: scale(1.2); }
+ 100% { transform: scale(1); }
+}
+
+/* Form styles */
+.feedback-form {
+ max-width: 400px;
+ margin: 20px 0;
+}
+
+.feedback-textarea {
+ width: 100%;
+ min-height: 120px;
+ padding: 15px;
+ border: 2px solid #72d7b6;
+ border-radius: 10px;
+ background: #333;
+ color: white;
+ font-family: inherit;
+ font-size: 1em;
+ resize: vertical;
+}
+
+.feedback-textarea:disabled {
+ opacity: 0.5;
+ cursor: not-allowed;
+}
+
+/* Philosophical quotes */
+.quote {
+ font-style: italic;
+ color: #72d7b6;
+ font-size: 1.1em;
+ margin: 30px 0;
+ padding: 20px;
+ border-left: 4px solid #72d7b6;
+ background: rgba(114, 215, 182, 0.1);
+ border-radius: 0 10px 10px 0;
+}
+
+/* Easter egg styles */
+.easter-egg {
+ position: absolute;
+ background: #ff6b6b;
+ color: white;
+ padding: 5px 10px;
+ border-radius: 5px;
+ font-size: 0.8em;
+ cursor: pointer;
+ transition: all 0.3s ease;
+}
+
+.easter-egg:hover {
+ transform: scale(1.1);
+ background: #ff5252;
+}
+
+/* Animations and effects */
+@keyframes fadeIn {
+ from { opacity: 0; transform: translateY(20px); }
+ to { opacity: 1; transform: translateY(0); }
+}
+
+.fade-in {
+ animation: fadeIn 0.5s ease-out;
+}
+
+/* Responsive design */
+@media (max-width: 768px) {
+ #stage-container {
+ padding: 20px;
+ margin: 10px;
+ }
+
+ .stage-title {
+ font-size: 2em;
+ }
+
+ .stage-timer {
+ font-size: 2em;
+ }
+
+ #progress-indicator {
+ bottom: 10px;
+ left: 10px;
+ right: 10px;
+ padding: 10px;
+ }
}
+/* Legacy styles for compatibility */
p {
margin: 25px;
}