heartwood every commit a ring

the page tucks its paths behind a curtain

b97a617c by Isaac Bythewood · 1 month ago

the page tucks its paths behind a curtain

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
modified site/almanac.js
@@ -577,7 +577,7 @@    var allItems = [];    elements.forEach(function (el) {      if (el.tagName === 'LI' || el.tagName === 'BLOCKQUOTE') {      if (el.tagName === 'LI') {        allItems.push(el);        return;      }
@@ -645,7 +645,7 @@    dom.seasonName = document.querySelector('.season-name');    dom.seasonNote = document.querySelector('.season-note');    dom.haikuBlock = document.querySelector('.flow-haiku blockquote');    dom.moonGardenTip = document.querySelector('.moon-garden-tip');    dom.moonGardenTip = null;    dom.weatherMoodText = document.querySelector('.weather-mood-text');    dom.skyData = document.querySelector('.sky-data');    dom.footerP = document.querySelector('footer p');
@@ -655,6 +655,15 @@    dom.footer = document.querySelector('footer');    dom.seasonsNav = document.querySelector('.seasons-nav');    dom.timesNav = document.querySelector('.times-nav');    dom.navDrawer = document.querySelector('.nav-drawer');    dom.navToggle = document.querySelector('.nav-toggle');    if (dom.navToggle) {      dom.navToggle.addEventListener('click', function () {        var open = dom.navDrawer.classList.toggle('open');        dom.navToggle.textContent = open ? '...close' : '...explore';      });    }  }  function loadContent(seasonOverride, timeOverride) {
@@ -689,9 +698,8 @@      }).join('');    }    // moon gardening tip (now with bold highlights)    // moon gardening tip (rendered in narrative section below)    var phase = moonPhase(now);    dom.moonGardenTip.innerHTML = moonGardenTip(phase);    // weather mood    dom.weatherMoodText.textContent = getWeatherMood(season, contentTime);
@@ -750,6 +758,9 @@        // collect all fragments into one flowing narrative        var fragments = [];        // moon garden tip mixed in with the rest        fragments.push(moonGardenTip(phase));        // wisdom lines        entries.forEach(function (entry) {          if (!entry.meta.time) return;
modified site/index.html
@@ -53,7 +53,6 @@      <section class="flow flow-sky">        <p class="weather-mood-text"></p>        <p class="sky-data"></p>        <p class="moon-garden-tip"></p>      </section>      <section class="flow flow-haiku">
@@ -64,8 +63,13 @@      <section class="flow flow-entries"></section>      <nav class="nav-strip seasons-nav"></nav>      <nav class="nav-strip times-nav"></nav>      <div class="nav-drawer">        <a class="nav-toggle">...explore</a>        <div class="nav-drawer-content">          <nav class="nav-strip seasons-nav"></nav>          <nav class="nav-strip times-nav"></nav>        </div>      </div>    </article>    <footer>
modified site/style.css
@@ -57,13 +57,7 @@ main {}.readout-header::after {  content: '';  display: block;  width: 3rem;  height: 1px;  background: var(--bark);  margin-top: 1.5rem;  opacity: 0.5;  display: none;}.readout-header h1 {
@@ -131,7 +125,7 @@ main {}.weather-mood-text {  color: var(--bone);  color: var(--ash);  font-style: italic;  margin-bottom: 1rem;}
@@ -140,12 +134,6 @@ main {  color: var(--bone);}.moon-garden-tip {  color: var(--ash);  font-style: italic;  margin-top: 1rem;}/* --- haiku --- */
@@ -161,8 +149,6 @@ main {  font-size: var(--type-body);  line-height: 2.2;  letter-spacing: 0.02em;  opacity: 0;  animation: word-in 0.3s ease-out forwards;}.flow-haiku .haiku-line {
@@ -206,7 +192,7 @@ main {.sep {  color: var(--ember);  opacity: 0.4;  margin: 0 0.2em;  margin: 0 0.5em;  font-style: normal;}
@@ -219,20 +205,54 @@ main {}/* ===== NAV DRAWER ===== */.nav-drawer {  margin-top: 2.5rem;}.nav-toggle {  display: inline-block;  color: var(--ash);  font-size: 0.75rem;  font-style: italic;  letter-spacing: 0.02em;  opacity: 0.4;  cursor: pointer;  padding: 0.6rem 0;  min-height: 44px;  line-height: 44px;  transition: opacity 0.6s ease, color 0.6s ease;}.nav-toggle:hover {  opacity: 0.7;  color: var(--bone);}.nav-drawer-content {  display: none;}.nav-drawer.open .nav-drawer-content {  display: block;}/* ===== NAV STRIPS ===== */.nav-strip {  display: flex;  flex-wrap: wrap;  gap: 0.2rem 0.5rem;  margin-top: 1.5rem;  opacity: 0.3;  margin-top: 1rem;  opacity: 0.5;  transition: opacity 0.6s ease;}.nav-strip:hover,.nav-strip:focus-within {  opacity: 0.7;  opacity: 0.8;}.nav-strip a {