:root { --accent: #3a6ea5; }
#steps { min-height: 200px; font-size: 14px; line-height: 1.7; }
.ln { display: grid; grid-template-columns: 34px 30px minmax(0, 1fr); gap: 8px; align-items: center; padding: 10px 6px; border-bottom: 1px solid var(--line); border-radius: 8px; }
.ln .n { color: var(--muted); font: 12px var(--mono); text-align: right; }
.ln .st { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: #fff; font: 700 11px var(--mono); }
.ln.ok .st { background: var(--good); }
.ln.bad { background: color-mix(in srgb, var(--bad) 9%, transparent); }
.ln.bad .st { background: var(--bad); }
.ln.skip { opacity: .5; }
.ln.skip .st { background: var(--muted); }
.ln.given .st { background: var(--accent); }
.ln.err .st { background: var(--warn); }
.ln .why { grid-column: 3; font-size: 12px; color: var(--muted); }
.katex { font-size: 1.12em; }
.node { display: grid; grid-template-columns: minmax(0, 1fr) 120px 36px; gap: 8px; align-items: center; font-size: 13px; margin-top: 8px; }
.hint { border-left: 3px solid var(--accent); padding: 8px 12px; background: var(--panel-2); border-radius: 0 8px 8px 0; margin-top: 10px; }
.tagbig { font-size: 13px; padding: 4px 10px; }
.solve-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px 0; border-bottom: 1px solid var(--line); }
.solve-step:last-child { border-bottom: 0; }
.solve-step .why { font-size: 12px; color: var(--muted); margin-top: 2px; }
.solve-step .ok { color: var(--good); font-size: 12px; font-weight: 600; }
.solve-step.reveal-hidden .body { filter: blur(6px); user-select: none; }
.plot { width: 100%; height: 460px; display: block; border-radius: 8px; background: var(--panel-2); }
.prob { border: 1px solid var(--line); border-radius: 10px; padding: 14px; background: var(--panel); display: grid; gap: 8px; }
.prob.solved { border-color: var(--good); }
.prob textarea { min-height: 90px; font-size: 13px; }
.prob .res { font-size: 13px; }
.recent-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 13px; align-items: center; }
