Save point: add scene4f (2026 Money) + scene10f (2026 Health), LAB buttons on all sub-scenes, returnToLab() refactor, fix duplicate scene4b-4f elements

This commit is contained in:
avi
2026-05-15 13:09:36 -05:00
parent 87a9008b85
commit fe89307151

View File

@@ -244,36 +244,30 @@
flex-direction: column;
justify-content: flex-start;
align-items: center;
padding: 8rem 2rem 1.5rem;
padding: 2rem 2rem 1rem;
overflow-y: auto;
}
#sceneM4 {
padding-top: 2rem;
#scene4a {
justify-content: center;
}
#sceneM4 .s4visual {
margin-top: 0;
}
#sceneD4 {
padding-top: 2rem;
}
#sceneD4 .s4visual {
margin-top: 0;
}
#sceneI4 {
padding-top: 2rem;
}
#sceneI4 .s4visual {
margin-top: 0;
}
#scene10e {
padding-top: 2rem;
}
#scene10e .s4visual {
margin-top: 0;
}
#scene10e .btnNext {
padding: 0.4rem 2.5rem;
}
#scene4f .s4visual {
margin-top: 0;
}
.scene4text {
white-space: pre-wrap;
text-align: center;
@@ -284,7 +278,7 @@
.s4visual {
width: 100%;
max-width: 50rem;
margin-top: 1.5rem;
margin-top: 1rem;
opacity: 0;
transition: opacity 1.2s ease;
text-align: center;
@@ -303,7 +297,7 @@
align-items: center;
width: 100%;
max-width: 50rem;
margin-bottom: 1.5rem;
margin-bottom: 1rem;
padding: 0.5rem 0;
border-bottom: 1px solid #003300;
opacity: 0;
@@ -371,6 +365,12 @@
letter-spacing: 2px;
}
.btnNext:hover { background-color: #003300; }
.btnLab {
visibility: visible !important;
opacity: 0.5 !important;
pointer-events: auto !important;
}
.btnLab:hover { opacity: 1 !important; }
/* 69% Callout box */
.callout-box {
@@ -437,7 +437,7 @@
flex-direction: row;
gap: 1rem;
justify-content: center;
margin-top: 1.5rem;
margin-top: 1rem;
width: 100%;
max-width: 50rem;
}
@@ -925,6 +925,7 @@
<div class="btn-row">
<button class="btnNext" id="sources4a">SOURCES</button>
<button class="btnNext" id="next4a">NEXT</button>
<button class="btnNext btnLab" id="returnFrom4a">LAB</button>
</div>
</div>
<div id="scene4b" class="scene scene4sub">
@@ -935,6 +936,7 @@
<button class="btnNext" id="sources4b">SOURCES</button>
<button class="btnNext" id="back4b">BACK</button>
<button class="btnNext" id="next4b">NEXT</button>
<button class="btnNext btnLab" id="returnFrom4b">LAB</button>
</div>
</div>
<div id="scene4c" class="scene scene4sub">
@@ -945,6 +947,7 @@
<button class="btnNext" id="sources4c">SOURCES</button>
<button class="btnNext" id="back4c">BACK</button>
<button class="btnNext" id="next4c">NEXT</button>
<button class="btnNext btnLab" id="returnFrom4c">LAB</button>
</div>
</div>
<div id="scene4d" class="scene scene4sub">
@@ -955,6 +958,7 @@
<button class="btnNext" id="sources4d">SOURCES</button>
<button class="btnNext" id="back4d">BACK</button>
<button class="btnNext" id="next4d">NEXT</button>
<button class="btnNext btnLab" id="returnFrom4d">LAB</button>
</div>
</div>
<div id="scene4e" class="scene scene4sub">
@@ -965,9 +969,20 @@
<button class="btnNext" id="sources4e">SOURCES</button>
<button class="btnNext" id="back4e">BACK</button>
<button class="btnNext" id="next4e">NEXT</button>
<button class="btnNext btnLab" id="returnFrom4e">LAB</button>
</div>
</div>
<div id="scene4f" class="scene scene4sub">
<div class="s4tl"></div>
<div class="scene4text" id="s4fText"></div>
<div class="s4visual" id="s4fVisual"></div>
<div class="btn-row">
<button class="btnNext" id="sources4f">SOURCES</button>
<button class="btnNext" id="back4f">BACK</button>
<button class="btnNext" id="next4f">NEXT</button>
<button class="btnNext btnLab" id="returnFrom4f">LAB</button>
</div>
</div>
<div id="scene5" class="scene">
<div class="scene5text" id="s5Text"></div>
<div class="s5visual" id="s5Visual"></div>
@@ -1243,6 +1258,7 @@
<div class="btn-row">
<button class="btnNext" id="sources10a">SOURCES</button>
<button class="btnNext" id="next10a">NEXT</button>
<button class="btnNext btnLab" id="returnFrom10a">LAB</button>
</div>
</div>
<div id="scene10b" class="scene scene4sub">
@@ -1253,6 +1269,7 @@
<button class="btnNext" id="sources10b">SOURCES</button>
<button class="btnNext" id="back10b">BACK</button>
<button class="btnNext" id="next10b">NEXT</button>
<button class="btnNext btnLab" id="returnFrom10b">LAB</button>
</div>
</div>
<div id="scene10c" class="scene scene4sub">
@@ -1263,6 +1280,7 @@
<button class="btnNext" id="sources10c">SOURCES</button>
<button class="btnNext" id="back10c">BACK</button>
<button class="btnNext" id="next10c">NEXT</button>
<button class="btnNext btnLab" id="returnFrom10c">LAB</button>
</div>
</div>
<div id="scene10d" class="scene scene4sub">
@@ -1273,6 +1291,7 @@
<button class="btnNext" id="sources10d">SOURCES</button>
<button class="btnNext" id="back10d">BACK</button>
<button class="btnNext" id="next10d">NEXT</button>
<button class="btnNext btnLab" id="returnFrom10d">LAB</button>
</div>
</div>
<div id="scene10e" class="scene scene4sub">
@@ -1283,6 +1302,18 @@
<button class="btnNext" id="sources10e">SOURCES</button>
<button class="btnNext" id="back10e">BACK</button>
<button class="btnNext" id="next10e">NEXT</button>
<button class="btnNext btnLab" id="returnFrom10e">LAB</button>
</div>
</div>
<div id="scene10f" class="scene scene4sub">
<div class="s4tl"></div>
<div class="scene4text" id="s10fText"></div>
<div class="s4visual" id="s10fVisual"></div>
<div class="btn-row">
<button class="btnNext" id="sources10f">SOURCES</button>
<button class="btnNext" id="back10f">BACK</button>
<button class="btnNext" id="next10f">NEXT</button>
<button class="btnNext btnLab" id="returnFrom10f">LAB</button>
</div>
</div>
<div id="scene11" class="scene">
@@ -1302,6 +1333,7 @@
<div class="btn-row">
<button class="btnNext" id="sourcesF1">SOURCES</button>
<button class="btnNext" id="nextF1">NEXT</button>
<button class="btnNext btnLab" id="returnFromF1">LAB</button>
</div>
</div>
<div id="sceneF2" class="scene scene4sub">
@@ -1312,6 +1344,7 @@
<button class="btnNext" id="sourcesF2">SOURCES</button>
<button class="btnNext" id="backF2">BACK</button>
<button class="btnNext" id="nextF2">NEXT</button>
<button class="btnNext btnLab" id="returnFromF2">LAB</button>
</div>
</div>
<div id="sceneF3" class="scene scene4sub">
@@ -1322,6 +1355,7 @@
<button class="btnNext" id="sourcesF3">SOURCES</button>
<button class="btnNext" id="backF3">BACK</button>
<button class="btnNext" id="nextF3">NEXT</button>
<button class="btnNext btnLab" id="returnFromF3">LAB</button>
</div>
</div>
<div id="sceneF4" class="scene scene4sub">
@@ -1332,6 +1366,7 @@
<button class="btnNext" id="sourcesF4">SOURCES</button>
<button class="btnNext" id="backF4">BACK</button>
<button class="btnNext" id="nextF4">NEXT</button>
<button class="btnNext btnLab" id="returnFromF4">LAB</button>
</div>
</div>
<div id="sceneF6" class="scene scene4sub">
@@ -1342,6 +1377,7 @@
<button class="btnNext" id="sourcesF6">SOURCES</button>
<button class="btnNext" id="backF6">BACK</button>
<button class="btnNext" id="nextF6">NEXT</button>
<button class="btnNext btnLab" id="returnFromF6">LAB</button>
</div>
</div>
<div id="sceneFoodSum" class="scene">
@@ -1351,6 +1387,7 @@
<button class="btnNext" id="sourcesFoodSum">SOURCES</button>
<button class="btnNext" id="backFoodSum">BACK</button>
<button class="btnNext" id="nextFoodSum">NEXT</button>
<button class="btnNext btnLab" id="returnFromFoodSum">LAB</button>
</div>
</div>
<div id="sceneFoodLinks" class="scene" style="flex-direction:column;">
@@ -1793,7 +1830,7 @@
// Scene 4 helpers
function buildTimeline(tlElem, activeIdx) {
const years = ['1900', '1933', '1934', '1971', '2009'];
const years = ['1900', '1933', '1934', '1971', '2009', '2026'];
tlElem.innerHTML = '';
years.forEach((y, i) => {
const span = document.createElement('span');
@@ -1805,7 +1842,7 @@
}
function buildHTimeline(tlElem, activeIdx) {
const years = ['1910', '1938', '1965', '1973', '2010'];
const years = ['1910', '1938', '1965', '1973', '2010', '2026'];
tlElem.innerHTML = '';
years.forEach((y, i) => {
const span = document.createElement('span');
@@ -1817,7 +1854,7 @@
}
function buildFTimeline(tlElem, activeIdx) {
const years = ['1906', '1947', '1970', '1996', '2010', '2026'];
const years = ['1906', '1947', '1970', '1996', '2026'];
tlElem.innerHTML = '';
years.forEach((y, i) => {
const span = document.createElement('span');
@@ -1899,11 +1936,7 @@
if (sceneElem.style.display !== 'flex' || document.getElementById('next4a').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildTimeline(tl,0);
typeHtmlCalmly(txt,"IMAGINE THE GOVERNMENT SHOWED UP AT YOUR DOOR AND DEMANDED YOUR SAVINGS.",()=>{
const tWait=setTimeout(()=>{
typeHtmlCalmly(txt,"\n\nTHAT'S NOT HYPOTHETICAL — IT HAPPENED IN 1933.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"IN 1900, THE GOLD STANDARD ACT WAS PASSED. EVERY DOLLAR WAS BACKED BY GOLD — REAL, TANGIBLE, TRUSTWORTHY. ",()=>{
const span=document.createElement('span');
txt.appendChild(span);
@@ -1919,10 +1952,6 @@
},undefined,undefined,s4c);
},1500);
s4c.push(t1);
},undefined,undefined,s4c);
},1000);
s4c.push(tWait);
},undefined,undefined,s4c);
}
sceneElem.style.opacity=o;
},30);
@@ -1943,7 +1972,11 @@
if (sceneElem.style.display !== 'flex' || document.getElementById('next4b').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildTimeline(tl,1);
typeHtmlCalmly(txt,"ON APRIL 5, 1933, ",()=>{
typeHtmlCalmly(txt,"\n\n\nIMAGINE THE GOVERNMENT SHOWED UP AT YOUR DOOR AND DEMANDED YOUR SAVINGS.",()=>{
const tWait1=setTimeout(()=>{
typeHtmlCalmly(txt,"\n\nTHAT'S NOT HYPOTHETICAL — IT HAPPENED IN 1933.",()=>{
const tWait2=setTimeout(()=>{
typeHtmlCalmly(txt,"\n\nON APRIL 5, 1933, ",()=>{
const link=document.createElement('a');
link.href='https://www.usmoneyreserve.com/resources/videos/transcripts/executive-order-6102-did-you-know/';
link.target='_blank';
@@ -1956,6 +1989,12 @@
},undefined,undefined,s4c);
},undefined,undefined,s4c);
},undefined,undefined,s4c);
},1000);
s4c.push(tWait2);
},undefined,undefined,s4c);
},1000);
s4c.push(tWait1);
},undefined,undefined,s4c);
}
sceneElem.style.opacity=o;
},30);
@@ -2100,6 +2139,48 @@
},30);
}
// Scene 4f — 2026 The Present Money Frontier
function loadScene4f(sceneElem) {
s4c=[];
rstSceneBtns('scene4f');
sceneElem.style.display='flex';
const txt=sceneElem.querySelector('.scene4text');
const vis=sceneElem.querySelector('.s4visual');
const tl=sceneElem.querySelector('.s4tl');
txt.innerHTML='';
vis.className='s4visual';
let o=0;
const fi=setInterval(()=>{
if (sceneElem.style.display !== 'flex' || document.getElementById('next4f').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildTimeline(tl,5);
typeHtmlCalmly(txt,"IN 2026, THE SOUND MONEY THESIS HAS BEEN VINDICATED.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"BITCOIN ETFs WERE APPROVED IN JANUARY 2024 — WALL STREET FLOODED IN.\nBITCOIN HIT ALL-TIME HIGHS ABOVE $100,000. GOLD ALSO REACHED NEW RECORDS.",()=>{
const t2=setTimeout(()=>{
txt.innerHTML+="\n\n";
let html='<table class="comp-table"><tr><th></th><th>2009</th><th>2026</th></tr>';
html+='<tr><td>BITCOIN PRICE</td><td>$0</td><td>$100K+</td></tr>';
html+='<tr><td>GOLD PRICE</td><td>$900/OZ</td><td>$3,000+/OZ</td></tr>';
html+='<tr><td>US DEBT</td><td>$11.9T</td><td>$35T+</td></tr>';
html+='<tr><td>BTC ADOPTION</td><td>NONE</td><td>ETFs, NATIONS, FORTUNE 500</td></tr>';
html+='<tr><td>GOLD CONFISCATION RISK</td><td>LOW</td><td>REAL (CBDCs RISING)</td></tr>';
html+='</table><div class="punch-row"><div class="punch-card"><span class="punch-icon">🟠</span><span class="punch-text">BTC $100K+<br>WALL STREET OWNS IT</span></div><div class="punch-card"><span class="punch-icon">🥇</span><span class="punch-text">GOLD $3K+<br>STILL THE SAFE HAVEN</span></div><div class="punch-card"><span class="punch-icon">📉</span><span class="punch-text">DOLLAR DOWN<br>70% SINCE 2000</span></div></div>';
vis.innerHTML=html;
vis.classList.add('visible');
showNextBtn('next4f');showNextBtn('sources4f');showNextBtn('back4f');
},800);
s4c.push(t2);
},undefined,undefined,s4c);
},1200);
s4c.push(t1);
},undefined,undefined,s4c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene 5 — BTC vs. Altcoins comparison
function loadScene5(sceneElem) {
s5c=[];
@@ -2398,6 +2479,54 @@
},30);
}
// Scene 10f — 2026 The Present Health Frontier
function loadScene10f(sceneElem) {
h10c=[];
rstSceneBtns('scene10f');
sceneElem.style.display='flex';
const txt=sceneElem.querySelector('.scene4text');
const vis=sceneElem.querySelector('.s4visual');
const tl=sceneElem.querySelector('.s4tl');
txt.innerHTML='';
vis.className='s4visual';
let o=0;
const fi=setInterval(()=>{
if (sceneElem.style.display !== 'flex' || document.getElementById('next10f').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildHTimeline(tl,5);
typeHtmlCalmly(txt,"IN 2026, THE DECENTRALIZED HEALTH MOVEMENT IS NO LONGER EMERGING — IT IS HERE.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"GLP-1 DRUGS LIKE OZEMPIC AND MOUNJARO HAVE DEMOCRATIZED WEIGHT LOSS — CREATING A $100B MARKET THAT FORCED THE ENTIRE PHARMA INDUSTRY TO PIVOT.",()=>{
const t2=setTimeout(()=>{
txt.innerHTML+="\n\n";
typeHtmlCalmly(txt,"DIRECT-TO-CONSUMER LAB TESTING LETS ANYONE ORDER THEIR OWN BLOOD WORK — NO DOCTOR APPROVAL NEEDED.\n\nAI DIAGNOSIS TOOLS RIVAL BOARD-CERTIFIED PHYSICIANS IN ACCURACY.",()=>{
const t3=setTimeout(()=>{
txt.innerHTML+="\n\n";
let html='<table class="comp-table"><tr><th></th><th>2020</th><th>2026</th></tr>';
html+='<tr><td>TELEMEDICINE</td><td>NICHE</td><td>MAINSTREAM</td></tr>';
html+='<tr><td>AI DIAGNOSIS</td><td>EXPERIMENTAL</td><td>IN CLINICS</td></tr>';
html+='<tr><td>GLP-1 ACCESS</td><td>DIABETES ONLY</td><td>WIDESPREAD</td></tr>';
html+='<tr><td>BIOHACKING</td><td>UNDERGROUND</td><td>MAINSTREAM</td></tr>';
html+='<tr><td>PATIENT DATA</td><td>OWNED BY SYSTEM</td><td>DIRECT OWNERSHIP EMERGING</td></tr>';
html+='</table><div class="punch-row"><div class="punch-card"><span class="punch-icon">💊</span><span class="punch-text">GLP-1 BROKE<br>THE PHARMA MODEL</span></div><div class="punch-card"><span class="punch-icon">🤖</span><span class="punch-text">AI CAN DIAGNOSE<br>BETTER THAN DOCTORS</span></div><div class="punch-card"><span class="punch-icon">🔬</span><span class="punch-text">YOU CAN ORDER<br>YOUR OWN LABS</span></div></div>';
vis.innerHTML=html;
vis.classList.add('visible');
showNextBtn('next10f');showNextBtn('sources10f');showNextBtn('back10f');
},800);
h10c.push(t3);
},undefined,undefined,h10c);
},1200);
h10c.push(t2);
},undefined,undefined,h10c);
},1200);
h10c.push(t1);
},undefined,undefined,h10c);
}
sceneElem.style.opacity=o;
},30);
}
// Scene 11 — Health Summary
function loadScene11(sceneElem) {
h10c=[];
@@ -2647,7 +2776,7 @@
const fi=setInterval(()=>{
if (sceneElem.style.display !== 'flex' || document.getElementById('nextF6').style.visibility === 'visible') { clearInterval(fi); return; }
o+=0.05;if(o>=1){o=1;clearInterval(fi);
buildFTimeline(tl,5);
buildFTimeline(tl,4);
typeHtmlCalmly(txt,"THE FUTURE OF FOOD IS HERE — AND THE SAME GATEKEEPER DYNAMICS ARE REPEATING.",()=>{
const t1=setTimeout(()=>{
txt.innerHTML+="\n\n";
@@ -4796,34 +4925,31 @@
});
document.getElementById('next4e').addEventListener('click', () => {
document.getElementById('scene4e').style.display = 'none';
loadScene5(document.getElementById('scene5'));
loadScene4f(document.getElementById('scene4f'));
});
document.getElementById('back4e').addEventListener('click', () => {
document.getElementById('scene4e').style.display = 'none';
loadScene4d(document.getElementById('scene4d'));
});
document.getElementById('back4f').addEventListener('click', () => {
document.getElementById('scene4f').style.display = 'none';
loadScene4e(document.getElementById('scene4e'));
});
document.getElementById('next4f').addEventListener('click', () => {
document.getElementById('scene4f').style.display = 'none';
loadScene5(document.getElementById('scene5'));
});
['4a','4b','4c','4d','4e','4f'].forEach(function(id){
document.getElementById('returnFrom'+id).addEventListener('click', function(){
document.getElementById('scene'+id).style.display = 'none';
s4c.forEach(t => clearTimeout(t)); s4c = [];
returnToLab();
});
});
document.getElementById('returnFromScene5').addEventListener('click', () => {
document.getElementById('scene5').style.display = 'none';
const s3 = document.getElementById('scene3');
scene3TypewriterTimeouts.forEach(t => clearTimeout(t));
scene3TypewriterTimeouts = [];
s3.style.display = 'flex';
s3.style.opacity = '1';
document.getElementById('scene3Title').classList.add('visible');
document.getElementById('scene3Text').innerHTML = "IS AN INCUBATOR THAT HAS MANY DECENTRALIZED STARTUPS UNDERNEATH IT<br><br><br><br><br><br><br><br><div style=\"text-align:center\">WE BELIEVE EVERYTHING SHOULD BE DECENTRALIZED</div>";
const row = document.getElementById('scene3ChoiceRow');
row.style.display = 'flex';
const btns = row.querySelectorAll('.scene3ChoiceBtn');
btns.forEach(btn => {
btn.style.opacity = '0';
btn.style.pointerEvents = 'none';
});
setTimeout(() => {
btns.forEach(btn => {
btn.style.opacity = '1';
btn.style.pointerEvents = 'auto';
});
}, 500);
s4c.forEach(t => clearTimeout(t)); s4c = [];
returnToLab();
});
document.getElementById('next10a').addEventListener('click', () => {
@@ -4856,34 +4982,31 @@
});
document.getElementById('next10e').addEventListener('click', () => {
document.getElementById('scene10e').style.display = 'none';
loadScene11(document.getElementById('scene11'));
loadScene10f(document.getElementById('scene10f'));
});
document.getElementById('back10e').addEventListener('click', () => {
document.getElementById('scene10e').style.display = 'none';
loadScene10d(document.getElementById('scene10d'));
});
document.getElementById('back10f').addEventListener('click', () => {
document.getElementById('scene10f').style.display = 'none';
loadScene10e(document.getElementById('scene10e'));
});
document.getElementById('next10f').addEventListener('click', () => {
document.getElementById('scene10f').style.display = 'none';
loadScene11(document.getElementById('scene11'));
});
['10a','10b','10c','10d','10e','10f'].forEach(function(id){
document.getElementById('returnFrom'+id).addEventListener('click', function(){
document.getElementById('scene'+id).style.display = 'none';
h10c.forEach(t => clearTimeout(t)); h10c = [];
returnToLab();
});
});
document.getElementById('returnFromScene11').addEventListener('click', () => {
document.getElementById('scene11').style.display = 'none';
const s3 = document.getElementById('scene3');
scene3TypewriterTimeouts.forEach(t => clearTimeout(t));
scene3TypewriterTimeouts = [];
s3.style.display = 'flex';
s3.style.opacity = '1';
document.getElementById('scene3Title').classList.add('visible');
document.getElementById('scene3Text').innerHTML = "IS AN INCUBATOR THAT HAS MANY DECENTRALIZED STARTUPS UNDERNEATH IT<br><br><br><br><br><br><br><br><div style=\"text-align:center\">WE BELIEVE EVERYTHING SHOULD BE DECENTRALIZED</div>";
const row = document.getElementById('scene3ChoiceRow');
row.style.display = 'flex';
const btns = row.querySelectorAll('.scene3ChoiceBtn');
btns.forEach(btn => {
btn.style.opacity = '0';
btn.style.pointerEvents = 'none';
});
setTimeout(() => {
btns.forEach(btn => {
btn.style.opacity = '1';
btn.style.pointerEvents = 'auto';
});
}, 500);
h10c.forEach(t => clearTimeout(t)); h10c = [];
returnToLab();
});
document.getElementById('nextF1').addEventListener('click', () => {
@@ -4935,28 +5058,17 @@
document.getElementById('sceneFoodSum').style.display = 'none';
loadSceneF6(document.getElementById('sceneF6'));
});
['F1','F2','F3','F4','F6','FoodSum'].forEach(function(id){
document.getElementById('returnFrom'+id).addEventListener('click', function(){
document.getElementById('scene'+id).style.display = 'none';
f1c.forEach(t => clearTimeout(t)); f1c = [];
returnToLab();
});
});
document.getElementById('returnFromFoodLinks').addEventListener('click', () => {
document.getElementById('sceneFoodLinks').style.display = 'none';
const s3 = document.getElementById('scene3');
scene3TypewriterTimeouts.forEach(t => clearTimeout(t));
scene3TypewriterTimeouts = [];
s3.style.display = 'flex';
s3.style.opacity = '1';
document.getElementById('scene3Title').classList.add('visible');
document.getElementById('scene3Text').innerHTML = "IS AN INCUBATOR THAT HAS MANY DECENTRALIZED STARTUPS UNDERNEATH IT<br><br><br><br><br><br><br><br><div style=\"text-align:center\">WE BELIEVE EVERYTHING SHOULD BE DECENTRALIZED</div>";
const row = document.getElementById('scene3ChoiceRow');
row.style.display = 'flex';
const btns = row.querySelectorAll('.scene3ChoiceBtn');
btns.forEach(btn => {
btn.style.opacity = '0';
btn.style.pointerEvents = 'none';
});
setTimeout(() => {
btns.forEach(btn => {
btn.style.opacity = '1';
btn.style.pointerEvents = 'auto';
});
}, 500);
f1c.forEach(t => clearTimeout(t)); f1c = [];
returnToLab();
});
document.getElementById('foodTimelineVimeo').addEventListener('click', () => {
window.location.href = 'https://vimeo.com/801031681/eb502b3911';
@@ -4965,7 +5077,7 @@
window.location.href = 'https://484.kitchen';
});
['4a','4b','4c','4d','4e','5','10a','10b','10c','10d','10e','11','F1','F2','F3','F4','F5','FoodSum','FoodLinks','D1','D2','D3','D4','D5','M1','M2','M3','M4','M5','I1','I2','I3','I4','I5'].forEach(function(id){
['4a','4b','4c','4d','4e','4f','5','10a','10b','10c','10d','10e','10f','11','F1','F2','F3','F4','F5','FoodSum','FoodLinks','D1','D2','D3','D4','D5','M1','M2','M3','M4','M5','I1','I2','I3','I4','I5'].forEach(function(id){
var el = document.getElementById('sources'+id);
if (el) el.addEventListener('click',function(){
window.refsCaller='scene'+id;
@@ -4985,9 +5097,13 @@
});
document.getElementById('returnFromTechHub').addEventListener('click', () => {
document.getElementById('scene6').style.display = 'none';
const s3 = document.getElementById('scene3');
returnToLab();
});
function returnToLab() {
scene3TypewriterTimeouts.forEach(t => clearTimeout(t));
scene3TypewriterTimeouts = [];
const s3 = document.getElementById('scene3');
s3.style.display = 'flex';
s3.style.opacity = '1';
document.getElementById('scene3Title').classList.add('visible');
@@ -4995,17 +5111,11 @@
const row = document.getElementById('scene3ChoiceRow');
row.style.display = 'flex';
const btns = row.querySelectorAll('.scene3ChoiceBtn');
btns.forEach(btn => {
btn.style.opacity = '0';
btn.style.pointerEvents = 'none';
});
btns.forEach(btn => { btn.style.opacity = '0'; btn.style.pointerEvents = 'none'; });
setTimeout(() => {
btns.forEach(btn => {
btn.style.opacity = '1';
btn.style.pointerEvents = 'auto';
});
btns.forEach(btn => { btn.style.opacity = '1'; btn.style.pointerEvents = 'auto'; });
}, 500);
});
}
function showTechHub() {
if (meshAnimId) { cancelAnimationFrame(meshAnimId); meshAnimId = null; }
@@ -5281,7 +5391,7 @@
const refsDiv = document.getElementById('sceneRefs');
if (refsDiv.classList.contains('visible')) {
refsDiv.classList.remove('visible');
var c=refsCaller;if(c==='scene7b'||c==='scene8b'||c==='scene4a'||c==='scene4b'||c==='scene4c'||c==='scene4d'||c==='scene4e'||c==='scene5'||c==='scene10a'||c==='scene10b'||c==='scene10c'||c==='scene10d'||c==='scene10e'||c==='scene11'||c==='sceneF1'||c==='sceneF2'||c==='sceneF3'||c==='sceneF4'||c==='sceneF6'||c==='sceneFoodSum'||c==='sceneFoodLinks'||c==='sceneD1'||c==='sceneD2'||c==='sceneD3'||c==='sceneD4'||c==='sceneD5'||c==='sceneM1'||c==='sceneM2'||c==='sceneM3'||c==='sceneM4'||c==='sceneM5'||c==='sceneI1'||c==='sceneI2'||c==='sceneI3'||c==='sceneI4'||c==='sceneI5')document.getElementById(c).style.display='flex';
var c=refsCaller;if(c==='scene7b'||c==='scene8b'||c==='scene4a'||c==='scene4b'||c==='scene4c'||c==='scene4d'||c==='scene4e'||c==='scene4f'||c==='scene5'||c==='scene10a'||c==='scene10b'||c==='scene10c'||c==='scene10d'||c==='scene10e'||c==='scene10f'||c==='scene11'||c==='sceneF1'||c==='sceneF2'||c==='sceneF3'||c==='sceneF4'||c==='sceneF6'||c==='sceneFoodSum'||c==='sceneFoodLinks'||c==='sceneD1'||c==='sceneD2'||c==='sceneD3'||c==='sceneD4'||c==='sceneD5'||c==='sceneM1'||c==='sceneM2'||c==='sceneM3'||c==='sceneM4'||c==='sceneM5'||c==='sceneI1'||c==='sceneI2'||c==='sceneI3'||c==='sceneI4'||c==='sceneI5')document.getElementById(c).style.display='flex';
refsCaller = null;
return;
}
@@ -5340,7 +5450,7 @@
}
// Scene 4 skip (sub-scenes 4a-4e)
const s4ids = ['scene4a','scene4b','scene4c','scene4d','scene4e'];
const s4ids = ['scene4a','scene4b','scene4c','scene4d','scene4e','scene4f'];
for (let si=0; si<s4ids.length; si++) {
const s4 = document.getElementById(s4ids[si]);
if (s4.style.display === 'flex') {
@@ -5349,13 +5459,13 @@
const tl = s4.querySelector('.s4tl');
buildTimeline(tl, si);
if (si===0) {
txt.innerHTML = "IMAGINE THE GOVERNMENT SHOWED UP AT YOUR DOOR AND DEMANDED YOUR SAVINGS.\n\nTHAT'S NOT HYPOTHETICAL — IT HAPPENED IN 1933.\n\nIN 1900, THE GOLD STANDARD ACT WAS PASSED. EVERY DOLLAR WAS BACKED BY GOLD — REAL, TANGIBLE, TRUSTWORTHY. <a href=\"https://www.gold.org/sites/default/files/documents/1900mar14.pdf\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">THE GOLD STANDARD ACT OF 1900</a>";
txt.innerHTML = "IN 1900, THE GOLD STANDARD ACT WAS PASSED. EVERY DOLLAR WAS BACKED BY GOLD — REAL, TANGIBLE, TRUSTWORTHY. <a href=\"https://www.gold.org/sites/default/files/documents/1900mar14.pdf\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">THE GOLD STANDARD ACT OF 1900</a>";
document.getElementById('next4a').style.cssText = '';
showNextBtn('next4a');
document.getElementById('sources4a').style.cssText = '';
showNextBtn('sources4a');
} else if (si===1) {
txt.innerHTML = "ON APRIL 5, 1933, <a href=\"https://www.usmoneyreserve.com/resources/videos/transcripts/executive-order-6102-did-you-know/\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">ORDER 6102</a> MADE IT A CRIME TO HOLD GOLD.\n\nCITIZENS WERE FORCED TO TURN IN THEIR GOLD IN EXCHANGE FOR PAPER DOLLARS.";
txt.innerHTML = "\n\n\nIMAGINE THE GOVERNMENT SHOWED UP AT YOUR DOOR AND DEMANDED YOUR SAVINGS.\n\nTHAT'S NOT HYPOTHETICAL — IT HAPPENED IN 1933.\n\nON APRIL 5, 1933, <a href=\"https://www.usmoneyreserve.com/resources/videos/transcripts/executive-order-6102-did-you-know/\" target=\"_blank\" style=\"text-decoration:underline;font-weight:bold;color:#00ff00\">ORDER 6102</a> MADE IT A CRIME TO HOLD GOLD.\n\nCITIZENS WERE FORCED TO TURN IN THEIR GOLD IN EXCHANGE FOR PAPER DOLLARS.";
document.getElementById('next4b').style.cssText = '';
showNextBtn('next4b');
document.getElementById('sources4b').style.cssText = '';
@@ -5407,6 +5517,28 @@
showNextBtn('sources4e');
document.getElementById('back4e').style.cssText = '';
showNextBtn('back4e');
} else if (si===5) {
txt.innerHTML = "IN 2026, THE SOUND MONEY THESIS HAS BEEN VINDICATED.\n\nBITCOIN ETFs WERE APPROVED IN JANUARY 2024 — WALL STREET FLOODED IN.\nBITCOIN HIT ALL-TIME HIGHS ABOVE $100,000. GOLD ALSO REACHED NEW RECORDS.\n\n";
s4.querySelector('.s4visual').innerHTML=
'<table class="comp-table"><tr><th></th><th>2009</th><th>2026</th></tr>'
+'<tr><td>BITCOIN PRICE</td><td>$0</td><td>$100K+</td></tr>'
+'<tr><td>GOLD PRICE</td><td>$900/OZ</td><td>$3,000+/OZ</td></tr>'
+'<tr><td>US DEBT</td><td>$11.9T</td><td>$35T+</td></tr>'
+'<tr><td>BTC ADOPTION</td><td>NONE</td><td>ETFs, NATIONS, FORTUNE 500</td></tr>'
+'<tr><td>GOLD CONFISCATION RISK</td><td>LOW</td><td>REAL (CBDCs RISING)</td></tr>'
+'</table>'
+'<div class="punch-row">'
+'<div class="punch-card"><span class="punch-icon">\uD83D\uDFE0</span><span class="punch-text">BTC $100K+<br>WALL STREET OWNS IT</span></div>'
+'<div class="punch-card"><span class="punch-icon">\uD83E\uDD47</span><span class="punch-text">GOLD $3K+<br>STILL THE SAFE HAVEN</span></div>'
+'<div class="punch-card"><span class="punch-icon">\uD83D\uDCC9</span><span class="punch-text">DOLLAR DOWN<br>70% SINCE 2000</span></div>'
+'</div>';
s4.querySelector('.s4visual').classList.add('visible');
document.getElementById('next4f').style.cssText = '';
showNextBtn('next4f');
document.getElementById('sources4f').style.cssText = '';
showNextBtn('sources4f');
document.getElementById('back4f').style.cssText = '';
showNextBtn('back4f');
}
}
}
@@ -5926,6 +6058,32 @@
showNextBtn('back10e');
}
// Scene 10f skip
const s10f = document.getElementById('scene10f');
if (s10f.style.display === 'flex') {
h10c.forEach(t => clearTimeout(t)); h10c = [];
const txt = s10f.querySelector('.scene4text');
const vis = s10f.querySelector('.s4visual');
const tl = s10f.querySelector('.s4tl');
buildHTimeline(tl, 5);
txt.innerHTML = "IN 2026, THE DECENTRALIZED HEALTH MOVEMENT IS NO LONGER EMERGING — IT IS HERE.\n\nGLP-1 DRUGS LIKE OZEMPIC AND MOUNJARO HAVE DEMOCRATIZED WEIGHT LOSS — CREATING A $100B MARKET THAT FORCED THE ENTIRE PHARMA INDUSTRY TO PIVOT.\n\nDIRECT-TO-CONSUMER LAB TESTING LETS ANYONE ORDER THEIR OWN BLOOD WORK — NO DOCTOR APPROVAL NEEDED.\n\nAI DIAGNOSIS TOOLS RIVAL BOARD-CERTIFIED PHYSICIANS IN ACCURACY.\n\n";
let html='<table class="comp-table"><tr><th></th><th>2020</th><th>2026</th></tr>';
html+='<tr><td>TELEMEDICINE</td><td>NICHE</td><td>MAINSTREAM</td></tr>';
html+='<tr><td>AI DIAGNOSIS</td><td>EXPERIMENTAL</td><td>IN CLINICS</td></tr>';
html+='<tr><td>GLP-1 ACCESS</td><td>DIABETES ONLY</td><td>WIDESPREAD</td></tr>';
html+='<tr><td>BIOHACKING</td><td>UNDERGROUND</td><td>MAINSTREAM</td></tr>';
html+='<tr><td>PATIENT DATA</td><td>OWNED BY SYSTEM</td><td>DIRECT OWNERSHIP EMERGING</td></tr>';
html+='</table><div class="punch-row"><div class="punch-card"><span class="punch-icon">\uD83D\uDC8A</span><span class="punch-text">GLP-1 BROKE<br>THE PHARMA MODEL</span></div><div class="punch-card"><span class="punch-icon">\uD83E\uDD16</span><span class="punch-text">AI CAN DIAGNOSE<br>BETTER THAN DOCTORS</span></div><div class="punch-card"><span class="punch-icon">\uD83D\uDD2C</span><span class="punch-text">YOU CAN ORDER<br>YOUR OWN LABS</span></div></div>';
vis.innerHTML=html;
vis.classList.add('visible');
document.getElementById('next10f').style.cssText = '';
showNextBtn('next10f');
document.getElementById('sources10f').style.cssText = '';
showNextBtn('sources10f');
document.getElementById('back10f').style.cssText = '';
showNextBtn('back10f');
}
// Scene 11 skip
const s11 = document.getElementById('scene11');
if (s11.style.display === 'flex') {
@@ -6019,7 +6177,7 @@
const txt = sf6.querySelector('.scene4text');
const vis = sf6.querySelector('.s4visual');
const tl = sf6.querySelector('.s4tl');
buildFTimeline(tl, 5);
buildFTimeline(tl, 4);
txt.innerHTML = "THE FUTURE OF FOOD IS HERE — AND THE SAME GATEKEEPER DYNAMICS ARE REPEATING.\n\nLAB-GROWN MEAT PROMISES TO END FACTORY FARMING — BUT IT'S ULTRA-PROCESSED, ENERGY-INTENSIVE, AND CONTROLLED BY THE SAME CORPORATIONS.\n\nVERTICAL FARMS USE 95% LESS WATER — BUT THEY RUN ON LED LIGHTS AND CLIMATE CONTROL.\n\nAI PROMISES TO OPTIMIZE EVERY CROP — BUT WHO OWNS THE ALGORITHMS?\n\nTHE ANSWER ISN'T BETTER TECHNOLOGY. IT'S WHO CONTROLS IT.";
document.getElementById('nextF6').style.cssText = '';
showNextBtn('nextF6');
@@ -6118,7 +6276,7 @@
<li><a href="https://www.oyez.org/cases/2012/11-796" target="_blank">Bowman v. Monsanto Co. (2013) — Oyez.</a> — Supreme Court ruled that patent exhaustion does not permit farmers to replant patented GM seeds; seed patenting and corporate control of agriculture.</li>
<li><a href="https://484.kitchen" target="_blank">484.Kitchen.</a> — Regenerative agriculture, syntropic farming, and decentralized food infrastructure — building the alternative to the industrial food system.</li>
</ol>
<div class="refs-back"><button id="refsBackBtn" onclick="document.getElementById('sceneRefs').classList.remove('visible');var c=window.refsCaller;if(c==='scene7b'||c==='scene8b'||c==='scene4a'||c==='scene4b'||c==='scene4c'||c==='scene4d'||c==='scene4e'||c==='scene5'||c==='scene10a'||c==='scene10b'||c==='scene10c'||c==='scene10d'||c==='scene10e'||c==='scene11'||c==='sceneF1'||c==='sceneF2'||c==='sceneF3'||c==='sceneF4'||c==='sceneF6'||c==='sceneFoodSum'||c==='sceneFoodLinks'||c==='sceneD1'||c==='sceneD2'||c==='sceneD3'||c==='sceneD4'||c==='sceneD5'||c==='sceneM1'||c==='sceneM2'||c==='sceneM3'||c==='sceneM4'||c==='sceneM5'||c==='sceneI1'||c==='sceneI2'||c==='sceneI3'||c==='sceneI4'||c==='sceneI5')document.getElementById(c).style.display='flex';window.refsCaller=null;">BACK</button></div>
<div class="refs-back"><button id="refsBackBtn" onclick="document.getElementById('sceneRefs').classList.remove('visible');var c=window.refsCaller;if(c==='scene7b'||c==='scene8b'||c==='scene4a'||c==='scene4b'||c==='scene4c'||c==='scene4d'||c==='scene4e'||c==='scene4f'||c==='scene5'||c==='scene10a'||c==='scene10b'||c==='scene10c'||c==='scene10d'||c==='scene10e'||c==='scene10f'||c==='scene11'||c==='sceneF1'||c==='sceneF2'||c==='sceneF3'||c==='sceneF4'||c==='sceneF6'||c==='sceneFoodSum'||c==='sceneFoodLinks'||c==='sceneD1'||c==='sceneD2'||c==='sceneD3'||c==='sceneD4'||c==='sceneD5'||c==='sceneM1'||c==='sceneM2'||c==='sceneM3'||c==='sceneM4'||c==='sceneM5'||c==='sceneI1'||c==='sceneI2'||c==='sceneI3'||c==='sceneI4'||c==='sceneI5')document.getElementById(c).style.display='flex';window.refsCaller=null;">BACK</button></div>
</div>
</div>