/* ---------- Workout sequence bar (the "Gym Session" tracker) ---------- */
.seq-bar{
  list-style:none;display:flex;align-items:flex-start;gap:0;margin:0 0 22px;
  padding:16px 14px 13px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);
}
.seq-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative;min-width:0;text-align:center}
.seq-item::before{  /* connector line to the previous stage */
  content:"";position:absolute;top:16px;right:50%;width:100%;height:2px;
  background:var(--line-strong);z-index:0;
}
.seq-item:first-child::before{display:none}
.seq-item.done::before{background:linear-gradient(90deg,rgba(229,72,77,.9),rgba(214,40,40,.9))}
.seq-dot{
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;
  font-size:12px;font-weight:900;color:var(--faint);
  background:#181A28;border:2px solid var(--line-strong);transition:all .3s;
}
.seq-item.done .seq-dot{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 4px 14px rgba(214,40,40,.4)}
.seq-item.current .seq-dot{
  background:rgba(214,40,40,.15);border-color:var(--crimson-light);color:#FFB4B9;
  box-shadow:0 0 0 5px rgba(214,40,40,.14);
}
.seq-item.empty .seq-dot{opacity:.35}
.seq-label{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);line-height:1.3;padding:0 3px}
.seq-item.done .seq-label{color:#F08A8E}
.seq-item.current .seq-label{color:var(--text)}
.seq-count{font-size:9.5px;color:var(--faint);font-weight:700}
.seq-item.current .seq-count{color:var(--muted)}

/* ---------- Task workspace ---------- */
.crumb{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13.5px;font-weight:600;background:none;border:none;cursor:pointer;padding:6px 4px;margin-bottom:14px;font-family:var(--font);border-radius:8px}
.crumb:hover{color:var(--text)}
.crumb:focus-visible{outline:2px solid var(--crimson-light);outline-offset:2px}
.task-card{padding:30px 32px}
.task-top{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:20px}
.task-badge{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#F3B6B9;background:rgba(214,40,40,.13);border:1px solid rgba(214,40,40,.4);padding:5px 12px;border-radius:999px}
.task-title-lg{font-size:23px;font-weight:800;letter-spacing:-.3px;margin-bottom:14px}
.question-block{
  font-size:15.5px;line-height:1.7;color:#D5DBF0;
  background:rgba(255,255,255,.02);border:1px solid var(--line);border-left:3px solid var(--crimson);
  padding:18px 22px;border-radius:12px;margin-bottom:20px;white-space:pre-line;
}
.notes-panel{
  font-size:15.5px;line-height:1.85;color:#DCE1F5;
  background:rgba(255,255,255,.02);border:1px solid var(--line);border-left:3px solid var(--steel);
  padding:22px 26px;border-radius:12px;margin-bottom:20px;white-space:pre-line;
}
.working-note{font-size:12.5px;color:var(--faint);font-style:italic;margin-bottom:16px}

/* The Accountability Gate: answer field stays blurred + locked until
   the student certifies the calculation exists in their copybook.   */
.gate-row{
  display:flex;align-items:flex-start;gap:13px;padding:15px 18px;margin-bottom:16px;
  background:rgba(233,180,76,.06);border:1px solid rgba(233,180,76,.35);border-radius:13px;cursor:pointer;
}
.gate-row input[type="checkbox"]{position:absolute;opacity:0;width:1px;height:1px}
.gate-box{
  width:24px;height:24px;border-radius:7px;flex:0 0 auto;margin-top:1px;
  border:2px solid rgba(233,180,76,.6);background:rgba(255,255,255,.02);
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.gate-box svg{opacity:0;transform:scale(.4);transition:all .2s}
.gate-row input:checked ~ .gate-box{background:var(--grad-gold);border-color:transparent;box-shadow:0 4px 14px rgba(233,180,76,.4)}
.gate-row input:checked ~ .gate-box svg{opacity:1;transform:scale(1)}
.gate-row input:focus-visible ~ .gate-box{outline:2px solid var(--gold);outline-offset:2px}
.gate-text{font-size:13.5px;font-weight:700;color:#F3DCAF;line-height:1.5}
.gate-text .gt-sub{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:2px}
.answer-shell{position:relative}
.answer-shell.locked .answer-row{filter:blur(6px);pointer-events:none;user-select:none}
.answer-locked-note{
  position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:9px;z-index:2;
  font-size:12.5px;font-weight:800;color:#F3DCAF;letter-spacing:.3px;text-align:center;padding:0 14px;
}
.answer-shell.locked .answer-locked-note{display:flex}
.answer-row{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin-bottom:14px;transition:filter .35s ease}
.answer-field{
  display:flex;align-items:center;gap:10px;flex:1;min-width:220px;max-width:380px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:0 16px;
  transition:border-color .15s,box-shadow .15s;
}
.answer-field:focus-within{border-color:var(--crimson-light);box-shadow:0 0 0 3px rgba(214,40,40,.22)}
.answer-field input{
  flex:1;min-width:80px;background:none;border:none;padding:13px 4px;color:var(--text);
  font-family:var(--font);font-size:17px;font-weight:700;
}
.answer-field input:focus{outline:none}
.answer-field input::placeholder{color:var(--faint);font-weight:400}
.fb-card{padding:15px 19px;border-radius:13px;font-size:14.5px;margin-top:16px;animation:viewIn .4s cubic-bezier(.16,1,.3,1)}
.fb-card b{display:block;margin-bottom:3px;font-size:15px}
.fb-bad{background:rgba(233,180,76,.09);border:1px solid rgba(233,180,76,.4);color:#F3DCAF}
.fb-warn{background:rgba(143,163,208,.09);border:1px solid rgba(143,163,208,.35);color:#CBD5EE}
.fb-note{font-size:12.5px;margin-top:8px;color:var(--muted)}
.success-card{
  margin-top:20px;padding:24px 26px;border-radius:16px;animation:viewIn .5s cubic-bezier(.16,1,.3,1);
  background:linear-gradient(180deg,rgba(214,40,40,.13),rgba(214,40,40,.04));
  border:1px solid rgba(229,72,77,.45);
}
.success-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.success-tick{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#E5484D,#A4161A);display:flex;align-items:center;justify-content:center;flex:0 0 auto;animation:pop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}
.success-title{font-size:18px;font-weight:800;color:#FFB4B9}
.success-body{font-size:14px;color:#D5DBF0;line-height:1.6}
.success-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}
.solution-block{
  margin-top:16px;padding:18px 21px;border-radius:13px;animation:viewIn .4s cubic-bezier(.16,1,.3,1);
  background:rgba(233,180,76,.07);border:1px solid rgba(233,180,76,.5);
}
.solution-block .sol-label{font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;color:#F3C878;margin-bottom:9px;display:flex;align-items:center;gap:8px}
.solution-block .sol-steps{font-family:var(--eq-font);font-style:italic;font-size:16px;color:#F5EBD4;line-height:1.9;white-space:pre-line}
