/* Approved bright cartoon story illustrations. Root/affix lessons use text only. */
.memory-visual-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,41%);gap:28px;align-items:center}
.memory-text{min-width:0}
.logic-content .memory-visual-layout{grid-template-columns:minmax(0,1fr) minmax(250px,47%);gap:22px}
.learning-visual{margin:0;min-width:0;border:1px solid #d1dcc6;border-radius:10px;overflow:hidden;background:#fcfcf7;box-shadow:0 3px 12px #283b2605}
.visual-open{display:block;position:relative;width:100%;padding:0;background:#fcfcf7;cursor:zoom-in}
.visual-open img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.visual-open:focus-visible{outline-offset:-4px;outline-width:3px;z-index:1}
.visual-expand{position:absolute;right:8px;top:8px;display:flex;align-items:center;gap:4px;border:1px solid #d1dcc6;background:#fcfcf7ec;border-radius:20px;font-size:9px;color:var(--green);padding:4px 7px;line-height:1.3}
.visual-expand svg{height:12px;width:12px}
.visual-open:hover .visual-expand{background:var(--green);color:#fff}
.learning-visual figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 9px;padding:9px 12px;border-top:1px solid #d8e1cf;background:#f2f6e9;line-height:1.7}
.learning-visual figcaption>span{font-size:10px;color:#697858}
.learning-visual figcaption>strong{font-size:12px;font-weight:700;color:#385534}
.story figcaption{background:#fff7e5;border-color:#eadfc7}
.story figcaption>strong{color:#835b2f}
.memory-visual-layout .sound-hook{gap:18px;flex-wrap:wrap;margin-bottom:17px}
.memory-visual-layout .sound-hook>span:first-child{font-size:34px}
.memory-visual-layout .sound-hook strong{font-size:30px}
.memory-visual-layout .memory-copy{font-size:calc(var(--reading-size) - 1px);line-height:1.8}
.memory-visual-layout .word-parts{margin-bottom:17px}
.visual-dialog{width:min(100%,940px);padding:24px 27px;max-height:91dvh;display:flex;flex-direction:column;overflow:hidden}
.visual-dialog .dialog-heading{flex-shrink:0;margin-bottom:15px}
.expanded-visual{margin:0;min-height:0;overflow:auto}
.expanded-visual>img{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fcfcf7}
.sound-content .memory-visual-layout.without-visual{grid-template-columns:minmax(0,1fr)}
.sound-content .memory-visual-layout .sound-hook{flex-wrap:wrap;row-gap:8px}
.sound-symbol{display:inline-block;margin-right:.45em;font-size:1.1em;vertical-align:baseline}
.sound-sense-note{margin-top:16px;color:var(--muted);font-size:14px;line-height:1.8}
.sound-content .sound-connection{margin-top:12px}
.expanded-visual figcaption{padding:15px 1px 3px;font-size:15px;line-height:1.8}
.expanded-visual figcaption>b{color:var(--green)}
.expanded-visual figcaption>p{margin-top:6px;font-size:12px;color:var(--muted);line-height:1.9}
@media(max-width:1230px){
  .memory-visual-layout{gap:22px;grid-template-columns:minmax(0,1fr) minmax(200px,40%)}
}
@media(max-width:1020px){
  .logic-content .memory-visual-layout{grid-template-columns:minmax(0,1fr) minmax(175px,42%);gap:18px}
  .memory-visual-layout{gap:19px;grid-template-columns:minmax(0,1fr) minmax(170px,40%)}
  .memory-visual-layout .sound-hook{gap:10px}.memory-visual-layout .sound-hook>span:first-child{font-size:29px}.memory-visual-layout .sound-hook strong{font-size:27px}
  .learning-visual figcaption{padding:7px 9px}.learning-visual figcaption>strong{font-size:11px}
}
@media(max-width:760px){
  .logic-content .memory-visual-layout{grid-template-columns:1fr;gap:19px}
  .memory-visual-layout{grid-template-columns:1fr;gap:19px}
  .memory-visual-layout .sound-hook{gap:16px;flex-wrap:nowrap;margin-bottom:14px}
  .memory-visual-layout .sound-hook>span:first-child{font-size:31px}.memory-visual-layout .sound-hook strong{font-size:28px}
  .memory-visual-layout .memory-copy{font-size:calc(var(--reading-size) - 2px)}
  .memory-visual-layout .word-parts{margin-bottom:13px}
  .learning-visual{border-radius:8px}
  .learning-visual figcaption{padding:8px 10px}
  .learning-visual figcaption>span{font-size:10px}.learning-visual figcaption>strong{font-size:12px}
  .visual-expand{font-size:9px;right:7px;top:7px}
  .visual-dialog{padding:19px 17px;max-height:90dvh}
  .visual-dialog .dialog-heading{margin-bottom:13px}.visual-dialog h2{font-size:18px}
  .expanded-visual>img{max-height:60dvh}
  .expanded-visual figcaption{font-size:14px;padding-top:13px}
  .expanded-visual figcaption>p{font-size:11px}
}
@media(max-width:365px){.memory-visual-layout .sound-hook{gap:12px}.memory-visual-layout .sound-hook>span:first-child{font-size:28px}.memory-visual-layout .sound-hook strong{font-size:26px}.learning-visual figcaption>strong{font-size:11px}}
