.practice-card-group { margin: 1.1rem 0; }
.practice-card-group h3, .practice-five h4 { margin: 0 0 .5rem; font-size: 1rem; }
.practice-card-list { display: flex; flex-wrap: wrap; gap: .45rem; max-width: 100%; }
.practice-card { flex: 0 0 auto; }
.practice-changed { outline: 3px solid #258e64; outline-offset: 2px; }
.practice-before { padding: 1rem; margin: 1rem 0; border-radius: 18px; background: #eef5ec; }
.practice-before .practice-card-group { margin-bottom: .7rem; }
.practice-explanation { margin-top: .75rem; }
.practice-five { margin: .8rem 0; }
.practice-choice { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; border: 1px solid #cbd9cf; border-radius: 12px; padding: .8rem 1rem; margin: 1.2rem 0; }
.practice-choice legend { font-weight: 700; padding: 0 .3rem; }
.practice-choice label { display: inline-flex; align-items: center; gap: .35rem; cursor: pointer; }
.practice-choice input { accent-color: #176b4c; width: 1.1rem; height: 1.1rem; }
.practice-share-panel { margin-top: 1rem; }
.practice-share-panel label { display: block; font-weight: 700; margin-bottom: .4rem; }
.practice-share-panel input { box-sizing: border-box; width: 100%; max-width: 42rem; padding: .7rem; border: 1px solid #9eb9aa; border-radius: 10px; }
.practice-example { margin-top: 1.2rem; }
.practice-progress-summary { margin: 1.1rem 0; }
.practice-progress-summary summary { cursor: pointer; font-weight: 700; }
.practice-entry-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap: .85rem; margin: 1rem 0; }
.practice-entry-grid a { display: block; padding: 1rem; background: #f4f8f4; border: 1px solid #d9e8db; border-radius: 14px; text-decoration: none; color: inherit; }
.practice-entry-grid a:hover, .practice-entry-grid a:focus-visible { border-color: #176b4c; box-shadow: 0 0 0 2px #b5dac1; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; margin:0 0 1rem; font-size:.85rem; color:#587366; }
.breadcrumbs a { color:#246c50; text-underline-offset:3px; }
.practice-entry-more { display:block; margin-top:.5rem; color:#176b4c; font-weight:700; text-decoration:underline; }
@media (max-width: 420px) { .practice-card-list { gap: .28rem; } .practice-card { min-width: 2.65rem; } .practice-before { padding: .7rem; } }
