.visual-support{margin:0 0 25px;border:1px solid #cad8c2;border-radius:11px;background:#f4f6ee}
.visual-support>summary{display:list-item;cursor:pointer;padding:12px 19px;color:#284c3e;font-size:12px;font-weight:700;line-height:1.5;min-height:44px}
.visual-toggle-note{float:right;font-weight:400;color:#53664d;font-size:11px;margin-left:16px}
.learning-visual{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:13px 20px;margin:0;padding:2px 20px 20px;align-items:center}
.visual-art{display:block;grid-column:2;grid-row:1/3;width:100%;max-width:160px;height:auto;margin:auto}
.visual-pattern{grid-column:1;min-width:0}
.learning-visual figcaption{grid-column:1;font-size:12px;line-height:1.65;color:#435c46;min-width:0}
.learning-visual figcaption>strong{display:block;color:#234638;font-size:14px;margin-bottom:4px}
.learning-visual figcaption>span{display:block}
.visual-nodes,.visual-branches{padding:0;margin:0;list-style:none;display:grid;gap:9px}
.visual-parts,.visual-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.visual-parts.visual-count-3,.visual-three,.visual-timeline,.visual-overlap{grid-template-columns:repeat(3,minmax(0,1fr))}
.visual-four{grid-template-columns:repeat(2,minmax(0,1fr))}
.visual-flow{grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:visual-step}
.visual-flow.visual-count-2,.visual-flow.visual-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.visual-flow .visual-token{counter-increment:visual-step;border-top:3px solid #7d9971}
.visual-flow .visual-label::before{content:counter(visual-step) ' · ';font-weight:750}
.visual-stack{gap:6px}
.visual-stack .visual-token{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;padding:9px 12px;gap:10px}
.visual-stack .visual-token:first-child{border-left:5px solid #386149;background:#e5edde}
.visual-stack .visual-token:last-child{border-left:5px solid #a16641;background:#f2e9dc}
.visual-token{min-width:0;border:1px solid #c9d6c0;border-radius:7px;padding:12px;background:#fffef9;position:relative}
.visual-label{display:block;font-size:10px;font-weight:700;line-height:1.5;color:#4f664c;margin-bottom:5px;letter-spacing:.02em}
.visual-token strong{display:block;font-size:15px;line-height:1.45;font-weight:600;overflow-wrap:break-word}
.visual-timeline{border-bottom:2px solid #8da27e;padding-bottom:10px;position:relative}
.visual-timeline::after{content:'→';position:absolute;right:-2px;bottom:-14px;color:#58704f;background:#f4f6ee;padding-left:3px;font-size:20px}
.visual-focus{background:#e0ebd8;border:2px solid #59794b}
.visual-focus-label{display:block;font-size:9px;color:#37522e;line-height:1.5;margin-top:7px}
.visual-shared{background:#e5edde;border:2px solid #758c65}
.visual-root{max-width:230px;margin:0 auto 16px;text-align:center;background:#e5edde}
.visual-branches{grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid #91a67f;padding-top:12px}
.visual-branches .visual-token::before{content:'';position:absolute;top:-13px;height:12px;left:50%;border-left:2px solid #91a67f}
.question-visual .learning-visual{grid-template-columns:85px minmax(0,1fr);gap:9px 16px;padding-bottom:17px}
.question-visual .visual-art{grid-column:1;grid-row:1/3;max-width:100px}
.question-visual .visual-pattern,.question-visual figcaption{grid-column:2}
.question-visual .visual-token{padding:8px 10px}
.question-visual .visual-token strong{font-size:13px}
.question-visual .visual-label{font-size:10px;margin-bottom:3px}
.question-visual .visual-stack .visual-token{grid-template-columns:86px minmax(0,1fr);padding:6px 10px}
.question-visual .learning-visual figcaption>strong{font-size:13px}
@media(max-width:1050px){.learning-visual{grid-template-columns:minmax(0,1fr) 95px;gap:12px}.visual-token{padding:10px}.visual-token strong{font-size:14px}.visual-three{grid-template-columns:1fr}.visual-flow,.visual-flow.visual-count-2,.visual-flow.visual-count-4{grid-template-columns:1fr}.visual-parts,.visual-parts.visual-count-3{grid-template-columns:1fr}.visual-branches{grid-template-columns:1fr}.visual-branches .visual-token::before{display:none}.visual-root{margin-bottom:10px}.question-visual .visual-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.question-visual .visual-flow.visual-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.question-visual .visual-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.question-visual .visual-parts.visual-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.question-visual .visual-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.visual-support>summary{padding:11px 14px}.learning-visual{grid-template-columns:minmax(0,1fr);padding:0 14px 16px;gap:12px}.visual-art{grid-column:1;grid-row:auto;max-width:110px;height:78px}.visual-pattern,.learning-visual figcaption{grid-column:1}.visual-pair{grid-template-columns:1fr}.visual-three,.visual-four{grid-template-columns:1fr 1fr}.visual-parts.visual-count-3{grid-template-columns:1fr}.visual-timeline .visual-token{padding:9px 6px}.visual-timeline .visual-token strong{font-size:12px}.visual-overlap{grid-template-columns:1fr}.visual-shared::before{content:'Shared area';display:block;font-size:10px;color:#36502f;margin-bottom:5px}.visual-stack .visual-token{grid-template-columns:80px minmax(0,1fr)}.visual-stack .visual-token strong{font-size:13px}.question-visual .learning-visual{grid-template-columns:minmax(0,1fr);padding:0 12px 14px;gap:10px}.question-visual .visual-art{grid-column:1;grid-row:auto;max-width:90px;height:64px}.question-visual .visual-pattern,.question-visual figcaption{grid-column:1}.question-visual .visual-token{padding:8px}.question-visual .visual-token strong{font-size:12px}.question-visual .visual-overlap{grid-template-columns:repeat(3,minmax(0,1fr))}.question-visual .visual-shared::before{display:none}.visual-toggle-note{font-size:10px}}
@media print{.visual-support{break-inside:avoid;background:white;border-color:#66785d}.learning-visual figcaption,.visual-label{color:#243923}.visual-token{border-color:#66785d}.visual-art{max-width:120px}.visual-toggle-note{display:none}}
