.lesson-visual{margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);overflow:hidden}
.lesson-visual header{margin-bottom:20px}.lesson-visual h2{margin:7px 0 10px;font-size:24px;line-height:1.3;letter-spacing:-.025em}.lesson-visual h3{font-size:18px;line-height:1.4;margin:9px 0}.lesson-visual p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.lv-kicker{font-size:10px;letter-spacing:.14em;font-weight:650;color:var(--primary)}
.lv-stage{position:relative;background:var(--primary-3);border-radius:20px;overflow:hidden}.lv-scene{display:block;width:100%;height:290px}.lv-arch{fill:none;stroke:var(--primary);stroke-width:1;opacity:.12}.lv-arch--inner{opacity:.06}.lv-shadow{fill:var(--primary);opacity:.1}.lv-rug{fill:var(--primary);opacity:.28}.lv-rug-detail{fill:none;stroke:var(--surface);stroke-width:1;opacity:.6}
.lv-person{stroke-linecap:round;stroke-linejoin:round;fill:none}.lv-person__far{stroke:var(--primary);stroke-width:13;opacity:.5}.lv-person__body{stroke:var(--primary);stroke-width:36}.lv-person__leg{stroke:var(--primary);stroke-width:21}.lv-person__arm{stroke:var(--primary);stroke-width:14}.lv-person__skin{fill:#cfaa85;stroke:none}.lv-step-count{position:absolute;right:16px;top:16px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:7px 11px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}
.lv-current{min-height:88px;padding:16px 0 8px;text-align:center}.lv-current h3{margin:0 0 7px;font-size:22px}.lv-current p{max-width:430px;margin:auto}.lv-controls{display:flex;justify-content:center;gap:10px;margin:14px 0 22px}.lv-controls button{font:inherit;min-width:46px;min-height:46px;padding:11px 15px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);cursor:pointer}.lv-controls button:disabled{opacity:.35;cursor:default}.lv-controls .lv-play{min-width:156px;background:var(--primary);color:var(--button-ink,#fff);border-color:var(--primary);display:flex;align-items:center;justify-content:center;gap:10px}
.lv-step-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lv-step-list button{display:flex;align-items:center;gap:8px;text-align:left;min-height:48px;border:1px solid var(--line);border-radius:13px;padding:9px 10px;font:inherit;font-size:12px;line-height:1.4;color:var(--muted);background:var(--surface);cursor:pointer}.lv-step-list button>span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--primary-3);color:var(--primary);font-size:10px;flex-shrink:0}.lv-step-list button[aria-pressed=true]{background:var(--primary-3);border-color:var(--primary);color:var(--ink)}.lesson-visual button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.lv-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lv-tile{padding:18px 15px;border:1px solid var(--line);border-radius:18px;background:var(--bg);min-width:0}.lv-tile strong{display:block;font-size:16px;margin:9px 0 5px}.lv-tile__icon{display:block;width:65px;height:65px;border-radius:18px;background:var(--primary-3);color:var(--primary)}.lv-tile svg{width:65px;height:65px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lesson-visual--ghusl .lv-tile:last-child,.lesson-visual--tayammum .lv-tile:last-child{grid-column:1/-1}
.lv-postures,.lv-order,.lv-pilgrimage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lv-postures>div,.lv-order>div,.lv-pilgrimage>div{text-align:center;min-width:0;border-radius:18px;background:var(--primary-3);padding:15px 12px}.lv-postures .lv-scene{height:200px}.lv-postures .lv-arch,.lv-postures .lv-arch--inner{display:none}.lv-order h3{margin:4px 0 16px}.lv-order span{display:flex;min-height:62px;gap:9px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:14px}.lv-order svg{width:30px;height:30px;fill:none;stroke:var(--primary);stroke-width:2}.lv-order b{display:block;color:var(--primary);font-size:22px;margin:7px}.lv-pilgrimage svg{width:100%;max-height:220px;fill:none;stroke-linecap:round;stroke-linejoin:round}.lv-orbit{stroke:var(--primary);stroke-width:8;opacity:.14;fill:none}.lv-arrow{stroke:var(--primary);stroke-width:3;fill:none}.lv-kaaba{fill:#36313b;stroke:none}.lv-gold{stroke:#d9b66b;stroke-width:6}.lv-hill{stroke:var(--primary);stroke-width:2;fill:none;opacity:.5}.lv-pilgrimage text{fill:var(--ink);stroke:none;font:13px system-ui,sans-serif}
@media(max-width:480px){.lesson-visual{padding:17px;border-radius:21px;margin:24px 0}.lesson-visual h2{font-size:22px}.lv-scene{height:260px}.lv-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-tiles{gap:9px}.lv-tile{padding:13px 11px}.lv-tile p,.lv-postures p,.lv-pilgrimage p{font-size:12px}.lv-postures,.lv-order,.lv-pilgrimage{gap:9px}.lv-postures>div,.lv-pilgrimage>div{padding:12px 7px}.lv-postures .lv-scene{height:155px}.lv-order span{font-size:12px}.lv-current{min-height:110px}.lv-pilgrimage h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.lesson-visual *{animation:none!important;transition:none!important}}
