/* Native text and cells preserve reading size at every viewport width. */
.reader .learning-visual{margin:26px 0 30px;padding:24px;background:#fafbf8;border:1px solid #ccd8ce;border-top:3px solid #416553;border-radius:5px;overflow:visible;text-align:left}
.reader .learning-visual .lv-title{display:block;padding:0 0 18px;margin:0;color:#244435;font-size:17px;line-height:1.5;font-weight:700;text-align:left}
.reader .learning-visual p{font-size:14px;line-height:1.65;margin:14px 0}
.reader .learning-visual .lv-caption{color:#4f6257;border-top:1px solid #dce4dc;padding-top:14px;margin:18px 0 0}
.reader .learning-visual .lv-instruction{margin:0 0 20px;color:#3e5348}
.lv-flow,.lv-parameter-count{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);gap:10px;align-items:center}
.lv-card{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;min-height:106px;padding:15px 12px;background:#fff;border:1px solid #cbd9d0;border-radius:4px}
.lv-label{display:block;font-size:12px;line-height:1.5;font-weight:700;color:#405a4c;letter-spacing:.1px}
.lv-value{display:block;font-size:19px;line-height:1.4;color:#163e31;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lv-detail{font-size:13px;line-height:1.5;color:#4b6055}
.lv-card.lv-weight{background:#fff8e9;border-color:#decc9e}
.lv-card.lv-gradient{background:#f3effa;border-color:#d2c4e3}
.lv-card.lv-result{background:#eaf4ec;border-color:#abc7b3}
.lv-operator{display:block;text-align:center;font-size:24px;line-height:1;color:#5b7362}
.reader .learning-visual .lv-update{margin-top:18px;padding-top:18px;border-top:1px solid #dce4dc}
.lv-update-values{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);align-items:center;gap:14px;margin-top:12px}
.lv-update-values .lv-card{min-height:80px}
.lv-matrix-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.lv-two-panels{grid-template-columns:repeat(2,minmax(0,1fr));max-width:580px;margin:0 auto}
.lv-matrix-panel{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.reader .learning-visual table.lv-matrix{width:max-content;max-width:100%;margin:0;border-collapse:separate;border-spacing:3px;table-layout:fixed;border:none;font-size:16px;line-height:1.3;background:transparent;font-variant-numeric:tabular-nums}
.reader .lv-matrix caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lv-matrix-label{font-size:14px;line-height:1.5;font-weight:700;color:#36503e;align-self:stretch;min-height:42px;text-align:left}
.reader .learning-visual .lv-matrix td{box-sizing:border-box;min-width:31px;height:32px;padding:3px 5px;text-align:center;border:1px solid #d1dcd3;border-radius:3px;white-space:nowrap;color:#213d2d;background:#fff;font-weight:600;font-size:16px;line-height:1.3}
.reader .learning-visual .lv-matrix .lv-muted-cell{color:#68766c;background:#f0f2ef;border-color:#e0e5de;font-weight:400}
.reader .learning-visual .lv-matrix .lv-selected{border:2px solid #254d37;box-shadow:inset 0 0 0 1px #fff}
.reader .learning-visual .lv-matrix .lv-row-0,.lv-sum-line.lv-row-0{background:#dff0e9;color:#174334}
.reader .learning-visual .lv-matrix .lv-row-1,.lv-sum-line.lv-row-1{background:#fff0cc;color:#584218}
.reader .learning-visual .lv-matrix .lv-row-2,.lv-sum-line.lv-row-2{background:#e9e4f7;color:#45316a}
.reader .learning-visual .lv-matrix-note{font-size:12px;line-height:1.6;margin:3px 0 0;max-width:220px;color:#536457;text-align:left}
.lv-result-flow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px;align-items:center;border-top:1px solid #dce4dc;margin-top:22px;padding-top:20px}
.lv-row-sums{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.lv-sum-line{display:flex;justify-content:space-between;gap:12px;border-radius:3px;padding:9px 12px;font-size:15px;line-height:1.5}
.lv-sum-line>span{font-size:12px;align-self:center;white-space:nowrap}
.lv-sum-line>b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.reader .learning-visual .lv-combine{padding:10px 12px;border-left:3px solid #28543a;font-size:18px;background:white}
.lv-paths{display:flex;flex-direction:column;gap:22px}
.lv-path-tag{display:block;font-size:12px;color:#5b5467;margin-bottom:9px;font-weight:700}
.lv-merge{max-width:360px;margin:15px auto;display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:center}
.lv-merge>span{font-size:26px;line-height:1;color:#697d68}
.lv-parameter-count{margin-top:18px;padding-top:18px;border-top:1px solid #dce4dc}
.lv-parameter-count .lv-card{min-height:80px}
.lv-layer>.lv-flow>.lv-card:nth-of-type(2) .lv-value{font-size:15px;line-height:1.65}
.lv-input-states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lv-adam-branches,.lv-branch-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}
.lv-adam-branch{display:flex;flex-direction:column;gap:12px}
.reader .learning-visual .lv-memory-line{padding:12px 14px;background:#edf2ea;border-left:3px solid #567745;margin-bottom:0}
@media(max-width:760px){
 .reader .learning-visual{padding:20px 16px}
 .lv-matrix-panels{grid-template-columns:1fr;gap:24px}
 .lv-two-panels{grid-template-columns:1fr 1fr;gap:14px}
 .lv-matrix-panel{align-items:flex-start}
 .lv-matrix-label{min-height:0}
 .lv-result-flow{grid-template-columns:1fr;gap:20px}
 .lv-flow,.lv-parameter-count{grid-template-columns:1fr;gap:9px}
 .lv-card{min-height:0;padding:13px 14px;gap:6px}
 .lv-value{font-size:19px}
 .lv-operator{font-size:22px}
 .lv-update-values .lv-operator{transform:none}
 .lv-layer>.lv-flow>.lv-operator,.lv-linear-forward .lv-operator{transform:rotate(90deg)}
 .lv-input-states{grid-template-columns:1fr}
 .lv-adam-branches,.lv-branch-pair{gap:12px}
}
@media(max-width:420px){
 .lv-two-panels{grid-template-columns:1fr}
 .lv-adam-branches,.lv-branch-pair{grid-template-columns:1fr}
 .reader .learning-visual{padding:18px 12px}
 .reader .learning-visual .lv-title{font-size:16px}
 .lv-update-values{gap:8px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr)}
 .lv-update-values .lv-value{font-size:16px}
 .lv-update-values .lv-card{padding:12px 9px}
}
@media print{.reader .learning-visual{break-inside:avoid;box-shadow:none} .lv-card,.lv-matrix td,.lv-sum-line{print-color-adjust:exact}}
