From e8aef45cf38563a076e3c80f8d19e82fb947544f Mon Sep 17 00:00:00 2001 From: avi Date: Sun, 17 May 2026 18:15:58 -0500 Subject: [PATCH] Save point: optimize mobile view for vertical display, bump all text sizes and interactive canvas heights --- index.html | 110 +- www/index.html | 6788 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 6848 insertions(+), 50 deletions(-) mode change 120000 => 100644 www/index.html diff --git a/index.html b/index.html index 6681f71..c3f5f8a 100644 --- a/index.html +++ b/index.html @@ -975,55 +975,59 @@ text-align: center; } - /* Mobile view overrides (tuned for large 2.5' x 4' display) */ - html[data-view="mobile"] .scene { font-size: 1.6rem; padding: 1.5rem; } - html[data-view="mobile"] .scene4text { max-width: 100%; } - html[data-view="mobile"] .s4visual, html[data-view="mobile"] .scene5text { max-width: 100%; } - html[data-view="mobile"] .s5visual { max-width: 100%; } - html[data-view="mobile"] .s4tl { max-width: 100%; margin-bottom: 0.8rem; padding: 0.5rem 0; } - html[data-view="mobile"] .comp-table { font-size: 1.1rem; max-width: 100%; } + /* Mobile view overrides (tuned for large 2.5' x 4' vertical display) */ + html[data-view="mobile"] .scene { font-size: 2.2rem; padding: 2rem; } + html[data-view="mobile"] .scene4text { max-width: 90%; } + html[data-view="mobile"] .s4visual, html[data-view="mobile"] .scene5text { max-width: 90%; } + html[data-view="mobile"] .s5visual { max-width: 90%; } + html[data-view="mobile"] .s4tl { max-width: 90%; margin-bottom: 1rem; padding: 0.5rem 0; } + html[data-view="mobile"] .comp-table { font-size: 1.3rem; max-width: 90%; } html[data-view="mobile"] .comp-table th, html[data-view="mobile"] .comp-table td { padding: 0.6rem 0.8rem; } - html[data-view="mobile"] .tl-year { font-size: 0.95rem; } - html[data-view="mobile"] .tl-year::after { width: 8px; height: 8px; bottom: -0.4rem; } - html[data-view="mobile"] .btn-row { gap: 1rem; bottom: 12%; } - html[data-view="mobile"] .btnNext { padding: 1rem 2rem; font-size: 1.3rem; } - html[data-view="mobile"] #scene10e .btnNext { padding: 1rem 2rem; } - html[data-view="mobile"] #scene3Title { font-size: 2.8rem; top: 1.5rem; left: 1.5rem; } - html[data-view="mobile"] #scene3 { padding: 4rem 1.5rem; } - html[data-view="mobile"] #scene3Text { margin-top: 2rem; } - html[data-view="mobile"] #scene3ChoiceRow { flex-direction: column; bottom: 20%; gap: 1rem; } - html[data-view="mobile"] .scene3ChoiceBtn { padding: 1.2rem 2rem; font-size: 1.4rem; } - html[data-view="mobile"] .punch-row { flex-direction: column; gap: 0.8rem; } - html[data-view="mobile"] .punch-card { padding: 1rem; font-size: 1.2rem; } - html[data-view="mobile"] .punch-card .punch-icon { font-size: 2rem; } - html[data-view="mobile"] .scene4sub { padding: 1rem 1rem 8rem; } + html[data-view="mobile"] .tl-year { font-size: 1.1rem; } + html[data-view="mobile"] .tl-year::after { width: 10px; height: 10px; bottom: -0.4rem; } + html[data-view="mobile"] .btn-row { gap: 1.2rem; bottom: 12%; } + html[data-view="mobile"] .btnNext { padding: 1.2rem 2.5rem; font-size: 1.6rem; } + html[data-view="mobile"] #scene10e .btnNext { padding: 1.2rem 2.5rem; } + html[data-view="mobile"] #scene3Title { font-size: 3.5rem; top: 2rem; left: 2rem; } + html[data-view="mobile"] #scene3 { padding: 5rem 2rem; } + html[data-view="mobile"] #scene3Text { margin-top: 2.5rem; } + html[data-view="mobile"] #scene3ChoiceRow { flex-direction: column; bottom: 22%; gap: 1.2rem; } + html[data-view="mobile"] .scene3ChoiceBtn { padding: 1.5rem 2.5rem; font-size: 1.8rem; } + html[data-view="mobile"] .punch-row { flex-direction: column; gap: 1rem; } + html[data-view="mobile"] .punch-card { padding: 1.2rem; font-size: 1.5rem; } + html[data-view="mobile"] .punch-card .punch-icon { font-size: 2.5rem; } + html[data-view="mobile"] .scene4sub { padding: 1rem 2rem 10rem; } html[data-view="mobile"] #scene4a { padding-top: 0; } - html[data-view="mobile"] .hub-title { font-size: 2.2rem; } - html[data-view="mobile"] .hub-subtitle { font-size: 1.3rem; } - html[data-view="mobile"] .hub-btn { padding: 1rem 2rem; font-size: 1.3rem; } - html[data-view="mobile"] .hub-row { flex-direction: column; gap: 1rem; padding: 1rem 1.5rem; } - html[data-view="mobile"] #sceneRefs h2 { font-size: 1.6rem; } - html[data-view="mobile"] #sceneRefs li { font-size: 1.1rem; } + html[data-view="mobile"] .hub-title { font-size: 2.8rem; } + html[data-view="mobile"] .hub-subtitle { font-size: 1.6rem; } + html[data-view="mobile"] .hub-btn { padding: 1.2rem 2.5rem; font-size: 1.6rem; } + html[data-view="mobile"] .hub-row { flex-direction: column; gap: 1.2rem; padding: 1.2rem 2rem; } + html[data-view="mobile"] #sceneRefs h2 { font-size: 2rem; } + html[data-view="mobile"] #sceneRefs li { font-size: 1.4rem; } html[data-view="mobile"] #sceneRefs .refs-content { width: 95%; padding: 1.2rem; max-height: 90vh; } - html[data-view="mobile"] .callout-box { font-size: 1.2rem; padding: 1rem 1.2rem; } - html[data-view="mobile"] #foodOverlay .food-box { padding: 2rem; } - html[data-view="mobile"] #foodOverlay .food-title { font-size: 1.6rem; } - html[data-view="mobile"] #foodOverlay .food-btn { font-size: 1.3rem; padding: 1rem 1.5rem; } - html[data-view="mobile"] #sceneFoodLinks .food-btn { font-size: 1.3rem; padding: 1rem 1.5rem; } - html[data-view="mobile"] #sceneFoodLinks .food-links-title { font-size: 1.8rem; } - html[data-view="mobile"] canvas { max-height: 350px; } - html[data-view="mobile"] #scene2Line1 { font-size: 1.6rem; padding: 1.5rem; } - html[data-view="mobile"] #scene2Message2 { font-size: 1.6rem; } - html[data-view="mobile"] #textContainer { font-size: 1.6rem; } - html[data-view="mobile"] .coin-grid { max-width: 20rem; gap: 5px; } - html[data-view="mobile"] .scene5text { font-size: 1.4rem; } - html[data-view="mobile"] .hash-bar { height: 3.5rem; } + html[data-view="mobile"] .callout-box { font-size: 1.5rem; padding: 1.2rem 1.5rem; } + html[data-view="mobile"] #foodOverlay .food-box { padding: 2.5rem; } + html[data-view="mobile"] #foodOverlay .food-title { font-size: 2rem; } + html[data-view="mobile"] #foodOverlay .food-btn { font-size: 1.6rem; padding: 1.2rem 2rem; } + html[data-view="mobile"] #sceneFoodLinks .food-btn { font-size: 1.6rem; padding: 1.2rem 2rem; } + html[data-view="mobile"] #sceneFoodLinks .food-links-title { font-size: 2.4rem; } + html[data-view="mobile"] #meshCanvas, +html[data-view="mobile"] #deskCanvas, +html[data-view="mobile"] #phoneCanvas, +html[data-view="mobile"] #exfilCanvas, +html[data-view="mobile"] #exfilDeskCanvas { max-height: 500px; } + html[data-view="mobile"] #scene2Line1 { font-size: 2rem; padding: 2rem; } + html[data-view="mobile"] #scene2Message2 { font-size: 2rem; } + html[data-view="mobile"] #textContainer { font-size: 2rem; } + html[data-view="mobile"] .coin-grid { max-width: 26rem; gap: 6px; } + html[data-view="mobile"] .scene5text { font-size: 1.8rem; } + html[data-view="mobile"] .hash-bar { height: 5rem; } html[data-view="mobile"] #s7BtnRow { bottom: 12%; } html[data-view="mobile"] #s8BtnRow { bottom: 12%; } - html[data-view="mobile"] #followBtn { bottom: 12%; font-size: 1.3rem; padding: 1rem 3rem; } - html[data-view="mobile"] #whatIsLabBtn { bottom: 12%; font-size: 1.3rem; padding: 1rem 3rem; } - html[data-view="mobile"] #s8BtnRow .btnNext { padding: 1rem 2rem; font-size: 1.3rem; } - html[data-view="mobile"] #s7BtnRow .btnNext { padding: 1rem 2rem; font-size: 1.3rem; } + html[data-view="mobile"] #followBtn { bottom: 12%; font-size: 1.6rem; padding: 1.2rem 3.5rem; } + html[data-view="mobile"] #whatIsLabBtn { bottom: 12%; font-size: 1.6rem; padding: 1.2rem 3.5rem; } + html[data-view="mobile"] #s8BtnRow .btnNext { padding: 1.2rem 2.5rem; font-size: 1.6rem; } + html[data-view="mobile"] #s7BtnRow .btnNext { padding: 1.2rem 2.5rem; font-size: 1.6rem; } @@ -1635,6 +1639,11 @@ // Show view selector overlay on every page load document.getElementById('viewOverlay').classList.add('visible'); + // Matrix rain configuration + const fontSize = window.innerWidth < 480 ? 10 : 14; + let columns; + let drops = []; + // Canvas setup for Matrix rain const canvas = document.getElementById('matrixCanvas'); const ctx = canvas.getContext('2d'); @@ -1642,14 +1651,17 @@ function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; + if (fontSize) { + columns = Math.floor(canvas.width / fontSize); + drops = Array(columns).fill(0).map(() => Math.floor(Math.random() * canvas.height / fontSize)); + } } resizeCanvas(); window.addEventListener('resize', resizeCanvas); - - // Matrix rain configuration - const fontSize = window.innerWidth < 480 ? 10 : 14; - let columns = Math.floor(canvas.width / fontSize); - let drops = []; + + // Force an extra resize after fonts/viewport settle + setTimeout(resizeCanvas, 100); + setTimeout(resizeCanvas, 500); const chars = '0123456789@#$%^&*()'; const rainDuration = 5000; // 5 seconds let rainActive = false; diff --git a/www/index.html b/www/index.html deleted file mode 120000 index 79c5d6f..0000000 --- a/www/index.html +++ /dev/null @@ -1 +0,0 @@ -../index.html \ No newline at end of file diff --git a/www/index.html b/www/index.html new file mode 100644 index 0000000..c3f5f8a --- /dev/null +++ b/www/index.html @@ -0,0 +1,6787 @@ + + + + + + Signal Elsewhere + + + +
+
+
SIGNAL ELSEWHERE
+
CHOOSE YOUR VIEW
+
+ + +
+
+
DESKTOP VIEW IS DESIGNED FOR LARGER SCREENS. ROTATE YOUR DEVICE FOR THE BEST EXPERIENCE, OR GO BACK AND SELECT MOBILE VIEW.
+ +
+
+
+
+
+ + +
TAP OUTSIDE TO CLOSE
+
+ + + +
+
+
+
+
+ + + +
+
+
+ + +
+
+ + +
+
+ +
+ +
+
LAB 484
+
+
+ + + + +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + +
+
+ +
+
+
TECHNOLOGY
+
CHOOSE A CATEGORY TO COMPARE
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+ +
CLICK A TAB TO COMPARE OS SECURITY
+
+
+ + +
+
+ +
+
+
+ +
DATA VALUE EXPOSED: $0/yr
+
CLICK A TAB TO SEE WHERE YOUR DATA GOES
+
+
+
+ + +
+
+ +
+
+
+ +
CLICK A TAB TO COMPARE OS SECURITY
+
+
+ + +
+
+ +
+
+
+ +
DATA VALUE EXPOSED: $0/yr
+
CLICK A TAB TO SEE WHERE YOUR DATA GOES
+
+
+
+ + +
+
+ +
+
+
+ +
+ ONLINE + OFFLINE + PACKET +
+
CLICK ANY NODE TO SEE HOW MESH NETWORKS REROUTE WHEN A NODE GOES OFFLINE
+
+ +
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+
+
+
CHOOSE A SITE
+ + + +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + +
+
+
+
+
+
+ + +
+
+ + +
+
+
+
+
+ + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+
+ + + + +
+
+
+
+
+
+ + + + +
+
+ + + + + +
+
+

