.beginner-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.beginner-cards section{border:1px solid #cddbd3;border-top:4px solid #357465;border-radius:8px;padding:14px;background:#f4f7f2;min-width:0}
.beginner-cards h3,.beginner-paths h3{font-size:18px;margin:0 0 12px;color:#31594c}
.beginner-cards b{font-size:23px;overflow-wrap:anywhere}.beginner-cards p{font-size:18px;line-height:1.6;margin:12px 0 0}
.beginner-paths section+section{border-top:1px solid #ccd9d1;padding-top:14px;margin-top:14px}
.beginner-paths ol{display:flex;list-style:none;gap:18px;margin:0;padding:0;align-items:stretch}
.beginner-paths li{position:relative;flex:1;min-width:0;background:#edf3eb;border:1px solid #cedcd0;padding:10px 7px;text-align:center;font-size:18px;overflow-wrap:anywhere;border-radius:6px}
.beginner-paths li+li:before{content:'→';position:absolute;left:-19px;color:#416757}.beginner-paths li:last-child{background:#dcebdd;border-color:#73a08b;font-weight:650}
.beginner-footer{font-size:18px;line-height:1.65;border-top:1px solid #d2ded6;padding-top:12px;margin-bottom:0}
.contribution-groups{display:grid;grid-template-columns:6fr 4fr;gap:8px}
.contribution-groups section{background:#edf3eb;border:1px solid #cddbd3;border-radius:6px;padding:12px 6px;text-align:center}
.contribution-groups section+section{border-left:3px solid #357465;background:#f8f2e6}
.contribution-groups h3{font-size:17px;font-weight:500;margin:0 0 8px}
.contribution-groups b{font:600 30px ui-monospace,monospace;letter-spacing:.12em}
.contribution-equation{font-size:22px;line-height:1.6;margin:14px 0 0}.contribution-equation span{color:#8a5c19;background:#f8f2e6}
@media(max-width:700px){.contribution-groups h3{font-size:14px}.contribution-groups b{font-size:24px;letter-spacing:.05em}.contribution-equation{font-size:18px}}
@media(min-width:1100px) and (max-height:850px){.contribution-groups section{padding:8px 6px}.contribution-equation{margin-top:10px;line-height:1.4}.beginner-visual:has(.contribution-placement) .beginner-footer{margin-top:10px;padding-top:8px}}
.mul-role-map{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:15px;line-height:1.5;margin:5px 0 10px}.mul-role-map span{border-left:3px solid #d7c392;padding-left:7px}.mul-role-map .received{border-color:#438c72}.mul-role-map .pending{border-color:#c18c3e}
.mul-token.mul-received{box-shadow:inset 0 -4px #438c72}.mul-token.mul-waiting{box-shadow:inset 0 -4px #c18c3e}.mul-token.mul-unused{box-shadow:none}
.mul-register-divider{position:absolute;left:calc(var(--boundary)*(var(--cell) + var(--gap)) - var(--gap)/2 - 1px);top:-4px;height:66px;border-left:2px solid #174e43;z-index:3;pointer-events:none}
.mul-visual:has(.mul-result) .mul-role-map{display:none}
.mul-boundary-labels{display:grid;grid-template-columns:repeat(6,1fr);font-size:14px;text-align:center;color:#49685b}.mul-boundary-demo .mul-six{margin-bottom:4px}
.div-scale-note{font-size:16px;line-height:1.55;background:#f0f4ea;border-left:3px solid #73966c;padding:7px 10px;margin:10px 0 0}
body[data-beginner-lesson] #stage[data-quiz-only="true"]>.screen{display:none}
body[data-beginner-lesson] #stage[data-quiz-only="true"] .quiz-list{margin-top:0}
body[data-beginner-lesson] .screen:has(>.concept-card):has(.frame-prediction){grid-template-columns:1fr}
body[data-beginner-lesson] .screen:has(>.concept-card)>.frame-prediction{grid-column:1;grid-row:auto}
@media(min-width:1100px){body[data-beginner-lesson] .screen:has(.beginner-visual){grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}body[data-beginner-lesson] .beginner-visual{padding:20px 22px}body[data-beginner-lesson] .screen:has(.beginner-visual)>.formula{grid-column:2;grid-row:1}}
@media(min-width:1100px) and (max-height:850px){body[data-beginner-lesson] .lesson-contract{font-size:15px;margin-top:8px}body[data-beginner-lesson] .concept-card .conclusion{font-size:18px}body[data-beginner-lesson] .screen>.concept-card{padding:20px 22px}body[data-beginner-lesson] .screen>.concept-card .concept-explanation{font-size:21px;line-height:1.6}.beginner-cards section{padding:10px}.beginner-cards h3,.beginner-paths h3{margin-bottom:8px}.beginner-cards p,.beginner-footer,.beginner-paths li{font-size:17px}.mul-role-map{font-size:14px}.div-scale-note{font-size:15px;margin:5px 0 0}}
@media(max-width:700px){.beginner-cards{grid-template-columns:1fr;gap:10px}.beginner-cards section{padding:12px}.beginner-cards h3{margin:0 0 5px}.beginner-cards p{margin-top:6px}.beginner-paths ol{flex-direction:column;gap:20px}.beginner-paths li+li:before{content:'↓';left:50%;top:-23px}.mul-role-map{font-size:13px}.mul-boundary-labels{font-size:11px}.div-scale-note{font-size:14px}}
@media print{.beginner-cards,.beginner-paths{break-inside:avoid}.beginner-cards section,.beginner-paths li{border-color:#888}}
@media(min-width:1100px){
 body[data-beginner-lesson] .screen:has(>.formula):has(>.frame-prediction){grid-template-rows:auto auto;align-items:start}
 body[data-beginner-lesson] .screen:has(>.formula):has(>.frame-prediction)>.visual{grid-column:1;grid-row:1 / span 2}
 body[data-beginner-lesson] .screen:has(>.formula):has(>.frame-prediction)>.formula{grid-column:2;grid-row:1;align-self:end}
 body[data-beginner-lesson] .screen:has(>.formula):has(>.frame-prediction)>.frame-prediction{grid-column:2;grid-row:2;align-self:start;font-size:18px;line-height:1.5}
 body[data-beginner-lesson] .screen:has(>.formula):has(>.frame-prediction) .prediction-answer{font-size:17px;line-height:1.5}
}
@media(min-width:1100px) and (max-height:850px){
 .mul-register-divider{height:60px}
 body[data-beginner-lesson] .div-fixed{padding:4px 12px}
 body[data-beginner-lesson] .div-visual h2{margin-bottom:8px}
 body[data-beginner-lesson] .div-formula .div-scale-note{margin:10px 0 0;font-size:16px}
 body[data-beginner-lesson] .mul-compare th,body[data-beginner-lesson] .mul-compare td{padding:3px 6px}
}
@media(max-width:760px){.mul-register-divider{height:52px}}
@media print{.mul-register-divider{height:46px}}

body[data-beginner-lesson] .question,.question:has(.worked-solution){min-width:0}
.worked-solution{min-width:0;margin-top:16px;border-top:1px solid #cad8ce;padding-top:12px}
.worked-solution summary{cursor:pointer;color:#185448;font-weight:650;min-height:36px}
.worked-solution p{font-size:18px;line-height:1.6}.worked-solution table{width:100%;border-collapse:collapse;font-size:18px}
.worked-solution th,.worked-solution td{padding:10px;text-align:left;border-bottom:1px solid #cddbd3}.worked-solution th{background:#edf3e8}
.worked-solution .table-wrap{overflow-x:auto}.worked-solution td:last-child{font-family:ui-monospace,monospace;white-space:nowrap}
@media(max-width:700px){.worked-solution p,.worked-solution table{font-size:15px}.worked-solution th,.worked-solution td{padding:7px 5px}}

.worked-solution .worked-table-hint{display:none}
@media(max-width:700px){.worked-solution table{min-width:520px}.worked-solution .worked-table-hint{display:block;font-size:14px;color:var(--muted)}}
@media(max-width:700px){body[data-divide-lesson] .worked-solution .table-wrap table{min-width:620px}}

.division-share-unit{font-size:16px;margin:0 0 12px;color:var(--muted)}.division-share-row+.division-share-row{margin-top:14px}.division-share-label{display:flex;justify-content:space-between;gap:10px;font-size:18px;margin-bottom:6px}.division-share-label b{font-weight:600}.division-share-grid{display:grid;grid-template-columns:repeat(var(--cells),minmax(0,1fr));gap:3px}.division-share-grid span{height:32px;display:grid;place-items:center;border:1px solid #d8e3dc;border-radius:3px;background:#f6f8f4;color:#38554b;font:15px ui-monospace,monospace}.division-share-grid .share-filled{background:#d3e6dc;border-color:#6b9986}.division-share-grid .share-remainder{background:#f5dfb2;border-color:#b58a42}.division-share-grid .share-half-boundary{border-left:3px solid #315f50}.division-share-result{font-size:19px;margin:14px 0 8px}.division-share-quotient{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:17px;margin:0}.division-share-quotient b{font:600 28px ui-monospace,monospace}.division-share-quotient em{font-style:normal;background:#d3e6dc;color:#174e43;padding:0 3px}.division-share-quotient sub{font-size:13px}
@media(max-width:700px){.division-share-grid{gap:2px}.division-share-grid span{height:26px;font-size:11px}.division-share-label{font-size:16px;flex-wrap:wrap;gap:2px}.division-share-result{font-size:17px}.division-share-quotient{font-size:16px}.division-share-quotient b{font-size:25px}}
@media(min-width:1100px) and (max-height:850px){.division-share-row+.division-share-row{margin-top:8px}.division-share-grid span{height:26px}.division-share-unit{margin-bottom:8px}.division-share-result{margin-top:10px}.beginner-visual:has(.division-share) .beginner-footer{margin-top:10px;padding-top:8px;font-size:16px}}

/* Prediction cards must not reserve an empty demonstration-height block. */
body[data-beginner-lesson] #stage[data-has-prediction="true"] .screen>.concept-card{min-height:0;justify-content:flex-start}
body[data-beginner-lesson] #stage[data-has-prediction="true"] .screen>.concept-card h2{margin:0 0 10px}
body[data-beginner-lesson] .practice-note{font-size:16px;padding:10px 14px;border-left:3px solid #ad853c;background:#fbf1de;line-height:1.6}
.optional-practice{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;margin:12px 0}.optional-practice a{padding:4px 0}
body[data-beginner-lesson] .pet-panel{max-height:calc(100dvh - 180px)}
@media print{.handout-table .formula{display:none}.handout-table .visual{padding:8px 0;min-height:0}.handout-table table{font-size:14px}.practice-note{font-size:14px}}

