Метод, а не мистика
У каждой даты один цвет. Он вычислен, а не угадан.
Здесь нет гороскопа. Каждый из 366 дней года получает один цвет по формуле, которой нужны только месяц и число. Ни года, ни имени, ни натальной карты. Одна и та же дата всегда даёт один и тот же цвет. Вся математика открыта и приведена ниже.
Сезон живёт в светлоте и насыщенности
Год это одна косинусоида. Она достигает максимума в разгар лета и минимума в середине зимы, и это единственное число поднимает светлоту и насыщенность летом и опускает их зимой. Июль читается светлым и открытым, январь глубоким и тихим. Тон почти не слушает сезон, и поэтому времена года ощущаются как погода, а не как поворот цветового круга.
season = cos((doy / 366 − 0.54) × 2π)
День живёт в золотом рассеянии
Внутри сезона каждый день размещается умножением его номера на золотое сечение и взятием дробной части. Это самый равномерный способ заполнить интервал без повторов, та же укладка, которой подсолнух располагает семечки. Три независимых множителя разносят тон, светлоту и насыщенность по отдельности, чтобы они никогда не совпали в заметный узор. Слабое притяжение 0.2 подтягивает тон к летнему или зимнему ориентиру, так что рассеяние всё равно читается сезонным.
hue = frac(doy × 0.6180339887) × 300
lightness ← frac(doy × 0.7548776662)
chroma ← frac(doy × 0.569840291)
Сначала OKLCH, потом sRGB
Каждый цвет задан в OKLCH: светлота, насыщенность, тон, в пространстве, построенном так, чтобы равные шаги выглядели равными. Бледно-голубой и бледно-золотой на одной светлоте действительно ощущаются одинаково бледными, и именно это удерживает 366 цветов от расползания. Насыщенность зажимается в охват sRGB до того, как что-либо сохраняется, поэтому числа на странице дня это те же числа, которые отрисовываются, а названия и оценки совместимости описывают реальные цвета, а не идеальные.
И читаемость. Каждая страница смотрит на свой фон и переключает подписи на почти чёрный или почти белый с оттенком самого фона, выбирая тот, который реально даёт больше контраста, а затем усиливает его, пока день не пройдёт порог WCAG AA для основного текста. Его проходят все 366 дней.
Посмотреть все 366 цветов