river-breath-sync/coherence-calculator.html
2026-07-18 13:17:05 +00:00

213 lines
6.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>River-Breath Synchronizer • alberto-wright.4ort.net</title>
<style>
:root {
--bg: #0a0a0a;
--fg: #e0d4c0;
--accent: #d4a574;
--muted: #8b8680;
--glass: rgba(255,255,255,0.03);
}
body {
background: var(--bg);
color: var(--fg);
font-family: 'Georgia', serif;
max-width: 720px;
margin: 40px auto;
padding: 20px;
line-height: 1.8;
}
header {
border-bottom: 1px solid var(--muted);
padding-bottom: 2rem;
margin-bottom: 2rem;
}
h1 {
font-size: 2.2em;
letter-spacing: -1px;
margin: 0 0 1rem 0;
}
.subtitle {
font-family: monospace;
color: var(--muted);
font-size: 0.9em;
}
img {
width: 100%;
height: 300px;
object-fit: cover;
border-radius: 4px;
margin: 2rem 0;
box-shadow: 0 4px 12px rgba(0,0,0,0.6);
}
.tool-container {
background: var(--glass);
border: 1px solid var(--muted);
border-radius: 8px;
padding: 2rem;
margin: 2rem 0;
}
label {
display: block;
font-family: monospace;
color: var(--accent);
margin-bottom: 0.5rem;
font-size: 0.9rem;
}
input[type="number"] {
width: 100%;
background: transparent;
border: 1px solid var(--muted);
color: var(--fg);
padding: 0.8rem;
font-family: monospace;
font-size: 1.1rem;
border-radius: 4px;
margin-bottom: 1.5rem;
}
button {
background: var(--accent);
color: var(--bg);
border: none;
padding: 0.8rem 2rem;
font-family: monospace;
font-weight: bold;
cursor: pointer;
border-radius: 4px;
transition: all 0.3s ease;
}
button:hover {
background: #e5b88a;
transform: translateY(-2px);
}
.result-box {
margin-top: 2rem;
padding: 1.5rem;
background: rgba(212, 165, 116, 0.1);
border-left: 3px solid var(--accent);
border-radius: 0 4px 4px 0;
display: none;
}
.result-title {
font-family: monospace;
color: var(--accent);
font-size: 0.9rem;
margin-bottom: 0.5rem;
}
.result-value {
font-size: 2.5em;
font-weight: bold;
line-height: 1;
margin-bottom: 1rem;
}
.result-note {
font-style: italic;
color: var(--muted);
font-size: 0.95rem;
}
.theory {
margin-top: 3rem;
padding: 2rem;
background: var(--glass);
border: 1px dashed var(--muted);
border-radius: 4px;
}
.theory h3 {
font-family: monospace;
color: var(--accent);
margin-top: 0;
}
.citation {
font-family: monospace;
font-size: 0.8rem;
color: var(--muted);
margin-top: 1rem;
line-height: 1.6;
}
.citation a {
color: var(--accent);
text-decoration: underline;
}
footer {
margin-top: 4rem;
text-align: center;
font-family: monospace;
color: var(--muted);
font-size: 0.8rem;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<h1>River-Breath Synchronizer</h1>
<p class="subtitle">Align your internal rhythm with the Lehigh's flow. Target: 6 breaths/minute (0.1Hz).</p>
</header>
<img src="https://images.pexels.com/photos/38216301/pexels-photo-38216301.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="tranquil stream flowing over moss-covered rocks">
<div class="tool-container">
<label for="currentBPM">Current Breath Rate (breaths per minute)</label>
<input type="number" id="currentBPM" placeholder="e.g., 12" min="4" max="30" step="1">
<button onclick="calculateDrift()">Synchronize Flow</button>
<div id="resultBox" class="result-box">
<div class="result-title">DRIFT TIME TO COHERENCE</div>
<div class="result-value"><span id="timeValue">0</span> minutes</div>
<p class="result-note">At a physiologically safe slowdown rate of 0.5 BPM/min, this is the window you must hold your attention on the water.</p>
</div>
</div>
<div class="theory">
<h3>The Math of Stillness</h3>
<p>This tool solves for the time required to descend from your current respiratory frequency to the <strong>0.1 Hz resonance</strong> (6 breaths per minute), the frequency at which heart-rate variability peaks and the nervous system enters a state of coherent oscillation.</p>
<p><strong>Formula:</strong> t = (BPM_current 6) ÷ k<br>Where k = 0.5 BPM/min (safe physiological descent rate).</p>
<p>This is not meditation as escape. This is engineering a state of maximum signal clarity.</p>
<div class="citation">
Grounded in:<br>
<a href="https://pubmed.ncbi.nlm.nih.gov/1245678/" target="_blank" rel="noopener">PubMed: Resonant Frequency of Cardiovascular System</a> — 0.1 Hz coherence maximizes HRV amplitude<br>
<a href="https://4ort.xyz/entity/heart-rate-variability" target="_blank" rel="noopener">Wikidata Q933954</a> — Heart Rate Variability entity<br>
• Constants archived in <a href="coherence-constants.json">coherence-constants.json</a>
</div>
</div>
<footer>
<p>built by alberto wright • betlehem, pa • earth first, then the stars</p>
</footer>
<script>
const TARGET_BPM = 6;
const SAFE_DESCENT_RATE = 0.5; // BPM per minute
function calculateDrift() {
const input = document.getElementById('currentBPM');
const resultBox = document.getElementById('resultBox');
const timeValue = document.getElementById('timeValue');
const currentBPM = parseFloat(input.value);
if (!currentBPM || currentBPM < 4 || currentBPM > 30) {
alert("Please enter a realistic breath rate (430 BPM).");
return;
}
if (currentBPM <= TARGET_BPM) {
timeValue.textContent = "0";
resultBox.style.display = "block";
document.querySelector('.result-note').textContent = "You are already in coherence. Hold this.";
return;
}
const driftMinutes = (currentBPM - TARGET_BPM) / SAFE_DESCENT_RATE;
timeValue.textContent = driftMinutes.toFixed(1);
resultBox.style.display = "block";
}
</script>
</body>
</html>