diff --git a/index.html b/index.html index e250f5d..ede25f8 100644 --- a/index.html +++ b/index.html @@ -1,14 +1,41 @@ + + + Capable Tech Team - Redirect In Progress + -

Tech Team

-

This is war, Max Bai...

- + +
+
+ +
+ + +
+
Stage 1 of 10
+
+
+
+
+
+
+ + + +
+ + + 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
+ + +
${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
+ +
+
${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. +
+
+ +
Text input enabled in: 02:00
+ +
+
${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; } 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