Skybreak Recovery Console

SKYBREAK RECOVERY PROTOCOL

TIME REMAINING
–:–:–
Team Name Recovery Sequence

#skybreak-app { max-width: 760px; margin: 40px auto; padding: 32px; background: #07111f; color: #eaf6ff; font-family: Arial, sans-serif; border-radius: 18px; box-shadow: 0 0 30px rgba(0,180,255,0.25); } #skybreak-app h1 { text-align: center; letter-spacing: 2px; color: #7ddcff; margin-bottom: 30px; } .timer-box { text-align: center; padding: 24px; margin: 28px 0; border: 1px solid #2d7fa3; border-radius: 14px; background: #0b1c30; } .label { font-size: 13px; color: #9fcde0; margin-bottom: 8px; } #countdown { font-size: 52px; font-weight: bold; color: #ffffff; } label { display: block; margin-top: 18px; margin-bottom: 6px; color: #b7dce8; } input { width: 100%; padding: 14px; border-radius: 8px; border: none; font-size: 16px; box-sizing: border-box; } button { margin-top: 24px; width: 100%; padding: 16px; border: none; border-radius: 10px; background: #00a6d6; color: white; font-weight: bold; font-size: 16px; cursor: pointer; transition: 0.2s; } button:hover { background: #00c2ff; } #message { margin-top: 18px; font-weight: bold; min-height: 24px; } #success-panel { text-align: center; margin-top: 30px; } #success-panel h2 { color: #86ffb0; } .video-wrap { margin-top: 24px; position: relative; padding-bottom: 56.25%; height: 0; } .video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } @media (max-width: 700px) { #countdown { font-size: 36px; } #skybreak-app { padding: 20px; } } /* ========================= CONFIGURATION ========================= */ // Correct recovery sequence const correctPhrase = “TRUST-VERIFY-JUDGEMENT”; // Countdown target time const targetTime = new Date(“2026-05-27T15:40:00+02:00”).getTime(); // YouTube video ID const youtubeVideoId = “YOUR_YOUTUBE_VIDEO_ID”; /* ========================= INTERNAL VARIABLES ========================= */ let attempts = 0; let lastTimeRemaining = “00:00:00”; /* ========================= COUNTDOWN TIMER ========================= */ function updateCountdown() { const now = new Date().getTime(); const distance = targetTime – now; if (distance <= 0) { document.getElementById("countdown").innerText = "00:00:00"; lastTimeRemaining = "00:00:00"; return; } const hours = Math.floor(distance / (1000 * 60 * 60)); const minutes = Math.floor( (distance % (1000 * 60 * 60)) / (1000 * 60) ); const seconds = Math.floor( (distance % (1000 * 60)) / 1000 ); lastTimeRemaining = String(hours).padStart(2, "0") + ":" + String(minutes).padStart(2, "0") + ":" + String(seconds).padStart(2, "0"); document.getElementById("countdown").innerText = lastTimeRemaining; } setInterval(updateCountdown, 1000); updateCountdown(); /* ========================= NORMALIZE INPUT ========================= */ function normalizePhrase(text) { return text .trim() .toUpperCase() .replace(/\s+/g, "") .replace(/–|—/g, "-"); } /* ========================= GOOGLE FORM SUBMISSION ========================= */ function submitToGoogleForm( teamName, phrase, correct, timeRemaining, attempts ) { const formUrl = "https://docs.google.com/forms/d/e/1FAIpQLSfjRigHmBZuqZTSe12DkNW4o2r112td6uOuycBM4iNlE_1uIQ/formResponse&quot;; const formData = new FormData(); formData.append( "entry.1553492892", teamName ); formData.append( "entry.1661924155", phrase ); formData.append( "entry.163865631", correct ); formData.append( "entry.1914532693", timeRemaining ); formData.append( "entry.1857788396", attempts ); fetch(formUrl, { method: "POST", mode: "no-cors", body: formData }); } /* ========================= MAIN VALIDATION ========================= */ function checkRecovery() { attempts++; const teamName = document.getElementById("teamName") .value .trim(); const enteredPhrase = normalizePhrase( document.getElementById("passphrase").value ); const message = document.getElementById("message"); if (!teamName) { message.style.color = "#ffcc66"; message.innerText = "Please enter your team name."; return; } if (enteredPhrase === correctPhrase) { submitToGoogleForm( teamName, enteredPhrase, "YES", lastTimeRemaining, attempts ); document.getElementById("entry-panel") .style.display = "none"; document.getElementById("success-panel") .style.display = "block"; document.getElementById("finalTime") .innerText = lastTimeRemaining; document.getElementById("successVideo") .src = "https://www.youtube.com/embed/&quot; + youtubeVideoId + "?autoplay=1&mute=1"; } else { submitToGoogleForm( teamName, enteredPhrase, "NO", lastTimeRemaining, attempts ); message.style.color = "#ff7777"; message.innerText = "Recovery sequence rejected. Check the three references and try again."; } }