.daily-return {margin: 24px 0; color: var(--brand-ink, #24202a)}
.daily-panel {padding: 20px; margin: 20px 0; border: 1px solid #ddbdcc; border-radius: 20px; background: #fff9fc}
.daily-panel h2 {font-size: 1.35rem; margin: 0 0 12px}
.daily-panel h3 {font-size: 1.1rem}
.daily-controls {display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0}
.daily-return button, .daily-action-picker button {min-height: 44px; padding: 10px 12px; border: 1px solid #b42364; border-radius: 12px; background: #fff; color: #7c1946; cursor: pointer; font: inherit; overflow-wrap: anywhere}
.daily-return button:disabled, .daily-action-picker button:disabled {opacity: .55; cursor: default}
.daily-return a, .daily-preview a {display: inline-block; padding: 10px 0; min-height: 44px; color: #8b1b4f; text-decoration: underline}
.daily-return :focus-visible, .daily-action-picker :focus-visible {outline: 3px solid #6d2550; outline-offset: 2px}
.daily-month-grid {display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 3px; text-align: center}
.daily-date {display: grid; place-items: center; min-height: 44px; border-radius: 9px; font-size: .95rem}
.daily-weekday {font-size: .85rem; padding: 8px 0}
.daily-date.is-opened {background: #ffd9e9; color: #6b183c}
.daily-date.is-current, .daily-week-list .is-current {outline: 2px solid #b42364; outline-offset: -2px; border-radius: 9px}
.daily-date.is-future {color: #6b6166}
.daily-week-list {list-style: none; padding: 0; margin: 0}
.daily-week-list li {padding: 4px 10px; border-bottom: 1px solid #eedbe4}
.daily-preview {position: sticky; top: 0; z-index: 20; padding: 8px 16px; background: #fff0f7; border: 2px solid #b42364}
.daily-preview[hidden], .daily-return [hidden] {display: none}
.daily-season {font-size: .9rem; color: #69324c; margin: 8px 0 16px}
.daily-season p {margin: 4px 0}
.daily-action-picker {margin-top: 20px}
#daily-action-options {display: grid; gap: 8px}
#daily-action-options [aria-pressed=true] {background: #ffd9e9; border-width: 2px}
#daily-action-options [aria-pressed=true]::before {content: '✓ '}
#daily-share-manual {width: 100%; min-height: 180px}
.daily-return .is-prominent {padding: 12px; background: #ffd9e9; border-radius: 12px; font-weight: bold}
@media(max-width: 360px) {.daily-panel {padding: 12px}.daily-month-grid {gap: 1px}.daily-date {font-size: .85rem}}

/* Home keeps today's reading in view; the journal has its own page. */
.today-date-row {display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 14px}
.today-date-row .today-date {margin: 0}
.today-date-row .daily-season {display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; line-height: 1.7}
.today-date-row .daily-season span {white-space: nowrap}
.today-card details.today-koyomi {padding: 0; margin-top: 16px; background: none; border: 0; border-top: 1px solid #e0ced6; border-radius: 0}
.today-card details.today-koyomi > summary {padding: 12px 0 0; min-height: 44px; cursor: pointer; font-size: 1rem; color: #69324c}
.today-card details.today-koyomi[open] > summary {margin-bottom: 12px}
.daily-action-picker {display: flex; flex-direction: column; align-items: center; gap: 0; margin: 12px 0 14px; text-align: center}
.daily-action-picker a {display: inline-flex; align-items: center; min-height: 44px; color: #7c1946; font-size: 1rem}
.daily-action-picker [hidden] {display: none}
#daily-action-options {display: block; max-width: 100%}
#daily-action-options button {min-width: min(13em, 100%); max-width: 100%; border-width: 2px}
.daily-action-purpose {margin: 0 0 10px; font-size: 1rem; line-height: 1.8; color: var(--brand-ink, #392447)}
.daily-action-help {margin: 8px 0 0; font-size: .875rem; line-height: 1.7; color: #69324c}
#daily-record-link {justify-content: center; padding: 6px 0; text-align: center}
.hint-theme-picker > summary {min-height: 44px; padding: 10px 0; cursor: pointer}
.hint-theme-picker .hint-themes {margin-top: 8px}
.daily-share-controls {align-items: center; gap: 8px 16px}
.daily-share-controls button {min-height: 44px; font: inherit; font-size: 1rem; cursor: pointer; padding: 8px 12px; border: 1px solid #b42364; border-radius: 12px; background: #fff; color: #7c1946; margin: 0}
.daily-home {margin: 18px 0}
.daily-home #daily-share-status:empty {display: none}
.daily-next-actions {margin-top: 20px; padding: 16px 0 4px; border-top: 1px solid #decbd4}
.daily-next-group + .daily-next-group {margin-top: 18px}
.daily-next-group h2 {font-size: 1rem; margin: 0 0 8px; line-height: 1.7; font-weight: 700}
.daily-next-group .daily-journal-links {margin: 0}
.daily-next-actions #daily-tomorrow {gap: .3em}
#daily-save-share #daily-share-status:empty {display: none}
.daily-connection {font-size: 1rem; line-height: 1.8; margin: 12px 0}
.daily-journal-links {display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0}
.daily-journal-links a {display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid #d6b4c4; border-radius: 12px; color: #7c1946; background: #fff9fc; text-decoration: none; font-weight: 700}
.daily-journal-links a:hover {background: #ffe8f2}
details.home-fold {margin: 10px 0; padding: 0 16px; border: 1px solid #dcc6d0; border-radius: 12px; background: #fff; box-shadow: none; font-size: 1rem}
details.home-fold > summary {padding: 14px 0; min-height: 48px; cursor: pointer; font-weight: 700; background: none; border: 0; border-radius: 0}
details.home-fold > summary:focus-visible, .daily-journal-links a:focus-visible {outline: 3px solid #6d2550; outline-offset: 2px}
.home-links {display: flex; flex-wrap: wrap; gap: 0 20px; margin: 16px 0}
.home-links a {display: inline-flex; align-items: center; min-height: 44px; color: #7c1946; font-size: 1rem}
.journal-heading {display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px}
main:has(> .journal-heading) {max-width: 900px}
main:has(> .daily-home) {max-width: 640px}
.journal-heading h1 {margin: 12px 0}
.journal-heading a {min-height: 44px; padding: 12px 0; color: #7c1946}
.daily-journal section, #daily-data-settings {scroll-margin-top: 24px}
#daily-data-settings > summary {min-height: 44px; cursor: pointer; font-weight: 700}
#daily-summary-actions:empty::after {content: 'まだヒントを残していません。'}
#daily-saved-hints {scroll-margin-top: 24px}
#daily-saved-hints > summary {min-height: 44px; padding: 10px 0; cursor: pointer; font-weight: 700}
#daily-saved-hints > p {font-size: .95rem; line-height: 1.8; margin: 8px 0}
#today-hint-extra > summary {min-height: 44px; padding: 10px 0}
.daily-journal #daily-visit:empty, .daily-journal #daily-share-status:empty {display: none}
.daily-journal .daily-panel {position: relative; overflow: hidden; isolation: isolate}
.daily-journal .daily-panel::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 12px;
  right: 14px;
  width: 64px;
  height: 64px;
  border: 3px solid #392447;
  border-radius: 18px;
  background: #ffe86f center / cover no-repeat;
  box-shadow: 4px 4px 0 #392447;
  pointer-events: none;
}
.daily-journal .daily-panel > * {position: relative; z-index: 1}
.daily-journal .daily-panel > h2:first-child {padding-right: 78px}
#daily-week::after {background-image: url('/assets/characters/koyomi-guide-welcome.webp')}
#daily-month::after {background-image: url('/assets/characters/koyomi-guide-discovery.webp'); background-color: #aee6d4}
#daily-summary::after {background-image: url('/assets/characters/koyomi-guide-thinking.webp'); background-color: #f7b4ca}
@media (max-width: 560px) {
  .daily-journal .daily-panel::after {top: 10px; right: 10px; width: 48px; height: 48px; border-width: 2px; border-radius: 14px; box-shadow: 3px 3px 0 #392447}
  .daily-journal .daily-panel > h2:first-child {padding-right: 58px}
}
@media (min-width: 900px) {
  .daily-journal {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start}
  .daily-journal .daily-panel {margin: 0}
  #daily-week, #daily-data-settings, #daily-share-status, #daily-share-manual {grid-column: 1 / -1}
}

/* Keep theme changes in one stable answer area, including at larger text sizes. */
#today-hint-output {display: grid}
#today-hint-output > .hint-output-content,
#today-hint-output > .hint-output-size {grid-area: 1 / 1; min-width: 0}
#today-hint-output > .hint-output-size {visibility: hidden; pointer-events: none; user-select: none}
#today-hint-output.is-updated {animation-name: today-hint-swap}
@keyframes today-hint-swap {
  from {background: #fff}
  to {background: var(--brand-mint)}
}
#today-hint-about > summary {cursor: pointer; min-height: 44px; display: list-item; padding: 10px 0; color: var(--ink); font-weight: 700}
#today-hint-about p {margin: 8px 0 0}
#today-hint-about > summary:focus-visible {outline: 3px solid #6d2550; outline-offset: 2px}
@media (prefers-reduced-motion: reduce) {
  #today-hint-output.is-updated {animation: none}
}

/* Center the two follow-up links beneath the personal result. */
#you-today-result > #you-today-change {margin-left: auto; margin-right: auto; text-align: center}
#you-today-result > .my-shuku-entry {text-align: center}

/* 今週のヒント：本命宿との関係（保存済みの生年月日がある人だけ） */
.week-relation {display: inline-block; margin-left: .6em; padding: .05em .7em; font-size: .8rem; font-weight: 800; color: #fff; background: var(--brand-rose, #b42364); border-radius: 999px; white-space: nowrap}
