.eps-root{max-width:860px;margin:16px auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial}
.eps-card{background:#fff;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.06);padding:18px}
.eps-btn{display:inline-block;border:0;border-radius:10px;padding:10px 16px;background:#111;color:#fff;cursor:pointer}
.eps-session .eps-stem{font-size:1.05rem;line-height:1.5}
.eps-opts{margin-top:12px}
.eps-opt{display:block;border:1px solid #ddd;border-radius:10px;padding:10px;margin:8px 0;cursor:pointer}
.eps-opt.selected{border-color:#111;background:#111;color:#fff}
.eps-q-media{margin-top:.75rem}
.eps-q-img{max-width:100%;height:auto;display:block}
.eps-controls{display:flex;gap:10px;margin-top:12px;align-items:center}
.eps-progress{margin-left:auto}
.eps-feedback{margin-top:10px;font-weight:600}
.eps-hidden{display:none !important}

.eps-quest-card{margin-top:16px;padding:12px;border-radius:10px;border:1px dashed #ddd;font-size:.9rem;background:#fafafa}
.eps-quest-card h4{margin:0 0 6px;font-size:1rem}

.eps-header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid #e0e0e0;
  margin-bottom:12px;
  background:#fafafa;
}
.eps-header-left,.eps-header-center,.eps-header-right{
  display:flex;
  align-items:center;
  gap:6px;
}
.eps-header-left{min-width:110px;}
.eps-timer-label{font-weight:600;}
.eps-progress-wrap{
  position:relative;
  width:120px;
  height:6px;
  border-radius:999px;
  background:#e4e4e4;
  overflow:hidden;
}
.eps-progress-bar{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:0%;
  border-radius:999px;
  background:#3b82f6;
  transition:width .2s ease-out;
}
.eps-progress-text{
  font-size:.8rem;
  color:#555;
}
.eps-header-right .eps-btn.eps-toggle{
  font-size:.75rem;
  padding:4px 8px;
}
.eps-session .eps-actions{
  margin-top:12px;
  display:flex;
  gap:8px;
}
.eps-session .eps-feedback{
  margin-top:8px;
}

.eps-time-limit-note{margin-top:6px;font-size:.8rem;color:#666;}
