/* v21.0: scoped accessibility and rhythm; retains the existing menu grid. */
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #225e47;outline-offset:4px}
.cards .tile{height:auto;min-width:0}
.cards .tile .symbol{flex-shrink:0}
.cards .tile .symbol svg{width:28px;height:28px;display:block}
.cards .tile h2{line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.cards .tile .subtitle{line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
#newLife .life-card-intro,#newLife .life-detail p,#newLife .life-stage p{font-size:16px;line-height:1.75}
#newLife .life-caution,#newLife .life-source{font-size:14px!important;line-height:1.7;color:#536458!important}
#newLife .life-card-age,#newLife .life-count{font-size:14px}
.life-topic,.life-find button,.day-tab,.v194-nav button{min-height:44px}
.life-topic[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}
.life-card summary{min-height:88px}
#scheduleUpdatedLabel{line-height:1.7}
@media(max-width:640px){.life-year-row{flex-wrap:wrap}.life-year-row select{min-width:0}.life-stage{gap:10px}.life-stage-when{min-width:70px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Programmatically focused headings announce navigation without a box around copy. */
.view h1[tabindex="-1"]:focus,.site-toolbar strong[tabindex="-1"]:focus{outline:none}