SOURCES

+
    +
  1. Alphabet Inc. 2025 Form 10-K, SEC EDGAR — Google advertising revenue used for ad ARPU estimation (~$90–100/user/year).
  2. +
  3. Computerworld — Apple Services ARPU estimated at ~$72/user/year (Morgan Stanley analysis).
  4. +
  5. Grand View Research — Data Broker Market Size Report ($365B market, ~$46/user/year secondary value estimate).
  6. +
  7. Microsoft Investor Relations — Search advertising revenue ~$16B annually (~$11/user/year).
  8. +
  9. Microsoft Learn — Windows diagnostic data levels (required vs optional telemetry).
  10. +
  11. GrapheneOS — Privacy-focused mobile OS with no data collection infrastructure.
  12. +
  13. Google — How Google uses cookies in advertising (DoubleClick tracking infrastructure).
  14. +
  15. Apple Developer — App Tracking Transparency framework and user privacy controls.
  16. +
  17. Apple Support — macOS System Integrity Protection (SIP) overview.
  18. +
  19. Microsoft Learn — Windows privacy controls and data collection policies overview.
  20. +
  21. Gold Standard Act of 1900 (PDF), World Gold Council.
  22. +
  23. Executive Order 6102 — U.S. Money Reserve.
  24. +
  25. Gold Reserve Act of 1934 — Federal Reserve History.
  26. +
  27. Nixon Ends Gold Convertibility (1971) — Federal Reserve History.
  28. +
  29. U.S. Treasury Names Bitcoin 'Digital Gold' — Forbes.
  30. +
  31. Flexner, A. (1910). Medical Education in the United States and Canada. Carnegie Foundation Bulletin No. 4. — The original Flexner Report that evaluated 155 medical schools and led to closure of half of them.
  32. +
  33. Beck, A.H. (2004). "The Flexner Report and the Standardization of American Medical Education." JAMA. 291(17):2139-2140. — Analysis of Flexner's impact on medical standardization and its disproportionate effect on women and minority doctors.
  34. +
  35. American Medical Association — AMA history. — AMA's Council on Medical Education commissioned and supported the Flexner Report; AMA set licensing standards that became law.
  36. +
  37. FDA — The Sulfanilamide Disaster (1937). — 107 deaths from Elixir Sulfanilamide (diethylene glycol poisoning) that triggered the 1938 Food, Drug & Cosmetic Act.
  38. +
  39. FDA — Part II: 1938, Food, Drug & Cosmetic Act. — New law required pre-market safety proof for all drugs, giving FDA broad regulatory power.
  40. +
  41. CMS — National Health Expenditure Accounts (Historical). — Official U.S. health spending estimates from 1960; shows pre-Medicare spending of ~$41B in 1965 and growth to $4.5T+ by 2022.
  42. +
  43. CMS — NHE Fact Sheet (2024). — U.S. health spending reached $5.3T in 2024, up from $27B in 1960 — a 100x increase driven partly by Medicare/Medicaid third-party payer system.
  44. +
  45. Health Maintenance Organization Act of 1973 (Pub.L. 93-222). — Original statute that formalized managed care, mandated employer dual-choice, and replaced the doctor-patient relationship with the corporate provider-member model.
  46. +
  47. Wikipedia — Health Maintenance Organization Act of 1973. — Nixon administration, Dr. Paul Ellwood's "less care = more money" incentive structure, and the HMO market transformation.
  48. +
  49. Syntropy Institute. — Open infrastructure for decentralized, patient-controlled medicine — biohacking, functional medicine, and direct-to-consumer health data ownership.
  50. +
  51. FDA — Part I: 1906, Food and Drugs Act. — First federal law to regulate food; created the USDA Bureau of Chemistry; made misbranding and adulteration a crime.
  52. +
  53. EPA — Federal Insecticide, Fungicide, and Rodenticide Act (FIFRA). — 1947 law regulating synthetic pesticides like DDT; ushered in the chemical agriculture era.
  54. +
  55. EPA — DDT: A Brief History and Status. — Rachel Carson's Silent Spring (1962) led to DDT ban in 1972; chemical dependency of industrial farming exposed.
  56. +
  57. USDA — Farm Bill History. — Earl Butz's "get big or get out" (1970s); corn/soy subsidies; HFCS replaced sugar; cheaper to eat processed food than real food.
  58. +
  59. Pollan, M. (2002). "When a Crop Becomes King." The New York Times. — How corn subsidies created the cheap-calorie food system driving obesity and diabetes epidemics.
  60. +
  61. FDA — Consumer Info About Food from Genetically Engineered Plants. — 1996 Roundup Ready crops; GMO approval; by 2010, 90% of US corn and soy was genetically modified.
  62. +
  63. Bowman v. Monsanto Co. (2013) — Oyez. — Supreme Court ruled that patent exhaustion does not permit farmers to replant patented GM seeds; seed patenting and corporate control of agriculture.
  64. +
  65. 484.Kitchen. — Regenerative agriculture, syntropic farming, and decentralized food infrastructure — building the alternative to the industrial food system.
  66. +
+
+
+
+ + +