[ 'low1' => '3:09 AM', 'high1' => '9:23 AM', 'low2' => '3:31 PM', 'high2' => '9:44 PM', 'weather' => ['temp' => '9°C', 'min' => '8°C', 'max' => '11°C', 'cloud' => '12%', 'wind' => '3 km/h', 'humidity' => '85%', 'water' => '8°C'], 'moon' => ['phase' => 'Waning Crescent 🌘', 'next' => 'New Moon · 19 Jul'] ], 'Fri 18 Jul' => [ 'low1' => '4:01 AM', 'high1' => '10:17 AM', 'low2' => '4:28 PM', 'high2' => '10:40 PM', 'weather' => ['temp' => '10°C', 'min' => '9°C', 'max' => '12°C', 'cloud' => '18%', 'wind' => '5 km/h', 'humidity' => '80%', 'water' => '8°C'], 'moon' => ['phase' => 'Waning Crescent 🌘', 'next' => 'New Moon · 19 Jul'] ] ]; // Helper to calculate drawing window function expandWindow($timeStr, $earlyMin = 120, $lateMin = 120) { $t = strtotime($timeStr); return date('g:i A', strtotime("-$earlyMin minutes", $t)) . " – " . date('g:i A', strtotime("+$lateMin minutes", $t)); } // Begin HTML echo << New Brighton Sand Glyph Windows

🌀 Best Sand Drawing Times · New Brighton Beach

HTML; // Loop through each day’s tide data foreach ($days as $label => $data) { $window1 = expandWindow($data['low1']); $window2 = expandWindow($data['low2']); $w = $data['weather']; $m = $data['moon']; echo <<
🕰️ Sand Drawing Window · {$label}
Low Tides: {$data['low1']} & {$data['low2']}
Best Drawing Times:
🌅 {$window1}
🌇 {$window2}
Weather: {$w['temp']} · Min {$w['min']} / Max {$w['max']}
Cloud Cover: {$w['cloud']}
Wind: {$w['wind']} · Gentle Breeze
Humidity: {$w['humidity']}
Water Temp: {$w['water']}
Moon Phase: {$m['phase']}
Next Lunar Shift: {$m['next']}

“The tide retreats. The canvas clears. Glyphs may now be etched.”

HTML; } echo ""; ?>