/* daily_rituals: habit rows × day blocks */
.rt { gap: 10px; }
.rt-empty { margin: 0; font-size: 14px; color: var(--mute); padding: 6px 0; }
.rt-grid-wrap { overflow-x: auto; }

.rt-grid {
  display: grid; grid-template-columns: minmax(90px, max-content) repeat(var(--cols), 34px) 44px;
  gap: 6px 5px; align-items: center; justify-content: start;
}
.rt-gname { padding-right: 10px; }
/* maximized: bigger blocks */
#win-rituals { --max-w: 1000px; }
.win.max .rt-grid { grid-template-columns: minmax(140px, max-content) repeat(var(--cols), 72px) 80px; gap: 14px 10px; justify-content: center; }
.win.max .rt-sq { width: 66px; height: 66px; }
.win.max .rt-sq.on::after { width: 14px; height: 26px; margin-top: 12px; border-width: 0 5px 5px 0; }
.win.max .rt-gname { font-size: 20px; }
.win.max .rt-gh b { font-size: 16px; }
.rt-gh, .rt-gr { display: contents; }
.rt-gh span { display: flex; flex-direction: column; align-items: center; line-height: 1.1; color: var(--mute); }
.rt-gh b { font-size: 12px; }
.rt-gh small { font-size: 10px; }
.rt-gh .is-today { color: var(--ink); }
.rt-gh .is-today b { text-decoration: underline; text-underline-offset: 3px; }
.rt-gh .rt-sh { font-size: 10px; font-weight: 700; }
.rt-gname { font-weight: 700; font-size: 14px; overflow-wrap: anywhere; }

.rt-sq { width: 30px; height: 30px; padding: 0; border: var(--b); background: var(--field); display: block; margin: 0 auto; }
.rt-sq:hover:not(:disabled) { background: var(--hover); }
.rt-sq.on { background: var(--grass-2); }
.rt-sq.on::after { content: ""; display: block; width: 7px; height: 12px; margin: 5px auto 0; border: solid var(--ink); border-width: 0 3px 3px 0; transform: rotate(45deg); }
.rt-sq.rest:not(.on) { background: repeating-linear-gradient(45deg, transparent 0 4px, var(--rule) 4px 6px); }
.rt-sq.is-today { outline: 2px solid var(--ink); outline-offset: 2px; }
.rt-sq:disabled { opacity: .35; cursor: default; }
.rt-streak { font-size: 13px; font-weight: 700; text-align: center; }

.rt-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; border-top: var(--b); padding-top: 8px; }
.rt-foot .mut { font-size: 13px; }
.rt-link { border: var(--line) dashed var(--outline); background: transparent; color: var(--ink); padding: 3px 10px; font-size: 13px; font-weight: 700; }
.rt-link:hover { border-style: solid; background: var(--hover); }

@media (max-width: 860px) {
  .rt-sq { width: 34px; height: 34px; }
  .rt-grid { grid-template-columns: minmax(80px, 1fr) repeat(var(--cols), 36px) 40px; }
}

/* garden sprites dim a little at night (shared with the Habits page) */
:root[data-theme="night"] .pic, :root[data-theme="night"] .hb-sprite { filter: brightness(.78) saturate(.9); }
