.memory-consolidation { min-width: 0; }
.memory-consolidation .memory-date-controls { display: flex; flex-wrap: wrap; align-items: end; gap: .7rem 1rem; padding: .8rem; background: #f5f7fb; border: 1px solid #dbe3f0; border-radius: .7rem; }
.memory-consolidation .memory-date-controls label { display: block; flex: 1 1 13rem; min-width: 0; max-width: 18rem; }
.memory-consolidation .memory-date-controls input { min-width: 0; min-height: 2.6rem; margin-bottom: 0; }
.memory-consolidation .memory-date-controls .control-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.memory-consolidation .memory-word { font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 1rem 0; overflow-wrap: anywhere; }
.memory-consolidation .memory-stats { padding: .8rem; background: #f1f5ff; border-radius: .7rem; line-height: 1.9; }
.memory-consolidation input { display: block; width: 100%; box-sizing: border-box; margin: .6rem 0; }
.memory-history { display: flex; gap: .7rem; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: .6rem 0; border-bottom: 1px solid #e2e8f0; }
.memory-section { margin: 1rem 0; }
.memory-consolidation .memory-context { font-size: clamp(1.2rem, 3vw, 1.65rem); line-height: 1.7; overflow-wrap: anywhere; white-space: pre-wrap; }
.memory-consolidation .memory-context mark { background: #fff0ad; color: #26324a; font-weight: 700; padding: .08em .15em; border-radius: .2em; }
.memory-consolidation .memory-mode { color: #234f9c; font-weight: 700; }
.memory-consolidation .memory-practice-plan { background: #eef6ff; padding: .7rem; border-radius: .6rem; line-height: 1.8; }
#memory-consolidation-detail p { white-space: pre-wrap; overflow-wrap: anywhere; }
.memory-glossary { margin: 1rem 0; padding: .85rem; border: 1px solid #b9d2e7; border-radius: .7rem; background: #f1f8fc; color: #1e344a; min-width: 0; overflow-wrap: anywhere; }
.memory-glossary summary { cursor: pointer; font-weight: 700; padding: .35rem 0; }
.memory-glossary-words { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: .65rem; list-style: none; padding: 0; }
.memory-glossary-words li { display: flex; flex-direction: column; gap: .3rem; padding: .65rem; background: #fff; border: 1px solid #d9e6ef; border-radius: .5rem; min-width: 0; }
.memory-glossary-words small { font-size: .85rem; line-height: 1.6; }
.memory-glossary-phrases { line-height: 1.9; padding-left: 1.2rem; }
.memory-glossary-controls { margin: .8rem 0; padding: .6rem .8rem; border-left: 3px solid #3776a5; overflow-wrap: anywhere; }
