.calendar-home { max-width: 900px; margin: 0 auto; padding: 24px 20px 48px; line-height: 1.6; }
.calendar-home h1 { margin: 0; font-size: 1.8rem; font-family: var(--font-serif); }
.calendar-home h2 { font-size: 1.2rem; margin: 0 0 12px; }
.calendar-home h3 { font-size: 1.2rem; margin: 8px 0; }
.calendar-home__intro { margin: 8px 0 24px; }
.calendar-home section { margin-bottom: 28px; }
.calendar-home__today { padding: 20px; border: 1px solid var(--color-border); border-inline-start: 4px solid var(--color-accent); border-radius: 8px; background: var(--color-surface); }
.calendar-home__today p { margin: 6px 0; }
.calendar-home a { color: var(--color-accent); text-underline-offset: 3px; }
.calendar-home__read { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-weight: 600; margin-top: 8px; }
.calendar-home__days { list-style: none; padding: 0; margin: 0; }
.calendar-home__days li { border-bottom: 1px solid var(--color-border); }
.calendar-home__days a { display: grid; grid-template-columns: minmax(180px, 1fr) 2fr; gap: 12px; padding: 12px 0; }
.calendar-home__days time { color: var(--color-text); }
.calendar-home__years { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; }
.calendar-home__years article { padding: 16px; border: 1px solid var(--color-border); border-radius: 8px; }
.calendar-home__years a { display: block; padding: 8px 0; min-height: 44px; box-sizing: border-box; }
.calendar-home__archive { margin-top: 16px; }
.calendar-home__archive summary { cursor: pointer; min-height: 44px; padding: 8px 0; box-sizing: border-box; }
.calendar-home__archive ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(64px,1fr)); gap: 4px; }
.calendar-home__archive a { display: block; padding: 8px; min-height: 44px; box-sizing: border-box; }
.calendar-home__help { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.calendar-home__help a { display: inline-flex; align-items: center; min-height: 44px; }
.calendar-home a:focus-visible, .calendar-home summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; border-radius: 2px; }
@media (max-width: 600px) { .calendar-home__days a { grid-template-columns: 1fr; gap: 2px; } .calendar-home h1 { font-size: 1.6rem; } }
