/* Socratello lesson tasks */
.ls-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;padding:12px 20px;background:#FFE27A;color:#3B2A00;font-weight:800;text-align:center;border-bottom:3px solid #F2B705}
.ls-banner .btn{background:#1F5FBF;color:#fff}
.ls-banner-pulse{display:inline-block;width:12px;height:12px;border-radius:50%;background:#E8336F;animation:lspulse 1.4s ease-in-out infinite}
@keyframes lspulse{50%{transform:scale(1.5);opacity:.5}}
@media (prefers-reduced-motion:reduce){.ls-banner-pulse{animation:none}}
.ls-now{border:3px solid #F2B705}

/* live whiteboard view */
.ls-clock-wrap{display:flex;align-items:center;gap:16px}
.ls-state{font-weight:800;padding:4px 14px;border-radius:999px}
.ls-state.on{background:var(--good-bg)}
.ls-state.off{background:var(--soft);color:var(--muted)}
.ls-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ls-stat{background:var(--surface);border:3px solid var(--line);border-radius:18px;padding:10px 16px;display:flex;flex-direction:column;font-weight:700;color:var(--muted)}
.ls-n{font-family:var(--display);font-weight:700;font-size:clamp(32px,3.4vw,60px);color:var(--ink);line-height:1.1}
.ls-bar{display:flex;height:16px;border-radius:8px;background:var(--soft);overflow:hidden;margin:14px 0}
.ls-bar-done{background:var(--mint,#1E9E6A);transition:width .6s}
.ls-bar-working{background:#F2B705;transition:width .6s}
.ls-cols{display:grid;grid-template-columns:3fr 2fr;gap:18px}
.ls-cols h2{font-size:1.1em;margin:0 0 8px}
.ls-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.ls-p{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;border:2px solid var(--line);background:var(--surface);font-weight:800}
.ls-p.done{border-color:var(--mint,#1E9E6A);background:var(--good-bg)}
.ls-p.working{border-color:#F2B705;background:#FFF6D6}
.ls-p.waiting{color:var(--muted)}
.ls-hard ol{margin:0;padding-left:1.3em;display:grid;gap:10px}
.ls-hard li{background:var(--surface);border:2px solid var(--line);border-radius:12px;padding:8px 12px}
.ls-ans,.ls-wrong{display:block;margin-top:4px}
.ls-ans{color:#0B5B54;font-weight:800}
.ls-wrong{color:var(--muted)}
@media (max-width:900px){.ls-cols{grid-template-columns:1fr}.ls-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-color-scheme:dark){.ls-p.working{background:#4A3A10}.ls-banner{background:#4A3A10;color:#FFE7A3}}
